From b93af11386f1bddfe68918ef680e8f6e7180018d Mon Sep 17 00:00:00 2001 From: Ron Williams Date: Wed, 28 Sep 2022 11:32:37 -0500 Subject: [PATCH] Update to v3.1.0 Simplify WHMCS product configuration --- .../servers/virtualizor_cloud/autoinstall.php | 126 + .../servers/virtualizor_cloud/functions.php | 854 +- .../virtualizor_cloud/images/index.html | 4 +- .../servers/virtualizor_cloud/index.html | 4 +- .../servers/virtualizor_cloud/js/index.html | 4 +- .../virtualizor_cloud/js/jquery.flot.min.js | 14 +- .../js/jquery.flot.pie.min.js | 12 +- .../virtualizor_cloud/js/jquery.flot.stack.js | 362 +- .../js/jquery.flot.stack.min.js | 70 +- .../languages/chinese/enduser_lang.php | 4216 +- .../languages/chinese/index_lang.php | 876 +- .../languages/dutch/enduser_lang.php | 4134 +- .../languages/dutch/index_lang.php | 758 +- .../languages/english/enduser_lang.php | 4234 +- .../languages/english/index_lang.php | 878 +- .../languages/french/enduser_lang.php | 4242 +- .../languages/french/index_lang.php | 874 +- .../languages/german/enduser_lang.php | 4226 +- .../languages/german/index_lang.php | 890 +- .../languages/polish/enduser_lang.php | 4210 +- .../languages/polish/index_lang.php | 880 +- .../languages/portuguese/enduser_lang.php | 4202 +- .../languages/portuguese/index_lang.php | 880 +- .../languages/russian/enduser_lang.php | 4250 +- .../languages/russian/index_lang.php | 878 +- .../languages/spanish/enduser_lang.php | 4280 +- .../languages/spanish/index_lang.php | 878 +- .../languages/turkish/enduser_lang.php | 4240 +- .../languages/turkish/index_lang.php | 894 +- .../languages/ukraine/enduser_lang.php | 4274 +- .../languages/ukraine/index_lang.php | 880 +- .../virtualizor_cloud/novnc/.gitignore | 24 +- .../virtualizor_cloud/novnc/.npmignore | 74 +- .../virtualizor_cloud/novnc/.travis.yml | 76 +- .../virtualizor_cloud/novnc/LICENSE.txt | 136 +- .../novnc/app/error-handler.js | 132 +- .../novnc/app/images/alt.svg | 184 +- .../novnc/app/images/clipboard.svg | 212 +- .../novnc/app/images/connect.svg | 192 +- .../novnc/app/images/ctrl.svg | 192 +- .../novnc/app/images/ctrlaltdel.svg | 200 +- .../novnc/app/images/disconnect.svg | 188 +- .../novnc/app/images/drag.svg | 152 +- .../novnc/app/images/error.svg | 162 +- .../novnc/app/images/esc.svg | 184 +- .../novnc/app/images/expander.svg | 138 +- .../novnc/app/images/fullscreen.svg | 186 +- .../novnc/app/images/handle.svg | 164 +- .../novnc/app/images/handle_bg.svg | 344 +- .../novnc/app/images/icons/Makefile | 84 +- .../novnc/app/images/icons/novnc-icon-sm.svg | 326 +- .../novnc/app/images/icons/novnc-icon.svg | 326 +- .../novnc/app/images/info.svg | 162 +- .../novnc/app/images/keyboard.svg | 176 +- .../novnc/app/images/mouse_left.svg | 184 +- .../novnc/app/images/mouse_middle.svg | 184 +- .../novnc/app/images/mouse_none.svg | 184 +- .../novnc/app/images/mouse_right.svg | 184 +- .../novnc/app/images/power.svg | 174 +- .../novnc/app/images/settings.svg | 152 +- .../novnc/app/images/tab.svg | 172 +- .../novnc/app/images/toggleextrakeys.svg | 180 +- .../novnc/app/images/warning.svg | 162 +- .../novnc/app/images/windows.svg | 128 +- .../virtualizor_cloud/novnc/app/locale/README | 2 +- .../novnc/app/localization.js | 344 +- .../novnc/app/sounds/CREDITS | 8 +- .../novnc/app/styles/base.css | 1940 +- .../novnc/app/styles/lite.css | 126 +- .../servers/virtualizor_cloud/novnc/app/ui.js | 3448 +- .../virtualizor_cloud/novnc/app/webutil.js | 478 +- .../virtualizor_cloud/novnc/core/base64.js | 208 +- .../novnc/core/decoders/copyrect.js | 54 +- .../novnc/core/decoders/hextile.js | 382 +- .../novnc/core/decoders/raw.js | 132 +- .../novnc/core/decoders/rre.js | 88 +- .../novnc/core/decoders/tight.js | 662 +- .../novnc/core/decoders/tightpng.js | 54 +- .../virtualizor_cloud/novnc/core/deflator.js | 170 +- .../virtualizor_cloud/novnc/core/des.js | 532 +- .../virtualizor_cloud/novnc/core/display.js | 1052 +- .../virtualizor_cloud/novnc/core/encodings.js | 88 +- .../virtualizor_cloud/novnc/core/inflator.js | 132 +- .../novnc/core/input/domkeytable.js | 614 +- .../novnc/core/input/fixedkeys.js | 258 +- .../novnc/core/input/gesturehandler.js | 1134 +- .../novnc/core/input/keyboard.js | 684 +- .../novnc/core/input/keysym.js | 1232 +- .../novnc/core/input/keysymdef.js | 1376 +- .../novnc/core/input/mouse.js | 560 +- .../novnc/core/input/util.js | 416 +- .../novnc/core/input/vkeys.js | 234 +- .../novnc/core/input/xtscancodes.js | 342 +- .../virtualizor_cloud/novnc/core/rfb.js | 6002 +- .../novnc/core/util/browser.js | 240 +- .../novnc/core/util/cursor.js | 506 +- .../novnc/core/util/element.js | 64 +- .../novnc/core/util/events.js | 284 +- .../novnc/core/util/eventtarget.js | 70 +- .../virtualizor_cloud/novnc/core/util/int.js | 30 +- .../novnc/core/util/logging.js | 112 +- .../novnc/core/util/polyfill.js | 122 +- .../novnc/core/util/strings.js | 56 +- .../virtualizor_cloud/novnc/core/websock.js | 588 +- .../virtualizor_cloud/novnc/docs/VERSION | 2 +- .../novnc/docs/flash_policy.txt | 8 +- .../virtualizor_cloud/novnc/docs/links | 152 +- .../virtualizor_cloud/novnc/docs/notes | 10 +- .../virtualizor_cloud/novnc/docs/release.txt | 68 +- .../virtualizor_cloud/novnc/docs/rfb_notes | 294 +- .../virtualizor_cloud/novnc/index.html | 4 +- .../virtualizor_cloud/novnc/karma.conf.js | 176 +- .../virtualizor_cloud/novnc/novnc.html | 678 +- .../virtualizor_cloud/novnc/po/.eslintrc | 10 +- .../virtualizor_cloud/novnc/po/Makefile | 70 +- .../servers/virtualizor_cloud/novnc/po/cs.po | 588 +- .../servers/virtualizor_cloud/novnc/po/de.po | 606 +- .../servers/virtualizor_cloud/novnc/po/el.po | 646 +- .../servers/virtualizor_cloud/novnc/po/es.po | 566 +- .../servers/virtualizor_cloud/novnc/po/ja.po | 606 +- .../servers/virtualizor_cloud/novnc/po/ko.po | 580 +- .../servers/virtualizor_cloud/novnc/po/nl.po | 644 +- .../virtualizor_cloud/novnc/po/noVNC.pot | 596 +- .../servers/virtualizor_cloud/novnc/po/pl.po | 650 +- .../servers/virtualizor_cloud/novnc/po/po2js | 86 +- .../servers/virtualizor_cloud/novnc/po/ru.po | 612 +- .../servers/virtualizor_cloud/novnc/po/sv.po | 598 +- .../servers/virtualizor_cloud/novnc/po/tr.po | 576 +- .../virtualizor_cloud/novnc/po/xgettext-html | 230 +- .../servers/virtualizor_cloud/novnc/po/zh.po | 570 +- .../virtualizor_cloud/novnc/po/zh_CN.po | 568 +- .../virtualizor_cloud/novnc/po/zh_TW.po | 570 +- .../novnc/snap/hooks/configure | 6 +- .../novnc/snap/local/svc_wrapper.sh | 58 +- .../virtualizor_cloud/novnc/utils/.eslintrc | 14 +- .../novnc/utils/b64-to-binary.pl | 34 +- .../novnc/utils/genkeysymdef.js | 254 +- .../virtualizor_cloud/novnc/utils/img2js.py | 80 +- .../novnc/utils/json2graph.py | 412 +- .../virtualizor_cloud/novnc/utils/launch.sh | 396 +- .../virtualizor_cloud/novnc/utils/u2x11 | 56 +- .../novnc/utils/use_require.js | 644 +- .../novnc/utils/use_require_helpers.js | 120 +- .../virtualizor_cloud/novnc/utils/validate | 90 +- .../virtualizor_cloud/novnc/utils/web.py | 110 +- .../novnc/utils/websocket.py | 2060 +- .../virtualizor_cloud/novnc/utils/websockify | 942 +- .../dist/babel-worker.js | 242916 +++++++-------- .../dist/browser-es-module-loader.js | 2962 +- .../browser-es-module-loader/genworker.js | 26 +- .../browser-es-module-loader/rollup.config.js | 30 +- .../src/babel-worker.js | 46 +- .../src/browser-es-module-loader.js | 558 +- .../novnc/vendor/pako/LICENSE | 42 +- .../novnc/vendor/pako/lib/utils/common.js | 90 +- .../novnc/vendor/pako/lib/zlib/adler32.js | 54 +- .../novnc/vendor/pako/lib/zlib/constants.js | 94 +- .../novnc/vendor/pako/lib/zlib/crc32.js | 72 +- .../novnc/vendor/pako/lib/zlib/deflate.js | 3692 +- .../novnc/vendor/pako/lib/zlib/gzheader.js | 70 +- .../novnc/vendor/pako/lib/zlib/inffast.js | 648 +- .../novnc/vendor/pako/lib/zlib/inflate.js | 3054 +- .../novnc/vendor/pako/lib/zlib/inftrees.js | 644 +- .../novnc/vendor/pako/lib/zlib/messages.js | 22 +- .../novnc/vendor/pako/lib/zlib/trees.js | 2390 +- .../novnc/vendor/pako/lib/zlib/zstream.js | 48 +- .../virtualizor_cloud/novnc/vendor/promise.js | 510 +- .../virtualizor_cloud/novnc/vendor/sinon.js | 28086 +- .../servers/virtualizor_cloud/novnc/vnc.html | 656 +- .../novnc/vnc_auto_virt.html | 722 +- .../virtualizor_cloud/novnc/vnc_lite.html | 438 +- .../servers/virtualizor_cloud/sdk/admin.php | 3362 +- .../servers/virtualizor_cloud/sdk/enduser.php | 2800 +- .../servers/virtualizor_cloud/sdk/index.html | 4 +- .../servers/virtualizor_cloud/style.css | 228 +- .../virtualizor_cloud/ui/css2/all.min.css | 8 +- .../ui/css2/bootstrap.min.css | 12 +- .../virtualizor_cloud/ui/css2/chosen.min.css | 4 +- .../ui/css2/font-awesome.min.css | 6 +- .../ui/css2/fonts/OpenSans-Regular.svg | 502 +- .../ui/css2/fonts/fontawesome-webfont.svg | 1038 +- .../servers/virtualizor_cloud/ui/css2/ie7.css | 1004 +- .../ui/css2/jquery-ui.min.css | 12 +- .../ui/css2/jquery.dataTables.css | 910 +- .../ui/css2/jquery.dataTables.min.css | 4 +- .../ui/css2/jquery.scrollbar.css | 302 +- .../virtualizor_cloud/ui/css2/select2.css | 2 +- .../virtualizor_cloud/ui/css2/style.css | 4104 +- .../ui/fonts/OpenSans-Regular.svg | 502 +- .../ui/fonts/fa-brands-400.svg | 7070 +- .../ui/fonts/fa-regular-400.svg | 1606 +- .../ui/fonts/fa-solid-900.svg | 9400 +- .../virtualizor_cloud/ui/fonts/virt.svg | 88 +- .../ui/images/admin/ethernet-solid1.svg | 138 +- .../ui/images/admin/index.html | 4 +- .../virtualizor_cloud/ui/images/index.html | 4 +- .../servers/virtualizor_cloud/ui/index.html | 8544 +- .../virtualizor_cloud/ui/java/index.html | 4 +- .../virtualizor_cloud/ui/js2/EasePack.min.js | 22 +- .../virtualizor_cloud/ui/js2/TweenLite.min.js | 22 +- .../virtualizor_cloud/ui/js2/bg-animate.js | 372 +- .../virtualizor_cloud/ui/js2/bootbox.min.js | 10 +- .../virtualizor_cloud/ui/js2/bootstrap.min.js | 10 +- .../ui/js2/chosen.jquery.min.js | 2 +- .../virtualizor_cloud/ui/js2/haproxy.js | 1206 +- .../ui/js2/jquery-ui.custom.min.js | 14 +- .../ui/js2/jquery.bpopup.min.js | 14 +- .../virtualizor_cloud/ui/js2/jquery.crypt.js | 1096 +- .../ui/js2/jquery.dataTables.min.js | 384 +- .../ui/js2/jquery.flot.axislabels.js | 820 +- .../ui/js2/jquery.flot.min.js | 56 +- .../ui/js2/jquery.flot.pie.min.js | 110 +- .../ui/js2/jquery.flot.selection.min.js | 12 +- .../ui/js2/jquery.flot.stack.min.js | 70 +- .../ui/js2/jquery.flot.symbol.min.js | 12 +- .../ui/js2/jquery.flot.time.min.js | 12 +- .../ui/js2/jquery.flot.tooltip.min.js | 22 +- .../virtualizor_cloud/ui/js2/jquery.min.js | 8 +- .../ui/js2/jquery.responsivetabs.js | 248 +- .../ui/js2/jquery.slimscroll.min.js | 30 +- .../ui/js2/jquery.tablesorter.min.js | 10 +- .../ui/js2/loginanimation.js | 430 +- .../virtualizor_cloud/ui/js2/popper.min.js | 6 +- .../virtualizor_cloud/ui/js2/select2.js | 4 +- .../virtualizor_cloud/ui/js2/tiptip.js | 40 +- .../virtualizor_cloud/ui/js2/virtualizor.js | 18514 +- .../virtualizor_cloud/virtualizor_cloud.php | 5990 +- .../virtualizor_cloud/virtualizor_conf.php | 198 +- 228 files changed, 231744 insertions(+), 231638 deletions(-) create mode 100644 whmcs/modules/servers/virtualizor_cloud/autoinstall.php diff --git a/whmcs/modules/servers/virtualizor_cloud/autoinstall.php b/whmcs/modules/servers/virtualizor_cloud/autoinstall.php new file mode 100644 index 0000000..9e5a5ee --- /dev/null +++ b/whmcs/modules/servers/virtualizor_cloud/autoinstall.php @@ -0,0 +1,126 @@ +insertGetId([ + 'name' => 'Cloud VPS', + 'description' => 'Cloud VPS', + ]); + $configid = Capsule::table('tblproductconfigoptions')->insertGetId([ + 'gid' => $configgid, + 'optionname' => 'Operating System', + 'optiontype' => 1, + 'qtyminimum' => 0, + 'qtymaximum' => 0, + 'order' => 0, + 'hidden' => 0, + ]); + $list = [ + 'almalinux-8.4-x86_64|AlmaLinux 8 (64 bit)', + 'rocky-8.4-x86_64|Rocky Linux 8 (64 bit)', + 'centos-7.1-x86_64|CentOS 7 (64 bit)', + 'centos-8.2-x86_64|CentOS 8 (64 bit)', + 'debian-9.4-x86_64|Debian 9 (64 bit)', + 'debian-10-x86_64|Debian 10 (64 bit)', + 'debian-11-x86_64|Debian 11 (64 bit)', + 'fedora-32-x86_64|Fedora 32 (64 bit)', + 'fedora-34-x86_64|Fedora 34 (64 bit)', + 'ubuntu-16.04-x86_64|Ubuntu 16.04 (64 bit)', + 'ubuntu-18.04-x86_64|Ubuntu 16.04 (64 bit)', + 'ubuntu-20.04-x86_64|Ubuntu 16.04 (64 bit)', + ]; + $currenciesarray = Capsule::table('tblcurrencies')->pluck('code', 'id'); + if (!is_array($currenciesarray)) { + $currenciesarray = $currenciesarray->toArray(); + } + foreach ($list as $k => $conf) { + $opid = Capsule::table('tblproductconfigoptionssub')->insertGetId([ + 'configid' => $configid, + 'optionname' => $conf, + 'sortorder' => $k, + 'hidden' => 0, + ]); + foreach ($currenciesarray as $key => $value) { + Capsule::table('tblpricing')->insert([ + "msetupfee" => 0, + "qsetupfee" => 0, + "ssetupfee" => 0, + "asetupfee" => 0, + "bsetupfee" => 0, + "tsetupfee" => 0, + "monthly" => 0, + "quarterly" => 0, + "semiannually" => 0, + "annually" => 0, + "biennially" => 0, + "triennially" => 0, + "type" => 'configoptions', + "currency" => $key, + "relid" => $opid, + ]); + } + } + $group = new WHMCS\Product\Group(); + $group->displayOrder = WHMCS\Database\Capsule::table("tblproductgroups")->max("order") + 1; + $group->name = 'VPS Servers'; + $group->orderFormTemplate = $CONFIG['OrderFormTemplate']; + $group->disabledPaymentGateways = []; + $group->isHidden = 0; + $group->headline = 'VPS Servers'; + $group->tagline = 'VPS Servers'; + $group->save(); + Capsule::table('tblproductgroups')->where('id', $group->id)->update([ + 'slug' => 'vps-servers' + ]); + $groupId = $group->id; + $newProduct = new WHMCS\Product\Product(); + $newProduct->type = 'server'; + $newProduct->productGroupId = $groupId; + $newProduct->name = 'KVM-1GB'; + $newProduct->paymentType = "free"; + $newProduct->showDomainOptions = 0; + $newProduct->module = 'virtualizor_cloud'; + $newProduct->isHidden = 1; + $newProduct->autoSetup = 'payment'; + $displayOrder = WHMCS\Database\Capsule::table("tblproducts")->where("gid", "=", $groupId)->max("order"); + $newProduct->displayOrder = is_null($displayOrder) ? 1 : ++$displayOrder; + $newProduct->save(); + Capsule::table('tblproductconfiglinks')->insert([ + 'pid' => $newProduct->id, + 'gid' => $configgid, + ]); + Capsule::table('tblproducts_slugs')->insert([ + 'product_id' => $newProduct->id, + 'group_id' => $groupId, + 'group_slug' => 'vps-servers', + 'slug' => 'kvm-1gb', + 'active' => 1, + 'clicks' => 1, + ]); + Capsule::table('tblcustomfields')->insert([ + "type" => "product", + "relid" => $newProduct->id, + "fieldname" => 'vpsid', + "fieldtype" => 'text', + "description" => '', + "fieldoptions" => '', + "regexpr" => '', + "adminonly" => 'on', + "required" => 0, + "showorder" => 0, + "showinvoice" => 0, + "sortorder" => 0 + ]); + \WHMCS\Config\Setting::setValue('virtualizor_cloud_installed', '1'); + return ''; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/functions.php b/whmcs/modules/servers/virtualizor_cloud/functions.php index ba9828e..5fba047 100644 --- a/whmcs/modules/servers/virtualizor_cloud/functions.php +++ b/whmcs/modules/servers/virtualizor_cloud/functions.php @@ -1,428 +1,428 @@ - $mv){ - $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; - $str = str_replace($matches[0][$mk], $tmp_str, $str); - } - $var = @unserialize($str); - - } - - //If it is still empty false - if(empty($var)){ - - return false; - - }else{ - - return $var; - - } - -} - -} - - -if(!function_exists('generateRandStr')){ -//generates random strings -function generateRandStr($length){ - $randstr = ""; - for($i = 0; $i < $length; $i++){ - $randnum = mt_rand(0,61); - if($randnum < 10){ - $randstr .= chr($randnum+48); - }elseif($randnum < 36){ - $randstr .= chr($randnum+55); - }else{ - $randstr .= chr($randnum+61); - } - } - return strtolower($randstr); -} - -} - - -if(!function_exists('valid_ipv6')){ - -function valid_ipv6($ip){ - - $pattern = '/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/'; - - if(!preg_match($pattern, $ip)){ - return false; - } - - return true; - -} - -} - -if(!function_exists('cexplode')){ - -// Clean explode a string -function cexplode($chars, $str, $int = 0){ - - $r = explode($chars, $str); - - foreach($r as $k => $v){ - if($int){ - $r[$k] = (int) trim($v); - }else{ - $r[$k] = trim($v); - } - } - - return $r; - -} - -} - -if(!function_exists('vlang_vars_name')){ -// Replaces the Soft Variables with the supplied ones -function vlang_vars_name($str, $array){ - - foreach($array as $k => $v){ - - $str = str_replace('{{'.$k.'}}', $v, $str); - - } - - return $str; - -} -} - - -if(!function_exists('vparse_lang')){ -// Parse Virtualizor Languages -function vparse_lang($str){ - - global $vlang; - - foreach($vlang as $k => $v){ - - $str = str_replace('{{'.$k.'}}', $v, $str); - - } - - return $str; - -} -} - -if(!function_exists('vload_lang')){ - // Load Virtualizor Languages - function vload_lang($lang = 'english'){ - - global $vlang; - - if(!@include_once(dirname(__FILE__).'/languages/'.$lang.'/index_lang.php')){ - include_once(dirname(__FILE__).'/languages/english/index_lang.php'); - } - - if(!@include_once(dirname(__FILE__).'/languages/'.$lang.'/enduser_lang.php')){ - include_once(dirname(__FILE__).'/languages/english/enduser_lang.php'); - } - - $vlang = $l; - - } -} - -if(!function_exists('virt_val')){ - -function virt_val($val){ - return (empty($val) && strlen($val) < 1 ? 0 : $val); -} - -} - -if(!class_exists('hash_encryption')){ - - // WHMCS Decrypter - class hash_encryption { - /** - * Hashed value of the user provided encryption key - * @var string - **/ - var $hash_key; - /** - * String length of hashed values using the current algorithm - * @var int - **/ - var $hash_lenth; - /** - * Switch base64 enconding on / off - * @var bool true = use base64, false = binary output / input - **/ - var $base64; - /** - * Secret value added to randomize output and protect the user provided key - * @var string Change this value to add more randomness to your encryption - **/ - var $salt = 'Change this to any secret value you like. "d41d8cd98f00b204e9800998ecf8427e" might be a good example.'; - - - /** - * Constructor method - * - * Used to set key for encryption and decryption. - * @param string $key Your secret key used for encryption and decryption - * @param boold $base64 Enable base64 en- / decoding - * @return mixed - */ - function hash_encryption($key, $base64 = true) { - - global $cc_encryption_hash; - - // Toggle base64 usage on / off - $this->base64 = $base64; - - // Instead of using the key directly we compress it using a hash function - $this->hash_key = $this->_hash($key); - - // Remember length of hashvalues for later use - $this->hash_length = strlen($this->hash_key); - } - - /** - * Method used for encryption - * @param string $string Message to be encrypted - * @return string Encrypted message - */ - function encrypt($string) { - $iv = $this->_generate_iv(); - - // Clear output - $out = ''; - - // First block of output is ($this->hash_hey XOR IV) - for($c=0;$c < $this->hash_length;$c++) { - $out .= chr(ord($iv[$c]) ^ ord($this->hash_key[$c])); - } - - // Use IV as first key - $key = $iv; - $c = 0; - - // Go through input string - while($c < strlen($string)) { - // If we have used all characters of the current key we switch to a new one - if(($c != 0) and ($c % $this->hash_length == 0)) { - // New key is the hash of current key and last block of plaintext - $key = $this->_hash($key . substr($string,$c - $this->hash_length,$this->hash_length)); - } - // Generate output by xor-ing input and key character for character - $out .= chr(ord($key[$c % $this->hash_length]) ^ ord($string[$c])); - $c++; - } - // Apply base64 encoding if necessary - if($this->base64) $out = base64_encode($out); - return $out; - } - - /** - * Method used for decryption - * @param string $string Message to be decrypted - * @return string Decrypted message - */ - function decrypt($string) { - // Apply base64 decoding if necessary - if($this->base64) $string = base64_decode($string); - - // Extract encrypted IV from input - $tmp_iv = substr($string,0,$this->hash_length); - - // Extract encrypted message from input - $string = substr($string,$this->hash_length,strlen($string) - $this->hash_length); - $iv = $out = ''; - - // Regenerate IV by xor-ing encrypted IV from block 1 and $this->hashed_key - // Mathematics: (IV XOR KeY) XOR Key = IV - for($c=0;$c < $this->hash_length;$c++) - { - $iv .= chr(ord($tmp_iv[$c]) ^ ord($this->hash_key[$c])); - } - // Use IV as key for decrypting the first block cyphertext - $key = $iv; - $c = 0; - - // Loop through the whole input string - while($c < strlen($string)) { - // If we have used all characters of the current key we switch to a new one - if(($c != 0) and ($c % $this->hash_length == 0)) { - // New key is the hash of current key and last block of plaintext - $key = $this->_hash($key . substr($out,$c - $this->hash_length,$this->hash_length)); - } - // Generate output by xor-ing input and key character for character - $out .= chr(ord($key[$c % $this->hash_length]) ^ ord($string[$c])); - $c++; - } - return $out; - } - - /** - * Hashfunction used for encryption - * - * This class hashes any given string using the best available hash algorithm. - * Currently support for md5 and sha1 is provided. In theory even crc32 could be used - * but I don't recommend this. - * - * @access private - * @param string $string Message to hashed - * @return string Hash value of input message - */ - function _hash($string) { - // Use sha1() if possible, php versions >= 4.3.0 and 5 - if(function_exists('sha1')) { - $hash = sha1($string); - } else { - // Fall back to md5(), php versions 3, 4, 5 - $hash = md5($string); - } - $out =''; - // Convert hexadecimal hash value to binary string - for($c=0;$c_hex2chr($hash[$c] . $hash[$c+1]); - } - return $out; - } - - /** - * Generate a random string to initialize encryption - * - * This method will return a random binary string IV ( = initialization vector). - * The randomness of this string is one of the crucial points of this algorithm as it - * is the basis of encryption. The encrypted IV will be added to the encrypted message - * to make decryption possible. The transmitted IV will be encoded using the user provided key. - * - * @todo Add more random sources. - * @access private - * @see function hash_encryption - * @return string Binary pseudo random string - **/ - function _generate_iv() { - // Initialize pseudo random generator - srand ((double)microtime()*1000000); - - // Collect random data. - // Add as many "pseudo" random sources as you can find. - // Possible sources: Memory usage, diskusage, file and directory content... - $iv = $this->salt; - $iv .= rand(0,getrandmax()); - // Changed to serialize as the second parameter to print_r is not available in php prior to version 4.4 - $iv .= serialize($GLOBALS); - return $this->_hash($iv); - } - - /** - * Convert hexadecimal value to a binary string - * - * This method converts any given hexadecimal number between 00 and ff to the corresponding ASCII char - * - * @access private - * @param string Hexadecimal number between 00 and ff - * @return string Character representation of input value - **/ - function _hex2chr($num) { - return chr(hexdec($num)); - } - } -} - -if(!function_exists('get_server_pass_from_whmcs')){ - function get_server_pass_from_whmcs($enc_pass){ - - global $cc_encryption_hash; - // Include WHMCS database configuration file - include_once(dirname(dirname(dirname(dirname(__FILE__)))).'/configuration.php'); - $key1 = md5 (md5 ($cc_encryption_hash)); - $key2 = md5 ($cc_encryption_hash); - $key = $key1.$key2; - $hasher = new hash_encryption($key); - return $hasher->decrypt($enc_pass); - } -} - + $mv){ + $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; + $str = str_replace($matches[0][$mk], $tmp_str, $str); + } + $var = @unserialize($str); + + } + + //If it is still empty false + if(empty($var)){ + + return false; + + }else{ + + return $var; + + } + +} + +} + + +if(!function_exists('generateRandStr')){ +//generates random strings +function generateRandStr($length){ + $randstr = ""; + for($i = 0; $i < $length; $i++){ + $randnum = mt_rand(0,61); + if($randnum < 10){ + $randstr .= chr($randnum+48); + }elseif($randnum < 36){ + $randstr .= chr($randnum+55); + }else{ + $randstr .= chr($randnum+61); + } + } + return strtolower($randstr); +} + +} + + +if(!function_exists('valid_ipv6')){ + +function valid_ipv6($ip){ + + $pattern = '/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/'; + + if(!preg_match($pattern, $ip)){ + return false; + } + + return true; + +} + +} + +if(!function_exists('cexplode')){ + +// Clean explode a string +function cexplode($chars, $str, $int = 0){ + + $r = explode($chars, $str); + + foreach($r as $k => $v){ + if($int){ + $r[$k] = (int) trim($v); + }else{ + $r[$k] = trim($v); + } + } + + return $r; + +} + +} + +if(!function_exists('vlang_vars_name')){ +// Replaces the Soft Variables with the supplied ones +function vlang_vars_name($str, $array){ + + foreach($array as $k => $v){ + + $str = str_replace('{{'.$k.'}}', $v, $str); + + } + + return $str; + +} +} + + +if(!function_exists('vparse_lang')){ +// Parse Virtualizor Languages +function vparse_lang($str){ + + global $vlang; + + foreach($vlang as $k => $v){ + + $str = str_replace('{{'.$k.'}}', $v, $str); + + } + + return $str; + +} +} + +if(!function_exists('vload_lang')){ + // Load Virtualizor Languages + function vload_lang($lang = 'english'){ + + global $vlang; + + if(!@include_once(dirname(__FILE__).'/languages/'.$lang.'/index_lang.php')){ + include_once(dirname(__FILE__).'/languages/english/index_lang.php'); + } + + if(!@include_once(dirname(__FILE__).'/languages/'.$lang.'/enduser_lang.php')){ + include_once(dirname(__FILE__).'/languages/english/enduser_lang.php'); + } + + $vlang = $l; + + } +} + +if(!function_exists('virt_val')){ + +function virt_val($val){ + return (empty($val) && strlen($val) < 1 ? 0 : $val); +} + +} + +if(!class_exists('hash_encryption')){ + + // WHMCS Decrypter + class hash_encryption { + /** + * Hashed value of the user provided encryption key + * @var string + **/ + var $hash_key; + /** + * String length of hashed values using the current algorithm + * @var int + **/ + var $hash_lenth; + /** + * Switch base64 enconding on / off + * @var bool true = use base64, false = binary output / input + **/ + var $base64; + /** + * Secret value added to randomize output and protect the user provided key + * @var string Change this value to add more randomness to your encryption + **/ + var $salt = 'Change this to any secret value you like. "d41d8cd98f00b204e9800998ecf8427e" might be a good example.'; + + + /** + * Constructor method + * + * Used to set key for encryption and decryption. + * @param string $key Your secret key used for encryption and decryption + * @param boold $base64 Enable base64 en- / decoding + * @return mixed + */ + function hash_encryption($key, $base64 = true) { + + global $cc_encryption_hash; + + // Toggle base64 usage on / off + $this->base64 = $base64; + + // Instead of using the key directly we compress it using a hash function + $this->hash_key = $this->_hash($key); + + // Remember length of hashvalues for later use + $this->hash_length = strlen($this->hash_key); + } + + /** + * Method used for encryption + * @param string $string Message to be encrypted + * @return string Encrypted message + */ + function encrypt($string) { + $iv = $this->_generate_iv(); + + // Clear output + $out = ''; + + // First block of output is ($this->hash_hey XOR IV) + for($c=0;$c < $this->hash_length;$c++) { + $out .= chr(ord($iv[$c]) ^ ord($this->hash_key[$c])); + } + + // Use IV as first key + $key = $iv; + $c = 0; + + // Go through input string + while($c < strlen($string)) { + // If we have used all characters of the current key we switch to a new one + if(($c != 0) and ($c % $this->hash_length == 0)) { + // New key is the hash of current key and last block of plaintext + $key = $this->_hash($key . substr($string,$c - $this->hash_length,$this->hash_length)); + } + // Generate output by xor-ing input and key character for character + $out .= chr(ord($key[$c % $this->hash_length]) ^ ord($string[$c])); + $c++; + } + // Apply base64 encoding if necessary + if($this->base64) $out = base64_encode($out); + return $out; + } + + /** + * Method used for decryption + * @param string $string Message to be decrypted + * @return string Decrypted message + */ + function decrypt($string) { + // Apply base64 decoding if necessary + if($this->base64) $string = base64_decode($string); + + // Extract encrypted IV from input + $tmp_iv = substr($string,0,$this->hash_length); + + // Extract encrypted message from input + $string = substr($string,$this->hash_length,strlen($string) - $this->hash_length); + $iv = $out = ''; + + // Regenerate IV by xor-ing encrypted IV from block 1 and $this->hashed_key + // Mathematics: (IV XOR KeY) XOR Key = IV + for($c=0;$c < $this->hash_length;$c++) + { + $iv .= chr(ord($tmp_iv[$c]) ^ ord($this->hash_key[$c])); + } + // Use IV as key for decrypting the first block cyphertext + $key = $iv; + $c = 0; + + // Loop through the whole input string + while($c < strlen($string)) { + // If we have used all characters of the current key we switch to a new one + if(($c != 0) and ($c % $this->hash_length == 0)) { + // New key is the hash of current key and last block of plaintext + $key = $this->_hash($key . substr($out,$c - $this->hash_length,$this->hash_length)); + } + // Generate output by xor-ing input and key character for character + $out .= chr(ord($key[$c % $this->hash_length]) ^ ord($string[$c])); + $c++; + } + return $out; + } + + /** + * Hashfunction used for encryption + * + * This class hashes any given string using the best available hash algorithm. + * Currently support for md5 and sha1 is provided. In theory even crc32 could be used + * but I don't recommend this. + * + * @access private + * @param string $string Message to hashed + * @return string Hash value of input message + */ + function _hash($string) { + // Use sha1() if possible, php versions >= 4.3.0 and 5 + if(function_exists('sha1')) { + $hash = sha1($string); + } else { + // Fall back to md5(), php versions 3, 4, 5 + $hash = md5($string); + } + $out =''; + // Convert hexadecimal hash value to binary string + for($c=0;$c_hex2chr($hash[$c] . $hash[$c+1]); + } + return $out; + } + + /** + * Generate a random string to initialize encryption + * + * This method will return a random binary string IV ( = initialization vector). + * The randomness of this string is one of the crucial points of this algorithm as it + * is the basis of encryption. The encrypted IV will be added to the encrypted message + * to make decryption possible. The transmitted IV will be encoded using the user provided key. + * + * @todo Add more random sources. + * @access private + * @see function hash_encryption + * @return string Binary pseudo random string + **/ + function _generate_iv() { + // Initialize pseudo random generator + srand ((double)microtime()*1000000); + + // Collect random data. + // Add as many "pseudo" random sources as you can find. + // Possible sources: Memory usage, diskusage, file and directory content... + $iv = $this->salt; + $iv .= rand(0,getrandmax()); + // Changed to serialize as the second parameter to print_r is not available in php prior to version 4.4 + $iv .= serialize($GLOBALS); + return $this->_hash($iv); + } + + /** + * Convert hexadecimal value to a binary string + * + * This method converts any given hexadecimal number between 00 and ff to the corresponding ASCII char + * + * @access private + * @param string Hexadecimal number between 00 and ff + * @return string Character representation of input value + **/ + function _hex2chr($num) { + return chr(hexdec($num)); + } + } +} + +if(!function_exists('get_server_pass_from_whmcs')){ + function get_server_pass_from_whmcs($enc_pass){ + + global $cc_encryption_hash; + // Include WHMCS database configuration file + include_once(dirname(dirname(dirname(dirname(__FILE__)))).'/configuration.php'); + $key1 = md5 (md5 ($cc_encryption_hash)); + $key2 = md5 ($cc_encryption_hash); + $key = $key1.$key2; + $hasher = new hash_encryption($key); + return $hasher->decrypt($enc_pass); + } +} + ?> \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/images/index.html b/whmcs/modules/servers/virtualizor_cloud/images/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/images/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/images/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/index.html b/whmcs/modules/servers/virtualizor_cloud/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/js/index.html b/whmcs/modules/servers/virtualizor_cloud/js/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/js/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/js/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.min.js b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.min.js index 968d3eb..4ad1e7f 100644 --- a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.min.js @@ -1,8 +1,8 @@ -/* Javascript plotting library for jQuery, version 0.8.3. - -Copyright (c) 2007-2014 IOLA and Ole Laursen. -Licensed under the MIT license. - -*/ -(function($){$.color={};$.color.make=function(r,g,b,a){var o={};o.r=r||0;o.g=g||0;o.b=b||0;o.a=a!=null?a:1;o.add=function(c,d){for(var i=0;i=1){return"rgb("+[o.r,o.g,o.b].join(",")+")"}else{return"rgba("+[o.r,o.g,o.b,o.a].join(",")+")"}};o.normalize=function(){function clamp(min,value,max){return valuemax?max:value}o.r=clamp(0,parseInt(o.r),255);o.g=clamp(0,parseInt(o.g),255);o.b=clamp(0,parseInt(o.b),255);o.a=clamp(0,o.a,1);return o};o.clone=function(){return $.color.make(o.r,o.b,o.g,o.a)};return o.normalize()};$.color.extract=function(elem,css){var c;do{c=elem.css(css).toLowerCase();if(c!=""&&c!="transparent")break;elem=elem.parent()}while(elem.length&&!$.nodeName(elem.get(0),"body"));if(c=="rgba(0, 0, 0, 0)")c="transparent";return $.color.parse(c)};$.color.parse=function(str){var res,m=$.color.make;if(res=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10));if(res=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10),parseFloat(res[4]));if(res=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55);if(res=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55,parseFloat(res[4]));if(res=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str))return m(parseInt(res[1],16),parseInt(res[2],16),parseInt(res[3],16));if(res=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str))return m(parseInt(res[1]+res[1],16),parseInt(res[2]+res[2],16),parseInt(res[3]+res[3],16));var name=$.trim(str).toLowerCase();if(name=="transparent")return m(255,255,255,0);else{res=lookupColors[name]||[0,0,0];return m(res[0],res[1],res[2])}};var lookupColors={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function($){var hasOwnProperty=Object.prototype.hasOwnProperty;if(!$.fn.detach){$.fn.detach=function(){return this.each(function(){if(this.parentNode){this.parentNode.removeChild(this)}})}}function Canvas(cls,container){var element=container.children("."+cls)[0];if(element==null){element=document.createElement("canvas");element.className=cls;$(element).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(container);if(!element.getContext){if(window.G_vmlCanvasManager){element=window.G_vmlCanvasManager.initElement(element)}else{throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.")}}}this.element=element;var context=this.context=element.getContext("2d");var devicePixelRatio=window.devicePixelRatio||1,backingStoreRatio=context.webkitBackingStorePixelRatio||context.mozBackingStorePixelRatio||context.msBackingStorePixelRatio||context.oBackingStorePixelRatio||context.backingStorePixelRatio||1;this.pixelRatio=devicePixelRatio/backingStoreRatio;this.resize(container.width(),container.height());this.textContainer=null;this.text={};this._textCache={}}Canvas.prototype.resize=function(width,height){if(width<=0||height<=0){throw new Error("Invalid dimensions for plot, width = "+width+", height = "+height)}var element=this.element,context=this.context,pixelRatio=this.pixelRatio;if(this.width!=width){element.width=width*pixelRatio;element.style.width=width+"px";this.width=width}if(this.height!=height){element.height=height*pixelRatio;element.style.height=height+"px";this.height=height}context.restore();context.save();context.scale(pixelRatio,pixelRatio)};Canvas.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)};Canvas.prototype.render=function(){var cache=this._textCache;for(var layerKey in cache){if(hasOwnProperty.call(cache,layerKey)){var layer=this.getTextLayer(layerKey),layerCache=cache[layerKey];layer.hide();for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){if(position.active){if(!position.rendered){layer.append(position.element);position.rendered=true}}else{positions.splice(i--,1);if(position.rendered){position.element.detach()}}}if(positions.length==0){delete styleCache[key]}}}}}layer.show()}}};Canvas.prototype.getTextLayer=function(classes){var layer=this.text[classes];if(layer==null){if(this.textContainer==null){this.textContainer=$("
").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)}layer=this.text[classes]=$("
").addClass(classes).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)}return layer};Canvas.prototype.getTextInfo=function(layer,text,font,angle,width){var textStyle,layerCache,styleCache,info;text=""+text;if(typeof font==="object"){textStyle=font.style+" "+font.variant+" "+font.weight+" "+font.size+"px/"+font.lineHeight+"px "+font.family}else{textStyle=font}layerCache=this._textCache[layer];if(layerCache==null){layerCache=this._textCache[layer]={}}styleCache=layerCache[textStyle];if(styleCache==null){styleCache=layerCache[textStyle]={}}info=styleCache[text];if(info==null){var element=$("
").html(text).css({position:"absolute","max-width":width,top:-9999}).appendTo(this.getTextLayer(layer));if(typeof font==="object"){element.css({font:textStyle,color:font.color})}else if(typeof font==="string"){element.addClass(font)}info=styleCache[text]={width:element.outerWidth(true),height:element.outerHeight(true),element:element,positions:[]};element.detach()}return info};Canvas.prototype.addText=function(layer,x,y,text,font,angle,width,halign,valign){var info=this.getTextInfo(layer,text,font,angle,width),positions=info.positions;if(halign=="center"){x-=info.width/2}else if(halign=="right"){x-=info.width}if(valign=="middle"){y-=info.height/2}else if(valign=="bottom"){y-=info.height}for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=true;return}}position={active:true,rendered:false,element:positions.length?info.element.clone():info.element,x:x,y:y};positions.push(position);position.element.css({top:Math.round(y),left:Math.round(x),"text-align":halign})};Canvas.prototype.removeText=function(layer,x,y,text,font,angle){if(text==null){var layerCache=this._textCache[layer];if(layerCache!=null){for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){position.active=false}}}}}}}else{var positions=this.getTextInfo(layer,text,font,angle).positions;for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=false}}}};function Plot(placeholder,data_,options_,plugins){var series=[],options={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false,zero:true},shadowSize:3,highlightColor:null},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},surface=null,overlay=null,eventHolder=null,ctx=null,octx=null,xaxes=[],yaxes=[],plotOffset={left:0,right:0,top:0,bottom:0},plotWidth=0,plotHeight=0,hooks={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},plot=this;plot.setData=setData;plot.setupGrid=setupGrid;plot.draw=draw;plot.getPlaceholder=function(){return placeholder};plot.getCanvas=function(){return surface.element};plot.getPlotOffset=function(){return plotOffset};plot.width=function(){return plotWidth};plot.height=function(){return plotHeight};plot.offset=function(){var o=eventHolder.offset();o.left+=plotOffset.left;o.top+=plotOffset.top;return o};plot.getData=function(){return series};plot.getAxes=function(){var res={},i;$.each(xaxes.concat(yaxes),function(_,axis){if(axis)res[axis.direction+(axis.n!=1?axis.n:"")+"axis"]=axis});return res};plot.getXAxes=function(){return xaxes};plot.getYAxes=function(){return yaxes};plot.c2p=canvasToAxisCoords;plot.p2c=axisToCanvasCoords;plot.getOptions=function(){return options};plot.highlight=highlight;plot.unhighlight=unhighlight;plot.triggerRedrawOverlay=triggerRedrawOverlay;plot.pointOffset=function(point){return{left:parseInt(xaxes[axisNumber(point,"x")-1].p2c(+point.x)+plotOffset.left,10),top:parseInt(yaxes[axisNumber(point,"y")-1].p2c(+point.y)+plotOffset.top,10)}};plot.shutdown=shutdown;plot.destroy=function(){shutdown();placeholder.removeData("plot").empty();series=[];options=null;surface=null;overlay=null;eventHolder=null;ctx=null;octx=null;xaxes=[];yaxes=[];hooks=null;highlights=[];plot=null};plot.resize=function(){var width=placeholder.width(),height=placeholder.height();surface.resize(width,height);overlay.resize(width,height)};plot.hooks=hooks;initPlugins(plot);parseOptions(options_);setupCanvases();setData(data_);setupGrid();draw();bindEvents();function executeHooks(hook,args){args=[plot].concat(args);for(var i=0;imaxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i=0){if(variation<.5){variation=-variation-.2}else variation=0}else variation=-variation}colors[i]=c.scale("rgb",1+variation)}var colori=0,s;for(i=0;iaxis.datamax&&max!=fakeInfinity)axis.datamax=max}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;mxmax)xmax=val}if(f.y){if(valymax)ymax=val}}}if(s.bars.show){var delta;switch(s.bars.align){case"left":delta=0;break;case"right":delta=-s.bars.barWidth;break;default:delta=-s.bars.barWidth/2}if(s.bars.horizontal){ymin+=delta;ymax+=delta+s.bars.barWidth}else{xmin+=delta;xmax+=delta+s.bars.barWidth}}updateAxis(s.xaxis,xmin,xmax);updateAxis(s.yaxis,ymin,ymax)}$.each(allAxes(),function(_,axis){if(axis.datamin==topSentry)axis.datamin=null;if(axis.datamax==bottomSentry)axis.datamax=null})}function setupCanvases(){placeholder.css("padding",0).children().filter(function(){return!$(this).hasClass("flot-overlay")&&!$(this).hasClass("flot-base")}).remove();if(placeholder.css("position")=="static")placeholder.css("position","relative");surface=new Canvas("flot-base",placeholder);overlay=new Canvas("flot-overlay",placeholder);ctx=surface.context;octx=overlay.context;eventHolder=$(overlay.element).unbind();var existing=placeholder.data("plot");if(existing){existing.shutdown();overlay.clear()}placeholder.data("plot",plot)}function bindEvents(){if(options.grid.hoverable){eventHolder.mousemove(onMouseMove);eventHolder.bind("mouseleave",onMouseLeave)}if(options.grid.clickable)eventHolder.click(onClick);executeHooks(hooks.bindEvents,[eventHolder])}function shutdown(){if(redrawTimeout)clearTimeout(redrawTimeout);eventHolder.unbind("mousemove",onMouseMove);eventHolder.unbind("mouseleave",onMouseLeave);eventHolder.unbind("click",onClick);executeHooks(hooks.shutdown,[eventHolder])}function setTransformationHelpers(axis){function identity(x){return x}var s,m,t=axis.options.transform||identity,it=axis.options.inverseTransform;if(axis.direction=="x"){s=axis.scale=plotWidth/Math.abs(t(axis.max)-t(axis.min));m=Math.min(t(axis.max),t(axis.min))}else{s=axis.scale=plotHeight/Math.abs(t(axis.max)-t(axis.min));s=-s;m=Math.max(t(axis.max),t(axis.min))}if(t==identity)axis.p2c=function(p){return(p-m)*s};else axis.p2c=function(p){return(t(p)-m)*s};if(!it)axis.c2p=function(c){return m+c/s};else axis.c2p=function(c){return it(m+c/s)}}function measureTickLabels(axis){var opts=axis.options,ticks=axis.ticks||[],labelWidth=opts.labelWidth||0,labelHeight=opts.labelHeight||0,maxWidth=labelWidth||(axis.direction=="x"?Math.floor(surface.width/(ticks.length||1)):null),legacyStyles=axis.direction+"Axis "+axis.direction+axis.n+"Axis",layer="flot-"+axis.direction+"-axis flot-"+axis.direction+axis.n+"-axis "+legacyStyles,font=opts.font||"flot-tick-label tickLabel";for(var i=0;i=0;--i)allocateAxisBoxFirstPhase(allocatedAxes[i]);adjustLayoutForThingsStickingOut();$.each(allocatedAxes,function(_,axis){allocateAxisBoxSecondPhase(axis)})}plotWidth=surface.width-plotOffset.left-plotOffset.right;plotHeight=surface.height-plotOffset.bottom-plotOffset.top;$.each(axes,function(_,axis){setTransformationHelpers(axis)});if(showGrid){drawAxisLabels()}insertLegend()}function setRange(axis){var opts=axis.options,min=+(opts.min!=null?opts.min:axis.datamin),max=+(opts.max!=null?opts.max:axis.datamax),delta=max-min;if(delta==0){var widen=max==0?1:.01;if(opts.min==null)min-=widen;if(opts.max==null||opts.min!=null)max+=widen}else{var margin=opts.autoscaleMargin;if(margin!=null){if(opts.min==null){min-=delta*margin;if(min<0&&axis.datamin!=null&&axis.datamin>=0)min=0}if(opts.max==null){max+=delta*margin;if(max>0&&axis.datamax!=null&&axis.datamax<=0)max=0}}}axis.min=min;axis.max=max}function setupTickGeneration(axis){var opts=axis.options;var noTicks;if(typeof opts.ticks=="number"&&opts.ticks>0)noTicks=opts.ticks;else noTicks=.3*Math.sqrt(axis.direction=="x"?surface.width:surface.height);var delta=(axis.max-axis.min)/noTicks,dec=-Math.floor(Math.log(delta)/Math.LN10),maxDec=opts.tickDecimals;if(maxDec!=null&&dec>maxDec){dec=maxDec}var magn=Math.pow(10,-dec),norm=delta/magn,size;if(norm<1.5){size=1}else if(norm<3){size=2;if(norm>2.25&&(maxDec==null||dec+1<=maxDec)){size=2.5;++dec}}else if(norm<7.5){size=5}else{size=10}size*=magn;if(opts.minTickSize!=null&&size0){if(opts.min==null)axis.min=Math.min(axis.min,niceTicks[0]);if(opts.max==null&&niceTicks.length>1)axis.max=Math.max(axis.max,niceTicks[niceTicks.length-1])}axis.tickGenerator=function(axis){var ticks=[],v,i;for(i=0;i1&&/\..*0$/.test((ts[1]-ts[0]).toFixed(extraDec))))axis.tickDecimals=extraDec}}}}function setTicks(axis){var oticks=axis.options.ticks,ticks=[];if(oticks==null||typeof oticks=="number"&&oticks>0)ticks=axis.tickGenerator(axis);else if(oticks){if($.isFunction(oticks))ticks=oticks(axis);else ticks=oticks}var i,v;axis.ticks=[];for(i=0;i1)label=t[1]}else v=+t;if(label==null)label=axis.tickFormatter(v,axis);if(!isNaN(v))axis.ticks.push({v:v,label:label})}}function snapRangeToTicks(axis,ticks){if(axis.options.autoscaleMargin&&ticks.length>0){if(axis.options.min==null)axis.min=Math.min(axis.min,ticks[0].v);if(axis.options.max==null&&ticks.length>1)axis.max=Math.max(axis.max,ticks[ticks.length-1].v)}}function draw(){surface.clear();executeHooks(hooks.drawBackground,[ctx]);var grid=options.grid;if(grid.show&&grid.backgroundColor)drawBackground();if(grid.show&&!grid.aboveData){drawGrid()}for(var i=0;ito){var tmp=from;from=to;to=tmp}return{from:from,to:to,axis:axis}}function drawBackground(){ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.fillStyle=getColorOrGradient(options.grid.backgroundColor,plotHeight,0,"rgba(255, 255, 255, 0)");ctx.fillRect(0,0,plotWidth,plotHeight);ctx.restore()}function drawGrid(){var i,axes,bw,bc;ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var markings=options.grid.markings;if(markings){if($.isFunction(markings)){axes=plot.getAxes();axes.xmin=axes.xaxis.min;axes.xmax=axes.xaxis.max;axes.ymin=axes.yaxis.min;axes.ymax=axes.yaxis.max;markings=markings(axes)}for(i=0;i=1){return"rgb("+[o.r,o.g,o.b].join(",")+")"}else{return"rgba("+[o.r,o.g,o.b,o.a].join(",")+")"}};o.normalize=function(){function clamp(min,value,max){return valuemax?max:value}o.r=clamp(0,parseInt(o.r),255);o.g=clamp(0,parseInt(o.g),255);o.b=clamp(0,parseInt(o.b),255);o.a=clamp(0,o.a,1);return o};o.clone=function(){return $.color.make(o.r,o.b,o.g,o.a)};return o.normalize()};$.color.extract=function(elem,css){var c;do{c=elem.css(css).toLowerCase();if(c!=""&&c!="transparent")break;elem=elem.parent()}while(elem.length&&!$.nodeName(elem.get(0),"body"));if(c=="rgba(0, 0, 0, 0)")c="transparent";return $.color.parse(c)};$.color.parse=function(str){var res,m=$.color.make;if(res=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10));if(res=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))return m(parseInt(res[1],10),parseInt(res[2],10),parseInt(res[3],10),parseFloat(res[4]));if(res=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55);if(res=/rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(str))return m(parseFloat(res[1])*2.55,parseFloat(res[2])*2.55,parseFloat(res[3])*2.55,parseFloat(res[4]));if(res=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(str))return m(parseInt(res[1],16),parseInt(res[2],16),parseInt(res[3],16));if(res=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(str))return m(parseInt(res[1]+res[1],16),parseInt(res[2]+res[2],16),parseInt(res[3]+res[3],16));var name=$.trim(str).toLowerCase();if(name=="transparent")return m(255,255,255,0);else{res=lookupColors[name]||[0,0,0];return m(res[0],res[1],res[2])}};var lookupColors={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0]}})(jQuery);(function($){var hasOwnProperty=Object.prototype.hasOwnProperty;if(!$.fn.detach){$.fn.detach=function(){return this.each(function(){if(this.parentNode){this.parentNode.removeChild(this)}})}}function Canvas(cls,container){var element=container.children("."+cls)[0];if(element==null){element=document.createElement("canvas");element.className=cls;$(element).css({direction:"ltr",position:"absolute",left:0,top:0}).appendTo(container);if(!element.getContext){if(window.G_vmlCanvasManager){element=window.G_vmlCanvasManager.initElement(element)}else{throw new Error("Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode.")}}}this.element=element;var context=this.context=element.getContext("2d");var devicePixelRatio=window.devicePixelRatio||1,backingStoreRatio=context.webkitBackingStorePixelRatio||context.mozBackingStorePixelRatio||context.msBackingStorePixelRatio||context.oBackingStorePixelRatio||context.backingStorePixelRatio||1;this.pixelRatio=devicePixelRatio/backingStoreRatio;this.resize(container.width(),container.height());this.textContainer=null;this.text={};this._textCache={}}Canvas.prototype.resize=function(width,height){if(width<=0||height<=0){throw new Error("Invalid dimensions for plot, width = "+width+", height = "+height)}var element=this.element,context=this.context,pixelRatio=this.pixelRatio;if(this.width!=width){element.width=width*pixelRatio;element.style.width=width+"px";this.width=width}if(this.height!=height){element.height=height*pixelRatio;element.style.height=height+"px";this.height=height}context.restore();context.save();context.scale(pixelRatio,pixelRatio)};Canvas.prototype.clear=function(){this.context.clearRect(0,0,this.width,this.height)};Canvas.prototype.render=function(){var cache=this._textCache;for(var layerKey in cache){if(hasOwnProperty.call(cache,layerKey)){var layer=this.getTextLayer(layerKey),layerCache=cache[layerKey];layer.hide();for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){if(position.active){if(!position.rendered){layer.append(position.element);position.rendered=true}}else{positions.splice(i--,1);if(position.rendered){position.element.detach()}}}if(positions.length==0){delete styleCache[key]}}}}}layer.show()}}};Canvas.prototype.getTextLayer=function(classes){var layer=this.text[classes];if(layer==null){if(this.textContainer==null){this.textContainer=$("
").css({position:"absolute",top:0,left:0,bottom:0,right:0,"font-size":"smaller",color:"#545454"}).insertAfter(this.element)}layer=this.text[classes]=$("
").addClass(classes).css({position:"absolute",top:0,left:0,bottom:0,right:0}).appendTo(this.textContainer)}return layer};Canvas.prototype.getTextInfo=function(layer,text,font,angle,width){var textStyle,layerCache,styleCache,info;text=""+text;if(typeof font==="object"){textStyle=font.style+" "+font.variant+" "+font.weight+" "+font.size+"px/"+font.lineHeight+"px "+font.family}else{textStyle=font}layerCache=this._textCache[layer];if(layerCache==null){layerCache=this._textCache[layer]={}}styleCache=layerCache[textStyle];if(styleCache==null){styleCache=layerCache[textStyle]={}}info=styleCache[text];if(info==null){var element=$("
").html(text).css({position:"absolute","max-width":width,top:-9999}).appendTo(this.getTextLayer(layer));if(typeof font==="object"){element.css({font:textStyle,color:font.color})}else if(typeof font==="string"){element.addClass(font)}info=styleCache[text]={width:element.outerWidth(true),height:element.outerHeight(true),element:element,positions:[]};element.detach()}return info};Canvas.prototype.addText=function(layer,x,y,text,font,angle,width,halign,valign){var info=this.getTextInfo(layer,text,font,angle,width),positions=info.positions;if(halign=="center"){x-=info.width/2}else if(halign=="right"){x-=info.width}if(valign=="middle"){y-=info.height/2}else if(valign=="bottom"){y-=info.height}for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=true;return}}position={active:true,rendered:false,element:positions.length?info.element.clone():info.element,x:x,y:y};positions.push(position);position.element.css({top:Math.round(y),left:Math.round(x),"text-align":halign})};Canvas.prototype.removeText=function(layer,x,y,text,font,angle){if(text==null){var layerCache=this._textCache[layer];if(layerCache!=null){for(var styleKey in layerCache){if(hasOwnProperty.call(layerCache,styleKey)){var styleCache=layerCache[styleKey];for(var key in styleCache){if(hasOwnProperty.call(styleCache,key)){var positions=styleCache[key].positions;for(var i=0,position;position=positions[i];i++){position.active=false}}}}}}}else{var positions=this.getTextInfo(layer,text,font,angle).positions;for(var i=0,position;position=positions[i];i++){if(position.x==x&&position.y==y){position.active=false}}}};function Plot(placeholder,data_,options_,plugins){var series=[],options={colors:["#edc240","#afd8f8","#cb4b4b","#4da74d","#9440ed"],legend:{show:true,noColumns:1,labelFormatter:null,labelBoxBorderColor:"#ccc",container:null,position:"ne",margin:5,backgroundColor:null,backgroundOpacity:.85,sorted:null},xaxis:{show:null,position:"bottom",mode:null,font:null,color:null,tickColor:null,transform:null,inverseTransform:null,min:null,max:null,autoscaleMargin:null,ticks:null,tickFormatter:null,labelWidth:null,labelHeight:null,reserveSpace:null,tickLength:null,alignTicksWithAxis:null,tickDecimals:null,tickSize:null,minTickSize:null},yaxis:{autoscaleMargin:.02,position:"left"},xaxes:[],yaxes:[],series:{points:{show:false,radius:3,lineWidth:2,fill:true,fillColor:"#ffffff",symbol:"circle"},lines:{lineWidth:2,fill:false,fillColor:null,steps:false},bars:{show:false,lineWidth:2,barWidth:1,fill:true,fillColor:null,align:"left",horizontal:false,zero:true},shadowSize:3,highlightColor:null},grid:{show:true,aboveData:false,color:"#545454",backgroundColor:null,borderColor:null,tickColor:null,margin:0,labelMargin:5,axisMargin:8,borderWidth:2,minBorderMargin:null,markings:null,markingsColor:"#f4f4f4",markingsLineWidth:2,clickable:false,hoverable:false,autoHighlight:true,mouseActiveRadius:10},interaction:{redrawOverlayInterval:1e3/60},hooks:{}},surface=null,overlay=null,eventHolder=null,ctx=null,octx=null,xaxes=[],yaxes=[],plotOffset={left:0,right:0,top:0,bottom:0},plotWidth=0,plotHeight=0,hooks={processOptions:[],processRawData:[],processDatapoints:[],processOffset:[],drawBackground:[],drawSeries:[],draw:[],bindEvents:[],drawOverlay:[],shutdown:[]},plot=this;plot.setData=setData;plot.setupGrid=setupGrid;plot.draw=draw;plot.getPlaceholder=function(){return placeholder};plot.getCanvas=function(){return surface.element};plot.getPlotOffset=function(){return plotOffset};plot.width=function(){return plotWidth};plot.height=function(){return plotHeight};plot.offset=function(){var o=eventHolder.offset();o.left+=plotOffset.left;o.top+=plotOffset.top;return o};plot.getData=function(){return series};plot.getAxes=function(){var res={},i;$.each(xaxes.concat(yaxes),function(_,axis){if(axis)res[axis.direction+(axis.n!=1?axis.n:"")+"axis"]=axis});return res};plot.getXAxes=function(){return xaxes};plot.getYAxes=function(){return yaxes};plot.c2p=canvasToAxisCoords;plot.p2c=axisToCanvasCoords;plot.getOptions=function(){return options};plot.highlight=highlight;plot.unhighlight=unhighlight;plot.triggerRedrawOverlay=triggerRedrawOverlay;plot.pointOffset=function(point){return{left:parseInt(xaxes[axisNumber(point,"x")-1].p2c(+point.x)+plotOffset.left,10),top:parseInt(yaxes[axisNumber(point,"y")-1].p2c(+point.y)+plotOffset.top,10)}};plot.shutdown=shutdown;plot.destroy=function(){shutdown();placeholder.removeData("plot").empty();series=[];options=null;surface=null;overlay=null;eventHolder=null;ctx=null;octx=null;xaxes=[];yaxes=[];hooks=null;highlights=[];plot=null};plot.resize=function(){var width=placeholder.width(),height=placeholder.height();surface.resize(width,height);overlay.resize(width,height)};plot.hooks=hooks;initPlugins(plot);parseOptions(options_);setupCanvases();setData(data_);setupGrid();draw();bindEvents();function executeHooks(hook,args){args=[plot].concat(args);for(var i=0;imaxIndex){maxIndex=sc}}}if(neededColors<=maxIndex){neededColors=maxIndex+1}var c,colors=[],colorPool=options.colors,colorPoolSize=colorPool.length,variation=0;for(i=0;i=0){if(variation<.5){variation=-variation-.2}else variation=0}else variation=-variation}colors[i]=c.scale("rgb",1+variation)}var colori=0,s;for(i=0;iaxis.datamax&&max!=fakeInfinity)axis.datamax=max}$.each(allAxes(),function(_,axis){axis.datamin=topSentry;axis.datamax=bottomSentry;axis.used=false});for(i=0;i0&&points[k-ps]!=null&&points[k-ps]!=points[k]&&points[k-ps+1]!=points[k+1]){for(m=0;mxmax)xmax=val}if(f.y){if(valymax)ymax=val}}}if(s.bars.show){var delta;switch(s.bars.align){case"left":delta=0;break;case"right":delta=-s.bars.barWidth;break;default:delta=-s.bars.barWidth/2}if(s.bars.horizontal){ymin+=delta;ymax+=delta+s.bars.barWidth}else{xmin+=delta;xmax+=delta+s.bars.barWidth}}updateAxis(s.xaxis,xmin,xmax);updateAxis(s.yaxis,ymin,ymax)}$.each(allAxes(),function(_,axis){if(axis.datamin==topSentry)axis.datamin=null;if(axis.datamax==bottomSentry)axis.datamax=null})}function setupCanvases(){placeholder.css("padding",0).children().filter(function(){return!$(this).hasClass("flot-overlay")&&!$(this).hasClass("flot-base")}).remove();if(placeholder.css("position")=="static")placeholder.css("position","relative");surface=new Canvas("flot-base",placeholder);overlay=new Canvas("flot-overlay",placeholder);ctx=surface.context;octx=overlay.context;eventHolder=$(overlay.element).unbind();var existing=placeholder.data("plot");if(existing){existing.shutdown();overlay.clear()}placeholder.data("plot",plot)}function bindEvents(){if(options.grid.hoverable){eventHolder.mousemove(onMouseMove);eventHolder.bind("mouseleave",onMouseLeave)}if(options.grid.clickable)eventHolder.click(onClick);executeHooks(hooks.bindEvents,[eventHolder])}function shutdown(){if(redrawTimeout)clearTimeout(redrawTimeout);eventHolder.unbind("mousemove",onMouseMove);eventHolder.unbind("mouseleave",onMouseLeave);eventHolder.unbind("click",onClick);executeHooks(hooks.shutdown,[eventHolder])}function setTransformationHelpers(axis){function identity(x){return x}var s,m,t=axis.options.transform||identity,it=axis.options.inverseTransform;if(axis.direction=="x"){s=axis.scale=plotWidth/Math.abs(t(axis.max)-t(axis.min));m=Math.min(t(axis.max),t(axis.min))}else{s=axis.scale=plotHeight/Math.abs(t(axis.max)-t(axis.min));s=-s;m=Math.max(t(axis.max),t(axis.min))}if(t==identity)axis.p2c=function(p){return(p-m)*s};else axis.p2c=function(p){return(t(p)-m)*s};if(!it)axis.c2p=function(c){return m+c/s};else axis.c2p=function(c){return it(m+c/s)}}function measureTickLabels(axis){var opts=axis.options,ticks=axis.ticks||[],labelWidth=opts.labelWidth||0,labelHeight=opts.labelHeight||0,maxWidth=labelWidth||(axis.direction=="x"?Math.floor(surface.width/(ticks.length||1)):null),legacyStyles=axis.direction+"Axis "+axis.direction+axis.n+"Axis",layer="flot-"+axis.direction+"-axis flot-"+axis.direction+axis.n+"-axis "+legacyStyles,font=opts.font||"flot-tick-label tickLabel";for(var i=0;i=0;--i)allocateAxisBoxFirstPhase(allocatedAxes[i]);adjustLayoutForThingsStickingOut();$.each(allocatedAxes,function(_,axis){allocateAxisBoxSecondPhase(axis)})}plotWidth=surface.width-plotOffset.left-plotOffset.right;plotHeight=surface.height-plotOffset.bottom-plotOffset.top;$.each(axes,function(_,axis){setTransformationHelpers(axis)});if(showGrid){drawAxisLabels()}insertLegend()}function setRange(axis){var opts=axis.options,min=+(opts.min!=null?opts.min:axis.datamin),max=+(opts.max!=null?opts.max:axis.datamax),delta=max-min;if(delta==0){var widen=max==0?1:.01;if(opts.min==null)min-=widen;if(opts.max==null||opts.min!=null)max+=widen}else{var margin=opts.autoscaleMargin;if(margin!=null){if(opts.min==null){min-=delta*margin;if(min<0&&axis.datamin!=null&&axis.datamin>=0)min=0}if(opts.max==null){max+=delta*margin;if(max>0&&axis.datamax!=null&&axis.datamax<=0)max=0}}}axis.min=min;axis.max=max}function setupTickGeneration(axis){var opts=axis.options;var noTicks;if(typeof opts.ticks=="number"&&opts.ticks>0)noTicks=opts.ticks;else noTicks=.3*Math.sqrt(axis.direction=="x"?surface.width:surface.height);var delta=(axis.max-axis.min)/noTicks,dec=-Math.floor(Math.log(delta)/Math.LN10),maxDec=opts.tickDecimals;if(maxDec!=null&&dec>maxDec){dec=maxDec}var magn=Math.pow(10,-dec),norm=delta/magn,size;if(norm<1.5){size=1}else if(norm<3){size=2;if(norm>2.25&&(maxDec==null||dec+1<=maxDec)){size=2.5;++dec}}else if(norm<7.5){size=5}else{size=10}size*=magn;if(opts.minTickSize!=null&&size0){if(opts.min==null)axis.min=Math.min(axis.min,niceTicks[0]);if(opts.max==null&&niceTicks.length>1)axis.max=Math.max(axis.max,niceTicks[niceTicks.length-1])}axis.tickGenerator=function(axis){var ticks=[],v,i;for(i=0;i1&&/\..*0$/.test((ts[1]-ts[0]).toFixed(extraDec))))axis.tickDecimals=extraDec}}}}function setTicks(axis){var oticks=axis.options.ticks,ticks=[];if(oticks==null||typeof oticks=="number"&&oticks>0)ticks=axis.tickGenerator(axis);else if(oticks){if($.isFunction(oticks))ticks=oticks(axis);else ticks=oticks}var i,v;axis.ticks=[];for(i=0;i1)label=t[1]}else v=+t;if(label==null)label=axis.tickFormatter(v,axis);if(!isNaN(v))axis.ticks.push({v:v,label:label})}}function snapRangeToTicks(axis,ticks){if(axis.options.autoscaleMargin&&ticks.length>0){if(axis.options.min==null)axis.min=Math.min(axis.min,ticks[0].v);if(axis.options.max==null&&ticks.length>1)axis.max=Math.max(axis.max,ticks[ticks.length-1].v)}}function draw(){surface.clear();executeHooks(hooks.drawBackground,[ctx]);var grid=options.grid;if(grid.show&&grid.backgroundColor)drawBackground();if(grid.show&&!grid.aboveData){drawGrid()}for(var i=0;ito){var tmp=from;from=to;to=tmp}return{from:from,to:to,axis:axis}}function drawBackground(){ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.fillStyle=getColorOrGradient(options.grid.backgroundColor,plotHeight,0,"rgba(255, 255, 255, 0)");ctx.fillRect(0,0,plotWidth,plotHeight);ctx.restore()}function drawGrid(){var i,axes,bw,bc;ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var markings=options.grid.markings;if(markings){if($.isFunction(markings)){axes=plot.getAxes();axes.xmin=axes.xaxis.min;axes.xmax=axes.xaxis.max;axes.ymin=axes.yaxis.min;axes.ymax=axes.yaxis.max;markings=markings(axes)}for(i=0;ixrange.axis.max||yrange.toyrange.axis.max)continue;xrange.from=Math.max(xrange.from,xrange.axis.min);xrange.to=Math.min(xrange.to,xrange.axis.max);yrange.from=Math.max(yrange.from,yrange.axis.min);yrange.to=Math.min(yrange.to,yrange.axis.max);var xequal=xrange.from===xrange.to,yequal=yrange.from===yrange.to;if(xequal&&yequal){continue}xrange.from=Math.floor(xrange.axis.p2c(xrange.from));xrange.to=Math.floor(xrange.axis.p2c(xrange.to));yrange.from=Math.floor(yrange.axis.p2c(yrange.from));yrange.to=Math.floor(yrange.axis.p2c(yrange.to));if(xequal||yequal){var lineWidth=m.lineWidth||options.grid.markingsLineWidth,subPixel=lineWidth%2?.5:0;ctx.beginPath();ctx.strokeStyle=m.color||options.grid.markingsColor;ctx.lineWidth=lineWidth;if(xequal){ctx.moveTo(xrange.to+subPixel,yrange.from);ctx.lineTo(xrange.to+subPixel,yrange.to)}else{ctx.moveTo(xrange.from,yrange.to+subPixel);ctx.lineTo(xrange.to,yrange.to+subPixel)}ctx.stroke()}else{ctx.fillStyle=m.color||options.grid.markingsColor;ctx.fillRect(xrange.from,yrange.to,xrange.to-xrange.from,yrange.from-yrange.to)}}}axes=allAxes();bw=options.grid.borderWidth;for(var j=0;jaxis.max||t=="full"&&(typeof bw=="object"&&bw[axis.position]>0||bw>0)&&(v==axis.min||v==axis.max))continue;if(axis.direction=="x"){x=axis.p2c(v);yoff=t=="full"?-plotHeight:t;if(axis.position=="top")yoff=-yoff}else{y=axis.p2c(v);xoff=t=="full"?-plotWidth:t;if(axis.position=="left")xoff=-xoff}if(ctx.lineWidth==1){if(axis.direction=="x")x=Math.floor(x)+.5;else y=Math.floor(y)+.5}ctx.moveTo(x,y);ctx.lineTo(x+xoff,y+yoff)}ctx.stroke()}if(bw){bc=options.grid.borderColor;if(typeof bw=="object"||typeof bc=="object"){if(typeof bw!=="object"){bw={top:bw,right:bw,bottom:bw,left:bw}}if(typeof bc!=="object"){bc={top:bc,right:bc,bottom:bc,left:bc}}if(bw.top>0){ctx.strokeStyle=bc.top;ctx.lineWidth=bw.top;ctx.beginPath();ctx.moveTo(0-bw.left,0-bw.top/2);ctx.lineTo(plotWidth,0-bw.top/2);ctx.stroke()}if(bw.right>0){ctx.strokeStyle=bc.right;ctx.lineWidth=bw.right;ctx.beginPath();ctx.moveTo(plotWidth+bw.right/2,0-bw.top);ctx.lineTo(plotWidth+bw.right/2,plotHeight);ctx.stroke()}if(bw.bottom>0){ctx.strokeStyle=bc.bottom;ctx.lineWidth=bw.bottom;ctx.beginPath();ctx.moveTo(plotWidth+bw.right,plotHeight+bw.bottom/2);ctx.lineTo(0,plotHeight+bw.bottom/2);ctx.stroke()}if(bw.left>0){ctx.strokeStyle=bc.left;ctx.lineWidth=bw.left;ctx.beginPath();ctx.moveTo(0-bw.left/2,plotHeight+bw.bottom);ctx.lineTo(0-bw.left/2,0);ctx.stroke()}}else{ctx.lineWidth=bw;ctx.strokeStyle=options.grid.borderColor;ctx.strokeRect(-bw/2,-bw/2,plotWidth+bw,plotHeight+bw)}}ctx.restore()}function drawAxisLabels(){$.each(allAxes(),function(_,axis){var box=axis.box,legacyStyles=axis.direction+"Axis "+axis.direction+axis.n+"Axis",layer="flot-"+axis.direction+"-axis flot-"+axis.direction+axis.n+"-axis "+legacyStyles,font=axis.options.font||"flot-tick-label tickLabel",tick,x,y,halign,valign;surface.removeText(layer);if(!axis.show||axis.ticks.length==0)return;for(var i=0;iaxis.max)continue;if(axis.direction=="x"){halign="center";x=plotOffset.left+axis.p2c(tick.v);if(axis.position=="bottom"){y=box.top+box.padding}else{y=box.top+box.height-box.padding;valign="bottom"}}else{valign="middle";y=plotOffset.top+axis.p2c(tick.v);if(axis.position=="left"){x=box.left+box.width-box.padding;halign="right"}else{x=box.left+box.padding}}surface.addText(layer,x,y,tick.label,font,null,null,halign,valign)}})}function drawSeries(series){if(series.lines.show)drawSeriesLines(series);if(series.bars.show)drawSeriesBars(series);if(series.points.show)drawSeriesPoints(series)}function drawSeriesLines(series){function plotLine(datapoints,xoffset,yoffset,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,prevx=null,prevy=null;ctx.beginPath();for(var i=ps;i=y2&&y1>axisy.max){if(y2>axisy.max)continue;x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else if(y2>=y1&&y2>axisy.max){if(y1>axisy.max)continue;x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}if(x1<=x2&&x1=x2&&x1>axisx.max){if(x2>axisx.max)continue;y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else if(x2>=x1&&x2>axisx.max){if(x1>axisx.max)continue;y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}if(x1!=prevx||y1!=prevy)ctx.moveTo(axisx.p2c(x1)+xoffset,axisy.p2c(y1)+yoffset);prevx=x2;prevy=y2;ctx.lineTo(axisx.p2c(x2)+xoffset,axisy.p2c(y2)+yoffset)}ctx.stroke()}function plotLineArea(datapoints,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize,bottom=Math.min(Math.max(0,axisy.min),axisy.max),i=0,top,areaOpen=false,ypos=1,segmentStart=0,segmentEnd=0;while(true){if(ps>0&&i>points.length+ps)break;i+=ps;var x1=points[i-ps],y1=points[i-ps+ypos],x2=points[i],y2=points[i+ypos];if(areaOpen){if(ps>0&&x1!=null&&x2==null){segmentEnd=i;ps=-ps;ypos=2;continue}if(ps<0&&i==segmentStart+ps){ctx.fill();areaOpen=false;ps=-ps;ypos=1;i=segmentStart=segmentEnd+ps;continue}}if(x1==null||x2==null)continue;if(x1<=x2&&x1=x2&&x1>axisx.max){if(x2>axisx.max)continue;y1=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x1=axisx.max}else if(x2>=x1&&x2>axisx.max){if(x1>axisx.max)continue;y2=(axisx.max-x1)/(x2-x1)*(y2-y1)+y1;x2=axisx.max}if(!areaOpen){ctx.beginPath();ctx.moveTo(axisx.p2c(x1),axisy.p2c(bottom));areaOpen=true}if(y1>=axisy.max&&y2>=axisy.max){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.max));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.max));continue}else if(y1<=axisy.min&&y2<=axisy.min){ctx.lineTo(axisx.p2c(x1),axisy.p2c(axisy.min));ctx.lineTo(axisx.p2c(x2),axisy.p2c(axisy.min));continue}var x1old=x1,x2old=x2;if(y1<=y2&&y1=axisy.min){x1=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.min}else if(y2<=y1&&y2=axisy.min){x2=(axisy.min-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.min}if(y1>=y2&&y1>axisy.max&&y2<=axisy.max){x1=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y1=axisy.max}else if(y2>=y1&&y2>axisy.max&&y1<=axisy.max){x2=(axisy.max-y1)/(y2-y1)*(x2-x1)+x1;y2=axisy.max}if(x1!=x1old){ctx.lineTo(axisx.p2c(x1old),axisy.p2c(y1))}ctx.lineTo(axisx.p2c(x1),axisy.p2c(y1));ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));if(x2!=x2old){ctx.lineTo(axisx.p2c(x2),axisy.p2c(y2));ctx.lineTo(axisx.p2c(x2old),axisy.p2c(y2))}}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);ctx.lineJoin="round";var lw=series.lines.lineWidth,sw=series.shadowSize;if(lw>0&&sw>0){ctx.lineWidth=sw;ctx.strokeStyle="rgba(0,0,0,0.1)";var angle=Math.PI/18;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/2),Math.cos(angle)*(lw/2+sw/2),series.xaxis,series.yaxis);ctx.lineWidth=sw/2;plotLine(series.datapoints,Math.sin(angle)*(lw/2+sw/4),Math.cos(angle)*(lw/2+sw/4),series.xaxis,series.yaxis)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;var fillStyle=getFillStyle(series.lines,series.color,0,plotHeight);if(fillStyle){ctx.fillStyle=fillStyle;plotLineArea(series.datapoints,series.xaxis,series.yaxis)}if(lw>0)plotLine(series.datapoints,0,0,series.xaxis,series.yaxis);ctx.restore()}function drawSeriesPoints(series){function plotPoints(datapoints,radius,fillStyle,offset,shadow,axisx,axisy,symbol){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;iaxisx.max||yaxisy.max)continue;ctx.beginPath();x=axisx.p2c(x);y=axisy.p2c(y)+offset;if(symbol=="circle")ctx.arc(x,y,radius,0,shadow?Math.PI:Math.PI*2,false);else symbol(ctx,x,y,radius,shadow);ctx.closePath();if(fillStyle){ctx.fillStyle=fillStyle;ctx.fill()}ctx.stroke()}}ctx.save();ctx.translate(plotOffset.left,plotOffset.top);var lw=series.points.lineWidth,sw=series.shadowSize,radius=series.points.radius,symbol=series.points.symbol;if(lw==0)lw=1e-4;if(lw>0&&sw>0){var w=sw/2;ctx.lineWidth=w;ctx.strokeStyle="rgba(0,0,0,0.1)";plotPoints(series.datapoints,radius,null,w+w/2,true,series.xaxis,series.yaxis,symbol);ctx.strokeStyle="rgba(0,0,0,0.2)";plotPoints(series.datapoints,radius,null,w/2,true,series.xaxis,series.yaxis,symbol)}ctx.lineWidth=lw;ctx.strokeStyle=series.color;plotPoints(series.datapoints,radius,getFillStyle(series.points,series.color),0,false,series.xaxis,series.yaxis,symbol);ctx.restore()}function drawBar(x,y,b,barLeft,barRight,fillStyleCallback,axisx,axisy,c,horizontal,lineWidth){var left,right,bottom,top,drawLeft,drawRight,drawTop,drawBottom,tmp;if(horizontal){drawBottom=drawRight=drawTop=true;drawLeft=false;left=b;right=x;top=y+barLeft;bottom=y+barRight;if(rightaxisx.max||topaxisy.max)return;if(leftaxisx.max){right=axisx.max;drawRight=false}if(bottomaxisy.max){top=axisy.max;drawTop=false}left=axisx.p2c(left);bottom=axisy.p2c(bottom);right=axisx.p2c(right);top=axisy.p2c(top);if(fillStyleCallback){c.fillStyle=fillStyleCallback(bottom,top);c.fillRect(left,top,right-left,bottom-top)}if(lineWidth>0&&(drawLeft||drawRight||drawTop||drawBottom)){c.beginPath();c.moveTo(left,bottom);if(drawLeft)c.lineTo(left,top);else c.moveTo(left,top);if(drawTop)c.lineTo(right,top);else c.moveTo(right,top);if(drawRight)c.lineTo(right,bottom);else c.moveTo(right,bottom);if(drawBottom)c.lineTo(left,bottom);else c.moveTo(left,bottom);c.stroke()}}function drawSeriesBars(series){function plotBars(datapoints,barLeft,barRight,fillStyleCallback,axisx,axisy){var points=datapoints.points,ps=datapoints.pointsize;for(var i=0;i");fragments.push("");rowStarted=true}fragments.push('
'+''+entry.label+"")}if(rowStarted)fragments.push("");if(fragments.length==0)return;var table=''+fragments.join("")+"
";if(options.legend.container!=null)$(options.legend.container).html(table);else{var pos="",p=options.legend.position,m=options.legend.margin;if(m[0]==null)m=[m,m];if(p.charAt(0)=="n")pos+="top:"+(m[1]+plotOffset.top)+"px;";else if(p.charAt(0)=="s")pos+="bottom:"+(m[1]+plotOffset.bottom)+"px;";if(p.charAt(1)=="e")pos+="right:"+(m[0]+plotOffset.right)+"px;";else if(p.charAt(1)=="w")pos+="left:"+(m[0]+plotOffset.left)+"px;";var legend=$('
'+table.replace('style="','style="position:absolute;'+pos+";")+"
").appendTo(placeholder);if(options.legend.backgroundOpacity!=0){var c=options.legend.backgroundColor;if(c==null){c=options.grid.backgroundColor;if(c&&typeof c=="string")c=$.color.parse(c);else c=$.color.extract(legend,"background-color");c.a=1;c=c.toString()}var div=legend.children();$('
').prependTo(legend).css("opacity",options.legend.backgroundOpacity)}}}var highlights=[],redrawTimeout=null;function findNearbyItem(mouseX,mouseY,seriesFilter){var maxDistance=options.grid.mouseActiveRadius,smallestDistance=maxDistance*maxDistance+1,item=null,foundPoint=false,i,j,ps;for(i=series.length-1;i>=0;--i){if(!seriesFilter(series[i]))continue;var s=series[i],axisx=s.xaxis,axisy=s.yaxis,points=s.datapoints.points,mx=axisx.c2p(mouseX),my=axisy.c2p(mouseY),maxx=maxDistance/axisx.scale,maxy=maxDistance/axisy.scale;ps=s.datapoints.pointsize;if(axisx.options.inverseTransform)maxx=Number.MAX_VALUE;if(axisy.options.inverseTransform)maxy=Number.MAX_VALUE;if(s.lines.show||s.points.show){for(j=0;jmaxx||x-mx<-maxx||y-my>maxy||y-my<-maxy)continue;var dx=Math.abs(axisx.p2c(x)-mouseX),dy=Math.abs(axisy.p2c(y)-mouseY),dist=dx*dx+dy*dy;if(dist=Math.min(b,x)&&my>=y+barLeft&&my<=y+barRight:mx>=x+barLeft&&mx<=x+barRight&&my>=Math.min(b,y)&&my<=Math.max(b,y))item=[i,j/ps]}}}if(item){i=item[0];j=item[1];ps=series[i].datapoints.pointsize;return{datapoint:series[i].datapoints.points.slice(j*ps,(j+1)*ps),dataIndex:j,series:series[i],seriesIndex:i}}return null}function onMouseMove(e){if(options.grid.hoverable)triggerClickHoverEvent("plothover",e,function(s){return s["hoverable"]!=false})}function onMouseLeave(e){if(options.grid.hoverable)triggerClickHoverEvent("plothover",e,function(s){return false})}function onClick(e){triggerClickHoverEvent("plotclick",e,function(s){return s["clickable"]!=false})}function triggerClickHoverEvent(eventname,event,seriesFilter){var offset=eventHolder.offset(),canvasX=event.pageX-offset.left-plotOffset.left,canvasY=event.pageY-offset.top-plotOffset.top,pos=canvasToAxisCoords({left:canvasX,top:canvasY});pos.pageX=event.pageX;pos.pageY=event.pageY;var item=findNearbyItem(canvasX,canvasY,seriesFilter);if(item){item.pageX=parseInt(item.series.xaxis.p2c(item.datapoint[0])+offset.left+plotOffset.left,10);item.pageY=parseInt(item.series.yaxis.p2c(item.datapoint[1])+offset.top+plotOffset.top,10)}if(options.grid.autoHighlight){for(var i=0;iaxisx.max||yaxisy.max)return;var pointRadius=series.points.radius+series.points.lineWidth/2;octx.lineWidth=pointRadius;octx.strokeStyle=highlightColor;var radius=1.5*pointRadius;x=axisx.p2c(x);y=axisy.p2c(y);octx.beginPath();if(series.points.symbol=="circle")octx.arc(x,y,radius,0,2*Math.PI,false);else series.points.symbol(octx,x,y,radius,false);octx.closePath();octx.stroke()}function drawBarHighlight(series,point){var highlightColor=typeof series.highlightColor==="string"?series.highlightColor:$.color.parse(series.color).scale("a",.5).toString(),fillStyle=highlightColor,barLeft;switch(series.bars.align){case"left":barLeft=0;break;case"right":barLeft=-series.bars.barWidth;break;default:barLeft=-series.bars.barWidth/2}octx.lineWidth=series.bars.lineWidth;octx.strokeStyle=highlightColor;drawBar(point[0],point[1],point[2]||0,barLeft,barLeft+series.bars.barWidth,function(){return fillStyle},series.xaxis,series.yaxis,octx,series.bars.horizontal,series.bars.lineWidth)}function getColorOrGradient(spec,bottom,top,defaultColor){if(typeof spec=="string")return spec;else{var gradient=ctx.createLinearGradient(0,top,0,bottom);for(var i=0,l=spec.colors.length;i1){options.series.pie.tilt=1}else if(options.series.pie.tilt<0){options.series.pie.tilt=0}}});plot.hooks.bindEvents.push(function(plot,eventHolder){var options=plot.getOptions();if(options.series.pie.show){if(options.grid.hoverable){eventHolder.unbind("mousemove").mousemove(onMouseMove)}if(options.grid.clickable){eventHolder.unbind("click").click(onClick)}}});plot.hooks.processDatapoints.push(function(plot,series,data,datapoints){var options=plot.getOptions();if(options.series.pie.show){processDatapoints(plot,series,data,datapoints)}});plot.hooks.drawOverlay.push(function(plot,octx){var options=plot.getOptions();if(options.series.pie.show){drawOverlay(plot,octx)}});plot.hooks.draw.push(function(plot,newCtx){var options=plot.getOptions();if(options.series.pie.show){draw(plot,newCtx)}});function processDatapoints(plot,series,datapoints){if(!processed){processed=true;canvas=plot.getCanvas();target=$(canvas).parent();options=plot.getOptions();plot.setData(combine(plot.getData()))}}function combine(data){var total=0,combined=0,numCombined=0,color=options.series.pie.combine.color,newdata=[];for(var i=0;ioptions.series.pie.combine.threshold){newdata.push($.extend(data[i],{data:[[1,value]],color:data[i].color,label:data[i].label,angle:value*Math.PI*2/total,percent:value/(total/100)}))}}if(numCombined>1){newdata.push({data:[[1,combined]],color:color,label:options.series.pie.combine.label,angle:combined*Math.PI*2/total,percent:combined/(total/100)})}return newdata}function draw(plot,newCtx){if(!target){return}var canvasWidth=plot.getPlaceholder().width(),canvasHeight=plot.getPlaceholder().height(),legendWidth=target.children().filter(".legend").children().width()||0;ctx=newCtx;processed=false;maxRadius=Math.min(canvasWidth,canvasHeight/options.series.pie.tilt)/2;centerTop=canvasHeight/2+options.series.pie.offset.top;centerLeft=canvasWidth/2;if(options.series.pie.offset.left=="auto"){if(options.legend.position.match("w")){centerLeft+=legendWidth/2}else{centerLeft-=legendWidth/2}if(centerLeftcanvasWidth-maxRadius){centerLeft=canvasWidth-maxRadius}}else{centerLeft+=options.series.pie.offset.left}var slices=plot.getData(),attempts=0;do{if(attempts>0){maxRadius*=REDRAW_SHRINK}attempts+=1;clear();if(options.series.pie.tilt<=.8){drawShadow()}}while(!drawPie()&&attempts=REDRAW_ATTEMPTS){clear();target.prepend("
Could not draw pie with labels contained inside canvas
")}if(plot.setSeries&&plot.insertLegend){plot.setSeries(slices);plot.insertLegend()}function clear(){ctx.clearRect(0,0,canvasWidth,canvasHeight);target.children().filter(".pieLabel, .pieLabelBackground").remove()}function drawShadow(){var shadowLeft=options.series.pie.shadow.left;var shadowTop=options.series.pie.shadow.top;var edge=10;var alpha=options.series.pie.shadow.alpha;var radius=options.series.pie.radius>1?options.series.pie.radius:maxRadius*options.series.pie.radius;if(radius>=canvasWidth/2-shadowLeft||radius*options.series.pie.tilt>=canvasHeight/2-shadowTop||radius<=edge){return}ctx.save();ctx.translate(shadowLeft,shadowTop);ctx.globalAlpha=alpha;ctx.fillStyle="#000";ctx.translate(centerLeft,centerTop);ctx.scale(1,options.series.pie.tilt);for(var i=1;i<=edge;i++){ctx.beginPath();ctx.arc(0,0,radius,0,Math.PI*2,false);ctx.fill();radius-=i}ctx.restore()}function drawPie(){var startAngle=Math.PI*options.series.pie.startAngle;var radius=options.series.pie.radius>1?options.series.pie.radius:maxRadius*options.series.pie.radius;ctx.save();ctx.translate(centerLeft,centerTop);ctx.scale(1,options.series.pie.tilt);ctx.save();var currentAngle=startAngle;for(var i=0;i0){ctx.save();ctx.lineWidth=options.series.pie.stroke.width;currentAngle=startAngle;for(var i=0;i1e-9){ctx.moveTo(0,0)}ctx.arc(0,0,radius,currentAngle,currentAngle+angle/2,false);ctx.arc(0,0,radius,currentAngle+angle/2,currentAngle+angle,false);ctx.closePath();currentAngle+=angle;if(fill){ctx.fill()}else{ctx.stroke()}}function drawLabels(){var currentAngle=startAngle;var radius=options.series.pie.label.radius>1?options.series.pie.label.radius:maxRadius*options.series.pie.label.radius;for(var i=0;i=options.series.pie.label.threshold*100){if(!drawLabel(slices[i],currentAngle,i)){return false}}currentAngle+=slices[i].angle}return true;function drawLabel(slice,startAngle,index){if(slice.data[0][1]==0){return true}var lf=options.legend.labelFormatter,text,plf=options.series.pie.label.formatter;if(lf){text=lf(slice.label,slice)}else{text=slice.label}if(plf){text=plf(text,slice)}var halfAngle=(startAngle+slice.angle+startAngle)/2;var x=centerLeft+Math.round(Math.cos(halfAngle)*radius);var y=centerTop+Math.round(Math.sin(halfAngle)*radius)*options.series.pie.tilt;var html=""+text+"";target.append(html);var label=target.children("#pieLabel"+index);var labelTop=y-label.height()/2;var labelLeft=x-label.width()/2;label.css("top",labelTop);label.css("left",labelLeft);if(0-labelTop>0||0-labelLeft>0||canvasHeight-(labelTop+label.height())<0||canvasWidth-(labelLeft+label.width())<0){return false}if(options.series.pie.label.background.opacity!=0){var c=options.series.pie.label.background.color;if(c==null){c=slice.color}var pos="top:"+labelTop+"px;left:"+labelLeft+"px;";$("
").css("opacity",options.series.pie.label.background.opacity).insertBefore(label)}return true}}}}function drawDonutHole(layer){if(options.series.pie.innerRadius>0){layer.save();var innerRadius=options.series.pie.innerRadius>1?options.series.pie.innerRadius:maxRadius*options.series.pie.innerRadius;layer.globalCompositeOperation="destination-out";layer.beginPath();layer.fillStyle=options.series.pie.stroke.color;layer.arc(0,0,innerRadius,0,Math.PI*2,false);layer.fill();layer.closePath();layer.restore();layer.save();layer.beginPath();layer.strokeStyle=options.series.pie.stroke.color;layer.arc(0,0,innerRadius,0,Math.PI*2,false);layer.stroke();layer.closePath();layer.restore()}}function isPointInPoly(poly,pt){for(var c=false,i=-1,l=poly.length,j=l-1;++i1?options.series.pie.radius:maxRadius*options.series.pie.radius,x,y;for(var i=0;i1?options.series.pie.radius:maxRadius*options.series.pie.radius;octx.save();octx.translate(centerLeft,centerTop);octx.scale(1,options.series.pie.tilt);for(var i=0;i1e-9){octx.moveTo(0,0)}octx.arc(0,0,radius,series.startAngle,series.startAngle+series.angle/2,false);octx.arc(0,0,radius,series.startAngle+series.angle/2,series.startAngle+series.angle,false);octx.closePath();octx.fill()}}}var options={series:{pie:{show:false,radius:"auto",innerRadius:0,startAngle:3/2,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(label,slice){return"
"+label+"
"+Math.round(slice.percent)+"%
"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};$.plot.plugins.push({init:init,options:options,name:"pie",version:"1.1"})})(jQuery); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.js b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.js index 43a8fbf..b301a61 100644 --- a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.js +++ b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.js @@ -1,181 +1,181 @@ -/* Flot plugin for stacking data sets rather than overlyaing them. - -Copyright (c) 2007-2014 IOLA and Ole Laursen. -Licensed under the MIT license. - -The plugin assumes the data is sorted on x (or y if stacking horizontally). -For line charts, it is assumed that if a line has an undefined gap (from a -null point), then the line above it should have the same gap - insert zeros -instead of "null" if you want another behaviour. This also holds for the start -and end of the chart. Note that stacking a mix of positive and negative values -in most instances doesn't make sense (so it looks weird). - -Two or more series are stacked when their "stack" attribute is set to the same -key (which can be any number or string or just "true"). To specify the default -stack, you can set the stack option like this: - - series: { - stack: null/false, true, or a key (number/string) - } - -You can also specify it for a single series, like this: - - $.plot( $("#placeholder"), [{ - data: [ ... ], - stack: true - }]) - -The stacking order is determined by the order of the data series in the array -(later series end up on top of the previous). - -Internally, the plugin modifies the datapoints in each series, adding an -offset to the y value. For line series, extra data points are inserted through -interpolation. If there's a second y value, it's also adjusted (e.g for bar -charts or filled areas). - -*/ - -(function ($) { - var options = { - series: { stack: null } // or number/string - }; - - function init(plot) { - function findMatchingSeries(s, allseries) { - var res = null; - for (var i = 0; i < allseries.length; ++i) { - if (s == allseries[i]) - break; - - if (allseries[i].stack == s.stack) - res = allseries[i]; - } - - return res; - } - - function stackData(plot, s, datapoints) { - if (s.stack == null || s.stack === false) - return; - - var other = findMatchingSeries(s, plot.getData()); - if (!other) - return; - - var ps = datapoints.pointsize, - points = datapoints.points, - otherps = other.datapoints.pointsize, - otherpoints = other.datapoints.points, - newpoints = [], - px, py, intery, qx, qy, bottom, - withlines = s.lines.show, - horizontal = s.bars.horizontal, - withbottom = ps > 2 && (horizontal ? datapoints.format[2].x : datapoints.format[2].y), - withsteps = withlines && s.lines.steps, - fromgap = true, - keyOffset = horizontal ? 1 : 0, - accumulateOffset = horizontal ? 0 : 1, - i = 0, j = 0, l, m; - - while (true) { - if (i >= points.length) - break; - - l = newpoints.length; - - if (points[i] == null) { - // copy gaps - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - i += ps; - } - else if (j >= otherpoints.length) { - // for lines, we can't use the rest of the points - if (!withlines) { - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - } - i += ps; - } - else if (otherpoints[j] == null) { - // oops, got a gap - for (m = 0; m < ps; ++m) - newpoints.push(null); - fromgap = true; - j += otherps; - } - else { - // cases where we actually got two points - px = points[i + keyOffset]; - py = points[i + accumulateOffset]; - qx = otherpoints[j + keyOffset]; - qy = otherpoints[j + accumulateOffset]; - bottom = 0; - - if (px == qx) { - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - - newpoints[l + accumulateOffset] += qy; - bottom = qy; - - i += ps; - j += otherps; - } - else if (px > qx) { - // we got past point below, might need to - // insert interpolated extra point - if (withlines && i > 0 && points[i - ps] != null) { - intery = py + (points[i - ps + accumulateOffset] - py) * (qx - px) / (points[i - ps + keyOffset] - px); - newpoints.push(qx); - newpoints.push(intery + qy); - for (m = 2; m < ps; ++m) - newpoints.push(points[i + m]); - bottom = qy; - } - - j += otherps; - } - else { // px < qx - if (fromgap && withlines) { - // if we come from a gap, we just skip this point - i += ps; - continue; - } - - for (m = 0; m < ps; ++m) - newpoints.push(points[i + m]); - - // we might be able to interpolate a point below, - // this can give us a better y - if (withlines && j > 0 && otherpoints[j - otherps] != null) - bottom = qy + (otherpoints[j - otherps + accumulateOffset] - qy) * (px - qx) / (otherpoints[j - otherps + keyOffset] - qx); - - newpoints[l + accumulateOffset] += bottom; - - i += ps; - } - - fromgap = false; - - if (l != newpoints.length && withbottom) - newpoints[l + 2] += bottom; - } - - // maintain the line steps invariant - if (withsteps && l != newpoints.length && l > 0 - && newpoints[l] != null - && newpoints[l] != newpoints[l - ps] - && newpoints[l + 1] != newpoints[l - ps + 1]) { - for (m = 0; m < ps; ++m) - newpoints[l + ps + m] = newpoints[l + m]; - newpoints[l + 1] = newpoints[l - ps + 1]; - } - } - - datapoints.points = newpoints; - } - - plot.hooks.processDatapoints.push(stackData); - } -})(jQuery); +/* Flot plugin for stacking data sets rather than overlyaing them. + +Copyright (c) 2007-2014 IOLA and Ole Laursen. +Licensed under the MIT license. + +The plugin assumes the data is sorted on x (or y if stacking horizontally). +For line charts, it is assumed that if a line has an undefined gap (from a +null point), then the line above it should have the same gap - insert zeros +instead of "null" if you want another behaviour. This also holds for the start +and end of the chart. Note that stacking a mix of positive and negative values +in most instances doesn't make sense (so it looks weird). + +Two or more series are stacked when their "stack" attribute is set to the same +key (which can be any number or string or just "true"). To specify the default +stack, you can set the stack option like this: + + series: { + stack: null/false, true, or a key (number/string) + } + +You can also specify it for a single series, like this: + + $.plot( $("#placeholder"), [{ + data: [ ... ], + stack: true + }]) + +The stacking order is determined by the order of the data series in the array +(later series end up on top of the previous). + +Internally, the plugin modifies the datapoints in each series, adding an +offset to the y value. For line series, extra data points are inserted through +interpolation. If there's a second y value, it's also adjusted (e.g for bar +charts or filled areas). + +*/ + +(function ($) { + var options = { + series: { stack: null } // or number/string + }; + + function init(plot) { + function findMatchingSeries(s, allseries) { + var res = null; + for (var i = 0; i < allseries.length; ++i) { + if (s == allseries[i]) + break; + + if (allseries[i].stack == s.stack) + res = allseries[i]; + } + + return res; + } + + function stackData(plot, s, datapoints) { + if (s.stack == null || s.stack === false) + return; + + var other = findMatchingSeries(s, plot.getData()); + if (!other) + return; + + var ps = datapoints.pointsize, + points = datapoints.points, + otherps = other.datapoints.pointsize, + otherpoints = other.datapoints.points, + newpoints = [], + px, py, intery, qx, qy, bottom, + withlines = s.lines.show, + horizontal = s.bars.horizontal, + withbottom = ps > 2 && (horizontal ? datapoints.format[2].x : datapoints.format[2].y), + withsteps = withlines && s.lines.steps, + fromgap = true, + keyOffset = horizontal ? 1 : 0, + accumulateOffset = horizontal ? 0 : 1, + i = 0, j = 0, l, m; + + while (true) { + if (i >= points.length) + break; + + l = newpoints.length; + + if (points[i] == null) { + // copy gaps + for (m = 0; m < ps; ++m) + newpoints.push(points[i + m]); + i += ps; + } + else if (j >= otherpoints.length) { + // for lines, we can't use the rest of the points + if (!withlines) { + for (m = 0; m < ps; ++m) + newpoints.push(points[i + m]); + } + i += ps; + } + else if (otherpoints[j] == null) { + // oops, got a gap + for (m = 0; m < ps; ++m) + newpoints.push(null); + fromgap = true; + j += otherps; + } + else { + // cases where we actually got two points + px = points[i + keyOffset]; + py = points[i + accumulateOffset]; + qx = otherpoints[j + keyOffset]; + qy = otherpoints[j + accumulateOffset]; + bottom = 0; + + if (px == qx) { + for (m = 0; m < ps; ++m) + newpoints.push(points[i + m]); + + newpoints[l + accumulateOffset] += qy; + bottom = qy; + + i += ps; + j += otherps; + } + else if (px > qx) { + // we got past point below, might need to + // insert interpolated extra point + if (withlines && i > 0 && points[i - ps] != null) { + intery = py + (points[i - ps + accumulateOffset] - py) * (qx - px) / (points[i - ps + keyOffset] - px); + newpoints.push(qx); + newpoints.push(intery + qy); + for (m = 2; m < ps; ++m) + newpoints.push(points[i + m]); + bottom = qy; + } + + j += otherps; + } + else { // px < qx + if (fromgap && withlines) { + // if we come from a gap, we just skip this point + i += ps; + continue; + } + + for (m = 0; m < ps; ++m) + newpoints.push(points[i + m]); + + // we might be able to interpolate a point below, + // this can give us a better y + if (withlines && j > 0 && otherpoints[j - otherps] != null) + bottom = qy + (otherpoints[j - otherps + accumulateOffset] - qy) * (px - qx) / (otherpoints[j - otherps + keyOffset] - qx); + + newpoints[l + accumulateOffset] += bottom; + + i += ps; + } + + fromgap = false; + + if (l != newpoints.length && withbottom) + newpoints[l + 2] += bottom; + } + + // maintain the line steps invariant + if (withsteps && l != newpoints.length && l > 0 + && newpoints[l] != null + && newpoints[l] != newpoints[l - ps] + && newpoints[l + 1] != newpoints[l - ps + 1]) { + for (m = 0; m < ps; ++m) + newpoints[l + ps + m] = newpoints[l + m]; + newpoints[l + 1] = newpoints[l - ps + 1]; + } + } + + datapoints.points = newpoints; + } + + plot.hooks.processDatapoints.push(stackData); + } +})(jQuery); diff --git a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.min.js b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.min.js index 14e9931..0ab0b63 100644 --- a/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/js/jquery.flot.stack.min.js @@ -1,36 +1,36 @@ -/* Flot plugin for stacking data sets rather than overlyaing them. - -Copyright (c) 2007-2013 IOLA and Ole Laursen. -Licensed under the MIT license. - -The plugin assumes the data is sorted on x (or y if stacking horizontally). -For line charts, it is assumed that if a line has an undefined gap (from a -null point), then the line above it should have the same gap - insert zeros -instead of "null" if you want another behaviour. This also holds for the start -and end of the chart. Note that stacking a mix of positive and negative values -in most instances doesn't make sense (so it looks weird). - -Two or more series are stacked when their "stack" attribute is set to the same -key (which can be any number or string or just "true"). To specify the default -stack, you can set the stack option like this: - - series: { - stack: null/false, true, or a key (number/string) - } - -You can also specify it for a single series, like this: - - $.plot( $("#placeholder"), [{ - data: [ ... ], - stack: true - }]) - -The stacking order is determined by the order of the data series in the array -(later series end up on top of the previous). - -Internally, the plugin modifies the datapoints in each series, adding an -offset to the y value. For line series, extra data points are inserted through -interpolation. If there's a second y value, it's also adjusted (e.g for bar -charts or filled areas). - +/* Flot plugin for stacking data sets rather than overlyaing them. + +Copyright (c) 2007-2013 IOLA and Ole Laursen. +Licensed under the MIT license. + +The plugin assumes the data is sorted on x (or y if stacking horizontally). +For line charts, it is assumed that if a line has an undefined gap (from a +null point), then the line above it should have the same gap - insert zeros +instead of "null" if you want another behaviour. This also holds for the start +and end of the chart. Note that stacking a mix of positive and negative values +in most instances doesn't make sense (so it looks weird). + +Two or more series are stacked when their "stack" attribute is set to the same +key (which can be any number or string or just "true"). To specify the default +stack, you can set the stack option like this: + + series: { + stack: null/false, true, or a key (number/string) + } + +You can also specify it for a single series, like this: + + $.plot( $("#placeholder"), [{ + data: [ ... ], + stack: true + }]) + +The stacking order is determined by the order of the data series in the array +(later series end up on top of the previous). + +Internally, the plugin modifies the datapoints in each series, adding an +offset to the y value. For line series, extra data points are inserted through +interpolation. If there's a second y value, it's also adjusted (e.g for bar +charts or filled areas). + */(function(e){function n(e){function t(e,t){var n=null;for(var r=0;r2&&(g?r.format[2].x:r.format[2].y),b=m&&n.lines.steps,w=!0,E=g?1:0,S=g?0:1,x=0,T=0,N,C;for(;;){if(x>=o.length)break;N=f.length;if(o[x]==null){for(C=0;C=a.length){if(!m)for(C=0;Cp){if(m&&x>0&&o[x-s]!=null){h=c+(o[x-s+S]-c)*(p-l)/(o[x-s+E]-l),f.push(p),f.push(h+d);for(C=2;C0&&a[T-u]!=null&&(v=d+(a[T-u+S]-d)*(l-p)/(a[T-u+E]-p)),f[N+S]+=v,x+=s}w=!1,N!=f.length&&y&&(f[N+2]+=v)}if(b&&N!=f.length&&N>0&&f[N]!=null&&f[N]!=f[N-s]&&f[N+1]!=f[N-s+1]){for(C=0;CSet 0 for no restriction.
Recommended Value : 10'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = '网络速度'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = '网络速度'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_free'] = 'Free'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_submit'] = 'Create'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = '网络速度'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'The panel you selected is invalid'; -$l['cpan_err_installing'] = 'There was an error installing the Panel'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'The Panel installation has begun and will be completed soon'; -$l['cpan_change_onboot'] = 'The Panel will be installed when you shutdown and then start the '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = '控制面板'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'The ISO you selected is invalid'; -$l['hvm_err_editing'] = 'There were some errors while saving the settings'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = '提交'; -$l['hvm_done'] = '设置已保存'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Boot Order'; -$l['hvm_isos'] = 'Select ISO'; -$l['hvm_none'] = 'None'; -$l['hvm_tuntap_enable'] = '开启 Tun/Tap'; -$l['hvm_ppp_enable'] = '开启 PPP( 点对点协议)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU 信息'; -$l['cpu_totalcpu'] = '总共 CPU 计算单位 :'; -$l['cpu_cpuutilised'] = '已使用 CPU 计算单位 : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'CPU 用量'; -$l['cpu_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; -$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' 内存'; -$l['ram_raminfo'] = '内存信息'; -$l['ram_totalram'] = '内存 : '; -$l['ram_gaurateed'] = '最低可用内存 : '; -$l['ram_burstable'] = '可瞬时使用 :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = '内存已使用 :'; -$l['ram_percentram'] = '内存使用率 % :'; -$l['ram_graphheader'] = '内存使用率'; -$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = '磁盘'; -$l['disk_diskinfo'] = '磁盘信息'; -$l['disk_totaldisk'] = '总可用 : '; -$l['disk_diskutilised'] = '已使用 : '; -$l['disk_percentdisk'] = '已使用 % : '; -$l['disk_graphheader'] = '磁盘 用量'; -$l['disk_inodesinfo'] ='Inodes 信息'; -$l['disk_inodestotal'] = '总可用 Inodes :'; -$l['disk_inodesutilised'] = '已使用 : '; -$l['disk_percent_inodes'] = '已使用 % :'; -$l['disk_inodesheader'] = 'Inodes 用量'; -$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Bandwidth'; -$l['band_bandwidthinfo'] = 'Bandwidth Information'; -$l['band_Total_Bandwidth'] = 'Total Bandwidth :'; -$l['band_bandwidth_utilized'] = '已使用 : '; -$l['band_percent_utilized'] = '% 已使用 : '; -$l['band_graphheader'] = 'Bandwidth Utilization'; -$l['band_unlimited'] = 'Unlimited'; -$l['band_network_speed'] = '网络速度 (MB/s)'; -$l['band_prev'] = '上个月'; -$l['band_next'] = '下个月'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = '状态日志'; -$l['sts_running'] = '在线'; -$l['sts_stopped'] = '离线'; -$l['sts_sts'] = '系统状态'; -$l['sts_time'] = '时间'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = '系统警告'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'The Username field was empty'; -$l['login_no_password'] = 'The Password field was empty'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; - -$l['login_sign_in'] = 'Sign in'; -$l['login_log_user'] = 'Email or Username'; -$l['login_log_pass'] = 'Password'; -$l['login'] = 'Login'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; - -$l['login_pass_nomatch'] = 'The username or password you entered is incorrect.'; -$l['login_forgotpass'] = 'Forgot Password'; -$l['login_emailuser'] = 'Email Address'; -$l['login_enteremail'] = 'Enter your email address'; -$l['login_sub_email'] = '提交'; -$l['login_no_email'] = 'You did not submit your email address'; -$l['login_invalidemail'] = 'The email address you submitted is invalid'; -$l['login_mail_sub'] = 'Reset Password'; -$l['login_mail_body'] = 'Hi, - -A request to reset your password has been made. -If you did not request the password reset, then please ignore this email. - -If you would like to reset your password, then please click the URL below : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Please Note : Above link is valid for 24 hours only. - -Regards, -'.$globals['sn']; -$l['login_mail_done'] = 'A mail has been sent with the details to reset your password'; -$l['login_back_to_login'] = 'Back to Login'; - -$l['login_resetpass'] = 'Reset Password'; -$l['login_log_new_pass'] = 'New password'; -$l['login_log_reppass'] = 'Confirm Password'; -$l['login_changepass'] = 'Change Password'; -$l['login_no_key'] = 'No Reset Key was submitted'; -$l['login_invalidkey'] = 'You specified an invalid key'; -$l['login_no_new'] = 'Please enter valid Password'; -$l['login_no_reppass'] = 'Please enter confirm password'; -$l['login_no_match'] = 'The passwords you gave do not match'; -$l['login_keyexpire'] = 'Key is no longer valid'; -$l['login_passchanged'] = 'Password Changed Successfully.'; -$l['login_forgot_pass'] = 'Forgot Password'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = '菜谱'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = '配料'; -$l['recipe'] = '菜谱'; -$l['conf_execute'] = '您确定在您的'.VM_SHORT.'上烹饪这个菜式?'; -$l['rec_short_desc'] = '盯~这些是为您准备好的 "Bash" 菜式'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language strings. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; -$l['write_bytes_sec'] = 'Write Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'You did not specify the new password.'; +$l['cpas_no_conf'] = 'The confirmation password is missing.'; +$l['cpas_no_match'] = 'The passwords you gave do not match'; +$l['cpas_err_changing'] = 'There were some errors while changing the password.'; +$l['cpas_submit_button'] = '更改密码'; +$l['cpas_new_pass'] = '新密码'; +$l['cpas_old_pass'] = '旧密码'; +$l['cpas_retype_pass'] = '确认新密码'; +$l['cpas_change_note'] = 'Change Root Password'; +$l['cpas_change_final'] = 'Your password has been changed successfully'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Changing the '.VM_SHORT.' root password...'; +$l['cpas_strength_indicator'] = '密码安全性'; +$l['cpas_bad'] = '密码不安全'; +$l['cpas_good'] = '很好'; +$l['cpas_strong'] = '非常好'; +$l['cpas_short'] = '太短'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = '限制'; +$l['cr_used'] = '已使用'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = '串行控制台'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = '请输入主机名.'; +$l['hn_new_host'] = '新的主机名'; +$l['hn_submit_button'] = '更改主机名'; +$l['hn_err_changing'] = 'There were some errors while changing the hostname.'; +$l['hn_host_final'] = '主机名已更改'; +$l['hn_invalid_hostname'] = '非法的主机名'; +$l['hn_change_onboot'] = '主机名将在'.VM_SHORT.'重启后生效'; +$l['hn_current_hostname'] = '当前主机名'; +$l['hn_change_notify'] = '正在更改主机名...'; +$l['hn_disable_change_hostname'] = '管理员已关闭修改主机名功能'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'No IPs selected'; +$l['ips_ip_not_exists'] = 'IPs do not exists'; +$l['ips_header'] = ' IP 列表'; +$l['ips_ipinfo'] = 'IP Information'; +$l['ips_reorderips'] = '设置成主IP'; +$l['ips_done'] = 'Your IP settings have been saved.'; +$l['ips_change_onboot'] = 'Your IP settings will be changed when the '.VM_SHORT.' is booted again'; +$l['ips_primary_ip'] = '设置主IP '; +$l['ips_ipv6_ips_list'] = 'IPV6 IPs'; +$l['ips_ipv6_empty'] = 'IPV6 Empty'; +$l['ips_change_notify'] = 'Changing the IP settings...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU 信息'; +$l['mon_totalcpu'] = '总 CPU 计算单位:'; +$l['mon_cpuutilised'] = '已使用计算单位 : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'CPU 用量'; +$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'You did not select the OS'; +$l['os_invalid_os'] = 'The OS submitted is invalid'; +$l['os_no_new'] = 'You did not specify the new password.'; +$l['os_no_conf'] = 'The confirmation password is missing.'; +$l['os_no_match'] = 'The passwords you gave do not match'; +$l['os_error_reins'] = '在安装操作系统的时候发生了错误'; +$l['os_err_changing'] = 'There were some errors while setting the password.'; +$l['os_err_log_osreinstall'] = '您已经达到了本月的安装次数 , 重装功能被禁用'; +$l['os_reins_os'] = '重新安装 OS'; +$l['os_os_reinstall'] = '重装'; +$l['os_new_pass'] = '新密码'; +$l['os_retype_pass'] = '再次输入新密码'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = '操作系统已成功安装'; +$l['os_reins_notify'] = '正在重新安装操作系统...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = '密码安全性'; +$l['os_bad'] = '差'; +$l['os_good'] = '很好'; +$l['os_strong'] = '非常好'; +$l['os_short'] = '太短'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = '密码不符合'; +$l['os_reinstall_wait'] = '重装系统中 , 请稍后...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'VNC Information'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC Port'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC will only work if java is installed and enabled in your browser'; +$l['vnc_not_enabled'] = 'VNC is not enabled'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'You did not specify the new password.'; +$l['vncpas_no_conf'] = 'The confirmation password is missing.'; +$l['vncpas_no_match'] = 'The passwords you gave do not match'; +$l['vncpas_err_changing'] = 'There were some errors while changing the password.'; +$l['vncpas_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed'; +$l['vncpas_submit_button'] = 'Change VNC Password'; +$l['vncpas_new_pass'] = 'New Password'; +$l['vncpas_old_pass'] = 'Old Password'; +$l['vncpas_retype_pass'] = '确认新密码'; +$l['vncpas_change_note'] = 'Change VNC Password'; +$l['vncpas_change_final'] = 'Your VNC Password has been changed successfully.'; +$l['vncpas_change_notify'] = 'Changing the VNC Password...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'You did not specify the new password'; +$l['up_no_conf'] = 'The confirmation password is missing'; +$l['up_no_match'] = 'The passwords you gave do not match'; +$l['up_err_changing'] = 'There were some errors while changing the password.'; +$l['up_new_pass'] = 'New Password'; +$l['up_old_pass'] = 'Old Password'; +$l['up_retype_pass'] = '确认新密码'; +$l['up_page_head'] = 'Change Password'; +$l['up_change_final'] = 'Your Password has been changed successfully'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'You did not enter the First Name'; +$l['pr_no_lname'] = 'You did not enter the Last Name'; +$l['pr_firstname'] = 'First Name'; +$l['pr_lastname'] = 'Last Name'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Your changes have been saved successfully'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = '服务'; +$l['ser_sstart'] = '开始'; +$l['ser_sstop'] = ' 停止'; +$l['ser_srestart'] = '重启'; +$l['ser_status'] = '状态'; +$l['ser_statrun'] = '运行中'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = '自动启动'; +$l['ser_select'] = 'Select'; +$l['ser_vps_is_off'] = 'The '.VM_SHORT.' is off !'; +$l['ser_no_feature'] = 'This feature is not available !'; +$l['ser_notice_start'] = 'The selected service(s) are being started..'; +$l['ser_notice_stop'] = 'The selected service(s) are being stopped..'; +$l['ser_notice_restart'] = 'The selected service(s) are being restarted..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = '进程列表'; +$l['proc_usr'] = 'User'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Command'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = '时间'; +$l['proc_select'] = 'select'; +$l['proc_pstart'] = 'start'; +$l['proc_pkill'] = 'Kill'; +$l['proc_prefresh'] = 'Autorefresh'; +$l['proc_vps_is_off'] = 'The '.VM_SHORT.' is off !'; +$l['proc_no_feature'] = 'This feature is not available !'; +$l['proc_notice_pkill'] = 'Stopping the selected process(es) :'; +$l['proc_with_selected'] = '选中项操作: :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = '日志'; +$l['log_date'] = '日期'; +$l['log_task'] = '任务'; +$l['log_status'] = '状态'; +$l['log_ip'] = 'IP'; +$l['log_success'] = '成功'; +$l['log_fail'] = '失败'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = '管理 IPv6 子网'; +$l['mng_done'] = 'IP 已保存'; +$l['mng_add_ipv6'] = '添加一个IPv6地址'; +$l['mng_add_ip_button'] = '添加 IP'; +$l['mng_back_button'] = '返回'; +$l['mng_save_button'] = '保存'; +$l['mng_delete_confirm'] = '您确定删除IPv6地址 ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 地址'; +$l['mng_ipv6_delete'] = '删除'; +$l['mng_ipv6_subnet'] = 'IPv6 子网'; +$l['mng_edit_subnet'] = '编辑'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Manage Zone'; +$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; +$l['mz_add_pdns'] = 'Add PDNS Server'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'The Zone has been added successfully'; +$l['mz_add_zone'] = 'Add Zone Record'; +$l['mz_zone_name'] = 'Zone Name'; +$l['mz_pdns_zones'] = 'View Zones'; +$l['mz_manage_zone'] = 'Manage'; +$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; +$l['mz_add_done'] = 'The record has been added successfully'; +$l['mz_edit_done'] = 'The record has been edited successfully'; +$l['mz_del_done'] = 'The record has been deleted successfully'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Server Name'; +$l['mz_submit_button'] = 'Add Record'; +$l['mz_edit_button'] = 'Edit Record'; +$l['mz_no_domains'] = 'There are no zones on record'; +$l['mz_err_addzone'] = 'There was an error adding the zone'; +$l['mz_inv_name'] = 'Invalid hostname specified'; +$l['mz_inv_ip'] = 'Invalid IP Address specified'; +$l['mz_inv_tld'] = 'Invalid top level domain specified'; +$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; +$l['mz_inv_int'] = 'Invalid integer specified'; +$l['mz_err_add'] = 'There was an error while adding the record'; +$l['mz_err_del'] = 'There was an error while deleting the record'; +$l['mz_err_edit'] = 'There was an error while editing the record'; +$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; +$l['mz_rec_exists'] = 'The record already exists'; +$l['mz_records_limit'] = 'The limit for adding records has been reached'; +$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; +$l['pdns_page_head'] = 'DNS Management'; +$l['pdns_add_done'] = 'The Zone has been added successfully'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Add Zone'; +$l['pdns_zone_name'] = 'Zone Name'; +$l['pdns_manage_zone'] = 'Manage'; +$l['pdns_no_domains'] = 'There are no zones on record'; +$l['pdns_no_name'] = 'The domain name was not specified'; +$l['pdns_err_addzone'] = 'There was an error adding the zone'; +$l['pdns_err_delete'] = 'There was an error deleting the zone'; +$l['pdns_inv_domain'] = 'The specified domain name is invalid'; +$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; +$l['pdns_domain_exists'] = 'This domain name already exists'; +$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; +$l['pdns_no_dns'] = 'DNS management not available'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = '提交'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'No language was selected'; +$l['us_wrong_lang'] = 'The language you selected does not exist'; +$l['us_no_timezone'] = 'You did not select the timezone'; +$l['us_timezone_invalid'] = 'The timezone you selected is invalid'; +$l['us_wrong_theme'] = 'The Theme you selected does not exist'; +$l['us_page_head'] = 'User Settings'; +$l['us_change_final'] = 'Your settings have been save successfully'; +$l['us_choose_lang'] = 'Choose Language'; +$l['us_exp_lang'] = 'Choose your preferred language'; +$l['us_timezone'] = 'Timezone'; +$l['us_default_timezone'] = 'Server Default'; +$l['us_edit_settings'] = 'Edit Settings'; +$l['us_done'] = '设置已保存'; +$l['us_choose_theme'] = 'Choose Theme'; +$l['us_exp_theme'] = 'Choose your preferred theme'; +$l['us_no_theme'] = 'No Theme was selected'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IP 列表'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 10'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = '网络速度'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = '网络速度'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_free'] = 'Free'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_submit'] = 'Create'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = '网络速度'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'The panel you selected is invalid'; +$l['cpan_err_installing'] = 'There was an error installing the Panel'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'The Panel installation has begun and will be completed soon'; +$l['cpan_change_onboot'] = 'The Panel will be installed when you shutdown and then start the '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = '控制面板'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'The ISO you selected is invalid'; +$l['hvm_err_editing'] = 'There were some errors while saving the settings'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = '提交'; +$l['hvm_done'] = '设置已保存'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Boot Order'; +$l['hvm_isos'] = 'Select ISO'; +$l['hvm_none'] = 'None'; +$l['hvm_tuntap_enable'] = '开启 Tun/Tap'; +$l['hvm_ppp_enable'] = '开启 PPP( 点对点协议)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU 信息'; +$l['cpu_totalcpu'] = '总共 CPU 计算单位 :'; +$l['cpu_cpuutilised'] = '已使用 CPU 计算单位 : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'CPU 用量'; +$l['cpu_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' 内存'; +$l['ram_raminfo'] = '内存信息'; +$l['ram_totalram'] = '内存 : '; +$l['ram_gaurateed'] = '最低可用内存 : '; +$l['ram_burstable'] = '可瞬时使用 :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = '内存已使用 :'; +$l['ram_percentram'] = '内存使用率 % :'; +$l['ram_graphheader'] = '内存使用率'; +$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = '磁盘'; +$l['disk_diskinfo'] = '磁盘信息'; +$l['disk_totaldisk'] = '总可用 : '; +$l['disk_diskutilised'] = '已使用 : '; +$l['disk_percentdisk'] = '已使用 % : '; +$l['disk_graphheader'] = '磁盘 用量'; +$l['disk_inodesinfo'] ='Inodes 信息'; +$l['disk_inodestotal'] = '总可用 Inodes :'; +$l['disk_inodesutilised'] = '已使用 : '; +$l['disk_percent_inodes'] = '已使用 % :'; +$l['disk_inodesheader'] = 'Inodes 用量'; +$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Bandwidth'; +$l['band_bandwidthinfo'] = 'Bandwidth Information'; +$l['band_Total_Bandwidth'] = 'Total Bandwidth :'; +$l['band_bandwidth_utilized'] = '已使用 : '; +$l['band_percent_utilized'] = '% 已使用 : '; +$l['band_graphheader'] = 'Bandwidth Utilization'; +$l['band_unlimited'] = 'Unlimited'; +$l['band_network_speed'] = '网络速度 (MB/s)'; +$l['band_prev'] = '上个月'; +$l['band_next'] = '下个月'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = '状态日志'; +$l['sts_running'] = '在线'; +$l['sts_stopped'] = '离线'; +$l['sts_sts'] = '系统状态'; +$l['sts_time'] = '时间'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = '系统警告'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'The Username field was empty'; +$l['login_no_password'] = 'The Password field was empty'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; + +$l['login_sign_in'] = 'Sign in'; +$l['login_log_user'] = 'Email or Username'; +$l['login_log_pass'] = 'Password'; +$l['login'] = 'Login'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; + +$l['login_pass_nomatch'] = 'The username or password you entered is incorrect.'; +$l['login_forgotpass'] = 'Forgot Password'; +$l['login_emailuser'] = 'Email Address'; +$l['login_enteremail'] = 'Enter your email address'; +$l['login_sub_email'] = '提交'; +$l['login_no_email'] = 'You did not submit your email address'; +$l['login_invalidemail'] = 'The email address you submitted is invalid'; +$l['login_mail_sub'] = 'Reset Password'; +$l['login_mail_body'] = 'Hi, + +A request to reset your password has been made. +If you did not request the password reset, then please ignore this email. + +If you would like to reset your password, then please click the URL below : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Please Note : Above link is valid for 24 hours only. + +Regards, +'.$globals['sn']; +$l['login_mail_done'] = 'A mail has been sent with the details to reset your password'; +$l['login_back_to_login'] = 'Back to Login'; + +$l['login_resetpass'] = 'Reset Password'; +$l['login_log_new_pass'] = 'New password'; +$l['login_log_reppass'] = 'Confirm Password'; +$l['login_changepass'] = 'Change Password'; +$l['login_no_key'] = 'No Reset Key was submitted'; +$l['login_invalidkey'] = 'You specified an invalid key'; +$l['login_no_new'] = 'Please enter valid Password'; +$l['login_no_reppass'] = 'Please enter confirm password'; +$l['login_no_match'] = 'The passwords you gave do not match'; +$l['login_keyexpire'] = 'Key is no longer valid'; +$l['login_passchanged'] = 'Password Changed Successfully.'; +$l['login_forgot_pass'] = 'Forgot Password'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = '菜谱'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = '配料'; +$l['recipe'] = '菜谱'; +$l['conf_execute'] = '您确定在您的'.VM_SHORT.'上烹饪这个菜式?'; +$l['rec_short_desc'] = '盯~这些是为您准备好的 "Bash" 菜式'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language strings. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; +$l['write_bytes_sec'] = 'Write Mega Bytes per sec'; diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/chinese/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/chinese/index_lang.php index 32d6308..93caa47 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/chinese/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/chinese/index_lang.php @@ -1,439 +1,439 @@ -Today at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Theme Error';//Title -$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Theme Function Error';//Title -$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; - -$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; - - -//Error Handle Function -$l['following_errors_occured'] = '发生了以下错误'; - -//Success Message Function -$l['following_message'] = '返回了以下信息'; - -//Major Error Function -$l['fatal_error'] = 'Fatal Error'; -$l['following_fatal_error'] = '发生了以下致命错误'; - -//Message Function -$l['soft_message'] = 'Message'; -$l['following_soft_message'] = 'The following message was returned'; - -$l['err_user_head'] = 'Error'; -$l['err_user'] = 'Could not determine the type of user'; - -//Update Softaculous -$l['getting_info'] = 'Requesting Information......'; -$l['error_getting_latest'] = 'Could not get information......Abandoning'; -$l['got_info'] = 'Got information'; -$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; -$l['no_updates'] = 'Current Version is Latest Version......Continuing'; -$l['fetch_upgrade'] = 'Fetching Upgrade......'; -$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; -$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; -$l['got_upgrade'] = 'Saved the Upgrade File'; -$l['unzip_upgrade'] = 'Unzipping the files......'; -$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; -$l['unzipped_upgrade'] = 'Unzipped Successfully'; -$l['running_upgrade'] = 'Running Upgrade......'; -$l['succ_upgrade'] = 'Completed'; -$l['error_upgrade'] = 'The following errors occured while upgrading :'; - -//MySQL Errors -$l['err_selectmy'] = 'The MySQL Database could not be selected.'; -$l['err_myconn'] = 'The MySQL Connection could not be established.'; -$l['err_makequery'] = 'Could not make the query numbered'; -$l['err_mynum'] = 'MySQL Error No'; -$l['err_myerr'] = 'MySQL Error'; - -//hf_theme.php -$l['welcome'] = 'Welcome'; -$l['logout'] = 'Logout'; -$l['page_time'] = 'Page Created In'; -$l['times_are'] = '显示时间均为 GMT 格式'; -$l['time_is'] = '现在时间是'; -$l['load_start'] = 'Starting'; -$l['load_stop'] = 'Stopping'; -$l['load_restart'] = 'Restarting'; -$l['load_poweroff'] = 'Powering Off'; - -//The Category Language Variables -$l['dock_restart'] = 'Restart Container'; -$l['dock_stop'] = 'Stop Container'; -$l['dock_start'] = 'Start Container'; -$l['dock_poweroff'] = 'Poweroff Container'; -$l['dock_home'] = 'Home'; -$l['dock_settings'] = 'Edit Settings'; -$l['dock_help'] = 'Help and Support'; -$l['dock_sync'] = 'Synchronize with other Auto Installers'; -$l['go_home'] = 'Home'; -$l['dock_user'] = 'User Profile'; -$l['dock_password'] = 'Change Password'; -$l['dock_vps'] = 'List '.VM_LONG; - -// Left Menu -$l['lm_file_mgr'] = 'File Manager'; -$l['lm_res'] = 'Resources'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = '进程'; -$l['lm_service'] = '服务'; -$l['lm_firewall'] = '防火墙'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Password'; -$l['lm_statusc'] = '状态日志'; -$l['lm_res_a'] = '系统警告'; -$l['lm_logs'] = '操作日志'; -$l['lm_bandwidth'] = 'Bandwidth'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Account Password'; -$l['lm_controlpanel'] = 'Control Panel'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = '磁盘'; -$l['lm_ostemp'] ='OS Re-install'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = '内存'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = '日志'; -$l['lm_ips'] = 'IP地址'; -$l['lm_hvmsettings'] = VM_SHORT.' 配置'; -$l['lm_apikey'] = 'API Credentials'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - - -// Users left menu -$l['lm_vs'] = 'List '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Settings'; -$l['lm_profile'] = 'My Profile'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Type the page to jump to'; -$l['page_page'] = 'Page'; -$l['page_of'] = 'of'; -$l['page_go'] = 'Go'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'The OS Template was not found'; -$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; -$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; -$l['correct_kernel'] = 'Please reboot into the correct kernel.'; -$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; -$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['temp_exists'] = 'The Template file already exists'; -$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; -$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; -$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'There was an error during the disk copy operation'; -$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; -$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['xen_err_untar'] = 'There was an error while extracting the OS template'; -$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'There was an error during the disk copy operation'; -$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; -$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; -$l['kvm_err_tar'] = 'There was an error while compressing the archive'; -$l['xen_err_tar'] = 'There was an error while compressing the archive'; -$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'There was an error with the backup tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; -$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; -$l['openvz_err_space'] = 'There was an error setting the disk space'; -$l['openvz_err_inodes'] = 'There was an error setting the disk space'; -$l['openvz_err_hostname'] = 'There was an error setting the hostname'; -$l['openvz_err_ip'] = 'There was an error setting the IP Address'; -$l['openvz_err_dns'] = 'There was an error setting the DNS'; -$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; -$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; -$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; -$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; -$l['openvz_err_create'] = 'There was an error creating the container'; -$l['vswap_error'] = 'There was an error while setting the VSwap settings'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = '被暂停'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; - -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; - -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; - -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Today at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Theme Error';//Title +$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Theme Function Error';//Title +$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; + +$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; + + +//Error Handle Function +$l['following_errors_occured'] = '发生了以下错误'; + +//Success Message Function +$l['following_message'] = '返回了以下信息'; + +//Major Error Function +$l['fatal_error'] = 'Fatal Error'; +$l['following_fatal_error'] = '发生了以下致命错误'; + +//Message Function +$l['soft_message'] = 'Message'; +$l['following_soft_message'] = 'The following message was returned'; + +$l['err_user_head'] = 'Error'; +$l['err_user'] = 'Could not determine the type of user'; + +//Update Softaculous +$l['getting_info'] = 'Requesting Information......'; +$l['error_getting_latest'] = 'Could not get information......Abandoning'; +$l['got_info'] = 'Got information'; +$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; +$l['no_updates'] = 'Current Version is Latest Version......Continuing'; +$l['fetch_upgrade'] = 'Fetching Upgrade......'; +$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; +$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; +$l['got_upgrade'] = 'Saved the Upgrade File'; +$l['unzip_upgrade'] = 'Unzipping the files......'; +$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; +$l['unzipped_upgrade'] = 'Unzipped Successfully'; +$l['running_upgrade'] = 'Running Upgrade......'; +$l['succ_upgrade'] = 'Completed'; +$l['error_upgrade'] = 'The following errors occured while upgrading :'; + +//MySQL Errors +$l['err_selectmy'] = 'The MySQL Database could not be selected.'; +$l['err_myconn'] = 'The MySQL Connection could not be established.'; +$l['err_makequery'] = 'Could not make the query numbered'; +$l['err_mynum'] = 'MySQL Error No'; +$l['err_myerr'] = 'MySQL Error'; + +//hf_theme.php +$l['welcome'] = 'Welcome'; +$l['logout'] = 'Logout'; +$l['page_time'] = 'Page Created In'; +$l['times_are'] = '显示时间均为 GMT 格式'; +$l['time_is'] = '现在时间是'; +$l['load_start'] = 'Starting'; +$l['load_stop'] = 'Stopping'; +$l['load_restart'] = 'Restarting'; +$l['load_poweroff'] = 'Powering Off'; + +//The Category Language Variables +$l['dock_restart'] = 'Restart Container'; +$l['dock_stop'] = 'Stop Container'; +$l['dock_start'] = 'Start Container'; +$l['dock_poweroff'] = 'Poweroff Container'; +$l['dock_home'] = 'Home'; +$l['dock_settings'] = 'Edit Settings'; +$l['dock_help'] = 'Help and Support'; +$l['dock_sync'] = 'Synchronize with other Auto Installers'; +$l['go_home'] = 'Home'; +$l['dock_user'] = 'User Profile'; +$l['dock_password'] = 'Change Password'; +$l['dock_vps'] = 'List '.VM_LONG; + +// Left Menu +$l['lm_file_mgr'] = 'File Manager'; +$l['lm_res'] = 'Resources'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = '进程'; +$l['lm_service'] = '服务'; +$l['lm_firewall'] = '防火墙'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Password'; +$l['lm_statusc'] = '状态日志'; +$l['lm_res_a'] = '系统警告'; +$l['lm_logs'] = '操作日志'; +$l['lm_bandwidth'] = 'Bandwidth'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Account Password'; +$l['lm_controlpanel'] = 'Control Panel'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = '磁盘'; +$l['lm_ostemp'] ='OS Re-install'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = '内存'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = '日志'; +$l['lm_ips'] = 'IP地址'; +$l['lm_hvmsettings'] = VM_SHORT.' 配置'; +$l['lm_apikey'] = 'API Credentials'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + + +// Users left menu +$l['lm_vs'] = 'List '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Settings'; +$l['lm_profile'] = 'My Profile'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Type the page to jump to'; +$l['page_page'] = 'Page'; +$l['page_of'] = 'of'; +$l['page_go'] = 'Go'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'The OS Template was not found'; +$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; +$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; +$l['correct_kernel'] = 'Please reboot into the correct kernel.'; +$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; +$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['temp_exists'] = 'The Template file already exists'; +$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; +$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; +$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'There was an error during the disk copy operation'; +$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; +$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['xen_err_untar'] = 'There was an error while extracting the OS template'; +$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'There was an error during the disk copy operation'; +$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; +$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; +$l['kvm_err_tar'] = 'There was an error while compressing the archive'; +$l['xen_err_tar'] = 'There was an error while compressing the archive'; +$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'There was an error with the backup tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; +$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; +$l['openvz_err_space'] = 'There was an error setting the disk space'; +$l['openvz_err_inodes'] = 'There was an error setting the disk space'; +$l['openvz_err_hostname'] = 'There was an error setting the hostname'; +$l['openvz_err_ip'] = 'There was an error setting the IP Address'; +$l['openvz_err_dns'] = 'There was an error setting the DNS'; +$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; +$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; +$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; +$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; +$l['openvz_err_create'] = 'There was an error creating the container'; +$l['vswap_error'] = 'There was an error while setting the VSwap settings'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = '被暂停'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; + +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; + +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; + +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/dutch/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/dutch/enduser_lang.php index 167a1ad..7a7fb49 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/dutch/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/dutch/enduser_lang.php @@ -1,2068 +1,2068 @@ - Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; -$l['twofactauth_secret_key'] = 'Secret Key : '; -$l['twofactauth_code_input'] = 'Confirmation code'; -$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; -$l['twofactauth_submit'] = 'Submit'; -$l['twofactauth_select_pref'] = 'Select Preference : '; -$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; -$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; -$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; -$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; -$l['twofactauth_email_passcode'] = 'Email Code'; -$l['twofactauth_none'] = 'None (Not Recommended !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; -$l['twofactauth_no_passcode'] = 'Please specify the OTP'; -$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Reset Key'; -$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; -$l['twofactauth_otp_mail_body'] = 'Hi, - -A login request was submitted for your account at : -{{site_domain}} - -Please use the following One Time password (OTP) to login : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; -$l['twofactauth_passcode_mail_body'] = 'Hi, - -The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; -$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; -$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; -$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'You did not enter the Email ID'; -$l['adu_no_user_password'] = 'You did not enter the Password'; -$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Add User'; -$l['adu_done'] = 'User has been added'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Password'; -$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'U hebt het nieuwe wachtwoord niet ingegeven.'; -$l['cpas_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven.'; -$l['cpas_no_match'] = 'De wachtwoorden die u ingaf komen niet overeen.'; -$l['cpas_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; -$l['cpas_submit_button'] = 'Verander Wachtwoord'; -$l['cpas_new_pass'] = 'Nieuw Wachtwoord'; -$l['cpas_old_pass'] = 'Oud Wachtwoord'; -$l['cpas_retype_pass'] = 'Herschrijf Nieuw Wachtwoord'; -$l['cpas_change_note'] = 'Verander Root Wachtwoord'; -$l['cpas_change_final'] = 'Uw wachtwoord is succesvol veranderd'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Veranderen van de '.VM_SHORT.' Root Wachtwoord...'; -$l['cpas_strength_indicator'] = 'Strength Indicator'; -$l['cpas_bad'] = 'Bad'; -$l['cpas_good'] = 'Good'; -$l['cpas_strong'] = 'Strong'; -$l['cpas_short'] = 'Short'; -$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['cpas_pass_match'] = 'Passwords do not match'; -$l['cpas_disabled'] = 'Change Password is disabled by Admin'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Resources'; -$l['cr_resource_type'] = 'Resource Type'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Used'; -$l['cr_left'] = 'Available'; -$l['cr_unlimited'] = 'Unlimited'; -$l['cr_num_vs'] = 'Number of VMs'; -$l['cr_num_users'] = 'Number of Users'; -$l['cr_num_space'] = 'Disk Space'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Bandwidth'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Information'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Selecteer een hostnaam om te veranderen.'; -$l['hn_new_host'] = 'Nieuwe Hostnaam'; -$l['hn_submit_button'] = 'Verander Hostnaam'; -$l['hn_err_changing'] = 'Er waren een aantal fouten tijdens het wijzigen van de hostnaam.'; -$l['hn_host_final'] = 'Uw hostnaam is succesvol gewijzigd'; -$l['hn_invalid_hostname'] = 'De ingegeven hostnaam is ongeldig'; -$l['hn_change_onboot'] = 'Uw hostnaam zal worden veranderd zodra de '.VM_SHORT.' is herstart'; -$l['hn_current_hostname'] = 'Mementele Hostnaam'; -$l['hn_change_notify'] = 'Veranderen van de Hostnaam...'; -$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Geen IPs geselecteerd'; -$l['ips_ip_not_exists'] = 'De opgegeven IPs bestaan niet'; -$l['ips_header'] = ' IPs'; -$l['ips_ipinfo'] = 'IP Informatie'; -$l['ips_reorderips'] = 'Zet Primair IP'; -$l['ips_done'] = 'Uw IP-instellingen zijn opgeslagen.'; -$l['ips_change_onboot'] = 'Uw IP-instellingen worden gewijzigd wanneer de '.VM_SHORT.' wordt heropstart'; -$l['ips_primary_ip'] = 'Zet Primair IP'; -$l['ips_ipv6_ips_list'] = 'IPV6 IPs'; -$l['ips_ipv6_empty'] = 'IPV6 Leeg'; -$l['ips_change_notify'] = 'Wijzigen van de IP-Instellingen...'; -// Monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU Information'; -$l['mon_totalcpu'] = 'Total CPU :'; -$l['mon_cpuutilised'] = 'Utilised : '; -$l['mon_poweredby'] = 'Powered by : '; -$l['mon_graphheader'] = 'CPU Utilization'; -$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; -$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Network'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Network Info'; -$l['mon_ntw_down_spd'] = 'Average Download Speed'; -$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; -$l['mon_cpu_usage'] = 'CPU Usage'; -$l['mon_inode_usage'] = 'Inode Usage'; -$l['mon_ram_usage'] = 'RAM Usage'; -$l['mon_disk_usage'] = 'Disk Usage'; -$l['mon_down_speed'] = 'Download Speed'; -$l['mon_up_speed'] = 'Upload Speed'; -$l['mon_total_speed'] = 'Total Speed'; -$l['mon_cpu_hist'] = 'CPU Usage History'; -$l['mon_mem_hist'] = 'Memory Usage History'; -$l['mon_storage'] = 'Storage Used'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Inodes Used'; -$l['mon_net_speed'] = 'Network Speed'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'U hebt het besturingssysteem niet geselecteerd'; -$l['os_invalid_os'] = 'Het opgegeven besturingssysteem is niet geldig'; -$l['os_no_new'] = 'U hebt het nieuwe wachtwoord niet ingegeven.'; -$l['os_no_conf'] = 'De bevestigings wachtwoord ontbreekt.'; -$l['os_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; -$l['os_error_reins'] = 'Er is een fout opgetreden bij het herinstalleren van het besturingssysteem'; -$l['os_err_changing'] = 'Er waren enkele fouten bij het instellen van het wachtwoord.'; -$l['os_err_log_osreinstall'] = 'U hebt het Besturingssysteem Herinstalleer Limiet overschreden. -Neem contact op met uw administrator'; -$l['os_reins_os'] = 'Herinstalleer besturingssysteem'; -$l['os_os_reinstall'] = 'Reinstall'; -$l['os_new_pass'] = 'Nieuw Wachtwoord'; -$l['os_retype_pass'] = 'Wachtwoord nogmaals invoeren'; -$l['os_genram_psswd'] = 'Make another random password'; -$l['os_done'] = 'The OS reinstall process has been started in the background'; -$l['os_reins_notify'] = 'Herinstalleren van het besturingssysteem...'; -$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'Bad'; -$l['os_good'] = 'Good'; -$l['os_strong'] = 'Strong'; -$l['os_short'] = 'Short'; -$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['os_pass_match'] = 'Passwords do not match'; -$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; -$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; -$l['os_no_os'] = 'No OS(s) available for reinstall'; -$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'VNC Informatie'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC Poort'; -$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; -$l['vnc_notice'] = 'VNC werkt alleen als Java is geïnstalleerd en ingeschakeld in uw browser'; -$l['vnc_not_enabled'] = 'VNC is niet ingeschakeld'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'U heeft het nieuwe wachtwoord niet ingegeven.'; -$l['vncpas_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven.'; -$l['vncpas_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; -$l['vncpas_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; -$l['vncpas_no_nonalphanumeric'] = 'Niet-alfanumerieke tekens zijn niet toegestaan'; -$l['vncpas_submit_button'] = 'VNC Wachtwoord Veranderen'; -$l['vncpas_new_pass'] = 'Nieuw Wachtwoord'; -$l['vncpas_old_pass'] = 'Oud Wachtwoord'; -$l['vncpas_retype_pass'] = 'Nieuw Wachtwoord Heringeven'; -$l['vncpas_change_note'] = 'VNC Wachtwoord Veranderen'; -$l['vncpas_change_final'] = 'Uw VNC wachtwoord werd succesvol verandert'; -$l['vncpas_change_notify'] = 'VNC Wachtwoord aan het veranderen...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'U heeft het nieuwe wachtwoord niet ingegeven'; -$l['up_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven'; -$l['up_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; -$l['up_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; -$l['up_new_pass'] = 'Nieuw Wachtwoord'; -$l['up_old_pass'] = 'Oud Wachtwoord'; -$l['up_retype_pass'] = 'Nieuw Wachtwoord Heringeven'; -$l['up_page_head'] = 'Wachtwoord Veranderen'; -$l['up_change_final'] = 'Uw wachtwoord werd succesvol verandert'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Change Profile'; -$l['pr_no_fname'] = 'U hebt de Voornaam niet ingegeven'; -$l['pr_no_lname'] = 'U hebt de Naam niet ingegeven'; -$l['pr_firstname'] = 'Voornaam'; -$l['pr_lastname'] = 'Naam'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '; -$l['pr_done'] = 'Uw wijzigingen zijn succesvol opgeslagen'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Start'; -$l['ser_sstop'] = ' Stop'; -$l['ser_srestart'] = 'Herstart'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'Lopend'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autostart'; -$l['ser_select'] = 'Selecteer'; -$l['ser_vps_is_off'] = 'De '.VM_SHORT.' staat uit !'; -$l['ser_no_feature'] = 'Deze functie is niet beschikbaar !'; -$l['ser_notice_start'] = 'De geselecteerde diensten worden gestart..'; -$l['ser_notice_stop'] = 'De geselecteerde diensten worden gestopt..'; -$l['ser_notice_restart'] = 'De geselecteerde diensten worden herstart..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'List of Processes'; -$l['proc_usr'] = 'Februiker'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%RAM'; -$l['proc_command'] = 'Opdracht'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'tijd'; -$l['proc_select'] = 'selecteer'; -$l['proc_pstart'] = 'start'; -$l['proc_pkill'] = 'Dood'; -$l['proc_prefresh'] = 'Autorefresh'; -$l['proc_vps_is_off'] = 'De '.VM_SHORT.' staat af !'; -$l['proc_no_feature'] = 'Deze functie is niet beschikbaar !'; -$l['proc_notice_pkill'] = 'Stoppen van de geselecteerde proces (sen)..... :'; -$l['proc_with_selected'] = 'With Selected :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Datum'; -$l['log_task'] = 'Taak'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Successful'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Manage IPv6 Subnets'; -$l['mng_done'] = 'IPs were saved successfully'; -$l['mng_add_ipv6'] = 'Add an Ipv6 address'; -$l['mng_add_ip_button'] = 'Add IP'; -$l['mng_back_button'] = 'Back'; -$l['mng_save_button'] = 'Save'; -$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; -$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; -$l['mng_ipv6_address'] = 'IPv6 Address'; -$l['mng_ipv6_delete'] = 'Delete'; -$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; -$l['mng_edit_subnet'] = 'Edit'; -$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Beheer Zone'; -$l['mz_zone_conf_del'] = 'Weet u zeker dat u de PDNS server wilt verwijderen ?'; -$l['mz_add_pdns'] = 'PDNS Server Toevoegen'; -$l['mz_dns_mgmt'] = 'DNS Beheer'; -$l['mz_zone_add_done'] = 'De Zone is succesvol toegevoegd'; -$l['mz_add_zone'] = 'Zone Toevoegen'; -$l['mz_zone_name'] = 'Zone Naam'; -$l['mz_pdns_zones'] = 'Zones Weergeven'; -$l['mz_manage_zone'] = 'Beheer'; -$l['mz_conf_del'] = 'Bent u zeker dat u dit wilt verwijderen ?'; -$l['mz_add_done'] = 'Succesvol Toegevoegd'; -$l['mz_edit_done'] = 'Succesvol Aangepast'; -$l['mz_del_done'] = 'Succesvol Verwijderd'; -$l['mz_priority'] = 'Priority'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Points to'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Server Naam'; -$l['mz_submit_button'] = 'Toevoegen'; -$l['mz_edit_button'] = 'Wijzigen'; -$l['mz_no_domains'] = 'Er zijn geen zones'; -$l['mz_err_addzone'] = 'Er is een fout opgetreden bij het toevoegen van de Zone'; -$l['mz_inv_name'] = 'Ongeldige Hostnaam Ingegeven'; -$l['mz_inv_ip'] = 'Ongeldig IP Adres Ingegeven'; -$l['mz_inv_tld'] = 'Ongeldig Domein Extensie Ingegeven'; -$l['mz_inv_ipv6'] = 'Ongeldig IPv6 Adres Ingegeven'; -$l['mz_inv_int'] = 'Ongeldig Getal Ingegeven'; -$l['mz_err_add'] = 'Er is een fout opgetreden bij het toevoegen'; -$l['mz_err_del'] = 'Er is een fout opgetreden bij het verwijderen'; -$l['mz_err_edit'] = 'Er is een fout opgetreden bij het wijzigen'; -$l['mz_err_soa'] = 'Er is een fout opgetreden bij het updaten van de SOA Serial'; -$l['mz_rec_exists'] = 'Ingegeven Waarde Bestaat Al!'; -$l['mz_records_limit'] = 'Het toevoeg limiet is bereikt, u kunt geen waardes meer toevoegen'; -$l['mz_err_connect'] = 'Er is en fout opgetrede bij het in vebinding stellen van de nameserver'; -$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Weet u zeker dat u dit domein wil verwijderen ?'; -$l['pdns_page_head'] = 'DNS Beheer'; -$l['pdns_add_done'] = 'De zone is Succesvol toegevoegd.'; -$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; -$l['pdns_add_zone'] = 'Zone Toevoegen'; -$l['pdns_zone_name'] = 'Zone Naam'; -$l['pdns_manage_zone'] = 'Beheer'; -$l['pdns_no_domains'] = 'Er werden geen zones gevonden'; -$l['pdns_no_name'] = 'De domeinnaam is niet opgegeven'; -$l['pdns_err_addzone'] = 'Er is een fout opgetreden bij het toevoegen van de zone'; -$l['pdns_err_delete'] = 'Er is een fout opgetreden bij het verwijderen van de zone'; -$l['pdns_inv_domain'] = 'Het opgegeven domeinnaam is ongeldig'; -$l['pdns_limit_domains'] = 'Het maximum aantal domeinen die kunnen worden toegevoegd is bereikt'; -$l['pdns_domain_exists'] = 'Deze domeinnaam bestaat al'; -$l['pdns_err_connect'] = 'Er is een fout opgetreden bij het aansluiten van de nameserver'; -$l['pdns_no_dns'] = 'DNS beheer niet beschikbaar'; -$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; -$l['pdns_primary_nameserver'] = 'Primary Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; -$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Add Reverse DNS'; -$l['rdns_zone_name'] = 'Zone Name'; -$l['rdns_exp_zone_name'] = 'The Zone Name'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Select server'; -$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; -$l['rdns_sub_but'] = 'Submit'; -$l['rdns_rdns_ip'] = 'IP Address'; -$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; -$l['rdns_rdns_domain'] = 'Domain name'; -$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; -$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; -$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; -$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; -$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; -$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; -$l['rdns_no_zone_name'] = 'The zone name was not specified'; -$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; -$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; -$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; -$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; -$l['rdns_err_save'] = 'There was an error in saving the data'; -$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; -$l['rdns_zone_exists'] = 'This zone already exists'; -$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; -$l['rdns_rdns_existing'] = 'rDNS Records'; -$l['rdns_deleted'] = 'The rDNS record has been deleted'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'You did not enter the Email ID'; -$l['edu_no_user_password'] = 'You did not enter the Password'; -$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['edu_uid_not_found'] = 'User ID not found'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Edit User'; -$l['edu_done'] = 'User has been edited'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Password'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; -$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; -$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; -$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; -$l['resc_enable_rescue'] = 'Enable Rescue Mode'; -$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; -$l['resc_disable_rescue'] = 'Disable Rescue Mode'; -$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; -$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; -$l['resc_root_pass'] = 'Root Password'; -$l['resc_root_pass_conf'] = 'Confirm Password'; -$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; -$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Geen taal is geselecteerd'; -$l['us_wrong_lang'] = 'De taal die u heeft geselecteerd bestaat niet'; -$l['us_no_timezone'] = 'U hebt geen tijdzone geselecteerd'; -$l['us_timezone_invalid'] = 'De tijdzone die u hebt geselecteerd is ongeldig'; -$l['us_wrong_theme'] = 'Het thema dat u gekozen hebt bestaat niet'; -$l['us_page_head'] = 'Gebruikers Instellingen'; -$l['us_change_final'] = 'Uw instellingen zijn succesvol opgeslagen'; -$l['us_choose_lang'] = 'Kies een Taal'; -$l['us_exp_lang'] = 'Kies uw gewenste taal'; -$l['us_timezone'] = 'Tijdzone'; -$l['us_default_timezone'] = 'Server Basistijdzone'; -$l['us_edit_settings'] = 'Wijzig Instellingen'; -$l['us_done'] = 'Uw instellingen zijn succesvol opgeslagen'; -$l['us_choose_theme'] = 'Kies een Thema'; -$l['us_exp_theme'] = 'Kies je geprefereerde thema'; -$l['us_no_theme'] = 'Geen Theme geselecteerd'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'If empty default Logo will be displayed'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs: -{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Please specify the type of Virtualization'; -$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; -$l['li_no_hname'] = 'Please specify the Hostname'; -$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; -$l['li_no_rootpass'] = 'Please specify a Root Password'; -$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; -$l['li_no_ram'] = 'Please specify the RAM memory'; -$l['li_no_vncpass'] = 'Please specify a VNC Password'; -$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; -$l['li_no_cpu_units'] = 'Please specify the CPU Units'; -$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'The Region you selected is invalid'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; -$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; -$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; -$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; -$l['li_invalid_os'] = 'The OS you submitted is invalid'; -$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['li_invalid_uid'] = 'The User you submitted does not exist'; -$l['li_no_user'] = 'You did not specify the user email'; -$l['li_no_user_pass'] = 'You did not specify the user password'; -$l['li_invalid_email'] = 'The user email address is invalid'; -$l['li_emailexist'] = 'The new user email you specified already exists'; -$l['li_err_user'] = 'There was an error while adding the user'; -$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['li_less_inodes'] = 'The inodes should not be less than 50000'; -$l['li_less_vs'] = 'You are not allowed to create more VMs'; -$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; -$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; -$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; -$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; -$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; -$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; -$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; -$l['li_page_head'] = 'Launch '.VM_SHORT; -$l['li_vstype'] = 'Type'; -$l['li_done'] = 'The '.VM_LONG.'. has been created.'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Password'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Password'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'Change the current server to change the server'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'User'; -$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['li_user_email'] = 'User Email'; -$l['li_user_pass'] = 'Password'; -$l['li_add_user'] = 'Add User'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualization'; -$l['li_os'] = 'Operating System'; -$l['li_select'] = 'Select'; -$l['li_vs_plan'] = 'Select Plan'; -$l['li_plan_exp'] = 'Select a pre-defined plan'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; -$l['li_vsos'] = 'Operating System'; -$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; -$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; -$l['li_none'] = 'None'; -$l['li_rootpass'] = VM_SHORT.' Root Password'; -$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; -$l['li_randpass'] = 'Make another Random Password'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['li_ip'] = 'IP Address'; -$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; -$l['li_ips'] = 'IP Address'; -$l['li_ips6_subnet'] = 'IPv6 Subnets'; -$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; -$l['li_ips6'] = 'IPv6 Addresses'; -$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Remove this IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Space'; -$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_mac'] = 'MAC Address'; -$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; -$l['li_gram'] = 'Guaranteed RAM'; -$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_band'] = 'Bandwidth'; -$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Units'; -$l['li_cpalloc'] = 'CPU units to be allocated'; -$l['li_cpalloc_xen'] = 'Recommended Value : 256'; -$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; -$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; -$l['li_units'] = 'units'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Recommended Value :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = 'Network Speed'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = 'Network Speed'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = 'Network Speed'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Het paneel dat u selecteerde is ongeldig'; -$l['cpan_err_installing'] = 'Er is een fout opgetreden bij het installeren van het paneel'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'De installatie van het Controle Paneel is begonnen en zal binnenkort klaar zijn.'; -$l['cpan_change_onboot'] = 'Het paneel zal worden geïnstalleerd wanneer u uw '.VM_SHORT.' heropstart'; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Control panels'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'De ISO die u hebt geselecteerd is ongeldig'; -$l['hvm_err_editing'] = 'Er zijn een paar fouten opgetreden tijdens het opslaan van de instellingen'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = 'Opslaan'; -$l['hvm_done'] = 'De instellingen zijn succesvol opgeslagen'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Boot Order'; -$l['hvm_isos'] = 'Selecteer ISO'; -$l['hvm_none'] = 'Geen'; -$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; -$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU Informatie'; -$l['cpu_totalcpu'] = 'Totale CPU :'; -$l['cpu_cpuutilised'] = 'Gebruikt : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'CPU Verbruik'; -$l['cpu_trademarks'] = 'Alle gebruikte logos zijn handelsmerken of intellecuele eigendom van de makers.'; -$l['cpu_not_supported'] = 'Er kan momenteel geen informatie worden weergegeven, omdat het nog niet is ondersteunt.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM Informatie'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Gegarandeerd RAM : '; -$l['ram_burstable'] = 'Maximaal :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Gebruikt :'; -$l['ram_percentram'] = 'Gebruikt % :'; -$l['ram_graphheader'] = 'RAM Verbruik'; -$l['ram_not_supported'] = 'Huidige gebruik controle van deze bron wordt niet ondersteund.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Schijf'; -$l['disk_diskinfo'] = 'Schijf Informatie'; -$l['disk_totaldisk'] = 'Totale Schijfruimte : '; -$l['disk_diskutilised'] = 'Gebruikt : '; -$l['disk_percentdisk'] = 'Gebruikt % : '; -$l['disk_graphheader'] = 'Schijf Verbruik'; -$l['disk_inodesinfo'] = 'Inodes Informatie'; -$l['disk_inodestotal'] = 'Totale Inodes :'; -$l['disk_inodesutilised'] = 'Gebruikt : '; -$l['disk_percent_inodes'] = 'Gebruikt % :'; -$l['disk_inodesheader'] = 'Inodes Verbruik'; -$l['disk_not_supported'] = 'Momenteel is het niet mogenlijk om de schijf informatie weertegeven, wegens niet ondersteunde schijf.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Dataverkeer'; -$l['band_bandwidthinfo'] = 'Dataverkeer Informatie'; -$l['band_Total_Bandwidth'] = 'Totaal Dataverkeer :'; -$l['band_bandwidth_utilized'] = 'Verbruikt : '; -$l['band_percent_utilized'] = '% verbruikt : '; -$l['band_graphheader'] = 'Dataverkeer Gebruik'; -$l['band_unlimited'] = 'Ongelimiteerd'; -$l['band_network_speed'] = 'Network Speed (MB/s)'; -$l['band_prev'] = 'Prev Month'; -$l['band_next'] = 'Next Month'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status logs'; -$l['sts_running'] = 'Lopend'; -$l['sts_stopped'] = 'Gestopt'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Time'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System Alerts'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email'] = 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email'] = 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at - -Thank you! - -The {{sn}} Team - - -Activation code: {{activation_code}} -User ID: {{uid}} -/?#act=register&sa=validate'; -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new account, {{email}}. - -You may now login to your account at : -/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The Team - - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-/?#act=login

- -Enjoy!

- -The Team
-'; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at . - -Before you can use your account you must activate it. -Click on the link below to activate your account: -/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at - -Thank you! - -The {{sn}} Team - - -Activation code: {{activation_code}} -User ID: {{uid}} -/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Het gebruikersnaam veld is leeg'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_no_password'] = 'Het wachtwoord vels is leeg'; -$l['login_too_many_attempts'] = 'U hebt uw mislukte login quotum van mislukte pogingen! Wacht minuten voordat u het opnieuw probeert. Vergeet niet dat het wachtwoord hoofdlettergevoelig is. Bent u uw wachtwoord vergeten gebruik dan onze Wachtwoord Vergeten pagina.'; -$l['login_sign_in'] = 'Aanmelden'; -$l['login_log_user'] = 'E-Mail of Gebruikersnaam'; -$l['login_log_pass'] = 'Wachtwoord'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; -$l['login'] = 'Login'; -$l['login_pass_nomatch'] = 'Het opgegeven wachtwoord of gebruikersnaam is incorrect.'; -$l['login_forgotpass'] = 'Wachtwoord Vergeten'; -$l['login_emailuser'] = 'E-Mail Adres'; -$l['login_enteremail'] = 'Geef uw E-Mail adres in'; -$l['login_sub_email'] = 'Toevoegen'; -$l['login_no_email'] = 'U hebt uw E-Mail adres niet toegevoegd'; -$l['login_invalidemail'] = 'Het ingegeven E-Mail adres is ongeldig'; -$l['login_mail_sub'] = 'Wachtwoord opnieuw instellen'; -$l['login_mail_body'] = 'Hallo, - -Een verzoek om uw wachtwoord opnieuw in te stellen is gemaakt. -Als u dit niet heeft aangevraagd, dan kunt u deze e-mail negeren. - -Indien u uw wachtwoord opnieuw wilt instellen, klikt u op de onderstaande Link : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Let op: bovenstaande link is enkel geldig voor maar 24 uur. - -Groet, -'; -$l['login_mail_done'] = 'Een mail is verzonden met de details om uw wachtwoord opnieuw in te stellen'; -$l['login_back_to_login'] = 'Terug naar de inlogpagina'; -$l['login_resetpass'] = 'Wachtwoord opnieuw instellen'; -$l['login_log_new_pass'] = 'Nieuw Wachtwoord'; -$l['login_log_reppass'] = 'Wachtwoord bevestigen'; -$l['login_changepass'] = 'Wachtwoord wijzigen'; -$l['login_no_key'] = 'Er is geen Reset Code ingegeven'; -$l['login_invalidkey'] = 'U hebt een foutieve Reset Code ingegeven'; -$l['login_no_new'] = 'Gelieve een geldig wachtwoord in te voeren'; -$l['login_no_reppass'] = 'Gelieve uw nieuw wachtwoord nogmaals integeven'; -$l['login_no_match'] = 'De opgegeven wachtwoorden komen niet overeen'; -$l['login_keyexpire'] = 'De Reset Code is niet meer geldig'; -$l['login_passchanged'] = 'Wachtwoord succesvol gewijzigd.'; -$l['login_forgot_pass'] = 'Wachtwoord vergeten'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = 'Recipes'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Recipe'; -$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; -$l['rec_short_desc'] = 'Recipes are predefined bash codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_ns1_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'U hebt het nieuwe wachtwoord niet ingegeven.'; +$l['cpas_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven.'; +$l['cpas_no_match'] = 'De wachtwoorden die u ingaf komen niet overeen.'; +$l['cpas_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; +$l['cpas_submit_button'] = 'Verander Wachtwoord'; +$l['cpas_new_pass'] = 'Nieuw Wachtwoord'; +$l['cpas_old_pass'] = 'Oud Wachtwoord'; +$l['cpas_retype_pass'] = 'Herschrijf Nieuw Wachtwoord'; +$l['cpas_change_note'] = 'Verander Root Wachtwoord'; +$l['cpas_change_final'] = 'Uw wachtwoord is succesvol veranderd'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Veranderen van de '.VM_SHORT.' Root Wachtwoord...'; +$l['cpas_strength_indicator'] = 'Strength Indicator'; +$l['cpas_bad'] = 'Bad'; +$l['cpas_good'] = 'Good'; +$l['cpas_strong'] = 'Strong'; +$l['cpas_short'] = 'Short'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Used'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Selecteer een hostnaam om te veranderen.'; +$l['hn_new_host'] = 'Nieuwe Hostnaam'; +$l['hn_submit_button'] = 'Verander Hostnaam'; +$l['hn_err_changing'] = 'Er waren een aantal fouten tijdens het wijzigen van de hostnaam.'; +$l['hn_host_final'] = 'Uw hostnaam is succesvol gewijzigd'; +$l['hn_invalid_hostname'] = 'De ingegeven hostnaam is ongeldig'; +$l['hn_change_onboot'] = 'Uw hostnaam zal worden veranderd zodra de '.VM_SHORT.' is herstart'; +$l['hn_current_hostname'] = 'Mementele Hostnaam'; +$l['hn_change_notify'] = 'Veranderen van de Hostnaam...'; +$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Geen IPs geselecteerd'; +$l['ips_ip_not_exists'] = 'De opgegeven IPs bestaan niet'; +$l['ips_header'] = ' IPs'; +$l['ips_ipinfo'] = 'IP Informatie'; +$l['ips_reorderips'] = 'Zet Primair IP'; +$l['ips_done'] = 'Uw IP-instellingen zijn opgeslagen.'; +$l['ips_change_onboot'] = 'Uw IP-instellingen worden gewijzigd wanneer de '.VM_SHORT.' wordt heropstart'; +$l['ips_primary_ip'] = 'Zet Primair IP'; +$l['ips_ipv6_ips_list'] = 'IPV6 IPs'; +$l['ips_ipv6_empty'] = 'IPV6 Leeg'; +$l['ips_change_notify'] = 'Wijzigen van de IP-Instellingen...'; +// Monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU Information'; +$l['mon_totalcpu'] = 'Total CPU :'; +$l['mon_cpuutilised'] = 'Utilised : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'CPU Utilization'; +$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'U hebt het besturingssysteem niet geselecteerd'; +$l['os_invalid_os'] = 'Het opgegeven besturingssysteem is niet geldig'; +$l['os_no_new'] = 'U hebt het nieuwe wachtwoord niet ingegeven.'; +$l['os_no_conf'] = 'De bevestigings wachtwoord ontbreekt.'; +$l['os_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; +$l['os_error_reins'] = 'Er is een fout opgetreden bij het herinstalleren van het besturingssysteem'; +$l['os_err_changing'] = 'Er waren enkele fouten bij het instellen van het wachtwoord.'; +$l['os_err_log_osreinstall'] = 'U hebt het Besturingssysteem Herinstalleer Limiet overschreden. +Neem contact op met uw administrator'; +$l['os_reins_os'] = 'Herinstalleer besturingssysteem'; +$l['os_os_reinstall'] = 'Reinstall'; +$l['os_new_pass'] = 'Nieuw Wachtwoord'; +$l['os_retype_pass'] = 'Wachtwoord nogmaals invoeren'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = 'The OS reinstall process has been started in the background'; +$l['os_reins_notify'] = 'Herinstalleren van het besturingssysteem...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'Bad'; +$l['os_good'] = 'Good'; +$l['os_strong'] = 'Strong'; +$l['os_short'] = 'Short'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = 'Passwords do not match'; +$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'VNC Informatie'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC Poort'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC werkt alleen als Java is geïnstalleerd en ingeschakeld in uw browser'; +$l['vnc_not_enabled'] = 'VNC is niet ingeschakeld'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'U heeft het nieuwe wachtwoord niet ingegeven.'; +$l['vncpas_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven.'; +$l['vncpas_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; +$l['vncpas_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; +$l['vncpas_no_nonalphanumeric'] = 'Niet-alfanumerieke tekens zijn niet toegestaan'; +$l['vncpas_submit_button'] = 'VNC Wachtwoord Veranderen'; +$l['vncpas_new_pass'] = 'Nieuw Wachtwoord'; +$l['vncpas_old_pass'] = 'Oud Wachtwoord'; +$l['vncpas_retype_pass'] = 'Nieuw Wachtwoord Heringeven'; +$l['vncpas_change_note'] = 'VNC Wachtwoord Veranderen'; +$l['vncpas_change_final'] = 'Uw VNC wachtwoord werd succesvol verandert'; +$l['vncpas_change_notify'] = 'VNC Wachtwoord aan het veranderen...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'U heeft het nieuwe wachtwoord niet ingegeven'; +$l['up_no_conf'] = 'Het bevestigingswachtwoord is niet ingegeven'; +$l['up_no_match'] = 'De ingegeven wachtwoorden komen niet overeen'; +$l['up_err_changing'] = 'Er waren enkele fouten bij het wijzigen van het wachtwoord.'; +$l['up_new_pass'] = 'Nieuw Wachtwoord'; +$l['up_old_pass'] = 'Oud Wachtwoord'; +$l['up_retype_pass'] = 'Nieuw Wachtwoord Heringeven'; +$l['up_page_head'] = 'Wachtwoord Veranderen'; +$l['up_change_final'] = 'Uw wachtwoord werd succesvol verandert'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'U hebt de Voornaam niet ingegeven'; +$l['pr_no_lname'] = 'U hebt de Naam niet ingegeven'; +$l['pr_firstname'] = 'Voornaam'; +$l['pr_lastname'] = 'Naam'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '; +$l['pr_done'] = 'Uw wijzigingen zijn succesvol opgeslagen'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Start'; +$l['ser_sstop'] = ' Stop'; +$l['ser_srestart'] = 'Herstart'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'Lopend'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autostart'; +$l['ser_select'] = 'Selecteer'; +$l['ser_vps_is_off'] = 'De '.VM_SHORT.' staat uit !'; +$l['ser_no_feature'] = 'Deze functie is niet beschikbaar !'; +$l['ser_notice_start'] = 'De geselecteerde diensten worden gestart..'; +$l['ser_notice_stop'] = 'De geselecteerde diensten worden gestopt..'; +$l['ser_notice_restart'] = 'De geselecteerde diensten worden herstart..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'List of Processes'; +$l['proc_usr'] = 'Februiker'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%RAM'; +$l['proc_command'] = 'Opdracht'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'tijd'; +$l['proc_select'] = 'selecteer'; +$l['proc_pstart'] = 'start'; +$l['proc_pkill'] = 'Dood'; +$l['proc_prefresh'] = 'Autorefresh'; +$l['proc_vps_is_off'] = 'De '.VM_SHORT.' staat af !'; +$l['proc_no_feature'] = 'Deze functie is niet beschikbaar !'; +$l['proc_notice_pkill'] = 'Stoppen van de geselecteerde proces (sen)..... :'; +$l['proc_with_selected'] = 'With Selected :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Datum'; +$l['log_task'] = 'Taak'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Successful'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Manage IPv6 Subnets'; +$l['mng_done'] = 'IPs were saved successfully'; +$l['mng_add_ipv6'] = 'Add an Ipv6 address'; +$l['mng_add_ip_button'] = 'Add IP'; +$l['mng_back_button'] = 'Back'; +$l['mng_save_button'] = 'Save'; +$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 Address'; +$l['mng_ipv6_delete'] = 'Delete'; +$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; +$l['mng_edit_subnet'] = 'Edit'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Beheer Zone'; +$l['mz_zone_conf_del'] = 'Weet u zeker dat u de PDNS server wilt verwijderen ?'; +$l['mz_add_pdns'] = 'PDNS Server Toevoegen'; +$l['mz_dns_mgmt'] = 'DNS Beheer'; +$l['mz_zone_add_done'] = 'De Zone is succesvol toegevoegd'; +$l['mz_add_zone'] = 'Zone Toevoegen'; +$l['mz_zone_name'] = 'Zone Naam'; +$l['mz_pdns_zones'] = 'Zones Weergeven'; +$l['mz_manage_zone'] = 'Beheer'; +$l['mz_conf_del'] = 'Bent u zeker dat u dit wilt verwijderen ?'; +$l['mz_add_done'] = 'Succesvol Toegevoegd'; +$l['mz_edit_done'] = 'Succesvol Aangepast'; +$l['mz_del_done'] = 'Succesvol Verwijderd'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Server Naam'; +$l['mz_submit_button'] = 'Toevoegen'; +$l['mz_edit_button'] = 'Wijzigen'; +$l['mz_no_domains'] = 'Er zijn geen zones'; +$l['mz_err_addzone'] = 'Er is een fout opgetreden bij het toevoegen van de Zone'; +$l['mz_inv_name'] = 'Ongeldige Hostnaam Ingegeven'; +$l['mz_inv_ip'] = 'Ongeldig IP Adres Ingegeven'; +$l['mz_inv_tld'] = 'Ongeldig Domein Extensie Ingegeven'; +$l['mz_inv_ipv6'] = 'Ongeldig IPv6 Adres Ingegeven'; +$l['mz_inv_int'] = 'Ongeldig Getal Ingegeven'; +$l['mz_err_add'] = 'Er is een fout opgetreden bij het toevoegen'; +$l['mz_err_del'] = 'Er is een fout opgetreden bij het verwijderen'; +$l['mz_err_edit'] = 'Er is een fout opgetreden bij het wijzigen'; +$l['mz_err_soa'] = 'Er is een fout opgetreden bij het updaten van de SOA Serial'; +$l['mz_rec_exists'] = 'Ingegeven Waarde Bestaat Al!'; +$l['mz_records_limit'] = 'Het toevoeg limiet is bereikt, u kunt geen waardes meer toevoegen'; +$l['mz_err_connect'] = 'Er is en fout opgetrede bij het in vebinding stellen van de nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Weet u zeker dat u dit domein wil verwijderen ?'; +$l['pdns_page_head'] = 'DNS Beheer'; +$l['pdns_add_done'] = 'De zone is Succesvol toegevoegd.'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Zone Toevoegen'; +$l['pdns_zone_name'] = 'Zone Naam'; +$l['pdns_manage_zone'] = 'Beheer'; +$l['pdns_no_domains'] = 'Er werden geen zones gevonden'; +$l['pdns_no_name'] = 'De domeinnaam is niet opgegeven'; +$l['pdns_err_addzone'] = 'Er is een fout opgetreden bij het toevoegen van de zone'; +$l['pdns_err_delete'] = 'Er is een fout opgetreden bij het verwijderen van de zone'; +$l['pdns_inv_domain'] = 'Het opgegeven domeinnaam is ongeldig'; +$l['pdns_limit_domains'] = 'Het maximum aantal domeinen die kunnen worden toegevoegd is bereikt'; +$l['pdns_domain_exists'] = 'Deze domeinnaam bestaat al'; +$l['pdns_err_connect'] = 'Er is een fout opgetreden bij het aansluiten van de nameserver'; +$l['pdns_no_dns'] = 'DNS beheer niet beschikbaar'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = 'Submit'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Geen taal is geselecteerd'; +$l['us_wrong_lang'] = 'De taal die u heeft geselecteerd bestaat niet'; +$l['us_no_timezone'] = 'U hebt geen tijdzone geselecteerd'; +$l['us_timezone_invalid'] = 'De tijdzone die u hebt geselecteerd is ongeldig'; +$l['us_wrong_theme'] = 'Het thema dat u gekozen hebt bestaat niet'; +$l['us_page_head'] = 'Gebruikers Instellingen'; +$l['us_change_final'] = 'Uw instellingen zijn succesvol opgeslagen'; +$l['us_choose_lang'] = 'Kies een Taal'; +$l['us_exp_lang'] = 'Kies uw gewenste taal'; +$l['us_timezone'] = 'Tijdzone'; +$l['us_default_timezone'] = 'Server Basistijdzone'; +$l['us_edit_settings'] = 'Wijzig Instellingen'; +$l['us_done'] = 'Uw instellingen zijn succesvol opgeslagen'; +$l['us_choose_theme'] = 'Kies een Thema'; +$l['us_exp_theme'] = 'Kies je geprefereerde thema'; +$l['us_no_theme'] = 'Geen Theme geselecteerd'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs: +{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created.'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips'] = 'IP Address'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = 'Network Speed'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = 'Network Speed'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = 'Network Speed'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Het paneel dat u selecteerde is ongeldig'; +$l['cpan_err_installing'] = 'Er is een fout opgetreden bij het installeren van het paneel'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'De installatie van het Controle Paneel is begonnen en zal binnenkort klaar zijn.'; +$l['cpan_change_onboot'] = 'Het paneel zal worden geïnstalleerd wanneer u uw '.VM_SHORT.' heropstart'; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Control panels'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'De ISO die u hebt geselecteerd is ongeldig'; +$l['hvm_err_editing'] = 'Er zijn een paar fouten opgetreden tijdens het opslaan van de instellingen'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = 'Opslaan'; +$l['hvm_done'] = 'De instellingen zijn succesvol opgeslagen'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Boot Order'; +$l['hvm_isos'] = 'Selecteer ISO'; +$l['hvm_none'] = 'Geen'; +$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; +$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU Informatie'; +$l['cpu_totalcpu'] = 'Totale CPU :'; +$l['cpu_cpuutilised'] = 'Gebruikt : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'CPU Verbruik'; +$l['cpu_trademarks'] = 'Alle gebruikte logos zijn handelsmerken of intellecuele eigendom van de makers.'; +$l['cpu_not_supported'] = 'Er kan momenteel geen informatie worden weergegeven, omdat het nog niet is ondersteunt.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM Informatie'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Gegarandeerd RAM : '; +$l['ram_burstable'] = 'Maximaal :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Gebruikt :'; +$l['ram_percentram'] = 'Gebruikt % :'; +$l['ram_graphheader'] = 'RAM Verbruik'; +$l['ram_not_supported'] = 'Huidige gebruik controle van deze bron wordt niet ondersteund.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Schijf'; +$l['disk_diskinfo'] = 'Schijf Informatie'; +$l['disk_totaldisk'] = 'Totale Schijfruimte : '; +$l['disk_diskutilised'] = 'Gebruikt : '; +$l['disk_percentdisk'] = 'Gebruikt % : '; +$l['disk_graphheader'] = 'Schijf Verbruik'; +$l['disk_inodesinfo'] = 'Inodes Informatie'; +$l['disk_inodestotal'] = 'Totale Inodes :'; +$l['disk_inodesutilised'] = 'Gebruikt : '; +$l['disk_percent_inodes'] = 'Gebruikt % :'; +$l['disk_inodesheader'] = 'Inodes Verbruik'; +$l['disk_not_supported'] = 'Momenteel is het niet mogenlijk om de schijf informatie weertegeven, wegens niet ondersteunde schijf.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Dataverkeer'; +$l['band_bandwidthinfo'] = 'Dataverkeer Informatie'; +$l['band_Total_Bandwidth'] = 'Totaal Dataverkeer :'; +$l['band_bandwidth_utilized'] = 'Verbruikt : '; +$l['band_percent_utilized'] = '% verbruikt : '; +$l['band_graphheader'] = 'Dataverkeer Gebruik'; +$l['band_unlimited'] = 'Ongelimiteerd'; +$l['band_network_speed'] = 'Network Speed (MB/s)'; +$l['band_prev'] = 'Prev Month'; +$l['band_next'] = 'Next Month'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status logs'; +$l['sts_running'] = 'Lopend'; +$l['sts_stopped'] = 'Gestopt'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Time'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System Alerts'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email'] = 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email'] = 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at + +Thank you! + +The {{sn}} Team + + +Activation code: {{activation_code}} +User ID: {{uid}} +/?#act=register&sa=validate'; +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new account, {{email}}. + +You may now login to your account at : +/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The Team + + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+/?#act=login

+ +Enjoy!

+ +The Team
+'; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at . + +Before you can use your account you must activate it. +Click on the link below to activate your account: +/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at + +Thank you! + +The {{sn}} Team + + +Activation code: {{activation_code}} +User ID: {{uid}} +/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Het gebruikersnaam veld is leeg'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_no_password'] = 'Het wachtwoord vels is leeg'; +$l['login_too_many_attempts'] = 'U hebt uw mislukte login quotum van mislukte pogingen! Wacht minuten voordat u het opnieuw probeert. Vergeet niet dat het wachtwoord hoofdlettergevoelig is. Bent u uw wachtwoord vergeten gebruik dan onze Wachtwoord Vergeten pagina.'; +$l['login_sign_in'] = 'Aanmelden'; +$l['login_log_user'] = 'E-Mail of Gebruikersnaam'; +$l['login_log_pass'] = 'Wachtwoord'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; +$l['login'] = 'Login'; +$l['login_pass_nomatch'] = 'Het opgegeven wachtwoord of gebruikersnaam is incorrect.'; +$l['login_forgotpass'] = 'Wachtwoord Vergeten'; +$l['login_emailuser'] = 'E-Mail Adres'; +$l['login_enteremail'] = 'Geef uw E-Mail adres in'; +$l['login_sub_email'] = 'Toevoegen'; +$l['login_no_email'] = 'U hebt uw E-Mail adres niet toegevoegd'; +$l['login_invalidemail'] = 'Het ingegeven E-Mail adres is ongeldig'; +$l['login_mail_sub'] = 'Wachtwoord opnieuw instellen'; +$l['login_mail_body'] = 'Hallo, + +Een verzoek om uw wachtwoord opnieuw in te stellen is gemaakt. +Als u dit niet heeft aangevraagd, dan kunt u deze e-mail negeren. + +Indien u uw wachtwoord opnieuw wilt instellen, klikt u op de onderstaande Link : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Let op: bovenstaande link is enkel geldig voor maar 24 uur. + +Groet, +'; +$l['login_mail_done'] = 'Een mail is verzonden met de details om uw wachtwoord opnieuw in te stellen'; +$l['login_back_to_login'] = 'Terug naar de inlogpagina'; +$l['login_resetpass'] = 'Wachtwoord opnieuw instellen'; +$l['login_log_new_pass'] = 'Nieuw Wachtwoord'; +$l['login_log_reppass'] = 'Wachtwoord bevestigen'; +$l['login_changepass'] = 'Wachtwoord wijzigen'; +$l['login_no_key'] = 'Er is geen Reset Code ingegeven'; +$l['login_invalidkey'] = 'U hebt een foutieve Reset Code ingegeven'; +$l['login_no_new'] = 'Gelieve een geldig wachtwoord in te voeren'; +$l['login_no_reppass'] = 'Gelieve uw nieuw wachtwoord nogmaals integeven'; +$l['login_no_match'] = 'De opgegeven wachtwoorden komen niet overeen'; +$l['login_keyexpire'] = 'De Reset Code is niet meer geldig'; +$l['login_passchanged'] = 'Wachtwoord succesvol gewijzigd.'; +$l['login_forgot_pass'] = 'Wachtwoord vergeten'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = 'Recipes'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Recipe'; +$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; +$l['rec_short_desc'] = 'Recipes are predefined bash codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_ns1_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/dutch/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/dutch/index_lang.php index eda0a3d..ce1ac94 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/dutch/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/dutch/index_lang.php @@ -1,380 +1,380 @@ -Vandaag op '; -$l['init_theme_error_t'] = 'Thema Fout'; -$l['init_theme_error'] = 'Thema &soft-1; kan niet worden geladen.'; -$l['init_theme_func_error_t'] = 'Thema Functie Fout'; -$l['init_theme_func_error'] = 'De Functies van Thema &soft-1; konden niet worden geladen.'; -$l['load_theme_settings_error'] = 'Theme instellingen bestand kon niet worden geladen.'; -$l['following_errors_occured'] = 'De volgende fouten zijn ontdekt'; -$l['following_message'] = 'Het volgend bericht werd teruggestuurd'; -$l['fatal_error'] = 'Fatale Fout'; -$l['following_fatal_error'] = 'De volgende fout is opgetreden'; -$l['soft_message'] = 'Bericht'; -$l['following_soft_message'] = 'Het volgend bericht werd teruggestuurd'; -$l['err_user_head'] = 'Fout'; -$l['err_user'] = 'Het was niet mogenlijk de type van de gebruiker te vinden'; -$l['getting_info'] = 'Informatie Opvragen......'; -$l['error_getting_latest'] = 'Geen informatie ontvangen......Afsluiten'; -$l['got_info'] = 'Informatie ontvangen'; -$l['manual_mode'] = 'De nieuwe versie van Softaculous vraagt manuele aandacht......Afsluiten'; -$l['no_updates'] = 'Momentele versie is de laatste versie......Doorgaan'; -$l['fetch_upgrade'] = 'Upgrade opvragen......'; -$l['error_fetch_upgrade'] = 'Upgrade bestand werd niet gevonden......Afsluiten'; -$l['error_save_upgrade'] = 'Upgrade bestand kon niet worden opgeslagen......Afsluiten'; -$l['got_upgrade'] = 'Upgrade bestand opgeslagen'; -$l['unzip_upgrade'] = 'De bestanden uitpakken......'; -$l['error_unzip_upgrade'] = 'Fout tijdens uitpakken......Afsluiten'; -$l['unzipped_upgrade'] = 'Succesvol uitgepakt'; -$l['running_upgrade'] = 'Upgrade uitvoeren......'; -$l['succ_upgrade'] = 'Klaar'; -$l['error_upgrade'] = 'De volgende fouten zijn opgetreden tijdens de upgrade :'; -$l['err_selectmy'] = 'De MySQL Database kon niet worden geselecteerd.'; -$l['err_myconn'] = 'De MySQL Connectie kon niet worden gevestigd.'; -$l['err_makequery'] = 'Kon de vragen niet nummeren'; -$l['err_mynum'] = 'MySQL Fout Nummer'; -$l['err_myerr'] = 'MySQL Fout'; - -//hf_theme.php -$l['welcome'] = 'Welkom'; -$l['logout'] = 'Uitloggen'; -$l['page_time'] = 'Pagina Aangemaakt In'; -$l['times_are'] = 'Alle tijden zijn GMT'; -$l['time_is'] = 'De tijd is nu'; -$l['load_start'] = 'Starten'; -$l['load_stop'] = 'Stoppen'; -$l['load_restart'] = 'Herstarten'; -$l['load_poweroff'] = 'Uitgeschakeld'; - -//The Category Language Variables -$l['dock_restart'] = 'Herstart Container'; -$l['dock_stop'] = 'Stop Container'; -$l['dock_start'] = 'Start Container'; -$l['dock_poweroff'] = 'Container Uitschakelen'; -$l['dock_home'] = 'Home'; -$l['dock_settings'] = 'Verander Instellingen'; -$l['dock_help'] = 'Hulp en Ondersteuning '; -$l['dock_sync'] = 'Syncroniseren met andere Auto-Installers'; -$l['go_home'] = 'Home'; -$l['dock_user'] = 'Gebruikers Profiel'; -$l['dock_password'] = 'Verander Wachtwoord'; -$l['dock_vps'] = 'Virtuele Servers Weergeven'; - -// Left Menu -$l['lm_file_mgr'] = 'Bestandenbeheer'; -$l['lm_res'] = 'Bronnen'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Processen'; -$l['lm_service'] = 'Diensten'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Wachtwoord'; -$l['lm_statusc'] = 'Status Logs'; -$l['lm_res_a'] = 'Systeem Waarschuwingen'; -$l['lm_logs'] = 'Logs'; -$l['lm_bandwidth'] = 'Dataverkeer'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Account Wachtwoord'; -$l['lm_controlpanel'] = 'Controle Paneel'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = 'Schijf'; -$l['lm_ostemp'] = 'Besturingssysteem herïnstallatie'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostnaam'; -$l['lm_ips'] = 'IPs'; -$l['lm_hvmsettings'] = VM_SHORT.' Configuratie'; -$l['lm_apikey'] = 'API Gegevens'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; -$l['lm_vs'] = VM_SHORT.' Lijst'; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Instellingen'; -$l['lm_profile'] = 'Mijn Profiel'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; -$l['page_jump_title'] = 'Pagina ingeven om er naar te gaan'; -$l['page_page'] = 'Pagina'; -$l['page_of'] = 'of'; -$l['page_go'] = 'Ga'; -$l['build_no_vs'] = 'De '.VM_SHORT.' Werd niet gevonden in de Database'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'Het besturingssysteem thema werd niet gevonden'; -$l['build_no_ip'] = 'De primaire IP ontbreekt voor de '.VM_SHORT; -$l['build_no_os_iso'] = 'Geen Besturingssysteem themas of ISO bestanden werden gevonden'; -$l['wrong_kernel'] = 'U bent in de verkeerde kernel gestart - '; -$l['correct_kernel'] = 'Gelieve in de juiste kernel te starten.'; -$l['kvm_module'] = 'De Linux-KVM module is niet geladen.'; -$l['kvm_network'] = 'De '.$globals['bridge'].' is niet gestart. Gelieve volgende uittevoeren service virtnetwork start'; -$l['temp_exists'] = 'Het thema bestand bestaat al'; -$l['temp_snap_err'] = 'De snapshot kon niet worden gemaakt dus ook de Thema aanmaak is mislukt'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; -$l['xen_err_lvm'] = 'Er was een fout bij het maken van de LVM van de '.VM_SHORT; -$l['xen_err_swap'] = 'Er is een fout opgetreden in het creëren van de SWAP van de '.VM_SHORT; -$l['xen_err_tmp'] = 'Er is een fout opgetreden in het creëren van de Mount Point'; -$l['xen_err_mount'] = 'r is een fout opgetreden bij het mounten van de '.VM_SHORT.' LVM'; -$l['xen_err_unmount'] = 'Er is een fout opgetreden in het unmounten van de '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'Er is een fout opgetreden tijdens het installeren van de '.VM_SHORT; -$l['xen_err_mkfs'] = 'Er is een fout opgetreden tijdens het formatteren van de '.VM_SHORT; -$l['xen_err_mkswap'] = 'Er is een fout opgetreden tijdens het formatteren van de SWAP van de '.VM_SHORT; -$l['xen_err_untar'] = 'Er is een fout opgetreden bij het uitpakken van het Besuringssysteem Thema'; -$l['xen_err_part'] = 'Er is een fout opgetreden tijdens het maken van de partitie (s)'; -$l['xen_err_kpart'] = 'Er is een fout opgetreden tijdens het in kaart brengen van de partitie (s)'; -$l['xen_err_resizefs'] = 'Er is een fout opgetreden tijdens het wijzigen van de grootte van het bestandssysteem'; -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; -$l['kvm_err_lvm'] = 'Er was een fout bij het maken van de LVM van de '.VM_SHORT; -$l['kvm_err_mount'] = 'Er is een fout opgetreden bij het monteren van de '.VM_SHORT.' LVM'; -$l['kvm_err_unmount'] = 'Er is een fout opgetreden in het unmounten van de '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'Er is een fout opgetreden tijdens het installeren van de '.VM_SHORT; -$l['kvm_err_resizefs'] = 'Er is een fout opgetreden tijdens het wijzigen van de grootte van het bestandssysteem'; -$l['kvm_err_part'] = 'Er is een fout opgetreden tijdens het maken van de partitie (s)'; -$l['kvm_err_kpart'] = 'Er is een fout opgetreden tijdens het in kaart brengen van de partitie (s)'; -$l['kvm_err_mkswap'] = 'Er is een fout opgetreden tijdens het formatteren van de SWAP van de '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; -$l['kvm_err_tar'] = 'Er is een fout opgetreden tijdens het comprimeren van het archief'; -$l['xen_err_tar'] = 'Er is een fout opgetreden tijdens het comprimeren van het archief'; -$l['kvm_err_untar'] = 'Er is een fout opgetreden decomprimeren het archief'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'Er is een fout opgetreden met de back-up tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; -$l['openvz_err_ubc'] = 'Er is een fout opgetreden bij het opslaan van de UBC instellingen'; -$l['openvz_err_ostemplate'] = 'Er is een fout opgetreden bij het instellen van de Besturingssyteem thema'; -$l['openvz_err_space'] = 'Er is een fout opgetreden bij het instellen van de schijfruimte'; -$l['openvz_err_inodes'] = 'Er is een fout opgetreden bij het instellen van de schijfruimte'; -$l['openvz_err_hostname'] = 'Er is een fout opgetreden tijden het instellen van de hostnaam'; -$l['openvz_err_ip'] = 'Er is een fout opgetreden tijdens het instellen van het IP-adres'; -$l['openvz_err_dns'] = 'Er is een fout opgetreden tijdens het instellen van de DNS'; -$l['openvz_err_cpu'] = 'Er is een fout opgetreden tijdens het instellen van de CPU eenheden'; -$l['openvz_err_cpulim'] = 'Er is een fout opgetreden tijdens het instellen van de CPU limiet'; -$l['openvz_err_cores'] = 'Er is een fout opgetreden tijdens het instellen van de CPU cores'; -$l['openvz_err_ioprio'] = 'Er is een fout opgetreden tijdens het instellen van de IO Prioriteit'; -$l['openvz_err_create'] = 'Er is een fout opgetreden tijdens het aanmaken van de Container'; -$l['vswap_error'] = 'Er is een fout opgetreden tijdens het instellen van de VSwap instellingen'; -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Suspended'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; -$l['speed_cap_down'] = 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up'] = 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; +Vandaag op '; +$l['init_theme_error_t'] = 'Thema Fout'; +$l['init_theme_error'] = 'Thema &soft-1; kan niet worden geladen.'; +$l['init_theme_func_error_t'] = 'Thema Functie Fout'; +$l['init_theme_func_error'] = 'De Functies van Thema &soft-1; konden niet worden geladen.'; +$l['load_theme_settings_error'] = 'Theme instellingen bestand kon niet worden geladen.'; +$l['following_errors_occured'] = 'De volgende fouten zijn ontdekt'; +$l['following_message'] = 'Het volgend bericht werd teruggestuurd'; +$l['fatal_error'] = 'Fatale Fout'; +$l['following_fatal_error'] = 'De volgende fout is opgetreden'; +$l['soft_message'] = 'Bericht'; +$l['following_soft_message'] = 'Het volgend bericht werd teruggestuurd'; +$l['err_user_head'] = 'Fout'; +$l['err_user'] = 'Het was niet mogenlijk de type van de gebruiker te vinden'; +$l['getting_info'] = 'Informatie Opvragen......'; +$l['error_getting_latest'] = 'Geen informatie ontvangen......Afsluiten'; +$l['got_info'] = 'Informatie ontvangen'; +$l['manual_mode'] = 'De nieuwe versie van Softaculous vraagt manuele aandacht......Afsluiten'; +$l['no_updates'] = 'Momentele versie is de laatste versie......Doorgaan'; +$l['fetch_upgrade'] = 'Upgrade opvragen......'; +$l['error_fetch_upgrade'] = 'Upgrade bestand werd niet gevonden......Afsluiten'; +$l['error_save_upgrade'] = 'Upgrade bestand kon niet worden opgeslagen......Afsluiten'; +$l['got_upgrade'] = 'Upgrade bestand opgeslagen'; +$l['unzip_upgrade'] = 'De bestanden uitpakken......'; +$l['error_unzip_upgrade'] = 'Fout tijdens uitpakken......Afsluiten'; +$l['unzipped_upgrade'] = 'Succesvol uitgepakt'; +$l['running_upgrade'] = 'Upgrade uitvoeren......'; +$l['succ_upgrade'] = 'Klaar'; +$l['error_upgrade'] = 'De volgende fouten zijn opgetreden tijdens de upgrade :'; +$l['err_selectmy'] = 'De MySQL Database kon niet worden geselecteerd.'; +$l['err_myconn'] = 'De MySQL Connectie kon niet worden gevestigd.'; +$l['err_makequery'] = 'Kon de vragen niet nummeren'; +$l['err_mynum'] = 'MySQL Fout Nummer'; +$l['err_myerr'] = 'MySQL Fout'; + +//hf_theme.php +$l['welcome'] = 'Welkom'; +$l['logout'] = 'Uitloggen'; +$l['page_time'] = 'Pagina Aangemaakt In'; +$l['times_are'] = 'Alle tijden zijn GMT'; +$l['time_is'] = 'De tijd is nu'; +$l['load_start'] = 'Starten'; +$l['load_stop'] = 'Stoppen'; +$l['load_restart'] = 'Herstarten'; +$l['load_poweroff'] = 'Uitgeschakeld'; + +//The Category Language Variables +$l['dock_restart'] = 'Herstart Container'; +$l['dock_stop'] = 'Stop Container'; +$l['dock_start'] = 'Start Container'; +$l['dock_poweroff'] = 'Container Uitschakelen'; +$l['dock_home'] = 'Home'; +$l['dock_settings'] = 'Verander Instellingen'; +$l['dock_help'] = 'Hulp en Ondersteuning '; +$l['dock_sync'] = 'Syncroniseren met andere Auto-Installers'; +$l['go_home'] = 'Home'; +$l['dock_user'] = 'Gebruikers Profiel'; +$l['dock_password'] = 'Verander Wachtwoord'; +$l['dock_vps'] = 'Virtuele Servers Weergeven'; + +// Left Menu +$l['lm_file_mgr'] = 'Bestandenbeheer'; +$l['lm_res'] = 'Bronnen'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Processen'; +$l['lm_service'] = 'Diensten'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Wachtwoord'; +$l['lm_statusc'] = 'Status Logs'; +$l['lm_res_a'] = 'Systeem Waarschuwingen'; +$l['lm_logs'] = 'Logs'; +$l['lm_bandwidth'] = 'Dataverkeer'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Account Wachtwoord'; +$l['lm_controlpanel'] = 'Controle Paneel'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = 'Schijf'; +$l['lm_ostemp'] = 'Besturingssysteem herïnstallatie'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostnaam'; +$l['lm_ips'] = 'IPs'; +$l['lm_hvmsettings'] = VM_SHORT.' Configuratie'; +$l['lm_apikey'] = 'API Gegevens'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; +$l['lm_vs'] = VM_SHORT.' Lijst'; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Instellingen'; +$l['lm_profile'] = 'Mijn Profiel'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; +$l['page_jump_title'] = 'Pagina ingeven om er naar te gaan'; +$l['page_page'] = 'Pagina'; +$l['page_of'] = 'of'; +$l['page_go'] = 'Ga'; +$l['build_no_vs'] = 'De '.VM_SHORT.' Werd niet gevonden in de Database'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'Het besturingssysteem thema werd niet gevonden'; +$l['build_no_ip'] = 'De primaire IP ontbreekt voor de '.VM_SHORT; +$l['build_no_os_iso'] = 'Geen Besturingssysteem themas of ISO bestanden werden gevonden'; +$l['wrong_kernel'] = 'U bent in de verkeerde kernel gestart - '; +$l['correct_kernel'] = 'Gelieve in de juiste kernel te starten.'; +$l['kvm_module'] = 'De Linux-KVM module is niet geladen.'; +$l['kvm_network'] = 'De '.$globals['bridge'].' is niet gestart. Gelieve volgende uittevoeren service virtnetwork start'; +$l['temp_exists'] = 'Het thema bestand bestaat al'; +$l['temp_snap_err'] = 'De snapshot kon niet worden gemaakt dus ook de Thema aanmaak is mislukt'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; +$l['xen_err_lvm'] = 'Er was een fout bij het maken van de LVM van de '.VM_SHORT; +$l['xen_err_swap'] = 'Er is een fout opgetreden in het creëren van de SWAP van de '.VM_SHORT; +$l['xen_err_tmp'] = 'Er is een fout opgetreden in het creëren van de Mount Point'; +$l['xen_err_mount'] = 'r is een fout opgetreden bij het mounten van de '.VM_SHORT.' LVM'; +$l['xen_err_unmount'] = 'Er is een fout opgetreden in het unmounten van de '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'Er is een fout opgetreden tijdens het installeren van de '.VM_SHORT; +$l['xen_err_mkfs'] = 'Er is een fout opgetreden tijdens het formatteren van de '.VM_SHORT; +$l['xen_err_mkswap'] = 'Er is een fout opgetreden tijdens het formatteren van de SWAP van de '.VM_SHORT; +$l['xen_err_untar'] = 'Er is een fout opgetreden bij het uitpakken van het Besuringssysteem Thema'; +$l['xen_err_part'] = 'Er is een fout opgetreden tijdens het maken van de partitie (s)'; +$l['xen_err_kpart'] = 'Er is een fout opgetreden tijdens het in kaart brengen van de partitie (s)'; +$l['xen_err_resizefs'] = 'Er is een fout opgetreden tijdens het wijzigen van de grootte van het bestandssysteem'; +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; +$l['kvm_err_lvm'] = 'Er was een fout bij het maken van de LVM van de '.VM_SHORT; +$l['kvm_err_mount'] = 'Er is een fout opgetreden bij het monteren van de '.VM_SHORT.' LVM'; +$l['kvm_err_unmount'] = 'Er is een fout opgetreden in het unmounten van de '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'Er is een fout opgetreden tijdens het installeren van de '.VM_SHORT; +$l['kvm_err_resizefs'] = 'Er is een fout opgetreden tijdens het wijzigen van de grootte van het bestandssysteem'; +$l['kvm_err_part'] = 'Er is een fout opgetreden tijdens het maken van de partitie (s)'; +$l['kvm_err_kpart'] = 'Er is een fout opgetreden tijdens het in kaart brengen van de partitie (s)'; +$l['kvm_err_mkswap'] = 'Er is een fout opgetreden tijdens het formatteren van de SWAP van de '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; +$l['kvm_err_tar'] = 'Er is een fout opgetreden tijdens het comprimeren van het archief'; +$l['xen_err_tar'] = 'Er is een fout opgetreden tijdens het comprimeren van het archief'; +$l['kvm_err_untar'] = 'Er is een fout opgetreden decomprimeren het archief'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'Er is een fout opgetreden met de back-up tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; +$l['openvz_err_ubc'] = 'Er is een fout opgetreden bij het opslaan van de UBC instellingen'; +$l['openvz_err_ostemplate'] = 'Er is een fout opgetreden bij het instellen van de Besturingssyteem thema'; +$l['openvz_err_space'] = 'Er is een fout opgetreden bij het instellen van de schijfruimte'; +$l['openvz_err_inodes'] = 'Er is een fout opgetreden bij het instellen van de schijfruimte'; +$l['openvz_err_hostname'] = 'Er is een fout opgetreden tijden het instellen van de hostnaam'; +$l['openvz_err_ip'] = 'Er is een fout opgetreden tijdens het instellen van het IP-adres'; +$l['openvz_err_dns'] = 'Er is een fout opgetreden tijdens het instellen van de DNS'; +$l['openvz_err_cpu'] = 'Er is een fout opgetreden tijdens het instellen van de CPU eenheden'; +$l['openvz_err_cpulim'] = 'Er is een fout opgetreden tijdens het instellen van de CPU limiet'; +$l['openvz_err_cores'] = 'Er is een fout opgetreden tijdens het instellen van de CPU cores'; +$l['openvz_err_ioprio'] = 'Er is een fout opgetreden tijdens het instellen van de IO Prioriteit'; +$l['openvz_err_create'] = 'Er is een fout opgetreden tijdens het aanmaken van de Container'; +$l['vswap_error'] = 'Er is een fout opgetreden tijdens het instellen van de VSwap instellingen'; +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Suspended'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; +$l['speed_cap_down'] = 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up'] = 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/english/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/english/enduser_lang.php index 6f44c81..1b1f736 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/english/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/english/enduser_lang.php @@ -1,2118 +1,2118 @@ - Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; -$l['twofactauth_secret_key'] = 'Secret Key : '; -$l['twofactauth_code_input'] = 'Confirmation code'; -$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; -$l['twofactauth_submit'] = 'Submit'; -$l['twofactauth_select_pref'] = 'Select Preference : '; -$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; -$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; -$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; -$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; -$l['twofactauth_email_passcode'] = 'Email Code'; -$l['twofactauth_none'] = 'None (Not Recommended !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Enable App (Google authenticator etc..)'; -$l['twofactauth_no_passcode'] = 'Please specify the OTP'; -$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Reset Key'; -$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; -$l['twofactauth_otp_mail_body'] = 'Hi, - -A login request was submitted for your account at : -{{site_domain}} - -Please use the following One Time password (OTP) to login : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; -$l['twofactauth_passcode_mail_body'] = 'Hi, - -The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; -$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; -$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; -$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'You did not enter the Email ID'; -$l['adu_no_user_password'] = 'You did not enter the Password'; -$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Add User'; -$l['adu_done'] = 'User has been added'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Password'; -$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'You did not specify the new password.'; -$l['cpas_no_conf'] = 'The confirmation password is missing.'; -$l['cpas_no_match'] = 'The passwords you gave do not match'; -$l['cpas_err_changing'] = 'There were some errors while changing the password.'; -$l['cpas_submit_button'] = 'Change Password'; -$l['cpas_new_pass'] = 'New Password'; -$l['cpas_old_pass'] = 'Old Password'; -$l['cpas_retype_pass'] = 'Retype New Password'; -$l['cpas_change_note'] = 'Change Root Password'; -$l['cpas_change_final'] = 'Your password has been changed successfully'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Changing the '.VM_SHORT.' root password...'; -$l['cpas_strength_indicator'] = 'Strength Indicator'; -$l['cpas_bad'] = 'Bad'; -$l['cpas_good'] = 'Good'; -$l['cpas_strong'] = 'Strong'; -$l['cpas_short'] = 'Short'; -$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['cpas_pass_match'] = 'Passwords do not match'; -$l['cpas_disabled'] = 'Change Password is disabled by Admin'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Resources'; -$l['cr_resource_type'] = 'Resource Type'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Used'; -$l['cr_left'] = 'Available'; -$l['cr_unlimited'] = 'Unlimited'; -$l['cr_num_vs'] = 'Number of VMs'; -$l['cr_num_users'] = 'Number of Users'; -$l['cr_num_space'] = 'Disk Space'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Bandwidth'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Information'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Please specify a Hostname to change.'; -$l['hn_new_host'] = 'New Host Name'; -$l['hn_submit_button'] = 'Change Hostname'; -$l['hn_err_changing'] = 'There were some errors while changing the hostname.'; -$l['hn_host_final'] = 'Your Hostname has been changed successfully'; -$l['hn_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['hn_change_onboot'] = 'Your hostname will be changed when the '.VM_SHORT.' is booted again'; -$l['hn_current_hostname'] = 'Current Hostname'; -$l['hn_change_notify'] = 'Changing the hostname...'; -$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'No IPs selected'; -$l['ips_ip_not_exists'] = 'IPs do not exists'; -$l['ips_header'] = ' IPs'; -$l['ips_ipinfo'] = 'IP Information'; -$l['ips_reorderips'] = 'Set Primary IP'; -$l['ips_done'] = 'Your IP settings have been saved.'; -$l['ips_change_onboot'] = 'Your IP settings will be changed when the '.VM_SHORT.' is booted again'; -$l['ips_primary_ip'] = 'Select Primary IP '; -$l['ips_ipv6_ips_list'] = 'IPV6 IPs'; -$l['ips_ipv6_empty'] = 'IPV6 Empty'; -$l['ips_change_notify'] = 'Changing the IP settings...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU Information'; -$l['mon_totalcpu'] = 'Total CPU :'; -$l['mon_cpuutilised'] = 'Utilised : '; -$l['mon_poweredby'] = 'Powered by : '; -$l['mon_graphheader'] = 'CPU Utilization'; -$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; -$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Network'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Network Info'; -$l['mon_ntw_down_spd'] = 'Average Download Speed'; -$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_cpu_usage'] = 'CPU Usage'; -$l['mon_inode_usage'] = 'Inode Usage'; -$l['mon_ram_usage'] = 'RAM Usage'; -$l['mon_disk_usage'] = 'Disk Usage'; -$l['mon_down_speed'] = 'Download Speed'; -$l['mon_up_speed'] = 'Upload Speed'; -$l['mon_total_speed'] = 'Total Speed'; -$l['mon_cpu_hist'] = 'CPU Usage History'; -$l['mon_mem_hist'] = 'Memory Usage History'; -$l['mon_storage'] = 'Storage Used'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Inodes Used'; -$l['mon_net_speed'] = 'Network Speed'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'You did not select the OS'; -$l['os_invalid_os'] = 'The OS submitted is invalid'; -$l['os_no_new'] = 'You did not specify the new password.'; -$l['os_no_conf'] = 'The confirmation password is missing.'; -$l['os_no_match'] = 'The passwords you gave do not match'; -$l['os_error_reins'] = 'There was an error while reinstalling the OS'; -$l['os_err_changing'] = 'There were some errors while setting the password.'; -$l['os_err_log_osreinstall'] = 'You have exceeded your OS reinstall limit. Please contact your administrator'; -$l['os_reins_os'] = 'Re-Install OS'; -$l['os_os_reinstall'] = 'Reinstall'; -$l['os_new_pass'] = 'New Password'; -$l['os_retype_pass'] = 'Retype Password'; -$l['os_genram_psswd'] = 'Make another random password'; -$l['os_done'] = 'The OS reinstall process has been started in the background'; -$l['os_reins_notify'] = 'Reinstalling the '.VM_SHORT.' Operating System...'; -$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'Bad'; -$l['os_good'] = 'Good'; -$l['os_strong'] = 'Strong'; -$l['os_short'] = 'Short'; -$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['os_pass_match'] = 'Passwords do not match'; -$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; -$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; -$l['os_no_os'] = 'No OS(s) available for reinstall'; -$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'VNC Information'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC Port'; -$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; -$l['vnc_notice'] = 'VNC will only work if java is installed and enabled in your browser'; -$l['vnc_not_enabled'] = 'VNC is not enabled'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'You did not specify the new password.'; -$l['vncpas_no_conf'] = 'The confirmation password is missing.'; -$l['vncpas_no_match'] = 'The passwords you gave do not match'; -$l['vncpas_err_changing'] = 'There were some errors while changing the password.'; -$l['vncpas_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed'; -$l['vncpas_submit_button'] = 'Change VNC Password'; -$l['vncpas_new_pass'] = 'New Password'; -$l['vncpas_old_pass'] = 'Old Password'; -$l['vncpas_retype_pass'] = 'Retype New Password'; -$l['vncpas_change_note'] = 'Change VNC Password'; -$l['vncpas_change_final'] = 'Your VNC Password has been changed successfully.'; -$l['vncpas_change_notify'] = 'Changing the VNC Password...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'You did not specify the new password'; -$l['up_no_conf'] = 'The confirmation password is missing'; -$l['up_no_match'] = 'The passwords you gave do not match'; -$l['up_err_changing'] = 'There were some errors while changing the password.'; -$l['up_new_pass'] = 'New Password'; -$l['up_old_pass'] = 'Old Password'; -$l['up_retype_pass'] = 'Retype New Password'; -$l['up_page_head'] = 'Change Password'; -$l['up_change_final'] = 'Your Password has been changed successfully'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Change Profile'; -$l['pr_no_fname'] = 'You did not enter the First Name'; -$l['pr_no_lname'] = 'You did not enter the Last Name'; -$l['pr_firstname'] = 'First Name'; -$l['pr_lastname'] = 'Last Name'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Your changes have been saved successfully'; -$l['pr_tax_number'] = 'Enter '.$globals['tax_name'].' number'; -$l['pr_tax_number_exp'] = 'If you want your '.$globals['tax_name'].' number on inovice please enter your '.$globals['tax_name'].' '; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Start'; -$l['ser_sstop'] = ' Stop'; -$l['ser_srestart'] = 'Restart'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'Running'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autostart'; -$l['ser_select'] = 'Select'; -$l['ser_vps_is_off'] = 'The '.VM_SHORT.' is off !'; -$l['ser_no_feature'] = 'This feature is not available !'; -$l['ser_notice_start'] = 'The selected service(s) are being started..'; -$l['ser_notice_stop'] = 'The selected service(s) are being stopped..'; -$l['ser_notice_restart'] = 'The selected service(s) are being restarted..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'List of Processes'; -$l['proc_usr'] = 'User'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Command'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'time'; -$l['proc_select'] = 'select'; -$l['proc_pstart'] = 'start'; -$l['proc_pkill'] = 'Kill'; -$l['proc_prefresh'] = 'Autorefresh'; -$l['proc_vps_is_off'] = 'The '.VM_SHORT.' is off !'; -$l['proc_no_feature'] = 'This feature is not available !'; -$l['proc_notice_pkill'] = 'Stopping the selected process(es) :'; -$l['proc_with_selected'] = 'With Selected :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Date'; -$l['log_task'] = 'Task'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Successful'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Manage IPv6 Subnets'; -$l['mng_done'] = 'IPs were saved successfully'; -$l['mng_add_ipv6'] = 'Add an Ipv6 address'; -$l['mng_add_ip_button'] = 'Add IP'; -$l['mng_back_button'] = 'Back'; -$l['mng_save_button'] = 'Save'; -$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; -$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; -$l['mng_ipv6_address'] = 'IPv6 Address'; -$l['mng_ipv6_delete'] = 'Delete'; -$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; -$l['mng_edit_subnet'] = 'Edit'; -$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Manage Zone'; -$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; -$l['mz_add_pdns'] = 'Add PDNS Server'; -$l['mz_dns_mgmt'] = 'DNS Management'; -$l['mz_zone_add_done'] = 'The Zone has been added successfully'; -$l['mz_add_zone'] = 'Add Zone Record'; -$l['mz_zone_name'] = 'Zone Name'; -$l['mz_pdns_zones'] = 'View Zones'; -$l['mz_manage_zone'] = 'Manage'; -$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; -$l['mz_add_done'] = 'The record has been added successfully'; -$l['mz_edit_done'] = 'The record has been edited successfully'; -$l['mz_del_done'] = 'The record has been deleted successfully'; -$l['mz_priority'] = 'Priority'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Points to'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Server Name'; -$l['mz_submit_button'] = 'Add Record'; -$l['mz_edit_button'] = 'Edit Record'; -$l['mz_no_domains'] = 'There are no zones on record'; -$l['mz_err_addzone'] = 'There was an error adding the zone'; -$l['mz_inv_name'] = 'Invalid hostname specified'; -$l['mz_inv_ip'] = 'Invalid IP Address specified'; -$l['mz_inv_tld'] = 'Invalid top level domain specified'; -$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; -$l['mz_inv_int'] = 'Invalid integer specified'; -$l['mz_err_add'] = 'There was an error while adding the record'; -$l['mz_err_del'] = 'There was an error while deleting the record'; -$l['mz_err_edit'] = 'There was an error while editing the record'; -$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; -$l['mz_rec_exists'] = 'The record already exists'; -$l['mz_records_limit'] = 'The limit for adding records has been reached'; -$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; -$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; -$l['pdns_page_head'] = 'DNS Management'; -$l['pdns_add_done'] = 'The Zone has been added successfully'; -$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; -$l['pdns_add_zone'] = 'Add Zone'; -$l['pdns_zone_name'] = 'Zone Name'; -$l['pdns_manage_zone'] = 'Manage'; -$l['pdns_no_domains'] = 'There are no zones on record'; -$l['pdns_no_name'] = 'The domain name was not specified'; -$l['pdns_err_addzone'] = 'There was an error adding the zone'; -$l['pdns_err_delete'] = 'There was an error deleting the zone'; -$l['pdns_inv_domain'] = 'The specified domain name is invalid'; -$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; -$l['pdns_domain_exists'] = 'This domain name already exists'; -$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; -$l['pdns_no_dns'] = 'DNS management not available'; -$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; -$l['pdns_primary_nameserver'] = 'Primary Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; -$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Add Reverse DNS'; -$l['rdns_zone_name'] = 'Zone Name'; -$l['rdns_exp_zone_name'] = 'The Zone Name'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Select server'; -$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; -$l['rdns_sub_but'] = 'Submit'; -$l['rdns_rdns_ip'] = 'IP Address'; -$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; -$l['rdns_rdns_domain'] = 'Domain name'; -$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; -$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; -$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; -$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; -$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; -$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; -$l['rdns_no_zone_name'] = 'The zone name was not specified'; -$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; -$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; -$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; -$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; -$l['rdns_err_save'] = 'There was an error in saving the data'; -$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; -$l['rdns_zone_exists'] = 'This zone already exists'; -$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; -$l['rdns_rdns_existing'] = 'rDNS Records'; -$l['rdns_deleted'] = 'The rDNS record has been deleted'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'You did not enter the Email ID'; -$l['edu_no_user_password'] = 'You did not enter the Password'; -$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['edu_uid_not_found'] = 'User ID not found'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Edit User'; -$l['edu_done'] = 'User has been edited'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Password'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; -$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; -$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; -$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; -$l['resc_enable_rescue'] = 'Enable Rescue Mode'; -$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; -$l['resc_disable_rescue'] = 'Disable Rescue Mode'; -$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; -$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; -$l['resc_root_pass'] = 'Root Password'; -$l['resc_root_pass_conf'] = 'Confirm Password'; -$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; -$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'No language was selected'; -$l['us_wrong_lang'] = 'The language you selected does not exist'; -$l['us_no_timezone'] = 'You did not select the timezone'; -$l['us_timezone_invalid'] = 'The timezone you selected is invalid'; -$l['us_wrong_theme'] = 'The Theme you selected does not exist'; -$l['us_page_head'] = 'User Settings'; -$l['us_change_final'] = 'Your settings have been save successfully'; -$l['us_choose_lang'] = 'Choose Language'; -$l['us_exp_lang'] = 'Choose your preferred language'; -$l['us_timezone'] = 'Timezone'; -$l['us_default_timezone'] = 'Server Default'; -$l['us_edit_settings'] = 'Edit Settings'; -$l['us_done'] = 'Your settings were saved successfully'; -$l['us_choose_theme'] = 'Choose Theme'; -$l['us_exp_theme'] = 'Choose your preferred theme'; -$l['us_no_theme'] = 'No Theme was selected'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'If empty default Logo will be displayed'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; - -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Please specify the type of Virtualization'; -$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; -$l['li_no_hname'] = 'Please specify the Hostname'; -$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; -$l['li_no_rootpass'] = 'Please specify a Root Password'; -$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; -$l['li_no_ram'] = 'Please specify the RAM memory'; -$l['li_no_vncpass'] = 'Please specify a VNC Password'; -$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; -$l['li_no_cpu_units'] = 'Please specify the CPU Units'; -$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'The Region you selected is invalid'; -$l['li_invalid_plid'] = 'The Plan you selected is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; -$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; -$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; -$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; -$l['li_invalid_os'] = 'The OS you submitted is invalid'; -$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['li_invalid_uid'] = 'The User you submitted does not exist'; -$l['li_no_user'] = 'You did not specify the user email'; -$l['li_no_user_pass'] = 'You did not specify the user password'; -$l['li_invalid_email'] = 'The user email address is invalid'; -$l['li_emailexist'] = 'The new user email you specified already exists'; -$l['li_err_user'] = 'There was an error while adding the user'; -$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['li_less_inodes'] = 'The inodes should not be less than 50000'; -$l['li_less_vs'] = 'You are not allowed to create more VMs'; -$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; -$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; -$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; -$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; -$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; -$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; -$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; -$l['li_page_head'] = 'Launch '.VM_SHORT; -$l['li_vstype'] = 'Type'; -$l['li_done'] = 'The '.VM_LONG.'. has been created'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Password'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Password'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'Change the current server to change the server'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'User'; -$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['li_user_email'] = 'User Email'; -$l['li_user_pass'] = 'Password'; -$l['li_add_user'] = 'Add User'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualization'; -$l['li_os'] = 'Operating System'; -$l['li_select'] = 'Select'; -$l['li_vs_plan'] = 'Select Plan'; -$l['li_plan_exp'] = 'Select a pre-defined plan'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; -$l['li_vsos'] = 'Operating System'; -$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; -$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; -$l['li_none'] = 'None'; -$l['li_rootpass'] = VM_SHORT.' Root Password'; -$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; -$l['li_randpass'] = 'Make another Random Password'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['li_ip'] = 'IP Address'; -$l['li_ips'] = 'IP Address'; -$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; -$l['li_ips6_subnet'] = 'IPv6 Subnets'; -$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; -$l['li_ips6'] = 'IPv6 Addresses'; -$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Remove this IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Space'; -$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_mac'] = 'MAC Address'; -$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; -$l['li_gram'] = 'Guaranteed RAM'; -$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_band'] = 'Bandwidth'; -$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Units'; -$l['li_cpalloc'] = 'CPU units to be allocated'; -$l['li_cpalloc_xen'] = 'Recommended Value : 256'; -$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; -$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; -$l['li_units'] = 'units'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Recommended Value :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = 'Network Speed'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = 'Network Speed'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_free'] = 'Free'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_submit'] = 'Create'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = 'Network Speed'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'The panel you selected is invalid'; -$l['cpan_err_installing'] = 'There was an error installing the Panel'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'The Panel installation has begun and will be completed soon'; -$l['cpan_change_onboot'] = 'The Panel will be installed when you shutdown and then start the '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Control panels'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'The ISO you selected is invalid'; -$l['hvm_err_editing'] = 'There were some errors while saving the settings'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = 'Submit'; -$l['hvm_done'] = 'The settings have been save successfully'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Boot Order'; -$l['hvm_isos'] = 'Select ISO'; -$l['hvm_none'] = 'None'; -$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; -$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU Information'; -$l['cpu_totalcpu'] = 'Total CPU :'; -$l['cpu_cpuutilised'] = 'Utilised : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'CPU Utilization'; -$l['cpu_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; -$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM Information'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Guaranteed RAM : '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Utilised :'; -$l['ram_percentram'] = 'Utilization % :'; -$l['ram_graphheader'] = 'RAM Utilization'; -$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Disk'; -$l['disk_diskinfo'] = 'Disk Information'; -$l['disk_totaldisk'] = 'Total Disk : '; -$l['disk_diskutilised'] = 'Utilised : '; -$l['disk_percentdisk'] = 'Utilization % : '; -$l['disk_graphheader'] = 'Disk Utilization'; -$l['disk_inodesinfo'] ='Inodes Information'; -$l['disk_inodestotal'] = 'Total Inodes :'; -$l['disk_inodesutilised'] = 'Utilised : '; -$l['disk_percent_inodes'] = 'Utilization % :'; -$l['disk_inodesheader'] = 'Inodes Utilization'; -$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Bandwidth'; -$l['band_bandwidthinfo'] = 'Bandwidth Information'; -$l['band_Total_Bandwidth'] = 'Total Bandwidth :'; -$l['band_bandwidth_utilized'] = 'Utilized : '; -$l['band_percent_utilized'] = '% Utilized : '; -$l['band_graphheader'] = 'Bandwidth Utilization'; -$l['band_unlimited'] = 'Unlimited'; -$l['band_network_speed'] = 'Network Speed (MB/s)'; -$l['band_prev'] = 'Prev Month'; -$l['band_next'] = 'Next Month'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status logs'; -$l['sts_running'] = 'Running'; -$l['sts_stopped'] = 'Stopped'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Time'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System Alerts'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Process Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'The Username field was empty'; -$l['login_no_password'] = 'The Password field was empty'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; - -$l['login_sign_in'] = 'Sign in'; -$l['login_log_user'] = 'Email'; -$l['login_log_pass'] = 'Password'; -$l['login'] = 'Login'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; - -$l['login_pass_nomatch'] = 'The username or password you entered is incorrect.'; -$l['login_forgotpass'] = 'Forgot Password'; -$l['login_emailuser'] = 'Email Address'; -$l['login_enteremail'] = 'Enter your email address'; -$l['login_sub_email'] = 'Submit'; -$l['login_no_email'] = 'You did not submit your email address'; -$l['login_invalidemail'] = 'The email address you submitted is invalid'; -$l['login_mail_sub'] = 'Reset Password'; -$l['login_mail_body'] = 'Hi, - -A request to reset your password has been made. -If you did not request the password reset, then please ignore this email. - -If you would like to reset your password, then please click the URL below : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Please Note : Above link is valid for 24 hours only. - -Regards, -'.$globals['sn']; -$l['login_mail_done'] = 'A mail has been sent with the details to reset your password'; -$l['login_back_to_login'] = 'Back to Login'; - -$l['login_resetpass'] = 'Reset Password'; -$l['login_log_new_pass'] = 'New password'; -$l['login_log_reppass'] = 'Confirm Password'; -$l['login_changepass'] = 'Change Password'; -$l['login_no_key'] = 'No Reset Key was submitted'; -$l['login_invalidkey'] = 'You specified an invalid key'; -$l['login_no_new'] = 'Please enter valid Password'; -$l['login_no_reppass'] = 'Please enter confirm password'; -$l['login_no_match'] = 'The passwords you gave do not match'; -$l['login_keyexpire'] = 'Key is no longer valid'; -$l['login_passchanged'] = 'Password Changed Successfully.'; -$l['login_forgot_pass'] = 'Forgot Password'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = 'Recipes'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Recipe'; -$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; -$l['rec_short_desc'] = 'Recipes are predefined bash codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_transactions'] = 'Transactions'; -$l['bill_balance'] = 'Balance as on:'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['vm'] = VM_SHORT; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'Install SSL'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; - -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'You did not specify the new password.'; +$l['cpas_no_conf'] = 'The confirmation password is missing.'; +$l['cpas_no_match'] = 'The passwords you gave do not match'; +$l['cpas_err_changing'] = 'There were some errors while changing the password.'; +$l['cpas_submit_button'] = 'Change Password'; +$l['cpas_new_pass'] = 'New Password'; +$l['cpas_old_pass'] = 'Old Password'; +$l['cpas_retype_pass'] = 'Retype New Password'; +$l['cpas_change_note'] = 'Change Root Password'; +$l['cpas_change_final'] = 'Your password has been changed successfully'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Changing the '.VM_SHORT.' root password...'; +$l['cpas_strength_indicator'] = 'Strength Indicator'; +$l['cpas_bad'] = 'Bad'; +$l['cpas_good'] = 'Good'; +$l['cpas_strong'] = 'Strong'; +$l['cpas_short'] = 'Short'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Used'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Please specify a Hostname to change.'; +$l['hn_new_host'] = 'New Host Name'; +$l['hn_submit_button'] = 'Change Hostname'; +$l['hn_err_changing'] = 'There were some errors while changing the hostname.'; +$l['hn_host_final'] = 'Your Hostname has been changed successfully'; +$l['hn_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['hn_change_onboot'] = 'Your hostname will be changed when the '.VM_SHORT.' is booted again'; +$l['hn_current_hostname'] = 'Current Hostname'; +$l['hn_change_notify'] = 'Changing the hostname...'; +$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'No IPs selected'; +$l['ips_ip_not_exists'] = 'IPs do not exists'; +$l['ips_header'] = ' IPs'; +$l['ips_ipinfo'] = 'IP Information'; +$l['ips_reorderips'] = 'Set Primary IP'; +$l['ips_done'] = 'Your IP settings have been saved.'; +$l['ips_change_onboot'] = 'Your IP settings will be changed when the '.VM_SHORT.' is booted again'; +$l['ips_primary_ip'] = 'Select Primary IP '; +$l['ips_ipv6_ips_list'] = 'IPV6 IPs'; +$l['ips_ipv6_empty'] = 'IPV6 Empty'; +$l['ips_change_notify'] = 'Changing the IP settings...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU Information'; +$l['mon_totalcpu'] = 'Total CPU :'; +$l['mon_cpuutilised'] = 'Utilised : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'CPU Utilization'; +$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'You did not select the OS'; +$l['os_invalid_os'] = 'The OS submitted is invalid'; +$l['os_no_new'] = 'You did not specify the new password.'; +$l['os_no_conf'] = 'The confirmation password is missing.'; +$l['os_no_match'] = 'The passwords you gave do not match'; +$l['os_error_reins'] = 'There was an error while reinstalling the OS'; +$l['os_err_changing'] = 'There were some errors while setting the password.'; +$l['os_err_log_osreinstall'] = 'You have exceeded your OS reinstall limit. Please contact your administrator'; +$l['os_reins_os'] = 'Re-Install OS'; +$l['os_os_reinstall'] = 'Reinstall'; +$l['os_new_pass'] = 'New Password'; +$l['os_retype_pass'] = 'Retype Password'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = 'The OS reinstall process has been started in the background'; +$l['os_reins_notify'] = 'Reinstalling the '.VM_SHORT.' Operating System...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'Bad'; +$l['os_good'] = 'Good'; +$l['os_strong'] = 'Strong'; +$l['os_short'] = 'Short'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = 'Passwords do not match'; +$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'VNC Information'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC Port'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC will only work if java is installed and enabled in your browser'; +$l['vnc_not_enabled'] = 'VNC is not enabled'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'You did not specify the new password.'; +$l['vncpas_no_conf'] = 'The confirmation password is missing.'; +$l['vncpas_no_match'] = 'The passwords you gave do not match'; +$l['vncpas_err_changing'] = 'There were some errors while changing the password.'; +$l['vncpas_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed'; +$l['vncpas_submit_button'] = 'Change VNC Password'; +$l['vncpas_new_pass'] = 'New Password'; +$l['vncpas_old_pass'] = 'Old Password'; +$l['vncpas_retype_pass'] = 'Retype New Password'; +$l['vncpas_change_note'] = 'Change VNC Password'; +$l['vncpas_change_final'] = 'Your VNC Password has been changed successfully.'; +$l['vncpas_change_notify'] = 'Changing the VNC Password...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'You did not specify the new password'; +$l['up_no_conf'] = 'The confirmation password is missing'; +$l['up_no_match'] = 'The passwords you gave do not match'; +$l['up_err_changing'] = 'There were some errors while changing the password.'; +$l['up_new_pass'] = 'New Password'; +$l['up_old_pass'] = 'Old Password'; +$l['up_retype_pass'] = 'Retype New Password'; +$l['up_page_head'] = 'Change Password'; +$l['up_change_final'] = 'Your Password has been changed successfully'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'You did not enter the First Name'; +$l['pr_no_lname'] = 'You did not enter the Last Name'; +$l['pr_firstname'] = 'First Name'; +$l['pr_lastname'] = 'Last Name'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Your changes have been saved successfully'; +$l['pr_tax_number'] = 'Enter '.$globals['tax_name'].' number'; +$l['pr_tax_number_exp'] = 'If you want your '.$globals['tax_name'].' number on inovice please enter your '.$globals['tax_name'].' '; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Start'; +$l['ser_sstop'] = ' Stop'; +$l['ser_srestart'] = 'Restart'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'Running'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autostart'; +$l['ser_select'] = 'Select'; +$l['ser_vps_is_off'] = 'The '.VM_SHORT.' is off !'; +$l['ser_no_feature'] = 'This feature is not available !'; +$l['ser_notice_start'] = 'The selected service(s) are being started..'; +$l['ser_notice_stop'] = 'The selected service(s) are being stopped..'; +$l['ser_notice_restart'] = 'The selected service(s) are being restarted..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'List of Processes'; +$l['proc_usr'] = 'User'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Command'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'time'; +$l['proc_select'] = 'select'; +$l['proc_pstart'] = 'start'; +$l['proc_pkill'] = 'Kill'; +$l['proc_prefresh'] = 'Autorefresh'; +$l['proc_vps_is_off'] = 'The '.VM_SHORT.' is off !'; +$l['proc_no_feature'] = 'This feature is not available !'; +$l['proc_notice_pkill'] = 'Stopping the selected process(es) :'; +$l['proc_with_selected'] = 'With Selected :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Date'; +$l['log_task'] = 'Task'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Successful'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Manage IPv6 Subnets'; +$l['mng_done'] = 'IPs were saved successfully'; +$l['mng_add_ipv6'] = 'Add an Ipv6 address'; +$l['mng_add_ip_button'] = 'Add IP'; +$l['mng_back_button'] = 'Back'; +$l['mng_save_button'] = 'Save'; +$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 Address'; +$l['mng_ipv6_delete'] = 'Delete'; +$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; +$l['mng_edit_subnet'] = 'Edit'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Manage Zone'; +$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; +$l['mz_add_pdns'] = 'Add PDNS Server'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'The Zone has been added successfully'; +$l['mz_add_zone'] = 'Add Zone Record'; +$l['mz_zone_name'] = 'Zone Name'; +$l['mz_pdns_zones'] = 'View Zones'; +$l['mz_manage_zone'] = 'Manage'; +$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; +$l['mz_add_done'] = 'The record has been added successfully'; +$l['mz_edit_done'] = 'The record has been edited successfully'; +$l['mz_del_done'] = 'The record has been deleted successfully'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Server Name'; +$l['mz_submit_button'] = 'Add Record'; +$l['mz_edit_button'] = 'Edit Record'; +$l['mz_no_domains'] = 'There are no zones on record'; +$l['mz_err_addzone'] = 'There was an error adding the zone'; +$l['mz_inv_name'] = 'Invalid hostname specified'; +$l['mz_inv_ip'] = 'Invalid IP Address specified'; +$l['mz_inv_tld'] = 'Invalid top level domain specified'; +$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; +$l['mz_inv_int'] = 'Invalid integer specified'; +$l['mz_err_add'] = 'There was an error while adding the record'; +$l['mz_err_del'] = 'There was an error while deleting the record'; +$l['mz_err_edit'] = 'There was an error while editing the record'; +$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; +$l['mz_rec_exists'] = 'The record already exists'; +$l['mz_records_limit'] = 'The limit for adding records has been reached'; +$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; +$l['pdns_page_head'] = 'DNS Management'; +$l['pdns_add_done'] = 'The Zone has been added successfully'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Add Zone'; +$l['pdns_zone_name'] = 'Zone Name'; +$l['pdns_manage_zone'] = 'Manage'; +$l['pdns_no_domains'] = 'There are no zones on record'; +$l['pdns_no_name'] = 'The domain name was not specified'; +$l['pdns_err_addzone'] = 'There was an error adding the zone'; +$l['pdns_err_delete'] = 'There was an error deleting the zone'; +$l['pdns_inv_domain'] = 'The specified domain name is invalid'; +$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; +$l['pdns_domain_exists'] = 'This domain name already exists'; +$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; +$l['pdns_no_dns'] = 'DNS management not available'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = 'Submit'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'No language was selected'; +$l['us_wrong_lang'] = 'The language you selected does not exist'; +$l['us_no_timezone'] = 'You did not select the timezone'; +$l['us_timezone_invalid'] = 'The timezone you selected is invalid'; +$l['us_wrong_theme'] = 'The Theme you selected does not exist'; +$l['us_page_head'] = 'User Settings'; +$l['us_change_final'] = 'Your settings have been save successfully'; +$l['us_choose_lang'] = 'Choose Language'; +$l['us_exp_lang'] = 'Choose your preferred language'; +$l['us_timezone'] = 'Timezone'; +$l['us_default_timezone'] = 'Server Default'; +$l['us_edit_settings'] = 'Edit Settings'; +$l['us_done'] = 'Your settings were saved successfully'; +$l['us_choose_theme'] = 'Choose Theme'; +$l['us_exp_theme'] = 'Choose your preferred theme'; +$l['us_no_theme'] = 'No Theme was selected'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = 'Network Speed'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = 'Network Speed'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_free'] = 'Free'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_submit'] = 'Create'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = 'Network Speed'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'The panel you selected is invalid'; +$l['cpan_err_installing'] = 'There was an error installing the Panel'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'The Panel installation has begun and will be completed soon'; +$l['cpan_change_onboot'] = 'The Panel will be installed when you shutdown and then start the '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Control panels'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'The ISO you selected is invalid'; +$l['hvm_err_editing'] = 'There were some errors while saving the settings'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = 'Submit'; +$l['hvm_done'] = 'The settings have been save successfully'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Boot Order'; +$l['hvm_isos'] = 'Select ISO'; +$l['hvm_none'] = 'None'; +$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; +$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU Information'; +$l['cpu_totalcpu'] = 'Total CPU :'; +$l['cpu_cpuutilised'] = 'Utilised : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'CPU Utilization'; +$l['cpu_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM Information'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Guaranteed RAM : '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Utilised :'; +$l['ram_percentram'] = 'Utilization % :'; +$l['ram_graphheader'] = 'RAM Utilization'; +$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Disk'; +$l['disk_diskinfo'] = 'Disk Information'; +$l['disk_totaldisk'] = 'Total Disk : '; +$l['disk_diskutilised'] = 'Utilised : '; +$l['disk_percentdisk'] = 'Utilization % : '; +$l['disk_graphheader'] = 'Disk Utilization'; +$l['disk_inodesinfo'] ='Inodes Information'; +$l['disk_inodestotal'] = 'Total Inodes :'; +$l['disk_inodesutilised'] = 'Utilised : '; +$l['disk_percent_inodes'] = 'Utilization % :'; +$l['disk_inodesheader'] = 'Inodes Utilization'; +$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Bandwidth'; +$l['band_bandwidthinfo'] = 'Bandwidth Information'; +$l['band_Total_Bandwidth'] = 'Total Bandwidth :'; +$l['band_bandwidth_utilized'] = 'Utilized : '; +$l['band_percent_utilized'] = '% Utilized : '; +$l['band_graphheader'] = 'Bandwidth Utilization'; +$l['band_unlimited'] = 'Unlimited'; +$l['band_network_speed'] = 'Network Speed (MB/s)'; +$l['band_prev'] = 'Prev Month'; +$l['band_next'] = 'Next Month'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status logs'; +$l['sts_running'] = 'Running'; +$l['sts_stopped'] = 'Stopped'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Time'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System Alerts'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Process Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'The Username field was empty'; +$l['login_no_password'] = 'The Password field was empty'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; + +$l['login_sign_in'] = 'Sign in'; +$l['login_log_user'] = 'Email'; +$l['login_log_pass'] = 'Password'; +$l['login'] = 'Login'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; + +$l['login_pass_nomatch'] = 'The username or password you entered is incorrect.'; +$l['login_forgotpass'] = 'Forgot Password'; +$l['login_emailuser'] = 'Email Address'; +$l['login_enteremail'] = 'Enter your email address'; +$l['login_sub_email'] = 'Submit'; +$l['login_no_email'] = 'You did not submit your email address'; +$l['login_invalidemail'] = 'The email address you submitted is invalid'; +$l['login_mail_sub'] = 'Reset Password'; +$l['login_mail_body'] = 'Hi, + +A request to reset your password has been made. +If you did not request the password reset, then please ignore this email. + +If you would like to reset your password, then please click the URL below : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Please Note : Above link is valid for 24 hours only. + +Regards, +'.$globals['sn']; +$l['login_mail_done'] = 'A mail has been sent with the details to reset your password'; +$l['login_back_to_login'] = 'Back to Login'; + +$l['login_resetpass'] = 'Reset Password'; +$l['login_log_new_pass'] = 'New password'; +$l['login_log_reppass'] = 'Confirm Password'; +$l['login_changepass'] = 'Change Password'; +$l['login_no_key'] = 'No Reset Key was submitted'; +$l['login_invalidkey'] = 'You specified an invalid key'; +$l['login_no_new'] = 'Please enter valid Password'; +$l['login_no_reppass'] = 'Please enter confirm password'; +$l['login_no_match'] = 'The passwords you gave do not match'; +$l['login_keyexpire'] = 'Key is no longer valid'; +$l['login_passchanged'] = 'Password Changed Successfully.'; +$l['login_forgot_pass'] = 'Forgot Password'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = 'Recipes'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Recipe'; +$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; +$l['rec_short_desc'] = 'Recipes are predefined bash codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_transactions'] = 'Transactions'; +$l['bill_balance'] = 'Balance as on:'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['vm'] = VM_SHORT; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'Install SSL'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; + +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/english/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/english/index_lang.php index 861aec5..544e2d3 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/english/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/english/index_lang.php @@ -1,440 +1,440 @@ -Today at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Theme Error';//Title -$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Theme Function Error';//Title -$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; - -$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'The following errors were found'; - -//Success Message Function -$l['following_message'] = 'The following message was returned'; - -//Major Error Function -$l['fatal_error'] = 'Fatal Error'; -$l['following_fatal_error'] = 'The following error occured'; - -//Message Function -$l['soft_message'] = 'Message'; -$l['following_soft_message'] = 'The following message was returned'; - -$l['err_user_head'] = 'Error'; -$l['err_user'] = 'Could not determine the type of user'; - -//Update Softaculous -$l['getting_info'] = 'Requesting Information......'; -$l['error_getting_latest'] = 'Could not get information......Abandoning'; -$l['got_info'] = 'Got information'; -$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; -$l['no_updates'] = 'Current Version is Latest Version......Continuing'; -$l['fetch_upgrade'] = 'Fetching Upgrade......'; -$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; -$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; -$l['got_upgrade'] = 'Saved the Upgrade File'; -$l['unzip_upgrade'] = 'Unzipping the files......'; -$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; -$l['unzipped_upgrade'] = 'Unzipped Successfully'; -$l['running_upgrade'] = 'Running Upgrade......'; -$l['succ_upgrade'] = 'Completed'; -$l['error_upgrade'] = 'The following errors occured while upgrading :'; - -//MySQL Errors -$l['err_selectmy'] = 'The MySQL Database could not be selected.'; -$l['err_myconn'] = 'The MySQL Connection could not be established.'; -$l['err_makequery'] = 'Could not make the query numbered'; -$l['err_mynum'] = 'MySQL Error No'; -$l['err_myerr'] = 'MySQL Error'; - -//hf_theme.php -$l['welcome'] = 'Welcome'; -$l['logout'] = 'Logout'; -$l['page_time'] = 'Page Created In'; -$l['times_are'] = 'All times are GMT'; -$l['time_is'] = 'The time now is'; -$l['load_start'] = 'Starting'; -$l['load_stop'] = 'Stopping'; -$l['load_restart'] = 'Restarting'; -$l['load_poweroff'] = 'Powering Off'; - -//The Category Language Variables -$l['dock_restart'] = 'Restart Container'; -$l['dock_stop'] = 'Stop Container'; -$l['dock_start'] = 'Start Container'; -$l['dock_poweroff'] = 'Poweroff Container'; -$l['dock_home'] = 'Home'; -$l['dock_settings'] = 'Edit Settings'; -$l['dock_help'] = 'Help and Support'; -$l['dock_sync'] = 'Synchronize with other Auto Installers'; -$l['go_home'] = 'Home'; -$l['dock_user'] = 'User Profile'; -$l['dock_password'] = 'Change Password'; -$l['dock_vps'] = 'List '.VM_LONG; - -// Left Menu -$l['lm_file_mgr'] = 'File Manager'; -$l['lm_res'] = 'Resources'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] = 'Raid Health'; -$l['lm_process'] = 'Processes'; -$l['lm_service'] = 'Services'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Password'; -$l['lm_statusc'] = 'Status Logs'; -$l['lm_res_a'] = 'System Alerts'; -$l['lm_logs'] = 'Task Logs'; -$l['lm_bandwidth'] = 'Bandwidth'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Account Password'; -$l['lm_controlpanel'] = 'Control Panel'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = 'Disk'; -$l['lm_ostemp'] ='OS Re-install'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Logs'; -$l['lm_ips'] = 'IPs'; -$l['lm_hvmsettings'] = VM_SHORT.' Configuration'; -$l['lm_apikey'] = 'API Credentials'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - -// Users left menu -$l['lm_vs'] = 'List '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Settings'; -$l['lm_profile'] = 'My Profile'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Type the page to jump to'; -$l['page_page'] = 'Page'; -$l['page_of'] = 'of'; -$l['page_go'] = 'Go'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'The OS Template was not found'; -$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; -$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; -$l['correct_kernel'] = 'Please reboot into the correct kernel.'; -$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; -$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['temp_exists'] = 'The Template file already exists'; -$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; -$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; -$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'There was an error during the disk copy operation'; -$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; -$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['xen_err_untar'] = 'There was an error while extracting the OS template'; -$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'There was an error during the disk copy operation'; -$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; -$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; -$l['kvm_err_tar'] = 'There was an error while compressing the archive'; -$l['xen_err_tar'] = 'There was an error while compressing the archive'; -$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'There was an error with the backup tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; -$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; -$l['openvz_err_space'] = 'There was an error setting the disk space'; -$l['openvz_err_inodes'] = 'There was an error setting the disk space'; -$l['openvz_err_hostname'] = 'There was an error setting the hostname'; -$l['openvz_err_ip'] = 'There was an error setting the IP Address'; -$l['openvz_err_dns'] = 'There was an error setting the DNS'; -$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; -$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; -$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; -$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; -$l['openvz_err_create'] = 'There was an error creating the container'; -$l['vswap_error'] = 'There was an error while setting the VSwap settings'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Suspended'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; - -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; - -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Today at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Theme Error';//Title +$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Theme Function Error';//Title +$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; + +$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'The following errors were found'; + +//Success Message Function +$l['following_message'] = 'The following message was returned'; + +//Major Error Function +$l['fatal_error'] = 'Fatal Error'; +$l['following_fatal_error'] = 'The following error occured'; + +//Message Function +$l['soft_message'] = 'Message'; +$l['following_soft_message'] = 'The following message was returned'; + +$l['err_user_head'] = 'Error'; +$l['err_user'] = 'Could not determine the type of user'; + +//Update Softaculous +$l['getting_info'] = 'Requesting Information......'; +$l['error_getting_latest'] = 'Could not get information......Abandoning'; +$l['got_info'] = 'Got information'; +$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; +$l['no_updates'] = 'Current Version is Latest Version......Continuing'; +$l['fetch_upgrade'] = 'Fetching Upgrade......'; +$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; +$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; +$l['got_upgrade'] = 'Saved the Upgrade File'; +$l['unzip_upgrade'] = 'Unzipping the files......'; +$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; +$l['unzipped_upgrade'] = 'Unzipped Successfully'; +$l['running_upgrade'] = 'Running Upgrade......'; +$l['succ_upgrade'] = 'Completed'; +$l['error_upgrade'] = 'The following errors occured while upgrading :'; + +//MySQL Errors +$l['err_selectmy'] = 'The MySQL Database could not be selected.'; +$l['err_myconn'] = 'The MySQL Connection could not be established.'; +$l['err_makequery'] = 'Could not make the query numbered'; +$l['err_mynum'] = 'MySQL Error No'; +$l['err_myerr'] = 'MySQL Error'; + +//hf_theme.php +$l['welcome'] = 'Welcome'; +$l['logout'] = 'Logout'; +$l['page_time'] = 'Page Created In'; +$l['times_are'] = 'All times are GMT'; +$l['time_is'] = 'The time now is'; +$l['load_start'] = 'Starting'; +$l['load_stop'] = 'Stopping'; +$l['load_restart'] = 'Restarting'; +$l['load_poweroff'] = 'Powering Off'; + +//The Category Language Variables +$l['dock_restart'] = 'Restart Container'; +$l['dock_stop'] = 'Stop Container'; +$l['dock_start'] = 'Start Container'; +$l['dock_poweroff'] = 'Poweroff Container'; +$l['dock_home'] = 'Home'; +$l['dock_settings'] = 'Edit Settings'; +$l['dock_help'] = 'Help and Support'; +$l['dock_sync'] = 'Synchronize with other Auto Installers'; +$l['go_home'] = 'Home'; +$l['dock_user'] = 'User Profile'; +$l['dock_password'] = 'Change Password'; +$l['dock_vps'] = 'List '.VM_LONG; + +// Left Menu +$l['lm_file_mgr'] = 'File Manager'; +$l['lm_res'] = 'Resources'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] = 'Raid Health'; +$l['lm_process'] = 'Processes'; +$l['lm_service'] = 'Services'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Password'; +$l['lm_statusc'] = 'Status Logs'; +$l['lm_res_a'] = 'System Alerts'; +$l['lm_logs'] = 'Task Logs'; +$l['lm_bandwidth'] = 'Bandwidth'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Account Password'; +$l['lm_controlpanel'] = 'Control Panel'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = 'Disk'; +$l['lm_ostemp'] ='OS Re-install'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Logs'; +$l['lm_ips'] = 'IPs'; +$l['lm_hvmsettings'] = VM_SHORT.' Configuration'; +$l['lm_apikey'] = 'API Credentials'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + +// Users left menu +$l['lm_vs'] = 'List '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Settings'; +$l['lm_profile'] = 'My Profile'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Type the page to jump to'; +$l['page_page'] = 'Page'; +$l['page_of'] = 'of'; +$l['page_go'] = 'Go'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'The OS Template was not found'; +$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; +$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; +$l['correct_kernel'] = 'Please reboot into the correct kernel.'; +$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; +$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['temp_exists'] = 'The Template file already exists'; +$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; +$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; +$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'There was an error during the disk copy operation'; +$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; +$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['xen_err_untar'] = 'There was an error while extracting the OS template'; +$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'There was an error during the disk copy operation'; +$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; +$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; +$l['kvm_err_tar'] = 'There was an error while compressing the archive'; +$l['xen_err_tar'] = 'There was an error while compressing the archive'; +$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'There was an error with the backup tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; +$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; +$l['openvz_err_space'] = 'There was an error setting the disk space'; +$l['openvz_err_inodes'] = 'There was an error setting the disk space'; +$l['openvz_err_hostname'] = 'There was an error setting the hostname'; +$l['openvz_err_ip'] = 'There was an error setting the IP Address'; +$l['openvz_err_dns'] = 'There was an error setting the DNS'; +$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; +$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; +$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; +$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; +$l['openvz_err_create'] = 'There was an error creating the container'; +$l['vswap_error'] = 'There was an error while setting the VSwap settings'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Suspended'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; + +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; + +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/french/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/french/enduser_lang.php index 0554e16..24ec9c6 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/french/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/french/enduser_lang.php @@ -1,2122 +1,2122 @@ - Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; -$l['twofactauth_secret_key'] = 'Secret Key : '; -$l['twofactauth_code_input'] = 'Confirmation code'; -$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; -$l['twofactauth_submit'] = 'Submit'; -$l['twofactauth_select_pref'] = 'Select Preference : '; -$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; -$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; -$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; -$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; -$l['twofactauth_email_passcode'] = 'Email Code'; -$l['twofactauth_none'] = 'None (Not Recommended !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; -$l['twofactauth_no_passcode'] = 'Please specify the OTP'; -$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Reset Key'; -$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; -$l['twofactauth_otp_mail_body'] = 'Hi, - -A login request was submitted for your account at : -{{site_domain}} - -Please use the following One Time password (OTP) to login : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; -$l['twofactauth_passcode_mail_body'] = 'Hi, - -The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; -$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; -$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; -$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'You did not enter the Email ID'; -$l['adu_no_user_password'] = 'You did not enter the Password'; -$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Add User'; -$l['adu_done'] = 'User has been added'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Password'; -$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Vous navez pas spécifié le nouveau Mot de Passe.'; -$l['cpas_no_conf'] = 'Le Mot de Passe de confirmation est manquant.'; -$l['cpas_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; -$l['cpas_err_changing'] = 'Il ya eu des erreurs pendant le changement de Mot de Passe.'; -$l['cpas_submit_button'] = 'Changer Mot de Passe'; -$l['cpas_new_pass'] = 'Nouveau Mot de Passe'; -$l['cpas_old_pass'] = 'Ancien Mot de Passe'; -$l['cpas_retype_pass'] = 'Retaper le nouveau Mot de Passe'; -$l['cpas_change_note'] = 'Changer Mot de Passe root'; -$l['cpas_change_final'] = 'Votre Mot de Passe a été changé avec succès'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Changing the '.VM_SHORT.' root password...'; -$l['cpas_strength_indicator'] = 'Strength Indicator'; -$l['cpas_bad'] = 'Bad'; -$l['cpas_good'] = 'Good'; -$l['cpas_strong'] = 'Strong'; -$l['cpas_short'] = 'Short'; -$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['cpas_pass_match'] = 'Passwords do not match'; -$l['cpas_disabled'] = 'Change Password is disabled by Admin'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Resources'; -$l['cr_resource_type'] = 'Resource Type'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Used'; -$l['cr_left'] = 'Available'; -$l['cr_unlimited'] = 'Unlimited'; -$l['cr_num_vs'] = 'Number of VMs'; -$l['cr_num_users'] = 'Number of Users'; -$l['cr_num_space'] = 'Disk Space'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Bandwidth'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Information'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'SVP spécifier un nom hôte à changer.'; -$l['hn_new_host'] = 'Nouveau Nom du Hote'; -$l['hn_submit_button'] = 'Changer Nom du Hote'; -$l['hn_err_changing'] = 'Il ya eu des erreurs pendant le changement de nom du hôte.'; -$l['hn_host_final'] = 'Votre nom du hôte a été modifié avec succès'; -$l['hn_invalid_hostname'] = 'Le nom du hôte que vous avez soumis nest pas valide'; -$l['hn_change_onboot'] = 'Votre nom de domaine sera modifié lorsque le '.VM_SHORT.' est redémarré'; -$l['hn_current_hostname'] = 'Nom du hôte actuel'; -$l['hn_change_notify'] = 'Changing the hostname...'; -$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Pas dadresses IP séléctionnés'; -$l['ips_ip_not_exists'] = 'Adressess IP existent pas'; -$l['ips_header'] = ' Adresses IP'; -$l['ips_ipinfo'] = 'Information Adresse IP'; -$l['ips_reorderips'] = 'Choisir IP Primaire'; -$l['ips_done'] = 'Vos paramètres IP ont été enregistrées.'; -$l['ips_change_onboot'] = 'Vos paramètres IP sera modifiée lorsque le '.VM_SHORT.' est démarré à nouveau'; -$l['ips_primary_ip'] = 'Sélectionnez IP primaire '; -$l['ips_ipv6_ips_list'] = 'IPs IPV6 '; -$l['ips_ipv6_empty'] = 'IPV6 vide'; -$l['ips_change_notify'] = 'Changing the IP settings...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU Information'; -$l['mon_totalcpu'] = 'Total CPU :'; -$l['mon_cpuutilised'] = 'Utilised : '; -$l['mon_poweredby'] = 'Powered by : '; -$l['mon_graphheader'] = 'CPU Utilization'; -$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; -$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Network'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Network Info'; -$l['mon_ntw_down_spd'] = 'Average Download Speed'; -$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_cpu_usage'] = 'CPU Usage'; -$l['mon_inode_usage'] = 'Inode Usage'; -$l['mon_ram_usage'] = 'RAM Usage'; -$l['mon_disk_usage'] = 'Disk Usage'; -$l['mon_down_speed'] = 'Download Speed'; -$l['mon_up_speed'] = 'Upload Speed'; -$l['mon_total_speed'] = 'Total Speed'; -$l['mon_cpu_hist'] = 'CPU Usage History'; -$l['mon_mem_hist'] = 'Memory Usage History'; -$l['mon_storage'] = 'Storage Used'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Inodes Used'; -$l['mon_net_speed'] = 'Network Speed'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Vous navez pas sélectionné le Systéme Exploitation'; -$l['os_invalid_os'] = 'Le système Exploitation soumis nest pas valide'; -$l['os_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe.'; -$l['os_no_conf'] = 'Le mot de passe de confirmation est manquant.'; -$l['os_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; -$l['os_error_reins'] = 'Il y avait une erreur lors de la réinstallation du Système Exploitation'; -$l['os_err_changing'] = 'Il ya eu des erreurs pendant le réglage du mot de passe.'; -$l['os_err_log_osreinstall'] = 'You have exceeded your OS reinstall limit. Please contact your administrator'; -$l['os_reins_os'] = 'Re-installation du Système Exploitation'; -$l['os_os_reinstall'] = 'Reinstall'; -$l['os_new_pass'] = 'Nouveau mot de passe'; -$l['os_retype_pass'] = 'Retaper le mot de passe'; -$l['os_genram_psswd'] = 'Make another random password'; -$l['os_done'] = 'The OS reinstall process has been started in the background'; -$l['os_reins_notify'] = 'Reinstalling the '.VM_SHORT.' Operating System...'; -$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'Bad'; -$l['os_good'] = 'Good'; -$l['os_strong'] = 'Strong'; -$l['os_short'] = 'Short'; -$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['os_pass_match'] = 'Passwords do not match'; -$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; -$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; -$l['os_no_os'] = 'No OS(s) available for reinstall'; -$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Information VNC'; -$l['vnc_vnc_ip'] = 'Adresse IP VNC '; -$l['vnc_vnc_port'] = 'Port VNC'; -$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; -$l['vnc_notice'] = 'VNC ne fonctionnera que si java est installé et activé dans votre navigateur'; -$l['vnc_not_enabled'] = 'VNC nest pas activé'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe.'; -$l['vncpas_no_conf'] = 'Le mot de passe de confirmation est manquant.'; -$l['vncpas_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; -$l['vncpas_err_changing'] = 'Il ya eu des erreurs pendant le changement de mot de passe.'; -$l['vncpas_no_nonalphanumeric'] = 'Pas de caractères non-alphanumériques sont autorisés'; -$l['vncpas_submit_button'] = 'Changer mot de passe VNC'; -$l['vncpas_new_pass'] = 'Nouveau mot de passe'; -$l['vncpas_old_pass'] = 'Ancien mot de passe'; -$l['vncpas_retype_pass'] = 'Retaper le nouveau mot de passe'; -$l['vncpas_change_note'] = 'Changer mot de passe VNC'; -$l['vncpas_change_final'] = 'Votre mot de passe VNC a été modifié avec succès.'; -$l['vncpas_change_notify'] = 'Changing the VNC Password...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe'; -$l['up_no_conf'] = 'Le mot de passe de confirmation est manquant'; -$l['up_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; -$l['up_err_changing'] = 'Il ya eu des erreurs pendant le changement de mot de passe.'; -$l['up_new_pass'] = 'Nouveau mot de passe'; -$l['up_old_pass'] = 'Ancien mot de passe'; -$l['up_retype_pass'] = 'Retaper le nouveau mot de passe'; -$l['up_page_head'] = 'Changer mot de passe'; -$l['up_change_final'] = 'Votre mot de passe a été changé avec succès'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Change Profile'; -$l['pr_no_fname'] = 'Vous navez pas inscrit le prénom'; -$l['pr_no_lname'] = 'Vous navez pas inscrit le prénom'; -$l['pr_firstname'] = 'Prénom'; -$l['pr_lastname'] = 'Nom'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Vos modifications ont été sauvegardés avec succès'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Démarrer'; -$l['ser_sstop'] = ' Stop'; -$l['ser_srestart'] = 'Restart'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'En marche'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autodémarrage'; -$l['ser_select'] = 'Selectionner'; -$l['ser_vps_is_off'] = 'The '.VM_SHORT.' est off !'; -$l['ser_no_feature'] = 'Cette fonctionnalité nest pas disponible !'; -$l['ser_notice_start'] = 'The selected service(s) are being started..'; -$l['ser_notice_stop'] = 'The selected service(s) are being stopped..'; -$l['ser_notice_restart'] = 'The selected service(s) are being restarted..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'List of Processes'; -$l['proc_usr'] = 'Utilisateur'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Commande'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'temps'; -$l['proc_select'] = 'selectionner'; -$l['proc_pstart'] = 'démarrer'; -$l['proc_pkill'] = 'Tuer'; -$l['proc_prefresh'] = 'Auto-Actualisation'; -$l['proc_vps_is_off'] = 'The '.VM_SHORT.' est hors ligne !'; -$l['proc_no_feature'] = 'Cette fonctionnalité nest pas disponible !'; -$l['proc_notice_pkill'] = 'Stopping the selected process(es) :'; -$l['proc_with_selected'] = 'With Selected :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Journaux'; -$l['log_date'] = 'Date'; -$l['log_task'] = 'Tâche'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'Adresse IP'; -$l['log_success'] = 'Successful'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Manage IPv6 Subnets'; -$l['mng_done'] = 'IPs were saved successfully'; -$l['mng_add_ipv6'] = 'Add an Ipv6 address'; -$l['mng_add_ip_button'] = 'Add IP'; -$l['mng_back_button'] = 'Back'; -$l['mng_save_button'] = 'Save'; -$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; -$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; -$l['mng_ipv6_address'] = 'IPv6 Address'; -$l['mng_ipv6_delete'] = 'Delete'; -$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; -$l['mng_edit_subnet'] = 'Edit'; -$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Manage Zone'; -$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; -$l['mz_add_pdns'] = 'Add PDNS Server'; -$l['mz_dns_mgmt'] = 'DNS Management'; -$l['mz_zone_add_done'] = 'The Zone has been added successfully'; -$l['mz_add_zone'] = 'Add Zone Record'; -$l['mz_zone_name'] = 'Zone Name'; -$l['mz_pdns_zones'] = 'View Zones'; -$l['mz_manage_zone'] = 'Manage'; -$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; -$l['mz_add_done'] = 'The record has been added successfully'; -$l['mz_edit_done'] = 'The record has been edited successfully'; -$l['mz_del_done'] = 'The record has been deleted successfully'; -$l['mz_priority'] = 'Priority'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Points to'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Server Name'; -$l['mz_submit_button'] = 'Add Record'; -$l['mz_edit_button'] = 'Edit Record'; -$l['mz_no_domains'] = 'There are no zones on record'; -$l['mz_err_addzone'] = 'There was an error adding the zone'; -$l['mz_inv_name'] = 'Invalid hostname specified'; -$l['mz_inv_ip'] = 'Invalid IP Address specified'; -$l['mz_inv_tld'] = 'Invalid top level domain specified'; -$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; -$l['mz_inv_int'] = 'Invalid integer specified'; -$l['mz_err_add'] = 'There was an error while adding the record'; -$l['mz_err_del'] = 'There was an error while deleting the record'; -$l['mz_err_edit'] = 'There was an error while editing the record'; -$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; -$l['mz_rec_exists'] = 'The record already exists'; -$l['mz_records_limit'] = 'The limit for adding records has been reached'; -$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; -$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; -$l['pdns_page_head'] = 'DNS Management'; -$l['pdns_add_done'] = 'The Zone has been added successfully'; -$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; -$l['pdns_add_zone'] = 'Add Zone'; -$l['pdns_zone_name'] = 'Zone Name'; -$l['pdns_manage_zone'] = 'Manage'; -$l['pdns_no_domains'] = 'There are no zones on record'; -$l['pdns_no_name'] = 'The domain name was not specified'; -$l['pdns_err_addzone'] = 'There was an error adding the zone'; -$l['pdns_err_delete'] = 'There was an error deleting the zone'; -$l['pdns_inv_domain'] = 'The specified domain name is invalid'; -$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; -$l['pdns_domain_exists'] = 'This domain name already exists'; -$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; -$l['pdns_no_dns'] = 'DNS management not available'; -$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; -$l['pdns_primary_nameserver'] = 'Primary Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; -$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Add Reverse DNS'; -$l['rdns_zone_name'] = 'Zone Name'; -$l['rdns_exp_zone_name'] = 'The Zone Name'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Select server'; -$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; -$l['rdns_sub_but'] = 'Submit'; -$l['rdns_rdns_ip'] = 'IP Address'; -$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; -$l['rdns_rdns_domain'] = 'Domain name'; -$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; -$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; -$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; -$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; -$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; -$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; -$l['rdns_no_zone_name'] = 'The zone name was not specified'; -$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; -$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; -$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; -$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; -$l['rdns_err_save'] = 'There was an error in saving the data'; -$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; -$l['rdns_zone_exists'] = 'This zone already exists'; -$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; -$l['rdns_rdns_existing'] = 'rDNS Records'; -$l['rdns_deleted'] = 'The rDNS record has been deleted'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'You did not enter the Email ID'; -$l['edu_no_user_password'] = 'You did not enter the Password'; -$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['edu_uid_not_found'] = 'User ID not found'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Edit User'; -$l['edu_done'] = 'User has been edited'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Password'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; -$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; -$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; -$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; -$l['resc_enable_rescue'] = 'Enable Rescue Mode'; -$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; -$l['resc_disable_rescue'] = 'Disable Rescue Mode'; -$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; -$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; -$l['resc_root_pass'] = 'Root Password'; -$l['resc_root_pass_conf'] = 'Confirm Password'; -$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; -$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Pas de langue a été choisie'; -$l['us_wrong_lang'] = 'La langue que vous avez sélectionné nexiste pas'; -$l['us_no_timezone'] = 'Vous navez pas sélectionné le fuseau horaire'; -$l['us_timezone_invalid'] = 'Le fuseau horaire que vous avez sélectionné nest pas valide'; -$l['us_wrong_theme'] = 'Le thème que vous avez sélectionné nexiste pas'; -$l['us_page_head'] = 'Paramètres Utilisateur'; -$l['us_change_final'] = 'Vos paramètres ont été enregistré avec succès'; -$l['us_choose_lang'] = 'Choisissez la langue'; -$l['us_exp_lang'] = 'Choisissez votre langue préférée'; -$l['us_timezone'] = 'Fuseau horaire'; -$l['us_default_timezone'] = 'Serveur par défaut'; -$l['us_edit_settings'] = 'Modifier les paramètres'; -$l['us_done'] = 'Vos paramètres ont été sauvegardés avec succès'; -$l['us_choose_theme'] = 'Choisir un Theme'; -$l['us_exp_theme'] = 'Choisissez votre thème préféré'; -$l['us_no_theme'] = 'Aucun thème a été choisi'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'If empty default Logo will be displayed'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; - -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -//--------------END OF HAProxy Lang------------ - - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Please specify the type of Virtualization'; -$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; -$l['li_no_hname'] = 'Please specify the Hostname'; -$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; -$l['li_no_rootpass'] = 'Please specify a Root Password'; -$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; -$l['li_no_ram'] = 'Please specify the RAM memory'; -$l['li_no_vncpass'] = 'Please specify a VNC Password'; -$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; -$l['li_no_cpu_units'] = 'Please specify the CPU Units'; -$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'The Region you selected is invalid'; -$l['li_invalid_plid'] = 'The Plan you selected is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; -$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; -$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; -$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; -$l['li_invalid_os'] = 'The OS you submitted is invalid'; -$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['li_invalid_uid'] = 'The User you submitted does not exist'; -$l['li_no_user'] = 'You did not specify the user email'; -$l['li_no_user_pass'] = 'You did not specify the user password'; -$l['li_invalid_email'] = 'The user email address is invalid'; -$l['li_emailexist'] = 'The new user email you specified already exists'; -$l['li_err_user'] = 'There was an error while adding the user'; -$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['li_less_inodes'] = 'The inodes should not be less than 50000'; -$l['li_less_vs'] = 'You are not allowed to create more VMs'; -$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; -$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; -$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; -$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; -$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; -$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; -$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; -$l['li_page_head'] = 'Launch '.VM_SHORT; -$l['li_vstype'] = 'Type'; -$l['li_done'] = 'The '.VM_LONG.'. has been created.'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Password'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Password'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'Change the current server to change the server'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'User'; -$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['li_user_email'] = 'User Email'; -$l['li_user_pass'] = 'Password'; -$l['li_add_user'] = 'Add User'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualization'; -$l['li_os'] = 'Operating System'; -$l['li_select'] = 'Select'; -$l['li_vs_plan'] = 'Select Plan'; -$l['li_plan_exp'] = 'Select a pre-defined plan'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; -$l['li_vsos'] = 'Operating System'; -$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; -$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; -$l['li_none'] = 'None'; -$l['li_rootpass'] = VM_SHORT.' Root Password'; -$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; -$l['li_randpass'] = 'Make another Random Password'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['li_ip'] = 'IP Address'; -$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; -$l['li_ips'] = 'IP Address'; -$l['li_ips6_subnet'] = 'IPv6 Subnets'; -$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; -$l['li_ips6'] = 'IPv6 Addresses'; -$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Remove this IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Space'; -$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_mac'] = 'MAC Address'; -$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; -$l['li_gram'] = 'Guaranteed RAM'; -$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_band'] = 'Bandwidth'; -$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Units'; -$l['li_cpalloc'] = 'CPU units to be allocated'; -$l['li_cpalloc_xen'] = 'Recommended Value : 256'; -$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; -$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; -$l['li_units'] = 'units'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Recommended Value :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = 'Network Speed'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = 'Network Speed'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = 'Network Speed'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Le panneau que vous avez sélectionné nest pas valide'; -$l['cpan_err_installing'] = 'Il y avait une erreur dinstaller le panneau'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'Linstallation du Panel a commencé et sera bientôt terminé'; -$l['cpan_change_onboot'] = 'Le Panel sera installé lorsque vous redémarrez le '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Control panels'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'ISO que vous avez sélectionné nest pas valide'; -$l['hvm_err_editing'] = 'Il ya eu des erreurs lors de lenregistrement des paramètres'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = 'Valider'; -$l['hvm_done'] = 'Les paramètres ont été enregistrés avec succès'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Ordre de démarrage'; -$l['hvm_isos'] = 'Selectionner ISO'; -$l['hvm_none'] = 'Rien'; -$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; -$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' Processeur '; -$l['cpu_cpuinfo'] = 'Informations Processeur'; -$l['cpu_totalcpu'] = 'CPU Total :'; -$l['cpu_cpuutilised'] = 'Utilisé : '; -$l['cpu_poweredby'] = 'Propulsé par :'; -$l['cpu_graphheader'] = 'Utilisation du Processeur'; -$l['cpu_trademarks'] = 'Tous les logos respectifs sont des marques commerciales utilisées ou des marques déposées de leurs sociétés respectives.'; -$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' Memoire RAM'; -$l['ram_raminfo'] = 'Information Memoire RAM'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'RAM Guarantie: '; -$l['ram_burstable'] = 'Maximum :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Utilisé :'; -$l['ram_percentram'] = 'Utilisation % :'; -$l['ram_graphheader'] = 'Utilisation RAM'; -$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Disque Dur'; -$l['disk_diskinfo'] = 'Informations Disque'; -$l['disk_totaldisk'] = 'Total disque : '; -$l['disk_diskutilised'] = 'Utilisé : '; -$l['disk_percentdisk'] = 'Utilisation % : '; -$l['disk_graphheader'] = 'Utilisation Disque'; -$l['disk_inodesinfo'] = 'Informations Inodes'; -$l['disk_inodestotal'] = 'Total Inodes :'; -$l['disk_inodesutilised'] = 'Utilisé : '; -$l['disk_percent_inodes'] = 'Utilisation % :'; -$l['disk_inodesheader'] = 'Utilisation Inodes'; -$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Bande Passante'; -$l['band_bandwidthinfo'] = 'Informations Bande passante'; -$l['band_Total_Bandwidth'] = 'Bande passante totale:'; -$l['band_bandwidth_utilized'] = 'Utilisé : '; -$l['band_percent_utilized'] = '% utilisé : '; -$l['band_graphheader'] = 'Utilisation de bande passante'; -$l['band_unlimited'] = 'Illimité'; -$l['band_network_speed'] = 'Network Speed (MB/s)'; -$l['band_prev'] = 'Prev Month'; -$l['band_next'] = 'Next Month'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status logs'; -$l['sts_running'] = 'En Marche'; -$l['sts_stopped'] = 'Arrété'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Time'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System Alerts'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Le champ Nom Utilisateur est vide'; -$l['login_no_password'] = 'Le champ Mot de passe est vide'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'You have used up your failed login quota of failed attempts! Please wait minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; -$l['login_sign_in'] = 'Identifiez-vous'; -$l['login_log_user'] = 'Email or Username'; -$l['login_log_pass'] = 'Mot de Passe'; -$l['login'] = 'Logis'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; -$l['login'] = 'Login'; -$l['login_pass_nomatch'] = 'Le nom Utilisateur ou mot de passe est incorrect.'; -$l['login_forgotpass'] = 'Mot de passe oublié'; -$l['login_emailuser'] = 'Adresse e-mail'; -$l['login_enteremail'] = 'Entrez votre adresse e-mail'; -$l['login_sub_email'] = 'Soumettre'; -$l['login_no_email'] = 'Vous ne soumettez pas votre adresse e-mail'; -$l['login_invalidemail'] = 'Adresse email que vous avez soumis est invalide'; -$l['login_mail_sub'] = 'Réinitialiser mot de passe'; -$l['login_mail_body'] = 'Salut, - -Une demande de réinitialisation de votre mot de passe a été demandé. -Si vous navez pas demandé la réinitialisation de mot de passe, alors ignorer cet e-mail. - -Si vous souhaitez réinitialiser votre mot de passe, alors cliquer sur URL ci-dessous: -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -A Notez : Lien ci-dessus est valable pour 24 heures seulement. - -Cordialement, -'; -$l['login_mail_done'] = 'Un mail a été envoyé avec les détails pour réinitialiser votre mot de passe'; -$l['login_back_to_login'] = 'Retour à la Connexion'; -$l['login_resetpass'] = 'Réinitialiser mot de passe'; -$l['login_log_new_pass'] = 'Nouveau mot de passe'; -$l['login_log_reppass'] = 'Confirmer mot de passe'; -$l['login_changepass'] = 'Changer mot de passe'; -$l['login_no_key'] = 'Aucune touche de réinitialisation a été présenté'; -$l['login_invalidkey'] = 'Vous avez spécifié une clé non valide'; -$l['login_no_new'] = 'SVP entrer mot de passe valide'; -$l['login_no_reppass'] = 'SVP entrez le mot de passe de confirmation'; -$l['login_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; -$l['login_keyexpire'] = 'Key nest plus valide'; -$l['login_passchanged'] = 'Mot de passe changé avec succès.'; -$l['login_forgot_pass'] = 'Mot de passe oublié'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = 'Recipes'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Recipe'; -$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; -$l['rec_short_desc'] = 'Recipes are predefined bash codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Vous navez pas spécifié le nouveau Mot de Passe.'; +$l['cpas_no_conf'] = 'Le Mot de Passe de confirmation est manquant.'; +$l['cpas_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; +$l['cpas_err_changing'] = 'Il ya eu des erreurs pendant le changement de Mot de Passe.'; +$l['cpas_submit_button'] = 'Changer Mot de Passe'; +$l['cpas_new_pass'] = 'Nouveau Mot de Passe'; +$l['cpas_old_pass'] = 'Ancien Mot de Passe'; +$l['cpas_retype_pass'] = 'Retaper le nouveau Mot de Passe'; +$l['cpas_change_note'] = 'Changer Mot de Passe root'; +$l['cpas_change_final'] = 'Votre Mot de Passe a été changé avec succès'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Changing the '.VM_SHORT.' root password...'; +$l['cpas_strength_indicator'] = 'Strength Indicator'; +$l['cpas_bad'] = 'Bad'; +$l['cpas_good'] = 'Good'; +$l['cpas_strong'] = 'Strong'; +$l['cpas_short'] = 'Short'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Used'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'SVP spécifier un nom hôte à changer.'; +$l['hn_new_host'] = 'Nouveau Nom du Hote'; +$l['hn_submit_button'] = 'Changer Nom du Hote'; +$l['hn_err_changing'] = 'Il ya eu des erreurs pendant le changement de nom du hôte.'; +$l['hn_host_final'] = 'Votre nom du hôte a été modifié avec succès'; +$l['hn_invalid_hostname'] = 'Le nom du hôte que vous avez soumis nest pas valide'; +$l['hn_change_onboot'] = 'Votre nom de domaine sera modifié lorsque le '.VM_SHORT.' est redémarré'; +$l['hn_current_hostname'] = 'Nom du hôte actuel'; +$l['hn_change_notify'] = 'Changing the hostname...'; +$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Pas dadresses IP séléctionnés'; +$l['ips_ip_not_exists'] = 'Adressess IP existent pas'; +$l['ips_header'] = ' Adresses IP'; +$l['ips_ipinfo'] = 'Information Adresse IP'; +$l['ips_reorderips'] = 'Choisir IP Primaire'; +$l['ips_done'] = 'Vos paramètres IP ont été enregistrées.'; +$l['ips_change_onboot'] = 'Vos paramètres IP sera modifiée lorsque le '.VM_SHORT.' est démarré à nouveau'; +$l['ips_primary_ip'] = 'Sélectionnez IP primaire '; +$l['ips_ipv6_ips_list'] = 'IPs IPV6 '; +$l['ips_ipv6_empty'] = 'IPV6 vide'; +$l['ips_change_notify'] = 'Changing the IP settings...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU Information'; +$l['mon_totalcpu'] = 'Total CPU :'; +$l['mon_cpuutilised'] = 'Utilised : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'CPU Utilization'; +$l['mon_trademarks'] = 'All respective logo used are trademarks or registered trademarks of their respective companies.'; +$l['mon_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Vous navez pas sélectionné le Systéme Exploitation'; +$l['os_invalid_os'] = 'Le système Exploitation soumis nest pas valide'; +$l['os_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe.'; +$l['os_no_conf'] = 'Le mot de passe de confirmation est manquant.'; +$l['os_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; +$l['os_error_reins'] = 'Il y avait une erreur lors de la réinstallation du Système Exploitation'; +$l['os_err_changing'] = 'Il ya eu des erreurs pendant le réglage du mot de passe.'; +$l['os_err_log_osreinstall'] = 'You have exceeded your OS reinstall limit. Please contact your administrator'; +$l['os_reins_os'] = 'Re-installation du Système Exploitation'; +$l['os_os_reinstall'] = 'Reinstall'; +$l['os_new_pass'] = 'Nouveau mot de passe'; +$l['os_retype_pass'] = 'Retaper le mot de passe'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = 'The OS reinstall process has been started in the background'; +$l['os_reins_notify'] = 'Reinstalling the '.VM_SHORT.' Operating System...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'Bad'; +$l['os_good'] = 'Good'; +$l['os_strong'] = 'Strong'; +$l['os_short'] = 'Short'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = 'Passwords do not match'; +$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Information VNC'; +$l['vnc_vnc_ip'] = 'Adresse IP VNC '; +$l['vnc_vnc_port'] = 'Port VNC'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC ne fonctionnera que si java est installé et activé dans votre navigateur'; +$l['vnc_not_enabled'] = 'VNC nest pas activé'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe.'; +$l['vncpas_no_conf'] = 'Le mot de passe de confirmation est manquant.'; +$l['vncpas_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; +$l['vncpas_err_changing'] = 'Il ya eu des erreurs pendant le changement de mot de passe.'; +$l['vncpas_no_nonalphanumeric'] = 'Pas de caractères non-alphanumériques sont autorisés'; +$l['vncpas_submit_button'] = 'Changer mot de passe VNC'; +$l['vncpas_new_pass'] = 'Nouveau mot de passe'; +$l['vncpas_old_pass'] = 'Ancien mot de passe'; +$l['vncpas_retype_pass'] = 'Retaper le nouveau mot de passe'; +$l['vncpas_change_note'] = 'Changer mot de passe VNC'; +$l['vncpas_change_final'] = 'Votre mot de passe VNC a été modifié avec succès.'; +$l['vncpas_change_notify'] = 'Changing the VNC Password...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Vous navez pas spécifié le nouveau mot de passe'; +$l['up_no_conf'] = 'Le mot de passe de confirmation est manquant'; +$l['up_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; +$l['up_err_changing'] = 'Il ya eu des erreurs pendant le changement de mot de passe.'; +$l['up_new_pass'] = 'Nouveau mot de passe'; +$l['up_old_pass'] = 'Ancien mot de passe'; +$l['up_retype_pass'] = 'Retaper le nouveau mot de passe'; +$l['up_page_head'] = 'Changer mot de passe'; +$l['up_change_final'] = 'Votre mot de passe a été changé avec succès'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'Vous navez pas inscrit le prénom'; +$l['pr_no_lname'] = 'Vous navez pas inscrit le prénom'; +$l['pr_firstname'] = 'Prénom'; +$l['pr_lastname'] = 'Nom'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Vos modifications ont été sauvegardés avec succès'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Démarrer'; +$l['ser_sstop'] = ' Stop'; +$l['ser_srestart'] = 'Restart'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'En marche'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autodémarrage'; +$l['ser_select'] = 'Selectionner'; +$l['ser_vps_is_off'] = 'The '.VM_SHORT.' est off !'; +$l['ser_no_feature'] = 'Cette fonctionnalité nest pas disponible !'; +$l['ser_notice_start'] = 'The selected service(s) are being started..'; +$l['ser_notice_stop'] = 'The selected service(s) are being stopped..'; +$l['ser_notice_restart'] = 'The selected service(s) are being restarted..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'List of Processes'; +$l['proc_usr'] = 'Utilisateur'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Commande'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'temps'; +$l['proc_select'] = 'selectionner'; +$l['proc_pstart'] = 'démarrer'; +$l['proc_pkill'] = 'Tuer'; +$l['proc_prefresh'] = 'Auto-Actualisation'; +$l['proc_vps_is_off'] = 'The '.VM_SHORT.' est hors ligne !'; +$l['proc_no_feature'] = 'Cette fonctionnalité nest pas disponible !'; +$l['proc_notice_pkill'] = 'Stopping the selected process(es) :'; +$l['proc_with_selected'] = 'With Selected :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Journaux'; +$l['log_date'] = 'Date'; +$l['log_task'] = 'Tâche'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'Adresse IP'; +$l['log_success'] = 'Successful'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Manage IPv6 Subnets'; +$l['mng_done'] = 'IPs were saved successfully'; +$l['mng_add_ipv6'] = 'Add an Ipv6 address'; +$l['mng_add_ip_button'] = 'Add IP'; +$l['mng_back_button'] = 'Back'; +$l['mng_save_button'] = 'Save'; +$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 Address'; +$l['mng_ipv6_delete'] = 'Delete'; +$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; +$l['mng_edit_subnet'] = 'Edit'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Manage Zone'; +$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; +$l['mz_add_pdns'] = 'Add PDNS Server'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'The Zone has been added successfully'; +$l['mz_add_zone'] = 'Add Zone Record'; +$l['mz_zone_name'] = 'Zone Name'; +$l['mz_pdns_zones'] = 'View Zones'; +$l['mz_manage_zone'] = 'Manage'; +$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; +$l['mz_add_done'] = 'The record has been added successfully'; +$l['mz_edit_done'] = 'The record has been edited successfully'; +$l['mz_del_done'] = 'The record has been deleted successfully'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Server Name'; +$l['mz_submit_button'] = 'Add Record'; +$l['mz_edit_button'] = 'Edit Record'; +$l['mz_no_domains'] = 'There are no zones on record'; +$l['mz_err_addzone'] = 'There was an error adding the zone'; +$l['mz_inv_name'] = 'Invalid hostname specified'; +$l['mz_inv_ip'] = 'Invalid IP Address specified'; +$l['mz_inv_tld'] = 'Invalid top level domain specified'; +$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; +$l['mz_inv_int'] = 'Invalid integer specified'; +$l['mz_err_add'] = 'There was an error while adding the record'; +$l['mz_err_del'] = 'There was an error while deleting the record'; +$l['mz_err_edit'] = 'There was an error while editing the record'; +$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; +$l['mz_rec_exists'] = 'The record already exists'; +$l['mz_records_limit'] = 'The limit for adding records has been reached'; +$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; +$l['pdns_page_head'] = 'DNS Management'; +$l['pdns_add_done'] = 'The Zone has been added successfully'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Add Zone'; +$l['pdns_zone_name'] = 'Zone Name'; +$l['pdns_manage_zone'] = 'Manage'; +$l['pdns_no_domains'] = 'There are no zones on record'; +$l['pdns_no_name'] = 'The domain name was not specified'; +$l['pdns_err_addzone'] = 'There was an error adding the zone'; +$l['pdns_err_delete'] = 'There was an error deleting the zone'; +$l['pdns_inv_domain'] = 'The specified domain name is invalid'; +$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; +$l['pdns_domain_exists'] = 'This domain name already exists'; +$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; +$l['pdns_no_dns'] = 'DNS management not available'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = 'Submit'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Pas de langue a été choisie'; +$l['us_wrong_lang'] = 'La langue que vous avez sélectionné nexiste pas'; +$l['us_no_timezone'] = 'Vous navez pas sélectionné le fuseau horaire'; +$l['us_timezone_invalid'] = 'Le fuseau horaire que vous avez sélectionné nest pas valide'; +$l['us_wrong_theme'] = 'Le thème que vous avez sélectionné nexiste pas'; +$l['us_page_head'] = 'Paramètres Utilisateur'; +$l['us_change_final'] = 'Vos paramètres ont été enregistré avec succès'; +$l['us_choose_lang'] = 'Choisissez la langue'; +$l['us_exp_lang'] = 'Choisissez votre langue préférée'; +$l['us_timezone'] = 'Fuseau horaire'; +$l['us_default_timezone'] = 'Serveur par défaut'; +$l['us_edit_settings'] = 'Modifier les paramètres'; +$l['us_done'] = 'Vos paramètres ont été sauvegardés avec succès'; +$l['us_choose_theme'] = 'Choisir un Theme'; +$l['us_exp_theme'] = 'Choisissez votre thème préféré'; +$l['us_no_theme'] = 'Aucun thème a été choisi'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created.'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips'] = 'IP Address'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = 'Network Speed'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = 'Network Speed'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = 'Network Speed'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Le panneau que vous avez sélectionné nest pas valide'; +$l['cpan_err_installing'] = 'Il y avait une erreur dinstaller le panneau'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'Linstallation du Panel a commencé et sera bientôt terminé'; +$l['cpan_change_onboot'] = 'Le Panel sera installé lorsque vous redémarrez le '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Control panels'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'ISO que vous avez sélectionné nest pas valide'; +$l['hvm_err_editing'] = 'Il ya eu des erreurs lors de lenregistrement des paramètres'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = 'Valider'; +$l['hvm_done'] = 'Les paramètres ont été enregistrés avec succès'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Ordre de démarrage'; +$l['hvm_isos'] = 'Selectionner ISO'; +$l['hvm_none'] = 'Rien'; +$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; +$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' Processeur '; +$l['cpu_cpuinfo'] = 'Informations Processeur'; +$l['cpu_totalcpu'] = 'CPU Total :'; +$l['cpu_cpuutilised'] = 'Utilisé : '; +$l['cpu_poweredby'] = 'Propulsé par :'; +$l['cpu_graphheader'] = 'Utilisation du Processeur'; +$l['cpu_trademarks'] = 'Tous les logos respectifs sont des marques commerciales utilisées ou des marques déposées de leurs sociétés respectives.'; +$l['cpu_not_supported'] = 'Current Utilization monitoring of this resource is not supported.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' Memoire RAM'; +$l['ram_raminfo'] = 'Information Memoire RAM'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'RAM Guarantie: '; +$l['ram_burstable'] = 'Maximum :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Utilisé :'; +$l['ram_percentram'] = 'Utilisation % :'; +$l['ram_graphheader'] = 'Utilisation RAM'; +$l['ram_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Disque Dur'; +$l['disk_diskinfo'] = 'Informations Disque'; +$l['disk_totaldisk'] = 'Total disque : '; +$l['disk_diskutilised'] = 'Utilisé : '; +$l['disk_percentdisk'] = 'Utilisation % : '; +$l['disk_graphheader'] = 'Utilisation Disque'; +$l['disk_inodesinfo'] = 'Informations Inodes'; +$l['disk_inodestotal'] = 'Total Inodes :'; +$l['disk_inodesutilised'] = 'Utilisé : '; +$l['disk_percent_inodes'] = 'Utilisation % :'; +$l['disk_inodesheader'] = 'Utilisation Inodes'; +$l['disk_not_supported'] = 'Current utilization monitoring of this resource is not supported.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Bande Passante'; +$l['band_bandwidthinfo'] = 'Informations Bande passante'; +$l['band_Total_Bandwidth'] = 'Bande passante totale:'; +$l['band_bandwidth_utilized'] = 'Utilisé : '; +$l['band_percent_utilized'] = '% utilisé : '; +$l['band_graphheader'] = 'Utilisation de bande passante'; +$l['band_unlimited'] = 'Illimité'; +$l['band_network_speed'] = 'Network Speed (MB/s)'; +$l['band_prev'] = 'Prev Month'; +$l['band_next'] = 'Next Month'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status logs'; +$l['sts_running'] = 'En Marche'; +$l['sts_stopped'] = 'Arrété'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Time'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System Alerts'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Le champ Nom Utilisateur est vide'; +$l['login_no_password'] = 'Le champ Mot de passe est vide'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'You have used up your failed login quota of failed attempts! Please wait minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; +$l['login_sign_in'] = 'Identifiez-vous'; +$l['login_log_user'] = 'Email or Username'; +$l['login_log_pass'] = 'Mot de Passe'; +$l['login'] = 'Logis'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; +$l['login'] = 'Login'; +$l['login_pass_nomatch'] = 'Le nom Utilisateur ou mot de passe est incorrect.'; +$l['login_forgotpass'] = 'Mot de passe oublié'; +$l['login_emailuser'] = 'Adresse e-mail'; +$l['login_enteremail'] = 'Entrez votre adresse e-mail'; +$l['login_sub_email'] = 'Soumettre'; +$l['login_no_email'] = 'Vous ne soumettez pas votre adresse e-mail'; +$l['login_invalidemail'] = 'Adresse email que vous avez soumis est invalide'; +$l['login_mail_sub'] = 'Réinitialiser mot de passe'; +$l['login_mail_body'] = 'Salut, + +Une demande de réinitialisation de votre mot de passe a été demandé. +Si vous navez pas demandé la réinitialisation de mot de passe, alors ignorer cet e-mail. + +Si vous souhaitez réinitialiser votre mot de passe, alors cliquer sur URL ci-dessous: +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +A Notez : Lien ci-dessus est valable pour 24 heures seulement. + +Cordialement, +'; +$l['login_mail_done'] = 'Un mail a été envoyé avec les détails pour réinitialiser votre mot de passe'; +$l['login_back_to_login'] = 'Retour à la Connexion'; +$l['login_resetpass'] = 'Réinitialiser mot de passe'; +$l['login_log_new_pass'] = 'Nouveau mot de passe'; +$l['login_log_reppass'] = 'Confirmer mot de passe'; +$l['login_changepass'] = 'Changer mot de passe'; +$l['login_no_key'] = 'Aucune touche de réinitialisation a été présenté'; +$l['login_invalidkey'] = 'Vous avez spécifié une clé non valide'; +$l['login_no_new'] = 'SVP entrer mot de passe valide'; +$l['login_no_reppass'] = 'SVP entrez le mot de passe de confirmation'; +$l['login_no_match'] = 'Les mots de passe que vous avez donné ne correspondent pas'; +$l['login_keyexpire'] = 'Key nest plus valide'; +$l['login_passchanged'] = 'Mot de passe changé avec succès.'; +$l['login_forgot_pass'] = 'Mot de passe oublié'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = 'Recipes'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Recipe'; +$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; +$l['rec_short_desc'] = 'Recipes are predefined bash codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/french/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/french/index_lang.php index 6809965..c44b78b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/french/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/french/index_lang.php @@ -1,438 +1,438 @@ -Today at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Theme Error';//Title -$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Theme Function Error';//Title -$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; - -$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'The following errors were found'; - -//Success Message Function -$l['following_message'] = 'The following message was returned'; - -//Major Error Function -$l['fatal_error'] = 'Fatal Error'; -$l['following_fatal_error'] = 'The following error occured'; - -//Message Function -$l['soft_message'] = 'Message'; -$l['following_soft_message'] = 'The following message was returned'; - -$l['err_user_head'] = 'Error'; -$l['err_user'] = 'Could not determine the type of user'; - -//Update Softaculous -$l['getting_info'] = 'Requesting Information......'; -$l['error_getting_latest'] = 'Could not get information......Abandoning'; -$l['got_info'] = 'Got information'; -$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; -$l['no_updates'] = 'Current Version is Latest Version......Continuing'; -$l['fetch_upgrade'] = 'Fetching Upgrade......'; -$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; -$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; -$l['got_upgrade'] = 'Saved the Upgrade File'; -$l['unzip_upgrade'] = 'Unzipping the files......'; -$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; -$l['unzipped_upgrade'] = 'Unzipped Successfully'; -$l['running_upgrade'] = 'Running Upgrade......'; -$l['succ_upgrade'] = 'Completed'; -$l['error_upgrade'] = 'The following errors occured while upgrading :'; - -//MySQL Errors -$l['err_selectmy'] = 'The MySQL Database could not be selected.'; -$l['err_myconn'] = 'The MySQL Connection could not be established.'; -$l['err_makequery'] = 'Could not make the query numbered'; -$l['err_mynum'] = 'MySQL Error No'; -$l['err_myerr'] = 'MySQL Error'; - -//hf_theme.php -$l['welcome'] = 'Welcome'; -$l['logout'] = 'Logout'; -$l['page_time'] = 'Page Created In'; -$l['times_are'] = 'All times are GMT'; -$l['time_is'] = 'The time now is'; -$l['load_start'] = 'Starting'; -$l['load_stop'] = 'Stopping'; -$l['load_restart'] = 'Restarting'; -$l['load_poweroff'] = 'Powering Off'; - -//The Category Language Variables -$l['dock_restart'] = 'Restart Container'; -$l['dock_stop'] = 'Stop Container'; -$l['dock_start'] = 'Start Container'; -$l['dock_poweroff'] = 'Poweroff Container'; -$l['dock_home'] = 'Home'; -$l['dock_settings'] = 'Edit Settings'; -$l['dock_help'] = 'Help and Support'; -$l['dock_sync'] = 'Synchronize with other Auto Installers'; -$l['go_home'] = 'Home'; -$l['dock_user'] = 'User Profile'; -$l['dock_password'] = 'Change Password'; -$l['dock_vps'] = 'List '.VM_LONG; - -// Left Menu -$l['lm_file_mgr'] = 'File Manager'; -$l['lm_res'] = 'Resources'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Processes'; -$l['lm_service'] = 'Services'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Password'; -$l['lm_statusc'] = 'Status Logs'; -$l['lm_res_a'] = 'System Alerts'; -$l['lm_logs'] = 'Task Logs'; -$l['lm_bandwidth'] = 'Bandwidth'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Account Password'; -$l['lm_controlpanel'] = 'Control Panel'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = 'Disk'; -$l['lm_ostemp'] ='OS Re-install'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Logs'; -$l['lm_ips'] = 'IPs'; -$l['lm_hvmsettings'] = VM_SHORT.' Configuration'; -$l['lm_apikey'] = 'API Credentials'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - -// Users left menu -$l['lm_vs'] = 'List '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Settings'; -$l['lm_profile'] = 'My Profile'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Type the page to jump to'; -$l['page_page'] = 'Page'; -$l['page_of'] = 'of'; -$l['page_go'] = 'Go'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'The OS Template was not found'; -$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; -$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; -$l['correct_kernel'] = 'Please reboot into the correct kernel.'; -$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; -$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['temp_exists'] = 'The Template file already exists'; -$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; -$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; -$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'There was an error while installing the '.VM_SHORT; -$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; -$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['xen_err_untar'] = 'There was an error while extracting the OS template'; -$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'There was an error while installing the '.VM_SHORT; -$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; -$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; -$l['kvm_err_tar'] = 'There was an error while compressing the archive'; -$l['xen_err_tar'] = 'There was an error while compressing the archive'; -$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'There was an error with the backup tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; -$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; -$l['openvz_err_space'] = 'There was an error setting the disk space'; -$l['openvz_err_inodes'] = 'There was an error setting the disk space'; -$l['openvz_err_hostname'] = 'There was an error setting the hostname'; -$l['openvz_err_ip'] = 'There was an error setting the IP Address'; -$l['openvz_err_dns'] = 'There was an error setting the DNS'; -$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; -$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; -$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; -$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; -$l['openvz_err_create'] = 'There was an error creating the container'; -$l['vswap_error'] = 'There was an error while setting the VSwap settings'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Suspended'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; - -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; - -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Today at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Theme Error';//Title +$l['init_theme_error'] = 'Unable to load the theme file - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Theme Function Error';//Title +$l['init_theme_func_error'] = 'Unable to load the theme function(s) of &soft-1;.'; + +$l['load_theme_settings_error'] = 'Unable to load the themes settings file.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'The following errors were found'; + +//Success Message Function +$l['following_message'] = 'The following message was returned'; + +//Major Error Function +$l['fatal_error'] = 'Fatal Error'; +$l['following_fatal_error'] = 'The following error occured'; + +//Message Function +$l['soft_message'] = 'Message'; +$l['following_soft_message'] = 'The following message was returned'; + +$l['err_user_head'] = 'Error'; +$l['err_user'] = 'Could not determine the type of user'; + +//Update Softaculous +$l['getting_info'] = 'Requesting Information......'; +$l['error_getting_latest'] = 'Could not get information......Abandoning'; +$l['got_info'] = 'Got information'; +$l['manual_mode'] = 'The new version of Softaculous requires manual attention......Abandoning'; +$l['no_updates'] = 'Current Version is Latest Version......Continuing'; +$l['fetch_upgrade'] = 'Fetching Upgrade......'; +$l['error_fetch_upgrade'] = 'Could not fetch upgrade file......Abandoning'; +$l['error_save_upgrade'] = 'Could not SAVE upgrade file......Abandoning'; +$l['got_upgrade'] = 'Saved the Upgrade File'; +$l['unzip_upgrade'] = 'Unzipping the files......'; +$l['error_unzip_upgrade'] = 'Error unzipping......Abandoning'; +$l['unzipped_upgrade'] = 'Unzipped Successfully'; +$l['running_upgrade'] = 'Running Upgrade......'; +$l['succ_upgrade'] = 'Completed'; +$l['error_upgrade'] = 'The following errors occured while upgrading :'; + +//MySQL Errors +$l['err_selectmy'] = 'The MySQL Database could not be selected.'; +$l['err_myconn'] = 'The MySQL Connection could not be established.'; +$l['err_makequery'] = 'Could not make the query numbered'; +$l['err_mynum'] = 'MySQL Error No'; +$l['err_myerr'] = 'MySQL Error'; + +//hf_theme.php +$l['welcome'] = 'Welcome'; +$l['logout'] = 'Logout'; +$l['page_time'] = 'Page Created In'; +$l['times_are'] = 'All times are GMT'; +$l['time_is'] = 'The time now is'; +$l['load_start'] = 'Starting'; +$l['load_stop'] = 'Stopping'; +$l['load_restart'] = 'Restarting'; +$l['load_poweroff'] = 'Powering Off'; + +//The Category Language Variables +$l['dock_restart'] = 'Restart Container'; +$l['dock_stop'] = 'Stop Container'; +$l['dock_start'] = 'Start Container'; +$l['dock_poweroff'] = 'Poweroff Container'; +$l['dock_home'] = 'Home'; +$l['dock_settings'] = 'Edit Settings'; +$l['dock_help'] = 'Help and Support'; +$l['dock_sync'] = 'Synchronize with other Auto Installers'; +$l['go_home'] = 'Home'; +$l['dock_user'] = 'User Profile'; +$l['dock_password'] = 'Change Password'; +$l['dock_vps'] = 'List '.VM_LONG; + +// Left Menu +$l['lm_file_mgr'] = 'File Manager'; +$l['lm_res'] = 'Resources'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Processes'; +$l['lm_service'] = 'Services'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Password'; +$l['lm_statusc'] = 'Status Logs'; +$l['lm_res_a'] = 'System Alerts'; +$l['lm_logs'] = 'Task Logs'; +$l['lm_bandwidth'] = 'Bandwidth'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Account Password'; +$l['lm_controlpanel'] = 'Control Panel'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = 'Disk'; +$l['lm_ostemp'] ='OS Re-install'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Logs'; +$l['lm_ips'] = 'IPs'; +$l['lm_hvmsettings'] = VM_SHORT.' Configuration'; +$l['lm_apikey'] = 'API Credentials'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + +// Users left menu +$l['lm_vs'] = 'List '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Settings'; +$l['lm_profile'] = 'My Profile'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Type the page to jump to'; +$l['page_page'] = 'Page'; +$l['page_of'] = 'of'; +$l['page_go'] = 'Go'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'The '.VM_SHORT.' was not found in the Database'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'The OS Template was not found'; +$l['build_no_ip'] = 'The Primary IP is missing for the '.VM_SHORT; +$l['build_no_os_iso'] = 'No OS Template or ISO file was found'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'You have booted into the wrong kernel - '; +$l['correct_kernel'] = 'Please reboot into the correct kernel.'; +$l['kvm_module'] = 'The Linux-KVM module is not loaded.'; +$l['kvm_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['temp_exists'] = 'The Template file already exists'; +$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['xen_err_swap'] = 'There was an error in creating the SWAP of the '.VM_SHORT; +$l['xen_err_tmp'] = 'The was an error in creating the Mount Point'; +$l['xen_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['xen_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'There was an error while installing the '.VM_SHORT; +$l['xen_err_mkfs'] = 'There was an error while formatting the '.VM_SHORT; +$l['xen_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['xen_err_untar'] = 'There was an error while extracting the OS template'; +$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'There was an error while installing the '.VM_SHORT; +$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; +$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; +$l['kvm_err_tar'] = 'There was an error while compressing the archive'; +$l['xen_err_tar'] = 'There was an error while compressing the archive'; +$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'There was an error with the backup tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; +$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; +$l['openvz_err_space'] = 'There was an error setting the disk space'; +$l['openvz_err_inodes'] = 'There was an error setting the disk space'; +$l['openvz_err_hostname'] = 'There was an error setting the hostname'; +$l['openvz_err_ip'] = 'There was an error setting the IP Address'; +$l['openvz_err_dns'] = 'There was an error setting the DNS'; +$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; +$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; +$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; +$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; +$l['openvz_err_create'] = 'There was an error creating the container'; +$l['vswap_error'] = 'There was an error while setting the VSwap settings'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Suspended'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; + +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; + +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/german/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/german/enduser_lang.php index 2c8e242..25627d5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/german/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/german/enduser_lang.php @@ -1,2114 +1,2114 @@ - Scannen Sie den QR-Code oder geben Sie den unten angegebenen Geheimschlüssel in Ihre Zwei-Faktor-Authentifizierungs-App ein. Danach wird die App Ihnen ein einzigartiges OTP erzeugen, welche Sie in das Textfeld eingeben müssen, um die Zwei-Faktor-Authentifizierung zu aktivieren.'; -$l['twofactauth_secret_key'] = 'Geheimer Schlüssel : '; -$l['twofactauth_code_input'] = 'Bestätigungscode'; -$l['twofactauth_code_input_exp'] = 'Geben Sie das empfangene OTP das Sie via E-Mail oder über die App erhalten haben ein.'; -$l['twofactauth_submit'] = 'Absenden'; -$l['twofactauth_select_pref'] = 'Präferenz wählen : '; -$l['twofactauth_select_pref_desc'] = 'Wählen Sie den Zwei-Faktor-Authentifizierungstyp aus und geben Sie dann den Code ein, um ihn zu aktivieren'; -$l['twofactauth_disabled'] = 'Die Zwei-Faktor-Authentifizierung wurde deaktiviert'; -$l['twofactauth_enabled'] = 'Die Zwei-Faktor-Authentifizierung wurde aktiviert'; -$l['twofactauth_err_enable'] = 'Der eingegebene Passcode ist falsch'; -$l['twofactauth_email_passcode'] = 'E-Mail-Code'; -$l['twofactauth_none'] = 'Keine (nicht empfohlen!)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'App aktivieren (Google Authenticator, Authy usw.)'; -$l['twofactauth_no_passcode'] = 'Bitte geben Sie das OTP an'; -$l['twofactauth_changes_saved'] = 'Ihre Änderungen wurden erfolgreich gespeichert'; -$l['twofactauth_or'] = 'ODER'; -$l['twofactauth_passcode_error'] = 'Das OTP konnte nicht erzeugt werden'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Schlüssel zurücksetzen'; -$l['twofactauth_email_sent_to'] = 'OTP wird gesendet an :'; -$l['twofactauth_otp_mail_body'] = 'Hallo, - -Eine Login Anfrage wurde für Ihr Konto bei: -{{site_domain}} -erstellt - -Bitte verwenden Sie folgendes Einmal-Passwort (OTP), um sich anzumelden: -{{otp}} - -Viele Grüße, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Zwei Faktor-Authentifizierungs-Bestätigungscode'; -$l['twofactauth_passcode_mail_body'] = 'Hallo, - -Der Bestätigungscode um die Zwei-Faktor-Authentifizierung für Ihr Konto unter {{site_domain}} zu aktivieren, lautet : {{passcode}}. - -Viele Grüße, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP wurde per E-Mail an Ihre E-Mail-Adresse gesendet'; -$l['twofactauth_secret_key_conf'] = 'WARNUNG: Wenn Sie den geheimen Schlüssel zurücksetzen, müssen Sie Ihre Apps mit dem neuen Schlüssel aktualisieren. Sind Sie sicher, dass Sie weitermachen wollen?'; -$l['twofactauth_otp_expired'] = 'Das eingegangene OTP ist abgelaufen !!'; -$l['twofactauth_not_allowed'] = 'Sie sind nicht berechtigt, auf diese Seite zuzugreifen'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'Sie haben die E-Mail-ID nicht angegeben'; -$l['adu_no_user_password'] = 'Sie haben das Passwort nicht eingeben'; -$l['adu_invalid_email'] = 'Die von Ihnen eingegebene E-Mail-ID ist ungültig'; -$l['adu_userlimit_exceeded'] = 'Sie sind nicht berechtigt, weitere Benutzer zu erstellen. Bitte kontaktieren Sie den Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Benutzer hinzufügen'; -$l['adu_done'] = 'Benutzer wurde hinzugefügt'; -$l['adu_user_email'] = 'E-Mail'; -$l['adu_user_password'] = 'Passwort'; -$l['adu_user_exists'] = 'Der Benutzer existiert bereits bitte verwenden Sie eine andere E-Mail-Adresse'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Sie haben kein neues Passwort angegeben.'; -$l['cpas_no_conf'] = 'Das Bestätigungspasswort fehlt.'; -$l['cpas_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; -$l['cpas_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts'; -$l['cpas_submit_button'] = 'Passwort ändern'; -$l['cpas_new_pass'] = 'Neues Passwort'; -$l['cpas_old_pass'] = 'Altes Passwort'; -$l['cpas_retype_pass'] = 'Neues Passwort bestätigen'; -$l['cpas_change_note'] = 'Root-Passwort ändern'; -$l['cpas_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; -$l['cpas_change_onboot'] = 'Ihr Passwort wird geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird'; -$l['cpas_change_notify'] = 'ändere das '.VM_SHORT.' Root-Passwort...'; -$l['cpas_strength_indicator'] = 'Passwortstärke'; -$l['cpas_bad'] = 'Schlecht'; -$l['cpas_good'] = 'Gut'; -$l['cpas_strong'] = 'Stark'; -$l['cpas_short'] = 'Kurz'; -$l['cpas_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Zeichen enthalten: Ein Großbuchstaben, Kleinbuchstaben, eine Zahl oder ein spezielles Symbol'; -$l['cpas_pass_match'] = 'Die Passwörter stimmen nicht überein'; -$l['cpas_disabled'] = 'Passwort ändern wurde durch einen Admin deaktiviert'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud-Ressourcen'; -$l['cr_resource_type'] = 'Ressourcentyp'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Genutzt'; -$l['cr_left'] = 'Verfügbar'; -$l['cr_unlimited'] = 'Unbegrenzt'; -$l['cr_num_vs'] = 'Anzahl der VMs'; -$l['cr_num_users'] = 'Anzahl der Benutzer'; -$l['cr_num_space'] = 'Festplattenspeicherplatz'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Datenverkehr'; -$l['cr_num_cores'] = 'Kerne gesamt'; -$l['cr_max_cores'] = 'Max Kerne / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnetze'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Informationen'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serielle Konsole ist deaktiviert'; -$l['cs_call_failed'] = 'Der API-Aufruf ist fehlgeschlagen. Bitte kontaktieren Sie den Admin'; -$l['cs_heading'] = 'Serielle Konsole'; -$l['cs_none'] = 'Keine vorhandene Konsolensitzung gefunden. Bitte erstellen Sie eine !'; -$l['cs_create'] = 'Sitzung erstellen'; -$l['cs_creating'] = 'Erstelle die Sitzung ...'; -$l['cs_destroying'] = 'Zerstöre die Sitzung ...'; -$l['cs_details'] = 'Das Folgende sind die Konsole Details'; -$l['cs_expires'] = 'Ablauf'; -$l['cs_ip'] = 'IP-Adresse'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Benutzername'; -$l['cs_password'] = 'Passwort'; -$l['cs_destroy'] = 'Sitzung Zerstören'; -$l['cs_java_console'] = 'Java Konsole'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Bitte geben Sie einen Hostnamen zum ändern an.'; -$l['hn_new_host'] = 'Neuer Hostname'; -$l['hn_submit_button'] = 'Hostname ändern'; -$l['hn_err_changing'] = 'Es gab einige Fehler beim ändern des Hostnamen.'; -$l['hn_host_final'] = 'Ihr Hostname wurde erfolgreich geändert'; -$l['hn_invalid_hostname'] = 'Der Hostname, den Sie übermittelt haben, ist nicht gültig'; -$l['hn_change_onboot'] = 'Ihr Hostname wird geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird.'; -$l['hn_current_hostname'] = 'Aktueller Hostname'; -$l['hn_change_notify'] = 'ändere den Hostnamen...'; -$l['hn_disable_change_hostname'] = 'Das Ändern des Hostnamen wurde durch einen Admin deaktiviert'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Keine IP-Adressen ausgewählt'; -$l['ips_ip_not_exists'] = 'IP-Adressen existieren nicht'; -$l['ips_header'] = ' IP-Adressen'; -$l['ips_ipinfo'] = 'IP-Informationen'; -$l['ips_reorderips'] = 'Primäre IP setzen'; -$l['ips_done'] = 'Ihre IP-Einstellungen wurden gespeichert.'; -$l['ips_change_onboot'] = 'Ihre IP-Einstellungen werden geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird'; -$l['ips_primary_ip'] = 'Primäre IP wählen '; -$l['ips_ipv6_ips_list'] = 'IPv6 IPs'; -$l['ips_ipv6_empty'] = 'IPv6 leer'; -$l['ips_change_notify'] = 'ändern der IP-Einstellungen...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU Informationen'; -$l['mon_totalcpu'] = 'CPU gesamt :'; -$l['mon_cpuutilised'] = 'Genutzt : '; -$l['mon_poweredby'] = 'Powered by : '; -$l['mon_graphheader'] = 'CPU-Auslastung'; -$l['mon_trademarks'] = 'Alle jeweilige Logo sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Unternehmen.'; -$l['mon_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Speicherplatz'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Festplatte I/O'; -$l['mon_header_ntw_speed'] = 'Netzwerk'; -$l['mon_io_usage'] = 'Durchschnittliche Festplatten I/O Nutzung'; -$l['mon_io_read_spd'] = 'I/O Lesegeschwindigkeit'; -$l['mon_io_write_spd'] = 'I/O Schreibgeschwindigkeit'; -$l['mon_ntw_info'] = 'Netzwerk Info'; -$l['mon_ntw_down_spd'] = 'Durchschnittliche Download-Geschwindigkeit'; -$l['mon_ntw_upld_spd'] = 'Durchschnittliche Upload-Geschwindigkeit'; -$l['mon_disabled'] = 'Die Monitor-Option wurde durch einen Admin deaktiviert'; -$l['mon_cpu_usage'] = 'CPU Auslastung'; -$l['mon_inode_usage'] = 'Inode Nutzung'; -$l['mon_ram_usage'] = 'RAM Nutzung'; -$l['mon_disk_usage'] = 'Speicherplatz Nutzung'; -$l['mon_down_speed'] = 'Download-Geschwindigkeit'; -$l['mon_up_speed'] = 'Upload-Geschwindigkeit'; -$l['mon_total_speed'] = 'Gesamtgeschwindigkeit'; -$l['mon_cpu_hist'] = 'CPU-Auslastung History'; -$l['mon_mem_hist'] = 'RAM-Auslastung History'; -$l['mon_storage'] = 'Storage Nutzung'; -$l['mon_date_label'] = 'Datum mm/dd'; -$l['mon_inode_hist'] = 'Inodes genutzt'; -$l['mon_net_speed'] = 'Netzwerkgeschwindigkeit'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Sie haben das Betriebssystem nicht ausgewählt'; -$l['os_invalid_os'] = 'Das übermittelte OS ist ungültig'; -$l['os_no_new'] = 'Sie haben das neue Passwort nicht angegeben.'; -$l['os_no_conf'] = 'Das Bestätigungs Passwort fehlt.'; -$l['os_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; -$l['os_error_reins'] = 'Es gab einen Fehler während der Neuinstallation des OS'; -$l['os_err_changing'] = 'Es gab einige Fehler beim Einrichten des Passworts'; -$l['os_err_log_osreinstall'] = 'Sie haben Ihr Betriebssystem Neuinstallations Limit überschritten. Bitte wenden Sie sich an Ihren Administrator'; -$l['os_reins_os'] = 'Betriebssystem neu installieren'; -$l['os_os_reinstall'] = 'Neu installieren'; -$l['os_new_pass'] = 'Neues Passwort'; -$l['os_retype_pass'] = 'Passwort wiederholen'; -$l['os_genram_psswd'] = 'Erzeugen Sie ein weiteres zufälliges Passwort'; -$l['os_done'] = 'Die Neuinstallation des Betriebssystems wurde im Hintergrund gestartet'; -$l['os_reins_notify'] = 'Installiere das '.VM_SHORT.'-Betriebssystem neu...'; -$l['os_centos_line1'] = 'CentOS (Community ENTerprise Operating System) ist eine Linux-Distribution, die auf der Distribution Red Hat Enterprise Linux (RHEL) aufbaut.'; -$l['os_centos_line2'] = 'Die Distribution wird von einer offenen Gruppe von freiwilligen Entwicklern betreut, gepflegt und weiterentwickelt.'; -$l['os_centos_line3'] = 'CentOS ist hinter Debian und Ubuntu die am dritthäufigsten verwendete Linux-Distribution für Web-Server'; -$l['os_fedora_line1'] = 'Fedora ist eine RPM-basierte Linux-Distribution. Ziel der Entwickler der Distribution ist es, freie Software zu fördern und ein Betriebssystem für eine möglichst vielfältige Zielgruppe zu gestalten.'; -$l['os_fedora_line2'] = 'Organisiert wird die Entwicklung in der Online-Community des Fedora-Projekts, das vom Unternehmen Red Hat angeführt wird'; -$l['os_fedora_line3'] = 'Fedora ist der direkte Nachfolger von Red Hat Linux. Das englische Wort Fedora bezeichnet eine spezielle Art des Filzhuts, das Markenzeichen des Unternehmens Red Hat.'; -$l['os_suse_line1'] = 'openSUSE, ehemals SUSE Linux und SuSE Linux Professional, ist eine Linux-Distribution des Unternehmens SUSE Linux GmbH.'; -$l['os_suse_line2'] = 'Sie wird insbesondere in Deutschland verbreitet eingesetzt. Der Fokus der Entwickler liegt darauf, ein stabiles und benutzerfreundliches Betriebssystem mit großer Zielgruppe für Desktop und Server zu erschaffen.'; -$l['os_suse_line3'] = 'Mit der Schaffung des openSUSE-Projekts wurde die Entwicklung von SUSE Linux öffentlich gemacht, wodurch jeder Nutzer auch die Alpha- und Beta-Versionen von SUSE Linux testen und gefundene Fehler in einem öffentlichen Bugtracker melden kann.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu ist eine kostenlose Linux-Distribution, die auf Debian basiert. Der Name Ubuntu bedeutet auf Zulu etwa „Menschlichkeit“ und bezeichnet eine afrikanische Philosophie'; -$l['os_ubuntu_line2'] = 'Die Entwickler verfolgen mit Ubuntu das Ziel, ein einfach zu installierendes und leicht zu bedienendes Betriebssystem mit aufeinander abgestimmter Software zu schaffen. Das Projekt wird vom Software-Hersteller Canonical Ltd. gesponsert, das vom südafrikanischen Unternehmer Mark Shuttleworth gegründet wurde.'; -$l['os_ubuntu_line3'] = 'Ubuntu konnte seit dem Erscheinen der ersten Version im Oktober 2004 seine Bekanntheit stetig steigern und ist inzwischen eine der bekanntesten und meistgenutzten Linux-Distributionen.'; -$l['os_debian_line1'] = 'Debian ist ein seit 1993 gemeinschaftlich entwickeltes freies Betriebssystem. Debian GNU/Linux, das auf den grundlegenden Systemwerkzeugen des GNU-Projektes sowie dem Linux-Kernel basiert, ist eine der ältesten, einflussreichsten und am weitesten verbreiteten GNU/Linux-Distributionen.'; -$l['os_debian_line2'] = 'Das heute bekannteste Debian-GNU/Linux-Derivat ist Ubuntu.'; -$l['os_debian_line3'] = 'Debian enthält eine große Auswahl an Anwendungsprogrammen und Werkzeugen; derzeit sind es über 37.500 Programmpakete.'; -$l['os_scientific_line1'] = 'Scientific Linux (SL) ist eine Linux-Distribution, die auf der Distribution Red Hat Enterprise Linux (RHEL) der Firma Red Hat basiert und zu dieser binärkompatibel ist.'; -$l['os_scientific_line2'] = 'Scientific Linux entstand im Umfeld verschiedener Forschungslabore und Universitäten und wurde geschaffen, um verschiedene Ansprüche dieser Institutionen zu erfüllen.'; -$l['os_scientific_line3'] = 'Die Distribution wird hauptsächlich von Entwicklern am Fermilab, am CERN, an der ETH Zürich und am DESY weiterentwickelt.'; -$l['os_strength_indicator'] = 'Passwortstärke'; -$l['os_bad'] = 'Schlecht'; -$l['os_good'] = 'Gut'; -$l['os_strong'] = 'Stark'; -$l['os_short'] = 'Kurz'; -$l['os_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Kombinationen enthalten: Ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl oder ein spezielles Symbol'; -$l['os_pass_match'] = 'Die Passwörter stimmen nicht überein'; -$l['os_reinstall_wait'] = 'Das Betriebssystem wird neu installiert, bitte warten Sie ...'; -$l['os_reinstall_disabled'] = 'Die Neuinstallation des Betriebssystems wurde vom Admin deaktiviert'; -$l['os_no_os'] = 'Kein(e) OS zur Neuinstallation verfügbar'; -$l['os_rebuild_data_lost_warn'] = 'Sind Sie sicher, dass Sie Ihren '.VM_SHORT.' neu installieren möchten? Warnung: Alle Daten auf dem '.VM_SHORT.' werden gelöscht.'; -$l['os_select_version'] = 'VERSION AUSWÄHLEN'; -$l['os_select_os'] = 'OS wählen:'; -$l['os_other'] = 'Andere'; -$l['os_format_primary'] = 'Nur primäre Festplatte formatieren'; -$l['os_format_primary_exp'] = 'Wenn diese Option aktiviert ist, werden nur die Daten der primären Festplatte gelöscht'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'VNC Informationen'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC Port'; -$l['vnc_novnc_button'] = 'HTML5 VNC starten'; -$l['vnc_launch_vnc'] = 'Java VNC starten'; -$l['vnc_notice'] = 'VNC funktioniert nur, wenn Java installiert und in Ihrem Browser aktiviert ist'; -$l['vnc_not_enabled'] = 'VNC ist nicht aktiviert'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Sie haben kein neues Passwort angeben'; -$l['vncpas_no_conf'] = 'Das Bestätigungspasswort fehlt'; -$l['vncpas_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; -$l['vncpas_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts.'; -$l['vncpas_no_nonalphanumeric'] = 'Nur nicht-alphanumerische Zeichen sind erlaubt'; -$l['vncpas_submit_button'] = 'VNC Passwort ändern'; -$l['vncpas_new_pass'] = 'Neues Passwort'; -$l['vncpas_old_pass'] = 'Altes Passwort'; -$l['vncpas_retype_pass'] = 'Neues Passwort bestätigen'; -$l['vncpas_change_note'] = 'VNC Passwort ändern'; -$l['vncpas_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; -$l['vncpas_change_notify'] = 'ändere das VNC Passwort...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Sie haben kein neues Passwort angeben'; -$l['up_no_conf'] = 'Das Bestätigungspasswort fehlt'; -$l['up_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; -$l['up_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts.'; -$l['up_new_pass'] = 'Neues Passwort'; -$l['up_old_pass'] = 'Altes Passwort'; -$l['up_retype_pass'] = 'Neues Passwort bestätigen'; -$l['up_page_head'] = 'Passwort ändern'; -$l['up_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Profil ändern'; -$l['pr_no_fname'] = 'Sie haben keinen Vornamen angegeben'; -$l['pr_no_lname'] = 'Sie haben keinen Nachnamen angegeben'; -$l['pr_firstname'] = 'Vorname'; -$l['pr_lastname'] = 'Nachname'; -$l['pr_company'] = 'Firma'; -$l['pr_website'] = 'Webseite'; -$l['pr_address'] = 'Adresse'; -$l['pr_city'] = 'Stadt'; -$l['pr_state'] = 'Bundesland'; -$l['pr_zip'] = 'Postleitzahl'; -$l['pr_country'] = 'Land'; -$l['pr_phone'] = 'Mobiltelefon'; -$l['pr_sys_admin_email'] = 'Admin E-Mail'; -$l['pr_cc_emails'] = 'Rechnung CC E-Mail'; -$l['pr_cc_emails_exp'] = 'Rechnungsbezogene E-Mails werden an diese E-Mail Adressen gesendet. Sie können mehrere E-Mails kommagetrennt hinzufügen.'; -$l['pr_soft_error'] = 'Beim Speichern Ihrer Daten ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; -$l['pr_done'] = 'Ihre änderungen wurden erfolgreich gespeichert'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Start'; -$l['ser_sstop'] = ' Stopp'; -$l['ser_srestart'] = 'Neustart'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'In Betrieb'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autostart'; -$l['ser_select'] = 'Wählen'; -$l['ser_vps_is_off'] = 'Der '.VM_SHORT.' ist ausgeschaltet!'; -$l['ser_no_feature'] = 'Diese Funktion ist nicht verfügbar!'; -$l['ser_notice_start'] = 'Die ausgewählten Service werden gestartet..'; -$l['ser_notice_stop'] = 'Die ausgewählten Service werden gestoppt..'; -$l['ser_notice_restart'] = 'Die ausgewählten Service werden neu gestartet..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'Liste der Prozesse'; -$l['proc_usr'] = 'Benutzer'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Befehl'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'Zeit'; -$l['proc_select'] = 'Wählen'; -$l['proc_pstart'] = 'Starten'; -$l['proc_pkill'] = 'Kill'; -$l['proc_prefresh'] = 'Autorefresh'; -$l['proc_vps_is_off'] = 'Der '.VM_SHORT.' ist aus !'; -$l['proc_no_feature'] = 'Diese Funktion ist nicht verfügbar !'; -$l['proc_notice_pkill'] = 'Stoppen des ausgewählten Prozess(es) :'; -$l['proc_with_selected'] = 'Mit Ausgewählten :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Datum'; -$l['log_task'] = 'Aufgabe'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Erfolgreich'; -$l['log_fail'] = 'Fehler'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'IPv6-Subnetz verwalten'; -$l['mng_done'] = 'IPs wurden erfolgreich gespeichert'; -$l['mng_add_ipv6'] = 'IPv6-Adresse hinzufügen'; -$l['mng_add_ip_button'] = 'IP hinzufügen'; -$l['mng_back_button'] = 'Zurück'; -$l['mng_save_button'] = 'Speichern'; -$l['mng_delete_confirm'] = 'Sind Sie sicher, dass diese IPv6-Adresse gelöscht werden soll'; -$l['mng_ipv6_invalid'] = 'Es gab einige Fehler mit der IPv6-Adresse'; -$l['mng_ipv6_address'] = 'IPv6-Adresse'; -$l['mng_ipv6_delete'] = 'Löschen'; -$l['mng_ipv6_subnet'] = 'IPv6-Subnetz'; -$l['mng_edit_subnet'] = 'Bearbeiten'; -$l['mng_no_vps'] = 'Kein '.VM_SHORT.' gefunden'; -$l['mng_inv_ipaddress'] = 'Die angegebene IP-Adresse gehört Ihnen nicht'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Zone verwalten'; -$l['mz_zone_conf_del'] = 'Sind Sie sicher, dass Sie den PDNS Server löschen möchten?'; -$l['mz_add_pdns'] = 'PDNS Server hinzufügen'; -$l['mz_dns_mgmt'] = 'DNS-Verwaltung'; -$l['mz_zone_add_done'] = 'Die Zone wurde erfolgreich hinzugefügt'; -$l['mz_add_zone'] = 'Zone hinzufügen'; -$l['mz_zone_name'] = 'Zonenname'; -$l['mz_pdns_zones'] = 'Zonen ansehen'; -$l['mz_manage_zone'] = 'Verwalten'; -$l['mz_conf_del'] = 'Sind Sie sicher, dass Sie diesen Record löschen wollen?'; -$l['mz_add_done'] = 'Der Record wurde erfolgreich hinzugefügt'; -$l['mz_edit_done'] = 'Der Record wurde erfolgreich bearbeitet'; -$l['mz_del_done'] = 'Der Record wurde erfolgreich gelöscht'; -$l['mz_priority'] = 'Priorität'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Zeigt auf'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Servername'; -$l['mz_submit_button'] = 'Record hinzufügen'; -$l['mz_edit_button'] = 'Record bearbeiten'; -$l['mz_no_domains'] = 'Es gibt keine Zonen für den Record'; -$l['mz_err_addzone'] = 'Es gab einen Fehler beim Hinzufügen der Zone'; -$l['mz_inv_name'] = 'Ungültiger Hostname angegeben'; -$l['mz_inv_ip'] = 'Ungültige IP-Adresse angegeben'; -$l['mz_inv_tld'] = 'Ungültige Top Level Domain angegeben'; -$l['mz_inv_ipv6'] = 'Angegebene IPv6 ist ungültig'; -$l['mz_inv_int'] = 'Ungültige ganze Zahl angegeben'; -$l['mz_err_add'] = 'Es gab einen Fehler beim Hinzufügen des Record'; -$l['mz_err_del'] = 'Es gab einen Fehler beim Löschen des Record'; -$l['mz_err_edit'] = 'Es ist ein Fehler während der Bearbeitung des Records aufgetreten'; -$l['mz_err_soa'] = 'Es ist ein Fehler während der Aktualisierung des SOA serial aufgetreten'; -$l['mz_rec_exists'] = 'Der Record ist bereits vorhanden'; -$l['mz_records_limit'] = 'Die Grenze für das Hinzufügen von Records ist erreicht'; -$l['mz_err_connect'] = 'Es gab einen Fehler beim Verbinden mit dem Nameserver'; -$l['mz_zone_restricted'] = 'Die Zone, die Sie versuchen zu bearbeiten, ist eingeschränkt'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Sind Sie sicher, dass Sie diese Domain löschen wollen?'; -$l['pdns_page_head'] = 'DNS-Verwaltung'; -$l['pdns_add_done'] = 'Die Zone wurde erfolgreich hinzugefügt'; -$l['pdns_delete_done'] = 'Die Zone wurde erfolgreich gelöscht'; -$l['pdns_add_zone'] = 'Zone hinzufügen'; -$l['pdns_zone_name'] = 'Zonenname'; -$l['pdns_manage_zone'] = 'Verwalten'; -$l['pdns_no_domains'] = 'Es gibt keine Zonen für diesen Record'; -$l['pdns_no_name'] = 'Der Domainname wurde nicht angegeben'; -$l['pdns_err_addzone'] = 'Es gab einen Fehler beim Hinzufügen der Zone'; -$l['pdns_err_delete'] = 'Es gab einen Fehler beim Löschen der Zone'; -$l['pdns_inv_domain'] = 'Der angegebene Domainname ist ungültig'; -$l['pdns_limit_domains'] = 'Die maximale Anzahl von Domains, die hinzugefügt werden kann, wurde erreicht'; -$l['pdns_domain_exists'] = 'Dieser Domainname ist bereits vorhanden'; -$l['pdns_err_connect'] = 'Es gab einen Fehler beim verbinden mit dem Nameserver'; -$l['pdns_no_dns'] = 'DNS-Verwaltung nicht verfügbar'; -$l['pdns_invalid_zone'] = 'Die DNS-Zone, die Sie versuchen zu löschen, ist ungültig'; -$l['pdns_primary_nameserver'] = 'Primärer Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Ungültige Domain Admin E-Mail angegeben'; -$l['pdns_inv_ns'] = 'Ungültiger Primärer Nameserver angegeben'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Reverse DNS hinzufügen'; -$l['rdns_zone_name'] = 'Zonenname'; -$l['rdns_exp_zone_name'] = 'Der Zonenname'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Server auswählen'; -$l['rdns_exp_pdns_server'] = 'Der DNS-Server, um den Record hinzuzufügen '; -$l['rdns_sub_but'] = 'Speichern'; -$l['rdns_rdns_ip'] = 'IP-Adresse'; -$l['rdns_exp_rdns_ip'] = 'Wählen Sie Ihre '.VM_SHORT.' IP-Adresse aus'; -$l['rdns_rdns_domain'] = 'Domainname'; -$l['rdns_exp_rdns_domain'] = 'Geben Sie den Fully Qualified Domain Name (FQDN) an'; -$l['rdns_no_rnds_ip'] = 'Bitte geben Sie die IP-Adresse ein'; -$l['rdns_no_rdns_domain'] = 'Bitte geben Sie den Domainnamen ein'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID ungültig'; -$l['rdns_err_zone'] = 'RDNS Zone Eintrag nicht gefunden. Bitte kontaktieren Sie den Support'; -$l['rdns_is_rdns'] = 'Reverse-DNS-Eintrag ist bereits vorhanden'; -$l['rdns_no_dns'] = 'Der DNS-Server wurde nicht eingerichtet. Bitte kontaktieren Sie den Support.'; -$l['rdns_no_zone_name'] = 'Der Zonenname wurde nicht angegeben'; -$l['rdns_no_ns'] = 'Der Nameserver muss angegeben werden. Mindestens zwei sind erforderlich'; -$l['rdns_no_hostmasteremail'] = 'Die Hostmaster E-Mail-Adresse wurde nicht angegeben'; -$l['rdns_inv_revzone'] = 'Die angegebene Reverse-DNS-Zone ist ungültig'; -$l['rdns_inv_ns'] = 'Die angegebenen Nameserver TLDs sind ungültig'; -$l['rdns_inv_hostemail'] = 'Die angegebene Hostmaster E-Mail-Adresse ist ungültig'; -$l['rdns_err_connect'] = 'Konnte nicht mit dem Server verbinden. Bitte überprüfen Sie, ob dieser online ist'; -$l['rdns_err_save'] = 'Es gab einen Fehler beim speichern der Daten'; -$l['rdns_done'] = 'Die Reverse-DNS-Zone wurde erfolgreich hinzugefügt'; -$l['rdns_zone_exists'] = 'Diese Zone ist bereits vorhanden'; -$l['rdns_inv_ipaddress'] = 'Die eingegebene IP-Adresse ist ungültig'; -$l['rdns_rdns_existing'] = 'RDNS Records'; -$l['rdns_deleted'] = 'Der RDNS Record wurde gelöscht'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'Sie haben Keine E-Mail-Adresse angegeben'; -$l['edu_no_user_password'] = 'Sie haben kein Passwort angegeben'; -$l['edu_invalid_email'] = 'Die eingegebene E-Mail-Adresse ist ungültig'; -$l['edu_uid_not_found'] = 'Benutzer-ID nicht gefunden'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Benutzer bearbeiten'; -$l['edu_done'] = 'Benutzer wurde bearbeitet'; -$l['edu_user_email'] = 'E-Mail'; -$l['edu_user_password'] = 'Passwort'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'Es gab einige Fehler beim aktivieren des Rettungsmodus'; -$l['resc_err_rescue_disable'] = 'Es gab einige Fehler beim deaktivieren des Rettungsmodus'; -$l['resc_err_downloading'] = 'Es gab einen Fehler beim Download des Rettungs-Template'; -$l['resc_err_delete_disk'] = 'Es gab einen Fehler beim Löschen der Rettungsfestplatte'; -$l['resc_cant_rescue'] = 'Rettungsoperation ist nicht erlaubt, wenn ein ISO im Einsatz ist. Bitte entfernen Sie zuerst das ISO'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Der Rettungsmodus bietet die Möglichkeit eine kleine Linux-Umgebung von einer anderen Festplatte zu booten, sodass Sie Ihren primären Linux '.VM_SHORT.' oder Backup-Dateien, die sich auf diesem Befinden, retten können. '; -$l['resc_enable_rescue'] = 'Rettungsmodus aktivieren'; -$l['resc_rescue_enabled'] = 'Der Rettungsmodus ist derzeit aktiviert.'; -$l['resc_disable_rescue'] = 'Rettungsmodus deaktivieren'; -$l['resc_rescue_disabled'] = 'Der Rettungsmodus ist derzeit deaktiviert.'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Aktiviere Rettungsmodus...'; -$l['resc_rescue_disable_notify'] = 'Deaktiviere Rettungsmodus...'; -$l['resc_root_pass'] = 'Root Passwort'; -$l['resc_root_pass_conf'] = 'Passwort bestätigen'; -$l['resc_disable_rescue_err'] = 'Der Rettungsmodus wurde durch einen Admin deaktiviert'; -$l['resc_passwords_do_not_match'] = 'Das angegebene Passwort und das Bestätigungspasswort stimmen nicht überein'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Es wurde keine Sprache ausgewählt'; -$l['us_wrong_lang'] = 'Die ausgewählte Sprache existiert nicht'; -$l['us_no_timezone'] = 'Sie haben keine Zeitzone ausgewählt'; -$l['us_timezone_invalid'] = 'Die gewählte Zeitzone ist ungültig'; -$l['us_wrong_theme'] = 'Das ausgewählte Theme existiert nicht'; -$l['us_page_head'] = 'Benutzer-Einstellungen'; -$l['us_change_final'] = 'Ihre Einstellungen wurden erfolgreich gespeichert'; -$l['us_choose_lang'] = 'Sprache wählen'; -$l['us_exp_lang'] = 'Wählen Sie Ihre bevorzugte Sprache'; -$l['us_timezone'] = 'Zeitzone'; -$l['us_default_timezone'] = 'Server Standard'; -$l['us_edit_settings'] = 'Einstellungen bearbeiten'; -$l['us_done'] = 'Ihre Einstellungen wurden erfolgreich gespeichert'; -$l['us_choose_theme'] = 'Theme wählen'; -$l['us_exp_theme'] = 'Wählen Sie Ihr bevorzugtes Theme'; -$l['us_no_theme'] = 'Es wurde kein Theme ausgewählt'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'Wenn leere, wird das Standard Logo angezeigt'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Benachrichtigung für Traffic Limit'; -$l['us_vps_bandwidth_threshold_exp'] = 'Wenn dieser Wert auf 0 eingestellt wird, folgt keine E-Mail Benachrichtigung. Wert in %'; -$l['us_no_vps_bandwidth_threshold'] = 'Sie haben keinen Wert für Traffic Limit eingegeben'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Ungülter Wert für das Traffic Limit eingegeben'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain-Weiterleitung'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protokoll'; -$l['vdf_src_hname'] = 'Domain/IP'; -$l['vdf_src_dom'] = 'Domain'; -$l['vdf_src_ip'] = 'Quell-IP'; -$l['vdf_src_port'] = 'Quell-Port'; -$l['vdf_dest_ip'] = 'Ziel-IP'; -$l['vdf_dest_port'] = 'Ziel-Port'; - -$l['vdf_add_title'] = 'Neuer Domain-Weiterleitungs Record'; -$l['vdf_sel_proto'] = 'Protokoll wählen'; -$l['vdf_select_ip'] = 'IP wählen'; - -$l['vdf_no_act_sel'] = 'Keine Aktion ausgewählt, wählen Sie eine und versuchen Sie es erneut'; -$l['vdf_success_add'] = 'Erfolgreich hinzugefügt'; -$l['vdf_success_update'] = 'Daten erfolgreich aktualisiert'; -$l['vdf_success_save'] = 'Änderung gespeichert'; -$l['vdf_no_server_found'] = 'Kein Server gefunden'; -$l['vdf_conf_del_entries'] = 'Ausgewählte Einträge löschen ?'; -$l['vdf_success_del_entries'] = 'Einträge erfolgreich gelöscht'; -$l['vdf_ser_not_found'] = 'Angeforderter Server nicht gefunden'; -$l['vps_not_found_on_server'] = 'Angeforderter '.VM_SHORT.' ({{vpsid}}) auf dem ausgewählten Server nicht gefunden ({{server}})'; -$l['vdf_proto_no_support'] = 'Protokoll ID ({{protocolid}}) nicht unterstüzt'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) nicht gefunden'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) nicht gefunden'; -$l['vdf_inv_ipaddress'] = 'Die angegebene IP-Adresse gehört Ihnen nicht'; -$l['vdf_no_vps'] = 'Kein '.VM_SHORT.' gefunden'; - -$l['vdf_empty_allowed_src_ips'] = 'Die zugelassene Quell-IP-Liste ist leer. Der Administrator muss diese IP-Liste vor der Verwendung dieser Funktion festlegen'; -$l['vdf_inv_src_port'] = 'Quell-Port ({{src_port}}) ist keine gültige Portnummer'; -$l['vdf_in_use_src_port'] = 'Quell-Port ({{src_port}}) ist bereits in Nutzung'; -$l['vdf_inv_src_hostname'] = 'Die ausgewählte Domain ({{src_hostname}}) ist keine gültige Domain'; -$l['vdf_inv_src_ip'] = 'Quell-IP ({{src_ip}}) ist keine gültige IP'; -$l['vdf_not_available_src_ip'] = 'Die ausgewählte Quell-IP ({{$src_ip}}) ist nicht verfügbar für '.VM_SHORT.' Domain Weiterleitun'; -$l['vdf_port_not_supported_tcp'] = 'Quell-Port ({{src_port}}) wird nicht für das ausgewählte Protokoll TCP unterstützt. Es wird nur für folgende Protokolle unterstützt: HTTP und HTTPS'; - -$l['vdf_inv_dest_port'] = 'Ziel-Port ({{dest_port}}) ist keine gültige Portnummer'; -$l['vdf_inv_dest_ip'] = 'Ziel-IP ({{dest_ip}}) ist kein gültige IP oder ist diesem '.VM_SHORT.' nicht zugeordnet'; - -$l['vdf_note_point_domain'] = 'Hinweis: Für die Domain-Weiterleitung muss dieser '.VM_SHORT.'-Domainname ({{src_hostname}}) auf eine dieser IPs verweisen:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Datensatz existiert bereits für Domain ({{src_hostname}}) und Quell-Port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Beim Ausführen der Datenbankabfrage ist ein Fehler aufgetreten, der die Anforderung nicht verarbeiten kann'; -$l['vdf_err_unknown'] = 'Bei der Bearbeitung der Anfrage ist ein unbekannter Fehler aufgetreten'; - -$l['vdf_err_haproxy_port_empty'] = 'Quell-Port ist leer'; -$l['vdf_err_haproxy_port_used'] = 'Quell-Port {{src_port}} ist bereits in Nutzung'; -$l['vdf_in_haproxy_reservedports'] = 'Quell-Port {{src_port}} befindet sich in reservierter Port-Liste'; -$l['vdf_in_haproxy_reservedports_http'] = 'Quell-Port {{src_port}} ist in reservierten Ports-Listen nur für die Protokoll HTTP oder HTTPS erlaubt'; -$l['vdf_notin_haproxy_allowedports'] = 'Quell-Port {{src_port}} ist nicht in der erlaubten Port-Liste'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reservierte Ports'; -$l['vdf_info_allowedports'] = 'Erlaubte Ports'; -$l['vdf_info_reservedports_http'] = 'Reservierte Ports nur für HTTP / HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain-Weiterleitung'; -$l['vdf_source'] = 'Quelle'; -$l['vdf_destination'] = 'Ziel'; -$l['vdf_added'] = 'Hinzugefügt'; -$l['vdf_updated'] = 'Aktualisiert'; -$l['vdf_removed'] = 'Gelöscht'; -$l['vdf_removed_multiple'] = 'Mehrere entfernt'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Diesen Record bearbeiten'; -$l['vdf_tooltip_save'] = 'Speichern Sie die Änderungen für diesen Record'; -$l['vdf_tooltip_revert'] = 'Änderungen für diesen Record zurücksetzen'; -$l['vdf_tooltip_delete'] = 'Diesen Record löschen'; - -$l['vdf_skipped_msg'] = 'Dieser Eintrag wurde übersprungen'; -$l['vdf_skipped_haproxy_reservedports'] = 'Quell-Port ist in der Liste der blockierten Ports'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Quell-Port ist in der Port-Liste nur für HTTP und HTTPS reserviert'; -$l['vdf_skipped_haproxy_allowedports'] = 'Quell-Port ist nicht in der Liste der erlaubten Ports'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Bitte geben Sie die Art der Virtualisierung an'; -$l['li_num_vs_over'] = 'Sie haben bereits die maximale Anzahl der erlaubten VMs erstellt'; -$l['li_no_hname'] = 'Bitte geben Sie einen Hostnamen an'; -$l['li_no_os'] = 'Bitte wählen Sie ein Betriebssystem für den '.VM_SHORT; -$l['li_no_rootpass'] = 'Bitte geben Sie eine Root-Passwort an'; -$l['li_no_disk_space'] = 'Bitte geben Sie den Festplattenspeicher an, der zugewiesen werden soll'; -$l['li_no_ram'] = 'Bitte geben Sie den RAM-Speicher an'; -$l['li_no_vncpass'] = 'Bitte geben Sie ein VNC-Passwort an'; -$l['li_no_bandwidth'] = 'Bitte geben Sie den Datenverkehr an'; -$l['li_no_cpu_units'] = 'Bitte geben Sie die CPU Einheiten an'; -$l['li_no_cpu_cores'] = 'Bitte geben Sie die Anzahl der Kerne an'; -$l['li_cores_max'] = 'Max Kerne'; -$l['li_invalid_sg'] = 'Die ausgewählte Region ist ungültig'; -$l['li_invalid_plid'] = 'The Plan you selected is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'Die von ihnen ausgewählte Region unterstützt nicht die von ihnen gewählte Virtualisierung'; -$l['li_no_percent_cpu'] = 'Bitte geben Sie die erlaubte CPU-Auslastung in Prozent an'; -$l['li_no_swap_ram'] = 'Bitte geben Sie den SWAP-RAM an'; -$l['li_no_burst_ram'] = 'Bitte geben Sie die Grenze für den dynamischen RAM an'; -$l['li_invalid_os'] = 'Das von ihnen übermittelte Betriebssystem ist ungültig'; -$l['li_no_ip'] = 'Bitte geben Sie für den '.VM_SHORT.' mindestens eine IP an'; -$l['li_invalid_uid'] = 'Der Benutzer, welchen Sie übermittelt haben, existiert nicht'; -$l['li_no_user'] = 'Sie haben keine E-Mail-Adresse für den Benutzer angegeben'; -$l['li_no_user_pass'] = 'Sie haben kein Passwort für den Benutzer angegeben'; -$l['li_invalid_email'] = 'Die Benutzer E-Mail-Adresse ist ungültig'; -$l['li_emailexist'] = 'Die neue Benutzer E-Mail-Adresse welche Sie angegeben haben existiert bereits'; -$l['li_err_user'] = 'Es gab einen Fehler beim Hinzufügen des Benutzers'; -$l['li_invalid_hostname'] = 'Der angegebene Hostname ist ungültig'; -$l['li_less_ram'] = 'Sie haben nicht genug RAM um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_burst'] = 'Sie haben nicht genug dynamischen RAM um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'Sie haben nicht genug Festplattenspeicher um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_inodes'] = 'Die inodes sollten nicht kleiner sein als 50000'; -$l['li_less_vs'] = 'Sie dürfen keine weiteren VMs erstellen'; -$l['li_less_bandwidth'] = 'Sie haben nicht genug Datenverkehr um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'Sie haben nicht genug IPv4 Adressen um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'Sie haben nicht genug IPv6 Adressen um diesen '.VM_SHORT.' zu erstellen'; -$l['li_less_ipv6_subnet'] = 'Sie haben nicht genug IPv6 Subnetze um diesen '.VM_SHORT.' zu erstellen'; -$l['li_max_cores_exceeded'] = 'Sie sind nicht berechtigt, eine '.VM_SHORT.' mit so vielen Kernen zu erstellen'; -$l['li_less_cores'] = 'Sie haben nicht genug CPU Kerne um diesen '.VM_SHORT.' zu erstellen'; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'Sie haben die maximale Anzahl der Benutzer erreicht, die Sie berechtigt sind zu erstellen'; -$l['li_no_server'] = 'Die Region, welche Sie ausgewählt haben, ist vollständig ausgelastet und hat nicht genügend Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support.'; -$l['li_ipv4_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv4 Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support.'; -$l['li_ipv6_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv6 Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; -$l['li_ipv6_subnet_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv6 Subnetze um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; -$l['li_no_webuzo_template'] = 'Das von ihnen ausgewählte OS Template ist keine Webuzo Template'; -$l['li_err_swapsize'] = 'Die angegebene SWAP Größe kann nicht größer als oder gleich dem angegebenen Gesamtspeicherplatz sein'; -$l['li_inv_kvm_cache'] = 'Der übermittelte Festplatten-Cache ist ungültig'; -$l['li_inv_io_mode'] = 'Die übermittelte I/O Policy ist ungültig'; -$l['li_inv_vnc_keymap'] = 'Das übermittelte VNC-Tastaturlayout ist ungültig'; -$l['li_err_vpslimit'] = VM_SHORT.' Erstellungsgrenze überschritten'; -$l['li_page_head'] = 'Instanz starten'; -$l['li_vstype'] = 'Typ'; -$l['li_done'] = 'Der '.VM_LONG.'. wurde erstellt.'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Passwort'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Passwort'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'ändern Sie den aktuellen Server, um den Server zu ändern'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'Benutzer'; -$l['li_vs_user_exp'] = 'Wählen Sie einen vorhandenen Benutzer oder fügen Sie einen Benutzer hinzu'; -$l['li_user_email'] = 'Benutzer Email'; -$l['li_user_pass'] = 'Passwort'; -$l['li_add_user'] = 'Benutzer hinzufügen'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualisierung'; -$l['li_os'] = 'Betriebssystem'; -$l['li_select'] = 'Wählen'; -$l['li_vs_plan'] = 'Vorlage auswählen'; -$l['li_plan_exp'] = 'Wählen Sie eine vordefinierte Vorlage'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Möchten Sie Vollvirtualisierung für dieses '.VM_SHORT.' aktivieren?'; -$l['li_vsos'] = 'Betriebssystem'; -$l['li_vsos_exp'] = 'Wählen Sie das Betriebssystem für den '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'Wenn ein ISO ausgewählt ist, wird der '.VM_SHORT.' von diesem ISO gebootet'; -$l['li_sec_vsiso'] = 'ISO für zweites CD-ROM-Laufwerk'; -$l['li_sec_vsiso_exp'] = 'Wählen Sie ein ISO für das zweite CD-ROM-Laufwerk'; -$l['li_none'] = 'Nichts'; -$l['li_rootpass'] = VM_SHORT.' Root Passwort'; -$l['li_rootpass_exp'] = 'Das Passwort für den Root Benutzer / Administrator des '.VM_SHORT; -$l['li_randpass'] = 'Ein neues Zufallspasswort erstellen'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Geben Sie einen Hostnamen für den '.VM_SHORT.' an z.B. www.example.com'; -$l['li_ip'] = 'IP Adresse'; -$l['li_ips_exp'] = 'Sie können die Anzahl der IP-Adressen angeben, die zugeteilt werden sollen'; -$l['li_ips'] = 'IP Adressen'; -$l['li_ips6_subnet'] = 'IPv6 Subnetze'; -$l['li_ips6_subnet_exp'] = 'Sie können die Anzahl der IPv6 Subnetze angeben, die zugeteilt werden sollen'; -$l['li_ips6'] = 'IPv6 Adressen'; -$l['li_ips6_exp'] = 'Sie können die Anzahl der IPv6 Adressen angeben, die zugeteilt werden sollen'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Diese IP löschen'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Festplattenspeicher'; -$l['li_exp_hdd'] = 'Der erlaubte Festplattenspeicher für den '.VM_SHORT; -$l['li_mac'] = 'MAC Adresse'; -$l['li_exp_mac'] = 'Sechs Gruppen von zwei hexadezimalen Ziffern, die durch Doppelpunkte getrennt werden (:), z.B. 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'Die maximale Anzahl der Inodes (Dateien) die innerhalb des '.VM_SHORT.' erlaubt sind. Empfohlener Wert : 500000+'; -$l['li_gram'] = 'Garantierter RAM'; -$l['li_exp_gram'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Dynamischer RAM'; -$l['li_exp_bram'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen kann'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'Es wird versucht, eine Swap-Partition zu erstellen, wenn Sie ein Betriebssystem-Template von oben ausgewählt haben'; -$l['li_band'] = 'Datenverkehr'; -$l['li_exp_band'] = 'Monatliche Begrenzung des Datenverkehrs für den '.VM_SHORT.'. 0 (Null) für unbegrenzt'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Einheiten'; -$l['li_cpalloc'] = 'CPU Einheiten, die zugeordnet werden sollen'; -$l['li_cpalloc_xen'] = 'Empfohlener Wert : 256'; -$l['li_cpalloc_openvz'] = 'Empfohlener Wert : 1000'; -$l['li_cpalloc_kvm'] = 'Empfohlener Wert : 1024'; -$l['li_units'] = 'Einheiten'; -$l['li_cores'] = 'CPU Kerne'; -$l['li_cpucore_exp'] = 'Empfohlener Wert :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'Die CPU-Zeit in Prozent die, der entsprechenden '.VM_SHORT.' nicht übersteigen darf.
Setzen Sie 0 für keine Einschränkung.
Empfohlener Wert : 10'; -$l['li_io'] = 'I/O Priorität'; -$l['li_io0-7'] = 'Wählen Sie eine Priorität von 0-7'; -$l['li_na'] = 'Netzwerkgeschwindigkeit'; -$l['li_na_exp'] = 'Bitte geben Sie die Netzwerkgeschwindigkeit an'; -$l['li_ubcsettings'] = 'UBC Einstellungen'; -$l['li_exp_ubc'] = 'Wenn ausgewählt, werden Sie zu den UBC Einstellungen für den '.VM_SHORT.' weitergeleitet'; -$l['li_submit'] = 'Erstellen'; -$l['li_addvoption'] = 'Erweiterte Optionen'; -$l['li_addvhide'] = 'Erweiterte Optionen verbergen'; -$l['li_network_speed'] = 'Netzwerkgeschwindigkeit'; -$l['li_network_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'Keine Einschränkung'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Empfohlener Wert : 8 MB'; -$l['li_vncpass'] = 'VNC Passwort'; -$l['li_vncpass_exp'] = 'Das VNC-Passwort für den '.VM_SHORT.'. Klicken Sie auf das Symbol, um ein neues Zufallspasswort zu generieren'; -$l['li_free'] = 'Frei'; -$l['li_band_suspend'] = 'Datenverkehr aussetzen'; -$l['li_exp_band_suspend'] = 'Sperrt den '.VM_SHORT.', wenn mehr Datenverkehr als zugeteilt genutzt wird.'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Tun/Tap für den '.VM_SHORT.' aktivieren'; -$l['li_exp_ppp'] = 'PPP (Point to Point Protocol) für den '.VM_SHORT.' aktivieren'; -$l['li_osreinstall'] = 'OS neu installieren Limit'; -$l['li_exp_osreinstall'] = 'Wenn Sie die Anzahl für OS neu installationen pro Monat Limitieren möchten.
z.B. 0 - ist unbegrenzt'; -$l['li_changenic'] = 'Virtuelle Netzwerkkarte'; -$l['li_exp_changenic'] = 'Mit dieser Funktion können Sie die virtuelle Netzwerkkarte für den '.VM_SHORT.' ändern'; -$l['li_add_route'] = 'Geroutetes Netzwerk verwenden'; -$l['li_exp_add_route'] = 'Wenn aktiviert, wird ein Geroutetes Netzwerk verwendet.'; -$l['li_nic_default'] = 'Realtek 8139'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtuelle Netzwerkschnittstelle Emulationstyp'; -$l['li_exp_change_vif_type'] = 'Wenn Sie den Netzwerkschnittstellen Emulationstyp ändern möchten. Optionen sind netfront oder ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront'; -$l['li_usevirtio'] = 'Virtio aktivieren'; -$l['li_exp_usevirtio'] = 'Verwenden Sie virtio als IO-Virtualisierung'; -$l['li_usesec_cdrom'] = 'Zweites CD-ROM-Laufwerk aktivieren'; -$l['li_exp_usesec_cdrom'] = 'Aktivieren Sie diese Option, um ein weiteres ISO zu mounten.'; -$l['li_kvm_cache'] = 'Festplatten-Cache'; -$l['li_exp_kvm_cache'] = 'Steuert den Cache-Mechanismus'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC-Konsole Tastaturbelegung'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'Wenn Sie nicht sicher sind, dann verwenden Sie 4.2.2.1 und 4.2.2.2'; -$l['li_mg'] = 'Mediengruppen'; -$l['li_mg_exp'] = 'Wenn keine Mediengruppe zugewiesen wurde, dann werden alle Medien für diesen '.VM_SHORT.' zur Verfügung gestellt.'; -$l['li_apps'] = 'Anwendungen'; -$l['li_apps_exp'] = 'Wählen Sie die Webuzo Anwendung, die Sie installieren möchten'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'Wenn aktiviert, wird der '.VM_SHORT.' im Ploop Format erstellt'; -$l['li_mac_temp_vncdetails'] = 'MAC Adresse :'; -$l['li_mail_temp_vnctitle'] = 'Die VNC Details lauten :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Passwort :'; -$l['li_reinstall'] = VM_LONG.'. neu installieren'; -$l['li_space'] = 'Speicherplatz'; -$l['li_space_exp'] = 'Der erlaubte Speicherplatz für den '.VM_SHORT; -$l['li_ram'] = 'Garantierter RAM'; -$l['li_ram_exp'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; -$l['li_burst'] = 'Dynamischer RAM'; -$l['li_burst_exp'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen darf'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'Es wird versucht, eine Swap-Partition zu erstellen, wenn Sie ein Betriebssystem-Template von oben ausgewählt haben'; -$l['li_bandwidth'] = 'Datenverkehr'; -$l['li_bandwidth_exp'] = 'Monatliche Begrenzung des Datenverkehrs für den '.VM_SHORT.'. 0 (Null) für unbegrenzt'; -$l['li_unlimited'] = 'Unbegrenzt'; -$l['li_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Zeichen enthalten: Ein Großbuchstaben, Kleinbuchstaben, eine Zahl oder ein spezielles Symbol'; -$l['li_usevirtio'] = 'Virtio aktivieren'; -$l['li_usevirtio_exp'] = 'Virtio als I/O Virtualisierung verwenden'; -$l['li_plan_name'] = 'Vorlage Name'; -$l['li_plan_details'] = 'Vorlage Details'; -$l['li_new_vps_info'] = 'Neuer '.VM_SHORT; -$l['li_back'] = 'Zurück'; -$l['li_continue'] = 'Fortsetzen'; -$l['li_nic'] = 'Virtueller Netzwerk-Schnittstellentyp'; -$l['li_nic_exp'] = 'Wählen Sie den Typ der Virtuellen Netzwerkschnittstelle.'; -$l['li_vif'] = 'Virtuelle Netzwerkschnittstelle Emulationstyp'; -$l['li_vif_exp'] = 'Wählen Sie den Emulations-Typ der Netzwerkschnittstelle. Optionen sind netfront oder ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU-Topologie'; -$l['li_enable_cpu_topology_exp'] = 'Geben Sie die Anzahl der CPU-Kerne, Threads und Sockets an, die dem '.VM_SHORT.' zugewiesen werden sollen'; -$l['li_inv_topology'] = 'Ungültige(r) CPU-Topologie-Wert(e). Alle angegebenen Topologiewerte müssen größer als Null sein'; -$l['li_err_topology_calc'] = 'CPU-Kerne sollten gleich der Topologiegrenze sein (CPU-Kerne = Sockets x Topologie Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Monat'; -$l['li_hour'] = 'Stunde'; -$l['li_invalid_plid'] = 'Die angegebene Vorlage ist ungültig'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Instanz bearbeiten '; -$l['ei_vs_user'] = 'Benutzer'; -$l['ei_vs_user_exp'] = 'Wählen Sie einen vorhandenen Benutzer oder fügen Sie einen neuen Benutzer hinzu'; -$l['ei_user_email'] = 'Benutzer E-Mail'; -$l['ei_user_pass'] = 'Passwort'; -$l['ei_add_user'] = 'Benutzer hinzufügen'; -$l['ei_unknown'] = 'Unbekannt'; -$l['ei_vsos'] = 'Betriebssystem'; -$l['ei_vsos_exp'] = 'Das aktuelle Betriebssystem des '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'Wenn ein ISO gewählt ist, wird die Maschine von diesem ISO gebootet'; -$l['ei_none'] = 'Nichts'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Geben Sie den Hostnamen für den '.VM_SHORT.' an z.B. www.example.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Passwort'; -$l['ei_rootpass_exp'] = 'Leer lassen, wenn Sie das aktuelle Passwort nicht ändern möchten'; -$l['ei_randpass'] = 'Erzeugen Sie ein weiteres Zufallspasswort'; -$l['ei_ip'] = 'IP-Adresse'; -$l['ei_ips_exp'] = 'Sie können aus dem IP-Pool wählen, oder Sie geben andere IPs an'; -$l['ei_ips6_subnet'] = 'IPv6 Subnetz'; -$l['ei_ips6_subnet_exp'] = 'Sie können aus der IPv6-Subnetz-Liste wählen'; -$l['ei_free'] = 'Frei'; -$l['ei_ips6'] = 'IPv6 Adressen'; -$l['ei_ips6_exp'] = 'Sie können die Anzahl an IPv6 Adressen bestimmen, die zugeteilt werden sollen oder Sie wählen diese aus dem IPv6 Pool'; -$l['ei_space'] = 'Speicherplatz'; -$l['ei_space_exp'] = 'Der zulässige Speicherplatz für den '.VM_SHORT; -$l['ei_ram'] = 'Garantierter RAM'; -$l['ei_ram_exp'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; -$l['ei_burst'] = 'Dynamischer RAM'; -$l['ei_burst_exp'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen kann'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Datenverkehr'; -$l['ei_bandwidth_exp'] = 'Monatliches Limit für Datenverkehr des '.VM_SHORT.'. 0 (Null) für unbegrenzt'; -$l['ei_cores'] = 'CPU Kerne'; -$l['ei_cpucore_exp'] = 'Empfohlener Wert :'; -$l['ei_cores_max'] = 'Max Kerne'; -$l['ei_unlimited'] = 'Unbegrenzt'; -$l['ei_network_speed'] = 'Netzwerkgeschwindigkeit'; -$l['ei_network_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; -$l['ei_upload_speed'] = 'Upload-Geschwindigkeit'; -$l['ei_upload_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'Keine Einschränkung'; -$l['ei_vncpass'] = 'VNC Passwort'; -$l['ei_vncpass_exp'] = 'Das VNC-Passwort für den '.VM_SHORT.'. Klicken Sie auf das Symbol, um ein neues Zufallspasswort zu generieren'; -$l['ei_submit'] = VM_LONG.'. bearbeiten'; -$l['ei_done'] = 'Der '.VM_LONG.'. wurde erfolgreich bearbeitet.'; -$l['ei_addvoption'] = 'Erweiterte Optionen'; -$l['ei_no_uid'] = 'Es wurde kein Benutzer ausgewählt'; -$l['ei_no_nonalphanumeric'] = 'Nur nicht-alphanumerische Zeichen sind für das VNC-Passwort erlaubt'; -$l['ei_less_space'] = 'Sie haben nicht genug Speicherplatz um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_less_ram'] = 'Sie haben nicht genug RAM um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_max_cores_exceeded'] = 'Sie sind nicht berechtigt, eine '.VM_SHORT.' mit so vielen Kernen zu erstellen'; -$l['ei_less_cores'] = 'Sie haben nicht genug CPU Kerne um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_less_burst'] = 'Sie haben nicht genug Dynamischen Ram um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_ipv4_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv4-Ressourcen, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; -$l['ei_ipv6_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv6-Ressourcen, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; -$l['ei_ipv6_subnet_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv6 Subnetze, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; -$l['ei_less_ipv4'] = 'Sie haben nicht genug IPv4-Adressen, um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_less_ipv6'] = 'Sie haben nicht genug IPv6-Adressen, um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_less_ipv6_subnet'] = 'Sie haben nicht genug IPv6 Subnetze, um diesen '.VM_SHORT.' zu erstellen'; -$l['ei_wrong_user'] = 'Sie können nicht zu diesem Benutzer wechseln'; -$l['ei_only_user'] = 'Während der Bearbeitung des Benutzers der '.VM_SHORT.', können die Ressourcen nicht geändert werden'; -$l['ei_less_swap'] = 'Sie haben nicht genug SWAP zur Verfügung'; -$l['ei_usevirtio'] = 'Virtio aktivieren'; -$l['ei_usevirtio_exp'] = 'Virtio als I/O Virtualisierung verwenden'; -$l['ei_less_bandwidth'] = 'Sie haben nicht genug Traffic, dem Sie diesen '.VM_SHORT.' zuweisen können'; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Im Tarif enthalten'; -$l['ei_add_pricing'] = 'Zusätzliche Preise'; -$l['ei_plan'] = 'Derzeitiger Tarif'; -$l['ei_plan_exp'] = 'Wählen Sie den Tarif, zu dem Sie wechseln möchten. Hinweis : Wenn Ihre aktuellen Ressourcen höher sind als der neue Tarif, werden Ihnen zusätzliche Gebühren gemäß den Ressourcenpreisen berechnet'; -$l['ei_plid_space'] = 'Sie können nicht auf einen niedrigeren Tarif wechseln'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Das ausgewählte Control Panel ist ungültig'; -$l['cpan_err_installing'] = 'Es gab einen Fehler bei der Installation des Control Panel'; -$l['cpan_wrong_os'] = 'Das Control Panel kann nicht installiert werden auf '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'Die Control Panel Installation hat begonnen und wird in Kürze abgeschlossen sein'; -$l['cpan_change_onboot'] = 'Das Control Panel wird installiert, wenn Sie den '.VM_SHORT.' herunterfahren und dann wieder starten'; -$l['cpan_vps_start'] = 'Der '.VM_SHORT.' läuft nicht! Bitte zuerst den '.VM_SHORT.' starten.'; -$l['cpan_heading'] = 'Control Panel'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backup-Liste von '.VM_SHORT.' ID:'; -$l['bkup2_list_exp'] = 'Die Daten der Backups die für diesen '.VM_SHORT.' verfügbar sind, werden unten aufgeführt. Sie können sie entsprechend wiederherstellen oder löschen.'; -$l['bkup2_date'] = 'Backup Datum'; -$l['bkup2_size'] = 'Größe'; -$l['bkup2_action'] = 'Aktion'; -$l['bkup2_restore'] = 'Wiederherstellen'; -$l['bkup2_delete'] = 'Backup löschen'; -$l['bkup2_now'] = 'Backup jetzt starten'; -$l['bkup2_conf_cbackup'] = 'Sind Sie sicher, dass Sie ein Backup erstellen möchten?'; -$l['bkup2_conf_restore'] = 'Sind Sie sicher, dass Sie dieses Backup wiederherstellen möchten?'; -$l['bkup2_conf_delete'] = 'Sind Sie sicher, dass Sie dieses Backup löschen möchten?'; -$l['bkup2_list'] = 'Backups-Liste'; -$l['bkup2_settings'] = 'Einstellungen'; -$l['bkup2_backup_server'] = 'Backup-Server'; -$l['bkup2_backup_server_exp'] = 'Wenn spezifizierte Backups zum Backup-Server hochgeladen werden'; -$l['bkup2_none'] = 'Nichts'; -$l['bkup2_server'] = 'Backup-Server'; -$l['bkup2_no_day'] = 'Bitte geben Sie einen gültigen Tag für das Backup an'; -$l['bkup2_no_date'] = 'Ungültiges Backup-Datum angegeben'; -$l['bkup2_no_freq'] = 'Bitte geben Sie eine gültige Frequenz für das Backup an'; -$l['bkup2_no_time'] = 'Bitte geben Sie eine gültige Zeit für das Backup an'; -$l['bkup2_no_bserid'] = 'Bitte geben Sie einen gültigen Backup-Server an'; -$l['bkup2_done_backup'] = 'Der '.VM_SHORT.'-Backup-Prozess wurde gestartet. Bitte warten Sie ein paar Minuten bis zur Fertigstellung. Sie erhalten eine Benachrichtigungs-E-Mail, wenn der Prozess abgeschlossen ist'; -$l['bkup2_done_restore'] = 'Der '.VM_SHORT.'-Wiederherstellungsprozess wurde gestartet. Bitte warten Sie ein paar Minuten bis zur Fertigstellung. Sie erhalten eine Benachrichtigungs-E-Mail, wenn der Prozess abgeschlossen ist'; -$l['bkup2_done_delete'] = 'Das '.VM_SHORT.'-Backup wurde erfolgreich gelöscht'; -$l['bkup2_done_save_settings'] = 'Die Backup-Einstellungen wurden erfolgreich gespeichert.'; -$l['bkup2_err_backup'] = 'Beim Erstellen des Backup ist ein Fehler aufgetreten'; -$l['bkup2_err_restore'] = 'Beim Wiederherstellen des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['bkup2_err_deletevpsbackup'] = 'Beim Löschen des Backup des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['bkup2_err_backup_not_allowed'] = 'Dieser '.VM_SHORT.' hat keine Berechtigung Backups zu nutzen'; -$l['bkup2_err_task_running'] = 'Für diesen '.VM_SHORT.' läuft bereits ein Backup- oder Wiederherstellungsvorgang. Bitte warten Sie, bis dieser fertig ist'; -$l['bkup2_err_backup_limit'] = 'Sie haben das Backup-Limit dieses '.VM_SHORT.' für diesen Monat erreicht.'; -$l['bkup2_err_restore_limit'] = 'Sie haben das Wiederherstellungs-Limit dieses '.VM_SHORT.' für den Monat erreicht.'; -$l['bkup2_err_save_settings'] = 'Beim Speichern der Backup-Einstellungen ist ein Fehler aufgetreten'; -$l['bkup2_monthly_bkups_used'] = 'Monatliche Backups verwendet:'; -$l['bkup2_monthly_restores_used'] = 'Monatliche Wiederherstellungen verwendet:'; -$l['bkup2_current_cycle'] = 'Aktueller Zyklus:'; -$l['bkup2_unlimited'] = 'Unbegrenzt'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'Diese Virtualisierung hat keine HVM-Einstellungen'; -$l['hvm_rescue_enabled'] = 'Der '.VM_SHORT.' ist im Rettungsmodus und kann nicht geändert werden'; -$l['hvm_invalid_iso'] = 'Das ausgewählte ISO ist ungültig'; -$l['hvm_err_editing'] = 'Es gab einige Fehler beim Speichern der Einstellungen'; -$l['hvm_heading'] = 'HVM-Einstellungen'; -$l['hvm_submit_button'] = 'Speichern'; -$l['hvm_done'] = 'Die Einstellungen wurden erfolgreich gespeichert'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Startreihenfolge'; -$l['hvm_isos'] = 'ISO auswählen'; -$l['hvm_none'] = 'Nichts'; -$l['hvm_tuntap_enable'] = 'Tun/Tap aktivieren'; -$l['hvm_ppp_enable'] = 'PPP (Point to Point Protocol) aktivieren'; -$l['hvm_disabled'] = 'Die HVM-Einstellungen werden durch einen Admin deaktiviert'; -$l['hvm_hdd'] = 'Festplatte'; -$l['hvm_cdrom'] = 'CD Laufwerk'; -$l['hvm_vnc_keymap'] = 'VNC Tastaturlayout'; -$l['hvm_enable_vga'] = 'VGA aktivieren'; -$l['hvm_enable_acceleration'] = 'Beschleunigung aktivieren'; -$l['hvm_enable_acceleration_exp'] = 'Wenn ausgewählt, wird die 2D-und 3D-Beschleunigung für den '.VM_SHORT.' aktiviert.'; -$l['hvm_sec_iso'] = 'ISO für zweites CD-ROM-Laufwerk'; -$l['hvm_sec_iso_exp'] = 'Wählen Sie ein ISO für das zweite CD-ROM-Laufwerk'; -$l['hvm_nic_type'] = 'Virtuelle Netzwerkkarte'; -$l['hvm_nic_type_exp'] = 'Mit dieser Funktion können Sie die virtuelle Netzwerkkarte für den '.VM_SHORT.' ändern'; -$l['nic_default'] = 'Realtek 8139'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Virtio aktivieren'; -$l['hvm_fuse'] = 'Fuse aktivieren'; -$l['hvm_fuse_exp'] = 'Wenn ausgewählt, wird FUSE für den Container aktiviert'; -$l['hvm_ipip'] = 'IPIP aktivieren'; -$l['hvm_ipip_exp'] = 'Wenn ausgewählt, wird IPIP für den Container aktiviert'; -$l['hvm_ipgre'] = 'IPGRE aktivieren'; -$l['hvm_ipgre_exp'] = 'Wenn ausgewählt, wird IPGRE für den Container aktiviert'; -$l['hvm_nfs'] = 'NFS aktivieren'; -$l['hvm_nfs_exp'] = 'Wenn ausgewählt, wird NFS für den Container aktiviert'; -$l['hvm_quotaugidlimit'] = 'QUOTAUGIDLIMIT aktivieren'; -$l['hvm_quotaugidlimit_exp'] = 'Aktiviert oder deaktiviert in-Containern pro Benutzer und pro Gruppe das Disk-Quota. Wenn der Wert auf 0 gesetzt oder nicht gesetzt ist, wird das Disk-Quota im Container deaktiviert und nicht berücksichtigt.
-HINWEIS: Dadurch wird der Container neu gestartet.'; -$l['hvm_iolimit'] = 'IO-Bandbreitenbegrenzung für Container einstellen'; -$l['hvm_iolimit_exp'] = 'Wenn gesetzt, wird die IO-Operation das angegebene Limit nicht überschreiten, während IO-Operationen ausgeführt werden.'; -$l['hvm_iopslimit'] = 'IOPS-Limit für Container einstellen'; -$l['hvm_iopslimit_exp'] = 'Wenn gesetzt, überschreitet IO-Operationen pro Sekunde das angegebene Limit nicht.'; -$l['hvm_admin_iso'] = 'Admin ISO'; -$l['hvm_user_iso'] = 'Benutzer ISO'; -$l['hvm_addiso'] = 'ISO hinzufügen'; -$l['hvm_listiso'] = 'ISO anzeigen'; -$l['hvm_timezone'] = 'Wählen Sie die '.VM_SHORT.'-Zeitzone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU Informationen'; -$l['cpu_totalcpu'] = 'CPU gesamt :'; -$l['cpu_cpuutilised'] = 'Genutzt : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'CPU-Auslastung'; -$l['cpu_trademarks'] = 'Alle jeweiligen Logos sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Unternehmen.'; -$l['cpu_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM Informationen'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Garantierter RAM : '; -$l['ram_burstable'] = 'Dynamisch :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Genutzt :'; -$l['ram_percentram'] = 'Nutzung % :'; -$l['ram_graphheader'] = 'RAM-Auslastung'; -$l['ram_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Speicherplatz'; -$l['disk_diskinfo'] = 'Speicherplatz Informationen'; -$l['disk_totaldisk'] = 'Gesamt Speicherplatz : '; -$l['disk_diskutilised'] = 'Genutzt : '; -$l['disk_percentdisk'] = 'Nutzung % : '; -$l['disk_graphheader'] = 'Speicherplatz Nutzung'; -$l['disk_inodesinfo'] = 'Inodes Informationen'; -$l['disk_inodestotal'] = 'Gesamt Inodes :'; -$l['disk_inodesutilised'] = 'Genutzt : '; -$l['disk_percent_inodes'] = 'Nutzung % :'; -$l['disk_inodesheader'] = 'Inodes Nutzung'; -$l['disk_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Traffic'; -$l['band_bandwidthinfo'] = 'Traffic Informationen'; -$l['band_Total_Bandwidth'] = 'Traffic gesamt:'; -$l['band_bandwidth_utilized'] = 'Genutzt : '; -$l['band_percent_utilized'] = '% Genutzt : '; -$l['band_graphheader'] = 'Traffic Nutzung'; -$l['band_unlimited'] = 'Unbegrenzt'; -$l['band_network_speed'] = 'Netzwerkgeschwindigkeit (MB/s)'; -$l['band_prev'] = 'Vorheriger Monat'; -$l['band_next'] = 'Nächster Monat'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serielle Konsole ist deaktiviert'; -$l['cs_call_failed'] = 'Der API-Aufruf ist fehlgeschlagen. Bitte kontaktieren Sie den Admin'; -$l['cs_heading'] = 'Serielle Konsole'; -$l['cs_none'] = 'Keine vorhandene Konsolensitzung gefunden. Bitte erstellen Sie eine !'; -$l['cs_create'] = 'Sitzung erstellen'; -$l['cs_creating'] = 'Erstelle die Sitzung ...'; -$l['cs_destroying'] = 'Zerstöre die Sitzung ...'; -$l['cs_details'] = 'Das Folgende sind die Konsole Details'; -$l['cs_expires'] = 'Ablauf'; -$l['cs_ip'] = 'IP-Adresse'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Benutzername'; -$l['cs_password'] = 'Passwort'; -$l['cs_destroy'] = 'Sitzung Zerstören'; -$l['cs_java_console'] = 'Java Konsole'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status Logs'; -$l['sts_running'] = 'Läuft'; -$l['sts_stopped'] = 'Gestoppt'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Zeit'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System-Warnungen'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Aufgaben'; -$l['tasks_task_started'] = 'Aufgabe gestartet'; -$l['tasks_no_tasks'] = 'Es gibt keine aktive Aufgabe für diesen Benutzer'; -$l['tasks_addvs'] = VM_SHORT.' erstellen'; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = VM_SHORT.' löschen'; -$l['tasks_migrateprog'] = VM_SHORT.' Migration'; -$l['tasks_migratedest'] = VM_SHORT.' Migration'; -$l['tasks_multivirt'] = 'Multivirt aktiviert'; -$l['tasks_createtemplate'] = 'Template erstellt'; -$l['tasks_getos'] = 'Betriebssystem herunterladen'; -$l['tasks_rebuildvs'] = VM_SHORT.' wieder erstellen'; -$l['tasks_resizevps'] = VM_SHORT.' Größe ändern'; -$l['tasks_bandwidth_unsuspend'] = 'Traffic entsperren'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = VM_SHORT.' Wiederherstellen'; -$l['tasks_vpsbackups'] = VM_SHORT.' sichern'; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = VM_SHORT.' Wiederherstellen'; -$l['tasks_backup'] = VM_SHORT.' sichern'; -$l['tasks_change_dnsnameserver'] = 'Nameserver ändern'; -$l['tasks_changepassword'] = 'Passwort ändern'; -$l['tasks_sync_config'] = 'Sync-Konfiguration'; -$l['tasks_install_cp'] = 'Control Panel installieren'; -$l['tasks_install_recipe'] = 'Rezept installieren'; -$l['tasks_hostname'] = 'Hostname ändern'; -$l['tasks_editxcpvs'] = 'XCP '.VM_SHORT.' bearbeiten'; -$l['tasks_error'] = 'Fehler'; -$l['tasks_inprogress'] = 'In Bearbeitung'; -$l['tasks_order'] = 'Auftrag'; -$l['tasks_asc'] = 'Aufsteigend'; -$l['tasks_desc'] = 'Absteigend'; -$l['tasks_submit'] = 'Suchen'; -$l['tasks_progress'] = 'Fortschritt'; -$l['tasks_completed'] = 'Aufgabe erledigt'; -$l['tasks_task_notcomplete'] = 'Ein Fehler ist aufgetreten.'; -$l['tasks_task_notupdated'] = 'Aufgabe nicht aktualisiert!'; -$l['tasks_task_notupdated_status'] = 'Unauffindbar'; -$l['tasks_migrate_speed'] = 'Migration Geschwindigkeit: '; -$l['tasks_started'] = 'Gestartet'; -$l['tasks_updated'] = 'Aktualisiert'; -$l['tasks_ended'] = 'Beendet'; -$l['tasks_notupdated'] = 'Nicht aktualisiert'; -$l['tasks_unslaved'] = 'Slave-Server getrennt'; -$l['tasks_not_started'] = 'Aufgabe nicht gestartet'; -$l['tasks_not_updated'] = 'Aufgabe nicht aktualisiert'; -$l['tasks_not_ended'] = 'Aufgabe nicht beendet'; -$l['tasks_start_vps'] = VM_SHORT.' starten'; -$l['tasks_start_vps_error'] = 'Beim Start des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['tasks_restart_vps'] = VM_SHORT.' neu starten'; -$l['tasks_restart_vps_error'] = 'Beim Neustart des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['tasks_stop_vps'] = VM_SHORT.' stoppen'; -$l['tasks_stop_vps_error'] = 'Es gab einen Fehler beim Stoppen des '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Ausschalten'; -$l['tasks_poweroff_vps_error'] = 'Beim Ausschalten des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['tasks_enable_rescuevs'] = 'Rettung aktivieren'; -$l['tasks_disable_rescuevs'] = 'Rettung deaktivieren'; -$l['tasks_remotedesktop'] = 'Remote Desktop Aufgabe'; -$l['tasks_change_vncpass'] = 'VNC Passwort ändern'; -$l['tasks_installxentools'] = 'Xenserver Tools installieren'; -$l['tasks_install_script'] = 'Apps installieren'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Sicherheitscode ist ungültig'; -$l['reg_no_username'] = 'Das Feld Benutzername war leer'; -$l['reg_no_email']= 'Das E-Mail Feld war leer'; -$l['reg_no_password'] = 'Das Passwortfeld war leer'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'Die E-Mail-Adresse ist ungültig'; -$l['reg_pass_short'] = 'Das Passwort-Feld muss größer sein als '.$globals['user_pass_min_char'].' Zeichen'; -$l['reg_email_exist'] = 'Die von Ihnen angegebene E-Mail-Adresse existiert bereits'; -$l['reg_soft_error'] = 'Beim Erstellen Ihres Kontos ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; -$l['reg_done'] = 'Ihr Konto wurde erstellt. Ein Aktivierungslink wurde Ihnen per E-Mail gesendet. Bitte benutzen Sie es, um Ihre E-Mail zu bestätigen und Ihr Konto zu aktivieren'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Registrieren'; -$l['reg_acc'] = 'Benutzerkonto anlegen'; -$l['reg_username'] = 'Benutzername'; -$l['reg_email'] = 'E-Mail'; -$l['reg_pass'] = 'Passwort'; -$l['reg_resendact'] = 'Aktivierungscode erneut senden'; -$l['reg_mail_sub'] = 'Konto aktivieren'; -$l['reg_mail_body'] = 'Hallo {{email}}, - -Vielen Dank für die Registrierung eines Kontos bei {{sn}}. - -Bevor Sie Ihr Konto verwenden können, müssen Sie es aktivieren. -Klicken Sie auf den folgenden Link, um Ihr Konto zu aktivieren: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -Wenn der obige Link nicht funktioniert, müssen Sie den Link kopieren und in Ihren Webbrowser einfügen oder manuell eingeben. - -Wenn Sie immer noch Probleme bei der Anmeldung haben, kontaktieren Sie uns bitte unter '.$globals['support_email'].' - -Vielen Dank! - -Das {{sn}} Team -'.$globals['cp_url'].' - -Aktivierungscode: {{activation_code}} -Benutzer ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'Bei der Überprüfung Ihres Kontos ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; -$l['reg_val_done'] = 'Ihr Konto wurde aktiviert. Sie können sich jetzt in Ihr Konto einloggen und alles überwachen!'; -$l['reg_val_mail_sub'] = 'Willkommen zu '.$globals['sn']; -$l['reg_val_mail_body'] = 'Herzlichen Glückwunsch zum Erstellen Ihres brandneuen '.$globals['sn'].' Account, {{email}}. - -Sie können sich jetzt in Ihrem Konto anmelden unter: -'.$globals['cp_url'].'/?#act=login - -Bitte bewahren Sie diese E-Mail für Ihre Unterlagen auf, da sie wichtige Informationen zu Ihrem Konto enthält. - -Genießen! - -Das '.$globals['sn'].' Team -'.$globals['cp_url'].' - -Benutzer ID: {{uid}} -Aktivierungscode: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'Bestätigung der Benutzer-E-Mail'; -$l['reg_val_done_cong'] = 'Herzlichen Glückwunsch zum Erstellen Ihres brandneuen '.$globals['sn'].' Account :'; -$l['reg_val_done_uni'] = 'Sie können sich jetzt in Ihrem Konto Einloggen :
-'.$globals['cp_url'].'/?#act=login

- -Genießen!

- -Das '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'Benutzer ID :'; -$l['reg_val_done_act'] = 'Aktivierungscode :'; - -$l['resendact'] = 'Erneutes Senden der Aktivierungs-E-Mail'; -$l['reg_res_no_username'] = 'Das E-Mail-Feld war leer'; -$l['reg_res_soft_error'] = 'Beim erneuten Senden der Aktivierungs-E-Mail ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Ihr Aktivierungscode'; -$l['reg_res_mail_body'] = 'Hallo {{email}}, - -Wir haben eine Anfrage erhalten, Ihnen Ihren Aktivierungscode für Ihr Konto erneut zu senden '.$globals['sn'].'. - -Bevor Sie Ihr Konto verwenden können, müssen Sie es aktivieren. -Klicken Sie auf den folgenden Link, um Ihr Konto zu aktivieren: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -Wenn der obige Link nicht funktioniert, müssen Sie den Link kopieren und in Ihren Webbrowser einfügen oder manuell eingeben. - -Wenn Sie immer noch Probleme bei der Anmeldung haben, kontaktieren Sie uns bitte unter '.$globals['support_email'].' - -Vielen Dank! - -Das {{sn}} Team -'.$globals['cp_url'].' - -Aktivierungscode: {{activation_code}} -Benutzer ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'Der Aktivierungscode wurde erfolgreich erneut gesendet. Bitte aktivieren Sie Ihren Account jetzt.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Das Feld Benutzername war leer'; -$l['login_no_password'] = 'Das Passwort Feld war leer'; -$l['login_act_status'] = 'Ihr Konto wurde nicht bestätigt. Bitte bestätigen Sie die E-Mail-Adresse oder wenden Sie sich an den Support.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'Sie haben die maximale Anzahl von fehlgeschlagenen Login Versuchen erreicht! Bitte warten Sie ein paar Minuten, bevor Sie es erneut versuchen. Bitte denken Sie daran bei der Eingabe des Passworts die Groß- / Kleinschreibung zu beachten. Passwort vergessen? Dann nutzen Sie bitte die Passwort vergessen Funktion.'; -$l['login_sign_in'] = 'Einloggen'; -$l['login_log_user'] = 'E-Mail-Adresse'; -$l['login_log_pass'] = 'Passwort'; -$l['login_sub_but'] = 'Einloggen'; -$l['login_register'] = 'Account erstellen'; -$l['login'] = 'Einloggen'; -$l['login_pass_nomatch'] = 'Der eingegebene Benutzername oder das Passwort war falsch.'; -$l['login_forgotpass'] = 'Passwort vergessen'; -$l['login_emailuser'] = 'E-Mail-Adresse'; -$l['login_enteremail'] = 'Geben Sie Ihre E-Mail-Adresse ein'; -$l['login_sub_email'] = 'Absenden'; -$l['login_no_email'] = 'Sie haben Ihre E-Mail-Adresse nicht angegeben'; -$l['login_invalidemail'] = 'Die E-Mail-Adresse, die Sie angegeben haben, ist ungültig'; -$l['login_mail_sub'] = 'Passwort zurücksetzen'; -$l['login_mail_body'] = 'Hallo, - -eine Anforderung zum Zurücksetzen des Passworts wurde erstellt. -Wenn Sie den Passwort-Reset nicht angefordert haben, dann ignorieren Sie bitte diese E-Mail. - -Wenn Sie Ihr Passwort zurückzusetzen möchten, dann klicken Sie bitte auf die URL unten : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Bitte beachten Sie: Der Link oben ist nur für 24 Stunden gültig. - -Viele Grüße -'; -$l['login_mail_done'] = 'Eine E-Mail mit den Details zum Zurücksetzen des Passworts wurde versendet'; -$l['login_back_to_login'] = 'Zurück zum Login'; -$l['login_resetpass'] = 'Passwort zurücksetzen'; -$l['login_log_new_pass'] = 'Neues Passwort'; -$l['login_log_reppass'] = 'Passwort bestätigen'; -$l['login_changepass'] = 'Passwort ändern'; -$l['login_no_key'] = 'Es wurde kein Reset Schlüssel übermittelt'; -$l['login_invalidkey'] = 'Sie haben einen ungültigen Schlüssel angegeben'; -$l['login_no_new'] = 'Bitte geben Sie ein gültiges Passwort ein'; -$l['login_no_reppass'] = 'Bitte geben Sie das bestätigungs Passwort ein'; -$l['login_no_match'] = 'Die angegebenen Passwörter stimmen nicht überein'; -$l['login_keyexpire'] = 'Der Schlüssel ist nicht mehr gültig'; -$l['login_passchanged'] = 'Passwort erfolgreich geändert.'; -$l['login_forgot_pass'] = 'Passwort vergessen'; -$l['login_goto_login'] = 'Zur Login Seite'; -$l['login_no_2fa_key'] = 'Ungültiger Authentifizierungsschlüssel'; -$l['login_inv_user'] = 'Ungültiger Benutzer'; - -// OTP on login -$l['login_twofactit'] = 'Zwei-Faktor-Authentifizierung'; -$l['login_enterotp'] = 'Geben Sie das Einmalpasswort ein'; -$l['login_no_otp'] = 'Bitte geben Sie das Einmalpasswort (OTP) ein'; -$l['login_incorrect_otp'] = 'Falscher Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Rezept-Ausführungsfehler'; -$l['recipe_no_selected'] = 'Kein Rezept ausgewählt'; -$l['recipe_wrong'] = 'Falsches Rezept ausgewählt'; -$l['recipe_heading'] = 'Rezepte'; -$l['recipe_choose'] = 'Rezept wählen'; -$l['recipe_exp_choose_recipe'] = 'Wählen Sie das Rezept, das Sie kochen wollen'; -$l['recipe_update'] = 'Kochrezept'; -$l['recipe_none'] = 'Nichts'; -$l['recipe_done'] = 'Rezept wurde gekocht'; -$l['recipe_exec_onboot'] = 'Das Rezept wird gekocht, wenn Sie den '.VM_SHORT.' neu starten'; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'Keine Beschreibung'; -$l['ingredients'] = 'Zutaten'; -$l['recipe'] = 'Rezept'; -$l['conf_execute'] = 'Sind Sie sicher, dass Sie dieses Rezept kochen wollen ?'; -$l['rec_short_desc'] = 'Rezepte sind vordefinierte bash-Codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH wurde durch einen Admin deaktiviert'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Sind Sie sicher, dass Sie den Timer einstellen wollen?'; -$l['sd_confirm_delete'] = 'Sind Sie sicher, dass Sie den Timer löschen wollen?'; -$l['sd_date_alert'] = 'Bitte geben Sie das Datum im Format mm/dd/yyyy ein'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Timer einstellen'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Neustart'; -$l['sd_action_poweroff'] = 'Ausschalten'; -$l['sd_action_title'] = 'Aktion'; -$l['sd_action_edit_desc'] = 'Zum bearbeiten bitte die Daten eingeben und absenden'; -$l['sd_action_edit_desc'] = 'Zum bearbeiten bitte die Daten eingeben und absenden'; -$l['time_updated'] = 'Aktion aktualisiert'; -$l['time_deleted'] = 'Aktion gelöscht'; -$l['time_added'] = 'Aktion hinzugefügt'; -$l['sd_invalid_action'] = 'Ungültige Aktion'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH-Schlüssel'; -$l['sshkey_add'] = 'SSH-Schlüssel hinzufügen'; -$l['sshkey_add_new'] = 'Neuen SSH-Schlüssel hinzufügen'; -$l['sshkey_use'] = 'SSH-Schlüssel verwenden'; -$l['sshkey_list'] = 'SSH-Schlüssel anzeigen'; -$l['sshkey_no_keys'] = 'Sie haben keine SSH-Schlüssel'; -$l['sshkey_no_keys_acct'] = 'Sie haben keine SSH-Schlüssel für Ihren Account hinterlegt. Bitte fügen Sie zuerst einen SSH-Schlüssel hinzu, indem Sie im linken Menü auf SSH-Schlüssel klicken.'; -$l['sshkey_no_keys_acct_whmcs'] = 'Sie haben keine SSH-Schlüssel für Ihren Account hinterlegt.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'Ein eindeutiger Name für den SSH-Schlüssel'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'Der Wert des SSH-Schlüssels im OpenSSH-Format.
(Z.B.: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'SSH-Schlüssel hinzufügen'; -$l['sshkey_edit'] = 'SSH-Schlüssel bearbeiten'; -$l['sshkey_conf_delete'] = 'Sind Sie sicher, dass Sie diesen SSH-Schlüssel löschen möchten?'; -$l['sshkey_err_delete_key'] = 'Beim Löschen des SSH-Schlüssels ist ein Fehler aufgetreten'; -$l['sshkey_done_delete_key'] = 'Der SSH-Schlüssel wurde erfolgreich gelöscht.'; -$l['sshkey_no_name'] = 'Bitte geben Sie einen gültigen SSH-Schlüsselnamen an'; -$l['sshkey_no_value'] = 'Bitte geben Sie einen gültigen SSH-Schlüsselwert an'; -$l['sshkey_err_name_exists'] = 'Ein SSH-Schlüssel dieses Namens existiert bereits'; -$l['sshkey_err_add'] = 'Beim Hinzufügen des SSH-Schlüssels ist ein Fehler aufgetreten'; -$l['sshkey_done_add'] = 'Der SSH-Schlüssel wurde erfolgreich hinzugefügt'; -$l['sshkey_done_edit'] = 'Der SSH-Schlüssel wurde erfolgreich gespeichert'; -$l['sshkey_select_keys'] = 'SSH-Schlüssel wählen:'; -$l['sshkey_done_addvps'] = 'Der SSH-Schlüssel wurde erfolgreich hinzugefügt. Die Änderungen werden beim nächsten Neustart wirksam.'; -$l['sshkey_err_key'] = 'Bitte wählen Sie mindestens einen SSH-Schlüssel aus.'; -$l['sshkey_not_allowed'] = 'Sie dürfen keine SSH-Schlüssel hinzufügen/bearbeiten'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'ISO löschen'; -$l['euiso_iso_removed'] = 'ISO-Datei entfernt : '; -$l['euiso_removal_err'] = 'Beim Entfernen der ISO-Datei ist ein Fehler aufgetreten'; -$l['euiso_del_done'] = 'Die ISO-Datei wurde entfernt'; -$l['euiso_heading'] = 'ISO Verwaltung'; -$l['euiso_no_iso'] = 'Sie haben keine ISO-Dateien. Sie können jetzt eine hinzufügen'; -$l['euiso_add_iso'] = 'ISO hinzufügen'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Dateiname'; -$l['euiso_iso_size'] = 'Heruntergeladene Größe'; -$l['euiso_iso_del'] = 'Löschen'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Gesamtgröße'; -$l['euiso_confirm_iso_del'] = 'Die Datei wird noch nicht heruntergeladen. Möchten Sie den Download abbrechen und die Datei entfernen?'; -$l['euiso_iso_del_confirm'] = 'Sind Sie sicher, dass Sie diesen Artikel löschen möchten?'; -$l['euiso_auto_del_alert'] = 'ISO-Dateien werden automatisch gelöscht nach {{eu_iso_del_hr}} Stunde ab dem Zeitpunkt, an dem die ISO-Datei hinzugefügt wurde'; -$l['euiso_dwnld_time'] = 'Downloadzeit'; -$l['euiso_downloading'] = 'Wird heruntergeladen...'; -$l['euiso_invalid_url'] = 'Ungültige URL angegeben. Verwenden Sie nur die Protokolle http, https und ftp'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Bitte geben Sie die korrekte iso-Datei an'; -$l['aiso_inv_name'] = 'Der ISO-Name enthält ungültige Zeichen'; -$l['aiso_err_size'] = 'Die Größe der ISO-Datei konnte nicht ermittelt werden'; -$l['aiso_iso_exist'] = 'ISO-Datei ist bereits vorhanden'; -$l['aiso_size_inv'] = 'ISO-Datei überschreitet die maximal zulässige ISO-Größe'; -$l['aiso_limit_err'] = 'Sie können keine weiteren ISO-Dateien herunterladen. Limit überschritten'; -$l['aiso_space_err'] = 'Sie haben nicht genug Platz für diese ISO.'; -$l['aiso_download_err'] = 'Während des Download der ISO-Datei ist ein Fehler aufgetreten'; -$l['aiso_done'] = 'Die ISO-Datei wurde erfolgreich hinzugefügt'; -$l['aiso_add_iso'] = 'ISO hinzufügen'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO Dateiname'; -$l['aiso_page_head'] = 'ISO hinzufügen'; -$l['aiso_submit_button'] = 'ISO hinzufügen'; -$l['aiso_incomplete'] = 'Es gab einen Fehler beim Herunterladen der ISO-Datei'; -$l['aiso_started'] = 'Die ISO-Datei wird heruntergeladen'; -$l['aiso_percent'] = 'Download Fortschritt'; -$l['aiso_complete'] = 'Download abgeschlossen'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'ISO hinzufügen'; -$l['dwnldiso_iso'] = 'ISO hinzufügen'; -$l['dwnldiso_done'] = 'Bitte warten Sie, die ISO-Datei wird heruntergeladen'; -$l['dwnldiso_err_down'] = 'Beim Herunterladen der ISO-Datei gab es Fehler'; -$l['dwnldiso_wait'] = 'Bitte warten Sie, die ISO-Datei wird heruntergeladen'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'Es gibt keine Tarife für diese Region!'; -$l['ihb_sel_reg'] = 'Ausgewählte Region -'; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup-Server'; -$l['bs_heading_add'] = 'Backup-Server hinzufügen'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Eindeutiger Name für den Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Gültige TLD oder IP-Adresse des Servers'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'Der Typ des Backup-Servers (SSH oder FTP)'; -$l['bs_username'] = 'Benutzername'; -$l['bs_username_exp'] = 'Benutzername des Backup-Servers'; -$l['bs_password'] = 'Passwort'; -$l['bs_password_exp'] = 'Passwort des Backup-Servers'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port des Backup-Servers'; -$l['bs_dir'] = 'Verzeichnis'; -$l['bs_dir_exp'] = 'Das Verzeichnis, in dem Backups gespeichert werden'; -$l['bs_add_server'] = 'Backup-Server hinzufügen'; -$l['bs_conf_delete'] = 'Sind Sie sicher, dass Sie diesen Backup-Server löschen möchten?'; -$l['bs_heading_edit'] = 'Backup-Server bearbeiten'; -$l['bs_no_servers'] = 'Sie haben keine Backup-Server'; -$l['bs_no_name'] = 'Bitte geben Sie einen eindeutigen Namen für den Backup-Server an'; -$l['bs_no_hostname'] = 'Bitte geben Sie den Hostnamen an'; -$l['bs_no_type'] = 'Bitte geben Sie den Typ an'; -$l['bs_no_username'] = 'Bitte geben Sie den Benutzernamen an'; -$l['bs_no_password'] = 'Bitte geben Sie das Passwort an'; -$l['bs_no_port'] = 'Bitte geben Sie den Port an'; -$l['bs_no_dir'] = 'Bitte geben Sie das Upload-Verzeichnis an'; -$l['bs_done_delete_server'] = 'Der Backup-Server wurde erfolgreich gelöscht'; -$l['bs_done_edit'] = 'Der Backup-Server wurde erfolgreich gespeichert'; -$l['bs_err_bs_not_allowed'] = 'Backup-Server sind vom Administrator deaktiviertn'; -$l['bs_err_invalid_type'] = 'Bitte geben Sie einen gültigen Backup-Servertyp ein'; -$l['bs_err_name_exists'] = 'Ein Backup-Server dieses Namens existiert bereits'; -$l['bs_err_add_backupserver'] = 'Beim Hinzufügen des Backup-Servers ist ein Fehler aufgetreten'; -$l['bs_err_backup_dir'] = 'Backup-Verzeichnis kann nicht leer sein.'; -$l['bs_err_server_used'] = 'Der Backup-Server wird verwendet von {{count}} '.VM_SHORT.'. Bitte zuerst vor dem Löschen abwählen.'; -$l['bs_err_delete_server'] = 'Beim Löschen des Backup-Servers ist ein Fehler aufgetreten'; -$l['bs_err_edit_backupserver'] = 'Beim Speichern des Backup-Servers ist ein Fehler aufgetreten'; - -// Billing related -$l['bill_err_delete'] = 'Beim Löschen der Rechnungen ist ein Fehler aufgetreten'; -$l['bill_done_delete'] = 'Die Rechnung wurde erfolgreich gelöscht'; -$l['bill_heading'] = 'Abrechnung'; -$l['bill_no_invoice'] = 'Sie haben noch keine Rechnungen!'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Rechnungsdatum'; -$l['bill_duedate'] = 'Fälligkeitsdatum'; -$l['bill_net'] = 'Betrag'; -$l['bill_item'] = 'Rechnungsposten'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unbezahlt'; -$l['bill_paid'] = 'Bezahlt'; -$l['bill_cancelled'] = 'Abgebrochen'; -$l['bill_invoice'] = 'Rechnung'; -$l['bill_pay_to'] = 'Bezahlen an'; -$l['bill_inv_to'] = 'In Rechnung gestellt an'; -$l['bill_pay_method'] = 'Bezahlverfahren'; -$l['bill_desc'] = 'Beschreibung'; -$l['bill_disc'] = 'Rabatt'; -$l['bill_subtotal'] = 'Zwischensumme'; -$l['bill_netamt'] = 'Netto-Betrag'; -$l['bill_print'] = 'Drucken'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaktionsdatum'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaktions-ID'; -$l['bill_tr_amt'] = 'Menge'; -$l['bill_invoices'] = 'Rechnungen'; -$l['bill_trans'] = 'Transaktionen'; -$l['bill_make_payment'] = 'Zahlung vornehmen'; -$l['bill_add_funds'] = 'Guthaben hinzufügen'; -$l['bill_min_max'] = 'Bitte geben Sie den Betrag an, den Sie Ihrem Konto hinzufügen möchten. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Datum'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Guthaben'; -$l['bill_charges'] = 'Gebühren in diesem Monat'; -$l['bill_unpaid_invoices'] = 'Unbezahlte Rechnungen'; -$l['bill_cur_usage'] = 'Aktuelle Verwendung'; -$l['bill_no_trans'] = 'Keine Transaktion gefunden'; -$l['bill_usage'] = 'Aktuelle Verwendung'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'Es wurden keine Abrechnungspositionen gefunden!'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Typ'; -$l['bill_starttime'] = 'Startzeit'; -$l['bill_updatetime'] = 'Updatezeit'; -$l['bill_charge'] = 'Gebühr'; -$l['bill_terminated'] = 'Beendet'; -$l['bill_gateway'] = 'Zahlungs-Gateway'; -$l['bill_no_payment_gateway'] = 'Keine Zahlungs-Gateways gefunden. Kontaktieren Sie bitte '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'Sie müssen eingeloggt sein, um eine Zahlung zu tätigen'; -$l['pay_min'] = 'Die Menge kann nicht weniger als '.$globals['billing_symbol'].''.$globals['billing_min'].' sein'; -$l['pay_max'] = 'Der Betrag darf nicht größer als '.$globals['billing_symbol'].''.$globals['billing_max'].' sein'; -$l['pay_err_ectoken'] = 'Beim Erstellen des Express-Checkout-Zahlungstokens ist ein Fehler aufgetreten'; -$l['pay_pp_missing'] = 'Einige Daten fehlten, als Sie von Paypal weitergeleitet wurden'; -$l['pay_trans_already'] = 'Diese Transaktion wurde bereits erfasst'; -$l['pay_pp_connect'] = 'Beim Verbinden mit Paypal ist ein Fehler aufgetreten. Bitte kontaktieren Sie Softaculous unter admin@softculous.com'; -$l['pay_pp_resp'] = 'Beim Lesen der Paypal-Daten ist ein Fehler aufgetreten. Kontaktieren Sie bitte '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Erfolg! Ihre Zahlung von '.$globals['billing_symbol'].'{{amt}} war erfolgreich.'; -$l['pay_payment'] = 'Zahlungsprozessor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Antwortdaten fehlen / sind ungültig'; -$l['pay_gateway_missing'] = 'Zahlungsgateway fehlt / ist ungültig'; -$l['pay_no_required_function'] = 'Einige erforderliche Funktionen fehlen im ausgewählten Zahlungsgateway. Bitte wenden Sie sich an den Administrator des Servers -'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root-Passwort für das Skript'; -$l['webuzo_spasswd_p'] = 'Geben Sie das Root-Passwort ein'; -$l['webuzo_pd'] = 'Primäre Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Stapel wählen'; -$l['webuzo_scriptlist'] = 'Wählen Sie ein Skript aus'; -$l['webuzo_submit'] = 'Installieren'; -$l['webuzo_advanced'] = 'Erweiterte Optionen'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Geben Sie Ihren Nameserver 1 an'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Geben Sie Ihren Nameserver 2 an'; -$l['webuzo_apache'] = 'Wählen Sie die Apache Version'; -$l['webuzo_mysql'] = 'Wählen Sie die MYSQL Version'; -$l['webuzo_php'] = 'Wählen Sie die PHP Version'; -$l['webuzo_os'] = 'Wählen Sie das OS'; -$l['webuzo_disabled'] = 'Die Webuzo-Installation wurde vom Administrator deaktiviert'; -$l['webuzo_support_err'] = 'Anwendung wird nicht unterstützt!'; -$l['webuzo_sshport_err'] = 'Bitte geben Sie den SSH-Port ein'; -$l['webuzo_spasswd_err'] = 'Bitte geben Sie das Root-Passwort ein'; -$l['webuzo_pd_err'] = 'Bitte geben Sie einen korrekten Domainnamen an'; -$l['webuzo_script_err'] = 'Ausgewähltes Skript nicht in der Liste. Bitte versuche es erneut.'; -$l['webuzo_stack_err'] = 'Bitte wählen Sie einen geeigneten Stapel zur Installation'; -$l['mysql_err'] = 'Bitte wählen Sie die MySQL-Version'; -$l['php_err'] = 'Bitte wählen Sie die PHP Version'; -$l['webserver_err'] = 'Bitte wählen Sie die Apache-Version'; -$l['webuzo_wmp_err'] = 'Sie haben keine richtigen Stapelversionen ausgewählt'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Bitte geben Sie die richtigen Nameserver Details ein'; -$l['webuzo_os_err'] = 'Bitte wählen Sie ein Betriebssystem, das Sie installieren möchten'; -$l['webuzo_install_data_lost_warn'] = 'Sind Sie sicher, dass Sie mit der Installation fortfahren möchten? Warnung: Alle Daten auf der '.VM_SHORT.' gehen dauerhaft verloren.'; -$l['webuzo_app_err'] = 'Fehler beim Abrufen von Webuzo-Apps'; -$l['webuzo_prim_ip_err'] = 'Kann IP nicht erhalten'; -$l['webuzo_install_start'] = 'Die Webzuo-Installation wird im Hintergrund gestartet. Nach der erfolgreichen Installation wird eine E-Mail an die angegebene E-Mail-ID gesendet'; -$l['webuzo_dns_err'] = 'Bitte füllen Sie die Nameserver Details aus'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Anwendungen Installationen'; -$l['apps_no_vs'] = 'Sie haben kein '.VM_SHORT.' mit installierten Anwendungen'; - -// listvs - Search language strings. -$l['vs_type'] = 'Typ'; -$l['vs_all'] = 'Alle'; -$l['vs_suspended'] = 'Entsperrt'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Vorlage'; -$l['vs_server_group'] = 'Servergruppe'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'Keine Domain konfiguriert. Bitte konfigurieren bevor Sie das Zertifikat installieren'; -$l['le_install_cert'] = 'Zertifikat installieren '; -$l['le_renew_cert'] = 'Zertifikat erneuern '; -$l['le_cert_logs'] = 'Zertifikatprotokolle anzeigen '; -$l['le_config'] = 'LetsEncrypt-Konfiguration '; -$l['le_crt_details'] = 'Details zum LE-Zertifikat'; -$l['le_logs'] = 'Protokolle '; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Ausgestellt durch '; -$l['le_crt_serialno'] = 'Seriennummer.'; -$l['le_crt_valid_from_time'] = 'Gültig ab'; -$l['le_crt_valid_to_time'] = 'Gültig bis'; -$l['le_next_renew'] = 'Nächstes Verlängerungsdatum'; -$l['le_crt_installed'] = 'Zertifikat installiert'; -$l['le_proceed'] = 'Starten Sie die Installation'; -$l['le_no_logs'] = 'Keine Protokolle verfügbar'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primärdomain'; -$l['le_contact_email'] = 'Kontakt E-mail '; -$l['le_key_size'] = 'Schlüsselgröße '; -$l['le_renew_days'] = 'Tage erneuern '; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Erzwingen'; -$l['le_primary_domain_exp'] = 'Primärer Domainname für das Zertifikat '; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Länge der privaten Schlüssel des Domainzertifikats '; -$l['le_renew_days_exp'] = 'Mindesttage vor Ablauf, um das Zertifikat automatisch zu erneuern (muss kleiner oder gleich 80 sein) '; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Verarbeitung des Zertifikat erzwingen'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Übersicht'; -$l['vps_graphs'] = 'Graphen'; -$l['vps_tasks_logs'] = 'Aufgaben und Protokolle '; -$l['vps_disk_usage'] = 'Festplattennutzung'; -$l['vps_statistics'] = 'Statistiken '; -$l['vps_info'] = VM_SHORT.' Informationen'; -$l['vps_install'] = 'Installieren'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Abbrechen'; -$l['modal_success'] = 'Erfolg'; -$l['modal_error'] = 'Fehler'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Die von Ihnen eingegebene Netzwerkgeschwindigkeit ist höher als die zulässige Netzwerkgeschwindigkeit '; -$l['err_upload_speed'] = 'Die von Ihnen eingegebene Upload-Geschwindigkeit ist höher als die zulässige Upload-Geschwindigkeit '; - -$l['del_apikey'] = 'Möchten Sie diese API-Anmeldeinformationen löschen?'; -$l['del_rdns'] = 'Möchten Sie diesen DNS-Eintrag löschen? '; -$l['err_cuser_dom_name'] = 'Dieser Domainname wird bereits von einem anderen Benutzer verwendet '; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; - -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scannen Sie den QR-Code oder geben Sie den unten angegebenen Geheimschlüssel in Ihre Zwei-Faktor-Authentifizierungs-App ein. Danach wird die App Ihnen ein einzigartiges OTP erzeugen, welche Sie in das Textfeld eingeben müssen, um die Zwei-Faktor-Authentifizierung zu aktivieren.'; +$l['twofactauth_secret_key'] = 'Geheimer Schlüssel : '; +$l['twofactauth_code_input'] = 'Bestätigungscode'; +$l['twofactauth_code_input_exp'] = 'Geben Sie das empfangene OTP das Sie via E-Mail oder über die App erhalten haben ein.'; +$l['twofactauth_submit'] = 'Absenden'; +$l['twofactauth_select_pref'] = 'Präferenz wählen : '; +$l['twofactauth_select_pref_desc'] = 'Wählen Sie den Zwei-Faktor-Authentifizierungstyp aus und geben Sie dann den Code ein, um ihn zu aktivieren'; +$l['twofactauth_disabled'] = 'Die Zwei-Faktor-Authentifizierung wurde deaktiviert'; +$l['twofactauth_enabled'] = 'Die Zwei-Faktor-Authentifizierung wurde aktiviert'; +$l['twofactauth_err_enable'] = 'Der eingegebene Passcode ist falsch'; +$l['twofactauth_email_passcode'] = 'E-Mail-Code'; +$l['twofactauth_none'] = 'Keine (nicht empfohlen!)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'App aktivieren (Google Authenticator, Authy usw.)'; +$l['twofactauth_no_passcode'] = 'Bitte geben Sie das OTP an'; +$l['twofactauth_changes_saved'] = 'Ihre Änderungen wurden erfolgreich gespeichert'; +$l['twofactauth_or'] = 'ODER'; +$l['twofactauth_passcode_error'] = 'Das OTP konnte nicht erzeugt werden'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Schlüssel zurücksetzen'; +$l['twofactauth_email_sent_to'] = 'OTP wird gesendet an :'; +$l['twofactauth_otp_mail_body'] = 'Hallo, + +Eine Login Anfrage wurde für Ihr Konto bei: +{{site_domain}} +erstellt + +Bitte verwenden Sie folgendes Einmal-Passwort (OTP), um sich anzumelden: +{{otp}} + +Viele Grüße, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Zwei Faktor-Authentifizierungs-Bestätigungscode'; +$l['twofactauth_passcode_mail_body'] = 'Hallo, + +Der Bestätigungscode um die Zwei-Faktor-Authentifizierung für Ihr Konto unter {{site_domain}} zu aktivieren, lautet : {{passcode}}. + +Viele Grüße, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP wurde per E-Mail an Ihre E-Mail-Adresse gesendet'; +$l['twofactauth_secret_key_conf'] = 'WARNUNG: Wenn Sie den geheimen Schlüssel zurücksetzen, müssen Sie Ihre Apps mit dem neuen Schlüssel aktualisieren. Sind Sie sicher, dass Sie weitermachen wollen?'; +$l['twofactauth_otp_expired'] = 'Das eingegangene OTP ist abgelaufen !!'; +$l['twofactauth_not_allowed'] = 'Sie sind nicht berechtigt, auf diese Seite zuzugreifen'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'Sie haben die E-Mail-ID nicht angegeben'; +$l['adu_no_user_password'] = 'Sie haben das Passwort nicht eingeben'; +$l['adu_invalid_email'] = 'Die von Ihnen eingegebene E-Mail-ID ist ungültig'; +$l['adu_userlimit_exceeded'] = 'Sie sind nicht berechtigt, weitere Benutzer zu erstellen. Bitte kontaktieren Sie den Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Benutzer hinzufügen'; +$l['adu_done'] = 'Benutzer wurde hinzugefügt'; +$l['adu_user_email'] = 'E-Mail'; +$l['adu_user_password'] = 'Passwort'; +$l['adu_user_exists'] = 'Der Benutzer existiert bereits bitte verwenden Sie eine andere E-Mail-Adresse'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Sie haben kein neues Passwort angegeben.'; +$l['cpas_no_conf'] = 'Das Bestätigungspasswort fehlt.'; +$l['cpas_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; +$l['cpas_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts'; +$l['cpas_submit_button'] = 'Passwort ändern'; +$l['cpas_new_pass'] = 'Neues Passwort'; +$l['cpas_old_pass'] = 'Altes Passwort'; +$l['cpas_retype_pass'] = 'Neues Passwort bestätigen'; +$l['cpas_change_note'] = 'Root-Passwort ändern'; +$l['cpas_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; +$l['cpas_change_onboot'] = 'Ihr Passwort wird geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird'; +$l['cpas_change_notify'] = 'ändere das '.VM_SHORT.' Root-Passwort...'; +$l['cpas_strength_indicator'] = 'Passwortstärke'; +$l['cpas_bad'] = 'Schlecht'; +$l['cpas_good'] = 'Gut'; +$l['cpas_strong'] = 'Stark'; +$l['cpas_short'] = 'Kurz'; +$l['cpas_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Zeichen enthalten: Ein Großbuchstaben, Kleinbuchstaben, eine Zahl oder ein spezielles Symbol'; +$l['cpas_pass_match'] = 'Die Passwörter stimmen nicht überein'; +$l['cpas_disabled'] = 'Passwort ändern wurde durch einen Admin deaktiviert'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud-Ressourcen'; +$l['cr_resource_type'] = 'Ressourcentyp'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Genutzt'; +$l['cr_left'] = 'Verfügbar'; +$l['cr_unlimited'] = 'Unbegrenzt'; +$l['cr_num_vs'] = 'Anzahl der VMs'; +$l['cr_num_users'] = 'Anzahl der Benutzer'; +$l['cr_num_space'] = 'Festplattenspeicherplatz'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Datenverkehr'; +$l['cr_num_cores'] = 'Kerne gesamt'; +$l['cr_max_cores'] = 'Max Kerne / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnetze'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Informationen'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serielle Konsole ist deaktiviert'; +$l['cs_call_failed'] = 'Der API-Aufruf ist fehlgeschlagen. Bitte kontaktieren Sie den Admin'; +$l['cs_heading'] = 'Serielle Konsole'; +$l['cs_none'] = 'Keine vorhandene Konsolensitzung gefunden. Bitte erstellen Sie eine !'; +$l['cs_create'] = 'Sitzung erstellen'; +$l['cs_creating'] = 'Erstelle die Sitzung ...'; +$l['cs_destroying'] = 'Zerstöre die Sitzung ...'; +$l['cs_details'] = 'Das Folgende sind die Konsole Details'; +$l['cs_expires'] = 'Ablauf'; +$l['cs_ip'] = 'IP-Adresse'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Benutzername'; +$l['cs_password'] = 'Passwort'; +$l['cs_destroy'] = 'Sitzung Zerstören'; +$l['cs_java_console'] = 'Java Konsole'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Bitte geben Sie einen Hostnamen zum ändern an.'; +$l['hn_new_host'] = 'Neuer Hostname'; +$l['hn_submit_button'] = 'Hostname ändern'; +$l['hn_err_changing'] = 'Es gab einige Fehler beim ändern des Hostnamen.'; +$l['hn_host_final'] = 'Ihr Hostname wurde erfolgreich geändert'; +$l['hn_invalid_hostname'] = 'Der Hostname, den Sie übermittelt haben, ist nicht gültig'; +$l['hn_change_onboot'] = 'Ihr Hostname wird geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird.'; +$l['hn_current_hostname'] = 'Aktueller Hostname'; +$l['hn_change_notify'] = 'ändere den Hostnamen...'; +$l['hn_disable_change_hostname'] = 'Das Ändern des Hostnamen wurde durch einen Admin deaktiviert'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Keine IP-Adressen ausgewählt'; +$l['ips_ip_not_exists'] = 'IP-Adressen existieren nicht'; +$l['ips_header'] = ' IP-Adressen'; +$l['ips_ipinfo'] = 'IP-Informationen'; +$l['ips_reorderips'] = 'Primäre IP setzen'; +$l['ips_done'] = 'Ihre IP-Einstellungen wurden gespeichert.'; +$l['ips_change_onboot'] = 'Ihre IP-Einstellungen werden geändert, wenn der '.VM_SHORT.' wieder hochgefahren wird'; +$l['ips_primary_ip'] = 'Primäre IP wählen '; +$l['ips_ipv6_ips_list'] = 'IPv6 IPs'; +$l['ips_ipv6_empty'] = 'IPv6 leer'; +$l['ips_change_notify'] = 'ändern der IP-Einstellungen...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU Informationen'; +$l['mon_totalcpu'] = 'CPU gesamt :'; +$l['mon_cpuutilised'] = 'Genutzt : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'CPU-Auslastung'; +$l['mon_trademarks'] = 'Alle jeweilige Logo sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Unternehmen.'; +$l['mon_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Speicherplatz'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Festplatte I/O'; +$l['mon_header_ntw_speed'] = 'Netzwerk'; +$l['mon_io_usage'] = 'Durchschnittliche Festplatten I/O Nutzung'; +$l['mon_io_read_spd'] = 'I/O Lesegeschwindigkeit'; +$l['mon_io_write_spd'] = 'I/O Schreibgeschwindigkeit'; +$l['mon_ntw_info'] = 'Netzwerk Info'; +$l['mon_ntw_down_spd'] = 'Durchschnittliche Download-Geschwindigkeit'; +$l['mon_ntw_upld_spd'] = 'Durchschnittliche Upload-Geschwindigkeit'; +$l['mon_disabled'] = 'Die Monitor-Option wurde durch einen Admin deaktiviert'; +$l['mon_cpu_usage'] = 'CPU Auslastung'; +$l['mon_inode_usage'] = 'Inode Nutzung'; +$l['mon_ram_usage'] = 'RAM Nutzung'; +$l['mon_disk_usage'] = 'Speicherplatz Nutzung'; +$l['mon_down_speed'] = 'Download-Geschwindigkeit'; +$l['mon_up_speed'] = 'Upload-Geschwindigkeit'; +$l['mon_total_speed'] = 'Gesamtgeschwindigkeit'; +$l['mon_cpu_hist'] = 'CPU-Auslastung History'; +$l['mon_mem_hist'] = 'RAM-Auslastung History'; +$l['mon_storage'] = 'Storage Nutzung'; +$l['mon_date_label'] = 'Datum mm/dd'; +$l['mon_inode_hist'] = 'Inodes genutzt'; +$l['mon_net_speed'] = 'Netzwerkgeschwindigkeit'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Sie haben das Betriebssystem nicht ausgewählt'; +$l['os_invalid_os'] = 'Das übermittelte OS ist ungültig'; +$l['os_no_new'] = 'Sie haben das neue Passwort nicht angegeben.'; +$l['os_no_conf'] = 'Das Bestätigungs Passwort fehlt.'; +$l['os_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; +$l['os_error_reins'] = 'Es gab einen Fehler während der Neuinstallation des OS'; +$l['os_err_changing'] = 'Es gab einige Fehler beim Einrichten des Passworts'; +$l['os_err_log_osreinstall'] = 'Sie haben Ihr Betriebssystem Neuinstallations Limit überschritten. Bitte wenden Sie sich an Ihren Administrator'; +$l['os_reins_os'] = 'Betriebssystem neu installieren'; +$l['os_os_reinstall'] = 'Neu installieren'; +$l['os_new_pass'] = 'Neues Passwort'; +$l['os_retype_pass'] = 'Passwort wiederholen'; +$l['os_genram_psswd'] = 'Erzeugen Sie ein weiteres zufälliges Passwort'; +$l['os_done'] = 'Die Neuinstallation des Betriebssystems wurde im Hintergrund gestartet'; +$l['os_reins_notify'] = 'Installiere das '.VM_SHORT.'-Betriebssystem neu...'; +$l['os_centos_line1'] = 'CentOS (Community ENTerprise Operating System) ist eine Linux-Distribution, die auf der Distribution Red Hat Enterprise Linux (RHEL) aufbaut.'; +$l['os_centos_line2'] = 'Die Distribution wird von einer offenen Gruppe von freiwilligen Entwicklern betreut, gepflegt und weiterentwickelt.'; +$l['os_centos_line3'] = 'CentOS ist hinter Debian und Ubuntu die am dritthäufigsten verwendete Linux-Distribution für Web-Server'; +$l['os_fedora_line1'] = 'Fedora ist eine RPM-basierte Linux-Distribution. Ziel der Entwickler der Distribution ist es, freie Software zu fördern und ein Betriebssystem für eine möglichst vielfältige Zielgruppe zu gestalten.'; +$l['os_fedora_line2'] = 'Organisiert wird die Entwicklung in der Online-Community des Fedora-Projekts, das vom Unternehmen Red Hat angeführt wird'; +$l['os_fedora_line3'] = 'Fedora ist der direkte Nachfolger von Red Hat Linux. Das englische Wort Fedora bezeichnet eine spezielle Art des Filzhuts, das Markenzeichen des Unternehmens Red Hat.'; +$l['os_suse_line1'] = 'openSUSE, ehemals SUSE Linux und SuSE Linux Professional, ist eine Linux-Distribution des Unternehmens SUSE Linux GmbH.'; +$l['os_suse_line2'] = 'Sie wird insbesondere in Deutschland verbreitet eingesetzt. Der Fokus der Entwickler liegt darauf, ein stabiles und benutzerfreundliches Betriebssystem mit großer Zielgruppe für Desktop und Server zu erschaffen.'; +$l['os_suse_line3'] = 'Mit der Schaffung des openSUSE-Projekts wurde die Entwicklung von SUSE Linux öffentlich gemacht, wodurch jeder Nutzer auch die Alpha- und Beta-Versionen von SUSE Linux testen und gefundene Fehler in einem öffentlichen Bugtracker melden kann.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu ist eine kostenlose Linux-Distribution, die auf Debian basiert. Der Name Ubuntu bedeutet auf Zulu etwa „Menschlichkeit“ und bezeichnet eine afrikanische Philosophie'; +$l['os_ubuntu_line2'] = 'Die Entwickler verfolgen mit Ubuntu das Ziel, ein einfach zu installierendes und leicht zu bedienendes Betriebssystem mit aufeinander abgestimmter Software zu schaffen. Das Projekt wird vom Software-Hersteller Canonical Ltd. gesponsert, das vom südafrikanischen Unternehmer Mark Shuttleworth gegründet wurde.'; +$l['os_ubuntu_line3'] = 'Ubuntu konnte seit dem Erscheinen der ersten Version im Oktober 2004 seine Bekanntheit stetig steigern und ist inzwischen eine der bekanntesten und meistgenutzten Linux-Distributionen.'; +$l['os_debian_line1'] = 'Debian ist ein seit 1993 gemeinschaftlich entwickeltes freies Betriebssystem. Debian GNU/Linux, das auf den grundlegenden Systemwerkzeugen des GNU-Projektes sowie dem Linux-Kernel basiert, ist eine der ältesten, einflussreichsten und am weitesten verbreiteten GNU/Linux-Distributionen.'; +$l['os_debian_line2'] = 'Das heute bekannteste Debian-GNU/Linux-Derivat ist Ubuntu.'; +$l['os_debian_line3'] = 'Debian enthält eine große Auswahl an Anwendungsprogrammen und Werkzeugen; derzeit sind es über 37.500 Programmpakete.'; +$l['os_scientific_line1'] = 'Scientific Linux (SL) ist eine Linux-Distribution, die auf der Distribution Red Hat Enterprise Linux (RHEL) der Firma Red Hat basiert und zu dieser binärkompatibel ist.'; +$l['os_scientific_line2'] = 'Scientific Linux entstand im Umfeld verschiedener Forschungslabore und Universitäten und wurde geschaffen, um verschiedene Ansprüche dieser Institutionen zu erfüllen.'; +$l['os_scientific_line3'] = 'Die Distribution wird hauptsächlich von Entwicklern am Fermilab, am CERN, an der ETH Zürich und am DESY weiterentwickelt.'; +$l['os_strength_indicator'] = 'Passwortstärke'; +$l['os_bad'] = 'Schlecht'; +$l['os_good'] = 'Gut'; +$l['os_strong'] = 'Stark'; +$l['os_short'] = 'Kurz'; +$l['os_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Kombinationen enthalten: Ein Großbuchstabe, ein Kleinbuchstabe, eine Zahl oder ein spezielles Symbol'; +$l['os_pass_match'] = 'Die Passwörter stimmen nicht überein'; +$l['os_reinstall_wait'] = 'Das Betriebssystem wird neu installiert, bitte warten Sie ...'; +$l['os_reinstall_disabled'] = 'Die Neuinstallation des Betriebssystems wurde vom Admin deaktiviert'; +$l['os_no_os'] = 'Kein(e) OS zur Neuinstallation verfügbar'; +$l['os_rebuild_data_lost_warn'] = 'Sind Sie sicher, dass Sie Ihren '.VM_SHORT.' neu installieren möchten? Warnung: Alle Daten auf dem '.VM_SHORT.' werden gelöscht.'; +$l['os_select_version'] = 'VERSION AUSWÄHLEN'; +$l['os_select_os'] = 'OS wählen:'; +$l['os_other'] = 'Andere'; +$l['os_format_primary'] = 'Nur primäre Festplatte formatieren'; +$l['os_format_primary_exp'] = 'Wenn diese Option aktiviert ist, werden nur die Daten der primären Festplatte gelöscht'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'VNC Informationen'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC Port'; +$l['vnc_novnc_button'] = 'HTML5 VNC starten'; +$l['vnc_launch_vnc'] = 'Java VNC starten'; +$l['vnc_notice'] = 'VNC funktioniert nur, wenn Java installiert und in Ihrem Browser aktiviert ist'; +$l['vnc_not_enabled'] = 'VNC ist nicht aktiviert'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Sie haben kein neues Passwort angeben'; +$l['vncpas_no_conf'] = 'Das Bestätigungspasswort fehlt'; +$l['vncpas_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; +$l['vncpas_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts.'; +$l['vncpas_no_nonalphanumeric'] = 'Nur nicht-alphanumerische Zeichen sind erlaubt'; +$l['vncpas_submit_button'] = 'VNC Passwort ändern'; +$l['vncpas_new_pass'] = 'Neues Passwort'; +$l['vncpas_old_pass'] = 'Altes Passwort'; +$l['vncpas_retype_pass'] = 'Neues Passwort bestätigen'; +$l['vncpas_change_note'] = 'VNC Passwort ändern'; +$l['vncpas_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; +$l['vncpas_change_notify'] = 'ändere das VNC Passwort...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Sie haben kein neues Passwort angeben'; +$l['up_no_conf'] = 'Das Bestätigungspasswort fehlt'; +$l['up_no_match'] = 'Die eingegebenen Passwörter stimmen nicht überein'; +$l['up_err_changing'] = 'Es gab einige Fehler beim ändern des Passworts.'; +$l['up_new_pass'] = 'Neues Passwort'; +$l['up_old_pass'] = 'Altes Passwort'; +$l['up_retype_pass'] = 'Neues Passwort bestätigen'; +$l['up_page_head'] = 'Passwort ändern'; +$l['up_change_final'] = 'Ihr Passwort wurde erfolgreich geändert'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Profil ändern'; +$l['pr_no_fname'] = 'Sie haben keinen Vornamen angegeben'; +$l['pr_no_lname'] = 'Sie haben keinen Nachnamen angegeben'; +$l['pr_firstname'] = 'Vorname'; +$l['pr_lastname'] = 'Nachname'; +$l['pr_company'] = 'Firma'; +$l['pr_website'] = 'Webseite'; +$l['pr_address'] = 'Adresse'; +$l['pr_city'] = 'Stadt'; +$l['pr_state'] = 'Bundesland'; +$l['pr_zip'] = 'Postleitzahl'; +$l['pr_country'] = 'Land'; +$l['pr_phone'] = 'Mobiltelefon'; +$l['pr_sys_admin_email'] = 'Admin E-Mail'; +$l['pr_cc_emails'] = 'Rechnung CC E-Mail'; +$l['pr_cc_emails_exp'] = 'Rechnungsbezogene E-Mails werden an diese E-Mail Adressen gesendet. Sie können mehrere E-Mails kommagetrennt hinzufügen.'; +$l['pr_soft_error'] = 'Beim Speichern Ihrer Daten ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; +$l['pr_done'] = 'Ihre änderungen wurden erfolgreich gespeichert'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Start'; +$l['ser_sstop'] = ' Stopp'; +$l['ser_srestart'] = 'Neustart'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'In Betrieb'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autostart'; +$l['ser_select'] = 'Wählen'; +$l['ser_vps_is_off'] = 'Der '.VM_SHORT.' ist ausgeschaltet!'; +$l['ser_no_feature'] = 'Diese Funktion ist nicht verfügbar!'; +$l['ser_notice_start'] = 'Die ausgewählten Service werden gestartet..'; +$l['ser_notice_stop'] = 'Die ausgewählten Service werden gestoppt..'; +$l['ser_notice_restart'] = 'Die ausgewählten Service werden neu gestartet..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'Liste der Prozesse'; +$l['proc_usr'] = 'Benutzer'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Befehl'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'Zeit'; +$l['proc_select'] = 'Wählen'; +$l['proc_pstart'] = 'Starten'; +$l['proc_pkill'] = 'Kill'; +$l['proc_prefresh'] = 'Autorefresh'; +$l['proc_vps_is_off'] = 'Der '.VM_SHORT.' ist aus !'; +$l['proc_no_feature'] = 'Diese Funktion ist nicht verfügbar !'; +$l['proc_notice_pkill'] = 'Stoppen des ausgewählten Prozess(es) :'; +$l['proc_with_selected'] = 'Mit Ausgewählten :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Datum'; +$l['log_task'] = 'Aufgabe'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Erfolgreich'; +$l['log_fail'] = 'Fehler'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'IPv6-Subnetz verwalten'; +$l['mng_done'] = 'IPs wurden erfolgreich gespeichert'; +$l['mng_add_ipv6'] = 'IPv6-Adresse hinzufügen'; +$l['mng_add_ip_button'] = 'IP hinzufügen'; +$l['mng_back_button'] = 'Zurück'; +$l['mng_save_button'] = 'Speichern'; +$l['mng_delete_confirm'] = 'Sind Sie sicher, dass diese IPv6-Adresse gelöscht werden soll'; +$l['mng_ipv6_invalid'] = 'Es gab einige Fehler mit der IPv6-Adresse'; +$l['mng_ipv6_address'] = 'IPv6-Adresse'; +$l['mng_ipv6_delete'] = 'Löschen'; +$l['mng_ipv6_subnet'] = 'IPv6-Subnetz'; +$l['mng_edit_subnet'] = 'Bearbeiten'; +$l['mng_no_vps'] = 'Kein '.VM_SHORT.' gefunden'; +$l['mng_inv_ipaddress'] = 'Die angegebene IP-Adresse gehört Ihnen nicht'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Zone verwalten'; +$l['mz_zone_conf_del'] = 'Sind Sie sicher, dass Sie den PDNS Server löschen möchten?'; +$l['mz_add_pdns'] = 'PDNS Server hinzufügen'; +$l['mz_dns_mgmt'] = 'DNS-Verwaltung'; +$l['mz_zone_add_done'] = 'Die Zone wurde erfolgreich hinzugefügt'; +$l['mz_add_zone'] = 'Zone hinzufügen'; +$l['mz_zone_name'] = 'Zonenname'; +$l['mz_pdns_zones'] = 'Zonen ansehen'; +$l['mz_manage_zone'] = 'Verwalten'; +$l['mz_conf_del'] = 'Sind Sie sicher, dass Sie diesen Record löschen wollen?'; +$l['mz_add_done'] = 'Der Record wurde erfolgreich hinzugefügt'; +$l['mz_edit_done'] = 'Der Record wurde erfolgreich bearbeitet'; +$l['mz_del_done'] = 'Der Record wurde erfolgreich gelöscht'; +$l['mz_priority'] = 'Priorität'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Zeigt auf'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Servername'; +$l['mz_submit_button'] = 'Record hinzufügen'; +$l['mz_edit_button'] = 'Record bearbeiten'; +$l['mz_no_domains'] = 'Es gibt keine Zonen für den Record'; +$l['mz_err_addzone'] = 'Es gab einen Fehler beim Hinzufügen der Zone'; +$l['mz_inv_name'] = 'Ungültiger Hostname angegeben'; +$l['mz_inv_ip'] = 'Ungültige IP-Adresse angegeben'; +$l['mz_inv_tld'] = 'Ungültige Top Level Domain angegeben'; +$l['mz_inv_ipv6'] = 'Angegebene IPv6 ist ungültig'; +$l['mz_inv_int'] = 'Ungültige ganze Zahl angegeben'; +$l['mz_err_add'] = 'Es gab einen Fehler beim Hinzufügen des Record'; +$l['mz_err_del'] = 'Es gab einen Fehler beim Löschen des Record'; +$l['mz_err_edit'] = 'Es ist ein Fehler während der Bearbeitung des Records aufgetreten'; +$l['mz_err_soa'] = 'Es ist ein Fehler während der Aktualisierung des SOA serial aufgetreten'; +$l['mz_rec_exists'] = 'Der Record ist bereits vorhanden'; +$l['mz_records_limit'] = 'Die Grenze für das Hinzufügen von Records ist erreicht'; +$l['mz_err_connect'] = 'Es gab einen Fehler beim Verbinden mit dem Nameserver'; +$l['mz_zone_restricted'] = 'Die Zone, die Sie versuchen zu bearbeiten, ist eingeschränkt'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Sind Sie sicher, dass Sie diese Domain löschen wollen?'; +$l['pdns_page_head'] = 'DNS-Verwaltung'; +$l['pdns_add_done'] = 'Die Zone wurde erfolgreich hinzugefügt'; +$l['pdns_delete_done'] = 'Die Zone wurde erfolgreich gelöscht'; +$l['pdns_add_zone'] = 'Zone hinzufügen'; +$l['pdns_zone_name'] = 'Zonenname'; +$l['pdns_manage_zone'] = 'Verwalten'; +$l['pdns_no_domains'] = 'Es gibt keine Zonen für diesen Record'; +$l['pdns_no_name'] = 'Der Domainname wurde nicht angegeben'; +$l['pdns_err_addzone'] = 'Es gab einen Fehler beim Hinzufügen der Zone'; +$l['pdns_err_delete'] = 'Es gab einen Fehler beim Löschen der Zone'; +$l['pdns_inv_domain'] = 'Der angegebene Domainname ist ungültig'; +$l['pdns_limit_domains'] = 'Die maximale Anzahl von Domains, die hinzugefügt werden kann, wurde erreicht'; +$l['pdns_domain_exists'] = 'Dieser Domainname ist bereits vorhanden'; +$l['pdns_err_connect'] = 'Es gab einen Fehler beim verbinden mit dem Nameserver'; +$l['pdns_no_dns'] = 'DNS-Verwaltung nicht verfügbar'; +$l['pdns_invalid_zone'] = 'Die DNS-Zone, die Sie versuchen zu löschen, ist ungültig'; +$l['pdns_primary_nameserver'] = 'Primärer Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Ungültige Domain Admin E-Mail angegeben'; +$l['pdns_inv_ns'] = 'Ungültiger Primärer Nameserver angegeben'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Reverse DNS hinzufügen'; +$l['rdns_zone_name'] = 'Zonenname'; +$l['rdns_exp_zone_name'] = 'Der Zonenname'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Server auswählen'; +$l['rdns_exp_pdns_server'] = 'Der DNS-Server, um den Record hinzuzufügen '; +$l['rdns_sub_but'] = 'Speichern'; +$l['rdns_rdns_ip'] = 'IP-Adresse'; +$l['rdns_exp_rdns_ip'] = 'Wählen Sie Ihre '.VM_SHORT.' IP-Adresse aus'; +$l['rdns_rdns_domain'] = 'Domainname'; +$l['rdns_exp_rdns_domain'] = 'Geben Sie den Fully Qualified Domain Name (FQDN) an'; +$l['rdns_no_rnds_ip'] = 'Bitte geben Sie die IP-Adresse ein'; +$l['rdns_no_rdns_domain'] = 'Bitte geben Sie den Domainnamen ein'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID ungültig'; +$l['rdns_err_zone'] = 'RDNS Zone Eintrag nicht gefunden. Bitte kontaktieren Sie den Support'; +$l['rdns_is_rdns'] = 'Reverse-DNS-Eintrag ist bereits vorhanden'; +$l['rdns_no_dns'] = 'Der DNS-Server wurde nicht eingerichtet. Bitte kontaktieren Sie den Support.'; +$l['rdns_no_zone_name'] = 'Der Zonenname wurde nicht angegeben'; +$l['rdns_no_ns'] = 'Der Nameserver muss angegeben werden. Mindestens zwei sind erforderlich'; +$l['rdns_no_hostmasteremail'] = 'Die Hostmaster E-Mail-Adresse wurde nicht angegeben'; +$l['rdns_inv_revzone'] = 'Die angegebene Reverse-DNS-Zone ist ungültig'; +$l['rdns_inv_ns'] = 'Die angegebenen Nameserver TLDs sind ungültig'; +$l['rdns_inv_hostemail'] = 'Die angegebene Hostmaster E-Mail-Adresse ist ungültig'; +$l['rdns_err_connect'] = 'Konnte nicht mit dem Server verbinden. Bitte überprüfen Sie, ob dieser online ist'; +$l['rdns_err_save'] = 'Es gab einen Fehler beim speichern der Daten'; +$l['rdns_done'] = 'Die Reverse-DNS-Zone wurde erfolgreich hinzugefügt'; +$l['rdns_zone_exists'] = 'Diese Zone ist bereits vorhanden'; +$l['rdns_inv_ipaddress'] = 'Die eingegebene IP-Adresse ist ungültig'; +$l['rdns_rdns_existing'] = 'RDNS Records'; +$l['rdns_deleted'] = 'Der RDNS Record wurde gelöscht'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'Sie haben Keine E-Mail-Adresse angegeben'; +$l['edu_no_user_password'] = 'Sie haben kein Passwort angegeben'; +$l['edu_invalid_email'] = 'Die eingegebene E-Mail-Adresse ist ungültig'; +$l['edu_uid_not_found'] = 'Benutzer-ID nicht gefunden'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Benutzer bearbeiten'; +$l['edu_done'] = 'Benutzer wurde bearbeitet'; +$l['edu_user_email'] = 'E-Mail'; +$l['edu_user_password'] = 'Passwort'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'Es gab einige Fehler beim aktivieren des Rettungsmodus'; +$l['resc_err_rescue_disable'] = 'Es gab einige Fehler beim deaktivieren des Rettungsmodus'; +$l['resc_err_downloading'] = 'Es gab einen Fehler beim Download des Rettungs-Template'; +$l['resc_err_delete_disk'] = 'Es gab einen Fehler beim Löschen der Rettungsfestplatte'; +$l['resc_cant_rescue'] = 'Rettungsoperation ist nicht erlaubt, wenn ein ISO im Einsatz ist. Bitte entfernen Sie zuerst das ISO'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Der Rettungsmodus bietet die Möglichkeit eine kleine Linux-Umgebung von einer anderen Festplatte zu booten, sodass Sie Ihren primären Linux '.VM_SHORT.' oder Backup-Dateien, die sich auf diesem Befinden, retten können. '; +$l['resc_enable_rescue'] = 'Rettungsmodus aktivieren'; +$l['resc_rescue_enabled'] = 'Der Rettungsmodus ist derzeit aktiviert.'; +$l['resc_disable_rescue'] = 'Rettungsmodus deaktivieren'; +$l['resc_rescue_disabled'] = 'Der Rettungsmodus ist derzeit deaktiviert.'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Aktiviere Rettungsmodus...'; +$l['resc_rescue_disable_notify'] = 'Deaktiviere Rettungsmodus...'; +$l['resc_root_pass'] = 'Root Passwort'; +$l['resc_root_pass_conf'] = 'Passwort bestätigen'; +$l['resc_disable_rescue_err'] = 'Der Rettungsmodus wurde durch einen Admin deaktiviert'; +$l['resc_passwords_do_not_match'] = 'Das angegebene Passwort und das Bestätigungspasswort stimmen nicht überein'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Es wurde keine Sprache ausgewählt'; +$l['us_wrong_lang'] = 'Die ausgewählte Sprache existiert nicht'; +$l['us_no_timezone'] = 'Sie haben keine Zeitzone ausgewählt'; +$l['us_timezone_invalid'] = 'Die gewählte Zeitzone ist ungültig'; +$l['us_wrong_theme'] = 'Das ausgewählte Theme existiert nicht'; +$l['us_page_head'] = 'Benutzer-Einstellungen'; +$l['us_change_final'] = 'Ihre Einstellungen wurden erfolgreich gespeichert'; +$l['us_choose_lang'] = 'Sprache wählen'; +$l['us_exp_lang'] = 'Wählen Sie Ihre bevorzugte Sprache'; +$l['us_timezone'] = 'Zeitzone'; +$l['us_default_timezone'] = 'Server Standard'; +$l['us_edit_settings'] = 'Einstellungen bearbeiten'; +$l['us_done'] = 'Ihre Einstellungen wurden erfolgreich gespeichert'; +$l['us_choose_theme'] = 'Theme wählen'; +$l['us_exp_theme'] = 'Wählen Sie Ihr bevorzugtes Theme'; +$l['us_no_theme'] = 'Es wurde kein Theme ausgewählt'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'Wenn leere, wird das Standard Logo angezeigt'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Benachrichtigung für Traffic Limit'; +$l['us_vps_bandwidth_threshold_exp'] = 'Wenn dieser Wert auf 0 eingestellt wird, folgt keine E-Mail Benachrichtigung. Wert in %'; +$l['us_no_vps_bandwidth_threshold'] = 'Sie haben keinen Wert für Traffic Limit eingegeben'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Ungülter Wert für das Traffic Limit eingegeben'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain-Weiterleitung'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protokoll'; +$l['vdf_src_hname'] = 'Domain/IP'; +$l['vdf_src_dom'] = 'Domain'; +$l['vdf_src_ip'] = 'Quell-IP'; +$l['vdf_src_port'] = 'Quell-Port'; +$l['vdf_dest_ip'] = 'Ziel-IP'; +$l['vdf_dest_port'] = 'Ziel-Port'; + +$l['vdf_add_title'] = 'Neuer Domain-Weiterleitungs Record'; +$l['vdf_sel_proto'] = 'Protokoll wählen'; +$l['vdf_select_ip'] = 'IP wählen'; + +$l['vdf_no_act_sel'] = 'Keine Aktion ausgewählt, wählen Sie eine und versuchen Sie es erneut'; +$l['vdf_success_add'] = 'Erfolgreich hinzugefügt'; +$l['vdf_success_update'] = 'Daten erfolgreich aktualisiert'; +$l['vdf_success_save'] = 'Änderung gespeichert'; +$l['vdf_no_server_found'] = 'Kein Server gefunden'; +$l['vdf_conf_del_entries'] = 'Ausgewählte Einträge löschen ?'; +$l['vdf_success_del_entries'] = 'Einträge erfolgreich gelöscht'; +$l['vdf_ser_not_found'] = 'Angeforderter Server nicht gefunden'; +$l['vps_not_found_on_server'] = 'Angeforderter '.VM_SHORT.' ({{vpsid}}) auf dem ausgewählten Server nicht gefunden ({{server}})'; +$l['vdf_proto_no_support'] = 'Protokoll ID ({{protocolid}}) nicht unterstüzt'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) nicht gefunden'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) nicht gefunden'; +$l['vdf_inv_ipaddress'] = 'Die angegebene IP-Adresse gehört Ihnen nicht'; +$l['vdf_no_vps'] = 'Kein '.VM_SHORT.' gefunden'; + +$l['vdf_empty_allowed_src_ips'] = 'Die zugelassene Quell-IP-Liste ist leer. Der Administrator muss diese IP-Liste vor der Verwendung dieser Funktion festlegen'; +$l['vdf_inv_src_port'] = 'Quell-Port ({{src_port}}) ist keine gültige Portnummer'; +$l['vdf_in_use_src_port'] = 'Quell-Port ({{src_port}}) ist bereits in Nutzung'; +$l['vdf_inv_src_hostname'] = 'Die ausgewählte Domain ({{src_hostname}}) ist keine gültige Domain'; +$l['vdf_inv_src_ip'] = 'Quell-IP ({{src_ip}}) ist keine gültige IP'; +$l['vdf_not_available_src_ip'] = 'Die ausgewählte Quell-IP ({{$src_ip}}) ist nicht verfügbar für '.VM_SHORT.' Domain Weiterleitun'; +$l['vdf_port_not_supported_tcp'] = 'Quell-Port ({{src_port}}) wird nicht für das ausgewählte Protokoll TCP unterstützt. Es wird nur für folgende Protokolle unterstützt: HTTP und HTTPS'; + +$l['vdf_inv_dest_port'] = 'Ziel-Port ({{dest_port}}) ist keine gültige Portnummer'; +$l['vdf_inv_dest_ip'] = 'Ziel-IP ({{dest_ip}}) ist kein gültige IP oder ist diesem '.VM_SHORT.' nicht zugeordnet'; + +$l['vdf_note_point_domain'] = 'Hinweis: Für die Domain-Weiterleitung muss dieser '.VM_SHORT.'-Domainname ({{src_hostname}}) auf eine dieser IPs verweisen:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Datensatz existiert bereits für Domain ({{src_hostname}}) und Quell-Port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Beim Ausführen der Datenbankabfrage ist ein Fehler aufgetreten, der die Anforderung nicht verarbeiten kann'; +$l['vdf_err_unknown'] = 'Bei der Bearbeitung der Anfrage ist ein unbekannter Fehler aufgetreten'; + +$l['vdf_err_haproxy_port_empty'] = 'Quell-Port ist leer'; +$l['vdf_err_haproxy_port_used'] = 'Quell-Port {{src_port}} ist bereits in Nutzung'; +$l['vdf_in_haproxy_reservedports'] = 'Quell-Port {{src_port}} befindet sich in reservierter Port-Liste'; +$l['vdf_in_haproxy_reservedports_http'] = 'Quell-Port {{src_port}} ist in reservierten Ports-Listen nur für die Protokoll HTTP oder HTTPS erlaubt'; +$l['vdf_notin_haproxy_allowedports'] = 'Quell-Port {{src_port}} ist nicht in der erlaubten Port-Liste'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reservierte Ports'; +$l['vdf_info_allowedports'] = 'Erlaubte Ports'; +$l['vdf_info_reservedports_http'] = 'Reservierte Ports nur für HTTP / HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain-Weiterleitung'; +$l['vdf_source'] = 'Quelle'; +$l['vdf_destination'] = 'Ziel'; +$l['vdf_added'] = 'Hinzugefügt'; +$l['vdf_updated'] = 'Aktualisiert'; +$l['vdf_removed'] = 'Gelöscht'; +$l['vdf_removed_multiple'] = 'Mehrere entfernt'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Diesen Record bearbeiten'; +$l['vdf_tooltip_save'] = 'Speichern Sie die Änderungen für diesen Record'; +$l['vdf_tooltip_revert'] = 'Änderungen für diesen Record zurücksetzen'; +$l['vdf_tooltip_delete'] = 'Diesen Record löschen'; + +$l['vdf_skipped_msg'] = 'Dieser Eintrag wurde übersprungen'; +$l['vdf_skipped_haproxy_reservedports'] = 'Quell-Port ist in der Liste der blockierten Ports'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Quell-Port ist in der Port-Liste nur für HTTP und HTTPS reserviert'; +$l['vdf_skipped_haproxy_allowedports'] = 'Quell-Port ist nicht in der Liste der erlaubten Ports'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Bitte geben Sie die Art der Virtualisierung an'; +$l['li_num_vs_over'] = 'Sie haben bereits die maximale Anzahl der erlaubten VMs erstellt'; +$l['li_no_hname'] = 'Bitte geben Sie einen Hostnamen an'; +$l['li_no_os'] = 'Bitte wählen Sie ein Betriebssystem für den '.VM_SHORT; +$l['li_no_rootpass'] = 'Bitte geben Sie eine Root-Passwort an'; +$l['li_no_disk_space'] = 'Bitte geben Sie den Festplattenspeicher an, der zugewiesen werden soll'; +$l['li_no_ram'] = 'Bitte geben Sie den RAM-Speicher an'; +$l['li_no_vncpass'] = 'Bitte geben Sie ein VNC-Passwort an'; +$l['li_no_bandwidth'] = 'Bitte geben Sie den Datenverkehr an'; +$l['li_no_cpu_units'] = 'Bitte geben Sie die CPU Einheiten an'; +$l['li_no_cpu_cores'] = 'Bitte geben Sie die Anzahl der Kerne an'; +$l['li_cores_max'] = 'Max Kerne'; +$l['li_invalid_sg'] = 'Die ausgewählte Region ist ungültig'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'Die von ihnen ausgewählte Region unterstützt nicht die von ihnen gewählte Virtualisierung'; +$l['li_no_percent_cpu'] = 'Bitte geben Sie die erlaubte CPU-Auslastung in Prozent an'; +$l['li_no_swap_ram'] = 'Bitte geben Sie den SWAP-RAM an'; +$l['li_no_burst_ram'] = 'Bitte geben Sie die Grenze für den dynamischen RAM an'; +$l['li_invalid_os'] = 'Das von ihnen übermittelte Betriebssystem ist ungültig'; +$l['li_no_ip'] = 'Bitte geben Sie für den '.VM_SHORT.' mindestens eine IP an'; +$l['li_invalid_uid'] = 'Der Benutzer, welchen Sie übermittelt haben, existiert nicht'; +$l['li_no_user'] = 'Sie haben keine E-Mail-Adresse für den Benutzer angegeben'; +$l['li_no_user_pass'] = 'Sie haben kein Passwort für den Benutzer angegeben'; +$l['li_invalid_email'] = 'Die Benutzer E-Mail-Adresse ist ungültig'; +$l['li_emailexist'] = 'Die neue Benutzer E-Mail-Adresse welche Sie angegeben haben existiert bereits'; +$l['li_err_user'] = 'Es gab einen Fehler beim Hinzufügen des Benutzers'; +$l['li_invalid_hostname'] = 'Der angegebene Hostname ist ungültig'; +$l['li_less_ram'] = 'Sie haben nicht genug RAM um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_burst'] = 'Sie haben nicht genug dynamischen RAM um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'Sie haben nicht genug Festplattenspeicher um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_inodes'] = 'Die inodes sollten nicht kleiner sein als 50000'; +$l['li_less_vs'] = 'Sie dürfen keine weiteren VMs erstellen'; +$l['li_less_bandwidth'] = 'Sie haben nicht genug Datenverkehr um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'Sie haben nicht genug IPv4 Adressen um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'Sie haben nicht genug IPv6 Adressen um diesen '.VM_SHORT.' zu erstellen'; +$l['li_less_ipv6_subnet'] = 'Sie haben nicht genug IPv6 Subnetze um diesen '.VM_SHORT.' zu erstellen'; +$l['li_max_cores_exceeded'] = 'Sie sind nicht berechtigt, eine '.VM_SHORT.' mit so vielen Kernen zu erstellen'; +$l['li_less_cores'] = 'Sie haben nicht genug CPU Kerne um diesen '.VM_SHORT.' zu erstellen'; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'Sie haben die maximale Anzahl der Benutzer erreicht, die Sie berechtigt sind zu erstellen'; +$l['li_no_server'] = 'Die Region, welche Sie ausgewählt haben, ist vollständig ausgelastet und hat nicht genügend Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support.'; +$l['li_ipv4_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv4 Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support.'; +$l['li_ipv6_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv6 Ressourcen um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; +$l['li_ipv6_subnet_over'] = 'Die Region, welche Sie ausgewählt haben, hat nicht genügend IPv6 Subnetze um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; +$l['li_no_webuzo_template'] = 'Das von ihnen ausgewählte OS Template ist keine Webuzo Template'; +$l['li_err_swapsize'] = 'Die angegebene SWAP Größe kann nicht größer als oder gleich dem angegebenen Gesamtspeicherplatz sein'; +$l['li_inv_kvm_cache'] = 'Der übermittelte Festplatten-Cache ist ungültig'; +$l['li_inv_io_mode'] = 'Die übermittelte I/O Policy ist ungültig'; +$l['li_inv_vnc_keymap'] = 'Das übermittelte VNC-Tastaturlayout ist ungültig'; +$l['li_err_vpslimit'] = VM_SHORT.' Erstellungsgrenze überschritten'; +$l['li_page_head'] = 'Instanz starten'; +$l['li_vstype'] = 'Typ'; +$l['li_done'] = 'Der '.VM_LONG.'. wurde erstellt.'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Passwort'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Passwort'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'ändern Sie den aktuellen Server, um den Server zu ändern'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'Benutzer'; +$l['li_vs_user_exp'] = 'Wählen Sie einen vorhandenen Benutzer oder fügen Sie einen Benutzer hinzu'; +$l['li_user_email'] = 'Benutzer Email'; +$l['li_user_pass'] = 'Passwort'; +$l['li_add_user'] = 'Benutzer hinzufügen'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualisierung'; +$l['li_os'] = 'Betriebssystem'; +$l['li_select'] = 'Wählen'; +$l['li_vs_plan'] = 'Vorlage auswählen'; +$l['li_plan_exp'] = 'Wählen Sie eine vordefinierte Vorlage'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Möchten Sie Vollvirtualisierung für dieses '.VM_SHORT.' aktivieren?'; +$l['li_vsos'] = 'Betriebssystem'; +$l['li_vsos_exp'] = 'Wählen Sie das Betriebssystem für den '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'Wenn ein ISO ausgewählt ist, wird der '.VM_SHORT.' von diesem ISO gebootet'; +$l['li_sec_vsiso'] = 'ISO für zweites CD-ROM-Laufwerk'; +$l['li_sec_vsiso_exp'] = 'Wählen Sie ein ISO für das zweite CD-ROM-Laufwerk'; +$l['li_none'] = 'Nichts'; +$l['li_rootpass'] = VM_SHORT.' Root Passwort'; +$l['li_rootpass_exp'] = 'Das Passwort für den Root Benutzer / Administrator des '.VM_SHORT; +$l['li_randpass'] = 'Ein neues Zufallspasswort erstellen'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Geben Sie einen Hostnamen für den '.VM_SHORT.' an z.B. www.example.com'; +$l['li_ip'] = 'IP Adresse'; +$l['li_ips_exp'] = 'Sie können die Anzahl der IP-Adressen angeben, die zugeteilt werden sollen'; +$l['li_ips'] = 'IP Adressen'; +$l['li_ips6_subnet'] = 'IPv6 Subnetze'; +$l['li_ips6_subnet_exp'] = 'Sie können die Anzahl der IPv6 Subnetze angeben, die zugeteilt werden sollen'; +$l['li_ips6'] = 'IPv6 Adressen'; +$l['li_ips6_exp'] = 'Sie können die Anzahl der IPv6 Adressen angeben, die zugeteilt werden sollen'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Diese IP löschen'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Festplattenspeicher'; +$l['li_exp_hdd'] = 'Der erlaubte Festplattenspeicher für den '.VM_SHORT; +$l['li_mac'] = 'MAC Adresse'; +$l['li_exp_mac'] = 'Sechs Gruppen von zwei hexadezimalen Ziffern, die durch Doppelpunkte getrennt werden (:), z.B. 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'Die maximale Anzahl der Inodes (Dateien) die innerhalb des '.VM_SHORT.' erlaubt sind. Empfohlener Wert : 500000+'; +$l['li_gram'] = 'Garantierter RAM'; +$l['li_exp_gram'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Dynamischer RAM'; +$l['li_exp_bram'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen kann'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'Es wird versucht, eine Swap-Partition zu erstellen, wenn Sie ein Betriebssystem-Template von oben ausgewählt haben'; +$l['li_band'] = 'Datenverkehr'; +$l['li_exp_band'] = 'Monatliche Begrenzung des Datenverkehrs für den '.VM_SHORT.'. 0 (Null) für unbegrenzt'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Einheiten'; +$l['li_cpalloc'] = 'CPU Einheiten, die zugeordnet werden sollen'; +$l['li_cpalloc_xen'] = 'Empfohlener Wert : 256'; +$l['li_cpalloc_openvz'] = 'Empfohlener Wert : 1000'; +$l['li_cpalloc_kvm'] = 'Empfohlener Wert : 1024'; +$l['li_units'] = 'Einheiten'; +$l['li_cores'] = 'CPU Kerne'; +$l['li_cpucore_exp'] = 'Empfohlener Wert :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'Die CPU-Zeit in Prozent die, der entsprechenden '.VM_SHORT.' nicht übersteigen darf.
Setzen Sie 0 für keine Einschränkung.
Empfohlener Wert : 10'; +$l['li_io'] = 'I/O Priorität'; +$l['li_io0-7'] = 'Wählen Sie eine Priorität von 0-7'; +$l['li_na'] = 'Netzwerkgeschwindigkeit'; +$l['li_na_exp'] = 'Bitte geben Sie die Netzwerkgeschwindigkeit an'; +$l['li_ubcsettings'] = 'UBC Einstellungen'; +$l['li_exp_ubc'] = 'Wenn ausgewählt, werden Sie zu den UBC Einstellungen für den '.VM_SHORT.' weitergeleitet'; +$l['li_submit'] = 'Erstellen'; +$l['li_addvoption'] = 'Erweiterte Optionen'; +$l['li_addvhide'] = 'Erweiterte Optionen verbergen'; +$l['li_network_speed'] = 'Netzwerkgeschwindigkeit'; +$l['li_network_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'Keine Einschränkung'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Empfohlener Wert : 8 MB'; +$l['li_vncpass'] = 'VNC Passwort'; +$l['li_vncpass_exp'] = 'Das VNC-Passwort für den '.VM_SHORT.'. Klicken Sie auf das Symbol, um ein neues Zufallspasswort zu generieren'; +$l['li_free'] = 'Frei'; +$l['li_band_suspend'] = 'Datenverkehr aussetzen'; +$l['li_exp_band_suspend'] = 'Sperrt den '.VM_SHORT.', wenn mehr Datenverkehr als zugeteilt genutzt wird.'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Tun/Tap für den '.VM_SHORT.' aktivieren'; +$l['li_exp_ppp'] = 'PPP (Point to Point Protocol) für den '.VM_SHORT.' aktivieren'; +$l['li_osreinstall'] = 'OS neu installieren Limit'; +$l['li_exp_osreinstall'] = 'Wenn Sie die Anzahl für OS neu installationen pro Monat Limitieren möchten.
z.B. 0 - ist unbegrenzt'; +$l['li_changenic'] = 'Virtuelle Netzwerkkarte'; +$l['li_exp_changenic'] = 'Mit dieser Funktion können Sie die virtuelle Netzwerkkarte für den '.VM_SHORT.' ändern'; +$l['li_add_route'] = 'Geroutetes Netzwerk verwenden'; +$l['li_exp_add_route'] = 'Wenn aktiviert, wird ein Geroutetes Netzwerk verwendet.'; +$l['li_nic_default'] = 'Realtek 8139'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtuelle Netzwerkschnittstelle Emulationstyp'; +$l['li_exp_change_vif_type'] = 'Wenn Sie den Netzwerkschnittstellen Emulationstyp ändern möchten. Optionen sind netfront oder ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront'; +$l['li_usevirtio'] = 'Virtio aktivieren'; +$l['li_exp_usevirtio'] = 'Verwenden Sie virtio als IO-Virtualisierung'; +$l['li_usesec_cdrom'] = 'Zweites CD-ROM-Laufwerk aktivieren'; +$l['li_exp_usesec_cdrom'] = 'Aktivieren Sie diese Option, um ein weiteres ISO zu mounten.'; +$l['li_kvm_cache'] = 'Festplatten-Cache'; +$l['li_exp_kvm_cache'] = 'Steuert den Cache-Mechanismus'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC-Konsole Tastaturbelegung'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'Wenn Sie nicht sicher sind, dann verwenden Sie 4.2.2.1 und 4.2.2.2'; +$l['li_mg'] = 'Mediengruppen'; +$l['li_mg_exp'] = 'Wenn keine Mediengruppe zugewiesen wurde, dann werden alle Medien für diesen '.VM_SHORT.' zur Verfügung gestellt.'; +$l['li_apps'] = 'Anwendungen'; +$l['li_apps_exp'] = 'Wählen Sie die Webuzo Anwendung, die Sie installieren möchten'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'Wenn aktiviert, wird der '.VM_SHORT.' im Ploop Format erstellt'; +$l['li_mac_temp_vncdetails'] = 'MAC Adresse :'; +$l['li_mail_temp_vnctitle'] = 'Die VNC Details lauten :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Passwort :'; +$l['li_reinstall'] = VM_LONG.'. neu installieren'; +$l['li_space'] = 'Speicherplatz'; +$l['li_space_exp'] = 'Der erlaubte Speicherplatz für den '.VM_SHORT; +$l['li_ram'] = 'Garantierter RAM'; +$l['li_ram_exp'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; +$l['li_burst'] = 'Dynamischer RAM'; +$l['li_burst_exp'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen darf'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'Es wird versucht, eine Swap-Partition zu erstellen, wenn Sie ein Betriebssystem-Template von oben ausgewählt haben'; +$l['li_bandwidth'] = 'Datenverkehr'; +$l['li_bandwidth_exp'] = 'Monatliche Begrenzung des Datenverkehrs für den '.VM_SHORT.'. 0 (Null) für unbegrenzt'; +$l['li_unlimited'] = 'Unbegrenzt'; +$l['li_weak_pass'] = 'Das Passwort muss mindestens 3 der folgenden Zeichen enthalten: Ein Großbuchstaben, Kleinbuchstaben, eine Zahl oder ein spezielles Symbol'; +$l['li_usevirtio'] = 'Virtio aktivieren'; +$l['li_usevirtio_exp'] = 'Virtio als I/O Virtualisierung verwenden'; +$l['li_plan_name'] = 'Vorlage Name'; +$l['li_plan_details'] = 'Vorlage Details'; +$l['li_new_vps_info'] = 'Neuer '.VM_SHORT; +$l['li_back'] = 'Zurück'; +$l['li_continue'] = 'Fortsetzen'; +$l['li_nic'] = 'Virtueller Netzwerk-Schnittstellentyp'; +$l['li_nic_exp'] = 'Wählen Sie den Typ der Virtuellen Netzwerkschnittstelle.'; +$l['li_vif'] = 'Virtuelle Netzwerkschnittstelle Emulationstyp'; +$l['li_vif_exp'] = 'Wählen Sie den Emulations-Typ der Netzwerkschnittstelle. Optionen sind netfront oder ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU-Topologie'; +$l['li_enable_cpu_topology_exp'] = 'Geben Sie die Anzahl der CPU-Kerne, Threads und Sockets an, die dem '.VM_SHORT.' zugewiesen werden sollen'; +$l['li_inv_topology'] = 'Ungültige(r) CPU-Topologie-Wert(e). Alle angegebenen Topologiewerte müssen größer als Null sein'; +$l['li_err_topology_calc'] = 'CPU-Kerne sollten gleich der Topologiegrenze sein (CPU-Kerne = Sockets x Topologie Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Monat'; +$l['li_hour'] = 'Stunde'; +$l['li_invalid_plid'] = 'Die angegebene Vorlage ist ungültig'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Instanz bearbeiten '; +$l['ei_vs_user'] = 'Benutzer'; +$l['ei_vs_user_exp'] = 'Wählen Sie einen vorhandenen Benutzer oder fügen Sie einen neuen Benutzer hinzu'; +$l['ei_user_email'] = 'Benutzer E-Mail'; +$l['ei_user_pass'] = 'Passwort'; +$l['ei_add_user'] = 'Benutzer hinzufügen'; +$l['ei_unknown'] = 'Unbekannt'; +$l['ei_vsos'] = 'Betriebssystem'; +$l['ei_vsos_exp'] = 'Das aktuelle Betriebssystem des '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'Wenn ein ISO gewählt ist, wird die Maschine von diesem ISO gebootet'; +$l['ei_none'] = 'Nichts'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Geben Sie den Hostnamen für den '.VM_SHORT.' an z.B. www.example.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Passwort'; +$l['ei_rootpass_exp'] = 'Leer lassen, wenn Sie das aktuelle Passwort nicht ändern möchten'; +$l['ei_randpass'] = 'Erzeugen Sie ein weiteres Zufallspasswort'; +$l['ei_ip'] = 'IP-Adresse'; +$l['ei_ips_exp'] = 'Sie können aus dem IP-Pool wählen, oder Sie geben andere IPs an'; +$l['ei_ips6_subnet'] = 'IPv6 Subnetz'; +$l['ei_ips6_subnet_exp'] = 'Sie können aus der IPv6-Subnetz-Liste wählen'; +$l['ei_free'] = 'Frei'; +$l['ei_ips6'] = 'IPv6 Adressen'; +$l['ei_ips6_exp'] = 'Sie können die Anzahl an IPv6 Adressen bestimmen, die zugeteilt werden sollen oder Sie wählen diese aus dem IPv6 Pool'; +$l['ei_space'] = 'Speicherplatz'; +$l['ei_space_exp'] = 'Der zulässige Speicherplatz für den '.VM_SHORT; +$l['ei_ram'] = 'Garantierter RAM'; +$l['ei_ram_exp'] = 'Die Größe des Arbeitsspeichers, die der '.VM_SHORT.' immer zur Verfügung hat'; +$l['ei_burst'] = 'Dynamischer RAM'; +$l['ei_burst_exp'] = 'Die maximale Menge an RAM, die der '.VM_SHORT.' nutzen kann'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Datenverkehr'; +$l['ei_bandwidth_exp'] = 'Monatliches Limit für Datenverkehr des '.VM_SHORT.'. 0 (Null) für unbegrenzt'; +$l['ei_cores'] = 'CPU Kerne'; +$l['ei_cpucore_exp'] = 'Empfohlener Wert :'; +$l['ei_cores_max'] = 'Max Kerne'; +$l['ei_unlimited'] = 'Unbegrenzt'; +$l['ei_network_speed'] = 'Netzwerkgeschwindigkeit'; +$l['ei_network_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; +$l['ei_upload_speed'] = 'Upload-Geschwindigkeit'; +$l['ei_upload_speed_exp'] = 'Geben Sie 0 an oder leer lassen für keine Einschränkung.
Verwenden Sie das Auswahlfeld für einfache Optionen'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'Keine Einschränkung'; +$l['ei_vncpass'] = 'VNC Passwort'; +$l['ei_vncpass_exp'] = 'Das VNC-Passwort für den '.VM_SHORT.'. Klicken Sie auf das Symbol, um ein neues Zufallspasswort zu generieren'; +$l['ei_submit'] = VM_LONG.'. bearbeiten'; +$l['ei_done'] = 'Der '.VM_LONG.'. wurde erfolgreich bearbeitet.'; +$l['ei_addvoption'] = 'Erweiterte Optionen'; +$l['ei_no_uid'] = 'Es wurde kein Benutzer ausgewählt'; +$l['ei_no_nonalphanumeric'] = 'Nur nicht-alphanumerische Zeichen sind für das VNC-Passwort erlaubt'; +$l['ei_less_space'] = 'Sie haben nicht genug Speicherplatz um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_less_ram'] = 'Sie haben nicht genug RAM um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_max_cores_exceeded'] = 'Sie sind nicht berechtigt, eine '.VM_SHORT.' mit so vielen Kernen zu erstellen'; +$l['ei_less_cores'] = 'Sie haben nicht genug CPU Kerne um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_less_burst'] = 'Sie haben nicht genug Dynamischen Ram um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_ipv4_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv4-Ressourcen, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; +$l['ei_ipv6_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv6-Ressourcen, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; +$l['ei_ipv6_subnet_over'] = 'Die Region, die Sie ausgewählt haben, hat nicht genügend IPv6 Subnetze, um diese '.VM_SHORT.' zu erstellen. Bitte melden Sie dies dem Support'; +$l['ei_less_ipv4'] = 'Sie haben nicht genug IPv4-Adressen, um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_less_ipv6'] = 'Sie haben nicht genug IPv6-Adressen, um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_less_ipv6_subnet'] = 'Sie haben nicht genug IPv6 Subnetze, um diesen '.VM_SHORT.' zu erstellen'; +$l['ei_wrong_user'] = 'Sie können nicht zu diesem Benutzer wechseln'; +$l['ei_only_user'] = 'Während der Bearbeitung des Benutzers der '.VM_SHORT.', können die Ressourcen nicht geändert werden'; +$l['ei_less_swap'] = 'Sie haben nicht genug SWAP zur Verfügung'; +$l['ei_usevirtio'] = 'Virtio aktivieren'; +$l['ei_usevirtio_exp'] = 'Virtio als I/O Virtualisierung verwenden'; +$l['ei_less_bandwidth'] = 'Sie haben nicht genug Traffic, dem Sie diesen '.VM_SHORT.' zuweisen können'; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Im Tarif enthalten'; +$l['ei_add_pricing'] = 'Zusätzliche Preise'; +$l['ei_plan'] = 'Derzeitiger Tarif'; +$l['ei_plan_exp'] = 'Wählen Sie den Tarif, zu dem Sie wechseln möchten. Hinweis : Wenn Ihre aktuellen Ressourcen höher sind als der neue Tarif, werden Ihnen zusätzliche Gebühren gemäß den Ressourcenpreisen berechnet'; +$l['ei_plid_space'] = 'Sie können nicht auf einen niedrigeren Tarif wechseln'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Das ausgewählte Control Panel ist ungültig'; +$l['cpan_err_installing'] = 'Es gab einen Fehler bei der Installation des Control Panel'; +$l['cpan_wrong_os'] = 'Das Control Panel kann nicht installiert werden auf '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'Die Control Panel Installation hat begonnen und wird in Kürze abgeschlossen sein'; +$l['cpan_change_onboot'] = 'Das Control Panel wird installiert, wenn Sie den '.VM_SHORT.' herunterfahren und dann wieder starten'; +$l['cpan_vps_start'] = 'Der '.VM_SHORT.' läuft nicht! Bitte zuerst den '.VM_SHORT.' starten.'; +$l['cpan_heading'] = 'Control Panel'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backup-Liste von '.VM_SHORT.' ID:'; +$l['bkup2_list_exp'] = 'Die Daten der Backups die für diesen '.VM_SHORT.' verfügbar sind, werden unten aufgeführt. Sie können sie entsprechend wiederherstellen oder löschen.'; +$l['bkup2_date'] = 'Backup Datum'; +$l['bkup2_size'] = 'Größe'; +$l['bkup2_action'] = 'Aktion'; +$l['bkup2_restore'] = 'Wiederherstellen'; +$l['bkup2_delete'] = 'Backup löschen'; +$l['bkup2_now'] = 'Backup jetzt starten'; +$l['bkup2_conf_cbackup'] = 'Sind Sie sicher, dass Sie ein Backup erstellen möchten?'; +$l['bkup2_conf_restore'] = 'Sind Sie sicher, dass Sie dieses Backup wiederherstellen möchten?'; +$l['bkup2_conf_delete'] = 'Sind Sie sicher, dass Sie dieses Backup löschen möchten?'; +$l['bkup2_list'] = 'Backups-Liste'; +$l['bkup2_settings'] = 'Einstellungen'; +$l['bkup2_backup_server'] = 'Backup-Server'; +$l['bkup2_backup_server_exp'] = 'Wenn spezifizierte Backups zum Backup-Server hochgeladen werden'; +$l['bkup2_none'] = 'Nichts'; +$l['bkup2_server'] = 'Backup-Server'; +$l['bkup2_no_day'] = 'Bitte geben Sie einen gültigen Tag für das Backup an'; +$l['bkup2_no_date'] = 'Ungültiges Backup-Datum angegeben'; +$l['bkup2_no_freq'] = 'Bitte geben Sie eine gültige Frequenz für das Backup an'; +$l['bkup2_no_time'] = 'Bitte geben Sie eine gültige Zeit für das Backup an'; +$l['bkup2_no_bserid'] = 'Bitte geben Sie einen gültigen Backup-Server an'; +$l['bkup2_done_backup'] = 'Der '.VM_SHORT.'-Backup-Prozess wurde gestartet. Bitte warten Sie ein paar Minuten bis zur Fertigstellung. Sie erhalten eine Benachrichtigungs-E-Mail, wenn der Prozess abgeschlossen ist'; +$l['bkup2_done_restore'] = 'Der '.VM_SHORT.'-Wiederherstellungsprozess wurde gestartet. Bitte warten Sie ein paar Minuten bis zur Fertigstellung. Sie erhalten eine Benachrichtigungs-E-Mail, wenn der Prozess abgeschlossen ist'; +$l['bkup2_done_delete'] = 'Das '.VM_SHORT.'-Backup wurde erfolgreich gelöscht'; +$l['bkup2_done_save_settings'] = 'Die Backup-Einstellungen wurden erfolgreich gespeichert.'; +$l['bkup2_err_backup'] = 'Beim Erstellen des Backup ist ein Fehler aufgetreten'; +$l['bkup2_err_restore'] = 'Beim Wiederherstellen des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['bkup2_err_deletevpsbackup'] = 'Beim Löschen des Backup des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['bkup2_err_backup_not_allowed'] = 'Dieser '.VM_SHORT.' hat keine Berechtigung Backups zu nutzen'; +$l['bkup2_err_task_running'] = 'Für diesen '.VM_SHORT.' läuft bereits ein Backup- oder Wiederherstellungsvorgang. Bitte warten Sie, bis dieser fertig ist'; +$l['bkup2_err_backup_limit'] = 'Sie haben das Backup-Limit dieses '.VM_SHORT.' für diesen Monat erreicht.'; +$l['bkup2_err_restore_limit'] = 'Sie haben das Wiederherstellungs-Limit dieses '.VM_SHORT.' für den Monat erreicht.'; +$l['bkup2_err_save_settings'] = 'Beim Speichern der Backup-Einstellungen ist ein Fehler aufgetreten'; +$l['bkup2_monthly_bkups_used'] = 'Monatliche Backups verwendet:'; +$l['bkup2_monthly_restores_used'] = 'Monatliche Wiederherstellungen verwendet:'; +$l['bkup2_current_cycle'] = 'Aktueller Zyklus:'; +$l['bkup2_unlimited'] = 'Unbegrenzt'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'Diese Virtualisierung hat keine HVM-Einstellungen'; +$l['hvm_rescue_enabled'] = 'Der '.VM_SHORT.' ist im Rettungsmodus und kann nicht geändert werden'; +$l['hvm_invalid_iso'] = 'Das ausgewählte ISO ist ungültig'; +$l['hvm_err_editing'] = 'Es gab einige Fehler beim Speichern der Einstellungen'; +$l['hvm_heading'] = 'HVM-Einstellungen'; +$l['hvm_submit_button'] = 'Speichern'; +$l['hvm_done'] = 'Die Einstellungen wurden erfolgreich gespeichert'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Startreihenfolge'; +$l['hvm_isos'] = 'ISO auswählen'; +$l['hvm_none'] = 'Nichts'; +$l['hvm_tuntap_enable'] = 'Tun/Tap aktivieren'; +$l['hvm_ppp_enable'] = 'PPP (Point to Point Protocol) aktivieren'; +$l['hvm_disabled'] = 'Die HVM-Einstellungen werden durch einen Admin deaktiviert'; +$l['hvm_hdd'] = 'Festplatte'; +$l['hvm_cdrom'] = 'CD Laufwerk'; +$l['hvm_vnc_keymap'] = 'VNC Tastaturlayout'; +$l['hvm_enable_vga'] = 'VGA aktivieren'; +$l['hvm_enable_acceleration'] = 'Beschleunigung aktivieren'; +$l['hvm_enable_acceleration_exp'] = 'Wenn ausgewählt, wird die 2D-und 3D-Beschleunigung für den '.VM_SHORT.' aktiviert.'; +$l['hvm_sec_iso'] = 'ISO für zweites CD-ROM-Laufwerk'; +$l['hvm_sec_iso_exp'] = 'Wählen Sie ein ISO für das zweite CD-ROM-Laufwerk'; +$l['hvm_nic_type'] = 'Virtuelle Netzwerkkarte'; +$l['hvm_nic_type_exp'] = 'Mit dieser Funktion können Sie die virtuelle Netzwerkkarte für den '.VM_SHORT.' ändern'; +$l['nic_default'] = 'Realtek 8139'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Virtio aktivieren'; +$l['hvm_fuse'] = 'Fuse aktivieren'; +$l['hvm_fuse_exp'] = 'Wenn ausgewählt, wird FUSE für den Container aktiviert'; +$l['hvm_ipip'] = 'IPIP aktivieren'; +$l['hvm_ipip_exp'] = 'Wenn ausgewählt, wird IPIP für den Container aktiviert'; +$l['hvm_ipgre'] = 'IPGRE aktivieren'; +$l['hvm_ipgre_exp'] = 'Wenn ausgewählt, wird IPGRE für den Container aktiviert'; +$l['hvm_nfs'] = 'NFS aktivieren'; +$l['hvm_nfs_exp'] = 'Wenn ausgewählt, wird NFS für den Container aktiviert'; +$l['hvm_quotaugidlimit'] = 'QUOTAUGIDLIMIT aktivieren'; +$l['hvm_quotaugidlimit_exp'] = 'Aktiviert oder deaktiviert in-Containern pro Benutzer und pro Gruppe das Disk-Quota. Wenn der Wert auf 0 gesetzt oder nicht gesetzt ist, wird das Disk-Quota im Container deaktiviert und nicht berücksichtigt.
+HINWEIS: Dadurch wird der Container neu gestartet.'; +$l['hvm_iolimit'] = 'IO-Bandbreitenbegrenzung für Container einstellen'; +$l['hvm_iolimit_exp'] = 'Wenn gesetzt, wird die IO-Operation das angegebene Limit nicht überschreiten, während IO-Operationen ausgeführt werden.'; +$l['hvm_iopslimit'] = 'IOPS-Limit für Container einstellen'; +$l['hvm_iopslimit_exp'] = 'Wenn gesetzt, überschreitet IO-Operationen pro Sekunde das angegebene Limit nicht.'; +$l['hvm_admin_iso'] = 'Admin ISO'; +$l['hvm_user_iso'] = 'Benutzer ISO'; +$l['hvm_addiso'] = 'ISO hinzufügen'; +$l['hvm_listiso'] = 'ISO anzeigen'; +$l['hvm_timezone'] = 'Wählen Sie die '.VM_SHORT.'-Zeitzone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU Informationen'; +$l['cpu_totalcpu'] = 'CPU gesamt :'; +$l['cpu_cpuutilised'] = 'Genutzt : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'CPU-Auslastung'; +$l['cpu_trademarks'] = 'Alle jeweiligen Logos sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Unternehmen.'; +$l['cpu_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM Informationen'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Garantierter RAM : '; +$l['ram_burstable'] = 'Dynamisch :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Genutzt :'; +$l['ram_percentram'] = 'Nutzung % :'; +$l['ram_graphheader'] = 'RAM-Auslastung'; +$l['ram_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Speicherplatz'; +$l['disk_diskinfo'] = 'Speicherplatz Informationen'; +$l['disk_totaldisk'] = 'Gesamt Speicherplatz : '; +$l['disk_diskutilised'] = 'Genutzt : '; +$l['disk_percentdisk'] = 'Nutzung % : '; +$l['disk_graphheader'] = 'Speicherplatz Nutzung'; +$l['disk_inodesinfo'] = 'Inodes Informationen'; +$l['disk_inodestotal'] = 'Gesamt Inodes :'; +$l['disk_inodesutilised'] = 'Genutzt : '; +$l['disk_percent_inodes'] = 'Nutzung % :'; +$l['disk_inodesheader'] = 'Inodes Nutzung'; +$l['disk_not_supported'] = 'Aktuelle Auslastungsüberwachung dieser Ressource wird nicht unterstützt.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Traffic'; +$l['band_bandwidthinfo'] = 'Traffic Informationen'; +$l['band_Total_Bandwidth'] = 'Traffic gesamt:'; +$l['band_bandwidth_utilized'] = 'Genutzt : '; +$l['band_percent_utilized'] = '% Genutzt : '; +$l['band_graphheader'] = 'Traffic Nutzung'; +$l['band_unlimited'] = 'Unbegrenzt'; +$l['band_network_speed'] = 'Netzwerkgeschwindigkeit (MB/s)'; +$l['band_prev'] = 'Vorheriger Monat'; +$l['band_next'] = 'Nächster Monat'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serielle Konsole ist deaktiviert'; +$l['cs_call_failed'] = 'Der API-Aufruf ist fehlgeschlagen. Bitte kontaktieren Sie den Admin'; +$l['cs_heading'] = 'Serielle Konsole'; +$l['cs_none'] = 'Keine vorhandene Konsolensitzung gefunden. Bitte erstellen Sie eine !'; +$l['cs_create'] = 'Sitzung erstellen'; +$l['cs_creating'] = 'Erstelle die Sitzung ...'; +$l['cs_destroying'] = 'Zerstöre die Sitzung ...'; +$l['cs_details'] = 'Das Folgende sind die Konsole Details'; +$l['cs_expires'] = 'Ablauf'; +$l['cs_ip'] = 'IP-Adresse'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Benutzername'; +$l['cs_password'] = 'Passwort'; +$l['cs_destroy'] = 'Sitzung Zerstören'; +$l['cs_java_console'] = 'Java Konsole'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status Logs'; +$l['sts_running'] = 'Läuft'; +$l['sts_stopped'] = 'Gestoppt'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Zeit'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System-Warnungen'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Aufgaben'; +$l['tasks_task_started'] = 'Aufgabe gestartet'; +$l['tasks_no_tasks'] = 'Es gibt keine aktive Aufgabe für diesen Benutzer'; +$l['tasks_addvs'] = VM_SHORT.' erstellen'; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = VM_SHORT.' löschen'; +$l['tasks_migrateprog'] = VM_SHORT.' Migration'; +$l['tasks_migratedest'] = VM_SHORT.' Migration'; +$l['tasks_multivirt'] = 'Multivirt aktiviert'; +$l['tasks_createtemplate'] = 'Template erstellt'; +$l['tasks_getos'] = 'Betriebssystem herunterladen'; +$l['tasks_rebuildvs'] = VM_SHORT.' wieder erstellen'; +$l['tasks_resizevps'] = VM_SHORT.' Größe ändern'; +$l['tasks_bandwidth_unsuspend'] = 'Traffic entsperren'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = VM_SHORT.' Wiederherstellen'; +$l['tasks_vpsbackups'] = VM_SHORT.' sichern'; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = VM_SHORT.' Wiederherstellen'; +$l['tasks_backup'] = VM_SHORT.' sichern'; +$l['tasks_change_dnsnameserver'] = 'Nameserver ändern'; +$l['tasks_changepassword'] = 'Passwort ändern'; +$l['tasks_sync_config'] = 'Sync-Konfiguration'; +$l['tasks_install_cp'] = 'Control Panel installieren'; +$l['tasks_install_recipe'] = 'Rezept installieren'; +$l['tasks_hostname'] = 'Hostname ändern'; +$l['tasks_editxcpvs'] = 'XCP '.VM_SHORT.' bearbeiten'; +$l['tasks_error'] = 'Fehler'; +$l['tasks_inprogress'] = 'In Bearbeitung'; +$l['tasks_order'] = 'Auftrag'; +$l['tasks_asc'] = 'Aufsteigend'; +$l['tasks_desc'] = 'Absteigend'; +$l['tasks_submit'] = 'Suchen'; +$l['tasks_progress'] = 'Fortschritt'; +$l['tasks_completed'] = 'Aufgabe erledigt'; +$l['tasks_task_notcomplete'] = 'Ein Fehler ist aufgetreten.'; +$l['tasks_task_notupdated'] = 'Aufgabe nicht aktualisiert!'; +$l['tasks_task_notupdated_status'] = 'Unauffindbar'; +$l['tasks_migrate_speed'] = 'Migration Geschwindigkeit: '; +$l['tasks_started'] = 'Gestartet'; +$l['tasks_updated'] = 'Aktualisiert'; +$l['tasks_ended'] = 'Beendet'; +$l['tasks_notupdated'] = 'Nicht aktualisiert'; +$l['tasks_unslaved'] = 'Slave-Server getrennt'; +$l['tasks_not_started'] = 'Aufgabe nicht gestartet'; +$l['tasks_not_updated'] = 'Aufgabe nicht aktualisiert'; +$l['tasks_not_ended'] = 'Aufgabe nicht beendet'; +$l['tasks_start_vps'] = VM_SHORT.' starten'; +$l['tasks_start_vps_error'] = 'Beim Start des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['tasks_restart_vps'] = VM_SHORT.' neu starten'; +$l['tasks_restart_vps_error'] = 'Beim Neustart des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['tasks_stop_vps'] = VM_SHORT.' stoppen'; +$l['tasks_stop_vps_error'] = 'Es gab einen Fehler beim Stoppen des '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Ausschalten'; +$l['tasks_poweroff_vps_error'] = 'Beim Ausschalten des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['tasks_enable_rescuevs'] = 'Rettung aktivieren'; +$l['tasks_disable_rescuevs'] = 'Rettung deaktivieren'; +$l['tasks_remotedesktop'] = 'Remote Desktop Aufgabe'; +$l['tasks_change_vncpass'] = 'VNC Passwort ändern'; +$l['tasks_installxentools'] = 'Xenserver Tools installieren'; +$l['tasks_install_script'] = 'Apps installieren'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Sicherheitscode ist ungültig'; +$l['reg_no_username'] = 'Das Feld Benutzername war leer'; +$l['reg_no_email']= 'Das E-Mail Feld war leer'; +$l['reg_no_password'] = 'Das Passwortfeld war leer'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'Die E-Mail-Adresse ist ungültig'; +$l['reg_pass_short'] = 'Das Passwort-Feld muss größer sein als '.$globals['user_pass_min_char'].' Zeichen'; +$l['reg_email_exist'] = 'Die von Ihnen angegebene E-Mail-Adresse existiert bereits'; +$l['reg_soft_error'] = 'Beim Erstellen Ihres Kontos ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; +$l['reg_done'] = 'Ihr Konto wurde erstellt. Ein Aktivierungslink wurde Ihnen per E-Mail gesendet. Bitte benutzen Sie es, um Ihre E-Mail zu bestätigen und Ihr Konto zu aktivieren'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Registrieren'; +$l['reg_acc'] = 'Benutzerkonto anlegen'; +$l['reg_username'] = 'Benutzername'; +$l['reg_email'] = 'E-Mail'; +$l['reg_pass'] = 'Passwort'; +$l['reg_resendact'] = 'Aktivierungscode erneut senden'; +$l['reg_mail_sub'] = 'Konto aktivieren'; +$l['reg_mail_body'] = 'Hallo {{email}}, + +Vielen Dank für die Registrierung eines Kontos bei {{sn}}. + +Bevor Sie Ihr Konto verwenden können, müssen Sie es aktivieren. +Klicken Sie auf den folgenden Link, um Ihr Konto zu aktivieren: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +Wenn der obige Link nicht funktioniert, müssen Sie den Link kopieren und in Ihren Webbrowser einfügen oder manuell eingeben. + +Wenn Sie immer noch Probleme bei der Anmeldung haben, kontaktieren Sie uns bitte unter '.$globals['support_email'].' + +Vielen Dank! + +Das {{sn}} Team +'.$globals['cp_url'].' + +Aktivierungscode: {{activation_code}} +Benutzer ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'Bei der Überprüfung Ihres Kontos ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team: '.$globals['support_email']; +$l['reg_val_done'] = 'Ihr Konto wurde aktiviert. Sie können sich jetzt in Ihr Konto einloggen und alles überwachen!'; +$l['reg_val_mail_sub'] = 'Willkommen zu '.$globals['sn']; +$l['reg_val_mail_body'] = 'Herzlichen Glückwunsch zum Erstellen Ihres brandneuen '.$globals['sn'].' Account, {{email}}. + +Sie können sich jetzt in Ihrem Konto anmelden unter: +'.$globals['cp_url'].'/?#act=login + +Bitte bewahren Sie diese E-Mail für Ihre Unterlagen auf, da sie wichtige Informationen zu Ihrem Konto enthält. + +Genießen! + +Das '.$globals['sn'].' Team +'.$globals['cp_url'].' + +Benutzer ID: {{uid}} +Aktivierungscode: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'Bestätigung der Benutzer-E-Mail'; +$l['reg_val_done_cong'] = 'Herzlichen Glückwunsch zum Erstellen Ihres brandneuen '.$globals['sn'].' Account :'; +$l['reg_val_done_uni'] = 'Sie können sich jetzt in Ihrem Konto Einloggen :
+'.$globals['cp_url'].'/?#act=login

+ +Genießen!

+ +Das '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'Benutzer ID :'; +$l['reg_val_done_act'] = 'Aktivierungscode :'; + +$l['resendact'] = 'Erneutes Senden der Aktivierungs-E-Mail'; +$l['reg_res_no_username'] = 'Das E-Mail-Feld war leer'; +$l['reg_res_soft_error'] = 'Beim erneuten Senden der Aktivierungs-E-Mail ist ein Fehler aufgetreten. Bitte kontaktieren Sie das Support-Team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Ihr Aktivierungscode'; +$l['reg_res_mail_body'] = 'Hallo {{email}}, + +Wir haben eine Anfrage erhalten, Ihnen Ihren Aktivierungscode für Ihr Konto erneut zu senden '.$globals['sn'].'. + +Bevor Sie Ihr Konto verwenden können, müssen Sie es aktivieren. +Klicken Sie auf den folgenden Link, um Ihr Konto zu aktivieren: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +Wenn der obige Link nicht funktioniert, müssen Sie den Link kopieren und in Ihren Webbrowser einfügen oder manuell eingeben. + +Wenn Sie immer noch Probleme bei der Anmeldung haben, kontaktieren Sie uns bitte unter '.$globals['support_email'].' + +Vielen Dank! + +Das {{sn}} Team +'.$globals['cp_url'].' + +Aktivierungscode: {{activation_code}} +Benutzer ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'Der Aktivierungscode wurde erfolgreich erneut gesendet. Bitte aktivieren Sie Ihren Account jetzt.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Das Feld Benutzername war leer'; +$l['login_no_password'] = 'Das Passwort Feld war leer'; +$l['login_act_status'] = 'Ihr Konto wurde nicht bestätigt. Bitte bestätigen Sie die E-Mail-Adresse oder wenden Sie sich an den Support.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'Sie haben die maximale Anzahl von fehlgeschlagenen Login Versuchen erreicht! Bitte warten Sie ein paar Minuten, bevor Sie es erneut versuchen. Bitte denken Sie daran bei der Eingabe des Passworts die Groß- / Kleinschreibung zu beachten. Passwort vergessen? Dann nutzen Sie bitte die Passwort vergessen Funktion.'; +$l['login_sign_in'] = 'Einloggen'; +$l['login_log_user'] = 'E-Mail-Adresse'; +$l['login_log_pass'] = 'Passwort'; +$l['login_sub_but'] = 'Einloggen'; +$l['login_register'] = 'Account erstellen'; +$l['login'] = 'Einloggen'; +$l['login_pass_nomatch'] = 'Der eingegebene Benutzername oder das Passwort war falsch.'; +$l['login_forgotpass'] = 'Passwort vergessen'; +$l['login_emailuser'] = 'E-Mail-Adresse'; +$l['login_enteremail'] = 'Geben Sie Ihre E-Mail-Adresse ein'; +$l['login_sub_email'] = 'Absenden'; +$l['login_no_email'] = 'Sie haben Ihre E-Mail-Adresse nicht angegeben'; +$l['login_invalidemail'] = 'Die E-Mail-Adresse, die Sie angegeben haben, ist ungültig'; +$l['login_mail_sub'] = 'Passwort zurücksetzen'; +$l['login_mail_body'] = 'Hallo, + +eine Anforderung zum Zurücksetzen des Passworts wurde erstellt. +Wenn Sie den Passwort-Reset nicht angefordert haben, dann ignorieren Sie bitte diese E-Mail. + +Wenn Sie Ihr Passwort zurückzusetzen möchten, dann klicken Sie bitte auf die URL unten : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Bitte beachten Sie: Der Link oben ist nur für 24 Stunden gültig. + +Viele Grüße +'; +$l['login_mail_done'] = 'Eine E-Mail mit den Details zum Zurücksetzen des Passworts wurde versendet'; +$l['login_back_to_login'] = 'Zurück zum Login'; +$l['login_resetpass'] = 'Passwort zurücksetzen'; +$l['login_log_new_pass'] = 'Neues Passwort'; +$l['login_log_reppass'] = 'Passwort bestätigen'; +$l['login_changepass'] = 'Passwort ändern'; +$l['login_no_key'] = 'Es wurde kein Reset Schlüssel übermittelt'; +$l['login_invalidkey'] = 'Sie haben einen ungültigen Schlüssel angegeben'; +$l['login_no_new'] = 'Bitte geben Sie ein gültiges Passwort ein'; +$l['login_no_reppass'] = 'Bitte geben Sie das bestätigungs Passwort ein'; +$l['login_no_match'] = 'Die angegebenen Passwörter stimmen nicht überein'; +$l['login_keyexpire'] = 'Der Schlüssel ist nicht mehr gültig'; +$l['login_passchanged'] = 'Passwort erfolgreich geändert.'; +$l['login_forgot_pass'] = 'Passwort vergessen'; +$l['login_goto_login'] = 'Zur Login Seite'; +$l['login_no_2fa_key'] = 'Ungültiger Authentifizierungsschlüssel'; +$l['login_inv_user'] = 'Ungültiger Benutzer'; + +// OTP on login +$l['login_twofactit'] = 'Zwei-Faktor-Authentifizierung'; +$l['login_enterotp'] = 'Geben Sie das Einmalpasswort ein'; +$l['login_no_otp'] = 'Bitte geben Sie das Einmalpasswort (OTP) ein'; +$l['login_incorrect_otp'] = 'Falscher Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Rezept-Ausführungsfehler'; +$l['recipe_no_selected'] = 'Kein Rezept ausgewählt'; +$l['recipe_wrong'] = 'Falsches Rezept ausgewählt'; +$l['recipe_heading'] = 'Rezepte'; +$l['recipe_choose'] = 'Rezept wählen'; +$l['recipe_exp_choose_recipe'] = 'Wählen Sie das Rezept, das Sie kochen wollen'; +$l['recipe_update'] = 'Kochrezept'; +$l['recipe_none'] = 'Nichts'; +$l['recipe_done'] = 'Rezept wurde gekocht'; +$l['recipe_exec_onboot'] = 'Das Rezept wird gekocht, wenn Sie den '.VM_SHORT.' neu starten'; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'Keine Beschreibung'; +$l['ingredients'] = 'Zutaten'; +$l['recipe'] = 'Rezept'; +$l['conf_execute'] = 'Sind Sie sicher, dass Sie dieses Rezept kochen wollen ?'; +$l['rec_short_desc'] = 'Rezepte sind vordefinierte bash-Codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH wurde durch einen Admin deaktiviert'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Sind Sie sicher, dass Sie den Timer einstellen wollen?'; +$l['sd_confirm_delete'] = 'Sind Sie sicher, dass Sie den Timer löschen wollen?'; +$l['sd_date_alert'] = 'Bitte geben Sie das Datum im Format mm/dd/yyyy ein'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Timer einstellen'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Neustart'; +$l['sd_action_poweroff'] = 'Ausschalten'; +$l['sd_action_title'] = 'Aktion'; +$l['sd_action_edit_desc'] = 'Zum bearbeiten bitte die Daten eingeben und absenden'; +$l['sd_action_edit_desc'] = 'Zum bearbeiten bitte die Daten eingeben und absenden'; +$l['time_updated'] = 'Aktion aktualisiert'; +$l['time_deleted'] = 'Aktion gelöscht'; +$l['time_added'] = 'Aktion hinzugefügt'; +$l['sd_invalid_action'] = 'Ungültige Aktion'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH-Schlüssel'; +$l['sshkey_add'] = 'SSH-Schlüssel hinzufügen'; +$l['sshkey_add_new'] = 'Neuen SSH-Schlüssel hinzufügen'; +$l['sshkey_use'] = 'SSH-Schlüssel verwenden'; +$l['sshkey_list'] = 'SSH-Schlüssel anzeigen'; +$l['sshkey_no_keys'] = 'Sie haben keine SSH-Schlüssel'; +$l['sshkey_no_keys_acct'] = 'Sie haben keine SSH-Schlüssel für Ihren Account hinterlegt. Bitte fügen Sie zuerst einen SSH-Schlüssel hinzu, indem Sie im linken Menü auf SSH-Schlüssel klicken.'; +$l['sshkey_no_keys_acct_whmcs'] = 'Sie haben keine SSH-Schlüssel für Ihren Account hinterlegt.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'Ein eindeutiger Name für den SSH-Schlüssel'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'Der Wert des SSH-Schlüssels im OpenSSH-Format.
(Z.B.: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'SSH-Schlüssel hinzufügen'; +$l['sshkey_edit'] = 'SSH-Schlüssel bearbeiten'; +$l['sshkey_conf_delete'] = 'Sind Sie sicher, dass Sie diesen SSH-Schlüssel löschen möchten?'; +$l['sshkey_err_delete_key'] = 'Beim Löschen des SSH-Schlüssels ist ein Fehler aufgetreten'; +$l['sshkey_done_delete_key'] = 'Der SSH-Schlüssel wurde erfolgreich gelöscht.'; +$l['sshkey_no_name'] = 'Bitte geben Sie einen gültigen SSH-Schlüsselnamen an'; +$l['sshkey_no_value'] = 'Bitte geben Sie einen gültigen SSH-Schlüsselwert an'; +$l['sshkey_err_name_exists'] = 'Ein SSH-Schlüssel dieses Namens existiert bereits'; +$l['sshkey_err_add'] = 'Beim Hinzufügen des SSH-Schlüssels ist ein Fehler aufgetreten'; +$l['sshkey_done_add'] = 'Der SSH-Schlüssel wurde erfolgreich hinzugefügt'; +$l['sshkey_done_edit'] = 'Der SSH-Schlüssel wurde erfolgreich gespeichert'; +$l['sshkey_select_keys'] = 'SSH-Schlüssel wählen:'; +$l['sshkey_done_addvps'] = 'Der SSH-Schlüssel wurde erfolgreich hinzugefügt. Die Änderungen werden beim nächsten Neustart wirksam.'; +$l['sshkey_err_key'] = 'Bitte wählen Sie mindestens einen SSH-Schlüssel aus.'; +$l['sshkey_not_allowed'] = 'Sie dürfen keine SSH-Schlüssel hinzufügen/bearbeiten'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'ISO löschen'; +$l['euiso_iso_removed'] = 'ISO-Datei entfernt : '; +$l['euiso_removal_err'] = 'Beim Entfernen der ISO-Datei ist ein Fehler aufgetreten'; +$l['euiso_del_done'] = 'Die ISO-Datei wurde entfernt'; +$l['euiso_heading'] = 'ISO Verwaltung'; +$l['euiso_no_iso'] = 'Sie haben keine ISO-Dateien. Sie können jetzt eine hinzufügen'; +$l['euiso_add_iso'] = 'ISO hinzufügen'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Dateiname'; +$l['euiso_iso_size'] = 'Heruntergeladene Größe'; +$l['euiso_iso_del'] = 'Löschen'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Gesamtgröße'; +$l['euiso_confirm_iso_del'] = 'Die Datei wird noch nicht heruntergeladen. Möchten Sie den Download abbrechen und die Datei entfernen?'; +$l['euiso_iso_del_confirm'] = 'Sind Sie sicher, dass Sie diesen Artikel löschen möchten?'; +$l['euiso_auto_del_alert'] = 'ISO-Dateien werden automatisch gelöscht nach {{eu_iso_del_hr}} Stunde ab dem Zeitpunkt, an dem die ISO-Datei hinzugefügt wurde'; +$l['euiso_dwnld_time'] = 'Downloadzeit'; +$l['euiso_downloading'] = 'Wird heruntergeladen...'; +$l['euiso_invalid_url'] = 'Ungültige URL angegeben. Verwenden Sie nur die Protokolle http, https und ftp'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Bitte geben Sie die korrekte iso-Datei an'; +$l['aiso_inv_name'] = 'Der ISO-Name enthält ungültige Zeichen'; +$l['aiso_err_size'] = 'Die Größe der ISO-Datei konnte nicht ermittelt werden'; +$l['aiso_iso_exist'] = 'ISO-Datei ist bereits vorhanden'; +$l['aiso_size_inv'] = 'ISO-Datei überschreitet die maximal zulässige ISO-Größe'; +$l['aiso_limit_err'] = 'Sie können keine weiteren ISO-Dateien herunterladen. Limit überschritten'; +$l['aiso_space_err'] = 'Sie haben nicht genug Platz für diese ISO.'; +$l['aiso_download_err'] = 'Während des Download der ISO-Datei ist ein Fehler aufgetreten'; +$l['aiso_done'] = 'Die ISO-Datei wurde erfolgreich hinzugefügt'; +$l['aiso_add_iso'] = 'ISO hinzufügen'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO Dateiname'; +$l['aiso_page_head'] = 'ISO hinzufügen'; +$l['aiso_submit_button'] = 'ISO hinzufügen'; +$l['aiso_incomplete'] = 'Es gab einen Fehler beim Herunterladen der ISO-Datei'; +$l['aiso_started'] = 'Die ISO-Datei wird heruntergeladen'; +$l['aiso_percent'] = 'Download Fortschritt'; +$l['aiso_complete'] = 'Download abgeschlossen'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'ISO hinzufügen'; +$l['dwnldiso_iso'] = 'ISO hinzufügen'; +$l['dwnldiso_done'] = 'Bitte warten Sie, die ISO-Datei wird heruntergeladen'; +$l['dwnldiso_err_down'] = 'Beim Herunterladen der ISO-Datei gab es Fehler'; +$l['dwnldiso_wait'] = 'Bitte warten Sie, die ISO-Datei wird heruntergeladen'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'Es gibt keine Tarife für diese Region!'; +$l['ihb_sel_reg'] = 'Ausgewählte Region -'; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup-Server'; +$l['bs_heading_add'] = 'Backup-Server hinzufügen'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Eindeutiger Name für den Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Gültige TLD oder IP-Adresse des Servers'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'Der Typ des Backup-Servers (SSH oder FTP)'; +$l['bs_username'] = 'Benutzername'; +$l['bs_username_exp'] = 'Benutzername des Backup-Servers'; +$l['bs_password'] = 'Passwort'; +$l['bs_password_exp'] = 'Passwort des Backup-Servers'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port des Backup-Servers'; +$l['bs_dir'] = 'Verzeichnis'; +$l['bs_dir_exp'] = 'Das Verzeichnis, in dem Backups gespeichert werden'; +$l['bs_add_server'] = 'Backup-Server hinzufügen'; +$l['bs_conf_delete'] = 'Sind Sie sicher, dass Sie diesen Backup-Server löschen möchten?'; +$l['bs_heading_edit'] = 'Backup-Server bearbeiten'; +$l['bs_no_servers'] = 'Sie haben keine Backup-Server'; +$l['bs_no_name'] = 'Bitte geben Sie einen eindeutigen Namen für den Backup-Server an'; +$l['bs_no_hostname'] = 'Bitte geben Sie den Hostnamen an'; +$l['bs_no_type'] = 'Bitte geben Sie den Typ an'; +$l['bs_no_username'] = 'Bitte geben Sie den Benutzernamen an'; +$l['bs_no_password'] = 'Bitte geben Sie das Passwort an'; +$l['bs_no_port'] = 'Bitte geben Sie den Port an'; +$l['bs_no_dir'] = 'Bitte geben Sie das Upload-Verzeichnis an'; +$l['bs_done_delete_server'] = 'Der Backup-Server wurde erfolgreich gelöscht'; +$l['bs_done_edit'] = 'Der Backup-Server wurde erfolgreich gespeichert'; +$l['bs_err_bs_not_allowed'] = 'Backup-Server sind vom Administrator deaktiviertn'; +$l['bs_err_invalid_type'] = 'Bitte geben Sie einen gültigen Backup-Servertyp ein'; +$l['bs_err_name_exists'] = 'Ein Backup-Server dieses Namens existiert bereits'; +$l['bs_err_add_backupserver'] = 'Beim Hinzufügen des Backup-Servers ist ein Fehler aufgetreten'; +$l['bs_err_backup_dir'] = 'Backup-Verzeichnis kann nicht leer sein.'; +$l['bs_err_server_used'] = 'Der Backup-Server wird verwendet von {{count}} '.VM_SHORT.'. Bitte zuerst vor dem Löschen abwählen.'; +$l['bs_err_delete_server'] = 'Beim Löschen des Backup-Servers ist ein Fehler aufgetreten'; +$l['bs_err_edit_backupserver'] = 'Beim Speichern des Backup-Servers ist ein Fehler aufgetreten'; + +// Billing related +$l['bill_err_delete'] = 'Beim Löschen der Rechnungen ist ein Fehler aufgetreten'; +$l['bill_done_delete'] = 'Die Rechnung wurde erfolgreich gelöscht'; +$l['bill_heading'] = 'Abrechnung'; +$l['bill_no_invoice'] = 'Sie haben noch keine Rechnungen!'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Rechnungsdatum'; +$l['bill_duedate'] = 'Fälligkeitsdatum'; +$l['bill_net'] = 'Betrag'; +$l['bill_item'] = 'Rechnungsposten'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unbezahlt'; +$l['bill_paid'] = 'Bezahlt'; +$l['bill_cancelled'] = 'Abgebrochen'; +$l['bill_invoice'] = 'Rechnung'; +$l['bill_pay_to'] = 'Bezahlen an'; +$l['bill_inv_to'] = 'In Rechnung gestellt an'; +$l['bill_pay_method'] = 'Bezahlverfahren'; +$l['bill_desc'] = 'Beschreibung'; +$l['bill_disc'] = 'Rabatt'; +$l['bill_subtotal'] = 'Zwischensumme'; +$l['bill_netamt'] = 'Netto-Betrag'; +$l['bill_print'] = 'Drucken'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaktionsdatum'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaktions-ID'; +$l['bill_tr_amt'] = 'Menge'; +$l['bill_invoices'] = 'Rechnungen'; +$l['bill_trans'] = 'Transaktionen'; +$l['bill_make_payment'] = 'Zahlung vornehmen'; +$l['bill_add_funds'] = 'Guthaben hinzufügen'; +$l['bill_min_max'] = 'Bitte geben Sie den Betrag an, den Sie Ihrem Konto hinzufügen möchten. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Datum'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Guthaben'; +$l['bill_charges'] = 'Gebühren in diesem Monat'; +$l['bill_unpaid_invoices'] = 'Unbezahlte Rechnungen'; +$l['bill_cur_usage'] = 'Aktuelle Verwendung'; +$l['bill_no_trans'] = 'Keine Transaktion gefunden'; +$l['bill_usage'] = 'Aktuelle Verwendung'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'Es wurden keine Abrechnungspositionen gefunden!'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Typ'; +$l['bill_starttime'] = 'Startzeit'; +$l['bill_updatetime'] = 'Updatezeit'; +$l['bill_charge'] = 'Gebühr'; +$l['bill_terminated'] = 'Beendet'; +$l['bill_gateway'] = 'Zahlungs-Gateway'; +$l['bill_no_payment_gateway'] = 'Keine Zahlungs-Gateways gefunden. Kontaktieren Sie bitte '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'Sie müssen eingeloggt sein, um eine Zahlung zu tätigen'; +$l['pay_min'] = 'Die Menge kann nicht weniger als '.$globals['billing_symbol'].''.$globals['billing_min'].' sein'; +$l['pay_max'] = 'Der Betrag darf nicht größer als '.$globals['billing_symbol'].''.$globals['billing_max'].' sein'; +$l['pay_err_ectoken'] = 'Beim Erstellen des Express-Checkout-Zahlungstokens ist ein Fehler aufgetreten'; +$l['pay_pp_missing'] = 'Einige Daten fehlten, als Sie von Paypal weitergeleitet wurden'; +$l['pay_trans_already'] = 'Diese Transaktion wurde bereits erfasst'; +$l['pay_pp_connect'] = 'Beim Verbinden mit Paypal ist ein Fehler aufgetreten. Bitte kontaktieren Sie Softaculous unter admin@softculous.com'; +$l['pay_pp_resp'] = 'Beim Lesen der Paypal-Daten ist ein Fehler aufgetreten. Kontaktieren Sie bitte '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Erfolg! Ihre Zahlung von '.$globals['billing_symbol'].'{{amt}} war erfolgreich.'; +$l['pay_payment'] = 'Zahlungsprozessor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Antwortdaten fehlen / sind ungültig'; +$l['pay_gateway_missing'] = 'Zahlungsgateway fehlt / ist ungültig'; +$l['pay_no_required_function'] = 'Einige erforderliche Funktionen fehlen im ausgewählten Zahlungsgateway. Bitte wenden Sie sich an den Administrator des Servers +'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root-Passwort für das Skript'; +$l['webuzo_spasswd_p'] = 'Geben Sie das Root-Passwort ein'; +$l['webuzo_pd'] = 'Primäre Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Stapel wählen'; +$l['webuzo_scriptlist'] = 'Wählen Sie ein Skript aus'; +$l['webuzo_submit'] = 'Installieren'; +$l['webuzo_advanced'] = 'Erweiterte Optionen'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Geben Sie Ihren Nameserver 1 an'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Geben Sie Ihren Nameserver 2 an'; +$l['webuzo_apache'] = 'Wählen Sie die Apache Version'; +$l['webuzo_mysql'] = 'Wählen Sie die MYSQL Version'; +$l['webuzo_php'] = 'Wählen Sie die PHP Version'; +$l['webuzo_os'] = 'Wählen Sie das OS'; +$l['webuzo_disabled'] = 'Die Webuzo-Installation wurde vom Administrator deaktiviert'; +$l['webuzo_support_err'] = 'Anwendung wird nicht unterstützt!'; +$l['webuzo_sshport_err'] = 'Bitte geben Sie den SSH-Port ein'; +$l['webuzo_spasswd_err'] = 'Bitte geben Sie das Root-Passwort ein'; +$l['webuzo_pd_err'] = 'Bitte geben Sie einen korrekten Domainnamen an'; +$l['webuzo_script_err'] = 'Ausgewähltes Skript nicht in der Liste. Bitte versuche es erneut.'; +$l['webuzo_stack_err'] = 'Bitte wählen Sie einen geeigneten Stapel zur Installation'; +$l['mysql_err'] = 'Bitte wählen Sie die MySQL-Version'; +$l['php_err'] = 'Bitte wählen Sie die PHP Version'; +$l['webserver_err'] = 'Bitte wählen Sie die Apache-Version'; +$l['webuzo_wmp_err'] = 'Sie haben keine richtigen Stapelversionen ausgewählt'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Bitte geben Sie die richtigen Nameserver Details ein'; +$l['webuzo_os_err'] = 'Bitte wählen Sie ein Betriebssystem, das Sie installieren möchten'; +$l['webuzo_install_data_lost_warn'] = 'Sind Sie sicher, dass Sie mit der Installation fortfahren möchten? Warnung: Alle Daten auf der '.VM_SHORT.' gehen dauerhaft verloren.'; +$l['webuzo_app_err'] = 'Fehler beim Abrufen von Webuzo-Apps'; +$l['webuzo_prim_ip_err'] = 'Kann IP nicht erhalten'; +$l['webuzo_install_start'] = 'Die Webzuo-Installation wird im Hintergrund gestartet. Nach der erfolgreichen Installation wird eine E-Mail an die angegebene E-Mail-ID gesendet'; +$l['webuzo_dns_err'] = 'Bitte füllen Sie die Nameserver Details aus'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Anwendungen Installationen'; +$l['apps_no_vs'] = 'Sie haben kein '.VM_SHORT.' mit installierten Anwendungen'; + +// listvs - Search language strings. +$l['vs_type'] = 'Typ'; +$l['vs_all'] = 'Alle'; +$l['vs_suspended'] = 'Entsperrt'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Vorlage'; +$l['vs_server_group'] = 'Servergruppe'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'Keine Domain konfiguriert. Bitte konfigurieren bevor Sie das Zertifikat installieren'; +$l['le_install_cert'] = 'Zertifikat installieren '; +$l['le_renew_cert'] = 'Zertifikat erneuern '; +$l['le_cert_logs'] = 'Zertifikatprotokolle anzeigen '; +$l['le_config'] = 'LetsEncrypt-Konfiguration '; +$l['le_crt_details'] = 'Details zum LE-Zertifikat'; +$l['le_logs'] = 'Protokolle '; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Ausgestellt durch '; +$l['le_crt_serialno'] = 'Seriennummer.'; +$l['le_crt_valid_from_time'] = 'Gültig ab'; +$l['le_crt_valid_to_time'] = 'Gültig bis'; +$l['le_next_renew'] = 'Nächstes Verlängerungsdatum'; +$l['le_crt_installed'] = 'Zertifikat installiert'; +$l['le_proceed'] = 'Starten Sie die Installation'; +$l['le_no_logs'] = 'Keine Protokolle verfügbar'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primärdomain'; +$l['le_contact_email'] = 'Kontakt E-mail '; +$l['le_key_size'] = 'Schlüsselgröße '; +$l['le_renew_days'] = 'Tage erneuern '; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Erzwingen'; +$l['le_primary_domain_exp'] = 'Primärer Domainname für das Zertifikat '; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Länge der privaten Schlüssel des Domainzertifikats '; +$l['le_renew_days_exp'] = 'Mindesttage vor Ablauf, um das Zertifikat automatisch zu erneuern (muss kleiner oder gleich 80 sein) '; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Verarbeitung des Zertifikat erzwingen'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Übersicht'; +$l['vps_graphs'] = 'Graphen'; +$l['vps_tasks_logs'] = 'Aufgaben und Protokolle '; +$l['vps_disk_usage'] = 'Festplattennutzung'; +$l['vps_statistics'] = 'Statistiken '; +$l['vps_info'] = VM_SHORT.' Informationen'; +$l['vps_install'] = 'Installieren'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Abbrechen'; +$l['modal_success'] = 'Erfolg'; +$l['modal_error'] = 'Fehler'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Die von Ihnen eingegebene Netzwerkgeschwindigkeit ist höher als die zulässige Netzwerkgeschwindigkeit '; +$l['err_upload_speed'] = 'Die von Ihnen eingegebene Upload-Geschwindigkeit ist höher als die zulässige Upload-Geschwindigkeit '; + +$l['del_apikey'] = 'Möchten Sie diese API-Anmeldeinformationen löschen?'; +$l['del_rdns'] = 'Möchten Sie diesen DNS-Eintrag löschen? '; +$l['err_cuser_dom_name'] = 'Dieser Domainname wird bereits von einem anderen Benutzer verwendet '; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; + +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/german/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/german/index_lang.php index 211a166..d52fa24 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/german/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/german/index_lang.php @@ -1,446 +1,446 @@ -Heute at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Theme Fehler';//Title -$l['init_theme_error'] = 'Konnte die Theme-Datei nicht laden - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Theme Funktions Fehler';//Title -$l['init_theme_func_error'] = 'Konnte die Theme Funktionen von &soft-1; nicht laden.'; - -$l['load_theme_settings_error'] = 'Konnte die Theme-Datei nicht laden.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Folgende Fehler wurden gefunden'; - -//Success Message Function -$l['following_message'] = 'Die folgende Nachricht wurde zurückgegeben'; - -//Major Error Function -$l['fatal_error'] = 'Schwerwiegender Fehler'; -$l['following_fatal_error'] = 'Der folgende Fehler ist aufgetreten'; - -//Message Function -$l['soft_message'] = 'Nachricht'; -$l['following_soft_message'] = 'Die folgende Nachricht wurde zurückgegeben'; - -$l['err_user_head'] = 'Fehler'; -$l['err_user'] = 'Der Benutzertyp konnte nicht ermittelt werden'; - -//Update Softaculous -$l['getting_info'] = 'Anfordern von Informationen......'; -$l['error_getting_latest'] = 'Kann keine Informationen erhalten......breche ab'; -$l['got_info'] = 'Informationen erhalten'; -$l['manual_mode'] = 'Die neue Version von Softaculous erfordert Manuelles einschreiten......breche ab'; -$l['no_updates'] = 'Die aktuelle Version ist die neueste Version......fortsetzen'; -$l['fetch_upgrade'] = 'Hole Aktualisierung......'; -$l['error_fetch_upgrade'] = 'Aktualisierungsdatei konnte nicht geholt werden......breche ab'; -$l['error_save_upgrade'] = 'Konnte Aktualisierungsdatei nicht speichern......breche ab'; -$l['got_upgrade'] = 'Aktualisierungsdatei gespeichert'; -$l['unzip_upgrade'] = 'Entpacke die Dateien......'; -$l['error_unzip_upgrade'] = 'Fehler beim Entpacken......breche ab'; -$l['unzipped_upgrade'] = 'Entpacken Erfolgreich'; -$l['running_upgrade'] = 'Führe Aktualisierung durch......'; -$l['succ_upgrade'] = 'Fertiggestellt'; -$l['error_upgrade'] = 'Die folgenden Fehler sind während der Aktualisierung aufgetreten :'; - -//MySQL Errors -$l['err_selectmy'] = 'Die MySQL-Datenbank konnte nicht ausgewählt werden.'; -$l['err_myconn'] = 'Die MySQL-Verbindung konnte nicht hergestellt werden.'; -$l['err_makequery'] = 'Die Abfrage konnte nicht gezählt werden.'; -$l['err_mynum'] = 'MySQL Fehler No'; -$l['err_myerr'] = 'MySQL Fehler'; - -//hf_theme.php -$l['welcome'] = 'Willkommen'; -$l['logout'] = 'Logout'; -$l['page_time'] = 'Seite erstellt in'; -$l['times_are'] = 'Alle Zeiten sind GMT'; -$l['time_is'] = 'Es ist jetzt'; -$l['load_start'] = 'Wird gestartet'; -$l['load_stop'] = 'Wird angehalten'; -$l['load_restart'] = 'Wird neu gestartet'; -$l['load_poweroff'] = 'Wird ausgeschaltet'; - -//The Category Language Variables -$l['dock_restart'] = 'Container neu starten'; -$l['dock_stop'] = 'Container anhalten'; -$l['dock_start'] = 'Container starten'; -$l['dock_poweroff'] = 'Container ausschalten'; -$l['dock_home'] = 'Home'; -$l['dock_settings'] = 'Einstellungen bearbeiten'; -$l['dock_help'] = 'Hilfe und Support'; -$l['dock_sync'] = 'Synchronisieren mit anderem Auto Installer'; -$l['go_home'] = 'Home'; -$l['dock_user'] = 'Benutzerprofil'; -$l['dock_password'] = 'Passwort ändern'; -$l['dock_vps'] = VM_LONG.'. anzeigen'; - -// Left Menu -$l['lm_file_mgr'] = 'Datei-Manager'; -$l['lm_res'] = 'Ressourcen'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Prozesse'; -$l['lm_service'] = 'Service'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Passwort'; -$l['lm_statusc'] = 'Status Logs'; -$l['lm_res_a'] = 'System-Warnungen'; -$l['lm_logs'] = 'Aufgaben Logs'; -$l['lm_bandwidth'] = 'Datenverkehr'; -$l['lm_accountpass'] = 'Account Passwort'; -$l['lm_changepass'] = 'Account Passwort'; -$l['lm_controlpanel'] = 'Control Panel'; -$l['lm_recipes'] = 'Rezepte'; -$l['lm_disk'] = 'Speicherplatz'; -$l['lm_ostemp'] ='OS neu installieren'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Logs'; -$l['lm_ips'] = 'IP-Adressen'; -$l['lm_hvmsettings'] = VM_SHORT.' Konfiguration'; -$l['lm_apikey'] = 'API Referenzen'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Automatische Aufgabe planen'; -$l['lm_tasks'] = 'Aufgaben'; -$l['lm_twofactauth'] = 'Sicherheit'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Server'; -$l['lm_sshkeys'] = 'SSH-Schlüssel'; -$l['lm_installapps'] = 'Anwendungen'; -$l['lm_billing'] = 'Abrechnung'; - -// Users left menu -$l['lm_vs'] = VM_SHORT.' anzeigen'; -$l['lm_addvs'] = VM_SHORT.' starten'; -$l['lm_resources'] = 'Cloud Ressourcen'; -$l['lm_users'] = 'Benutzer'; -$l['lm_usr_settings'] = 'Einstellungen'; -$l['lm_profile'] = 'Mein Profil'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'Sie sind ein Admin'; -$l['lmapps'] = 'Anwendungen'; - -// Page Jump Related : -$l['page_jump_title'] = 'Geben Sie die Seite an, zu der Sie springen möchten'; -$l['page_page'] = 'Seite'; -$l['page_of'] = 'von'; -$l['page_go'] = 'Los'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'Der '.VM_SHORT.' wurde nicht in der Datenbank gefunden'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'Das OS-Template wurde nicht gefunden'; -$l['build_no_ip'] = 'Die primäre IP fehlt für den '.VM_SHORT; -$l['build_no_os_iso'] = 'Kein OS Template oder ISO-Datei gefunden'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Sie haben in den falschen Kernel gebootet - '; -$l['correct_kernel'] = 'Bitte in den richtigen Kernel neu starten.'; -$l['kvm_module'] = 'Das Linux-KVM-Modul ist nicht geladen.'; -$l['kvm_network'] = 'Die '.$globals['bridge'].' ist nicht gestartet. Bitte führen Sie service virtnetwork start aus'; -$l['temp_exists'] = 'Die Template-Datei ist bereits vorhanden'; -$l['temp_snap_err'] = 'Das Snapshot konnte nicht erstellt werden und deswegen ist die Template-Erstellung fehlgeschlagen'; -$l['wrong_xm'] = 'Das Xen-Modul ist nicht richtig geladen.'; -$l['lxc_module'] = 'LXC ist nicht installiert.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Es gab einen Fehler bei der Erstellung des LVM für den '.VM_SHORT; -$l['xen_err_swap'] = 'Es gab einen Fehler bei der Erstellung des SWAP für den '.VM_SHORT; -$l['xen_err_tmp'] = 'Es gab einen Fehler bei der Erstellung des Mount Point'; -$l['xen_err_mount'] = 'Es gab einen Fehler beim mounten des '.VM_SHORT.' LVM'; -$l['xen_err_unmount'] = 'Es gab einen Fehler beim unmounten des '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'Es ist ein Fehler während der Laufwerk Kopie aufgetreten'; -$l['xen_err_mkfs'] = 'Es gab einen Fehler beim Formatieren des '.VM_SHORT; -$l['xen_err_mkswap'] = 'Es gab einen Fehler beim Formatieren des SWAP für diesen '.VM_SHORT; -$l['xen_err_untar'] = 'Es gab einen Fehler beim Entpacken der OS-Vorlage'; -$l['xen_err_part'] = 'Es gab einen Fehler beim Erstellen der Festplattenpartition(en)'; -$l['xen_err_kpart'] = 'Es gab einen Fehler beim Abbilden der Partition(en)'; -$l['xen_err_resizefs'] = 'Es gab einen Fehler beim Ändern der Größe des Dateisystems'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'Es gab einen Fehler bei der Erstellung des VDI der '.VM_SHORT; -$l['xcp_err_iso'] = 'Es gab einen Fehler beim Laden des ISO'; -$l['xcp_err_vif'] = 'Es gab einen Fehler beim Erstellen von VIF für den '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Konnte das Xen Tools ISO nicht finden'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'Es gab einen Fehler bei der Erstellung des LVM für den '.VM_SHORT; -$l['kvm_err_mount'] = 'Es gab einen Fehler beim mounten des '.VM_SHORT.' LVM'; -$l['kvm_err_unmount'] = 'Es gab einen Fehler beim unmounten des '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'Es gab einen Fehler beim Erstellen der Festplattenpartition(en)'; -$l['kvm_err_resizefs'] = 'Es gab einen Fehler beim Ändern der Größe des Dateisystems' ; -$l['kvm_err_part'] = 'Es gab einen Fehler beim Erstellen der Partition(en)'; -$l['kvm_err_kpart'] = 'Es gab einen Fehler beim Abbilden der Partition(en)'; -$l['kvm_err_mkswap'] = 'Es gab einen Fehler beim Formatieren des SWAP für diesen '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'Beim Extrahieren der OS-Vorlage ist ein Fehler aufgetreten'; -$l['lxc_err_unmount'] = 'Beim Aushängen des '.VM_SHORT.' LVM ist ein Fehler aufgetreten'; -$l['lxc_err_resizefs'] = 'Beim Ändern der Größe des Dateisystems ist ein Fehler aufgetreten'; -$l['lxc_network'] = 'Die '.$globals['bridge'].' ist nicht gestartet. Bitte führen Sie service virtnetwork start aus.'; -$l['lxc_err_mount'] = 'Beim Einhängen des '.VM_SHORT.' LVM ist ein Fehler aufgetreten'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'Beim Erstellen des '.VM_SHORT.' ist ein Fehler aufgetreten'; -$l['err_vncpass'] = 'Beim Festlegen des VNC-Kennworts ist ein Fehler aufgetreten'; -$l['err_set_iso'] = 'Es gab einen Fehler beim hinzufügen der ISO-Datei zum '.VM_SHORT; -$l['err_disk_create'] = 'Beim Erstellen der '.VM_SHORT.'-Festplatte ist ein Fehler aufgetreten'; -$l['err_set_boot_order'] = 'Beim Einstellen der Boot-Reihenfolge ist ein Fehler aufgetreten'; -$l['err_set_ram'] = 'Beim Einstellen des RAM ist ein Fehler aufgetreten'; -$l['err_set_pinning'] = 'Beim Einstellen der CPU-Affinität ist ein Fehler aufgetreten'; -$l['err_install_tools'] = 'Beim Installieren der Gast-Tools ist ein Fehler aufgetreten'; - -//Backup errors -$l['backup_err_mount'] = 'Es gab einen Fehler beim mounten des LVM für die temporäre Speicherung'; -$l['backup_err_lvm'] = 'Es gab einen Fehler beim Erstellen des LVM für die temporäre Speicherung'; -$l['backup_err_mkfs'] = 'Es gab einen Fehler beim Formatieren des temporären Speichers'; -$l['backup_err_mkdir'] = 'Es gab einen Fehler beim Erstellen des temporären mount point Verzeichnis'; -$l['kvm_err_tar'] = 'Es gab einen Fehler bei der Komprimierung des Archivs'; -$l['xen_err_tar'] = 'Es gab einen Fehler bei der Komprimierung des Archivs'; -$l['kvm_err_untar'] = 'Es gab einen Fehler beim Entpacken des Archivs'; -$l['backup_err_untar'] = 'Es gab einen Fehler beim Entpacken des Archivs'; -$l['err_vzdump'] = 'Es gab einen Fehler mit dem Backup-Tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Fehler beim Erstellen des Backup-Image, Rückgabecode: '; -$l['backup_err_snap_switch'] = 'Beim Zurückkehren zum Snapshot ist ein Fehler aufgetreten'; -$l['backup_err_snap_del'] = 'Beim Löschen des Snapshots ist ein Fehler aufgetreten'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID ist leer!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'Es gab einen Fehler beim Speichern der UBC Einstellungen'; -$l['openvz_err_ostemplate'] = 'Es gab einen Fehler beim Setzen des OS-Templates'; -$l['openvz_err_space'] = 'Es gab einen Fehler beim Einstellen des Festplattenspeichers'; -$l['openvz_err_inodes'] = 'Es gab einen Fehler beim Einstellen des Festplattenspeichers'; -$l['openvz_err_hostname'] = 'Es gab einen Fehler beim Setzen des Hostnamens'; -$l['openvz_err_ip'] = 'Es gab einen Fehler beim Einstellen der IP-Adresse'; -$l['openvz_err_dns'] = 'Es gab einen Fehler beim Setzen der DNS'; -$l['openvz_err_cpu'] = 'Es gab einen Fehler beim Einstellen der CPU-Einheiten'; -$l['openvz_err_cpulim'] = 'Es gab einen Fehler beim Einstellen des CPU-Limit'; -$l['openvz_err_cores'] = 'Es gab einen Fehler beim Einstellen der CPU-Kerne'; -$l['openvz_err_ioprio'] = 'Es gab einen Fehler beim Einstellen der IO-Priorität'; -$l['openvz_err_create'] = 'Es gab einen Fehler beim Erstellen des Containers'; -$l['vswap_error'] = 'Es gab einen Fehler beim Einstellen der VSwap Einstellungen'; - -// Rescue Disk Errors -$l['err_downloading'] = 'Es gab einen Fehler beim Download des Rettungssystem-Template'; -$l['err_delete_disk'] = 'Es gab einen Fehler beim Löschen des Rettungssystems'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Gesperrt'; -$l['vps_is_suspended'] = 'Dieser '.VM_SHORT.' ist Gesperrt. Sie können keine Aktionen für diesen '.VM_SHORT.' durchführen!'; -$l['suspend_reason_bw'] = 'Der '.VM_SHORT.' ist aufgrund der Überschreitung seines Datenverkehrs gesperrt. Sie können keine weiteren Aktionen für diesen '.VM_SHORT.' durchführen!'; - -$l['unknown'] = 'Unbekannt'; -$l['change_onboot'] = 'Wird geändert, wenn der '.VM_SHORT.' wieder gestartet wird.'; -$l['completed'] = 'Fertiggestellt'; -$l['vpsdisk_resize_err'] = 'Es gab einen Fehler beim Ändern der Größe der Festplatte'; -$l['mount_undetermined'] = 'Es wurde kein Linux-Partition auf dem '.VM_SHORT.' gefunden'; -$l['disk_destroy_err'] = 'Es gab einen Fehler, beim Löschen der Festplatte'; -$l['started'] = 'Gestartet'; -$l['ended'] = 'Beendet'; -$l['updated'] = 'Aktualisiert'; -$l['edit_xcperror'] = 'Es gab einen Fehler beim Versuch, den '.VM_SHORT.' zu bearbeiten'; -$l['bandwidth_threshold_mail_sub'] = 'Traffic-Limit erreicht'; -$l['bandwidth_threshold_mail_message'] = 'Hallo, - -Ihr '.VM_SHORT.' {{hostname}} hat {{vps_bandwidth_threshold}} % des Traffic-Limit erreicht - -Der '.VM_SHORT.' hat {{used_gb}} GB des Traffic von {{limit_gb}} GB genutzt. - -Viele Grüße, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' gesperrt durch Traffic Überbeanspruchung'; -$l['bandwidth_mail_message'] = 'Hallo, - -Ihr '.VM_SHORT.' `{{hostname}}` wurde gesperrt, da Sie den im Tarif enthaltenen Traffic überschritten haben. - -Ihr '.VM_SHORT.' hat {{used_gb}} GB Traffic verbraucht, aber es sind nur {{limit_gb}} GB im Tarif enthalten. - -Viele Grüße, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.'-Netzwerkgeschwindigkeit begrenzt durch Trafficüberschreitung'; -$l['speed_capped_mail_message'] = 'Hallo, - -die Netzwerkgeschwindigkeit Ihres '.VM_SHORT.' {{hostname}} wurde reduziert, da Sie das angegebene Traff-Limit überschritten haben. - -Der '.VM_SHORT.' hat {{used_gb}} GB des zugeteilten Limits von {{limit_gb}} GB verbraucht. - -Viele Grüße, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = 'Die '.VM_SHORT.'-Netzwerkgeschwindigkeit wurde wiederhergestellt'; -$l['removed_speed_capped_mail_message'] = 'Hallo, - -die Netzwerkgeschwindigkeit Ihres '.VM_SHORT.' {{hostname}} wurde wiederhergestellt. - -Der '.VM_SHORT.' hat {{used_gb}} GB des zugeteilten Limits von {{limit_gb}} GB verbraucht. - -Viele Grüße, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hallo, - -Ihr '.VM_SHORT.' {{vpsid}} wurde {{action}} nach der Zeit, die Sie eingestellt haben ({{time}}) -'; - -$l['self_shutdown_start'] = 'Gestartet'; -$l['self_shutdown_stop'] = 'Heruntergefahren'; -$l['self_shutdown_restart'] = 'Neu gestartet'; -$l['self_shutdown_poweroff'] = 'Ausgeschaltet'; - -$l['self_shutdown_start_failed'] = 'Konnte nicht gestartet werden'; -$l['self_shutdown_stop_failed'] = 'Konnte nicht heruntergefahren werden'; -$l['self_shutdown_restart_failed'] = 'Konnte nicht neu gestartet werden'; -$l['self_shutdown_poweroff_failed'] = 'Konnte nicht ausgeschaltet werden'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Es war nicht möglich, die Proxmox api anzurufen. Bitte geben Sie die Proxmox-Daten unter Konfiguration -> Slave-Einstellungen ein.'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Reduzierte Download-Geschwindigkeit'; -$l['exp_speed_cap_down'] = 'Die Download-Geschwindigkeit, nachdem der Traffic für einen '.VM_SHORT.' überschritten wurde. 0 oder leerer Wert bedeutet keine Reduzierung der Geschwindigkeit.'; -$l['speed_cap_up']= 'Reduzierte Upload-Geschwindigkeit '; -$l['exp_speed_cap_up'] = 'Die Upload-Geschwindigkeit, nachdem der Traffic für einen '.VM_SHORT.' überschritten wurde. 0 oder leerer Wert bedeutet keine Reduzierung der Geschwindigkeit.'; - -// ISO Related -$l['admin_iso'] = 'Admin ISO'; -$l['eu_iso'] = 'Endbenutzer ISO'; - -$l['enable_billing'] = 'Die Rechnungseinstellung ist deaktiviert. Bitte aktivieren Sie das zuerst unter den Abrechnungseinstellungen.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portale/CMS'; -$l['cat_php_galleries'] = 'Bildergalerien'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Kalender'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Umfragen'; -$l['cat_php_projectman'] = 'Projektmanagement'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Gästebücher'; -$l['cat_php_customersupport'] = 'Kundendienst'; -$l['cat_php_others'] = 'Andere'; -$l['cat_php_music'] = 'Musik'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Lehrreich'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'Dokumentenverwaltung'; - -$l['inv_winpass_chars'] = 'Zulässige Sonderzeichen für das Windows Admin-Passwort sind :'; -$l['invalid_transaction'] = 'Transaktion fehlgeschlagen / ungültig. Bitte versuche es erneut'; -$l['success'] = 'Erfolgreich'; -$l['failed'] = 'Fehlgeschlagen'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Heute at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Theme Fehler';//Title +$l['init_theme_error'] = 'Konnte die Theme-Datei nicht laden - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Theme Funktions Fehler';//Title +$l['init_theme_func_error'] = 'Konnte die Theme Funktionen von &soft-1; nicht laden.'; + +$l['load_theme_settings_error'] = 'Konnte die Theme-Datei nicht laden.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Folgende Fehler wurden gefunden'; + +//Success Message Function +$l['following_message'] = 'Die folgende Nachricht wurde zurückgegeben'; + +//Major Error Function +$l['fatal_error'] = 'Schwerwiegender Fehler'; +$l['following_fatal_error'] = 'Der folgende Fehler ist aufgetreten'; + +//Message Function +$l['soft_message'] = 'Nachricht'; +$l['following_soft_message'] = 'Die folgende Nachricht wurde zurückgegeben'; + +$l['err_user_head'] = 'Fehler'; +$l['err_user'] = 'Der Benutzertyp konnte nicht ermittelt werden'; + +//Update Softaculous +$l['getting_info'] = 'Anfordern von Informationen......'; +$l['error_getting_latest'] = 'Kann keine Informationen erhalten......breche ab'; +$l['got_info'] = 'Informationen erhalten'; +$l['manual_mode'] = 'Die neue Version von Softaculous erfordert Manuelles einschreiten......breche ab'; +$l['no_updates'] = 'Die aktuelle Version ist die neueste Version......fortsetzen'; +$l['fetch_upgrade'] = 'Hole Aktualisierung......'; +$l['error_fetch_upgrade'] = 'Aktualisierungsdatei konnte nicht geholt werden......breche ab'; +$l['error_save_upgrade'] = 'Konnte Aktualisierungsdatei nicht speichern......breche ab'; +$l['got_upgrade'] = 'Aktualisierungsdatei gespeichert'; +$l['unzip_upgrade'] = 'Entpacke die Dateien......'; +$l['error_unzip_upgrade'] = 'Fehler beim Entpacken......breche ab'; +$l['unzipped_upgrade'] = 'Entpacken Erfolgreich'; +$l['running_upgrade'] = 'Führe Aktualisierung durch......'; +$l['succ_upgrade'] = 'Fertiggestellt'; +$l['error_upgrade'] = 'Die folgenden Fehler sind während der Aktualisierung aufgetreten :'; + +//MySQL Errors +$l['err_selectmy'] = 'Die MySQL-Datenbank konnte nicht ausgewählt werden.'; +$l['err_myconn'] = 'Die MySQL-Verbindung konnte nicht hergestellt werden.'; +$l['err_makequery'] = 'Die Abfrage konnte nicht gezählt werden.'; +$l['err_mynum'] = 'MySQL Fehler No'; +$l['err_myerr'] = 'MySQL Fehler'; + +//hf_theme.php +$l['welcome'] = 'Willkommen'; +$l['logout'] = 'Logout'; +$l['page_time'] = 'Seite erstellt in'; +$l['times_are'] = 'Alle Zeiten sind GMT'; +$l['time_is'] = 'Es ist jetzt'; +$l['load_start'] = 'Wird gestartet'; +$l['load_stop'] = 'Wird angehalten'; +$l['load_restart'] = 'Wird neu gestartet'; +$l['load_poweroff'] = 'Wird ausgeschaltet'; + +//The Category Language Variables +$l['dock_restart'] = 'Container neu starten'; +$l['dock_stop'] = 'Container anhalten'; +$l['dock_start'] = 'Container starten'; +$l['dock_poweroff'] = 'Container ausschalten'; +$l['dock_home'] = 'Home'; +$l['dock_settings'] = 'Einstellungen bearbeiten'; +$l['dock_help'] = 'Hilfe und Support'; +$l['dock_sync'] = 'Synchronisieren mit anderem Auto Installer'; +$l['go_home'] = 'Home'; +$l['dock_user'] = 'Benutzerprofil'; +$l['dock_password'] = 'Passwort ändern'; +$l['dock_vps'] = VM_LONG.'. anzeigen'; + +// Left Menu +$l['lm_file_mgr'] = 'Datei-Manager'; +$l['lm_res'] = 'Ressourcen'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Prozesse'; +$l['lm_service'] = 'Service'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Passwort'; +$l['lm_statusc'] = 'Status Logs'; +$l['lm_res_a'] = 'System-Warnungen'; +$l['lm_logs'] = 'Aufgaben Logs'; +$l['lm_bandwidth'] = 'Datenverkehr'; +$l['lm_accountpass'] = 'Account Passwort'; +$l['lm_changepass'] = 'Account Passwort'; +$l['lm_controlpanel'] = 'Control Panel'; +$l['lm_recipes'] = 'Rezepte'; +$l['lm_disk'] = 'Speicherplatz'; +$l['lm_ostemp'] ='OS neu installieren'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Logs'; +$l['lm_ips'] = 'IP-Adressen'; +$l['lm_hvmsettings'] = VM_SHORT.' Konfiguration'; +$l['lm_apikey'] = 'API Referenzen'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Automatische Aufgabe planen'; +$l['lm_tasks'] = 'Aufgaben'; +$l['lm_twofactauth'] = 'Sicherheit'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Server'; +$l['lm_sshkeys'] = 'SSH-Schlüssel'; +$l['lm_installapps'] = 'Anwendungen'; +$l['lm_billing'] = 'Abrechnung'; + +// Users left menu +$l['lm_vs'] = VM_SHORT.' anzeigen'; +$l['lm_addvs'] = VM_SHORT.' starten'; +$l['lm_resources'] = 'Cloud Ressourcen'; +$l['lm_users'] = 'Benutzer'; +$l['lm_usr_settings'] = 'Einstellungen'; +$l['lm_profile'] = 'Mein Profil'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'Sie sind ein Admin'; +$l['lmapps'] = 'Anwendungen'; + +// Page Jump Related : +$l['page_jump_title'] = 'Geben Sie die Seite an, zu der Sie springen möchten'; +$l['page_page'] = 'Seite'; +$l['page_of'] = 'von'; +$l['page_go'] = 'Los'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'Der '.VM_SHORT.' wurde nicht in der Datenbank gefunden'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'Das OS-Template wurde nicht gefunden'; +$l['build_no_ip'] = 'Die primäre IP fehlt für den '.VM_SHORT; +$l['build_no_os_iso'] = 'Kein OS Template oder ISO-Datei gefunden'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Sie haben in den falschen Kernel gebootet - '; +$l['correct_kernel'] = 'Bitte in den richtigen Kernel neu starten.'; +$l['kvm_module'] = 'Das Linux-KVM-Modul ist nicht geladen.'; +$l['kvm_network'] = 'Die '.$globals['bridge'].' ist nicht gestartet. Bitte führen Sie service virtnetwork start aus'; +$l['temp_exists'] = 'Die Template-Datei ist bereits vorhanden'; +$l['temp_snap_err'] = 'Das Snapshot konnte nicht erstellt werden und deswegen ist die Template-Erstellung fehlgeschlagen'; +$l['wrong_xm'] = 'Das Xen-Modul ist nicht richtig geladen.'; +$l['lxc_module'] = 'LXC ist nicht installiert.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Es gab einen Fehler bei der Erstellung des LVM für den '.VM_SHORT; +$l['xen_err_swap'] = 'Es gab einen Fehler bei der Erstellung des SWAP für den '.VM_SHORT; +$l['xen_err_tmp'] = 'Es gab einen Fehler bei der Erstellung des Mount Point'; +$l['xen_err_mount'] = 'Es gab einen Fehler beim mounten des '.VM_SHORT.' LVM'; +$l['xen_err_unmount'] = 'Es gab einen Fehler beim unmounten des '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'Es ist ein Fehler während der Laufwerk Kopie aufgetreten'; +$l['xen_err_mkfs'] = 'Es gab einen Fehler beim Formatieren des '.VM_SHORT; +$l['xen_err_mkswap'] = 'Es gab einen Fehler beim Formatieren des SWAP für diesen '.VM_SHORT; +$l['xen_err_untar'] = 'Es gab einen Fehler beim Entpacken der OS-Vorlage'; +$l['xen_err_part'] = 'Es gab einen Fehler beim Erstellen der Festplattenpartition(en)'; +$l['xen_err_kpart'] = 'Es gab einen Fehler beim Abbilden der Partition(en)'; +$l['xen_err_resizefs'] = 'Es gab einen Fehler beim Ändern der Größe des Dateisystems'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'Es gab einen Fehler bei der Erstellung des VDI der '.VM_SHORT; +$l['xcp_err_iso'] = 'Es gab einen Fehler beim Laden des ISO'; +$l['xcp_err_vif'] = 'Es gab einen Fehler beim Erstellen von VIF für den '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Konnte das Xen Tools ISO nicht finden'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'Es gab einen Fehler bei der Erstellung des LVM für den '.VM_SHORT; +$l['kvm_err_mount'] = 'Es gab einen Fehler beim mounten des '.VM_SHORT.' LVM'; +$l['kvm_err_unmount'] = 'Es gab einen Fehler beim unmounten des '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'Es gab einen Fehler beim Erstellen der Festplattenpartition(en)'; +$l['kvm_err_resizefs'] = 'Es gab einen Fehler beim Ändern der Größe des Dateisystems' ; +$l['kvm_err_part'] = 'Es gab einen Fehler beim Erstellen der Partition(en)'; +$l['kvm_err_kpart'] = 'Es gab einen Fehler beim Abbilden der Partition(en)'; +$l['kvm_err_mkswap'] = 'Es gab einen Fehler beim Formatieren des SWAP für diesen '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'Beim Extrahieren der OS-Vorlage ist ein Fehler aufgetreten'; +$l['lxc_err_unmount'] = 'Beim Aushängen des '.VM_SHORT.' LVM ist ein Fehler aufgetreten'; +$l['lxc_err_resizefs'] = 'Beim Ändern der Größe des Dateisystems ist ein Fehler aufgetreten'; +$l['lxc_network'] = 'Die '.$globals['bridge'].' ist nicht gestartet. Bitte führen Sie service virtnetwork start aus.'; +$l['lxc_err_mount'] = 'Beim Einhängen des '.VM_SHORT.' LVM ist ein Fehler aufgetreten'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'Beim Erstellen des '.VM_SHORT.' ist ein Fehler aufgetreten'; +$l['err_vncpass'] = 'Beim Festlegen des VNC-Kennworts ist ein Fehler aufgetreten'; +$l['err_set_iso'] = 'Es gab einen Fehler beim hinzufügen der ISO-Datei zum '.VM_SHORT; +$l['err_disk_create'] = 'Beim Erstellen der '.VM_SHORT.'-Festplatte ist ein Fehler aufgetreten'; +$l['err_set_boot_order'] = 'Beim Einstellen der Boot-Reihenfolge ist ein Fehler aufgetreten'; +$l['err_set_ram'] = 'Beim Einstellen des RAM ist ein Fehler aufgetreten'; +$l['err_set_pinning'] = 'Beim Einstellen der CPU-Affinität ist ein Fehler aufgetreten'; +$l['err_install_tools'] = 'Beim Installieren der Gast-Tools ist ein Fehler aufgetreten'; + +//Backup errors +$l['backup_err_mount'] = 'Es gab einen Fehler beim mounten des LVM für die temporäre Speicherung'; +$l['backup_err_lvm'] = 'Es gab einen Fehler beim Erstellen des LVM für die temporäre Speicherung'; +$l['backup_err_mkfs'] = 'Es gab einen Fehler beim Formatieren des temporären Speichers'; +$l['backup_err_mkdir'] = 'Es gab einen Fehler beim Erstellen des temporären mount point Verzeichnis'; +$l['kvm_err_tar'] = 'Es gab einen Fehler bei der Komprimierung des Archivs'; +$l['xen_err_tar'] = 'Es gab einen Fehler bei der Komprimierung des Archivs'; +$l['kvm_err_untar'] = 'Es gab einen Fehler beim Entpacken des Archivs'; +$l['backup_err_untar'] = 'Es gab einen Fehler beim Entpacken des Archivs'; +$l['err_vzdump'] = 'Es gab einen Fehler mit dem Backup-Tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Fehler beim Erstellen des Backup-Image, Rückgabecode: '; +$l['backup_err_snap_switch'] = 'Beim Zurückkehren zum Snapshot ist ein Fehler aufgetreten'; +$l['backup_err_snap_del'] = 'Beim Löschen des Snapshots ist ein Fehler aufgetreten'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID ist leer!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'Es gab einen Fehler beim Speichern der UBC Einstellungen'; +$l['openvz_err_ostemplate'] = 'Es gab einen Fehler beim Setzen des OS-Templates'; +$l['openvz_err_space'] = 'Es gab einen Fehler beim Einstellen des Festplattenspeichers'; +$l['openvz_err_inodes'] = 'Es gab einen Fehler beim Einstellen des Festplattenspeichers'; +$l['openvz_err_hostname'] = 'Es gab einen Fehler beim Setzen des Hostnamens'; +$l['openvz_err_ip'] = 'Es gab einen Fehler beim Einstellen der IP-Adresse'; +$l['openvz_err_dns'] = 'Es gab einen Fehler beim Setzen der DNS'; +$l['openvz_err_cpu'] = 'Es gab einen Fehler beim Einstellen der CPU-Einheiten'; +$l['openvz_err_cpulim'] = 'Es gab einen Fehler beim Einstellen des CPU-Limit'; +$l['openvz_err_cores'] = 'Es gab einen Fehler beim Einstellen der CPU-Kerne'; +$l['openvz_err_ioprio'] = 'Es gab einen Fehler beim Einstellen der IO-Priorität'; +$l['openvz_err_create'] = 'Es gab einen Fehler beim Erstellen des Containers'; +$l['vswap_error'] = 'Es gab einen Fehler beim Einstellen der VSwap Einstellungen'; + +// Rescue Disk Errors +$l['err_downloading'] = 'Es gab einen Fehler beim Download des Rettungssystem-Template'; +$l['err_delete_disk'] = 'Es gab einen Fehler beim Löschen des Rettungssystems'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Gesperrt'; +$l['vps_is_suspended'] = 'Dieser '.VM_SHORT.' ist Gesperrt. Sie können keine Aktionen für diesen '.VM_SHORT.' durchführen!'; +$l['suspend_reason_bw'] = 'Der '.VM_SHORT.' ist aufgrund der Überschreitung seines Datenverkehrs gesperrt. Sie können keine weiteren Aktionen für diesen '.VM_SHORT.' durchführen!'; + +$l['unknown'] = 'Unbekannt'; +$l['change_onboot'] = 'Wird geändert, wenn der '.VM_SHORT.' wieder gestartet wird.'; +$l['completed'] = 'Fertiggestellt'; +$l['vpsdisk_resize_err'] = 'Es gab einen Fehler beim Ändern der Größe der Festplatte'; +$l['mount_undetermined'] = 'Es wurde kein Linux-Partition auf dem '.VM_SHORT.' gefunden'; +$l['disk_destroy_err'] = 'Es gab einen Fehler, beim Löschen der Festplatte'; +$l['started'] = 'Gestartet'; +$l['ended'] = 'Beendet'; +$l['updated'] = 'Aktualisiert'; +$l['edit_xcperror'] = 'Es gab einen Fehler beim Versuch, den '.VM_SHORT.' zu bearbeiten'; +$l['bandwidth_threshold_mail_sub'] = 'Traffic-Limit erreicht'; +$l['bandwidth_threshold_mail_message'] = 'Hallo, + +Ihr '.VM_SHORT.' {{hostname}} hat {{vps_bandwidth_threshold}} % des Traffic-Limit erreicht + +Der '.VM_SHORT.' hat {{used_gb}} GB des Traffic von {{limit_gb}} GB genutzt. + +Viele Grüße, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' gesperrt durch Traffic Überbeanspruchung'; +$l['bandwidth_mail_message'] = 'Hallo, + +Ihr '.VM_SHORT.' `{{hostname}}` wurde gesperrt, da Sie den im Tarif enthaltenen Traffic überschritten haben. + +Ihr '.VM_SHORT.' hat {{used_gb}} GB Traffic verbraucht, aber es sind nur {{limit_gb}} GB im Tarif enthalten. + +Viele Grüße, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.'-Netzwerkgeschwindigkeit begrenzt durch Trafficüberschreitung'; +$l['speed_capped_mail_message'] = 'Hallo, + +die Netzwerkgeschwindigkeit Ihres '.VM_SHORT.' {{hostname}} wurde reduziert, da Sie das angegebene Traff-Limit überschritten haben. + +Der '.VM_SHORT.' hat {{used_gb}} GB des zugeteilten Limits von {{limit_gb}} GB verbraucht. + +Viele Grüße, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = 'Die '.VM_SHORT.'-Netzwerkgeschwindigkeit wurde wiederhergestellt'; +$l['removed_speed_capped_mail_message'] = 'Hallo, + +die Netzwerkgeschwindigkeit Ihres '.VM_SHORT.' {{hostname}} wurde wiederhergestellt. + +Der '.VM_SHORT.' hat {{used_gb}} GB des zugeteilten Limits von {{limit_gb}} GB verbraucht. + +Viele Grüße, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hallo, + +Ihr '.VM_SHORT.' {{vpsid}} wurde {{action}} nach der Zeit, die Sie eingestellt haben ({{time}}) +'; + +$l['self_shutdown_start'] = 'Gestartet'; +$l['self_shutdown_stop'] = 'Heruntergefahren'; +$l['self_shutdown_restart'] = 'Neu gestartet'; +$l['self_shutdown_poweroff'] = 'Ausgeschaltet'; + +$l['self_shutdown_start_failed'] = 'Konnte nicht gestartet werden'; +$l['self_shutdown_stop_failed'] = 'Konnte nicht heruntergefahren werden'; +$l['self_shutdown_restart_failed'] = 'Konnte nicht neu gestartet werden'; +$l['self_shutdown_poweroff_failed'] = 'Konnte nicht ausgeschaltet werden'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Es war nicht möglich, die Proxmox api anzurufen. Bitte geben Sie die Proxmox-Daten unter Konfiguration -> Slave-Einstellungen ein.'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Reduzierte Download-Geschwindigkeit'; +$l['exp_speed_cap_down'] = 'Die Download-Geschwindigkeit, nachdem der Traffic für einen '.VM_SHORT.' überschritten wurde. 0 oder leerer Wert bedeutet keine Reduzierung der Geschwindigkeit.'; +$l['speed_cap_up']= 'Reduzierte Upload-Geschwindigkeit '; +$l['exp_speed_cap_up'] = 'Die Upload-Geschwindigkeit, nachdem der Traffic für einen '.VM_SHORT.' überschritten wurde. 0 oder leerer Wert bedeutet keine Reduzierung der Geschwindigkeit.'; + +// ISO Related +$l['admin_iso'] = 'Admin ISO'; +$l['eu_iso'] = 'Endbenutzer ISO'; + +$l['enable_billing'] = 'Die Rechnungseinstellung ist deaktiviert. Bitte aktivieren Sie das zuerst unter den Abrechnungseinstellungen.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portale/CMS'; +$l['cat_php_galleries'] = 'Bildergalerien'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Kalender'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Umfragen'; +$l['cat_php_projectman'] = 'Projektmanagement'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Gästebücher'; +$l['cat_php_customersupport'] = 'Kundendienst'; +$l['cat_php_others'] = 'Andere'; +$l['cat_php_music'] = 'Musik'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Lehrreich'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'Dokumentenverwaltung'; + +$l['inv_winpass_chars'] = 'Zulässige Sonderzeichen für das Windows Admin-Passwort sind :'; +$l['invalid_transaction'] = 'Transaktion fehlgeschlagen / ungültig. Bitte versuche es erneut'; +$l['success'] = 'Erfolgreich'; +$l['failed'] = 'Fehlgeschlagen'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/polish/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/polish/enduser_lang.php index d09e4e9..e0f6f6c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/polish/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/polish/enduser_lang.php @@ -1,2106 +1,2106 @@ - Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; -$l['twofactauth_secret_key'] = 'Secret Key : '; -$l['twofactauth_code_input'] = 'Confirmation code'; -$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; -$l['twofactauth_submit'] = 'Submit'; -$l['twofactauth_select_pref'] = 'Select Preference : '; -$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; -$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; -$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; -$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; -$l['twofactauth_email_passcode'] = 'Email Code'; -$l['twofactauth_none'] = 'None (Not Recommended !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; -$l['twofactauth_no_passcode'] = 'Please specify the OTP'; -$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Reset Key'; -$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; -$l['twofactauth_otp_mail_body'] = 'Hi, - -A login request was submitted for your account at : -{{site_domain}} - -Please use the following One Time password (OTP) to login : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; -$l['twofactauth_passcode_mail_body'] = 'Hi, - -The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; -$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; -$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; -$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'You did not enter the Email ID'; -$l['adu_no_user_password'] = 'You did not enter the Password'; -$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Add User'; -$l['adu_done'] = 'User has been added'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Password'; -$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Nie podałeś nowego hasła.'; -$l['cpas_no_conf'] = 'Powtórzenie hasła nie zostało podane.'; -$l['cpas_no_match'] = 'Podane hasła się nie zgadzają'; -$l['cpas_err_changing'] = 'Wystąpił problem ze zmianą hasła..'; -$l['cpas_submit_button'] = 'Zmień hasło'; -$l['cpas_new_pass'] = 'Nowe hasło'; -$l['cpas_old_pass'] = 'Stare hasłod'; -$l['cpas_retype_pass'] = 'Powtórz nowe hasło'; -$l['cpas_change_note'] = 'Zmień hasło użytkownika root'; -$l['cpas_change_final'] = 'Hasło zostało zmienione'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Zmienianie hasła użytkownika root...'; -$l['cpas_strength_indicator'] = 'Strength Indicator'; -$l['cpas_bad'] = 'Bad'; -$l['cpas_good'] = 'Good'; -$l['cpas_strong'] = 'Strong'; -$l['cpas_short'] = 'Short'; -$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['cpas_pass_match'] = 'Passwords do not match'; -$l['cpas_disabled'] = 'Change Password is disabled by Admin'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Resources'; -$l['cr_resource_type'] = 'Resource Type'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Used'; -$l['cr_left'] = 'Available'; -$l['cr_unlimited'] = 'Unlimited'; -$l['cr_num_vs'] = 'Number of VMs'; -$l['cr_num_users'] = 'Number of Users'; -$l['cr_num_space'] = 'Disk Space'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Bandwidth'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Information'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Proszę podać hostname do zmiany.'; -$l['hn_new_host'] = 'Nowy Host Name'; -$l['hn_submit_button'] = 'Zmień Hostname'; -$l['hn_err_changing'] = 'Wystąpił problem ze zmianą hostname.'; -$l['hn_host_final'] = 'Zmiana hostname została zakończona'; -$l['hn_invalid_hostname'] = 'Podany hostname jest nieprawidłowy'; -$l['hn_change_onboot'] = 'Nowy hostname zostanie ustawiony po restarcie serwera'; -$l['hn_current_hostname'] = 'Bieżący Hostname'; -$l['hn_change_notify'] = 'Zmieniam hostname...'; -$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Nie wybrano IP'; -$l['ips_ip_not_exists'] = 'IP się nie zgadzają'; -$l['ips_header'] = ' IP'; -$l['ips_ipinfo'] = 'Adresy IP'; -$l['ips_reorderips'] = 'Ustaw główny adres IP'; -$l['ips_done'] = 'Ustawienia adresów IP zostały zapisane.'; -$l['ips_change_onboot'] = 'Ustawienia adresów IP zostaną zapisane po restarcie serwera'; -$l['ips_primary_ip'] = 'Wybierz główny adres IP '; -$l['ips_ipv6_ips_list'] = 'Adresy IPV6'; -$l['ips_ipv6_empty'] = 'Brak adresów IPV6 '; -$l['ips_change_notify'] = 'Zmiana ustawień adresów IP...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'Informacje o procesorze CPU'; -$l['mon_totalcpu'] = 'Limit CPU :'; -$l['mon_cpuutilised'] = 'Zużycie : '; -$l['mon_poweredby'] = 'Powered by : '; -$l['mon_graphheader'] = 'Zużycie CPU '; -$l['mon_trademarks'] = 'Loga i znaki towarowe podane na stornie są własnością producentów sprzetu.'; -$l['mon_not_supported'] = 'Opcja nie jest w chwili obecnej dostępna.'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Network'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Network Info'; -$l['mon_ntw_down_spd'] = 'Average Download Speed'; -$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_cpu_usage'] = 'CPU Usage'; -$l['mon_inode_usage'] = 'Inode Usage'; -$l['mon_ram_usage'] = 'RAM Usage'; -$l['mon_disk_usage'] = 'Disk Usage'; -$l['mon_down_speed'] = 'Download Speed'; -$l['mon_up_speed'] = 'Upload Speed'; -$l['mon_total_speed'] = 'Total Speed'; -$l['mon_cpu_hist'] = 'CPU Usage History'; -$l['mon_mem_hist'] = 'Memory Usage History'; -$l['mon_storage'] = 'Storage Used'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Inodes Used'; -$l['mon_net_speed'] = 'Network Speed'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Nie wybrałeś systemu operacyjnego'; -$l['os_invalid_os'] = 'Wybrany system operacyjny nie istnieje'; -$l['os_no_new'] = 'Nie podano nowego hasła.'; -$l['os_no_conf'] = 'Nie podano powtórzenia nowego hasła.'; -$l['os_no_match'] = 'Podane hasła się nie zgadzają'; -$l['os_error_reins'] = 'Wystąpił błąd podczas reinstalacji systemu operacyjnego'; -$l['os_err_changing'] = 'Wystąpił błąd podczas zmiany hasla'; -$l['os_err_log_osreinstall'] = 'Wykorzystałeś limit instalacji serwera. Prosimy o kontakt z Administratorem'; -$l['os_reins_os'] = 'Reinstalacja systemu operacyjnego'; -$l['os_os_reinstall'] = 'Reinstall'; -$l['os_new_pass'] = 'Nowe hasło'; -$l['os_retype_pass'] = 'Powtórz hasło'; -$l['os_genram_psswd'] = 'Make another random password'; -$l['os_done'] = 'The OS reinstall process has been started in the background'; -$l['os_reins_notify'] = 'Reinstalacja systemu operacyjnego...'; -$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'Bad'; -$l['os_good'] = 'Good'; -$l['os_strong'] = 'Strong'; -$l['os_short'] = 'Short'; -$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['os_pass_match'] = 'Passwords do not match'; -$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; -$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; -$l['os_no_os'] = 'No OS(s) available for reinstall'; -$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Informacje o VNC'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC Port'; -$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; -$l['vnc_notice'] = 'VNC wymaga obsługi JAVA w Twojej przeglądarce internetowej'; -$l['vnc_not_enabled'] = 'VNC nie jest dostępne'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Nie podałeś nowego hasła.'; -$l['vncpas_no_conf'] = 'Nie podałeś powtórzenia hasła.'; -$l['vncpas_no_match'] = 'Hasła się nie zgadzają'; -$l['vncpas_err_changing'] = 'Wystąpił problem ze zmianą hasła'; -$l['vncpas_no_nonalphanumeric'] = 'Znaki niealfanumeryczne nie są dozwolone'; -$l['vncpas_submit_button'] = 'Zmiana hasła do VNC'; -$l['vncpas_new_pass'] = 'Nowe hasło'; -$l['vncpas_old_pass'] = 'Stare hasło'; -$l['vncpas_retype_pass'] = 'Powtórz nowe hasło'; -$l['vncpas_change_note'] = 'Zmień hasło do VNC'; -$l['vncpas_change_final'] = 'Hasło do VNC zostało zmienione.'; -$l['vncpas_change_notify'] = 'Zmieniam hasło do VNC...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Nie podałeś nowego hasła'; -$l['up_no_conf'] = 'Nie powtórzyłeś nowego hasła '; -$l['up_no_match'] = 'Podane hasła się nie zgadzają'; -$l['up_err_changing'] = 'Wystąpił nieoczekiwany błąd podczas zmiany hasła.'; -$l['up_new_pass'] = 'Nowe hasło'; -$l['up_old_pass'] = 'Stare hasło'; -$l['up_retype_pass'] = 'Powtórz nowe hasło'; -$l['up_page_head'] = 'Zmień hasło'; -$l['up_change_final'] = 'Hasło zostało zmienione'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Change Profile'; -$l['pr_no_fname'] = 'Nie podałeś swojego imienia'; -$l['pr_no_lname'] = 'Nie podałeś swojego nazwiska'; -$l['pr_firstname'] = 'Imię'; -$l['pr_lastname'] = 'Nazwisko'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Zmiany zostały zapisane'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Start'; -$l['ser_sstop'] = ' Stop'; -$l['ser_srestart'] = 'Restart'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'Włączony'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autostart'; -$l['ser_select'] = 'Wybierz'; -$l['ser_vps_is_off'] = 'Serwer '.VM_SHORT.' jest wyłączony !'; -$l['ser_no_feature'] = 'Opcja nie jest dostępna !'; -$l['ser_notice_start'] = 'Wybrane usługi zostały uruchomione..'; -$l['ser_notice_stop'] = 'Wybrane usługi zostały zatrzymane..'; -$l['ser_notice_restart'] = 'Wybrane usługi zostały zrestartowane..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'List of Processes'; -$l['proc_usr'] = 'Użytkownik'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Komenda'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'czas'; -$l['proc_select'] = 'wybierz'; -$l['proc_pstart'] = 'start'; -$l['proc_pkill'] = 'Zabij'; -$l['proc_prefresh'] = 'Autoodświeżanie'; -$l['proc_vps_is_off'] = VM_SHORT.' jest wyłączony !'; -$l['proc_no_feature'] = 'Opcja nie jest dostępna !'; -$l['proc_notice_pkill'] = 'Zatrzymywanie wybranych procesów ...:'; -$l['proc_with_selected'] = 'With Selected :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logi'; -$l['log_date'] = 'Data'; -$l['log_task'] = 'Zadanie'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Successful'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Manage IPv6 Subnets'; -$l['mng_done'] = 'IPs were saved successfully'; -$l['mng_add_ipv6'] = 'Add an Ipv6 address'; -$l['mng_add_ip_button'] = 'Add IP'; -$l['mng_back_button'] = 'Back'; -$l['mng_save_button'] = 'Save'; -$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; -$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; -$l['mng_ipv6_address'] = 'IPv6 Address'; -$l['mng_ipv6_delete'] = 'Delete'; -$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; -$l['mng_edit_subnet'] = 'Edit'; -$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Manage Zone'; -$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; -$l['mz_add_pdns'] = 'Add PDNS Server'; -$l['mz_dns_mgmt'] = 'DNS Management'; -$l['mz_zone_add_done'] = 'The Zone has been added successfully'; -$l['mz_add_zone'] = 'Add Zone Record'; -$l['mz_zone_name'] = 'Zone Name'; -$l['mz_pdns_zones'] = 'View Zones'; -$l['mz_manage_zone'] = 'Manage'; -$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; -$l['mz_add_done'] = 'The record has been added successfully'; -$l['mz_edit_done'] = 'The record has been edited successfully'; -$l['mz_del_done'] = 'The record has been deleted successfully'; -$l['mz_priority'] = 'Priority'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Points to'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Server Name'; -$l['mz_submit_button'] = 'Add Record'; -$l['mz_edit_button'] = 'Edit Record'; -$l['mz_no_domains'] = 'There are no zones on record'; -$l['mz_err_addzone'] = 'There was an error adding the zone'; -$l['mz_inv_name'] = 'Invalid hostname specified'; -$l['mz_inv_ip'] = 'Invalid IP Address specified'; -$l['mz_inv_tld'] = 'Invalid top level domain specified'; -$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; -$l['mz_inv_int'] = 'Invalid integer specified'; -$l['mz_err_add'] = 'There was an error while adding the record'; -$l['mz_err_del'] = 'There was an error while deleting the record'; -$l['mz_err_edit'] = 'There was an error while editing the record'; -$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; -$l['mz_rec_exists'] = 'The record already exists'; -$l['mz_records_limit'] = 'The limit for adding records has been reached'; -$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; -$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; -$l['pdns_page_head'] = 'DNS Management'; -$l['pdns_add_done'] = 'The Zone has been added successfully'; -$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; -$l['pdns_add_zone'] = 'Add Zone'; -$l['pdns_zone_name'] = 'Zone Name'; -$l['pdns_manage_zone'] = 'Manage'; -$l['pdns_no_domains'] = 'There are no zones on record'; -$l['pdns_no_name'] = 'The domain name was not specified'; -$l['pdns_err_addzone'] = 'There was an error adding the zone'; -$l['pdns_err_delete'] = 'There was an error deleting the zone'; -$l['pdns_inv_domain'] = 'The specified domain name is invalid'; -$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; -$l['pdns_domain_exists'] = 'This domain name already exists'; -$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; -$l['pdns_no_dns'] = 'DNS management not available'; -$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; -$l['pdns_primary_nameserver'] = 'Primary Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; -$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Add Reverse DNS'; -$l['rdns_zone_name'] = 'Zone Name'; -$l['rdns_exp_zone_name'] = 'The Zone Name'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Select server'; -$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; -$l['rdns_sub_but'] = 'Submit'; -$l['rdns_rdns_ip'] = 'IP Address'; -$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; -$l['rdns_rdns_domain'] = 'Domain name'; -$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; -$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; -$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; -$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; -$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; -$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; -$l['rdns_no_zone_name'] = 'The zone name was not specified'; -$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; -$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; -$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; -$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; -$l['rdns_err_save'] = 'There was an error in saving the data'; -$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; -$l['rdns_zone_exists'] = 'This zone already exists'; -$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; -$l['rdns_rdns_existing'] = 'rDNS Records'; -$l['rdns_deleted'] = 'The rDNS record has been deleted'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'You did not enter the Email ID'; -$l['edu_no_user_password'] = 'You did not enter the Password'; -$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['edu_uid_not_found'] = 'User ID not found'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Edit User'; -$l['edu_done'] = 'User has been edited'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Password'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; -$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; -$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; -$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; -$l['resc_enable_rescue'] = 'Enable Rescue Mode'; -$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; -$l['resc_disable_rescue'] = 'Disable Rescue Mode'; -$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; -$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; -$l['resc_root_pass'] = 'Root Password'; -$l['resc_root_pass_conf'] = 'Confirm Password'; -$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; -$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Nie wybrano języka'; -$l['us_wrong_lang'] = 'Wybrany język nie istnieje'; -$l['us_no_timezone'] = 'Nie wybrano strefy czasowej'; -$l['us_timezone_invalid'] = 'Podano nieprawidłową strefę czasową'; -$l['us_wrong_theme'] = 'Skórka nie została odnaleziona'; -$l['us_page_head'] = 'Ustawienia użytkownika'; -$l['us_change_final'] = 'Ustawienia zostały zapisane'; -$l['us_choose_lang'] = 'Zmień język'; -$l['us_exp_lang'] = 'Wybierz standardowy język'; -$l['us_timezone'] = 'Strefa czasowa'; -$l['us_default_timezone'] = 'Standardowa dla serwera'; -$l['us_edit_settings'] = 'Edytuj ustawienia'; -$l['us_done'] = 'Ustawienia zostały zapisane'; -$l['us_choose_theme'] = 'Wybierz skórkę'; -$l['us_exp_theme'] = 'Wybierz preferowaną skórkę'; -$l['us_no_theme'] = 'Nie wybrano skórki'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'If empty default Logo will be displayed'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; - -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Please specify the type of Virtualization'; -$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; -$l['li_no_hname'] = 'Please specify the Hostname'; -$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; -$l['li_no_rootpass'] = 'Please specify a Root Password'; -$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; -$l['li_no_ram'] = 'Please specify the RAM memory'; -$l['li_no_vncpass'] = 'Please specify a VNC Password'; -$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; -$l['li_no_cpu_units'] = 'Please specify the CPU Units'; -$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'The Region you selected is invalid'; -$l['li_invalid_plid'] = 'The Plan you selected is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; -$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; -$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; -$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; -$l['li_invalid_os'] = 'The OS you submitted is invalid'; -$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['li_invalid_uid'] = 'The User you submitted does not exist'; -$l['li_no_user'] = 'You did not specify the user email'; -$l['li_no_user_pass'] = 'You did not specify the user password'; -$l['li_invalid_email'] = 'The user email address is invalid'; -$l['li_emailexist'] = 'The new user email you specified already exists'; -$l['li_err_user'] = 'There was an error while adding the user'; -$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['li_less_inodes'] = 'The inodes should not be less than 50000'; -$l['li_less_vs'] = 'You are not allowed to create more VMs'; -$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; -$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; -$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; -$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; -$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; -$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; -$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; -$l['li_page_head'] = 'Launch '.VM_SHORT; -$l['li_vstype'] = 'Type'; -$l['li_done'] = 'The '.VM_LONG.'. has been created.'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Password'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Password'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'Change the current server to change the server'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'User'; -$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['li_user_email'] = 'User Email'; -$l['li_user_pass'] = 'Password'; -$l['li_add_user'] = 'Add User'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualization'; -$l['li_os'] = 'Operating System'; -$l['li_select'] = 'Select'; -$l['li_vs_plan'] = 'Select Plan'; -$l['li_plan_exp'] = 'Select a pre-defined plan'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; -$l['li_vsos'] = 'Operating System'; -$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; -$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; -$l['li_none'] = 'None'; -$l['li_rootpass'] = VM_SHORT.' Root Password'; -$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; -$l['li_randpass'] = 'Make another Random Password'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['li_ip'] = 'IP Address'; -$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; -$l['li_ips'] = 'IP Address'; -$l['li_ips6_subnet'] = 'IPv6 Subnets'; -$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; -$l['li_ips6'] = 'IPv6 Addresses'; -$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Remove this IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Space'; -$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_mac'] = 'MAC Address'; -$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; -$l['li_gram'] = 'Guaranteed RAM'; -$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_band'] = 'Bandwidth'; -$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Units'; -$l['li_cpalloc'] = 'CPU units to be allocated'; -$l['li_cpalloc_xen'] = 'Recommended Value : 256'; -$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; -$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; -$l['li_units'] = 'units'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Recommended Value :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = 'Network Speed'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = 'Network Speed'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = 'Network Speed'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Wybrany panel jest nieprawidłowy'; -$l['cpan_err_installing'] = 'Wystąpił problem z instalacją panelu'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'Proces instalacji panelu kontrolnego został rozpoczęty. Powinien zakończyć się w przeciągu kilku minut.'; -$l['cpan_change_onboot'] = 'Panel kontrolny zostanie zainstalowany podczas restartu serwera'; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Control panels'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'Podane ISO jest nieprawidłowe'; -$l['hvm_err_editing'] = 'Wystąpiły problemy z zapisem konfiguracji'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = 'Zapisz'; -$l['hvm_done'] = 'Ustawienia zostały zapisane'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Boot Order'; -$l['hvm_isos'] = 'Wybierz ISO'; -$l['hvm_none'] = 'Żaden'; -$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; -$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'Informacje o CPU'; -$l['cpu_totalcpu'] = 'Limit CPU :'; -$l['cpu_cpuutilised'] = 'Użycie : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'Użycie CPU'; -$l['cpu_trademarks'] = 'Wszelkie loga podane na stronie są znakami lub znakami towarowymi ich producentów'; -$l['cpu_not_supported'] = 'Monitoring aktualnego zużycia serwera nie jest aktywny.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'Informacje o pamięci RAM'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Gwarantownay RAM : '; -$l['ram_burstable'] = 'Maksymalny :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Użycie :'; -$l['ram_percentram'] = 'Użycie % :'; -$l['ram_graphheader'] = 'Użycie pamięci RAM'; -$l['ram_not_supported'] = 'Monitoring użycia nie jest w chwili obecnej dostępny.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Dysk'; -$l['disk_diskinfo'] = 'Informacje o dysku twardym'; -$l['disk_totaldisk'] = 'Limit powierzchni : '; -$l['disk_diskutilised'] = 'Użycie : '; -$l['disk_percentdisk'] = 'Użycie % : '; -$l['disk_graphheader'] = 'Użycie dysku'; -$l['disk_inodesinfo'] = 'Użycie Inode'; -$l['disk_inodestotal'] = 'Limit Inods :'; -$l['disk_inodesutilised'] = 'Użycie : '; -$l['disk_percent_inodes'] = 'Użycie % :'; -$l['disk_inodesheader'] = 'Użycie Inode'; -$l['disk_not_supported'] = 'Monitoring bieżącego zużycia nie jest aktywny.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Transfer'; -$l['band_bandwidthinfo'] = 'Statystyki transferu'; -$l['band_Total_Bandwidth'] = 'Dostępny transfer :'; -$l['band_bandwidth_utilized'] = 'Użycie : '; -$l['band_percent_utilized'] = '% Użycie : '; -$l['band_graphheader'] = 'Użycie transferu'; -$l['band_unlimited'] = 'Bez limitu'; -$l['band_network_speed'] = 'Network Speed (MB/s)'; -$l['band_prev'] = 'Prev Month'; -$l['band_next'] = 'Next Month'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status logs'; -$l['sts_running'] = 'Włączony'; -$l['sts_stopped'] = 'Wyłączony'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Time'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System Alerts'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Process Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Pole nazwy użytkownika jest puste'; -$l['login_no_password'] = 'Pole hasła jest puste'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'You have used up your failed login quota of failed attempts! Please wait minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; -$l['login_sign_in'] = 'Zaloguj się'; -$l['login_log_user'] = 'Adres email lub nazwa użytkownika'; -$l['login_log_pass'] = 'Hasło'; -$l['login_sub_but'] = 'Zaloguj'; -$l['login_register'] = 'Create Account'; -$l['login'] = 'Login'; -$l['login_pass_nomatch'] = 'Podana nazwa użytkownika lub hasło są nieprawidłowe!'; -$l['login_forgotpass'] = 'Zapomniałem hasła'; -$l['login_emailuser'] = 'Adres email'; -$l['login_enteremail'] = 'Podaj adres email'; -$l['login_sub_email'] = 'Wyślij'; -$l['login_no_email'] = 'Nie podałeś adresu email'; -$l['login_invalidemail'] = 'Podany adres email jest nieprawidłowy'; -$l['login_mail_sub'] = 'Przypomnij hasło'; -$l['login_mail_body'] = 'Witam, - -zgodnie z życzeniem przesyłamy informacje na temat zmiany hasła. Jeżeli nie prosiłeś -o to prosze zignoruj ten mail. - -W celu przypomnienia hasła prosimy kliknąć na poniższy link: - -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Powyższy link jest aktywny przez najbliższe 24 godziny. - -Pozdrawiamy, -'; -$l['login_mail_done'] = 'Email z opcją przypomnienia hasła został wysłany'; -$l['login_back_to_login'] = 'Powrót do strony logowania'; -$l['login_resetpass'] = 'Przypomnienie hasła'; -$l['login_log_new_pass'] = 'Nowe hasło'; -$l['login_log_reppass'] = 'Potwierdź hasło'; -$l['login_changepass'] = 'Zmień hasło'; -$l['login_no_key'] = 'Nie podano klucza zmiany hasła'; -$l['login_invalidkey'] = 'Klucz zmiany hasła jest nieprawidłowy'; -$l['login_no_new'] = 'Proszę pdoac prawidłowe hasło'; -$l['login_no_reppass'] = 'Proszę podać powtórzenie hasła'; -$l['login_no_match'] = 'Podane hasła się nie zgadzają'; -$l['login_keyexpire'] = 'Klucz zmiany hasła nie jest już aktywny'; -$l['login_passchanged'] = 'Hasło zmienione.'; -$l['login_forgot_pass'] = 'Przypominanie hasła'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = 'Recipes'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Recipe'; -$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; -$l['rec_short_desc'] = 'Recipes are predefined bash codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Nie podałeś nowego hasła.'; +$l['cpas_no_conf'] = 'Powtórzenie hasła nie zostało podane.'; +$l['cpas_no_match'] = 'Podane hasła się nie zgadzają'; +$l['cpas_err_changing'] = 'Wystąpił problem ze zmianą hasła..'; +$l['cpas_submit_button'] = 'Zmień hasło'; +$l['cpas_new_pass'] = 'Nowe hasło'; +$l['cpas_old_pass'] = 'Stare hasłod'; +$l['cpas_retype_pass'] = 'Powtórz nowe hasło'; +$l['cpas_change_note'] = 'Zmień hasło użytkownika root'; +$l['cpas_change_final'] = 'Hasło zostało zmienione'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Zmienianie hasła użytkownika root...'; +$l['cpas_strength_indicator'] = 'Strength Indicator'; +$l['cpas_bad'] = 'Bad'; +$l['cpas_good'] = 'Good'; +$l['cpas_strong'] = 'Strong'; +$l['cpas_short'] = 'Short'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Used'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Proszę podać hostname do zmiany.'; +$l['hn_new_host'] = 'Nowy Host Name'; +$l['hn_submit_button'] = 'Zmień Hostname'; +$l['hn_err_changing'] = 'Wystąpił problem ze zmianą hostname.'; +$l['hn_host_final'] = 'Zmiana hostname została zakończona'; +$l['hn_invalid_hostname'] = 'Podany hostname jest nieprawidłowy'; +$l['hn_change_onboot'] = 'Nowy hostname zostanie ustawiony po restarcie serwera'; +$l['hn_current_hostname'] = 'Bieżący Hostname'; +$l['hn_change_notify'] = 'Zmieniam hostname...'; +$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Nie wybrano IP'; +$l['ips_ip_not_exists'] = 'IP się nie zgadzają'; +$l['ips_header'] = ' IP'; +$l['ips_ipinfo'] = 'Adresy IP'; +$l['ips_reorderips'] = 'Ustaw główny adres IP'; +$l['ips_done'] = 'Ustawienia adresów IP zostały zapisane.'; +$l['ips_change_onboot'] = 'Ustawienia adresów IP zostaną zapisane po restarcie serwera'; +$l['ips_primary_ip'] = 'Wybierz główny adres IP '; +$l['ips_ipv6_ips_list'] = 'Adresy IPV6'; +$l['ips_ipv6_empty'] = 'Brak adresów IPV6 '; +$l['ips_change_notify'] = 'Zmiana ustawień adresów IP...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'Informacje o procesorze CPU'; +$l['mon_totalcpu'] = 'Limit CPU :'; +$l['mon_cpuutilised'] = 'Zużycie : '; +$l['mon_poweredby'] = 'Powered by : '; +$l['mon_graphheader'] = 'Zużycie CPU '; +$l['mon_trademarks'] = 'Loga i znaki towarowe podane na stornie są własnością producentów sprzetu.'; +$l['mon_not_supported'] = 'Opcja nie jest w chwili obecnej dostępna.'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Nie wybrałeś systemu operacyjnego'; +$l['os_invalid_os'] = 'Wybrany system operacyjny nie istnieje'; +$l['os_no_new'] = 'Nie podano nowego hasła.'; +$l['os_no_conf'] = 'Nie podano powtórzenia nowego hasła.'; +$l['os_no_match'] = 'Podane hasła się nie zgadzają'; +$l['os_error_reins'] = 'Wystąpił błąd podczas reinstalacji systemu operacyjnego'; +$l['os_err_changing'] = 'Wystąpił błąd podczas zmiany hasla'; +$l['os_err_log_osreinstall'] = 'Wykorzystałeś limit instalacji serwera. Prosimy o kontakt z Administratorem'; +$l['os_reins_os'] = 'Reinstalacja systemu operacyjnego'; +$l['os_os_reinstall'] = 'Reinstall'; +$l['os_new_pass'] = 'Nowe hasło'; +$l['os_retype_pass'] = 'Powtórz hasło'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = 'The OS reinstall process has been started in the background'; +$l['os_reins_notify'] = 'Reinstalacja systemu operacyjnego...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'Bad'; +$l['os_good'] = 'Good'; +$l['os_strong'] = 'Strong'; +$l['os_short'] = 'Short'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = 'Passwords do not match'; +$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Informacje o VNC'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC Port'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC wymaga obsługi JAVA w Twojej przeglądarce internetowej'; +$l['vnc_not_enabled'] = 'VNC nie jest dostępne'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Nie podałeś nowego hasła.'; +$l['vncpas_no_conf'] = 'Nie podałeś powtórzenia hasła.'; +$l['vncpas_no_match'] = 'Hasła się nie zgadzają'; +$l['vncpas_err_changing'] = 'Wystąpił problem ze zmianą hasła'; +$l['vncpas_no_nonalphanumeric'] = 'Znaki niealfanumeryczne nie są dozwolone'; +$l['vncpas_submit_button'] = 'Zmiana hasła do VNC'; +$l['vncpas_new_pass'] = 'Nowe hasło'; +$l['vncpas_old_pass'] = 'Stare hasło'; +$l['vncpas_retype_pass'] = 'Powtórz nowe hasło'; +$l['vncpas_change_note'] = 'Zmień hasło do VNC'; +$l['vncpas_change_final'] = 'Hasło do VNC zostało zmienione.'; +$l['vncpas_change_notify'] = 'Zmieniam hasło do VNC...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Nie podałeś nowego hasła'; +$l['up_no_conf'] = 'Nie powtórzyłeś nowego hasła '; +$l['up_no_match'] = 'Podane hasła się nie zgadzają'; +$l['up_err_changing'] = 'Wystąpił nieoczekiwany błąd podczas zmiany hasła.'; +$l['up_new_pass'] = 'Nowe hasło'; +$l['up_old_pass'] = 'Stare hasło'; +$l['up_retype_pass'] = 'Powtórz nowe hasło'; +$l['up_page_head'] = 'Zmień hasło'; +$l['up_change_final'] = 'Hasło zostało zmienione'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'Nie podałeś swojego imienia'; +$l['pr_no_lname'] = 'Nie podałeś swojego nazwiska'; +$l['pr_firstname'] = 'Imię'; +$l['pr_lastname'] = 'Nazwisko'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Zmiany zostały zapisane'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Start'; +$l['ser_sstop'] = ' Stop'; +$l['ser_srestart'] = 'Restart'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'Włączony'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autostart'; +$l['ser_select'] = 'Wybierz'; +$l['ser_vps_is_off'] = 'Serwer '.VM_SHORT.' jest wyłączony !'; +$l['ser_no_feature'] = 'Opcja nie jest dostępna !'; +$l['ser_notice_start'] = 'Wybrane usługi zostały uruchomione..'; +$l['ser_notice_stop'] = 'Wybrane usługi zostały zatrzymane..'; +$l['ser_notice_restart'] = 'Wybrane usługi zostały zrestartowane..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'List of Processes'; +$l['proc_usr'] = 'Użytkownik'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Komenda'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'czas'; +$l['proc_select'] = 'wybierz'; +$l['proc_pstart'] = 'start'; +$l['proc_pkill'] = 'Zabij'; +$l['proc_prefresh'] = 'Autoodświeżanie'; +$l['proc_vps_is_off'] = VM_SHORT.' jest wyłączony !'; +$l['proc_no_feature'] = 'Opcja nie jest dostępna !'; +$l['proc_notice_pkill'] = 'Zatrzymywanie wybranych procesów ...:'; +$l['proc_with_selected'] = 'With Selected :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logi'; +$l['log_date'] = 'Data'; +$l['log_task'] = 'Zadanie'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Successful'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Manage IPv6 Subnets'; +$l['mng_done'] = 'IPs were saved successfully'; +$l['mng_add_ipv6'] = 'Add an Ipv6 address'; +$l['mng_add_ip_button'] = 'Add IP'; +$l['mng_back_button'] = 'Back'; +$l['mng_save_button'] = 'Save'; +$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 Address'; +$l['mng_ipv6_delete'] = 'Delete'; +$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; +$l['mng_edit_subnet'] = 'Edit'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Manage Zone'; +$l['mz_zone_conf_del'] = 'Are you sure you want to delete the PDNS Server ?'; +$l['mz_add_pdns'] = 'Add PDNS Server'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'The Zone has been added successfully'; +$l['mz_add_zone'] = 'Add Zone Record'; +$l['mz_zone_name'] = 'Zone Name'; +$l['mz_pdns_zones'] = 'View Zones'; +$l['mz_manage_zone'] = 'Manage'; +$l['mz_conf_del'] = 'Are you sure you want to delete this record ?'; +$l['mz_add_done'] = 'The record has been added successfully'; +$l['mz_edit_done'] = 'The record has been edited successfully'; +$l['mz_del_done'] = 'The record has been deleted successfully'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Server Name'; +$l['mz_submit_button'] = 'Add Record'; +$l['mz_edit_button'] = 'Edit Record'; +$l['mz_no_domains'] = 'There are no zones on record'; +$l['mz_err_addzone'] = 'There was an error adding the zone'; +$l['mz_inv_name'] = 'Invalid hostname specified'; +$l['mz_inv_ip'] = 'Invalid IP Address specified'; +$l['mz_inv_tld'] = 'Invalid top level domain specified'; +$l['mz_inv_ipv6'] = 'Invalid IPv6 specified'; +$l['mz_inv_int'] = 'Invalid integer specified'; +$l['mz_err_add'] = 'There was an error while adding the record'; +$l['mz_err_del'] = 'There was an error while deleting the record'; +$l['mz_err_edit'] = 'There was an error while editing the record'; +$l['mz_err_soa'] = 'There was an error while updating the SOA serial'; +$l['mz_rec_exists'] = 'The record already exists'; +$l['mz_records_limit'] = 'The limit for adding records has been reached'; +$l['mz_err_connect'] = 'There was an error while connecting to the nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Are you sure you want to delete this domain ?'; +$l['pdns_page_head'] = 'DNS Management'; +$l['pdns_add_done'] = 'The Zone has been added successfully'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Add Zone'; +$l['pdns_zone_name'] = 'Zone Name'; +$l['pdns_manage_zone'] = 'Manage'; +$l['pdns_no_domains'] = 'There are no zones on record'; +$l['pdns_no_name'] = 'The domain name was not specified'; +$l['pdns_err_addzone'] = 'There was an error adding the zone'; +$l['pdns_err_delete'] = 'There was an error deleting the zone'; +$l['pdns_inv_domain'] = 'The specified domain name is invalid'; +$l['pdns_limit_domains'] = 'The maximum number of domains that can be added has been reached'; +$l['pdns_domain_exists'] = 'This domain name already exists'; +$l['pdns_err_connect'] = 'There was an error in connecting to the nameserver'; +$l['pdns_no_dns'] = 'DNS management not available'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = 'Submit'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Nie wybrano języka'; +$l['us_wrong_lang'] = 'Wybrany język nie istnieje'; +$l['us_no_timezone'] = 'Nie wybrano strefy czasowej'; +$l['us_timezone_invalid'] = 'Podano nieprawidłową strefę czasową'; +$l['us_wrong_theme'] = 'Skórka nie została odnaleziona'; +$l['us_page_head'] = 'Ustawienia użytkownika'; +$l['us_change_final'] = 'Ustawienia zostały zapisane'; +$l['us_choose_lang'] = 'Zmień język'; +$l['us_exp_lang'] = 'Wybierz standardowy język'; +$l['us_timezone'] = 'Strefa czasowa'; +$l['us_default_timezone'] = 'Standardowa dla serwera'; +$l['us_edit_settings'] = 'Edytuj ustawienia'; +$l['us_done'] = 'Ustawienia zostały zapisane'; +$l['us_choose_theme'] = 'Wybierz skórkę'; +$l['us_exp_theme'] = 'Wybierz preferowaną skórkę'; +$l['us_no_theme'] = 'Nie wybrano skórki'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created.'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips'] = 'IP Address'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = 'Network Speed'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = 'Network Speed'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = 'Network Speed'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Wybrany panel jest nieprawidłowy'; +$l['cpan_err_installing'] = 'Wystąpił problem z instalacją panelu'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'Proces instalacji panelu kontrolnego został rozpoczęty. Powinien zakończyć się w przeciągu kilku minut.'; +$l['cpan_change_onboot'] = 'Panel kontrolny zostanie zainstalowany podczas restartu serwera'; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Control panels'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'Podane ISO jest nieprawidłowe'; +$l['hvm_err_editing'] = 'Wystąpiły problemy z zapisem konfiguracji'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = 'Zapisz'; +$l['hvm_done'] = 'Ustawienia zostały zapisane'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Boot Order'; +$l['hvm_isos'] = 'Wybierz ISO'; +$l['hvm_none'] = 'Żaden'; +$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; +$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'Informacje o CPU'; +$l['cpu_totalcpu'] = 'Limit CPU :'; +$l['cpu_cpuutilised'] = 'Użycie : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'Użycie CPU'; +$l['cpu_trademarks'] = 'Wszelkie loga podane na stronie są znakami lub znakami towarowymi ich producentów'; +$l['cpu_not_supported'] = 'Monitoring aktualnego zużycia serwera nie jest aktywny.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'Informacje o pamięci RAM'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Gwarantownay RAM : '; +$l['ram_burstable'] = 'Maksymalny :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Użycie :'; +$l['ram_percentram'] = 'Użycie % :'; +$l['ram_graphheader'] = 'Użycie pamięci RAM'; +$l['ram_not_supported'] = 'Monitoring użycia nie jest w chwili obecnej dostępny.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Dysk'; +$l['disk_diskinfo'] = 'Informacje o dysku twardym'; +$l['disk_totaldisk'] = 'Limit powierzchni : '; +$l['disk_diskutilised'] = 'Użycie : '; +$l['disk_percentdisk'] = 'Użycie % : '; +$l['disk_graphheader'] = 'Użycie dysku'; +$l['disk_inodesinfo'] = 'Użycie Inode'; +$l['disk_inodestotal'] = 'Limit Inods :'; +$l['disk_inodesutilised'] = 'Użycie : '; +$l['disk_percent_inodes'] = 'Użycie % :'; +$l['disk_inodesheader'] = 'Użycie Inode'; +$l['disk_not_supported'] = 'Monitoring bieżącego zużycia nie jest aktywny.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Transfer'; +$l['band_bandwidthinfo'] = 'Statystyki transferu'; +$l['band_Total_Bandwidth'] = 'Dostępny transfer :'; +$l['band_bandwidth_utilized'] = 'Użycie : '; +$l['band_percent_utilized'] = '% Użycie : '; +$l['band_graphheader'] = 'Użycie transferu'; +$l['band_unlimited'] = 'Bez limitu'; +$l['band_network_speed'] = 'Network Speed (MB/s)'; +$l['band_prev'] = 'Prev Month'; +$l['band_next'] = 'Next Month'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status logs'; +$l['sts_running'] = 'Włączony'; +$l['sts_stopped'] = 'Wyłączony'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Time'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System Alerts'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Process Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Pole nazwy użytkownika jest puste'; +$l['login_no_password'] = 'Pole hasła jest puste'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'You have used up your failed login quota of failed attempts! Please wait minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; +$l['login_sign_in'] = 'Zaloguj się'; +$l['login_log_user'] = 'Adres email lub nazwa użytkownika'; +$l['login_log_pass'] = 'Hasło'; +$l['login_sub_but'] = 'Zaloguj'; +$l['login_register'] = 'Create Account'; +$l['login'] = 'Login'; +$l['login_pass_nomatch'] = 'Podana nazwa użytkownika lub hasło są nieprawidłowe!'; +$l['login_forgotpass'] = 'Zapomniałem hasła'; +$l['login_emailuser'] = 'Adres email'; +$l['login_enteremail'] = 'Podaj adres email'; +$l['login_sub_email'] = 'Wyślij'; +$l['login_no_email'] = 'Nie podałeś adresu email'; +$l['login_invalidemail'] = 'Podany adres email jest nieprawidłowy'; +$l['login_mail_sub'] = 'Przypomnij hasło'; +$l['login_mail_body'] = 'Witam, + +zgodnie z życzeniem przesyłamy informacje na temat zmiany hasła. Jeżeli nie prosiłeś +o to prosze zignoruj ten mail. + +W celu przypomnienia hasła prosimy kliknąć na poniższy link: + +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Powyższy link jest aktywny przez najbliższe 24 godziny. + +Pozdrawiamy, +'; +$l['login_mail_done'] = 'Email z opcją przypomnienia hasła został wysłany'; +$l['login_back_to_login'] = 'Powrót do strony logowania'; +$l['login_resetpass'] = 'Przypomnienie hasła'; +$l['login_log_new_pass'] = 'Nowe hasło'; +$l['login_log_reppass'] = 'Potwierdź hasło'; +$l['login_changepass'] = 'Zmień hasło'; +$l['login_no_key'] = 'Nie podano klucza zmiany hasła'; +$l['login_invalidkey'] = 'Klucz zmiany hasła jest nieprawidłowy'; +$l['login_no_new'] = 'Proszę pdoac prawidłowe hasło'; +$l['login_no_reppass'] = 'Proszę podać powtórzenie hasła'; +$l['login_no_match'] = 'Podane hasła się nie zgadzają'; +$l['login_keyexpire'] = 'Klucz zmiany hasła nie jest już aktywny'; +$l['login_passchanged'] = 'Hasło zmienione.'; +$l['login_forgot_pass'] = 'Przypominanie hasła'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = 'Recipes'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Recipe'; +$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; +$l['rec_short_desc'] = 'Recipes are predefined bash codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/polish/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/polish/index_lang.php index 9ff70dc..1f7646b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/polish/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/polish/index_lang.php @@ -1,441 +1,441 @@ -Dzisiaj o ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Błąd skórki';//Title -$l['init_theme_error'] = 'Nie można załadować szablonu - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Błąd szablonu';//Title -$l['init_theme_func_error'] = 'Nie można załadować szablonu &soft-1;.'; - -$l['load_theme_settings_error'] = 'Nie można załadować ustawień szablonu.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Nastąpiły błędy'; - -//Success Message Function -$l['following_message'] = 'Następująca informacja została zwrócona'; - -//Major Error Function -$l['fatal_error'] = 'Błąd krytyczny'; -$l['following_fatal_error'] = 'Pojawił się błąd'; - -//Message Function -$l['soft_message'] = 'Wiadomość'; -$l['following_soft_message'] = 'Pojawiła się wiadomość'; - -$l['err_user_head'] = 'Błąd'; -$l['err_user'] = 'Nie można zweryfikować typu użytkownika'; - -//Update Softaculous -$l['getting_info'] = 'Przetwarzanie informacji...…'; -$l['error_getting_latest'] = 'Nie można odczytać informacji……Przerywam'; -$l['got_info'] = 'Informacje otrzymane'; -$l['manual_mode'] = 'Nowa wersja wymaga pracy ręcznej……Przerywam'; -$l['no_updates'] = 'Obecna wersja jest ostatnią wersją……Kontynuacja'; -$l['fetch_upgrade'] = 'Przetwearzam aktualizacje...…'; -$l['error_fetch_upgrade'] = 'Nie można pobrać pliku wersji……Przerywam'; -$l['error_save_upgrade'] = 'Nie można zapisać pliku wersji......Przerywam'; -$l['got_upgrade'] = 'Zapisany plik wersji'; -$l['unzip_upgrade'] = 'Rozpakowywanie plików...…'; -$l['error_unzip_upgrade'] = 'Błąd rozpakowywania plików……Przerywam'; -$l['unzipped_upgrade'] = 'Rozpakowanie prawidłowe'; -$l['running_upgrade'] = 'Uruchamiam aktualizacje...…'; -$l['succ_upgrade'] = 'Zakończono'; -$l['error_upgrade'] = 'Pojawiły się następujące błędy podczas aktualizacji :'; - -//MySQL Errors -$l['err_selectmy'] = 'Nie można wybrać bazy danych MySQL.'; -$l['err_myconn'] = 'Nie ustawiono połączenia z bazą danych.'; -$l['err_makequery'] = 'Nie można wykonać zapytania'; -$l['err_mynum'] = 'MySQL Error No'; -$l['err_myerr'] = 'MySQL Error'; - -//hf_theme.php -$l['welcome'] = 'Witamy'; -$l['logout'] = 'Wyloguj'; -$l['page_time'] = 'Wygenerowane stronę w'; -$l['times_are'] = 'Wszystkie czasy są podane w GMT'; -$l['time_is'] = 'Obecny czas'; -$l['load_start'] = 'Uruchamiiony'; -$l['load_stop'] = 'Zatrzymany'; -$l['load_restart'] = 'Restartowany'; -$l['load_poweroff'] = 'Wyłączany'; - -//The Category Language Variables -$l['dock_restart'] = 'Restart Kontenera'; -$l['dock_stop'] = 'Stop'; -$l['dock_start'] = 'Start'; -$l['dock_poweroff'] = 'Wyłacz'; -$l['dock_home'] = 'Główna'; -$l['dock_settings'] = 'Edytuj ustawienia'; -$l['dock_help'] = 'Pomoc i wsparcie'; -$l['dock_sync'] = 'Synchronizuj z innymi instalatorami'; -$l['go_home'] = 'Główna'; -$l['dock_user'] = 'Profil użytkownika'; -$l['dock_password'] = 'Zmień hasło'; -$l['dock_vps'] = 'Lista serwerów '.VM_SHORT; - -// Left Menu -$l['lm_file_mgr'] = 'Menager plików'; -$l['lm_res'] = 'Zasony'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Procesy'; -$l['lm_service'] = 'Usługi'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'Hasło VN'; -$l['lm_statusc'] = 'Logi serwera'; -$l['lm_res_a'] = 'Ostrzeżenia systemowe'; -$l['lm_logs'] = 'Logi zadań'; -$l['lm_bandwidth'] = 'Transfer serwera'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Hasło'; -$l['lm_controlpanel'] = 'Panel administracyjny'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = 'Dysk twardy'; -$l['lm_ostemp'] ='Reinstalacja systemu'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Logi'; -$l['lm_ips'] = 'Adresy IP'; -$l['lm_hvmsettings'] = 'Konfiguracja serwera '.VM_SHORT; -$l['lm_apikey'] = 'Dostęp API'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - -// Users left menu -$l['lm_vs'] = 'Lista serwerów '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Ustawienia'; -$l['lm_profile'] = 'Mój profil'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Przejdź do strony'; -$l['page_page'] = 'Strona'; -$l['page_of'] = 'z'; -$l['page_go'] = 'Idź'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'Serwer '.VM_SHORT.' nie został znaleziony w bazie'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'System operacyjny nie został znaleziony'; -$l['build_no_ip'] = 'Brak głównego adresu IP dla serwera'; -$l['build_no_os_iso'] = 'Nie znaleziono systemu operacyjnego'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Uruchomiono serwer ze złym jądrem - '; -$l['correct_kernel'] = 'Zrestartuj serwer z prawidłowym jądrem.'; -$l['kvm_module'] = 'Modul Linux-KVM nie został załadowany.'; -$l['kvm_network'] = $globals['bridge'].' nie jest włączony. Please run service virtnetwork start'; -$l['temp_exists'] = 'Szablon już istnieje'; -$l['temp_snap_err'] = 'Nie można wykonać snapshot'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Wystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; -$l['xen_err_swap'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' SWAP'; -$l['xen_err_tmp'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' Mount Point'; -$l['xen_err_mount'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; -$l['xen_err_unmount'] = 'Wystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'Wystąpił problem z instalacją '.VM_SHORT; -$l['xen_err_mkfs'] = 'Wystąpił problem z formatowaniem '.VM_SHORT; -$l['xen_err_mkswap'] = 'Wystąpił problem z formatowaniem SWAM '.VM_SHORT.' '; -$l['xen_err_untar'] = 'Problem z rozpakowaniem systemu operacyjnego'; -$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; -$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; -$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'There was an error while installing the '.VM_SHORT; -$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; -$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; -$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; -$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; -$l['kvm_err_tar'] = 'There was an error while compressing the archive'; -$l['xen_err_tar'] = 'There was an error while compressing the archive'; -$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'There was an error with the backup tool'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; -$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; -$l['openvz_err_space'] = 'There was an error setting the disk space'; -$l['openvz_err_inodes'] = 'There was an error setting the disk space'; -$l['openvz_err_hostname'] = 'There was an error setting the hostname'; -$l['openvz_err_ip'] = 'There was an error setting the IP Address'; -$l['openvz_err_dns'] = 'There was an error setting the DNS'; -$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; -$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; -$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; -$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; -$l['openvz_err_create'] = 'There was an error creating the container'; -$l['vswap_error'] = 'There was an error while setting the VSwap settings'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Suspended'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; - -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; - -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Dzisiaj o ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Błąd skórki';//Title +$l['init_theme_error'] = 'Nie można załadować szablonu - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Błąd szablonu';//Title +$l['init_theme_func_error'] = 'Nie można załadować szablonu &soft-1;.'; + +$l['load_theme_settings_error'] = 'Nie można załadować ustawień szablonu.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Nastąpiły błędy'; + +//Success Message Function +$l['following_message'] = 'Następująca informacja została zwrócona'; + +//Major Error Function +$l['fatal_error'] = 'Błąd krytyczny'; +$l['following_fatal_error'] = 'Pojawił się błąd'; + +//Message Function +$l['soft_message'] = 'Wiadomość'; +$l['following_soft_message'] = 'Pojawiła się wiadomość'; + +$l['err_user_head'] = 'Błąd'; +$l['err_user'] = 'Nie można zweryfikować typu użytkownika'; + +//Update Softaculous +$l['getting_info'] = 'Przetwarzanie informacji...…'; +$l['error_getting_latest'] = 'Nie można odczytać informacji……Przerywam'; +$l['got_info'] = 'Informacje otrzymane'; +$l['manual_mode'] = 'Nowa wersja wymaga pracy ręcznej……Przerywam'; +$l['no_updates'] = 'Obecna wersja jest ostatnią wersją……Kontynuacja'; +$l['fetch_upgrade'] = 'Przetwearzam aktualizacje...…'; +$l['error_fetch_upgrade'] = 'Nie można pobrać pliku wersji……Przerywam'; +$l['error_save_upgrade'] = 'Nie można zapisać pliku wersji......Przerywam'; +$l['got_upgrade'] = 'Zapisany plik wersji'; +$l['unzip_upgrade'] = 'Rozpakowywanie plików...…'; +$l['error_unzip_upgrade'] = 'Błąd rozpakowywania plików……Przerywam'; +$l['unzipped_upgrade'] = 'Rozpakowanie prawidłowe'; +$l['running_upgrade'] = 'Uruchamiam aktualizacje...…'; +$l['succ_upgrade'] = 'Zakończono'; +$l['error_upgrade'] = 'Pojawiły się następujące błędy podczas aktualizacji :'; + +//MySQL Errors +$l['err_selectmy'] = 'Nie można wybrać bazy danych MySQL.'; +$l['err_myconn'] = 'Nie ustawiono połączenia z bazą danych.'; +$l['err_makequery'] = 'Nie można wykonać zapytania'; +$l['err_mynum'] = 'MySQL Error No'; +$l['err_myerr'] = 'MySQL Error'; + +//hf_theme.php +$l['welcome'] = 'Witamy'; +$l['logout'] = 'Wyloguj'; +$l['page_time'] = 'Wygenerowane stronę w'; +$l['times_are'] = 'Wszystkie czasy są podane w GMT'; +$l['time_is'] = 'Obecny czas'; +$l['load_start'] = 'Uruchamiiony'; +$l['load_stop'] = 'Zatrzymany'; +$l['load_restart'] = 'Restartowany'; +$l['load_poweroff'] = 'Wyłączany'; + +//The Category Language Variables +$l['dock_restart'] = 'Restart Kontenera'; +$l['dock_stop'] = 'Stop'; +$l['dock_start'] = 'Start'; +$l['dock_poweroff'] = 'Wyłacz'; +$l['dock_home'] = 'Główna'; +$l['dock_settings'] = 'Edytuj ustawienia'; +$l['dock_help'] = 'Pomoc i wsparcie'; +$l['dock_sync'] = 'Synchronizuj z innymi instalatorami'; +$l['go_home'] = 'Główna'; +$l['dock_user'] = 'Profil użytkownika'; +$l['dock_password'] = 'Zmień hasło'; +$l['dock_vps'] = 'Lista serwerów '.VM_SHORT; + +// Left Menu +$l['lm_file_mgr'] = 'Menager plików'; +$l['lm_res'] = 'Zasony'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Procesy'; +$l['lm_service'] = 'Usługi'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'Hasło VN'; +$l['lm_statusc'] = 'Logi serwera'; +$l['lm_res_a'] = 'Ostrzeżenia systemowe'; +$l['lm_logs'] = 'Logi zadań'; +$l['lm_bandwidth'] = 'Transfer serwera'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Hasło'; +$l['lm_controlpanel'] = 'Panel administracyjny'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = 'Dysk twardy'; +$l['lm_ostemp'] ='Reinstalacja systemu'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Logi'; +$l['lm_ips'] = 'Adresy IP'; +$l['lm_hvmsettings'] = 'Konfiguracja serwera '.VM_SHORT; +$l['lm_apikey'] = 'Dostęp API'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + +// Users left menu +$l['lm_vs'] = 'Lista serwerów '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Ustawienia'; +$l['lm_profile'] = 'Mój profil'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Przejdź do strony'; +$l['page_page'] = 'Strona'; +$l['page_of'] = 'z'; +$l['page_go'] = 'Idź'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'Serwer '.VM_SHORT.' nie został znaleziony w bazie'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'System operacyjny nie został znaleziony'; +$l['build_no_ip'] = 'Brak głównego adresu IP dla serwera'; +$l['build_no_os_iso'] = 'Nie znaleziono systemu operacyjnego'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Uruchomiono serwer ze złym jądrem - '; +$l['correct_kernel'] = 'Zrestartuj serwer z prawidłowym jądrem.'; +$l['kvm_module'] = 'Modul Linux-KVM nie został załadowany.'; +$l['kvm_network'] = $globals['bridge'].' nie jest włączony. Please run service virtnetwork start'; +$l['temp_exists'] = 'Szablon już istnieje'; +$l['temp_snap_err'] = 'Nie można wykonać snapshot'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Wystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; +$l['xen_err_swap'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' SWAP'; +$l['xen_err_tmp'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' Mount Point'; +$l['xen_err_mount'] = 'TWystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; +$l['xen_err_unmount'] = 'Wystąpił problem z utworzeniem na serwerze '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'Wystąpił problem z instalacją '.VM_SHORT; +$l['xen_err_mkfs'] = 'Wystąpił problem z formatowaniem '.VM_SHORT; +$l['xen_err_mkswap'] = 'Wystąpił problem z formatowaniem SWAM '.VM_SHORT.' '; +$l['xen_err_untar'] = 'Problem z rozpakowaniem systemu operacyjnego'; +$l['xen_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['xen_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['xen_err_resizefs'] = 'There was an error while resizing the filesystem'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'There was an error creating the LVM of the '.VM_SHORT; +$l['kvm_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; +$l['kvm_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'There was an error while installing the '.VM_SHORT; +$l['kvm_err_resizefs'] = 'There was an error while resizing the filesystem' ; +$l['kvm_err_part'] = 'There was an error while creating the disk partition(s)'; +$l['kvm_err_kpart'] = 'There was an error while mapping the partition(s)'; +$l['kvm_err_mkswap'] = 'There was an error while formatting the SWAP of the '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; +$l['kvm_err_tar'] = 'There was an error while compressing the archive'; +$l['xen_err_tar'] = 'There was an error while compressing the archive'; +$l['kvm_err_untar'] = 'There was an error while uncompressing the archive'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'There was an error with the backup tool'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'There was an error saving the UBC settings'; +$l['openvz_err_ostemplate'] = 'There was an error setting the OS Template'; +$l['openvz_err_space'] = 'There was an error setting the disk space'; +$l['openvz_err_inodes'] = 'There was an error setting the disk space'; +$l['openvz_err_hostname'] = 'There was an error setting the hostname'; +$l['openvz_err_ip'] = 'There was an error setting the IP Address'; +$l['openvz_err_dns'] = 'There was an error setting the DNS'; +$l['openvz_err_cpu'] = 'There was an error setting the CPU units'; +$l['openvz_err_cpulim'] = 'There was an error setting the CPU limit'; +$l['openvz_err_cores'] = 'There was an error setting the CPU cores'; +$l['openvz_err_ioprio'] = 'There was an error setting the IO Priority'; +$l['openvz_err_create'] = 'There was an error creating the container'; +$l['vswap_error'] = 'There was an error while setting the VSwap settings'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Suspended'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; + +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; + +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/enduser_lang.php index 8de8dcc..a201a97 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/enduser_lang.php @@ -1,2102 +1,2102 @@ - Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; -$l['twofactauth_secret_key'] = 'Secret Key : '; -$l['twofactauth_code_input'] = 'Confirmation code'; -$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; -$l['twofactauth_submit'] = 'Submit'; -$l['twofactauth_select_pref'] = 'Select Preference : '; -$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; -$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; -$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; -$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; -$l['twofactauth_email_passcode'] = 'Email Code'; -$l['twofactauth_none'] = 'None (Not Recommended !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; -$l['twofactauth_no_passcode'] = 'Please specify the OTP'; -$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Reset Key'; -$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; -$l['twofactauth_otp_mail_body'] = 'Hi, - -A login request was submitted for your account at : -{{site_domain}} - -Please use the following One Time password (OTP) to login : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; -$l['twofactauth_passcode_mail_body'] = 'Hi, - -The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; -$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; -$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; -$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'You did not enter the Email ID'; -$l['adu_no_user_password'] = 'You did not enter the Password'; -$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; -$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; -$l['adu_page_head'] = 'Add User'; -$l['adu_done'] = 'User has been added'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Password'; -$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Você não especificou a nova senha.'; -$l['cpas_no_conf'] = 'A confirmação de senha está faltando.'; -$l['cpas_no_match'] = 'As senhas que você informou não correspondem'; -$l['cpas_err_changing'] = 'Houve um erro ao alterar a senha.'; -$l['cpas_submit_button'] = 'Mudar senha'; -$l['cpas_new_pass'] = 'Nova senha'; -$l['cpas_old_pass'] = 'Senha antiga'; -$l['cpas_retype_pass'] = 'Repita a nova senha'; -$l['cpas_change_note'] = 'Mudar senha root'; -$l['cpas_change_final'] = 'Sua senha foi alterada com sucesso'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Alterando senha root do '.VM_SHORT.'...'; -$l['cpas_strength_indicator'] = 'Strength Indicator'; -$l['cpas_bad'] = 'Bad'; -$l['cpas_good'] = 'Good'; -$l['cpas_strong'] = 'Strong'; -$l['cpas_short'] = 'Short'; -$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['cpas_pass_match'] = 'Passwords do not match'; -$l['cpas_disabled'] = 'Change Password is disabled by Admin'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Resources'; -$l['cr_resource_type'] = 'Resource Type'; -$l['cr_limit'] = 'Limit'; -$l['cr_used'] = 'Used'; -$l['cr_left'] = 'Available'; -$l['cr_unlimited'] = 'Unlimited'; -$l['cr_num_vs'] = 'Number of VMs'; -$l['cr_num_users'] = 'Number of Users'; -$l['cr_num_space'] = 'Disk Space'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Bandwidth'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Information'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Por favor, especifique um hostname para mudar.'; -$l['hn_new_host'] = 'Novo hostname'; -$l['hn_submit_button'] = 'Mudar'; -$l['hn_err_changing'] = 'Houve um erro durante a mudança de hostname.'; -$l['hn_host_final'] = 'Seu hostname foi alterado com sucesso'; -$l['hn_invalid_hostname'] = 'O hostname que você informou não é válido'; -$l['hn_change_onboot'] = 'O seu hostname será alterado quando o '.VM_SHORT.' for reiniciado'; -$l['hn_current_hostname'] = 'Hostname atual'; -$l['hn_change_notify'] = 'Mudando hostname...'; -$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Nenhum IP selecionado'; -$l['ips_ip_not_exists'] = 'IPs não existem'; -$l['ips_header'] = ' IPs'; -$l['ips_ipinfo'] = 'Informação de IP'; -$l['ips_reorderips'] = 'Definir IP primário'; -$l['ips_done'] = 'As configurações de IP foram salvas.'; -$l['ips_change_onboot'] = 'As configurações de IP serão aplicadas quando o '.VM_SHORT.' for reiniciado'; -$l['ips_primary_ip'] = 'Selecione o IP primário '; -$l['ips_ipv6_ips_list'] = 'IPs IPv6'; -$l['ips_ipv6_empty'] = 'IPv6 vazio'; -$l['ips_change_notify'] = 'Alterando as configurações de IP...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'Informação de CPU'; -$l['mon_totalcpu'] = 'CPU total :'; -$l['mon_cpuutilised'] = 'Utilizada : '; -$l['mon_poweredby'] = 'Desenvolvida por : '; -$l['mon_graphheader'] = 'Utilização de CPU'; -$l['mon_trademarks'] = 'Todos respectivos logotipos utilizados são marcas comerciais ou registradas de suas respectivas empresas.'; -$l['mon_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Network'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Network Info'; -$l['mon_ntw_down_spd'] = 'Average Download Speed'; -$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; -$l['mon_disabled'] = 'Monitor option is disabled by Admin'; -$l['mon_cpu_usage'] = 'CPU Usage'; -$l['mon_inode_usage'] = 'Inode Usage'; -$l['mon_ram_usage'] = 'RAM Usage'; -$l['mon_disk_usage'] = 'Disk Usage'; -$l['mon_down_speed'] = 'Download Speed'; -$l['mon_up_speed'] = 'Upload Speed'; -$l['mon_total_speed'] = 'Total Speed'; -$l['mon_cpu_hist'] = 'CPU Usage History'; -$l['mon_mem_hist'] = 'Memory Usage History'; -$l['mon_storage'] = 'Storage Used'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Inodes Used'; -$l['mon_net_speed'] = 'Network Speed'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Você não selecionou o sistema operacional'; -$l['os_invalid_os'] = 'O sistema operacional selecionado é inválido'; -$l['os_no_new'] = 'Você não especificou a nova senha.'; -$l['os_no_conf'] = 'A confirmação de senha está faltando.'; -$l['os_no_match'] = 'As senhas que você informou não correspondem'; -$l['os_error_reins'] = 'Houve um erro ao reinstalar o SO'; -$l['os_err_changing'] = 'Houve um erro ao definir a senha.'; -$l['os_err_log_osreinstall'] = 'Você excedeu o seu limite de reinstalações de SO. Por favor, entre em contato com o administrador'; -$l['os_reins_os'] = 'Reinstalar SO'; -$l['os_os_reinstall'] = 'Reinstall'; -$l['os_new_pass'] = 'Nova senha'; -$l['os_retype_pass'] = 'Repita a nova senha'; -$l['os_genram_psswd'] = 'Make another random password'; -$l['os_done'] = 'The OS reinstall process has been started in the background'; -$l['os_reins_notify'] = 'Reinstalando o sistema operacional do '.VM_SHORT.' ...'; -$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'Bad'; -$l['os_good'] = 'Good'; -$l['os_strong'] = 'Strong'; -$l['os_short'] = 'Short'; -$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['os_pass_match'] = 'Passwords do not match'; -$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; -$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; -$l['os_no_os'] = 'No OS(s) available for reinstall'; -$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Informação do VNC'; -$l['vnc_vnc_ip'] = 'IP do VNC'; -$l['vnc_vnc_port'] = 'Porta do VNC'; -$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; -$l['vnc_notice'] = 'VNC só vai funcionar se java está instalado e ativado em seu navegador'; -$l['vnc_not_enabled'] = 'VNC não está ativado'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Você não especificou a nova senha.'; -$l['vncpas_no_conf'] = 'A confirmação de senha está faltando.'; -$l['vncpas_no_match'] = 'As senhas que você informou não correspondem'; -$l['vncpas_err_changing'] = 'Houve um erro ao alterar a senha.'; -$l['vncpas_no_nonalphanumeric'] = 'Caracteres não-alfanuméricos não são permitidos'; -$l['vncpas_submit_button'] = 'Mudar senha do VNC'; -$l['vncpas_new_pass'] = 'Nova senha'; -$l['vncpas_old_pass'] = 'Senha antiga'; -$l['vncpas_retype_pass'] = 'Repita a nova senha'; -$l['vncpas_change_note'] = 'Mudar senha do VNC'; -$l['vncpas_change_final'] = 'Sua senha do VNC foi alterada com sucesso.'; -$l['vncpas_change_notify'] = 'Mudando senha do VNC...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Você não especificou a nova senha'; -$l['up_no_conf'] = 'A confirmação da senha está faltando'; -$l['up_no_match'] = 'As senhas que você informou não correspondem'; -$l['up_err_changing'] = 'Houve um erro ao alterar a senha.'; -$l['up_new_pass'] = 'Nova senha'; -$l['up_old_pass'] = 'Senha antiga'; -$l['up_retype_pass'] = 'Repita a nova senha'; -$l['up_page_head'] = 'Mudar senha'; -$l['up_change_final'] = 'Sua senha foi alterada com sucesso'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Change Profile'; -$l['pr_no_fname'] = 'Você não informou o nome'; -$l['pr_no_lname'] = 'Você não informou o sobre nome'; -$l['pr_firstname'] = 'Nome'; -$l['pr_lastname'] = 'Sobre nome'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Suas alterações foram salvas com sucesso'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Services'; -$l['ser_sstart'] = 'Iniciar'; -$l['ser_sstop'] = ' Parar'; -$l['ser_srestart'] = 'Reiniciar'; -$l['ser_status'] = 'Status'; -$l['ser_statrun'] = 'Funcionando'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Auto iniciar'; -$l['ser_select'] = 'Selecionar'; -$l['ser_vps_is_off'] = 'O '.VM_SHORT.' está desligado!'; -$l['ser_no_feature'] = 'Este recurso não está disponível!'; -$l['ser_notice_start'] = 'O serviço selecionado está sendo iniciado..'; -$l['ser_notice_stop'] = 'O serviço selecionado está sendo parado..'; -$l['ser_notice_restart'] = 'O serviço selecionado está sendo reiniciado..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'List of Processes'; -$l['proc_usr'] = 'Usuário'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Comando'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'tempo'; -$l['proc_select'] = 'selecionar'; -$l['proc_pstart'] = 'iniciar'; -$l['proc_pkill'] = 'Matar'; -$l['proc_prefresh'] = 'Autorefresh'; -$l['proc_vps_is_off'] = 'O '.VM_SHORT.' está desligado!'; -$l['proc_no_feature'] = 'Opção não disponível!'; -$l['proc_notice_pkill'] = 'Parando os processos selecionados :'; -$l['proc_with_selected'] = 'With Selected :'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Data'; -$l['log_task'] = 'Ação'; -$l['log_status'] = 'Status'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Successful'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Manage IPv6 Subnets'; -$l['mng_done'] = 'IPs were saved successfully'; -$l['mng_add_ipv6'] = 'Add an Ipv6 address'; -$l['mng_add_ip_button'] = 'Add IP'; -$l['mng_back_button'] = 'Back'; -$l['mng_save_button'] = 'Save'; -$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; -$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; -$l['mng_ipv6_address'] = 'IPv6 Address'; -$l['mng_ipv6_delete'] = 'Delete'; -$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; -$l['mng_edit_subnet'] = 'Edit'; -$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; -$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Gerenciar registro'; -$l['mz_zone_conf_del'] = 'Tem certeza de que deseja excluir o servidor PDNS?'; -$l['mz_add_pdns'] = 'Add servidor PDNS'; -$l['mz_dns_mgmt'] = 'Gerenciamento DNS'; -$l['mz_zone_add_done'] = 'O registro foi adicionado com sucesso'; -$l['mz_add_zone'] = 'Add registro'; -$l['mz_zone_name'] = 'Nome do registro'; -$l['mz_pdns_zones'] = 'Ver Registros'; -$l['mz_manage_zone'] = 'Gerenciar'; -$l['mz_conf_del'] = 'Tem certeza de que deseja excluir este registro?'; -$l['mz_add_done'] = 'O registro foi adicionado com sucesso'; -$l['mz_edit_done'] = 'O registro foi editado com sucesso'; -$l['mz_del_done'] = 'O registro foi apagado com sucesso'; -$l['mz_priority'] = 'Priority'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Type'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Points to'; -$l['mz_txt_value'] = 'TXT Value'; -$l['mz_pdns_name'] = 'Nome do servidor'; -$l['mz_submit_button'] = 'Add registro'; -$l['mz_edit_button'] = 'Editar registro'; -$l['mz_no_domains'] = 'Não há zonas em registro'; -$l['mz_err_addzone'] = 'Houve um erro ao adicionar o registro'; -$l['mz_inv_name'] = 'Hostname inválido'; -$l['mz_inv_ip'] = 'Endereço IP inválido'; -$l['mz_inv_tld'] = 'Domínio de nível superior inválido'; -$l['mz_inv_ipv6'] = 'IPv6 inválido'; -$l['mz_inv_int'] = 'Informação digitada inválida'; -$l['mz_err_add'] = 'Houve um erro ao adicionar o registro'; -$l['mz_err_del'] = 'Houve um erro ao adicionar o registro'; -$l['mz_err_edit'] = 'Houve um erro ao adicionar o registro'; -$l['mz_err_soa'] = 'Houve um erro ao atualizar o serial SOA'; -$l['mz_rec_exists'] = 'O registro já existe'; -$l['mz_records_limit'] = 'O limite de registos foi atingido'; -$l['mz_err_connect'] = 'Ocorreu um erro durante a conexão com o nameserver'; -$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Tem certeza de que deseja excluir este domínio?'; -$l['pdns_page_head'] = 'Gerenciamento DNS'; -$l['pdns_add_done'] = 'A zona foi adicionada com sucesso'; -$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; -$l['pdns_add_zone'] = 'Adicionar zona'; -$l['pdns_zone_name'] = 'Nome da zona'; -$l['pdns_manage_zone'] = 'Gerenciar'; -$l['pdns_no_domains'] = 'Não há zonas no registro'; -$l['pdns_no_name'] = 'O nome de domínio não foi especificado'; -$l['pdns_err_addzone'] = 'Houve um erro ao adicionar a zona'; -$l['pdns_err_delete'] = 'Houve um erro ao excluir a zona'; -$l['pdns_inv_domain'] = 'O nome de domínio especificado é inválido'; -$l['pdns_limit_domains'] = 'O número máximo de domínios que podem ser adicionados foi atingido'; -$l['pdns_domain_exists'] = 'Este nome de domínio já existe'; -$l['pdns_err_connect'] = 'Houve um erro na conexão com o nameserver'; -$l['pdns_no_dns'] = 'Gerenciamento de DNS não disponível'; -$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; -$l['pdns_primary_nameserver'] = 'Primary Nameserver'; -$l['pdns_hostmaster_email'] = 'Domain Admin Email'; -$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; -$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Add Reverse DNS'; -$l['rdns_zone_name'] = 'Zone Name'; -$l['rdns_exp_zone_name'] = 'The Zone Name'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Select server'; -$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; -$l['rdns_sub_but'] = 'Submit'; -$l['rdns_rdns_ip'] = 'IP Address'; -$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; -$l['rdns_rdns_domain'] = 'Domain name'; -$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; -$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; -$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; -$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; -$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; -$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; -$l['rdns_no_zone_name'] = 'The zone name was not specified'; -$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; -$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; -$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; -$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; -$l['rdns_err_save'] = 'There was an error in saving the data'; -$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; -$l['rdns_zone_exists'] = 'This zone already exists'; -$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; -$l['rdns_rdns_existing'] = 'rDNS Records'; -$l['rdns_deleted'] = 'The rDNS record has been deleted'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Name'; -$l['rdns_domain'] = 'Domain'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'You did not enter the Email ID'; -$l['edu_no_user_password'] = 'You did not enter the Password'; -$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; -$l['edu_uid_not_found'] = 'User ID not found'; -$l['edu_useradd_error'] = 'There was an error while editing the user details'; -$l['edu_page_head'] = 'Edit User'; -$l['edu_done'] = 'User has been edited'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Password'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; -$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; -$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; -$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; -$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; -$l['resc_heading'] = 'Rescue Mode'; -$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; -$l['resc_enable_rescue'] = 'Enable Rescue Mode'; -$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; -$l['resc_disable_rescue'] = 'Disable Rescue Mode'; -$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; -$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; -$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; -$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; -$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; -$l['resc_root_pass'] = 'Root Password'; -$l['resc_root_pass_conf'] = 'Confirm Password'; -$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; -$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Nenhuma linguagem foi selecionada '; -$l['us_wrong_lang'] = 'O idioma selecionado não existe'; -$l['us_no_timezone'] = 'Você não selecionou o fuso horário '; -$l['us_timezone_invalid'] = 'O fuso horário selecionado é inválido'; -$l['us_wrong_theme'] = 'O tema selecionado não existe'; -$l['us_page_head'] = 'Configurações do '.VM_SHORT; -$l['us_change_final'] = 'Suas configurações foram salvas com sucesso '; -$l['us_choose_lang'] = 'Escolha o idioma '; -$l['us_exp_lang'] = 'Escolha o seu idioma preferido'; -$l['us_timezone'] = 'Região'; -$l['us_default_timezone'] = 'Servidor Padrão '; -$l['us_edit_settings'] = 'Editar Configurações'; -$l['us_done'] = 'Suas configurações foram salvas com sucesso'; -$l['us_choose_theme'] = 'Escolha o tema'; -$l['us_exp_theme'] = 'Escolha o seu tema preferido'; -$l['us_no_theme'] = 'Nenhum tema foi selecionado'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'If empty default Logo will be displayed'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; - -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Please specify the type of Virtualization'; -$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; -$l['li_no_hname'] = 'Please specify the Hostname'; -$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; -$l['li_no_rootpass'] = 'Please specify a Root Password'; -$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; -$l['li_no_ram'] = 'Please specify the RAM memory'; -$l['li_no_vncpass'] = 'Please specify a VNC Password'; -$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; -$l['li_no_cpu_units'] = 'Please specify the CPU Units'; -$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'The Region you selected is invalid'; -$l['li_invalid_plid'] = 'The Plan you selected is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; -$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; -$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; -$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; -$l['li_invalid_os'] = 'The OS you submitted is invalid'; -$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['li_invalid_uid'] = 'The User you submitted does not exist'; -$l['li_no_user'] = 'You did not specify the user email'; -$l['li_no_user_pass'] = 'You did not specify the user password'; -$l['li_invalid_email'] = 'The user email address is invalid'; -$l['li_emailexist'] = 'The new user email you specified already exists'; -$l['li_err_user'] = 'There was an error while adding the user'; -$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; -$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['li_less_inodes'] = 'The inodes should not be less than 50000'; -$l['li_less_vs'] = 'You are not allowed to create more VMs'; -$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; -$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; -$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; -$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; -$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; -$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; -$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; -$l['li_page_head'] = 'Launch '.VM_SHORT; -$l['li_vstype'] = 'Type'; -$l['li_done'] = 'The '.VM_LONG.'. has been created.'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Name'; -$l['li_newvs_rootpass'] = 'Root Password'; -$l['li_newvs_vnc'] = 'VNC Details'; -$l['li_newvs_vncpass'] = 'VNC Password'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Server'; -$l['li_exp_server'] = 'Change the current server to change the server'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'User'; -$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['li_user_email'] = 'User Email'; -$l['li_user_pass'] = 'Password'; -$l['li_add_user'] = 'Add User'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Virtualization'; -$l['li_os'] = 'Operating System'; -$l['li_select'] = 'Select'; -$l['li_vs_plan'] = 'Select Plan'; -$l['li_plan_exp'] = 'Select a pre-defined plan'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; -$l['li_vsos'] = 'Operating System'; -$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; -$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; -$l['li_none'] = 'None'; -$l['li_rootpass'] = VM_SHORT.' Root Password'; -$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; -$l['li_randpass'] = 'Make another Random Password'; -$l['li_hostname'] = 'Hostname'; -$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['li_ip'] = 'IP Address'; -$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; -$l['li_ips'] = 'IP Address'; -$l['li_ips6_subnet'] = 'IPv6 Subnets'; -$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; -$l['li_ips6'] = 'IPv6 Addresses'; -$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Remove this IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Space'; -$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_mac'] = 'MAC Address'; -$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; -$l['li_gram'] = 'Guaranteed RAM'; -$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_band'] = 'Bandwidth'; -$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Units'; -$l['li_cpalloc'] = 'CPU units to be allocated'; -$l['li_cpalloc_xen'] = 'Recommended Value : 256'; -$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; -$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; -$l['li_units'] = 'units'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Recommended Value :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; -$l['li_io'] = 'I/O Priority'; -$l['li_io0-7'] = 'Choose priority from 0-7'; -$l['li_na'] = 'Network Speed'; -$l['li_na_exp'] = 'Please Mention the Network Speed'; -$l['li_ubcsettings'] = 'UBC Settings'; -$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; -$l['li_submit'] = 'Create'; -$l['li_addvoption'] = 'Advanced Options'; -$l['li_addvhide'] = 'Hide Advance option'; -$l['li_network_speed'] = 'Network Speed'; -$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_upload_speed'] = 'Upload Speed'; -$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'No Restriction'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Recommended value : 8 MB'; -$l['li_vncpass'] = 'VNC Password'; -$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth suspend '; -$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; -$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; -$l['li_osreinstall'] = 'OS Reinstall Limit'; -$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; -$l['li_changenic'] = 'Virtual Network Interface Type'; -$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['li_add_route'] = 'Use routed network'; -$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; -$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; -$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; -$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; -$l['li_io_mode'] = 'I/O Policy'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Applications'; -$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; -$l['li_mac_temp_vncdetails'] = 'MAC Address :'; -$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; -$l['li_mail_temp_vncdetails'] = 'VNC Details :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; -$l['li_reinstall'] = 'Reinstall '.VM_LONG; -$l['li_space'] = 'Disk Space'; -$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['li_ram'] = 'Guaranteed RAM'; -$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['li_unlimited'] = 'Unlimited'; -$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; -$l['li_usevirtio'] = 'Enable virtio'; -$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'User'; -$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Password'; -$l['ei_add_user'] = 'Add User'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Operating System'; -$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; -$l['ei_none'] = 'None'; -$l['ei_hostname'] = 'Hostname'; -$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; -$l['ei_rootpass'] = VM_SHORT.' Root Password'; -$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; -$l['ei_randpass'] = 'Make another Random Password'; -$l['ei_ip'] = 'IP Address'; -$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; -$l['ei_ips6_subnet'] = 'IPv6 Subnet'; -$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'IPv6 Addresses'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; -$l['ei_space'] = 'Disk Space'; -$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; -$l['ei_ram'] = 'Guaranteed RAM'; -$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Recommended Value :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Unlimited'; -$l['ei_network_speed'] = 'Network Speed'; -$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'No Restriction'; -$l['ei_vncpass'] = 'VNC Password'; -$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; -$l['ei_submit'] = 'Edit '.VM_LONG; -$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; -$l['ei_addvoption'] = 'Advanced Options'; -$l['ei_no_uid'] = 'No user was selected'; -$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; -$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; -$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; -$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; -$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; -$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; -$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; -$l['ei_wrong_user'] = 'You cannot change to that user'; -$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; -$l['ei_less_swap'] = 'You don\'t have enough swap ram'; -$l['ei_usevirtio'] = 'Enable virtio'; -$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; -$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'O painel selecionado é inválido'; -$l['cpan_err_installing'] = 'Houve um erro ao instalar o painel'; -$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'A instalação do painel foi iniciada e será concluída em breve'; -$l['cpan_change_onboot'] = 'O painel será instalado quando você reiniciar o '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Control panels'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; -$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; -$l['hvm_invalid_iso'] = 'A ISO selecionada é inválida'; -$l['hvm_err_editing'] = 'Houve um erro ao salvar as configurações'; -$l['hvm_heading'] = 'HVM Settings'; -$l['hvm_submit_button'] = 'Salvar'; -$l['hvm_done'] = 'As configurações foram salvas com sucesso'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Ordem do boot'; -$l['hvm_isos'] = 'Selecione uma ISO'; -$l['hvm_none'] = 'Nenhum'; -$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; -$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; -$l['hvm_hdd'] = 'Hard Disk'; -$l['hvm_cdrom'] = 'CD Drive'; -$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; -$l['hvm_enable_vga'] = 'Enable VGA'; -$l['hvm_enable_acceleration'] = 'Enable Acceleration'; -$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; -$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; -$l['hvm_nic_type'] = 'Virtual Network Interface Type'; -$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; -$l['nic_default'] = 'Realtek 8139(default)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Enable Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'Informação da CPU'; -$l['cpu_totalcpu'] = 'CPU total :'; -$l['cpu_cpuutilised'] = 'Utilizada : '; -$l['cpu_poweredby'] = 'Desenvolvida pela : '; -$l['cpu_graphheader'] = 'Utilização da CPU'; -$l['cpu_trademarks'] = 'Todos respectivos logotipos utilizados são marcas comerciais ou registradas de suas respectivas empresas.'; -$l['cpu_not_supported'] = 'Monitorar a utilização atual deste recurso não é suportado.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'Informação da RAM'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'RAM garantida: '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Utilizada :'; -$l['ram_percentram'] = 'Utilização em % :'; -$l['ram_graphheader'] = 'Utilização de RAM'; -$l['ram_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Disco'; -$l['disk_diskinfo'] = 'Informação do disco'; -$l['disk_totaldisk'] = 'Disco total : '; -$l['disk_diskutilised'] = 'Utilizado : '; -$l['disk_percentdisk'] = 'Utilização em % : '; -$l['disk_graphheader'] = 'Utilização de disco'; -$l['disk_inodesinfo'] = 'Informação de Inodes'; -$l['disk_inodestotal'] = 'Total de Inodes :'; -$l['disk_inodesutilised'] = 'Utilizado : '; -$l['disk_percent_inodes'] = 'Utilização em % :'; -$l['disk_inodesheader'] = 'Utilização de Inodes'; -$l['disk_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Tráfego'; -$l['band_bandwidthinfo'] = 'Informação de tráfego'; -$l['band_Total_Bandwidth'] = 'Tráfego total :'; -$l['band_bandwidth_utilized'] = 'Utilizado : '; -$l['band_percent_utilized'] = 'Utilizado em % : '; -$l['band_graphheader'] = 'Utilização de tráfego'; -$l['band_unlimited'] = 'Ilimitado'; -$l['band_network_speed'] = 'Network Speed (MB/s)'; -$l['band_prev'] = 'Prev Month'; -$l['band_next'] = 'Next Month'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial Console is disabled'; -$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; -$l['cs_heading'] = 'Serial Console'; -$l['cs_none'] = 'No existing console session found. Please create one !'; -$l['cs_create'] = 'Create Session'; -$l['cs_creating'] = 'Creating the Session ...'; -$l['cs_destroying'] = 'Destroying the Session ...'; -$l['cs_details'] = 'The following are the console details'; -$l['cs_expires'] = 'Expires'; -$l['cs_ip'] = 'IP Address'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Username'; -$l['cs_password'] = 'Password'; -$l['cs_destroy'] = 'Destroy Session'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Status logs'; -$l['sts_running'] = 'Funcionando'; -$l['sts_stopped'] = 'Parado'; -$l['sts_sts'] = 'System Status'; -$l['sts_time'] = 'Time'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'System Alerts'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tasks'; -$l['tasks_task_started'] = 'Task is started'; -$l['tasks_no_tasks'] = 'There are no active task for this User'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'O campo nome de usuário está vazio'; -$l['login_no_password'] = 'O campo senha está vazio'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'Você usou o máximo de tentativas para fazer o login. Você teve tentativas de login com falha! Por favor aguarde minutos antes de tentar novamente. Não se esqueça que a senha é case sensitive. Esqueçeu sua senha? Por favor, acesse o esqueci a senha.'; -$l['login_sign_in'] = 'Entrar'; -$l['login_log_user'] = 'Email ou Usuário'; -$l['login_log_pass'] = 'Senha'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; -$l['login'] = 'Login'; -$l['login_pass_nomatch'] = 'O nome de usuário ou senha digitada está incorreta.'; -$l['login_forgotpass'] = 'Esqueci a senha'; -$l['login_emailuser'] = 'Email'; -$l['login_enteremail'] = 'Digite seu endereço de e-mail'; -$l['login_sub_email'] = 'Enviar'; -$l['login_no_email'] = 'Você não informou o seu endereço de e-mail'; -$l['login_invalidemail'] = 'O endereço de e-mail que você enviou é inválido'; -$l['login_mail_sub'] = 'Redefinir Senha'; -$l['login_mail_body'] = 'Ola, - -Um pedido para redefinir sua senha foi feito. -Se você não solicitou a redefinição de senha, por favor, ignore este e-mail. - -Se você gostaria de redefinir sua senha, clique no URL abaixo : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; -Atenção: link acima é válido por apenas 24 horas. - -Atenciosamente, -'; -$l['login_mail_done'] = 'Um e-mail foi enviado com os detalhes para redefinir sua senha'; -$l['login_back_to_login'] = 'Voltar ao Login'; -$l['login_resetpass'] = 'Redefinir Senha'; -$l['login_log_new_pass'] = 'Nova Senha'; -$l['login_log_reppass'] = 'Confirmar Senha'; -$l['login_changepass'] = 'Mudar Senha'; -$l['login_no_key'] = 'Não foi informado um key para Redefinir a senha'; -$l['login_invalidkey'] = 'O key informado não é válido'; -$l['login_no_new'] = 'Por favor informe uma senha válida'; -$l['login_no_reppass'] = 'Por favor insira a confirmação da senha'; -$l['login_no_match'] = 'As senhas que você informou não correspondem'; -$l['login_keyexpire'] = 'A key não é mais válido'; -$l['login_passchanged'] = 'Senha alterada com sucesso.'; -$l['login_forgot_pass'] = 'Esqueci a senha'; -$l['login_goto_login'] = 'Goto Login Page'; -$l['login_no_2fa_key'] = 'Invalid Authentication key'; -$l['login_inv_user'] = 'Invalid User'; - -// OTP on login -$l['login_twofactit'] = 'Two Factor Authentication'; -$l['login_enterotp'] = 'Enter the one time password'; -$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; -$l['login_incorrect_otp'] = 'Incorrect Code'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Recipe execution error'; -$l['recipe_no_selected'] = 'No recipe selected'; -$l['recipe_wrong'] = 'Incorrect recipe selected'; -$l['recipe_heading'] = 'Recipes'; -$l['recipe_choose'] = 'Choose Recipe'; -$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; -$l['recipe_update'] = 'Cook Recipe'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Recipe has been cooked'; -$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'No description'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Recipe'; -$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; -$l['rec_short_desc'] = 'Recipes are predefined bash codes'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH is disabled by Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; -$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; -$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Set Timer'; -$l['sd_action_start'] = 'Start'; -$l['sd_action_stop'] = 'Stop'; -$l['sd_action_restart'] = 'Restart'; -$l['sd_action_poweroff'] = 'Power Off'; -$l['sd_action_title'] = 'Action'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; -$l['time_updated'] = 'Action updated'; -$l['time_deleted'] = 'Action deleted'; -$l['time_added'] = 'Action added'; -$l['sd_invalid_action'] = 'Invalid action'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Scan the QR Code or enter the Secret key given below into your two factor authentication app. After that the app will provide you a unique OTP which you have to enter into the text box to enable Two Factor Authentication.'; +$l['twofactauth_secret_key'] = 'Secret Key : '; +$l['twofactauth_code_input'] = 'Confirmation code'; +$l['twofactauth_code_input_exp'] = 'Enter the OTP received in the email or from the App'; +$l['twofactauth_submit'] = 'Submit'; +$l['twofactauth_select_pref'] = 'Select Preference : '; +$l['twofactauth_select_pref_desc'] = 'Select the Two Factor Authentication type and then enter the code to enable it'; +$l['twofactauth_disabled'] = 'Two Factor Authentication has been disabled'; +$l['twofactauth_enabled'] = 'Two Factor Authentication has been enabled'; +$l['twofactauth_err_enable'] = 'Pass Code entered is incorrect'; +$l['twofactauth_email_passcode'] = 'Email Code'; +$l['twofactauth_none'] = 'None (Not Recommended !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Enable App (Google authenticator, Authy etc..)'; +$l['twofactauth_no_passcode'] = 'Please specify the OTP'; +$l['twofactauth_changes_saved'] = 'Your changes have been saved successfully'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'The OTP could not be generated'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Reset Key'; +$l['twofactauth_email_sent_to'] = 'OTP will be sent to :'; +$l['twofactauth_otp_mail_body'] = 'Hi, + +A login request was submitted for your account at : +{{site_domain}} + +Please use the following One Time password (OTP) to login : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Two Factor Authentication Confirmation code'; +$l['twofactauth_passcode_mail_body'] = 'Hi, + +The confirmation code to enable Two Factor Authentication for your account at {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP has been emailed to your Email Address'; +$l['twofactauth_secret_key_conf'] = 'WARNING : If you reset the secret key you will have to update your apps with the new one. Are you sure you want to continue ?'; +$l['twofactauth_otp_expired'] = 'The OTP you submitted is expired !!'; +$l['twofactauth_not_allowed'] = 'You are not allowed to access this page'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'You did not enter the Email ID'; +$l['adu_no_user_password'] = 'You did not enter the Password'; +$l['adu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['adu_userlimit_exceeded'] = 'You are not allowed to create more users. Please contact the Administrator'; +$l['adu_useradd_error'] = 'There was an error while adding the user. Please contact the Administrator'; +$l['adu_page_head'] = 'Add User'; +$l['adu_done'] = 'User has been added'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Password'; +$l['adu_user_exists'] = 'The user already exists. Please enter a different email'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Você não especificou a nova senha.'; +$l['cpas_no_conf'] = 'A confirmação de senha está faltando.'; +$l['cpas_no_match'] = 'As senhas que você informou não correspondem'; +$l['cpas_err_changing'] = 'Houve um erro ao alterar a senha.'; +$l['cpas_submit_button'] = 'Mudar senha'; +$l['cpas_new_pass'] = 'Nova senha'; +$l['cpas_old_pass'] = 'Senha antiga'; +$l['cpas_retype_pass'] = 'Repita a nova senha'; +$l['cpas_change_note'] = 'Mudar senha root'; +$l['cpas_change_final'] = 'Sua senha foi alterada com sucesso'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Alterando senha root do '.VM_SHORT.'...'; +$l['cpas_strength_indicator'] = 'Strength Indicator'; +$l['cpas_bad'] = 'Bad'; +$l['cpas_good'] = 'Good'; +$l['cpas_strong'] = 'Strong'; +$l['cpas_short'] = 'Short'; +$l['cpas_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['cpas_pass_match'] = 'Passwords do not match'; +$l['cpas_disabled'] = 'Change Password is disabled by Admin'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Resources'; +$l['cr_resource_type'] = 'Resource Type'; +$l['cr_limit'] = 'Limit'; +$l['cr_used'] = 'Used'; +$l['cr_left'] = 'Available'; +$l['cr_unlimited'] = 'Unlimited'; +$l['cr_num_vs'] = 'Number of VMs'; +$l['cr_num_users'] = 'Number of Users'; +$l['cr_num_space'] = 'Disk Space'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Bandwidth'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Subnets'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Information'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Por favor, especifique um hostname para mudar.'; +$l['hn_new_host'] = 'Novo hostname'; +$l['hn_submit_button'] = 'Mudar'; +$l['hn_err_changing'] = 'Houve um erro durante a mudança de hostname.'; +$l['hn_host_final'] = 'Seu hostname foi alterado com sucesso'; +$l['hn_invalid_hostname'] = 'O hostname que você informou não é válido'; +$l['hn_change_onboot'] = 'O seu hostname será alterado quando o '.VM_SHORT.' for reiniciado'; +$l['hn_current_hostname'] = 'Hostname atual'; +$l['hn_change_notify'] = 'Mudando hostname...'; +$l['hn_disable_change_hostname'] = 'Change Hostname is disabled by Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Nenhum IP selecionado'; +$l['ips_ip_not_exists'] = 'IPs não existem'; +$l['ips_header'] = ' IPs'; +$l['ips_ipinfo'] = 'Informação de IP'; +$l['ips_reorderips'] = 'Definir IP primário'; +$l['ips_done'] = 'As configurações de IP foram salvas.'; +$l['ips_change_onboot'] = 'As configurações de IP serão aplicadas quando o '.VM_SHORT.' for reiniciado'; +$l['ips_primary_ip'] = 'Selecione o IP primário '; +$l['ips_ipv6_ips_list'] = 'IPs IPv6'; +$l['ips_ipv6_empty'] = 'IPv6 vazio'; +$l['ips_change_notify'] = 'Alterando as configurações de IP...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'Informação de CPU'; +$l['mon_totalcpu'] = 'CPU total :'; +$l['mon_cpuutilised'] = 'Utilizada : '; +$l['mon_poweredby'] = 'Desenvolvida por : '; +$l['mon_graphheader'] = 'Utilização de CPU'; +$l['mon_trademarks'] = 'Todos respectivos logotipos utilizados são marcas comerciais ou registradas de suas respectivas empresas.'; +$l['mon_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Network'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Network Info'; +$l['mon_ntw_down_spd'] = 'Average Download Speed'; +$l['mon_ntw_upld_spd'] = 'Average Upload Speed'; +$l['mon_disabled'] = 'Monitor option is disabled by Admin'; +$l['mon_cpu_usage'] = 'CPU Usage'; +$l['mon_inode_usage'] = 'Inode Usage'; +$l['mon_ram_usage'] = 'RAM Usage'; +$l['mon_disk_usage'] = 'Disk Usage'; +$l['mon_down_speed'] = 'Download Speed'; +$l['mon_up_speed'] = 'Upload Speed'; +$l['mon_total_speed'] = 'Total Speed'; +$l['mon_cpu_hist'] = 'CPU Usage History'; +$l['mon_mem_hist'] = 'Memory Usage History'; +$l['mon_storage'] = 'Storage Used'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Inodes Used'; +$l['mon_net_speed'] = 'Network Speed'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Você não selecionou o sistema operacional'; +$l['os_invalid_os'] = 'O sistema operacional selecionado é inválido'; +$l['os_no_new'] = 'Você não especificou a nova senha.'; +$l['os_no_conf'] = 'A confirmação de senha está faltando.'; +$l['os_no_match'] = 'As senhas que você informou não correspondem'; +$l['os_error_reins'] = 'Houve um erro ao reinstalar o SO'; +$l['os_err_changing'] = 'Houve um erro ao definir a senha.'; +$l['os_err_log_osreinstall'] = 'Você excedeu o seu limite de reinstalações de SO. Por favor, entre em contato com o administrador'; +$l['os_reins_os'] = 'Reinstalar SO'; +$l['os_os_reinstall'] = 'Reinstall'; +$l['os_new_pass'] = 'Nova senha'; +$l['os_retype_pass'] = 'Repita a nova senha'; +$l['os_genram_psswd'] = 'Make another random password'; +$l['os_done'] = 'The OS reinstall process has been started in the background'; +$l['os_reins_notify'] = 'Reinstalando o sistema operacional do '.VM_SHORT.' ...'; +$l['os_centos_line1'] = 'CentOS is an Enterprise-class Linux Distribution derived from sources freely provided to the public by a prominent North American Enterprise Linux vendor.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'Bad'; +$l['os_good'] = 'Good'; +$l['os_strong'] = 'Strong'; +$l['os_short'] = 'Short'; +$l['os_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['os_pass_match'] = 'Passwords do not match'; +$l['os_reinstall_wait'] = 'Reinstalling the OS, Please wait...'; +$l['os_reinstall_disabled'] = 'Reinstallation of OS is disabled by Admin'; +$l['os_no_os'] = 'No OS(s) available for reinstall'; +$l['os_rebuild_data_lost_warn'] = 'Are you sure you want to rebuild '.VM_SHORT.' ? Warning : Existing data on '.VM_SHORT.' will be lost permanently.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Informação do VNC'; +$l['vnc_vnc_ip'] = 'IP do VNC'; +$l['vnc_vnc_port'] = 'Porta do VNC'; +$l['vnc_novnc_button'] = 'Launch HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Launch Java VNC Viewer'; +$l['vnc_notice'] = 'VNC só vai funcionar se java está instalado e ativado em seu navegador'; +$l['vnc_not_enabled'] = 'VNC não está ativado'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Você não especificou a nova senha.'; +$l['vncpas_no_conf'] = 'A confirmação de senha está faltando.'; +$l['vncpas_no_match'] = 'As senhas que você informou não correspondem'; +$l['vncpas_err_changing'] = 'Houve um erro ao alterar a senha.'; +$l['vncpas_no_nonalphanumeric'] = 'Caracteres não-alfanuméricos não são permitidos'; +$l['vncpas_submit_button'] = 'Mudar senha do VNC'; +$l['vncpas_new_pass'] = 'Nova senha'; +$l['vncpas_old_pass'] = 'Senha antiga'; +$l['vncpas_retype_pass'] = 'Repita a nova senha'; +$l['vncpas_change_note'] = 'Mudar senha do VNC'; +$l['vncpas_change_final'] = 'Sua senha do VNC foi alterada com sucesso.'; +$l['vncpas_change_notify'] = 'Mudando senha do VNC...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Você não especificou a nova senha'; +$l['up_no_conf'] = 'A confirmação da senha está faltando'; +$l['up_no_match'] = 'As senhas que você informou não correspondem'; +$l['up_err_changing'] = 'Houve um erro ao alterar a senha.'; +$l['up_new_pass'] = 'Nova senha'; +$l['up_old_pass'] = 'Senha antiga'; +$l['up_retype_pass'] = 'Repita a nova senha'; +$l['up_page_head'] = 'Mudar senha'; +$l['up_change_final'] = 'Sua senha foi alterada com sucesso'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Change Profile'; +$l['pr_no_fname'] = 'Você não informou o nome'; +$l['pr_no_lname'] = 'Você não informou o sobre nome'; +$l['pr_firstname'] = 'Nome'; +$l['pr_lastname'] = 'Sobre nome'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Suas alterações foram salvas com sucesso'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Services'; +$l['ser_sstart'] = 'Iniciar'; +$l['ser_sstop'] = ' Parar'; +$l['ser_srestart'] = 'Reiniciar'; +$l['ser_status'] = 'Status'; +$l['ser_statrun'] = 'Funcionando'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Auto iniciar'; +$l['ser_select'] = 'Selecionar'; +$l['ser_vps_is_off'] = 'O '.VM_SHORT.' está desligado!'; +$l['ser_no_feature'] = 'Este recurso não está disponível!'; +$l['ser_notice_start'] = 'O serviço selecionado está sendo iniciado..'; +$l['ser_notice_stop'] = 'O serviço selecionado está sendo parado..'; +$l['ser_notice_restart'] = 'O serviço selecionado está sendo reiniciado..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'List of Processes'; +$l['proc_usr'] = 'Usuário'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Comando'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'tempo'; +$l['proc_select'] = 'selecionar'; +$l['proc_pstart'] = 'iniciar'; +$l['proc_pkill'] = 'Matar'; +$l['proc_prefresh'] = 'Autorefresh'; +$l['proc_vps_is_off'] = 'O '.VM_SHORT.' está desligado!'; +$l['proc_no_feature'] = 'Opção não disponível!'; +$l['proc_notice_pkill'] = 'Parando os processos selecionados :'; +$l['proc_with_selected'] = 'With Selected :'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Data'; +$l['log_task'] = 'Ação'; +$l['log_status'] = 'Status'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Successful'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Manage IPv6 Subnets'; +$l['mng_done'] = 'IPs were saved successfully'; +$l['mng_add_ipv6'] = 'Add an Ipv6 address'; +$l['mng_add_ip_button'] = 'Add IP'; +$l['mng_back_button'] = 'Back'; +$l['mng_save_button'] = 'Save'; +$l['mng_delete_confirm'] = 'Are you sure you want to delete this IPv6 address ?'; +$l['mng_ipv6_invalid'] = 'There was some error with the IPv6 address'; +$l['mng_ipv6_address'] = 'IPv6 Address'; +$l['mng_ipv6_delete'] = 'Delete'; +$l['mng_ipv6_subnet'] = 'IPv6 Subnet'; +$l['mng_edit_subnet'] = 'Edit'; +$l['mng_no_vps'] = 'No '.VM_SHORT.' Found'; +$l['mng_inv_ipaddress'] = 'The IP specified does not belong to you'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Gerenciar registro'; +$l['mz_zone_conf_del'] = 'Tem certeza de que deseja excluir o servidor PDNS?'; +$l['mz_add_pdns'] = 'Add servidor PDNS'; +$l['mz_dns_mgmt'] = 'Gerenciamento DNS'; +$l['mz_zone_add_done'] = 'O registro foi adicionado com sucesso'; +$l['mz_add_zone'] = 'Add registro'; +$l['mz_zone_name'] = 'Nome do registro'; +$l['mz_pdns_zones'] = 'Ver Registros'; +$l['mz_manage_zone'] = 'Gerenciar'; +$l['mz_conf_del'] = 'Tem certeza de que deseja excluir este registro?'; +$l['mz_add_done'] = 'O registro foi adicionado com sucesso'; +$l['mz_edit_done'] = 'O registro foi editado com sucesso'; +$l['mz_del_done'] = 'O registro foi apagado com sucesso'; +$l['mz_priority'] = 'Priority'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Type'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Points to'; +$l['mz_txt_value'] = 'TXT Value'; +$l['mz_pdns_name'] = 'Nome do servidor'; +$l['mz_submit_button'] = 'Add registro'; +$l['mz_edit_button'] = 'Editar registro'; +$l['mz_no_domains'] = 'Não há zonas em registro'; +$l['mz_err_addzone'] = 'Houve um erro ao adicionar o registro'; +$l['mz_inv_name'] = 'Hostname inválido'; +$l['mz_inv_ip'] = 'Endereço IP inválido'; +$l['mz_inv_tld'] = 'Domínio de nível superior inválido'; +$l['mz_inv_ipv6'] = 'IPv6 inválido'; +$l['mz_inv_int'] = 'Informação digitada inválida'; +$l['mz_err_add'] = 'Houve um erro ao adicionar o registro'; +$l['mz_err_del'] = 'Houve um erro ao adicionar o registro'; +$l['mz_err_edit'] = 'Houve um erro ao adicionar o registro'; +$l['mz_err_soa'] = 'Houve um erro ao atualizar o serial SOA'; +$l['mz_rec_exists'] = 'O registro já existe'; +$l['mz_records_limit'] = 'O limite de registos foi atingido'; +$l['mz_err_connect'] = 'Ocorreu um erro durante a conexão com o nameserver'; +$l['mz_zone_restricted'] = 'The Zone you are trying to edit is restricted'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Tem certeza de que deseja excluir este domínio?'; +$l['pdns_page_head'] = 'Gerenciamento DNS'; +$l['pdns_add_done'] = 'A zona foi adicionada com sucesso'; +$l['pdns_delete_done'] = 'The Zone has been deleted successfully'; +$l['pdns_add_zone'] = 'Adicionar zona'; +$l['pdns_zone_name'] = 'Nome da zona'; +$l['pdns_manage_zone'] = 'Gerenciar'; +$l['pdns_no_domains'] = 'Não há zonas no registro'; +$l['pdns_no_name'] = 'O nome de domínio não foi especificado'; +$l['pdns_err_addzone'] = 'Houve um erro ao adicionar a zona'; +$l['pdns_err_delete'] = 'Houve um erro ao excluir a zona'; +$l['pdns_inv_domain'] = 'O nome de domínio especificado é inválido'; +$l['pdns_limit_domains'] = 'O número máximo de domínios que podem ser adicionados foi atingido'; +$l['pdns_domain_exists'] = 'Este nome de domínio já existe'; +$l['pdns_err_connect'] = 'Houve um erro na conexão com o nameserver'; +$l['pdns_no_dns'] = 'Gerenciamento de DNS não disponível'; +$l['pdns_invalid_zone'] = 'The DNS Zone you are trying to delete is invalid'; +$l['pdns_primary_nameserver'] = 'Primary Nameserver'; +$l['pdns_hostmaster_email'] = 'Domain Admin Email'; +$l['pdns_inv_email'] = 'Invalid Domain Admin Email specified'; +$l['pdns_inv_ns'] = 'Invalid Primary Nameserver specified'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Add Reverse DNS'; +$l['rdns_zone_name'] = 'Zone Name'; +$l['rdns_exp_zone_name'] = 'The Zone Name'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Select server'; +$l['rdns_exp_pdns_server'] = 'The DNS server to add the record to'; +$l['rdns_sub_but'] = 'Submit'; +$l['rdns_rdns_ip'] = 'IP Address'; +$l['rdns_exp_rdns_ip'] = 'Enter your '.VM_SHORT.' IP address'; +$l['rdns_rdns_domain'] = 'Domain name'; +$l['rdns_exp_rdns_domain'] = 'Enter the Fully qualified domain name'; +$l['rdns_no_rnds_ip'] = 'Please enter the IP address'; +$l['rdns_no_rdns_domain'] = 'Please enter the Domain name'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID is invalid'; +$l['rdns_err_zone'] = 'RDNS Zone entry not found. Please contact the Administrator'; +$l['rdns_is_rdns'] = 'Reverse DNS entry already present'; +$l['rdns_no_dns'] = 'The DNS server has not been setup by the Admin. Please contact the Admin for this.'; +$l['rdns_no_zone_name'] = 'The zone name was not specified'; +$l['rdns_no_ns'] = 'The nameserver must be specified. Atleast two are required'; +$l['rdns_no_hostmasteremail'] = 'The hostmaster email was not specified'; +$l['rdns_inv_revzone'] = 'The Reverse DNS zone specified is invalid'; +$l['rdns_inv_ns'] = 'The nameserver TLDs specified are invalid'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Could not connect to the server. Please check if it is online'; +$l['rdns_err_save'] = 'There was an error in saving the data'; +$l['rdns_done'] = 'The reverse DNS zone has been successfully added'; +$l['rdns_zone_exists'] = 'This zone already exists'; +$l['rdns_inv_ipaddress'] = 'IP address entered is invalid'; +$l['rdns_rdns_existing'] = 'rDNS Records'; +$l['rdns_deleted'] = 'The rDNS record has been deleted'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Name'; +$l['rdns_domain'] = 'Domain'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'You did not enter the Email ID'; +$l['edu_no_user_password'] = 'You did not enter the Password'; +$l['edu_invalid_email'] = 'The Email ID you have entered is invalid'; +$l['edu_uid_not_found'] = 'User ID not found'; +$l['edu_useradd_error'] = 'There was an error while editing the user details'; +$l['edu_page_head'] = 'Edit User'; +$l['edu_done'] = 'User has been edited'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Password'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'There were some errors while enabling rescue mode'; +$l['resc_err_rescue_disable'] = 'There were some errors while disabling the rescue mode'; +$l['resc_err_downloading'] = 'There was an error downloading the rescue template'; +$l['resc_err_delete_disk'] = 'There was an error while deleting the rescue disk'; +$l['resc_cant_rescue'] = 'Rescue operation is not allowed when an ISO is in use. Please remove the ISO first'; +$l['resc_heading'] = 'Rescue Mode'; +$l['resc_rescue_exp'] = 'Rescue mode provides the ability to boot a small Linux environment from another disk so that you can rescue your primary linux '.VM_SHORT.' or backup files that are present on it'; +$l['resc_enable_rescue'] = 'Enable Rescue Mode'; +$l['resc_rescue_enabled'] = 'Rescue Mode is currently enabled.'; +$l['resc_disable_rescue'] = 'Disable Rescue Mode'; +$l['resc_rescue_disabled'] = 'Rescue Mode is currently disabled.'; +$l['resc_resuce_enable_success'] = 'The process to enable rescue mode has been started in the background'; +$l['resc_resuce_disable_success'] = 'The process to disable rescue mode has been started in the background'; +$l['resc_rescue_enable_notify'] = 'Enabling rescue mode...'; +$l['resc_rescue_disable_notify'] = 'Disabling rescue mode...'; +$l['resc_root_pass'] = 'Root Password'; +$l['resc_root_pass_conf'] = 'Confirm Password'; +$l['resc_disable_rescue_err'] = 'Rescue Mode is disabled by Admin'; +$l['resc_passwords_do_not_match'] = 'The specified password and confirmation password do not match'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Nenhuma linguagem foi selecionada '; +$l['us_wrong_lang'] = 'O idioma selecionado não existe'; +$l['us_no_timezone'] = 'Você não selecionou o fuso horário '; +$l['us_timezone_invalid'] = 'O fuso horário selecionado é inválido'; +$l['us_wrong_theme'] = 'O tema selecionado não existe'; +$l['us_page_head'] = 'Configurações do '.VM_SHORT; +$l['us_change_final'] = 'Suas configurações foram salvas com sucesso '; +$l['us_choose_lang'] = 'Escolha o idioma '; +$l['us_exp_lang'] = 'Escolha o seu idioma preferido'; +$l['us_timezone'] = 'Região'; +$l['us_default_timezone'] = 'Servidor Padrão '; +$l['us_edit_settings'] = 'Editar Configurações'; +$l['us_done'] = 'Suas configurações foram salvas com sucesso'; +$l['us_choose_theme'] = 'Escolha o tema'; +$l['us_exp_theme'] = 'Escolha o seu tema preferido'; +$l['us_no_theme'] = 'Nenhum tema foi selecionado'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'If empty default Logo will be displayed'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Please specify the type of Virtualization'; +$l['li_num_vs_over'] = 'You have already created the maximum number of VMs allowed'; +$l['li_no_hname'] = 'Please specify the Hostname'; +$l['li_no_os'] = 'Please choose a OS for the '.VM_SHORT; +$l['li_no_rootpass'] = 'Please specify a Root Password'; +$l['li_no_disk_space'] = 'Please specify the Disk Space to be allocated'; +$l['li_no_ram'] = 'Please specify the RAM memory'; +$l['li_no_vncpass'] = 'Please specify a VNC Password'; +$l['li_no_bandwidth'] = 'Please specify the Bandwidth'; +$l['li_no_cpu_units'] = 'Please specify the CPU Units'; +$l['li_no_cpu_cores'] = 'Please specify the Number of Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'The Region you selected is invalid'; +$l['li_invalid_plid'] = 'The Plan you selected is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'The Region you selected does not support the virtualization you have chosen'; +$l['li_no_percent_cpu'] = 'Please specify the Percent CPU utilization allowed'; +$l['li_no_swap_ram'] = 'Please specify the SWAP RAM'; +$l['li_no_burst_ram'] = 'Please specify the Burstable RAM limit'; +$l['li_invalid_os'] = 'The OS you submitted is invalid'; +$l['li_no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['li_invalid_uid'] = 'The User you submitted does not exist'; +$l['li_no_user'] = 'You did not specify the user email'; +$l['li_no_user_pass'] = 'You did not specify the user password'; +$l['li_invalid_email'] = 'The user email address is invalid'; +$l['li_emailexist'] = 'The new user email you specified already exists'; +$l['li_err_user'] = 'There was an error while adding the user'; +$l['li_invalid_hostname'] = 'The hostname you submitted is not valid'; +$l['li_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['li_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['li_less_inodes'] = 'The inodes should not be less than 50000'; +$l['li_less_vs'] = 'You are not allowed to create more VMs'; +$l['li_less_bandwidth'] = 'You don\'t have enough Bandwidth to create this '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['li_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'You have reached the maximum number of Users you are allowed to create'; +$l['li_no_server'] = 'The Region you have selected is completely utilized and does not have enough resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['li_no_webuzo_template'] = 'The OS Template you selected is not a Webuzo Template'; +$l['li_err_swapsize'] = 'The SWAP size specified cannot be greater than or equal to the total disk space specified'; +$l['li_inv_kvm_cache'] = 'The Disk Cache submitted is invalid'; +$l['li_inv_io_mode'] = 'The I/O Policy submitted is invalid'; +$l['li_inv_vnc_keymap'] = 'The VNC keymap submitted is invalid'; +$l['li_err_vpslimit'] = VM_SHORT.' creation limit exceeded'; +$l['li_page_head'] = 'Launch '.VM_SHORT; +$l['li_vstype'] = 'Type'; +$l['li_done'] = 'The '.VM_LONG.'. has been created.'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Name'; +$l['li_newvs_rootpass'] = 'Root Password'; +$l['li_newvs_vnc'] = 'VNC Details'; +$l['li_newvs_vncpass'] = 'VNC Password'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Server'; +$l['li_exp_server'] = 'Change the current server to change the server'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'User'; +$l['li_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['li_user_email'] = 'User Email'; +$l['li_user_pass'] = 'Password'; +$l['li_add_user'] = 'Add User'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Virtualization'; +$l['li_os'] = 'Operating System'; +$l['li_select'] = 'Select'; +$l['li_vs_plan'] = 'Select Plan'; +$l['li_plan_exp'] = 'Select a pre-defined plan'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Do you want to enable full virtualization for this '.VM_SHORT.' ?'; +$l['li_vsos'] = 'Operating System'; +$l['li_vsos_exp'] = 'Select the Operating System for the '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['li_sec_vsiso'] = 'ISO for secondary CDROM '; +$l['li_sec_vsiso_exp'] = 'Select an ISO for secondary CDROM'; +$l['li_none'] = 'None'; +$l['li_rootpass'] = VM_SHORT.' Root Password'; +$l['li_rootpass_exp'] = 'The Password of the Root User / Administrator of the '.VM_SHORT; +$l['li_randpass'] = 'Make another Random Password'; +$l['li_hostname'] = 'Hostname'; +$l['li_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['li_ip'] = 'IP Address'; +$l['li_ips_exp'] = 'You can specify the number of IPs to assign'; +$l['li_ips'] = 'IP Address'; +$l['li_ips6_subnet'] = 'IPv6 Subnets'; +$l['li_ips6_subnet_exp'] = 'You can specify the number of IPv6 Subnets to assign'; +$l['li_ips6'] = 'IPv6 Addresses'; +$l['li_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Remove this IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Space'; +$l['li_exp_hdd'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_mac'] = 'MAC Address'; +$l['li_exp_mac'] = 'Six groups of two hexadecimal digits separated by colons (:), Eg like 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'The maximum number of Inodes (i.e. Files) allowed within the '.VM_SHORT.'. Recommended value : 500000+'; +$l['li_gram'] = 'Guaranteed RAM'; +$l['li_exp_gram'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_band'] = 'Bandwidth'; +$l['li_exp_band'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Units'; +$l['li_cpalloc'] = 'CPU units to be allocated'; +$l['li_cpalloc_xen'] = 'Recommended Value : 256'; +$l['li_cpalloc_openvz'] = 'Recommended Value : 1000'; +$l['li_cpalloc_kvm'] = 'Recommended Value : 1024'; +$l['li_units'] = 'units'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Recommended Value :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'The CPU time in percent the corresponding '.VM_SHORT.' is not allowed to exceed.
Set 0 for no restriction.
Recommended Value : 40'; +$l['li_io'] = 'I/O Priority'; +$l['li_io0-7'] = 'Choose priority from 0-7'; +$l['li_na'] = 'Network Speed'; +$l['li_na_exp'] = 'Please Mention the Network Speed'; +$l['li_ubcsettings'] = 'UBC Settings'; +$l['li_exp_ubc'] = 'If checked then you will be redirected to edit the UBC Settings of the '.VM_SHORT; +$l['li_submit'] = 'Create'; +$l['li_addvoption'] = 'Advanced Options'; +$l['li_addvhide'] = 'Hide Advance option'; +$l['li_network_speed'] = 'Network Speed'; +$l['li_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_upload_speed'] = 'Upload Speed'; +$l['li_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'No Restriction'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Recommended value : 8 MB'; +$l['li_vncpass'] = 'VNC Password'; +$l['li_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth suspend '; +$l['li_exp_band_suspend'] = 'Suspend the '.VM_SHORT.' if it is uses more than specified bandwidth'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Enable Tun/Tap for a '.VM_SHORT; +$l['li_exp_ppp'] = 'Enable PPP (Point to Point Protocol) for a '.VM_SHORT; +$l['li_osreinstall'] = 'OS Reinstall Limit'; +$l['li_exp_osreinstall'] = 'If you want to limit the number of OS re-installs per month.
Eg. 0 - is unlimited'; +$l['li_changenic'] = 'Virtual Network Interface Type'; +$l['li_exp_changenic'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['li_add_route'] = 'Use routed network'; +$l['li_exp_add_route'] = 'If checked, it will use routed networking.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Virtual Network Interface Emulation type'; +$l['li_exp_change_vif_type'] = 'If you want to change the network interface emulation type. Options are netfront or ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_exp_usevirtio'] = 'Use virtio as the IO virtualization'; +$l['li_usesec_cdrom'] = 'Enable Secondary CD ROM'; +$l['li_exp_usesec_cdrom'] = 'Enable this to attach a secondary ISO to the virtual machine.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Controls the cache mechanism'; +$l['li_io_mode'] = 'I/O Policy'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'If not aware then use 4.2.2.1 and 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Applications'; +$l['li_apps_exp'] = 'Choose the Webuzo application you want to install'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'If enabled, '.VM_SHORT.' will be created with the Ploop format'; +$l['li_mac_temp_vncdetails'] = 'MAC Address :'; +$l['li_mail_temp_vnctitle'] = 'The VNC details are :'; +$l['li_mail_temp_vncdetails'] = 'VNC Details :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Password :'; +$l['li_reinstall'] = 'Reinstall '.VM_LONG; +$l['li_space'] = 'Disk Space'; +$l['li_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['li_ram'] = 'Guaranteed RAM'; +$l['li_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'An attempt will be made to create a SWAP partition if there is a OS Template selected above'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['li_unlimited'] = 'Unlimited'; +$l['li_weak_pass'] = 'Password must contain atleast 3 of the following : An uppercase letter, a lower case letter, a number or a special symbol'; +$l['li_usevirtio'] = 'Enable virtio'; +$l['li_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'User'; +$l['ei_vs_user_exp'] = 'Select an existing user OR add a user'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Password'; +$l['ei_add_user'] = 'Add User'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Operating System'; +$l['ei_vsos_exp'] = 'The current operating system of this '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'If an ISO is selected the machine will be booted from that ISO'; +$l['ei_none'] = 'None'; +$l['ei_hostname'] = 'Hostname'; +$l['ei_hostname_exp'] = 'Enter the hostname for the '.VM_SHORT.'. e.g. www.domain.com'; +$l['ei_rootpass'] = VM_SHORT.' Root Password'; +$l['ei_rootpass_exp'] = 'Leave empty if you do not want to change the current password'; +$l['ei_randpass'] = 'Make another Random Password'; +$l['ei_ip'] = 'IP Address'; +$l['ei_ips_exp'] = 'You can choose from the IP Pool or specify other IPs'; +$l['ei_ips6_subnet'] = 'IPv6 Subnet'; +$l['ei_ips6_subnet_exp'] = 'You can choose from the IPv6 Subnet List'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'IPv6 Addresses'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign or choose from the IPv6 Pool'; +$l['ei_space'] = 'Disk Space'; +$l['ei_space_exp'] = 'The allowed disk space for the '.VM_SHORT; +$l['ei_ram'] = 'Guaranteed RAM'; +$l['ei_ram_exp'] = 'The amount of RAM which the '.VM_SHORT.' will always have'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'The maximum amount of RAM which the '.VM_SHORT.' can use'; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Monthly Bandwidth limit of the '.VM_SHORT.'. 0 (Zero) for unlimited'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Recommended Value :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Unlimited'; +$l['ei_network_speed'] = 'Network Speed'; +$l['ei_network_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Enter 0 or leave empty for no restriction.
Use the select box for easy options'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'No Restriction'; +$l['ei_vncpass'] = 'VNC Password'; +$l['ei_vncpass_exp'] = 'The VNC Password for the '.VM_SHORT.'. Click on the icon to generate a new random password'; +$l['ei_submit'] = 'Edit '.VM_LONG; +$l['ei_done'] = 'The '.VM_LONG.'. has been successfully edited.'; +$l['ei_addvoption'] = 'Advanced Options'; +$l['ei_no_uid'] = 'No user was selected'; +$l['ei_no_nonalphanumeric'] = 'No Non-Alphanumeric characters are allowed for the VNC Password'; +$l['ei_less_space'] = 'You don\'t have enough Disk Space to create this '.VM_SHORT; +$l['ei_less_ram'] = 'You don\'t have enough ram to create this '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'You are not allowed to create a '.VM_SHORT.' with so many cores'; +$l['ei_less_cores'] = 'You don\'t have enough CPU Cores to create this '.VM_SHORT; +$l['ei_less_burst'] = 'You don\'t have enough Burst Ram to create this '.VM_SHORT; +$l['ei_ipv4_over'] = 'The Region you have selected does not have enough IPv4 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_over'] = 'The Region you have selected does not have enough IPv6 resources to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_ipv6_subnet_over'] = 'The Region you have selected does not have enough IPv6 Subnet(s) to create this '.VM_SHORT.'. Please report this to the Admin'; +$l['ei_less_ipv4'] = 'You don\'t have enough IPv4 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6'] = 'You don\'t have enough IPv6 Address(s) to create this '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'You don\'t have enough IPv6 Subnet(s) to create this '.VM_SHORT; +$l['ei_wrong_user'] = 'You cannot change to that user'; +$l['ei_only_user'] = 'While editing the user of the '.VM_SHORT.', the resources cannot be changed'; +$l['ei_less_swap'] = 'You don\'t have enough swap ram'; +$l['ei_usevirtio'] = 'Enable virtio'; +$l['ei_usevirtio_exp'] = 'Use virtio as the I/O virtualization'; +$l['ei_less_bandwidth'] = 'You don\'t have enough Bandwidth resource to assign to this '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'O painel selecionado é inválido'; +$l['cpan_err_installing'] = 'Houve um erro ao instalar o painel'; +$l['cpan_wrong_os'] = 'The Control panel cannot be installed on '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'A instalação do painel foi iniciada e será concluída em breve'; +$l['cpan_change_onboot'] = 'O painel será instalado quando você reiniciar o '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Control panels'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'This virtualization is not having HVM Settings'; +$l['hvm_rescue_enabled'] = 'The '.VM_SHORT.' is in rescue mode and cannot be changed'; +$l['hvm_invalid_iso'] = 'A ISO selecionada é inválida'; +$l['hvm_err_editing'] = 'Houve um erro ao salvar as configurações'; +$l['hvm_heading'] = 'HVM Settings'; +$l['hvm_submit_button'] = 'Salvar'; +$l['hvm_done'] = 'As configurações foram salvas com sucesso'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Ordem do boot'; +$l['hvm_isos'] = 'Selecione uma ISO'; +$l['hvm_none'] = 'Nenhum'; +$l['hvm_tuntap_enable'] = 'Enable Tun/Tap'; +$l['hvm_ppp_enable'] = 'Enable PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'HVM Settings are disabled by Admin'; +$l['hvm_hdd'] = 'Hard Disk'; +$l['hvm_cdrom'] = 'CD Drive'; +$l['hvm_vnc_keymap'] = 'VNC Console Keymap'; +$l['hvm_enable_vga'] = 'Enable VGA'; +$l['hvm_enable_acceleration'] = 'Enable Acceleration'; +$l['hvm_enable_acceleration_exp'] = 'If checked then 2D and 3D acceleration will be enabled for the '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO for secondary CDROM '; +$l['hvm_sec_iso_exp'] = 'Select an ISO for secondary CDROM'; +$l['hvm_nic_type'] = 'Virtual Network Interface Type'; +$l['hvm_nic_type_exp'] = 'If you want to change the network interface type. Options are default or E1000. virtio will be used as the virtual nic type if virtio is enabled'; +$l['nic_default'] = 'Realtek 8139(default)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Enable Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'Informação da CPU'; +$l['cpu_totalcpu'] = 'CPU total :'; +$l['cpu_cpuutilised'] = 'Utilizada : '; +$l['cpu_poweredby'] = 'Desenvolvida pela : '; +$l['cpu_graphheader'] = 'Utilização da CPU'; +$l['cpu_trademarks'] = 'Todos respectivos logotipos utilizados são marcas comerciais ou registradas de suas respectivas empresas.'; +$l['cpu_not_supported'] = 'Monitorar a utilização atual deste recurso não é suportado.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'Informação da RAM'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'RAM garantida: '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Utilizada :'; +$l['ram_percentram'] = 'Utilização em % :'; +$l['ram_graphheader'] = 'Utilização de RAM'; +$l['ram_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Disco'; +$l['disk_diskinfo'] = 'Informação do disco'; +$l['disk_totaldisk'] = 'Disco total : '; +$l['disk_diskutilised'] = 'Utilizado : '; +$l['disk_percentdisk'] = 'Utilização em % : '; +$l['disk_graphheader'] = 'Utilização de disco'; +$l['disk_inodesinfo'] = 'Informação de Inodes'; +$l['disk_inodestotal'] = 'Total de Inodes :'; +$l['disk_inodesutilised'] = 'Utilizado : '; +$l['disk_percent_inodes'] = 'Utilização em % :'; +$l['disk_inodesheader'] = 'Utilização de Inodes'; +$l['disk_not_supported'] = 'Monitorar a utilização atual do recurso não é suportado.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Tráfego'; +$l['band_bandwidthinfo'] = 'Informação de tráfego'; +$l['band_Total_Bandwidth'] = 'Tráfego total :'; +$l['band_bandwidth_utilized'] = 'Utilizado : '; +$l['band_percent_utilized'] = 'Utilizado em % : '; +$l['band_graphheader'] = 'Utilização de tráfego'; +$l['band_unlimited'] = 'Ilimitado'; +$l['band_network_speed'] = 'Network Speed (MB/s)'; +$l['band_prev'] = 'Prev Month'; +$l['band_next'] = 'Next Month'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial Console is disabled'; +$l['cs_call_failed'] = 'The API call failed. Please contact the Admin'; +$l['cs_heading'] = 'Serial Console'; +$l['cs_none'] = 'No existing console session found. Please create one !'; +$l['cs_create'] = 'Create Session'; +$l['cs_creating'] = 'Creating the Session ...'; +$l['cs_destroying'] = 'Destroying the Session ...'; +$l['cs_details'] = 'The following are the console details'; +$l['cs_expires'] = 'Expires'; +$l['cs_ip'] = 'IP Address'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Username'; +$l['cs_password'] = 'Password'; +$l['cs_destroy'] = 'Destroy Session'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Status logs'; +$l['sts_running'] = 'Funcionando'; +$l['sts_stopped'] = 'Parado'; +$l['sts_sts'] = 'System Status'; +$l['sts_time'] = 'Time'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'System Alerts'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tasks'; +$l['tasks_task_started'] = 'Task is started'; +$l['tasks_no_tasks'] = 'There are no active task for this User'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Proocess Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'O campo nome de usuário está vazio'; +$l['login_no_password'] = 'O campo senha está vazio'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'Você usou o máximo de tentativas para fazer o login. Você teve tentativas de login com falha! Por favor aguarde minutos antes de tentar novamente. Não se esqueça que a senha é case sensitive. Esqueçeu sua senha? Por favor, acesse o esqueci a senha.'; +$l['login_sign_in'] = 'Entrar'; +$l['login_log_user'] = 'Email ou Usuário'; +$l['login_log_pass'] = 'Senha'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; +$l['login'] = 'Login'; +$l['login_pass_nomatch'] = 'O nome de usuário ou senha digitada está incorreta.'; +$l['login_forgotpass'] = 'Esqueci a senha'; +$l['login_emailuser'] = 'Email'; +$l['login_enteremail'] = 'Digite seu endereço de e-mail'; +$l['login_sub_email'] = 'Enviar'; +$l['login_no_email'] = 'Você não informou o seu endereço de e-mail'; +$l['login_invalidemail'] = 'O endereço de e-mail que você enviou é inválido'; +$l['login_mail_sub'] = 'Redefinir Senha'; +$l['login_mail_body'] = 'Ola, + +Um pedido para redefinir sua senha foi feito. +Se você não solicitou a redefinição de senha, por favor, ignore este e-mail. + +Se você gostaria de redefinir sua senha, clique no URL abaixo : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; +Atenção: link acima é válido por apenas 24 horas. + +Atenciosamente, +'; +$l['login_mail_done'] = 'Um e-mail foi enviado com os detalhes para redefinir sua senha'; +$l['login_back_to_login'] = 'Voltar ao Login'; +$l['login_resetpass'] = 'Redefinir Senha'; +$l['login_log_new_pass'] = 'Nova Senha'; +$l['login_log_reppass'] = 'Confirmar Senha'; +$l['login_changepass'] = 'Mudar Senha'; +$l['login_no_key'] = 'Não foi informado um key para Redefinir a senha'; +$l['login_invalidkey'] = 'O key informado não é válido'; +$l['login_no_new'] = 'Por favor informe uma senha válida'; +$l['login_no_reppass'] = 'Por favor insira a confirmação da senha'; +$l['login_no_match'] = 'As senhas que você informou não correspondem'; +$l['login_keyexpire'] = 'A key não é mais válido'; +$l['login_passchanged'] = 'Senha alterada com sucesso.'; +$l['login_forgot_pass'] = 'Esqueci a senha'; +$l['login_goto_login'] = 'Goto Login Page'; +$l['login_no_2fa_key'] = 'Invalid Authentication key'; +$l['login_inv_user'] = 'Invalid User'; + +// OTP on login +$l['login_twofactit'] = 'Two Factor Authentication'; +$l['login_enterotp'] = 'Enter the one time password'; +$l['login_no_otp'] = 'Please enter the One Time Password (OTP)'; +$l['login_incorrect_otp'] = 'Incorrect Code'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Recipe execution error'; +$l['recipe_no_selected'] = 'No recipe selected'; +$l['recipe_wrong'] = 'Incorrect recipe selected'; +$l['recipe_heading'] = 'Recipes'; +$l['recipe_choose'] = 'Choose Recipe'; +$l['recipe_exp_choose_recipe'] = 'Choose the recipe you want to cook'; +$l['recipe_update'] = 'Cook Recipe'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Recipe has been cooked'; +$l['recipe_exec_onboot'] = 'Recipe will be cooked when you reboot the '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'No description'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Recipe'; +$l['conf_execute'] = 'Are you sure you want to cook this recipe ?'; +$l['rec_short_desc'] = 'Recipes are predefined bash codes'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH is disabled by Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Are you sure you want set timer ?'; +$l['sd_confirm_delete'] = 'Are you sure you want delete timer ?'; +$l['sd_date_alert'] = 'Please enter date in mm/dd/yyyy format'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Set Timer'; +$l['sd_action_start'] = 'Start'; +$l['sd_action_stop'] = 'Stop'; +$l['sd_action_restart'] = 'Restart'; +$l['sd_action_poweroff'] = 'Power Off'; +$l['sd_action_title'] = 'Action'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['sd_action_edit_desc'] = 'To edit please enter the data and submit'; +$l['time_updated'] = 'Action updated'; +$l['time_deleted'] = 'Action deleted'; +$l['time_added'] = 'Action added'; +$l['sd_invalid_action'] = 'Invalid action'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/index_lang.php index d8594d2..667ea6a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/portuguese/index_lang.php @@ -1,441 +1,441 @@ -Hoje em ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Erro no tema';//Title -$l['init_theme_error'] = 'Não foi possível carregar o arquivo do tema - &soft-1;. '; - -$l['init_theme_func_error_t'] = 'Erro na função tema';//Title -$l['init_theme_func_error'] = 'Não é possível carregar a função(ões) do tema de &soft-1;. '; - -$l['load_theme_settings_error'] = 'Não foi possível carregar o arquivo de configurações de temas.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Os seguintes erros foram encontrados'; - -//Success Message Function -$l['following_message'] = 'A seguinte mensagem foi retornada'; - -//Major Error Function -$l['fatal_error'] = 'Erro fatal'; -$l['following_fatal_error'] = 'Ocorreu o seguinte erro'; - -//Message Function -$l['soft_message'] = 'Mensagem'; -$l['following_soft_message'] = 'A seguinte mensagem foi retornada'; - -$l['err_user_head'] = 'Erro'; -$l['err_user'] = 'Não foi possível determinar o tipo de usuário'; - -//Update Softaculous -$l['getting_info'] = 'Solicitando informação......'; -$l['error_getting_latest'] = 'Não foi possível obter informações......Abandonando'; -$l['got_info'] = 'Tem informação'; -$l['manual_mode'] = 'A nova versão do Softaculous requer atenção manual......Abandonando'; -$l['no_updates'] = 'Versão atual é a mais recente versão......Continuando'; -$l['fetch_upgrade'] = 'Buscando atualização......'; -$l['error_fetch_upgrade'] = 'Não foi possível obter o arquivo de atualização......Abandonando'; -$l['error_save_upgrade'] = 'Não foi possível salvar o arquivo de atualização......Abandonando'; -$l['got_upgrade'] = 'Arquivo de atualização salvo'; -$l['unzip_upgrade'] = 'Descompactando os arquivos......'; -$l['error_unzip_upgrade'] = 'Erro ao descompactar......Abandonando'; -$l['unzipped_upgrade'] = 'Descompactado com sucesso'; -$l['running_upgrade'] = 'Executando atualização......'; -$l['succ_upgrade'] = 'Concluído'; -$l['error_upgrade'] = 'Ocorreram os seguintes erros durante a atualização :'; - -//MySQL Errors -$l['err_selectmy'] = 'O banco de dados MySQL não pode ser selecionado.'; -$l['err_myconn'] = 'A Conexão MySQL não pôde ser estabelecida.'; -$l['err_makequery'] = 'Não foi possível fazer a consulta numerada'; -$l['err_mynum'] = 'Erro MySQL número'; -$l['err_myerr'] = 'Erro MySQL'; - -//hf_theme.php -$l['welcome'] = 'Bem vindo(a)'; -$l['logout'] = 'Sair'; -$l['page_time'] = 'Página gerada em '; -$l['times_are'] = 'Todos os horários são GMT'; -$l['time_is'] = 'A hora agora é'; -$l['load_start'] = 'Iniciando'; -$l['load_stop'] = 'Parando'; -$l['load_restart'] = 'Reiniciando'; -$l['load_poweroff'] = 'Desligando'; - -//The Category Language Variables -$l['dock_restart'] = 'Reiniciar Container'; -$l['dock_stop'] = 'Parar Container'; -$l['dock_start'] = 'Iniciar Container'; -$l['dock_poweroff'] = 'Desligar Container'; -$l['dock_home'] = 'Início'; -$l['dock_settings'] = 'Editar configurações'; -$l['dock_help'] = 'Ajuda e Suporte'; -$l['dock_sync'] = 'Sincronizar com outros Auto Instaladores'; -$l['go_home'] = 'Início'; -$l['dock_user'] = 'Perfil do usuário'; -$l['dock_password'] = 'Mudar senha'; -$l['dock_vps'] = 'Lista de '.VM_SHORT; - -// Left Menu -$l['lm_file_mgr'] = 'Gerenciador de arquivos'; -$l['lm_res'] = 'Recursos'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Processos'; -$l['lm_service'] = 'Serviços'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'Senha VNC'; -$l['lm_statusc'] = 'Status dos Logs'; -$l['lm_res_a'] = 'Alertas do sistema'; -$l['lm_logs'] = 'Logs de tarefas'; -$l['lm_bandwidth'] = 'Tráfego'; -$l['lm_accountpass'] = 'Account Password'; -$l['lm_changepass'] = 'Senha da conta'; -$l['lm_controlpanel'] = 'Painel de controle'; -$l['lm_recipes'] = 'Recipes'; -$l['lm_disk'] = 'Disco'; -$l['lm_ostemp'] ='Reinstalar SO'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Logs'; -$l['lm_ips'] = 'IPs'; -$l['lm_hvmsettings'] = 'Configuração do '.VM_SHORT; -$l['lm_apikey'] = 'Credenciais de API'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Support'; -$l['lm_self_shutdown'] = 'Self Shut Down'; -$l['lm_tasks'] = 'Tasks'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - -// Users left menu -$l['lm_vs'] = 'Lista de '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Configurações'; -$l['lm_profile'] = 'Meu perfil'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'You are an Admin'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Digite a página para pular'; -$l['page_page'] = 'Página'; -$l['page_of'] = 'de'; -$l['page_go'] = 'Ir'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'O '.VM_SHORT.' não foi encontrado na base de dados'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'O template do SO não foi encontrado'; -$l['build_no_ip'] = 'O IP primário está faltando no '.VM_SHORT; -$l['build_no_os_iso'] = 'Nenhum template de SO ou arquivo ISO foi encontrado'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Você iniciou no kernel errado - '; -$l['correct_kernel'] = 'Por favor, reinicie com o kernel correto.'; -$l['kvm_module'] = 'O módulo de Linux-KVM não foi carregado.'; -$l['kvm_network'] = 'O '.$globals['bridge'].' não foi iniciado. Por favor execute service virtnetwork start'; -$l['temp_exists'] = 'O arquivo de template já existe'; -$l['temp_snap_err'] = 'O Snapshot não pode ser criada e, portanto, a criação do template falhou'; -$l['wrong_xm'] = 'The XEN module is not loaded correctly'; -$l['lxc_module'] = 'LXC is not installed.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Houve um erro ao criar o LVM do '.VM_SHORT; -$l['xen_err_swap'] = 'Houve um erro na criação do SWAP do '.VM_SHORT; -$l['xen_err_tmp'] = 'O foi um erro na criação do Ponto de Montagem'; -$l['xen_err_mount'] = 'Houve um erro na montagem da LVM '.VM_SHORT; -$l['xen_err_unmount'] = 'Houve um erro na desmontagem do LVM '.VM_SHORT; -$l['xen_err_dd'] = 'Houve um erro ao instalar o '.VM_SHORT; -$l['xen_err_mkfs'] = 'Ocorreu um erro durante a formatação do '.VM_SHORT; -$l['xen_err_mkswap'] = 'Ocorreu um erro durante a formatação do SWAP do '.VM_SHORT; -$l['xen_err_untar'] = 'Houve um erro ao extrair o template do SO'; -$l['xen_err_part'] = 'Houve um erro ao criar a partição de disco(s)'; -$l['xen_err_kpart'] = 'Houve um erro ao mapear a partição(ões)'; -$l['xen_err_resizefs'] = 'Houve um erro durante o redimensionamento do sistema de arquivos'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; -$l['xcp_err_iso'] = 'There was an error while loading the ISO'; -$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'Houve um erro ao criar o LVM do '.VM_SHORT; -$l['kvm_err_mount'] = 'Houve um erro na montagem da LVM '.VM_SHORT; -$l['kvm_err_unmount'] = 'Houve um erro na desmontagem do LVM '.VM_SHORT; -$l['kvm_err_dd'] = 'Houve um erro ao instalar o '.VM_SHORT; -$l['kvm_err_resizefs'] = 'Houve um erro durante o redimensionamento do sistema de arquivos'; -$l['kvm_err_part'] = 'Houve um erro ao criar a partição de disco(s)'; -$l['kvm_err_kpart'] = 'Houve um erro ao mapear a partição(ões)'; -$l['kvm_err_mkswap'] = 'Ocorreu um erro durante a formatação do SWAP do '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; -$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; -$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; -$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors - -$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; -$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; -$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; -$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; - -$l['kvm_err_tar'] = 'Houve um erro ao comprimir o arquivo'; -$l['xen_err_tar'] = 'Houve um erro ao comprimir o arquivo'; -$l['kvm_err_untar'] = 'Houve um erro ao descompactar o arquivo'; -$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; -$l['err_vzdump'] = 'Houve um erro com a ferramenta de backup'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'Houve um erro ao salvar as configurações UBC'; -$l['openvz_err_ostemplate'] = 'Houve um erro ao definir o template do SO'; -$l['openvz_err_space'] = 'Houve um erro ao definir o espaço em disco'; -$l['openvz_err_inodes'] = 'Houve um erro ao definir o espaço em disco (Inodes)'; -$l['openvz_err_hostname'] = 'Houve um erro ao definir o hostname'; -$l['openvz_err_ip'] = 'Houve um erro ao definir o endereço IP'; -$l['openvz_err_dns'] = 'Houve um erro definir o DNS'; -$l['openvz_err_cpu'] = 'Houve um erro ao definir as CPU units'; -$l['openvz_err_cpulim'] = 'Houve um erro ao estabelecer o limite da CPU'; -$l['openvz_err_cores'] = 'Houve um erro definir os núcleos de CPU'; -$l['openvz_err_ioprio'] = 'Houve um erro ao definir a prioridade IO'; -$l['openvz_err_create'] = 'Houve um erro ao criar o container'; -$l['vswap_error'] = 'Houve um erro ao configurar as definições VSwap'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Online'; -$l['lm_status_offline'] = 'Offline'; -$l['lm_status_suspended'] = 'Suspended'; -$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; -$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; -$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; -$l['bandwidth_mail_message'] = 'Hi, - -Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hi - -Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) -'; - -$l['self_shutdown_start'] = 'Started'; -$l['self_shutdown_stop'] = 'Shutdown'; -$l['self_shutdown_restart'] = 'restarted'; -$l['self_shutdown_poweroff'] = 'Powered Off'; - -$l['self_shutdown_start_failed'] = 'Failed to Start'; -$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; -$l['self_shutdown_restart_failed'] = 'Failed to Restart'; -$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Hoje em ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Erro no tema';//Title +$l['init_theme_error'] = 'Não foi possível carregar o arquivo do tema - &soft-1;. '; + +$l['init_theme_func_error_t'] = 'Erro na função tema';//Title +$l['init_theme_func_error'] = 'Não é possível carregar a função(ões) do tema de &soft-1;. '; + +$l['load_theme_settings_error'] = 'Não foi possível carregar o arquivo de configurações de temas.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Os seguintes erros foram encontrados'; + +//Success Message Function +$l['following_message'] = 'A seguinte mensagem foi retornada'; + +//Major Error Function +$l['fatal_error'] = 'Erro fatal'; +$l['following_fatal_error'] = 'Ocorreu o seguinte erro'; + +//Message Function +$l['soft_message'] = 'Mensagem'; +$l['following_soft_message'] = 'A seguinte mensagem foi retornada'; + +$l['err_user_head'] = 'Erro'; +$l['err_user'] = 'Não foi possível determinar o tipo de usuário'; + +//Update Softaculous +$l['getting_info'] = 'Solicitando informação......'; +$l['error_getting_latest'] = 'Não foi possível obter informações......Abandonando'; +$l['got_info'] = 'Tem informação'; +$l['manual_mode'] = 'A nova versão do Softaculous requer atenção manual......Abandonando'; +$l['no_updates'] = 'Versão atual é a mais recente versão......Continuando'; +$l['fetch_upgrade'] = 'Buscando atualização......'; +$l['error_fetch_upgrade'] = 'Não foi possível obter o arquivo de atualização......Abandonando'; +$l['error_save_upgrade'] = 'Não foi possível salvar o arquivo de atualização......Abandonando'; +$l['got_upgrade'] = 'Arquivo de atualização salvo'; +$l['unzip_upgrade'] = 'Descompactando os arquivos......'; +$l['error_unzip_upgrade'] = 'Erro ao descompactar......Abandonando'; +$l['unzipped_upgrade'] = 'Descompactado com sucesso'; +$l['running_upgrade'] = 'Executando atualização......'; +$l['succ_upgrade'] = 'Concluído'; +$l['error_upgrade'] = 'Ocorreram os seguintes erros durante a atualização :'; + +//MySQL Errors +$l['err_selectmy'] = 'O banco de dados MySQL não pode ser selecionado.'; +$l['err_myconn'] = 'A Conexão MySQL não pôde ser estabelecida.'; +$l['err_makequery'] = 'Não foi possível fazer a consulta numerada'; +$l['err_mynum'] = 'Erro MySQL número'; +$l['err_myerr'] = 'Erro MySQL'; + +//hf_theme.php +$l['welcome'] = 'Bem vindo(a)'; +$l['logout'] = 'Sair'; +$l['page_time'] = 'Página gerada em '; +$l['times_are'] = 'Todos os horários são GMT'; +$l['time_is'] = 'A hora agora é'; +$l['load_start'] = 'Iniciando'; +$l['load_stop'] = 'Parando'; +$l['load_restart'] = 'Reiniciando'; +$l['load_poweroff'] = 'Desligando'; + +//The Category Language Variables +$l['dock_restart'] = 'Reiniciar Container'; +$l['dock_stop'] = 'Parar Container'; +$l['dock_start'] = 'Iniciar Container'; +$l['dock_poweroff'] = 'Desligar Container'; +$l['dock_home'] = 'Início'; +$l['dock_settings'] = 'Editar configurações'; +$l['dock_help'] = 'Ajuda e Suporte'; +$l['dock_sync'] = 'Sincronizar com outros Auto Instaladores'; +$l['go_home'] = 'Início'; +$l['dock_user'] = 'Perfil do usuário'; +$l['dock_password'] = 'Mudar senha'; +$l['dock_vps'] = 'Lista de '.VM_SHORT; + +// Left Menu +$l['lm_file_mgr'] = 'Gerenciador de arquivos'; +$l['lm_res'] = 'Recursos'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Processos'; +$l['lm_service'] = 'Serviços'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'Senha VNC'; +$l['lm_statusc'] = 'Status dos Logs'; +$l['lm_res_a'] = 'Alertas do sistema'; +$l['lm_logs'] = 'Logs de tarefas'; +$l['lm_bandwidth'] = 'Tráfego'; +$l['lm_accountpass'] = 'Account Password'; +$l['lm_changepass'] = 'Senha da conta'; +$l['lm_controlpanel'] = 'Painel de controle'; +$l['lm_recipes'] = 'Recipes'; +$l['lm_disk'] = 'Disco'; +$l['lm_ostemp'] ='Reinstalar SO'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Logs'; +$l['lm_ips'] = 'IPs'; +$l['lm_hvmsettings'] = 'Configuração do '.VM_SHORT; +$l['lm_apikey'] = 'Credenciais de API'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Support'; +$l['lm_self_shutdown'] = 'Self Shut Down'; +$l['lm_tasks'] = 'Tasks'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + +// Users left menu +$l['lm_vs'] = 'Lista de '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Configurações'; +$l['lm_profile'] = 'Meu perfil'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'You are an Admin'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Digite a página para pular'; +$l['page_page'] = 'Página'; +$l['page_of'] = 'de'; +$l['page_go'] = 'Ir'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'O '.VM_SHORT.' não foi encontrado na base de dados'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'O template do SO não foi encontrado'; +$l['build_no_ip'] = 'O IP primário está faltando no '.VM_SHORT; +$l['build_no_os_iso'] = 'Nenhum template de SO ou arquivo ISO foi encontrado'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Você iniciou no kernel errado - '; +$l['correct_kernel'] = 'Por favor, reinicie com o kernel correto.'; +$l['kvm_module'] = 'O módulo de Linux-KVM não foi carregado.'; +$l['kvm_network'] = 'O '.$globals['bridge'].' não foi iniciado. Por favor execute service virtnetwork start'; +$l['temp_exists'] = 'O arquivo de template já existe'; +$l['temp_snap_err'] = 'O Snapshot não pode ser criada e, portanto, a criação do template falhou'; +$l['wrong_xm'] = 'The XEN module is not loaded correctly'; +$l['lxc_module'] = 'LXC is not installed.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Houve um erro ao criar o LVM do '.VM_SHORT; +$l['xen_err_swap'] = 'Houve um erro na criação do SWAP do '.VM_SHORT; +$l['xen_err_tmp'] = 'O foi um erro na criação do Ponto de Montagem'; +$l['xen_err_mount'] = 'Houve um erro na montagem da LVM '.VM_SHORT; +$l['xen_err_unmount'] = 'Houve um erro na desmontagem do LVM '.VM_SHORT; +$l['xen_err_dd'] = 'Houve um erro ao instalar o '.VM_SHORT; +$l['xen_err_mkfs'] = 'Ocorreu um erro durante a formatação do '.VM_SHORT; +$l['xen_err_mkswap'] = 'Ocorreu um erro durante a formatação do SWAP do '.VM_SHORT; +$l['xen_err_untar'] = 'Houve um erro ao extrair o template do SO'; +$l['xen_err_part'] = 'Houve um erro ao criar a partição de disco(s)'; +$l['xen_err_kpart'] = 'Houve um erro ao mapear a partição(ões)'; +$l['xen_err_resizefs'] = 'Houve um erro durante o redimensionamento do sistema de arquivos'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'There was an error while creating the VDI of the '.VM_SHORT; +$l['xcp_err_iso'] = 'There was an error while loading the ISO'; +$l['xcp_err_vif'] = 'There was an error while creating VIF for the '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'Houve um erro ao criar o LVM do '.VM_SHORT; +$l['kvm_err_mount'] = 'Houve um erro na montagem da LVM '.VM_SHORT; +$l['kvm_err_unmount'] = 'Houve um erro na desmontagem do LVM '.VM_SHORT; +$l['kvm_err_dd'] = 'Houve um erro ao instalar o '.VM_SHORT; +$l['kvm_err_resizefs'] = 'Houve um erro durante o redimensionamento do sistema de arquivos'; +$l['kvm_err_part'] = 'Houve um erro ao criar a partição de disco(s)'; +$l['kvm_err_kpart'] = 'Houve um erro ao mapear a partição(ões)'; +$l['kvm_err_mkswap'] = 'Ocorreu um erro durante a formatação do SWAP do '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'There was an error while extracting the OS template'; +$l['lxc_err_unmount'] = 'There was an error in unmounting the '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'There was an error while resizing the filesystem'; +$l['lxc_network'] = 'The '.$globals['bridge'].' is not started. Please run service virtnetwork start'; +$l['lxc_err_mount'] = 'There was an error in mounting the '.VM_SHORT.' storage'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors + +$l['backup_err_mount'] = 'There was an error in mounting the LVM for temporary storage'; +$l['backup_err_lvm'] = 'There was an error creating the LVM of the for temporary storage.'; +$l['backup_err_mkfs'] = 'There was an error while formatting the temporary storage'; +$l['backup_err_mkdir'] = 'There was an error while creating the temporary storage mount point directory'; + +$l['kvm_err_tar'] = 'Houve um erro ao comprimir o arquivo'; +$l['xen_err_tar'] = 'Houve um erro ao comprimir o arquivo'; +$l['kvm_err_untar'] = 'Houve um erro ao descompactar o arquivo'; +$l['backup_err_untar'] = 'There was an error while uncompressing the archive'; +$l['err_vzdump'] = 'Houve um erro com a ferramenta de backup'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'Houve um erro ao salvar as configurações UBC'; +$l['openvz_err_ostemplate'] = 'Houve um erro ao definir o template do SO'; +$l['openvz_err_space'] = 'Houve um erro ao definir o espaço em disco'; +$l['openvz_err_inodes'] = 'Houve um erro ao definir o espaço em disco (Inodes)'; +$l['openvz_err_hostname'] = 'Houve um erro ao definir o hostname'; +$l['openvz_err_ip'] = 'Houve um erro ao definir o endereço IP'; +$l['openvz_err_dns'] = 'Houve um erro definir o DNS'; +$l['openvz_err_cpu'] = 'Houve um erro ao definir as CPU units'; +$l['openvz_err_cpulim'] = 'Houve um erro ao estabelecer o limite da CPU'; +$l['openvz_err_cores'] = 'Houve um erro definir os núcleos de CPU'; +$l['openvz_err_ioprio'] = 'Houve um erro ao definir a prioridade IO'; +$l['openvz_err_create'] = 'Houve um erro ao criar o container'; +$l['vswap_error'] = 'Houve um erro ao configurar as definições VSwap'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Online'; +$l['lm_status_offline'] = 'Offline'; +$l['lm_status_suspended'] = 'Suspended'; +$l['vps_is_suspended'] = 'This '.VM_SHORT.' is suspended. You cannot perform any operations for the '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'This '.VM_SHORT.' is suspended due to Bandwidth Over Usage. You cannot perform any operations for the '.VM_SHORT.' !'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Change will occur when the '.VM_SHORT.' is booted again.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'There was an error while resizing the Disks'; +$l['mount_undetermined'] = 'No Linux Partition was found in the '.VM_SHORT; +$l['disk_destroy_err'] = 'There was an error while destroying the Disks'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'There was an error while trying to edit the '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspended due to Bandwidth Overuse'; +$l['bandwidth_mail_message'] = 'Hi, + +Your '.VM_SHORT.' `{{hostname}}` has been suspended because it has overused its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hi + +Your VM_SHORT {{vpsid}} has been {{action}} as per the time you had set ({{time}}) +'; + +$l['self_shutdown_start'] = 'Started'; +$l['self_shutdown_stop'] = 'Shutdown'; +$l['self_shutdown_restart'] = 'restarted'; +$l['self_shutdown_poweroff'] = 'Powered Off'; + +$l['self_shutdown_start_failed'] = 'Failed to Start'; +$l['self_shutdown_stop_failed'] = 'Failed to Shutdown'; +$l['self_shutdown_restart_failed'] = 'Failed to Restart'; +$l['self_shutdown_poweroff_failed'] = 'Failed to Power Off'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Failed to make proxmox api call. Please enter proxmox details at Configuration --> Slave Settings'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/russian/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/russian/enduser_lang.php index 662fe0a..ce0ce56 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/russian/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/russian/enduser_lang.php @@ -1,2126 +1,2126 @@ - Сканируйте QR-код или введите секретный ключ, указанный ниже, в свое двухфакторное приложение проверки подлинности. После этого приложение предоставит вам уникальный OTP, который вы должны ввести в текстовое поле, чтобы активировать двухуровневую аутентификацию.'; -$l['twofactauth_secret_key'] = 'Секретный ключ : '; -$l['twofactauth_code_input'] = 'Код подтверждения'; -$l['twofactauth_code_input_exp'] = 'Введите OTP, полученный по электронной почте или из приложения APP'; -$l['twofactauth_submit'] = 'Отправить'; -$l['twofactauth_select_pref'] = 'Выберите «Предпочтение»: '; -$l['twofactauth_select_pref_desc'] = 'Выберите тип проверки двухуровневоя, а затем введите код, чтобы включить его.'; -$l['twofactauth_disabled'] = 'Двухуровневая аутентификации были отключены'; -$l['twofactauth_enabled'] = 'Была активирована двухуровневая аутентификация'; -$l['twofactauth_err_enable'] = 'Неверный введенный код'; -$l['twofactauth_email_passcode'] = 'Email код'; -$l['twofactauth_none'] = 'Нет (не рекомендуется!)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Включить приложение (аутентификатор Google и т. Д.)'; -$l['twofactauth_no_passcode'] = 'Укажите, пожалуйста, OTP'; -$l['twofactauth_changes_saved'] = 'Ваши изменения успешно сохранены'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'OTP не может быть сгенерирован'; -$l['twofactauth_otp_mail_sub'] = 'Login OTP'; -$l['twofactauth_reset_key'] = 'Сбросить ключ'; -$l['twofactauth_email_sent_to'] = 'OTP будет отправлен по адресу:'; -$l['twofactauth_otp_mail_body'] = 'Здравствуй, - -Запрос на вход был отправлен для вашей учетной записи в : -{{site_domain}} - -Используйте пароль One Time (OTP) для входа в систему : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Код подтверждения двухуровневай аутентификации '; -$l['twofactauth_passcode_mail_body'] = 'Здравствуй, - -Код подтверждения для включения двухуровневоя аутентификации для вашей учетной записи в {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP отправлен на ваш адрес электронной почты'; -$l['twofactauth_secret_key_conf'] = 'ПРЕДУПРЕЖДЕНИЕ. Если вы сбросите секретный ключ, вам придется обновить свои приложения новым. Вы уверены что хотите продолжить ?'; -$l['twofactauth_otp_expired'] = 'OTP, который вы отправили, истек!'; -$l['twofactauth_not_allowed'] = 'Вы не можете получить доступ к этой странице'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'Вы не указали идентификатор электронной почты'; -$l['adu_no_user_password'] = 'Вы не указали пароль'; -$l['adu_invalid_email'] = 'Недействительный идентификатор электронной почты'; -$l['adu_userlimit_exceeded'] = 'Вам не разрешено создавать больше пользователей. Обратитесь к администратору'; -$l['adu_useradd_error'] = 'При добавлении пользователя произошла ошибка. Обратитесь к администратору'; -$l['adu_page_head'] = 'Добавить пользователя'; -$l['adu_done'] = 'Пользователь добавлен'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Пароль'; -$l['adu_user_exists'] = 'Пользователь уже существует. Введите другой адрес электронной почты'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Вы не указали новый пароль.'; -$l['cpas_no_conf'] = 'Пароль подтверждения отсутствует.'; -$l['cpas_no_match'] = 'Указанные пароли не совпадают'; -$l['cpas_err_changing'] = 'При изменении пароля произошла ошибка.'; -$l['cpas_submit_button'] = 'Изменить пароль'; -$l['cpas_new_pass'] = 'Новый пароль'; -$l['cpas_old_pass'] = 'Старый пароль'; -$l['cpas_retype_pass'] = 'Введите повторно новый пароль'; -$l['cpas_change_note'] = 'Изменить пароль root'; -$l['cpas_change_final'] = 'Ваш пароль был успешно изменен'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Изменение пароля пользователя '.VM_SHORT.' ...'; -$l['cpas_strength_indicator'] = 'Индикатор сложности'; -$l['cpas_bad'] = 'Слабый'; -$l['cpas_good'] = 'Нормальный'; -$l['cpas_strong'] = 'Хороший'; -$l['cpas_short'] = 'Сложный'; -$l['cpas_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; -$l['cpas_pass_match'] = 'Пароли не совпадают'; -$l['cpas_disabled'] = 'Изменнение пароля отключено администратором'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Облачные ресурсы'; -$l['cr_resource_type'] = 'Тип ресурса'; -$l['cr_limit'] = 'Лимит'; -$l['cr_used'] = 'Использовано'; -$l['cr_left'] = 'Доступный'; -$l['cr_unlimited'] = 'Безлимитный'; -$l['cr_num_vs'] = 'Количество '.VM_SHORT; -$l['cr_num_users'] = 'Количество пользователей'; -$l['cr_num_space'] = 'Дисковое пространство'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Пропускная способность'; -$l['cr_num_cores'] = 'Всего ядер'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'Подсегменты IPv6'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'Информация о процессоре'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial консоль отключена'; -$l['cs_call_failed'] = 'Не удалось выполнить вызов API. Пожалуйста, свяжитесь с администратором'; -$l['cs_heading'] = 'Serial консоль'; -$l['cs_none'] = 'Нет существующего сеанса консоли. Пожалуйста, создайте его!'; -$l['cs_create'] = 'Создать сеанс'; -$l['cs_creating'] = 'Создание сеанса ...'; -$l['cs_destroying'] = 'Завершение сеанса ...'; -$l['cs_details'] = 'Ниже приведены сведения о консоли'; -$l['cs_expires'] = 'Истекает'; -$l['cs_ip'] = 'IP адрес'; -$l['cs_port'] = 'Порт'; -$l['cs_username'] = 'Имя пользователя'; -$l['cs_password'] = 'Пароль'; -$l['cs_destroy'] = 'Завершить сеанс'; -$l['cs_java_console'] = 'Java косоль'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Укажите имя хоста, которое нужно изменить.'; -$l['hn_new_host'] = 'Новое имя хоста'; -$l['hn_submit_button'] = 'Изменить имя хоста'; -$l['hn_err_changing'] = 'При изменении имени хоста произошла ошибки.'; -$l['hn_host_final'] = 'Имя хоста успешно изменено'; -$l['hn_invalid_hostname'] = 'Имя хоста, которое вы указали, недействительно'; -$l['hn_change_onboot'] = 'Имя хоста будет изменено после перезагрузки '.VM_SHORT; -$l['hn_current_hostname'] = 'Текущее имя хоста'; -$l['hn_change_notify'] = 'Изменение имени хоста ...'; -$l['hn_disable_change_hostname'] = 'Изменение хоста отключено администратором'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'Не выбран IP-адрес'; -$l['ips_ip_not_exists'] = 'IP не существует'; -$l['ips_header'] = ' IP-адрес'; -$l['ips_ipinfo'] = 'IP-информация'; -$l['ips_reorderips'] = 'Установить первичный IP-адрес'; -$l['ips_done'] = 'Настройки IP-адреса сохранены.'; -$l['ips_change_onboot'] = 'Настройки IP будут изменены после перезагрузки '.VM_SHORT; -$l['ips_primary_ip'] = 'Выберите Первичный IP-адрес '; -$l['ips_ipv6_ips_list'] = 'IP-адреса IPV6'; -$l['ips_ipv6_empty'] = 'IPV6 Отсутствует'; -$l['ips_change_notify'] = 'Изменение настроек IP ...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU информация'; -$l['mon_totalcpu'] = 'Общее CPU :'; -$l['mon_cpuutilised'] = 'Использовано : '; -$l['mon_poweredby'] = 'Используется из : '; -$l['mon_graphheader'] = 'Использованно CPU'; -$l['mon_trademarks'] = 'Все соответствующие логотипы являются товарными знаками или зарегистрированными товарными знаками соответствующих компаний.'; -$l['mon_not_supported'] = 'На данный момент мониторинг использования ресурсов не поддерживается.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Диск'; -$l['mon_header_nodes'] = 'Дескриптор файлов'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Сеть'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Информация о сети'; -$l['mon_ntw_down_spd'] = 'Входящая скорость'; -$l['mon_ntw_upld_spd'] = 'Исходящая скорость'; -$l['mon_disabled'] = 'Опция Monitor отключена администратором'; -$l['mon_cpu_usage'] = 'Использование процессора'; -$l['mon_inode_usage'] = 'Использование дескриптора'; -$l['mon_ram_usage'] = ' Использовано RAM '; -$l['mon_disk_usage'] = 'Использовано Диска'; -$l['mon_down_speed'] = 'Входящая скорость'; -$l['mon_up_speed'] = 'Исходящая скорость'; -$l['mon_total_speed'] = 'Общая скорость'; -$l['mon_cpu_hist'] = 'История использования CPU'; -$l['mon_mem_hist'] = 'История использования RAM'; -$l['mon_storage'] = 'Использование хранилища'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Использование дескриптора'; -$l['mon_net_speed'] = 'Скорость сети'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Вы не выбрали ОС'; -$l['os_invalid_os'] = 'Выбранная ОС не найдена'; -$l['os_no_new'] = 'Вы не указали новый пароль.'; -$l['os_no_conf'] = 'Пароль подтверждения отсутствует.'; -$l['os_no_match'] = 'Указанные пароли не совпадают'; -$l['os_error_reins'] = 'При переустановке ОС произошла ошибка'; -$l['os_err_changing'] = 'При установке пароля произошла ошибка.'; -$l['os_err_log_osreinstall'] = 'Вы превысили лимит количество переустановок ОС. Обратитесь к администратору'; -$l['os_reins_os'] = 'Переустановка ОС'; -$l['os_os_reinstall'] = 'Переустановка'; -$l['os_new_pass'] = 'Новый пароль'; -$l['os_retype_pass'] = 'Повторите ввод пароля'; -$l['os_genram_psswd'] = 'Сгенерировать случайный пароль'; -$l['os_done'] = 'Процесс переустановки ОС был запущен в фоновом режиме'; -$l['os_reins_notify'] = 'Переустановка операционной системы '.VM_SHORT.' ...'; -$l['os_centos_line1'] = 'CentOS - это дистрибутив Linux корпоративного класса, основанный на источниках, свободно предоставляемых широкой публике известным североамериканским корпоративным производителем Linux.'; -$l['os_centos_line2'] = 'CentOS полностью соответствует политике перераспределения поставщиков и стремится быть совместимой с бинарными версиями на 100%. CentOS в основном изменяет пакеты, чтобы удалить брендинг и художественные работы производителя.'; -$l['os_centos_line3'] = 'CentOS разработан небольшой, но растущей группой разработчиков. CentOS является бесплатным.'; -$l['os_fedora_line1'] = 'Fedora - это операционная система на базе Linux, которая демонстрирует новейшие версии программного обеспечения с открытым исходным кодом. Fedora всегда свободна для тех, кто использует, модифицирует и распространяет.'; -$l['os_fedora_line2'] = 'Она поддерживается сообществом по всему миру, которые работают вместе как сообщество: проект Fedora. Проект Fedora открыт, и все желающие могут присоединиться.'; -$l['os_fedora_line3'] = 'Проект Fedora является одной из ведущей среди бесплатных ОС '; -$l['os_suse_line1'] = 'Проект openSUSE - это всемирное сообщество, которое способствует использованию Linux во всем мире.'; -$l['os_suse_line2'] = 'OpenSUSE создает один из лучших в мире дистрибутивов Linux, работая вместе открытым, прозрачным и дружелюбным образом в рамках сообщества Free и Open Source Software.'; -$l['os_suse_line3'] = 'Проект контролируется его сообществом и зависит от вклада отдельных лиц, работающих в качестве тестеров, переводчиков, экспертов по юзабилити, дизайнеров и разработчиков.'; -$l['os_suse_line4'] = 'OpenSUSE - бесплатная и основанная на Linux операционная система для вашего ПК, ноутбука или сервера.'; -$l['os_ubuntu_line1'] = 'Ubuntu является частью семейства операционных систем Linux Debian, у самое большое сообщество разработчиков, причем каждый пакет построен экспертами.'; -$l['os_ubuntu_line2'] = 'Canonical\'s контролируе качества, стресс-тестирование и дизайн продукта, улучшая качество Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Ubuntu - это надежная и интуитивно понятная операционная система, которая обеспечивает работу настольных компьютеров, серверов, нетбуков и ноутбуков. Ubuntu является и всегда будет абсолютно бесплатным.'; -$l['os_debian_line1'] = 'Debian - бесплатная операционная система (ОС) для вашего компьютера. Операционная система - это набор базовых программ и утилит, которые запускают ваш компьютер.'; -$l['os_debian_line2'] = 'Debian использует ядро Linux (ядро операционной системы), но большинство базовых инструментов ОС - это проект GNU; Отсюда и название GNU / Linux.'; -$l['os_debian_line3'] = 'Debian GNU / Linux предоставляет больше, чем чистую ОС: он поставляется с более чем 25000 пакетами, предварительно скомпилированным программным обеспечением, поставляемым в хорошем формате для легкой установки на вашем компьютере.'; -$l['os_scientific_line1'] = 'Scientific Linux - это дистрибутив Linux, созданный Национальной ускорительной лабораторией Fermi.'; -$l['os_scientific_line2'] = 'Это бесплатная и операционная система с открытым исходным кодом, основанная на Red Hat Enterprise Linux и нацеленная на то, чтобы быть «как можно ближе к распределению коммерческих предприятий, как мы можем ее получить».'; -$l['os_scientific_line3'] = 'Этот продукт получен из бесплатного программного обеспечения с открытым исходным кодом, доступного Red Hat, Inc., но не создается и не поддерживается Red Hat.'; -$l['os_strength_indicator'] = 'Индикатор сложности'; -$l['os_strength_indicator'] = 'Strength Indicator'; -$l['os_bad'] = 'низкая'; -$l['os_good'] = 'средняя'; -$l['os_strong'] = 'хороший'; -$l['os_short'] = 'сложный'; -$l['os_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; -$l['os_pass_match'] = 'Пароли не совпадают'; -$l['os_reinstall_wait'] = 'Переустановка ОС,пожалуйста, подождите ...'; -$l['os_reinstall_disabled'] = 'Переустановка ОС отключена администратором'; -$l['os_no_os'] = 'Нет ОС для переустановки'; -$l['os_rebuild_data_lost_warn'] = 'Вы действительно хотите перестроить '.VM_SHORT.'? Предупреждение: Существующие данные о '.VM_SHORT.' будут потеряны навсегда.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Информация о VNC'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC порт'; -$l['vnc_novnc_button'] = 'Запустить HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Запустить Java VNC Viewer'; -$l['vnc_notice'] = 'VNC будет работать только в том случае, если java установлен и включен в вашем браузере'; -$l['vnc_not_enabled'] = 'VNC не включен'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Вы не указали новый пароль.'; -$l['vncpas_no_conf'] = 'Пароль подтверждения отсутствует.'; -$l['vncpas_no_match'] = 'Указанные пароли не совпадают'; -$l['vncpas_err_changing'] = 'Во время изменения пароля произошла ошибка'; -$l['vncpas_no_nonalphanumeric'] = 'Нет символов, отличных от буквенно-цифровых символов'; -$l['vncpas_submit_button'] = 'Изменить пароль VNC'; -$l['vncpas_new_pass'] = 'Новый пароль'; -$l['vncpas_old_pass'] = 'Старый пароль'; -$l['vncpas_retype_pass'] = 'Введите повторно новый пароль'; -$l['vncpas_change_note'] = 'Изменить пароль VNC'; -$l['vncpas_change_final'] = 'Ваш пароль VNC был успешно изменен.'; -$l['vncpas_change_notify'] = 'Изменение пароля VNC ...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Вы не указали новый пароль'; -$l['up_no_conf'] = 'Пароль подтверждения отсутствует.'; -$l['up_no_match'] = 'Указанные пароли не совпадают'; -$l['up_err_changing'] = 'При изменении пароля возникла ошибка.'; -$l['up_new_pass'] = 'Новый пароль'; -$l['up_old_pass'] = 'Старый пароль'; -$l['up_retype_pass'] = 'Введите повторно новый пароль'; -$l['up_page_head'] = 'Изменить пароль'; -$l['up_change_final'] = 'Ваш пароль был успешно изменен'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Изменить профиль'; -$l['pr_no_fname'] = 'Вы не указали Имя'; -$l['pr_no_lname'] = 'Вы не указали фамилию'; -$l['pr_firstname'] = 'Имя'; -$l['pr_lastname'] = 'Фамилия'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Ваши изменения успешно сохранены'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Сервисы'; -$l['ser_sstart'] = 'Старт'; -$l['ser_sstop'] = 'Стоп'; -$l['ser_srestart'] = 'Перезагрузить'; -$l['ser_status'] = 'Состояние'; -$l['ser_statrun'] = 'Работает'; -$l['ser_statoff'] = 'Выкл'; -$l['ser_staton'] = 'Вкл'; -$l['ser_autostart'] = 'Авто-старт'; -$l['ser_select'] = 'Выбрать'; -$l['ser_vps_is_off'] = VM_SHORT.' выключен !'; -$l['ser_no_feature'] = 'Эта функция недоступна!'; -$l['ser_notice_start'] = 'Выбранная служба (ы) запускается..'; -$l['ser_notice_stop'] = 'Выбранные службы останавливаются.'; -$l['ser_notice_restart'] = 'Выбранные службы (ы) перезапускаются.'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'Список процессов'; -$l['proc_usr'] = 'Пользователь'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Команда'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'Время'; -$l['proc_select'] = 'Выбрать'; -$l['proc_pstart'] = 'Старт'; -$l['proc_pkill'] = 'Закрыть'; -$l['proc_prefresh'] = 'Автообновление'; -$l['proc_vps_is_off'] = VM_SHORT.' отключен!'; -$l['proc_no_feature'] = 'Эта функция недоступна!'; -$l['proc_notice_pkill'] = 'Остановка выбранного процесса (ов) :'; -$l['proc_with_selected'] = 'С выбранными:'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Дата'; -$l['log_task'] = 'Задача'; -$l['log_status'] = 'Статус'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Успешно'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Управление подсетими IPv6'; -$l['mng_done'] = 'IP-адреса успешно сохранены'; -$l['mng_add_ipv6'] = 'Добавить адрес Ipv6'; -$l['mng_add_ip_button'] = 'Добавить IP'; -$l['mng_back_button'] = 'Назад'; -$l['mng_save_button'] = 'Сохранить'; -$l['mng_delete_confirm'] = 'Вы действительно хотите удалить этот IPv6-адрес?'; -$l['mng_ipv6_invalid'] = 'Произошла неизвестная ошибка с адресом IPv6'; -$l['mng_ipv6_address'] = 'Адрес IPv6'; -$l['mng_ipv6_delete'] = 'Удалить'; -$l['mng_ipv6_subnet'] = 'Подсети IPv6'; -$l['mng_edit_subnet'] = 'Изменить'; -$l['mng_no_vps'] = VM_SHORT.' не найден'; -$l['mng_inv_ipaddress'] = 'Указанный IP-адрес не принадлежит вам'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Управление зоной'; -$l['mz_zone_conf_del'] = 'Вы действительно хотите удалить сервер PDNS?'; -$l['mz_add_pdns'] = 'Добавить сервер PDNS'; -$l['mz_dns_mgmt'] = 'DNS Management'; -$l['mz_zone_add_done'] = 'Зона успешно добавлена'; -$l['mz_add_zone'] = 'Добавить запись зоны'; -$l['mz_zone_name'] = 'Название зоны'; -$l['mz_pdns_zones'] = 'Просмотр зон'; -$l['mz_manage_zone'] = 'Управление'; -$l['mz_conf_del'] = 'Вы действительно хотите удалить эту запись?'; -$l['mz_add_done'] = 'Запись была успешно добавлена'; -$l['mz_edit_done'] = 'Запись успешно отредактирована'; -$l['mz_del_done'] = 'Запись успешно удалена'; -$l['mz_priority'] = 'Очередность'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Тип'; -$l['mz_host'] = 'Хост'; -$l['mz_points_to'] = 'Указывает на'; -$l['mz_txt_value'] = 'Значение TXT'; -$l['mz_pdns_name'] = 'Имя сервера'; -$l['mz_submit_button'] = 'Добавить запись'; -$l['mz_edit_button'] = 'Изменить запись'; -$l['mz_no_domains'] = 'В записи нет зон'; -$l['mz_err_addzone'] = 'Произошла ошибка с добавлением зоны'; -$l['mz_inv_name'] = 'Указано неверное имя хоста'; -$l['mz_inv_ip'] = 'Указан неверный IP-адрес'; -$l['mz_inv_tld'] = 'Недопустимый домен верхнего уровня'; -$l['mz_inv_ipv6'] = 'Указан неверный IPv6'; -$l['mz_inv_int'] = 'Недопустимое целое число'; -$l['mz_err_add'] = 'При добавлении записи произошла ошибка'; -$l['mz_err_del'] = 'При удалении записи произошла ошибка'; -$l['mz_err_edit'] = 'При изменении записи произошла ошибка'; -$l['mz_err_soa'] = 'При обновлении SOA-сервера произошла ошибка'; -$l['mz_rec_exists'] = 'Запись уже существует'; -$l['mz_records_limit'] = 'Добавлено максимально допустимое количество записсей'; -$l['mz_err_connect'] = 'Во время подключении к серверу имен произошла ошибка'; -$l['mz_zone_restricted'] = 'Зона, которую вы пытаетесь отредактировать, недоступна для редоктирования'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Вы действительно хотите удалить этот домен?'; -$l['pdns_page_head'] = 'Управление DNS'; -$l['pdns_add_done'] = 'Зона успешно добавлена'; -$l['pdns_delete_done'] = 'Зона удалена успешно'; -$l['pdns_add_zone'] = 'Добавить зону'; -$l['pdns_zone_name'] = 'Имя зоны'; -$l['pdns_manage_zone'] = 'Управление'; -$l['pdns_no_domains'] = 'На записи, нет зон'; -$l['pdns_no_name'] = 'Имя домена не указано'; -$l['pdns_err_addzone'] = 'Произошла ошибка при добавлении зоны'; -$l['pdns_err_delete'] = 'Не удалось удалить зону'; -$l['pdns_inv_domain'] = 'Указанное доменное имя недействительно.'; -$l['pdns_limit_domains'] = 'Достигнуто максимальное количество доменов, которые можно добавить.'; -$l['pdns_domain_exists'] = 'Это доменное имя уже существует'; -$l['pdns_err_connect'] = 'При подключении к серверу имен произошла ошибка'; -$l['pdns_no_dns'] = 'Управление DNS недоступно'; -$l['pdns_invalid_zone'] = 'Недопустимая зона DNS, которую вы пытаетесь удалить.'; -$l['pdns_primary_nameserver'] = 'Сервер первичного имени'; -$l['pdns_hostmaster_email'] = 'Адрес электронной почты домена'; -$l['pdns_inv_email'] = 'Недопустимый адрес электронной почты домена.'; -$l['pdns_inv_ns'] = 'Указан недопустимый сервер первичного имени'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Добавить обратный DNS'; -$l['rdns_zone_name'] = 'Название зоны'; -$l['rdns_exp_zone_name'] = 'Название зоны'; -$l['rdns_ns'] = 'Сервер имен'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Выбрать сервер'; -$l['rdns_exp_pdns_server'] = 'DNS-сервер, чтобы добавить запись в'; -$l['rdns_sub_but'] = 'Отправить'; -$l['rdns_rdns_ip'] = 'IP адрес'; -$l['rdns_exp_rdns_ip'] = 'Введите IP-адрес виртуальной машины'; -$l['rdns_rdns_domain'] = 'Доменное имя'; -$l['rdns_exp_rdns_domain'] = 'Введите полное доменное имя'; -$l['rdns_no_rnds_ip'] = 'Введите IP-адрес'; -$l['rdns_no_rdns_domain'] = 'Введите имя домена'; -$l['rdns_no_pdnsid'] = 'Не допустимы id'; -$l['rdns_err_zone'] = 'Запись зоны RDNS не найдена. Обратитесь к администратору'; -$l['rdns_is_rdns'] = 'Обратная запись DNS уже существует'; -$l['rdns_no_dns'] = 'Администратор DNS не был настроен DNS-сервером. Для этого свяжитесь с администратором.'; -$l['rdns_no_zone_name'] = 'Имя доменной зоны не указано'; -$l['rdns_no_ns'] = 'Необходимо указать не менее двух имен'; -$l['rdns_no_hostmasteremail'] = 'Не указан email hostmaster'; -$l['rdns_inv_revzone'] = 'Зона обратного DNS указана неверно.'; -$l['rdns_inv_ns'] = 'Недопустимые TLD сервера имен'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Не удалось установить соединение с сервером. Проверьте, есть ли он в сети'; -$l['rdns_err_save'] = 'При сохранении данных произошла ошибка'; -$l['rdns_done'] = 'Зона обратного DNS была успешно добавлена'; -$l['rdns_zone_exists'] = 'Эта зона уже существует'; -$l['rdns_inv_ipaddress'] = 'Введен неверный IP-адрес'; -$l['rdns_rdns_existing'] = 'Записи rDNS'; -$l['rdns_deleted'] = 'Запись rDNS была удалена'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Имя'; -$l['rdns_domain'] = 'Домен'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'Вы не указали идентификатор электронной почты'; -$l['edu_no_user_password'] = 'Вы не указали пароль'; -$l['edu_invalid_email'] = 'Недействительный идентификатор электронной почты'; -$l['edu_uid_not_found'] = 'id пользователя не найден'; -$l['edu_useradd_error'] = 'При редактировании пользователя произошла ошибка'; -$l['edu_page_head'] = 'Редактировать пользователя'; -$l['edu_done'] = 'Пользователь отредактирован'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'пароль'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'Были допущены ошибки при включении безопасного режима'; -$l['resc_err_rescue_disable'] = 'При отключении безопасного режима были некоторые ошибки'; -$l['resc_err_downloading'] = 'Ошибка при загрузке шаблона безопасного режима'; -$l['resc_err_delete_disk'] = 'При удалении аварийного диска произошла ошибка'; -$l['resc_cant_rescue'] = 'Безопасный режим не допускается при использовании ISO. Сначала удалите ISO'; -$l['resc_heading'] = 'Безопасный режим'; -$l['resc_rescue_exp'] = 'Базопасный режим предоставляет возможность загружать небольшую среду Linux с другого диска, чтобы вы могли спасти основной '.VM_SHORT.'-файл Linux или файлы резервных копий, которые присутствуют на нем'; -$l['resc_enable_rescue'] = 'Включить безопасный режим'; -$l['resc_rescue_enabled'] = 'Безопасный режим включен'; -$l['resc_disable_rescue'] = 'Выключить безопасный режим'; -$l['resc_rescue_disabled'] = 'Безопасный режим выкючен'; -$l['resc_resuce_enable_success'] = 'Процесс включения безопасного режима был запущен в фоновом режиме '; -$l['resc_resuce_disable_success'] = 'Процесс выключения безопасного режима был запущен в фоновом режиме'; -$l['resc_rescue_enable_notify'] = 'Безопасный режим включается...'; -$l['resc_rescue_disable_notify'] = 'Безопасный режим выключается...'; -$l['resc_root_pass'] = 'Root пароль'; -$l['resc_root_pass_conf'] = 'Подтвердите Пароль'; -$l['resc_disable_rescue_err'] = 'Безопасный режим отключен администраторам'; -$l['resc_passwords_do_not_match'] = 'Указанный пароли подтверждения не совпадают'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Язык не выбран'; -$l['us_wrong_lang'] = 'Выбранный язык не существует.'; -$l['us_no_timezone'] = 'Вы не выбрали часовой пояс'; -$l['us_timezone_invalid'] = 'Выбранный часовой пояс недействителен'; -$l['us_wrong_theme'] = 'Выбранная тема не существует'; -$l['us_page_head'] = 'Пользовательские настройки'; -$l['us_change_final'] = 'Ваши настройки успешно сохранены'; -$l['us_choose_lang'] = 'Выберите язык'; -$l['us_exp_lang'] = 'Выберите предпочитаемый язык'; -$l['us_timezone'] = 'Часовой пояс'; -$l['us_default_timezone'] = 'Сервер по умолчанию'; -$l['us_edit_settings'] = 'Изменить настройки'; -$l['us_done'] = 'Ваши настройки были успешно сохранены'; -$l['us_choose_theme'] = 'Выберите тему'; -$l['us_exp_theme'] = 'Выберите предпочитаемую вами тему'; -$l['us_no_theme'] = 'Тема не выбрана'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'Если ничего не выбрано, будет отображаться пустой логотип по умолчанию'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Information'; -$l['vdf_info_server'] = 'Server'; -$l['vdf_info_reservedports'] = 'Reserved ports'; -$l['vdf_info_allowedports'] = 'Allowed ports'; -$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Forwarding'; -$l['vdf_source'] = 'Source'; -$l['vdf_destination'] = 'Destination'; -$l['vdf_added'] = 'Added'; -$l['vdf_updated'] = 'Updated'; -$l['vdf_removed'] = 'Removed'; -$l['vdf_removed_multiple'] = 'Removed Multiple'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Edit this record'; -$l['vdf_tooltip_save'] = 'Save changes made to this record'; -$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; -$l['vdf_tooltip_delete'] = 'Delete this record'; - -$l['vdf_skipped_msg'] = 'This record entry has been skipped'; -$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Укажите тип виртуализации'; -$l['li_num_vs_over'] = 'Вы уже создали максимальное количество разрешенных виртуальных машин'; -$l['li_no_hname'] = 'Укажите имя хоста'; -$l['li_no_os'] = 'Выберите ОС для '.VM_SHORT; -$l['li_no_rootpass'] = 'Укажите пароль root'; -$l['li_no_disk_space'] = 'Укажите количество дискового пространства'; -$l['li_no_ram'] = 'Укажите объем оперативнай памяти'; -$l['li_no_vncpass'] = 'Укажите пароль VNC'; -$l['li_no_bandwidth'] = 'Укажите скорость канала'; -$l['li_no_cpu_units'] = 'Укажите частоту процессора'; -$l['li_no_cpu_cores'] = 'Укажите количество ядер'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'Выбранный регион недействителен'; -$l['li_invalid_virt'] = 'Выбранный регион не поддерживает выбранную виртуализацию'; -$l['li_no_percent_cpu'] = 'Укажите использование процентного использования CPU'; -$l['li_no_swap_ram'] = 'Укажите ОЗУ SWAP'; -$l['li_no_burst_ram'] = 'Укажите максимальный лимит RAM'; -$l['li_invalid_os'] = 'Выбранная вами ОС недействительна'; -$l['li_no_ip'] = 'Укажите, по крайней мере, один IP-адрес для '.VM_SHORT; -$l['li_invalid_uid'] = 'Пользователь, которого вы выбрали, не существует'; -$l['li_no_user'] = 'Вы не указали адрес электронной почты пользователя'; -$l['li_no_user_pass'] = 'Вы не указали пароль пользователя'; -$l['li_invalid_email'] = 'Недопустимый адрес электронной почты пользователя.'; -$l['li_emailexist'] = 'Адрес электронной почты, который вы указали, уже существует'; -$l['li_err_user'] = 'При добавлении пользователя произошла ошибка'; -$l['li_invalid_hostname'] = 'Имя хоста, которое вы указали, недействительно'; -$l['li_less_ram'] = 'У вас недостаточно прав, чтобы создать '.VM_SHORT; -$l['li_less_burst'] = 'У вас недостаточно Burst Ram для создания этого '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'У вас недостаточно дискового пространства для создания этого '.VM_SHORT; -$l['li_less_inodes'] = 'Дескрипторов должны быть не менее 50000'; -$l['li_less_vs'] = 'Вам не разрешено создавать больше виртуальных машин'; -$l['li_less_bandwidth'] = 'У вас недостаточно канала подключения для создания этого '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'У вас недостаточно IPv4-адресов, чтобы создать этот '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'У вас недостаточно IPv6-адресов для создания этого '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'У вас недостаточно IPv6-подсетей для создания этого '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'Вам не разрешено создавать виртуальную машину с таким количеством ядер'; -$l['li_less_cores'] = 'У вас недостаточно процессорных ядер для создания этого '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'Вы достигли максимального количества Пользователей, которым разрешено создавать'; -$l['li_no_server'] = 'Выбранный регион полностью используется и не имеет достаточных ресурсов для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['li_ipv4_over'] = 'Выбранный регион не имеет достаточного количества адресов IPv4 для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['li_ipv6_over'] = 'Выбранный регион не имеет достаточного количества адресов IPv6 для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['li_ipv6_subnet_over'] = 'Выбранный регион не имеет достаточного количества IPv6 Subnet для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['li_no_webuzo_template'] = 'Выбранный шаблон ОС не является шаблоном Webuzo'; -$l['li_err_swapsize'] = 'Указанный размер SWAP не может быть больше или равен указанному общему объему диска'; -$l['li_inv_kvm_cache'] = 'Недопустимый Disk Cache диска'; -$l['li_inv_io_mode'] = 'Представленная политика ввода-вывода недействительна.'; -$l['li_inv_vnc_keymap'] = 'Представленная карта клавиатуры VNC недействительна.'; -$l['li_err_vpslimit'] = 'Превышен лимит создания '.VM_SHORT; -$l['li_page_head'] = 'Запуск примера'; -$l['li_vstype'] = 'Тип'; -$l['li_done'] = 'Виртуальный сервер был создан'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Имя'; -$l['li_newvs_rootpass'] = 'Root пароль'; -$l['li_newvs_vnc'] = 'VNC Детали'; -$l['li_newvs_vncpass'] = 'VNC пароль'; -$l['li_newvs_ips'] = 'IP-адрес'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Сервер'; -$l['li_exp_server'] = 'Сменить сервер для '.VM_SHORT; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'Пользователь'; -$l['li_vs_user_exp'] = 'Выберите существующего пользователя, или добавьте пользователя'; -$l['li_user_email'] = 'Email пользователя'; -$l['li_user_pass'] = 'Пароль'; -$l['li_add_user'] = 'Добавить пользователя'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Платформа виртуализации'; -$l['li_os'] = 'Операционная система'; -$l['li_select'] = 'Выбрать'; -$l['li_vs_plan'] = 'Выбрать тариф'; -$l['li_plan_exp'] = 'Выберите нужный тарифный план'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Вы хотите включить полную виртуализацию для этого '.VM_SHORT.'?'; -$l['li_vsos'] = 'Операционная система'; -$l['li_vsos_exp'] = 'Выберите операционную систему для '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'Если выбран ISO, машина будет загружена из этого ISO'; -$l['li_sec_vsiso'] = 'ISO для вторичного CDROM '; -$l['li_sec_vsiso_exp'] = 'Выберите ISO для вторичного CDROM'; -$l['li_none'] = 'Нет'; -$l['li_rootpass'] = VM_SHORT.' Root пароль'; -$l['li_rootpass_exp'] = 'Пароль пользователя / администратора '.VM_SHORT; -$l['li_randpass'] = 'Сгенерировать случайный пароль'; -$l['li_hostname'] = 'Имя хоста'; -$l['li_hostname_exp'] = 'Введите имя хоста для '.VM_SHORT.'. например www.domain.com'; -$l['li_ip'] = 'IP адрес'; -$l['li_ips'] = 'IP адрес'; -$l['li_ips_exp'] = 'Вы можете указать количество IP-адресов для назначения'; -$l['li_ips6_subnet'] = 'Подсеть IPv6'; -$l['li_ips6_subnet_exp'] = 'Вы можете указать количество подсетей IPv6 для назначения'; -$l['li_ips6'] = 'IPv6 адрес'; -$l['li_ips6_exp'] = 'Вы можете указать количество IPv6 для назначения'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Удалить этот IP-адрес'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Дисковое пространство'; -$l['li_exp_hdd'] = 'Допустимое дисковое пространство для '.VM_SHORT; -$l['li_mac'] = 'MAC-адрес'; -$l['li_exp_mac'] = 'Шесть групп из двух шестнадцатеричных цифр, разделенных двоеточиями (:), например, 01: 23: 45: 67: 89: ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'Максимальное количество Inodes (т. Е. Файлов) разрешено в '.VM_SHORT.'. Рекомендуемое значение: 500000+'; -$l['li_gram'] = 'Гарантировано RAM'; -$l['li_exp_gram'] = 'Объем оперативной памяти, который '.VM_SHORT.' всегда будет иметь'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'Максимальный объем оперативной памяти, который может использовать '.VM_SHORT; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'Будет предпринята попытка создать раздел SWAP, если будет выбран шаблон ОС'; -$l['li_band'] = 'Трафик'; -$l['li_exp_band'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'Частата CPU'; -$l['li_cpalloc'] = 'Выделенная частата CPU'; -$l['li_cpalloc_xen'] = 'Рекомендуемое значение : 256'; -$l['li_cpalloc_openvz'] = 'Рекомендуемое значение : 1000'; -$l['li_cpalloc_kvm'] = 'Рекомендуемое значение : 1024'; -$l['li_units'] = 'Едениц'; -$l['li_cores'] = 'CPU ядер'; -$l['li_cpucore_exp'] = 'Рекомендуемое значение :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'CPU в процентах, соответствующее '.VM_SHORT.', не может превышать.
Установите 0 без ограничений. Рекомендуемое значение: 40'; -$l['li_io'] = 'I/O приоритет'; -$l['li_io0-7'] = 'Выберите приоритет с 0-7'; -$l['li_na'] = 'Скорость сети'; -$l['li_na_exp'] = 'Укажите скорость сети'; -$l['li_ubcsettings'] = 'Настройки UBC'; -$l['li_exp_ubc'] = 'Если этот флажок установлен, вы будете перенаправлены для редактирования настроек UBC '.VM_SHORT; -$l['li_submit'] = 'Создайть'; -$l['li_addvoption'] = 'Расширенные опции'; -$l['li_addvhide'] = 'Вернутся к стандартным опциям'; -$l['li_network_speed'] = 'Скорость сети'; -$l['li_network_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.'; -$l['li_upload_speed'] = 'Скорость загрузки'; -$l['li_upload_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'Без ограничений'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Рекомендуемое значение : 8 MB'; -$l['li_vncpass'] = 'VNC пароль'; -$l['li_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Нажмите на значок, чтобы сгенирировать случайный пароль.'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth приостановлено '; -$l['li_exp_band_suspend'] = 'Приостановить '.VM_SHORT.', если он использует больше указанного трафика'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Включить Tun / Tap для '.VM_SHORT; -$l['li_exp_ppp'] = 'Включить PPP (протокол Point to Point) для '.VM_SHORT; -$l['li_osreinstall'] = 'Ограничение на количество переустановок ОС'; -$l['li_exp_osreinstall'] = 'Если вы хотите ограничить количество переустановок ОС в месяц.
Например. 0 - без ограничений "'; -$l['li_changenic'] = 'Тип виртуального сетевого интерфейса'; -$l['li_exp_changenic'] = 'Если вы хотите изменить тип сетевого интерфейса. Параметры - по умолчанию или E1000. virtio будет использоваться как тип виртуального nic, если включен virtio '; -$l['li_add_route'] = 'Использовать маршрутизируемую сеть'; -$l['li_exp_add_route'] = 'Если флажок установлен, будет использоваться маршрутизация.'; -$l['li_nic_default'] = 'Realtek 8139 (по умолчанию)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Тип эмуляции виртуального сетевого интерфейса'; -$l['li_exp_change_vif_type'] = 'Если вы хотите изменить тип эмуляции сетевого интерфейса. Параметры netfront или ioemu .'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'Netfront (по умолчанию)'; -$l['li_usevirtio'] = 'Включить virtio'; -$l['li_exp_usevirtio'] = 'Используйте virtio в качестве виртуализации IO'; -$l['li_usesec_cdrom'] = 'Включить вторичный CD-ROM'; -$l['li_exp_usesec_cdrom'] = 'Включите, чтобы подключить вторичный ISO к виртуальной машине.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Управляет кэширования'; -$l['li_io_mode'] = 'Политика I/O'; -$l['li_vnc_keymap'] = 'Клавиатура консоли VNC'; -$l['li_dns'] = 'DNS-серверы имен'; -$l['li_exp_dns'] = 'Если вы не знаете, то используйте 4.2.2.1 и 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Приложения'; -$l['li_apps_exp'] = 'Выберите приложение Webuzo, которое вы хотите установить.'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'Если включено, '.VM_SHORT.' будет создан с форматом Ploop'; -$l['li_mac_temp_vncdetails'] = 'MAC-адрес :'; -$l['li_mail_temp_vnctitle'] = 'Детали VNC : '; -$l['li_mail_temp_vncdetails'] = 'Детали VNC :'; -$l['li_mail_temp_vncpasswd'] = 'Пароль VNC :'; -$l['li_reinstall'] = 'Переустановить '.VM_SHORT; -$l['li_space'] = 'Дисковое пространство'; -$l['li_space_exp'] = 'Допустимое дисковое пространство для '.VM_SHORT; -$l['li_ram'] = 'Гарантированная RAM'; -$l['li_ram_exp'] = 'Объем оперативной памяти, который '.VM_SHORT.' всегда будет иметь'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'Максимальный объем оперативной памяти '.VM_SHORT; -$l['li_swap'] = 'Swap RAM'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'Будет предпринята попытка создать раздел SWAP, если будет выбран шаблон ОС'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; -$l['li_free'] = 'Free'; -$l['li_unlimited'] = 'неограничен'; -$l['li_submit'] = 'Создать'; -$l['li_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; -$l['li_usevirtio'] = 'Включить virtio'; -$l['li_usevirtio_exp'] = 'Использовать virtio как виртуализацию I/O '; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'Пользователь'; -$l['ei_vs_user_exp'] = 'Выберите существующего пользователя или добавьте пользователя'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Пароль'; -$l['ei_add_user'] = 'Добавить пользователя'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Операционная система'; -$l['ei_vsos_exp'] = 'Текущая операционная система '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'Если выбран ISO, машина будет загружена из этого ISO'; -$l['ei_none'] = 'Нет'; -$l['ei_hostname'] = 'Имя хоста'; -$l['ei_hostname_exp'] = 'Введите имя хоста для '.VM_SHORT.'. например www.domain.com'; -$l['ei_rootpass'] = 'Пароль пользователя '.VM_SHORT; -$l['ei_rootpass_exp'] = 'Оставьте пустым, если вы не хотите изменять текущий пароль'; -$l['ei_randpass'] = 'Сгенирировать пароль'; -$l['ei_ip'] = 'IP адрес'; -$l['ei_ips_exp'] = 'Вы можете выбрать из пула IP, или указать другие IP-адреса'; -$l['ei_ips6_subnet'] = 'Подсети IPv6'; -$l['ei_ips6_subnet_exp'] = 'Вы можете выбрать из списка подсети IPv6'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'Адреса IPv6'; -$l['ei_ips6_exp'] = 'Вы можете указать количество IPv6 для назначения, или выбора из пула IPv6'; -$l['ei_space'] = 'Дисковое пространство'; -$l['ei_space_exp'] = 'Допустимое дисковое пространство для '.VM_SHORT; -$l['ei_ram'] = 'Гарантированно RAM'; -$l['ei_ram_exp'] = 'Объем постоянной оперативной памяти '.VM_SHORT.' '; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'Максимальный объем оперативной памяти '.VM_SHORT; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; -$l['ei_cores'] = 'Количество ядер CPU'; -$l['ei_cpucore_exp'] = 'Рекомендуемое :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'неограниченно'; -$l['ei_network_speed'] = 'Скорость сети'; -$l['ei_network_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.
Используйте поле выбора для удобства'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.
Используйте поле выбора для удобства'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'Без ограничений'; -$l['ei_vncpass'] = 'VNC пароль'; -$l['ei_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Нажмите на значок, чтобы сгенирировать пароль.'; -$l['ei_submit'] = 'Редактировать Server'; -$l['ei_done'] = 'Виртуальный сервер был успешно отредактирован'; -$l['ei_addvoption'] = 'Расширенные опции'; -$l['ei_no_uid'] = 'Пользователь не выбран'; -$l['ei_no_nonalphanumeric'] = 'Для пароля VNC не допускаются символы, отличающиеся от буквенно-цифровых символов'; -$l['ei_less_space'] = 'У вас недостаточно дискового пространства для создания этого '.VM_SHORT; -$l['ei_less_ram'] = 'У вас недостаточно ram, чтобы создать этот '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'Вам не разрешено создавать '.VM_SHORT.' с таким количеством ядер'; -$l['ei_less_cores'] = 'У вас недостаточно процессорных ядер для создания этого '.VM_SHORT; -$l['ei_less_burst'] = 'У вас недостаточно Burst Ram для создания этого '.VM_SHORT; -$l['ei_ipv4_over'] = 'Выбранный регион не имеет достаточного количества ресурсов IPv4 для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['ei_ipv6_over'] = 'Выбранный регион не имеет достаточного количества ресурсов IPv6 для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['ei_ipv6_subnet_over'] = 'Выбранный регион не имеет достаточно IPv6 Subnet (s) для создания этой виртуальной машины. Сообщите об этом администратору'; -$l['ei_less_ipv4'] = 'У вас недостаточно IPv4-адресов, чтобы создать этот '.VM_SHORT; -$l['ei_less_ipv6'] = 'У вас недостаточно IPv6-адресов для создания этого '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'У вас недостаточно IPv6-подсетей для создания этого '.VM_SHORT; -$l['ei_wrong_user'] = 'Вы не можете изменить этого пользователя'; -$l['ei_only_user'] = 'При редактировании пользователя виртуальной машины, ресурсы не могут быть изменены'; -$l['ei_less_swap'] = 'У вас не хватает swap ram'; -$l['ei_usevirtio'] = 'Включить virtio'; -$l['ei_usevirtio_exp'] = 'Использовать virtio как виртуализацию I/O'; -$l['ei_less_bandwidth'] = 'У вас недостаточно ресурса Bandwidth для назначения этому '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Выбранная панель недействительна'; -$l['cpan_err_installing'] = 'Произошла ошибка при установке панели'; -$l['cpan_wrong_os'] = 'Панель управления не может быть установлена на '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'Установка панели началась и скоро будет завершена'; -$l['cpan_change_onboot'] = 'Панель будет установлена при завершении работы, а затем запускается '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Панель управления'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Backup Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'Эта виртуализация не имеет настроек HVM'; -$l['hvm_rescue_enabled'] = VM_SHORT.' находится в безопасном режиме и не может быть изменен'; -$l['hvm_invalid_iso'] = 'Выбранный ISO недействителен'; -$l['hvm_err_editing'] = 'При сохранении настроек возникли ошибки'; -$l['hvm_heading'] = 'HVM настройки'; -$l['hvm_submit_button'] = 'Отправить'; -$l['hvm_done'] = 'Настройки успешно сохранены'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Порядок загрузки'; -$l['hvm_isos'] = 'Выберите ISO'; -$l['hvm_none'] = 'Нет'; -$l['hvm_tuntap_enable'] = 'Включить Tun/Tap'; -$l['hvm_ppp_enable'] = 'Включить PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'Настройки HVM отключены администратором'; -$l['hvm_hdd'] = 'Жесткий диск'; -$l['hvm_cdrom'] = 'CD-привод'; -$l['hvm_vnc_keymap'] = 'Клавиатура консоли VNC'; -$l['hvm_enable_vga'] = 'включить VGA'; -$l['hvm_enable_acceleration'] = 'Включить ускорение'; -$l['hvm_enable_acceleration_exp'] = 'Если отмечено, то для '.VM_SHORT.' будет включено двумерное и трехмерное ускорение'; -$l['hvm_sec_iso'] = 'ISO для вторичного CDROM '; -$l['hvm_sec_iso_exp'] = 'Выберите ISO для вторичного CDROM'; -$l['hvm_nic_type'] = 'Тип виртуального сетевого интерфейса'; -$l['hvm_nic_type_exp'] = 'Если вы хотите изменить тип сетевого интерфейса. Параметры - по умолчанию или E1000. Virtio будет использоваться как тип виртуального nic, если virtio включен'; -$l['nic_default'] = 'Realtek 8139 (по умолчанию)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Включить Virtio'; -$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; -$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; -$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; -$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; -$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; -$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; -$l['hvm_nfs'] = 'Enable NFS in Container(s)'; -$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; -$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; -$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
-NOTE: This will restart the container.'; -$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; -$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; -$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; -$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU информация'; -$l['cpu_totalcpu'] = 'Всего CPU :'; -$l['cpu_cpuutilised'] = 'Использовано : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'Использование CPU'; -$l['cpu_trademarks'] = 'Все соответствующие логотипы являются товарными знаками или зарегистрированными товарными знаками соответствующих компаний.'; -$l['cpu_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM информация'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Гарантировано RAM : '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Использовано :'; -$l['ram_percentram'] = 'использование % :'; -$l['ram_graphheader'] = 'использование RAM'; -$l['ram_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Диск'; -$l['disk_diskinfo'] = 'Информация о диске'; -$l['disk_totaldisk'] = 'Всего диска : '; -$l['disk_diskutilised'] = 'Исользовано : '; -$l['disk_percentdisk'] = 'Использование % : '; -$l['disk_graphheader'] = 'Использование диска'; -$l['disk_inodesinfo'] ='информация дескриптора'; -$l['disk_inodestotal'] = 'Всего дескриптора :'; -$l['disk_inodesutilised'] = 'Использовано : '; -$l['disk_percent_inodes'] = 'Использование % :'; -$l['disk_inodesheader'] = 'Использование дескриптора'; -$l['disk_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Bandwidth'; -$l['band_bandwidthinfo'] = 'Информация о пропускной способности'; -$l['band_Total_Bandwidth'] = 'Общая пропускная способность :'; -$l['band_bandwidth_utilized'] = 'Использовано : '; -$l['band_percent_utilized'] = '% используется : '; -$l['band_graphheader'] = 'Использование канала'; -$l['band_unlimited'] = 'Без ограничений'; -$l['band_network_speed'] = 'Скорость сети (MB/s)'; -$l['band_prev'] = 'Пред.Месяц'; -$l['band_next'] = 'След.Месяц'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial консоль отключена'; -$l['cs_call_failed'] = 'Не удалось выполнить вызов API. Пожалуйста, свяжитесь с администратором'; -$l['cs_heading'] = 'Serial консоль'; -$l['cs_none'] = 'Нет существующего сеанса консоли. Пожалуйста, создайте его!'; -$l['cs_create'] = 'Создать сеанс'; -$l['cs_creating'] = 'Создание сеанса ...'; -$l['cs_destroying'] = 'Завершение сеанса ...'; -$l['cs_details'] = 'Ниже приведены сведения о консоли'; -$l['cs_expires'] = 'Истекает'; -$l['cs_ip'] = 'IP адрес'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Логин'; -$l['cs_password'] = 'парль'; -$l['cs_destroy'] = 'Завершить сеанс'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Журналы состояния'; -$l['sts_running'] = 'Активен'; -$l['sts_stopped'] = 'Остановился'; -$l['sts_sts'] = 'Состояние системы'; -$l['sts_time'] = 'Время'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'Системные оповещения'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Задача'; -$l['tasks_task_started'] = 'Запуск задачи'; -$l['tasks_no_tasks'] = 'Для этого пользователя нет активной задачи'; -$l['tasks_addvs'] = 'Creating '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; -$l['tasks_multivirt'] = 'Enabling Multivirt'; -$l['tasks_createtemplate'] = 'Creating Template'; -$l['tasks_getos'] = 'Downloading OS'; -$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; -$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Restore network speed'; -$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Restoring '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; -$l['tasks_changepassword'] = 'Changing Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Install Control Panel'; -$l['tasks_install_recipe'] = 'Install Recipe'; -$l['tasks_hostname'] = 'Changing Hostname'; -$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'In Progress'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Search'; -$l['tasks_progress'] = 'Progress'; -$l['tasks_completed'] = 'Task Completed'; -$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; -$l['tasks_task_notupdated'] = 'Task not Updated !'; -$l['tasks_task_notupdated_status'] = 'Process Untrackable'; -$l['tasks_migrate_speed'] = 'Migration Speed: '; -$l['tasks_started'] = 'Started'; -$l['tasks_updated'] = 'Updated'; -$l['tasks_ended'] = 'Ended'; -$l['tasks_notupdated'] = 'Not Updated'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Task not Started'; -$l['tasks_not_updated'] = 'Task not Updated'; -$l['tasks_not_ended'] = 'Task not Ended'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Enable Rescue'; -$l['tasks_disable_rescuevs'] = 'Disable Rescue'; -$l['tasks_remotedesktop'] = 'Remote Desktop Task'; -$l['tasks_change_vncpass'] = 'Change VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'The Username field was empty'; -$l['login_no_password'] = 'The Password field was empty'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; - -$l['login_sign_in'] = 'Sign in'; -$l['login_log_user'] = 'Email'; -$l['login_log_pass'] = 'Password'; -$l['login'] = 'Login'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Поле имя пользователя было пустым'; -$l['login_no_password'] = 'Поле «Пароль» было пустым'; -$l['login_too_many_attempts'] = 'Вы использовали максимальное количество входов в систему '.$globals['login_attempts'].' Неудачные попытки! пожалуйста, подождите '.$globals['login_ban_time'].' Минут, прежде чем повторить попытку.Не забывайте, что пароль чувствителен к регистру. Забыли пароль? Попробуйтевосстановитьпароль utility.'; - -$l['login_sign_in'] = 'Вход в панель управления '.VM_SHORT.'/VDS'; -$l['login_log_user'] = 'Email адрес пользователя'; -$l['login_log_pass'] = 'Пароль'; -$l['login'] = 'Login'; -$l['login_sub_but'] = 'Login'; - -$l['login_pass_nomatch'] = 'Неверное имя пользователя или пароль.'; -$l['login_forgotpass'] = 'Забыли пароль'; -$l['login_emailuser'] = 'Email адрес'; -$l['login_enteremail'] = 'Введите ваш email адрес'; -$l['login_sub_email'] = 'Отправить'; -$l['login_no_email'] = 'Вы не отправили свой адрес электронной почты'; -$l['login_invalidemail'] = 'Указанный адрес электронной почты недействителен.'; -$l['login_mail_sub'] = 'Сброс пароля'; -$l['login_mail_body'] = 'Здравствуйте, - -Был сделан запрос на сброс пароля. -Если вы не запросили сброс пароля, пожалуйста, проигнорируйте это письмо. - -Если вы хотите сбросить пароль, нажмите на URL-адрес ниже : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Обратите внимание: вышеуказанная ссылка действительна только 24 часа. - -Regards, -'.$globals['sn']; -$l['login_mail_done'] = 'Письмо с информацией сброса пароля отправлено на email'; -$l['login_back_to_login'] = 'Вернуться на страницу входа'; - -$l['login_resetpass'] = 'Сброс пароля'; -$l['login_log_new_pass'] = 'Новый пароль'; -$l['login_log_reppass'] = 'Подтвердите пароль'; -$l['login_changepass'] = 'Изменить пароль'; -$l['login_no_key'] = 'Ключ сброса не был отправлен'; -$l['login_invalidkey'] = 'Вы указали недействительный ключ'; -$l['login_no_new'] = 'Введите действительный пароль'; -$l['login_no_reppass'] = 'Введите пароль подтверждения'; -$l['login_no_match'] = 'Указанные пароли не совпадают'; -$l['login_keyexpire'] = 'Ключ больше не действителен'; -$l['login_passchanged'] = 'Пароль успешно изменен.'; -$l['login_forgot_pass'] = 'Забыли пароль'; -$l['login_goto_login'] = 'Перейти на страницу входа'; -$l['login_no_2fa_key'] = 'Недопустимый ключ аутентификации'; -$l['login_inv_user'] = 'Недействительный пользователь'; - -// OTP on login -$l['login_twofactit'] = 'Двухуровневая аутентификация'; -$l['login_enterotp'] = 'Введите одноразовый пароль'; -$l['login_no_otp'] = 'Введите одноразовый пароль (OTP)'; -$l['login_incorrect_otp'] = 'Неверный код'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Ошибка выполнения задачи'; -$l['recipe_no_selected'] = 'Рецепт не выбран'; -$l['recipe_wrong'] = 'Выбрана неправильная задача'; -$l['recipe_heading'] = 'Задачи'; -$l['recipe_choose'] = 'Выберите рецепт'; -$l['recipe_exp_choose_recipe'] = 'Выберите задачу, которую вы хотите применить'; -$l['recipe_update'] = 'Создать задачу'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Задача создана'; -$l['recipe_exec_onboot'] = 'Зада будет запущена, когда вы перезагрузите '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'без описания'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Задача'; -$l['conf_execute'] = 'Вы уверены, что хотите создать эту задачу?'; -$l['rec_short_desc'] = 'Задачи представляют собой предопределенные коды bash'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH отключен администратором'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Вы уверены, что хотите установить таймер?'; -$l['sd_confirm_delete'] = 'Вы уверены, что хотите удалить таймер?'; -$l['sd_date_alert'] = 'Введите дату в формате mm / dd / yyyy'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Установить таймер'; -$l['sd_action_start'] = 'Старт'; -$l['sd_action_stop'] = 'Стоп'; -$l['sd_action_restart'] = 'Перезагрузить'; -$l['sd_action_poweroff'] = 'Выключить'; -$l['sd_action_title'] = 'действие'; -$l['sd_action_edit_desc'] = 'Для редактирования введите данные и отправьте'; -$l['sd_action_edit_desc'] = 'Для редактирования введите данные и отправьте'; -$l['time_updated'] = 'Обновлено действие'; -$l['time_deleted'] = 'Действие удалено'; -$l['time_added'] = 'Действие добавлено'; -$l['sd_invalid_action'] = 'Недействительное действие'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Name'; -$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Add SSH Key'; -$l['sshkey_edit'] = 'Edit SSH Key'; -$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; -$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; -$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; -$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; -$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; -$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; -$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; -$l['sshkey_done_add'] = 'The SSH key has been added successfully'; -$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; -$l['euiso_add_iso'] = 'Add ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Filename'; -$l['euiso_iso_size'] = 'Downloaded Size'; -$l['euiso_iso_del'] = 'Delete'; -$l['euiso_iso_status'] = 'Status'; -$l['euiso_iso_rsize'] = 'Total Size'; -$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; -$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Add ISO'; -$l['dwnldiso_iso'] = 'Add ISO'; -$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; -$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; -$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Сканируйте QR-код или введите секретный ключ, указанный ниже, в свое двухфакторное приложение проверки подлинности. После этого приложение предоставит вам уникальный OTP, который вы должны ввести в текстовое поле, чтобы активировать двухуровневую аутентификацию.'; +$l['twofactauth_secret_key'] = 'Секретный ключ : '; +$l['twofactauth_code_input'] = 'Код подтверждения'; +$l['twofactauth_code_input_exp'] = 'Введите OTP, полученный по электронной почте или из приложения APP'; +$l['twofactauth_submit'] = 'Отправить'; +$l['twofactauth_select_pref'] = 'Выберите «Предпочтение»: '; +$l['twofactauth_select_pref_desc'] = 'Выберите тип проверки двухуровневоя, а затем введите код, чтобы включить его.'; +$l['twofactauth_disabled'] = 'Двухуровневая аутентификации были отключены'; +$l['twofactauth_enabled'] = 'Была активирована двухуровневая аутентификация'; +$l['twofactauth_err_enable'] = 'Неверный введенный код'; +$l['twofactauth_email_passcode'] = 'Email код'; +$l['twofactauth_none'] = 'Нет (не рекомендуется!)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Включить приложение (аутентификатор Google и т. Д.)'; +$l['twofactauth_no_passcode'] = 'Укажите, пожалуйста, OTP'; +$l['twofactauth_changes_saved'] = 'Ваши изменения успешно сохранены'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'OTP не может быть сгенерирован'; +$l['twofactauth_otp_mail_sub'] = 'Login OTP'; +$l['twofactauth_reset_key'] = 'Сбросить ключ'; +$l['twofactauth_email_sent_to'] = 'OTP будет отправлен по адресу:'; +$l['twofactauth_otp_mail_body'] = 'Здравствуй, + +Запрос на вход был отправлен для вашей учетной записи в : +{{site_domain}} + +Используйте пароль One Time (OTP) для входа в систему : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Код подтверждения двухуровневай аутентификации '; +$l['twofactauth_passcode_mail_body'] = 'Здравствуй, + +Код подтверждения для включения двухуровневоя аутентификации для вашей учетной записи в {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP отправлен на ваш адрес электронной почты'; +$l['twofactauth_secret_key_conf'] = 'ПРЕДУПРЕЖДЕНИЕ. Если вы сбросите секретный ключ, вам придется обновить свои приложения новым. Вы уверены что хотите продолжить ?'; +$l['twofactauth_otp_expired'] = 'OTP, который вы отправили, истек!'; +$l['twofactauth_not_allowed'] = 'Вы не можете получить доступ к этой странице'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'Вы не указали идентификатор электронной почты'; +$l['adu_no_user_password'] = 'Вы не указали пароль'; +$l['adu_invalid_email'] = 'Недействительный идентификатор электронной почты'; +$l['adu_userlimit_exceeded'] = 'Вам не разрешено создавать больше пользователей. Обратитесь к администратору'; +$l['adu_useradd_error'] = 'При добавлении пользователя произошла ошибка. Обратитесь к администратору'; +$l['adu_page_head'] = 'Добавить пользователя'; +$l['adu_done'] = 'Пользователь добавлен'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Пароль'; +$l['adu_user_exists'] = 'Пользователь уже существует. Введите другой адрес электронной почты'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Вы не указали новый пароль.'; +$l['cpas_no_conf'] = 'Пароль подтверждения отсутствует.'; +$l['cpas_no_match'] = 'Указанные пароли не совпадают'; +$l['cpas_err_changing'] = 'При изменении пароля произошла ошибка.'; +$l['cpas_submit_button'] = 'Изменить пароль'; +$l['cpas_new_pass'] = 'Новый пароль'; +$l['cpas_old_pass'] = 'Старый пароль'; +$l['cpas_retype_pass'] = 'Введите повторно новый пароль'; +$l['cpas_change_note'] = 'Изменить пароль root'; +$l['cpas_change_final'] = 'Ваш пароль был успешно изменен'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Изменение пароля пользователя '.VM_SHORT.' ...'; +$l['cpas_strength_indicator'] = 'Индикатор сложности'; +$l['cpas_bad'] = 'Слабый'; +$l['cpas_good'] = 'Нормальный'; +$l['cpas_strong'] = 'Хороший'; +$l['cpas_short'] = 'Сложный'; +$l['cpas_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; +$l['cpas_pass_match'] = 'Пароли не совпадают'; +$l['cpas_disabled'] = 'Изменнение пароля отключено администратором'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Облачные ресурсы'; +$l['cr_resource_type'] = 'Тип ресурса'; +$l['cr_limit'] = 'Лимит'; +$l['cr_used'] = 'Использовано'; +$l['cr_left'] = 'Доступный'; +$l['cr_unlimited'] = 'Безлимитный'; +$l['cr_num_vs'] = 'Количество '.VM_SHORT; +$l['cr_num_users'] = 'Количество пользователей'; +$l['cr_num_space'] = 'Дисковое пространство'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Пропускная способность'; +$l['cr_num_cores'] = 'Всего ядер'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'Подсегменты IPv6'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'Информация о процессоре'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial консоль отключена'; +$l['cs_call_failed'] = 'Не удалось выполнить вызов API. Пожалуйста, свяжитесь с администратором'; +$l['cs_heading'] = 'Serial консоль'; +$l['cs_none'] = 'Нет существующего сеанса консоли. Пожалуйста, создайте его!'; +$l['cs_create'] = 'Создать сеанс'; +$l['cs_creating'] = 'Создание сеанса ...'; +$l['cs_destroying'] = 'Завершение сеанса ...'; +$l['cs_details'] = 'Ниже приведены сведения о консоли'; +$l['cs_expires'] = 'Истекает'; +$l['cs_ip'] = 'IP адрес'; +$l['cs_port'] = 'Порт'; +$l['cs_username'] = 'Имя пользователя'; +$l['cs_password'] = 'Пароль'; +$l['cs_destroy'] = 'Завершить сеанс'; +$l['cs_java_console'] = 'Java косоль'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Укажите имя хоста, которое нужно изменить.'; +$l['hn_new_host'] = 'Новое имя хоста'; +$l['hn_submit_button'] = 'Изменить имя хоста'; +$l['hn_err_changing'] = 'При изменении имени хоста произошла ошибки.'; +$l['hn_host_final'] = 'Имя хоста успешно изменено'; +$l['hn_invalid_hostname'] = 'Имя хоста, которое вы указали, недействительно'; +$l['hn_change_onboot'] = 'Имя хоста будет изменено после перезагрузки '.VM_SHORT; +$l['hn_current_hostname'] = 'Текущее имя хоста'; +$l['hn_change_notify'] = 'Изменение имени хоста ...'; +$l['hn_disable_change_hostname'] = 'Изменение хоста отключено администратором'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'Не выбран IP-адрес'; +$l['ips_ip_not_exists'] = 'IP не существует'; +$l['ips_header'] = ' IP-адрес'; +$l['ips_ipinfo'] = 'IP-информация'; +$l['ips_reorderips'] = 'Установить первичный IP-адрес'; +$l['ips_done'] = 'Настройки IP-адреса сохранены.'; +$l['ips_change_onboot'] = 'Настройки IP будут изменены после перезагрузки '.VM_SHORT; +$l['ips_primary_ip'] = 'Выберите Первичный IP-адрес '; +$l['ips_ipv6_ips_list'] = 'IP-адреса IPV6'; +$l['ips_ipv6_empty'] = 'IPV6 Отсутствует'; +$l['ips_change_notify'] = 'Изменение настроек IP ...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU информация'; +$l['mon_totalcpu'] = 'Общее CPU :'; +$l['mon_cpuutilised'] = 'Использовано : '; +$l['mon_poweredby'] = 'Используется из : '; +$l['mon_graphheader'] = 'Использованно CPU'; +$l['mon_trademarks'] = 'Все соответствующие логотипы являются товарными знаками или зарегистрированными товарными знаками соответствующих компаний.'; +$l['mon_not_supported'] = 'На данный момент мониторинг использования ресурсов не поддерживается.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Диск'; +$l['mon_header_nodes'] = 'Дескриптор файлов'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Сеть'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Информация о сети'; +$l['mon_ntw_down_spd'] = 'Входящая скорость'; +$l['mon_ntw_upld_spd'] = 'Исходящая скорость'; +$l['mon_disabled'] = 'Опция Monitor отключена администратором'; +$l['mon_cpu_usage'] = 'Использование процессора'; +$l['mon_inode_usage'] = 'Использование дескриптора'; +$l['mon_ram_usage'] = ' Использовано RAM '; +$l['mon_disk_usage'] = 'Использовано Диска'; +$l['mon_down_speed'] = 'Входящая скорость'; +$l['mon_up_speed'] = 'Исходящая скорость'; +$l['mon_total_speed'] = 'Общая скорость'; +$l['mon_cpu_hist'] = 'История использования CPU'; +$l['mon_mem_hist'] = 'История использования RAM'; +$l['mon_storage'] = 'Использование хранилища'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Использование дескриптора'; +$l['mon_net_speed'] = 'Скорость сети'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Вы не выбрали ОС'; +$l['os_invalid_os'] = 'Выбранная ОС не найдена'; +$l['os_no_new'] = 'Вы не указали новый пароль.'; +$l['os_no_conf'] = 'Пароль подтверждения отсутствует.'; +$l['os_no_match'] = 'Указанные пароли не совпадают'; +$l['os_error_reins'] = 'При переустановке ОС произошла ошибка'; +$l['os_err_changing'] = 'При установке пароля произошла ошибка.'; +$l['os_err_log_osreinstall'] = 'Вы превысили лимит количество переустановок ОС. Обратитесь к администратору'; +$l['os_reins_os'] = 'Переустановка ОС'; +$l['os_os_reinstall'] = 'Переустановка'; +$l['os_new_pass'] = 'Новый пароль'; +$l['os_retype_pass'] = 'Повторите ввод пароля'; +$l['os_genram_psswd'] = 'Сгенерировать случайный пароль'; +$l['os_done'] = 'Процесс переустановки ОС был запущен в фоновом режиме'; +$l['os_reins_notify'] = 'Переустановка операционной системы '.VM_SHORT.' ...'; +$l['os_centos_line1'] = 'CentOS - это дистрибутив Linux корпоративного класса, основанный на источниках, свободно предоставляемых широкой публике известным североамериканским корпоративным производителем Linux.'; +$l['os_centos_line2'] = 'CentOS полностью соответствует политике перераспределения поставщиков и стремится быть совместимой с бинарными версиями на 100%. CentOS в основном изменяет пакеты, чтобы удалить брендинг и художественные работы производителя.'; +$l['os_centos_line3'] = 'CentOS разработан небольшой, но растущей группой разработчиков. CentOS является бесплатным.'; +$l['os_fedora_line1'] = 'Fedora - это операционная система на базе Linux, которая демонстрирует новейшие версии программного обеспечения с открытым исходным кодом. Fedora всегда свободна для тех, кто использует, модифицирует и распространяет.'; +$l['os_fedora_line2'] = 'Она поддерживается сообществом по всему миру, которые работают вместе как сообщество: проект Fedora. Проект Fedora открыт, и все желающие могут присоединиться.'; +$l['os_fedora_line3'] = 'Проект Fedora является одной из ведущей среди бесплатных ОС '; +$l['os_suse_line1'] = 'Проект openSUSE - это всемирное сообщество, которое способствует использованию Linux во всем мире.'; +$l['os_suse_line2'] = 'OpenSUSE создает один из лучших в мире дистрибутивов Linux, работая вместе открытым, прозрачным и дружелюбным образом в рамках сообщества Free и Open Source Software.'; +$l['os_suse_line3'] = 'Проект контролируется его сообществом и зависит от вклада отдельных лиц, работающих в качестве тестеров, переводчиков, экспертов по юзабилити, дизайнеров и разработчиков.'; +$l['os_suse_line4'] = 'OpenSUSE - бесплатная и основанная на Linux операционная система для вашего ПК, ноутбука или сервера.'; +$l['os_ubuntu_line1'] = 'Ubuntu является частью семейства операционных систем Linux Debian, у самое большое сообщество разработчиков, причем каждый пакет построен экспертами.'; +$l['os_ubuntu_line2'] = 'Canonical\'s контролируе качества, стресс-тестирование и дизайн продукта, улучшая качество Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Ubuntu - это надежная и интуитивно понятная операционная система, которая обеспечивает работу настольных компьютеров, серверов, нетбуков и ноутбуков. Ubuntu является и всегда будет абсолютно бесплатным.'; +$l['os_debian_line1'] = 'Debian - бесплатная операционная система (ОС) для вашего компьютера. Операционная система - это набор базовых программ и утилит, которые запускают ваш компьютер.'; +$l['os_debian_line2'] = 'Debian использует ядро Linux (ядро операционной системы), но большинство базовых инструментов ОС - это проект GNU; Отсюда и название GNU / Linux.'; +$l['os_debian_line3'] = 'Debian GNU / Linux предоставляет больше, чем чистую ОС: он поставляется с более чем 25000 пакетами, предварительно скомпилированным программным обеспечением, поставляемым в хорошем формате для легкой установки на вашем компьютере.'; +$l['os_scientific_line1'] = 'Scientific Linux - это дистрибутив Linux, созданный Национальной ускорительной лабораторией Fermi.'; +$l['os_scientific_line2'] = 'Это бесплатная и операционная система с открытым исходным кодом, основанная на Red Hat Enterprise Linux и нацеленная на то, чтобы быть «как можно ближе к распределению коммерческих предприятий, как мы можем ее получить».'; +$l['os_scientific_line3'] = 'Этот продукт получен из бесплатного программного обеспечения с открытым исходным кодом, доступного Red Hat, Inc., но не создается и не поддерживается Red Hat.'; +$l['os_strength_indicator'] = 'Индикатор сложности'; +$l['os_strength_indicator'] = 'Strength Indicator'; +$l['os_bad'] = 'низкая'; +$l['os_good'] = 'средняя'; +$l['os_strong'] = 'хороший'; +$l['os_short'] = 'сложный'; +$l['os_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; +$l['os_pass_match'] = 'Пароли не совпадают'; +$l['os_reinstall_wait'] = 'Переустановка ОС,пожалуйста, подождите ...'; +$l['os_reinstall_disabled'] = 'Переустановка ОС отключена администратором'; +$l['os_no_os'] = 'Нет ОС для переустановки'; +$l['os_rebuild_data_lost_warn'] = 'Вы действительно хотите перестроить '.VM_SHORT.'? Предупреждение: Существующие данные о '.VM_SHORT.' будут потеряны навсегда.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Информация о VNC'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC порт'; +$l['vnc_novnc_button'] = 'Запустить HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Запустить Java VNC Viewer'; +$l['vnc_notice'] = 'VNC будет работать только в том случае, если java установлен и включен в вашем браузере'; +$l['vnc_not_enabled'] = 'VNC не включен'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Вы не указали новый пароль.'; +$l['vncpas_no_conf'] = 'Пароль подтверждения отсутствует.'; +$l['vncpas_no_match'] = 'Указанные пароли не совпадают'; +$l['vncpas_err_changing'] = 'Во время изменения пароля произошла ошибка'; +$l['vncpas_no_nonalphanumeric'] = 'Нет символов, отличных от буквенно-цифровых символов'; +$l['vncpas_submit_button'] = 'Изменить пароль VNC'; +$l['vncpas_new_pass'] = 'Новый пароль'; +$l['vncpas_old_pass'] = 'Старый пароль'; +$l['vncpas_retype_pass'] = 'Введите повторно новый пароль'; +$l['vncpas_change_note'] = 'Изменить пароль VNC'; +$l['vncpas_change_final'] = 'Ваш пароль VNC был успешно изменен.'; +$l['vncpas_change_notify'] = 'Изменение пароля VNC ...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Вы не указали новый пароль'; +$l['up_no_conf'] = 'Пароль подтверждения отсутствует.'; +$l['up_no_match'] = 'Указанные пароли не совпадают'; +$l['up_err_changing'] = 'При изменении пароля возникла ошибка.'; +$l['up_new_pass'] = 'Новый пароль'; +$l['up_old_pass'] = 'Старый пароль'; +$l['up_retype_pass'] = 'Введите повторно новый пароль'; +$l['up_page_head'] = 'Изменить пароль'; +$l['up_change_final'] = 'Ваш пароль был успешно изменен'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Изменить профиль'; +$l['pr_no_fname'] = 'Вы не указали Имя'; +$l['pr_no_lname'] = 'Вы не указали фамилию'; +$l['pr_firstname'] = 'Имя'; +$l['pr_lastname'] = 'Фамилия'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Ваши изменения успешно сохранены'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Сервисы'; +$l['ser_sstart'] = 'Старт'; +$l['ser_sstop'] = 'Стоп'; +$l['ser_srestart'] = 'Перезагрузить'; +$l['ser_status'] = 'Состояние'; +$l['ser_statrun'] = 'Работает'; +$l['ser_statoff'] = 'Выкл'; +$l['ser_staton'] = 'Вкл'; +$l['ser_autostart'] = 'Авто-старт'; +$l['ser_select'] = 'Выбрать'; +$l['ser_vps_is_off'] = VM_SHORT.' выключен !'; +$l['ser_no_feature'] = 'Эта функция недоступна!'; +$l['ser_notice_start'] = 'Выбранная служба (ы) запускается..'; +$l['ser_notice_stop'] = 'Выбранные службы останавливаются.'; +$l['ser_notice_restart'] = 'Выбранные службы (ы) перезапускаются.'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'Список процессов'; +$l['proc_usr'] = 'Пользователь'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Команда'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'Время'; +$l['proc_select'] = 'Выбрать'; +$l['proc_pstart'] = 'Старт'; +$l['proc_pkill'] = 'Закрыть'; +$l['proc_prefresh'] = 'Автообновление'; +$l['proc_vps_is_off'] = VM_SHORT.' отключен!'; +$l['proc_no_feature'] = 'Эта функция недоступна!'; +$l['proc_notice_pkill'] = 'Остановка выбранного процесса (ов) :'; +$l['proc_with_selected'] = 'С выбранными:'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Дата'; +$l['log_task'] = 'Задача'; +$l['log_status'] = 'Статус'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Успешно'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Управление подсетими IPv6'; +$l['mng_done'] = 'IP-адреса успешно сохранены'; +$l['mng_add_ipv6'] = 'Добавить адрес Ipv6'; +$l['mng_add_ip_button'] = 'Добавить IP'; +$l['mng_back_button'] = 'Назад'; +$l['mng_save_button'] = 'Сохранить'; +$l['mng_delete_confirm'] = 'Вы действительно хотите удалить этот IPv6-адрес?'; +$l['mng_ipv6_invalid'] = 'Произошла неизвестная ошибка с адресом IPv6'; +$l['mng_ipv6_address'] = 'Адрес IPv6'; +$l['mng_ipv6_delete'] = 'Удалить'; +$l['mng_ipv6_subnet'] = 'Подсети IPv6'; +$l['mng_edit_subnet'] = 'Изменить'; +$l['mng_no_vps'] = VM_SHORT.' не найден'; +$l['mng_inv_ipaddress'] = 'Указанный IP-адрес не принадлежит вам'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Управление зоной'; +$l['mz_zone_conf_del'] = 'Вы действительно хотите удалить сервер PDNS?'; +$l['mz_add_pdns'] = 'Добавить сервер PDNS'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'Зона успешно добавлена'; +$l['mz_add_zone'] = 'Добавить запись зоны'; +$l['mz_zone_name'] = 'Название зоны'; +$l['mz_pdns_zones'] = 'Просмотр зон'; +$l['mz_manage_zone'] = 'Управление'; +$l['mz_conf_del'] = 'Вы действительно хотите удалить эту запись?'; +$l['mz_add_done'] = 'Запись была успешно добавлена'; +$l['mz_edit_done'] = 'Запись успешно отредактирована'; +$l['mz_del_done'] = 'Запись успешно удалена'; +$l['mz_priority'] = 'Очередность'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Тип'; +$l['mz_host'] = 'Хост'; +$l['mz_points_to'] = 'Указывает на'; +$l['mz_txt_value'] = 'Значение TXT'; +$l['mz_pdns_name'] = 'Имя сервера'; +$l['mz_submit_button'] = 'Добавить запись'; +$l['mz_edit_button'] = 'Изменить запись'; +$l['mz_no_domains'] = 'В записи нет зон'; +$l['mz_err_addzone'] = 'Произошла ошибка с добавлением зоны'; +$l['mz_inv_name'] = 'Указано неверное имя хоста'; +$l['mz_inv_ip'] = 'Указан неверный IP-адрес'; +$l['mz_inv_tld'] = 'Недопустимый домен верхнего уровня'; +$l['mz_inv_ipv6'] = 'Указан неверный IPv6'; +$l['mz_inv_int'] = 'Недопустимое целое число'; +$l['mz_err_add'] = 'При добавлении записи произошла ошибка'; +$l['mz_err_del'] = 'При удалении записи произошла ошибка'; +$l['mz_err_edit'] = 'При изменении записи произошла ошибка'; +$l['mz_err_soa'] = 'При обновлении SOA-сервера произошла ошибка'; +$l['mz_rec_exists'] = 'Запись уже существует'; +$l['mz_records_limit'] = 'Добавлено максимально допустимое количество записсей'; +$l['mz_err_connect'] = 'Во время подключении к серверу имен произошла ошибка'; +$l['mz_zone_restricted'] = 'Зона, которую вы пытаетесь отредактировать, недоступна для редоктирования'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Вы действительно хотите удалить этот домен?'; +$l['pdns_page_head'] = 'Управление DNS'; +$l['pdns_add_done'] = 'Зона успешно добавлена'; +$l['pdns_delete_done'] = 'Зона удалена успешно'; +$l['pdns_add_zone'] = 'Добавить зону'; +$l['pdns_zone_name'] = 'Имя зоны'; +$l['pdns_manage_zone'] = 'Управление'; +$l['pdns_no_domains'] = 'На записи, нет зон'; +$l['pdns_no_name'] = 'Имя домена не указано'; +$l['pdns_err_addzone'] = 'Произошла ошибка при добавлении зоны'; +$l['pdns_err_delete'] = 'Не удалось удалить зону'; +$l['pdns_inv_domain'] = 'Указанное доменное имя недействительно.'; +$l['pdns_limit_domains'] = 'Достигнуто максимальное количество доменов, которые можно добавить.'; +$l['pdns_domain_exists'] = 'Это доменное имя уже существует'; +$l['pdns_err_connect'] = 'При подключении к серверу имен произошла ошибка'; +$l['pdns_no_dns'] = 'Управление DNS недоступно'; +$l['pdns_invalid_zone'] = 'Недопустимая зона DNS, которую вы пытаетесь удалить.'; +$l['pdns_primary_nameserver'] = 'Сервер первичного имени'; +$l['pdns_hostmaster_email'] = 'Адрес электронной почты домена'; +$l['pdns_inv_email'] = 'Недопустимый адрес электронной почты домена.'; +$l['pdns_inv_ns'] = 'Указан недопустимый сервер первичного имени'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Добавить обратный DNS'; +$l['rdns_zone_name'] = 'Название зоны'; +$l['rdns_exp_zone_name'] = 'Название зоны'; +$l['rdns_ns'] = 'Сервер имен'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Выбрать сервер'; +$l['rdns_exp_pdns_server'] = 'DNS-сервер, чтобы добавить запись в'; +$l['rdns_sub_but'] = 'Отправить'; +$l['rdns_rdns_ip'] = 'IP адрес'; +$l['rdns_exp_rdns_ip'] = 'Введите IP-адрес виртуальной машины'; +$l['rdns_rdns_domain'] = 'Доменное имя'; +$l['rdns_exp_rdns_domain'] = 'Введите полное доменное имя'; +$l['rdns_no_rnds_ip'] = 'Введите IP-адрес'; +$l['rdns_no_rdns_domain'] = 'Введите имя домена'; +$l['rdns_no_pdnsid'] = 'Не допустимы id'; +$l['rdns_err_zone'] = 'Запись зоны RDNS не найдена. Обратитесь к администратору'; +$l['rdns_is_rdns'] = 'Обратная запись DNS уже существует'; +$l['rdns_no_dns'] = 'Администратор DNS не был настроен DNS-сервером. Для этого свяжитесь с администратором.'; +$l['rdns_no_zone_name'] = 'Имя доменной зоны не указано'; +$l['rdns_no_ns'] = 'Необходимо указать не менее двух имен'; +$l['rdns_no_hostmasteremail'] = 'Не указан email hostmaster'; +$l['rdns_inv_revzone'] = 'Зона обратного DNS указана неверно.'; +$l['rdns_inv_ns'] = 'Недопустимые TLD сервера имен'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Не удалось установить соединение с сервером. Проверьте, есть ли он в сети'; +$l['rdns_err_save'] = 'При сохранении данных произошла ошибка'; +$l['rdns_done'] = 'Зона обратного DNS была успешно добавлена'; +$l['rdns_zone_exists'] = 'Эта зона уже существует'; +$l['rdns_inv_ipaddress'] = 'Введен неверный IP-адрес'; +$l['rdns_rdns_existing'] = 'Записи rDNS'; +$l['rdns_deleted'] = 'Запись rDNS была удалена'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Имя'; +$l['rdns_domain'] = 'Домен'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'Вы не указали идентификатор электронной почты'; +$l['edu_no_user_password'] = 'Вы не указали пароль'; +$l['edu_invalid_email'] = 'Недействительный идентификатор электронной почты'; +$l['edu_uid_not_found'] = 'id пользователя не найден'; +$l['edu_useradd_error'] = 'При редактировании пользователя произошла ошибка'; +$l['edu_page_head'] = 'Редактировать пользователя'; +$l['edu_done'] = 'Пользователь отредактирован'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'пароль'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'Были допущены ошибки при включении безопасного режима'; +$l['resc_err_rescue_disable'] = 'При отключении безопасного режима были некоторые ошибки'; +$l['resc_err_downloading'] = 'Ошибка при загрузке шаблона безопасного режима'; +$l['resc_err_delete_disk'] = 'При удалении аварийного диска произошла ошибка'; +$l['resc_cant_rescue'] = 'Безопасный режим не допускается при использовании ISO. Сначала удалите ISO'; +$l['resc_heading'] = 'Безопасный режим'; +$l['resc_rescue_exp'] = 'Базопасный режим предоставляет возможность загружать небольшую среду Linux с другого диска, чтобы вы могли спасти основной '.VM_SHORT.'-файл Linux или файлы резервных копий, которые присутствуют на нем'; +$l['resc_enable_rescue'] = 'Включить безопасный режим'; +$l['resc_rescue_enabled'] = 'Безопасный режим включен'; +$l['resc_disable_rescue'] = 'Выключить безопасный режим'; +$l['resc_rescue_disabled'] = 'Безопасный режим выкючен'; +$l['resc_resuce_enable_success'] = 'Процесс включения безопасного режима был запущен в фоновом режиме '; +$l['resc_resuce_disable_success'] = 'Процесс выключения безопасного режима был запущен в фоновом режиме'; +$l['resc_rescue_enable_notify'] = 'Безопасный режим включается...'; +$l['resc_rescue_disable_notify'] = 'Безопасный режим выключается...'; +$l['resc_root_pass'] = 'Root пароль'; +$l['resc_root_pass_conf'] = 'Подтвердите Пароль'; +$l['resc_disable_rescue_err'] = 'Безопасный режим отключен администраторам'; +$l['resc_passwords_do_not_match'] = 'Указанный пароли подтверждения не совпадают'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Язык не выбран'; +$l['us_wrong_lang'] = 'Выбранный язык не существует.'; +$l['us_no_timezone'] = 'Вы не выбрали часовой пояс'; +$l['us_timezone_invalid'] = 'Выбранный часовой пояс недействителен'; +$l['us_wrong_theme'] = 'Выбранная тема не существует'; +$l['us_page_head'] = 'Пользовательские настройки'; +$l['us_change_final'] = 'Ваши настройки успешно сохранены'; +$l['us_choose_lang'] = 'Выберите язык'; +$l['us_exp_lang'] = 'Выберите предпочитаемый язык'; +$l['us_timezone'] = 'Часовой пояс'; +$l['us_default_timezone'] = 'Сервер по умолчанию'; +$l['us_edit_settings'] = 'Изменить настройки'; +$l['us_done'] = 'Ваши настройки были успешно сохранены'; +$l['us_choose_theme'] = 'Выберите тему'; +$l['us_exp_theme'] = 'Выберите предпочитаемую вами тему'; +$l['us_no_theme'] = 'Тема не выбрана'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'Если ничего не выбрано, будет отображаться пустой логотип по умолчанию'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Information'; +$l['vdf_info_server'] = 'Server'; +$l['vdf_info_reservedports'] = 'Reserved ports'; +$l['vdf_info_allowedports'] = 'Allowed ports'; +$l['vdf_info_reservedports_http'] = 'Reserved Ports only for HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Forwarding'; +$l['vdf_source'] = 'Source'; +$l['vdf_destination'] = 'Destination'; +$l['vdf_added'] = 'Added'; +$l['vdf_updated'] = 'Updated'; +$l['vdf_removed'] = 'Removed'; +$l['vdf_removed_multiple'] = 'Removed Multiple'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Edit this record'; +$l['vdf_tooltip_save'] = 'Save changes made to this record'; +$l['vdf_tooltip_revert'] = 'Revert changes made to this record'; +$l['vdf_tooltip_delete'] = 'Delete this record'; + +$l['vdf_skipped_msg'] = 'This record entry has been skipped'; +$l['vdf_skipped_haproxy_reservedports'] = 'Source port is in blocked ports list'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Source port is in ports list reserved only for HTTP and HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Source port is not in allowed ports list'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Укажите тип виртуализации'; +$l['li_num_vs_over'] = 'Вы уже создали максимальное количество разрешенных виртуальных машин'; +$l['li_no_hname'] = 'Укажите имя хоста'; +$l['li_no_os'] = 'Выберите ОС для '.VM_SHORT; +$l['li_no_rootpass'] = 'Укажите пароль root'; +$l['li_no_disk_space'] = 'Укажите количество дискового пространства'; +$l['li_no_ram'] = 'Укажите объем оперативнай памяти'; +$l['li_no_vncpass'] = 'Укажите пароль VNC'; +$l['li_no_bandwidth'] = 'Укажите скорость канала'; +$l['li_no_cpu_units'] = 'Укажите частоту процессора'; +$l['li_no_cpu_cores'] = 'Укажите количество ядер'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'Выбранный регион недействителен'; +$l['li_invalid_virt'] = 'Выбранный регион не поддерживает выбранную виртуализацию'; +$l['li_no_percent_cpu'] = 'Укажите использование процентного использования CPU'; +$l['li_no_swap_ram'] = 'Укажите ОЗУ SWAP'; +$l['li_no_burst_ram'] = 'Укажите максимальный лимит RAM'; +$l['li_invalid_os'] = 'Выбранная вами ОС недействительна'; +$l['li_no_ip'] = 'Укажите, по крайней мере, один IP-адрес для '.VM_SHORT; +$l['li_invalid_uid'] = 'Пользователь, которого вы выбрали, не существует'; +$l['li_no_user'] = 'Вы не указали адрес электронной почты пользователя'; +$l['li_no_user_pass'] = 'Вы не указали пароль пользователя'; +$l['li_invalid_email'] = 'Недопустимый адрес электронной почты пользователя.'; +$l['li_emailexist'] = 'Адрес электронной почты, который вы указали, уже существует'; +$l['li_err_user'] = 'При добавлении пользователя произошла ошибка'; +$l['li_invalid_hostname'] = 'Имя хоста, которое вы указали, недействительно'; +$l['li_less_ram'] = 'У вас недостаточно прав, чтобы создать '.VM_SHORT; +$l['li_less_burst'] = 'У вас недостаточно Burst Ram для создания этого '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'У вас недостаточно дискового пространства для создания этого '.VM_SHORT; +$l['li_less_inodes'] = 'Дескрипторов должны быть не менее 50000'; +$l['li_less_vs'] = 'Вам не разрешено создавать больше виртуальных машин'; +$l['li_less_bandwidth'] = 'У вас недостаточно канала подключения для создания этого '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'У вас недостаточно IPv4-адресов, чтобы создать этот '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'У вас недостаточно IPv6-адресов для создания этого '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'У вас недостаточно IPv6-подсетей для создания этого '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'Вам не разрешено создавать виртуальную машину с таким количеством ядер'; +$l['li_less_cores'] = 'У вас недостаточно процессорных ядер для создания этого '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'Вы достигли максимального количества Пользователей, которым разрешено создавать'; +$l['li_no_server'] = 'Выбранный регион полностью используется и не имеет достаточных ресурсов для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['li_ipv4_over'] = 'Выбранный регион не имеет достаточного количества адресов IPv4 для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['li_ipv6_over'] = 'Выбранный регион не имеет достаточного количества адресов IPv6 для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['li_ipv6_subnet_over'] = 'Выбранный регион не имеет достаточного количества IPv6 Subnet для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['li_no_webuzo_template'] = 'Выбранный шаблон ОС не является шаблоном Webuzo'; +$l['li_err_swapsize'] = 'Указанный размер SWAP не может быть больше или равен указанному общему объему диска'; +$l['li_inv_kvm_cache'] = 'Недопустимый Disk Cache диска'; +$l['li_inv_io_mode'] = 'Представленная политика ввода-вывода недействительна.'; +$l['li_inv_vnc_keymap'] = 'Представленная карта клавиатуры VNC недействительна.'; +$l['li_err_vpslimit'] = 'Превышен лимит создания '.VM_SHORT; +$l['li_page_head'] = 'Запуск примера'; +$l['li_vstype'] = 'Тип'; +$l['li_done'] = 'Виртуальный сервер был создан'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Имя'; +$l['li_newvs_rootpass'] = 'Root пароль'; +$l['li_newvs_vnc'] = 'VNC Детали'; +$l['li_newvs_vncpass'] = 'VNC пароль'; +$l['li_newvs_ips'] = 'IP-адрес'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Сервер'; +$l['li_exp_server'] = 'Сменить сервер для '.VM_SHORT; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'Пользователь'; +$l['li_vs_user_exp'] = 'Выберите существующего пользователя, или добавьте пользователя'; +$l['li_user_email'] = 'Email пользователя'; +$l['li_user_pass'] = 'Пароль'; +$l['li_add_user'] = 'Добавить пользователя'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Платформа виртуализации'; +$l['li_os'] = 'Операционная система'; +$l['li_select'] = 'Выбрать'; +$l['li_vs_plan'] = 'Выбрать тариф'; +$l['li_plan_exp'] = 'Выберите нужный тарифный план'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Вы хотите включить полную виртуализацию для этого '.VM_SHORT.'?'; +$l['li_vsos'] = 'Операционная система'; +$l['li_vsos_exp'] = 'Выберите операционную систему для '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'Если выбран ISO, машина будет загружена из этого ISO'; +$l['li_sec_vsiso'] = 'ISO для вторичного CDROM '; +$l['li_sec_vsiso_exp'] = 'Выберите ISO для вторичного CDROM'; +$l['li_none'] = 'Нет'; +$l['li_rootpass'] = VM_SHORT.' Root пароль'; +$l['li_rootpass_exp'] = 'Пароль пользователя / администратора '.VM_SHORT; +$l['li_randpass'] = 'Сгенерировать случайный пароль'; +$l['li_hostname'] = 'Имя хоста'; +$l['li_hostname_exp'] = 'Введите имя хоста для '.VM_SHORT.'. например www.domain.com'; +$l['li_ip'] = 'IP адрес'; +$l['li_ips'] = 'IP адрес'; +$l['li_ips_exp'] = 'Вы можете указать количество IP-адресов для назначения'; +$l['li_ips6_subnet'] = 'Подсеть IPv6'; +$l['li_ips6_subnet_exp'] = 'Вы можете указать количество подсетей IPv6 для назначения'; +$l['li_ips6'] = 'IPv6 адрес'; +$l['li_ips6_exp'] = 'Вы можете указать количество IPv6 для назначения'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Удалить этот IP-адрес'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Дисковое пространство'; +$l['li_exp_hdd'] = 'Допустимое дисковое пространство для '.VM_SHORT; +$l['li_mac'] = 'MAC-адрес'; +$l['li_exp_mac'] = 'Шесть групп из двух шестнадцатеричных цифр, разделенных двоеточиями (:), например, 01: 23: 45: 67: 89: ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'Максимальное количество Inodes (т. Е. Файлов) разрешено в '.VM_SHORT.'. Рекомендуемое значение: 500000+'; +$l['li_gram'] = 'Гарантировано RAM'; +$l['li_exp_gram'] = 'Объем оперативной памяти, который '.VM_SHORT.' всегда будет иметь'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'Максимальный объем оперативной памяти, который может использовать '.VM_SHORT; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'Будет предпринята попытка создать раздел SWAP, если будет выбран шаблон ОС'; +$l['li_band'] = 'Трафик'; +$l['li_exp_band'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'Частата CPU'; +$l['li_cpalloc'] = 'Выделенная частата CPU'; +$l['li_cpalloc_xen'] = 'Рекомендуемое значение : 256'; +$l['li_cpalloc_openvz'] = 'Рекомендуемое значение : 1000'; +$l['li_cpalloc_kvm'] = 'Рекомендуемое значение : 1024'; +$l['li_units'] = 'Едениц'; +$l['li_cores'] = 'CPU ядер'; +$l['li_cpucore_exp'] = 'Рекомендуемое значение :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'CPU в процентах, соответствующее '.VM_SHORT.', не может превышать.
Установите 0 без ограничений. Рекомендуемое значение: 40'; +$l['li_io'] = 'I/O приоритет'; +$l['li_io0-7'] = 'Выберите приоритет с 0-7'; +$l['li_na'] = 'Скорость сети'; +$l['li_na_exp'] = 'Укажите скорость сети'; +$l['li_ubcsettings'] = 'Настройки UBC'; +$l['li_exp_ubc'] = 'Если этот флажок установлен, вы будете перенаправлены для редактирования настроек UBC '.VM_SHORT; +$l['li_submit'] = 'Создайть'; +$l['li_addvoption'] = 'Расширенные опции'; +$l['li_addvhide'] = 'Вернутся к стандартным опциям'; +$l['li_network_speed'] = 'Скорость сети'; +$l['li_network_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.'; +$l['li_upload_speed'] = 'Скорость загрузки'; +$l['li_upload_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'Без ограничений'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Рекомендуемое значение : 8 MB'; +$l['li_vncpass'] = 'VNC пароль'; +$l['li_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Нажмите на значок, чтобы сгенирировать случайный пароль.'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth приостановлено '; +$l['li_exp_band_suspend'] = 'Приостановить '.VM_SHORT.', если он использует больше указанного трафика'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Включить Tun / Tap для '.VM_SHORT; +$l['li_exp_ppp'] = 'Включить PPP (протокол Point to Point) для '.VM_SHORT; +$l['li_osreinstall'] = 'Ограничение на количество переустановок ОС'; +$l['li_exp_osreinstall'] = 'Если вы хотите ограничить количество переустановок ОС в месяц.
Например. 0 - без ограничений "'; +$l['li_changenic'] = 'Тип виртуального сетевого интерфейса'; +$l['li_exp_changenic'] = 'Если вы хотите изменить тип сетевого интерфейса. Параметры - по умолчанию или E1000. virtio будет использоваться как тип виртуального nic, если включен virtio '; +$l['li_add_route'] = 'Использовать маршрутизируемую сеть'; +$l['li_exp_add_route'] = 'Если флажок установлен, будет использоваться маршрутизация.'; +$l['li_nic_default'] = 'Realtek 8139 (по умолчанию)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Тип эмуляции виртуального сетевого интерфейса'; +$l['li_exp_change_vif_type'] = 'Если вы хотите изменить тип эмуляции сетевого интерфейса. Параметры netfront или ioemu .'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'Netfront (по умолчанию)'; +$l['li_usevirtio'] = 'Включить virtio'; +$l['li_exp_usevirtio'] = 'Используйте virtio в качестве виртуализации IO'; +$l['li_usesec_cdrom'] = 'Включить вторичный CD-ROM'; +$l['li_exp_usesec_cdrom'] = 'Включите, чтобы подключить вторичный ISO к виртуальной машине.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Управляет кэширования'; +$l['li_io_mode'] = 'Политика I/O'; +$l['li_vnc_keymap'] = 'Клавиатура консоли VNC'; +$l['li_dns'] = 'DNS-серверы имен'; +$l['li_exp_dns'] = 'Если вы не знаете, то используйте 4.2.2.1 и 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Приложения'; +$l['li_apps_exp'] = 'Выберите приложение Webuzo, которое вы хотите установить.'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'Если включено, '.VM_SHORT.' будет создан с форматом Ploop'; +$l['li_mac_temp_vncdetails'] = 'MAC-адрес :'; +$l['li_mail_temp_vnctitle'] = 'Детали VNC : '; +$l['li_mail_temp_vncdetails'] = 'Детали VNC :'; +$l['li_mail_temp_vncpasswd'] = 'Пароль VNC :'; +$l['li_reinstall'] = 'Переустановить '.VM_SHORT; +$l['li_space'] = 'Дисковое пространство'; +$l['li_space_exp'] = 'Допустимое дисковое пространство для '.VM_SHORT; +$l['li_ram'] = 'Гарантированная RAM'; +$l['li_ram_exp'] = 'Объем оперативной памяти, который '.VM_SHORT.' всегда будет иметь'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'Максимальный объем оперативной памяти '.VM_SHORT; +$l['li_swap'] = 'Swap RAM'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'Будет предпринята попытка создать раздел SWAP, если будет выбран шаблон ОС'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; +$l['li_free'] = 'Free'; +$l['li_unlimited'] = 'неограничен'; +$l['li_submit'] = 'Создать'; +$l['li_weak_pass'] = 'Пароль должен содержать как минимум 3 из следующих слов: прописная буква, строчная буква, номер или специальный символ'; +$l['li_usevirtio'] = 'Включить virtio'; +$l['li_usevirtio_exp'] = 'Использовать virtio как виртуализацию I/O '; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'Пользователь'; +$l['ei_vs_user_exp'] = 'Выберите существующего пользователя или добавьте пользователя'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Пароль'; +$l['ei_add_user'] = 'Добавить пользователя'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Операционная система'; +$l['ei_vsos_exp'] = 'Текущая операционная система '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'Если выбран ISO, машина будет загружена из этого ISO'; +$l['ei_none'] = 'Нет'; +$l['ei_hostname'] = 'Имя хоста'; +$l['ei_hostname_exp'] = 'Введите имя хоста для '.VM_SHORT.'. например www.domain.com'; +$l['ei_rootpass'] = 'Пароль пользователя '.VM_SHORT; +$l['ei_rootpass_exp'] = 'Оставьте пустым, если вы не хотите изменять текущий пароль'; +$l['ei_randpass'] = 'Сгенирировать пароль'; +$l['ei_ip'] = 'IP адрес'; +$l['ei_ips_exp'] = 'Вы можете выбрать из пула IP, или указать другие IP-адреса'; +$l['ei_ips6_subnet'] = 'Подсети IPv6'; +$l['ei_ips6_subnet_exp'] = 'Вы можете выбрать из списка подсети IPv6'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'Адреса IPv6'; +$l['ei_ips6_exp'] = 'Вы можете указать количество IPv6 для назначения, или выбора из пула IPv6'; +$l['ei_space'] = 'Дисковое пространство'; +$l['ei_space_exp'] = 'Допустимое дисковое пространство для '.VM_SHORT; +$l['ei_ram'] = 'Гарантированно RAM'; +$l['ei_ram_exp'] = 'Объем постоянной оперативной памяти '.VM_SHORT.' '; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'Максимальный объем оперативной памяти '.VM_SHORT; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Ежемесячный трафик '.VM_SHORT.'. 0 (Zero) для неограниченного'; +$l['ei_cores'] = 'Количество ядер CPU'; +$l['ei_cpucore_exp'] = 'Рекомендуемое :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'неограниченно'; +$l['ei_network_speed'] = 'Скорость сети'; +$l['ei_network_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.
Используйте поле выбора для удобства'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Введите 0 или оставьте пустым без ограничений.
Используйте поле выбора для удобства'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'Без ограничений'; +$l['ei_vncpass'] = 'VNC пароль'; +$l['ei_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Нажмите на значок, чтобы сгенирировать пароль.'; +$l['ei_submit'] = 'Редактировать Server'; +$l['ei_done'] = 'Виртуальный сервер был успешно отредактирован'; +$l['ei_addvoption'] = 'Расширенные опции'; +$l['ei_no_uid'] = 'Пользователь не выбран'; +$l['ei_no_nonalphanumeric'] = 'Для пароля VNC не допускаются символы, отличающиеся от буквенно-цифровых символов'; +$l['ei_less_space'] = 'У вас недостаточно дискового пространства для создания этого '.VM_SHORT; +$l['ei_less_ram'] = 'У вас недостаточно ram, чтобы создать этот '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'Вам не разрешено создавать '.VM_SHORT.' с таким количеством ядер'; +$l['ei_less_cores'] = 'У вас недостаточно процессорных ядер для создания этого '.VM_SHORT; +$l['ei_less_burst'] = 'У вас недостаточно Burst Ram для создания этого '.VM_SHORT; +$l['ei_ipv4_over'] = 'Выбранный регион не имеет достаточного количества ресурсов IPv4 для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['ei_ipv6_over'] = 'Выбранный регион не имеет достаточного количества ресурсов IPv6 для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['ei_ipv6_subnet_over'] = 'Выбранный регион не имеет достаточно IPv6 Subnet (s) для создания этой виртуальной машины. Сообщите об этом администратору'; +$l['ei_less_ipv4'] = 'У вас недостаточно IPv4-адресов, чтобы создать этот '.VM_SHORT; +$l['ei_less_ipv6'] = 'У вас недостаточно IPv6-адресов для создания этого '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'У вас недостаточно IPv6-подсетей для создания этого '.VM_SHORT; +$l['ei_wrong_user'] = 'Вы не можете изменить этого пользователя'; +$l['ei_only_user'] = 'При редактировании пользователя виртуальной машины, ресурсы не могут быть изменены'; +$l['ei_less_swap'] = 'У вас не хватает swap ram'; +$l['ei_usevirtio'] = 'Включить virtio'; +$l['ei_usevirtio_exp'] = 'Использовать virtio как виртуализацию I/O'; +$l['ei_less_bandwidth'] = 'У вас недостаточно ресурса Bandwidth для назначения этому '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Выбранная панель недействительна'; +$l['cpan_err_installing'] = 'Произошла ошибка при установке панели'; +$l['cpan_wrong_os'] = 'Панель управления не может быть установлена на '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'Установка панели началась и скоро будет завершена'; +$l['cpan_change_onboot'] = 'Панель будет установлена при завершении работы, а затем запускается '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Панель управления'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Backup Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'Эта виртуализация не имеет настроек HVM'; +$l['hvm_rescue_enabled'] = VM_SHORT.' находится в безопасном режиме и не может быть изменен'; +$l['hvm_invalid_iso'] = 'Выбранный ISO недействителен'; +$l['hvm_err_editing'] = 'При сохранении настроек возникли ошибки'; +$l['hvm_heading'] = 'HVM настройки'; +$l['hvm_submit_button'] = 'Отправить'; +$l['hvm_done'] = 'Настройки успешно сохранены'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Порядок загрузки'; +$l['hvm_isos'] = 'Выберите ISO'; +$l['hvm_none'] = 'Нет'; +$l['hvm_tuntap_enable'] = 'Включить Tun/Tap'; +$l['hvm_ppp_enable'] = 'Включить PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'Настройки HVM отключены администратором'; +$l['hvm_hdd'] = 'Жесткий диск'; +$l['hvm_cdrom'] = 'CD-привод'; +$l['hvm_vnc_keymap'] = 'Клавиатура консоли VNC'; +$l['hvm_enable_vga'] = 'включить VGA'; +$l['hvm_enable_acceleration'] = 'Включить ускорение'; +$l['hvm_enable_acceleration_exp'] = 'Если отмечено, то для '.VM_SHORT.' будет включено двумерное и трехмерное ускорение'; +$l['hvm_sec_iso'] = 'ISO для вторичного CDROM '; +$l['hvm_sec_iso_exp'] = 'Выберите ISO для вторичного CDROM'; +$l['hvm_nic_type'] = 'Тип виртуального сетевого интерфейса'; +$l['hvm_nic_type_exp'] = 'Если вы хотите изменить тип сетевого интерфейса. Параметры - по умолчанию или E1000. Virtio будет использоваться как тип виртуального nic, если virtio включен'; +$l['nic_default'] = 'Realtek 8139 (по умолчанию)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Включить Virtio'; +$l['hvm_fuse'] = 'Enable Fuse in Container(s)'; +$l['hvm_fuse_exp'] = 'If checked, Fuse will be enabled while making the new container(s).'; +$l['hvm_ipip'] = 'Enable IPIP in Container(s)'; +$l['hvm_ipip_exp'] = 'If checked, IPIP will be enabled while making the new container(s).'; +$l['hvm_ipgre'] = 'Enable IPGRE in Container(s)'; +$l['hvm_ipgre_exp'] = 'If checked, IPGRE will be enabled while making the new container(s).'; +$l['hvm_nfs'] = 'Enable NFS in Container(s)'; +$l['hvm_nfs_exp'] = 'If checked, NFS will be enabled while making the new container(s).'; +$l['hvm_quotaugidlimit'] = 'Enable QUOTAUGIDLIMIT in Container(s)'; +$l['hvm_quotaugidlimit_exp'] = 'Enables or disables in-container per-user and per-group disk quotas. If the value is set to 0 or not set, disk quotas inside the container is disabled and not accounted.
+NOTE: This will restart the container.'; +$l['hvm_iolimit'] = 'Set IO Bandwidth Limit for Container(s)'; +$l['hvm_iolimit_exp'] = 'If set, IO operation will not exceed the specified limit while performing IO operations.'; +$l['hvm_iopslimit'] = 'Set IOPS Limit for Container(s)'; +$l['hvm_iopslimit_exp'] = 'If set, IO operations per second will not exceed the specified limit.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU информация'; +$l['cpu_totalcpu'] = 'Всего CPU :'; +$l['cpu_cpuutilised'] = 'Использовано : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'Использование CPU'; +$l['cpu_trademarks'] = 'Все соответствующие логотипы являются товарными знаками или зарегистрированными товарными знаками соответствующих компаний.'; +$l['cpu_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM информация'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Гарантировано RAM : '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Использовано :'; +$l['ram_percentram'] = 'использование % :'; +$l['ram_graphheader'] = 'использование RAM'; +$l['ram_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Диск'; +$l['disk_diskinfo'] = 'Информация о диске'; +$l['disk_totaldisk'] = 'Всего диска : '; +$l['disk_diskutilised'] = 'Исользовано : '; +$l['disk_percentdisk'] = 'Использование % : '; +$l['disk_graphheader'] = 'Использование диска'; +$l['disk_inodesinfo'] ='информация дескриптора'; +$l['disk_inodestotal'] = 'Всего дескриптора :'; +$l['disk_inodesutilised'] = 'Использовано : '; +$l['disk_percent_inodes'] = 'Использование % :'; +$l['disk_inodesheader'] = 'Использование дескриптора'; +$l['disk_not_supported'] = 'Текущий мониторинг этого ресурса не поддерживается.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Bandwidth'; +$l['band_bandwidthinfo'] = 'Информация о пропускной способности'; +$l['band_Total_Bandwidth'] = 'Общая пропускная способность :'; +$l['band_bandwidth_utilized'] = 'Использовано : '; +$l['band_percent_utilized'] = '% используется : '; +$l['band_graphheader'] = 'Использование канала'; +$l['band_unlimited'] = 'Без ограничений'; +$l['band_network_speed'] = 'Скорость сети (MB/s)'; +$l['band_prev'] = 'Пред.Месяц'; +$l['band_next'] = 'След.Месяц'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial консоль отключена'; +$l['cs_call_failed'] = 'Не удалось выполнить вызов API. Пожалуйста, свяжитесь с администратором'; +$l['cs_heading'] = 'Serial консоль'; +$l['cs_none'] = 'Нет существующего сеанса консоли. Пожалуйста, создайте его!'; +$l['cs_create'] = 'Создать сеанс'; +$l['cs_creating'] = 'Создание сеанса ...'; +$l['cs_destroying'] = 'Завершение сеанса ...'; +$l['cs_details'] = 'Ниже приведены сведения о консоли'; +$l['cs_expires'] = 'Истекает'; +$l['cs_ip'] = 'IP адрес'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Логин'; +$l['cs_password'] = 'парль'; +$l['cs_destroy'] = 'Завершить сеанс'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Журналы состояния'; +$l['sts_running'] = 'Активен'; +$l['sts_stopped'] = 'Остановился'; +$l['sts_sts'] = 'Состояние системы'; +$l['sts_time'] = 'Время'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'Системные оповещения'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Задача'; +$l['tasks_task_started'] = 'Запуск задачи'; +$l['tasks_no_tasks'] = 'Для этого пользователя нет активной задачи'; +$l['tasks_addvs'] = 'Creating '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creating '.VM_SHORT.' for Restore'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Deleting '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrating '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrating '.VM_SHORT; +$l['tasks_multivirt'] = 'Enabling Multivirt'; +$l['tasks_createtemplate'] = 'Creating Template'; +$l['tasks_getos'] = 'Downloading OS'; +$l['tasks_rebuildvs'] = 'Rebuilding '.VM_SHORT; +$l['tasks_resizevps'] = 'Resizing '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Unsuspend Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Restore network speed'; +$l['tasks_restorevps'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Restoring '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Changing DNS Nameserver'; +$l['tasks_changepassword'] = 'Changing Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Install Control Panel'; +$l['tasks_install_recipe'] = 'Install Recipe'; +$l['tasks_hostname'] = 'Changing Hostname'; +$l['tasks_editxcpvs'] = 'Edit XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'In Progress'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Search'; +$l['tasks_progress'] = 'Progress'; +$l['tasks_completed'] = 'Task Completed'; +$l['tasks_task_notcomplete'] = 'Task could not be Completed.'; +$l['tasks_task_notupdated'] = 'Task not Updated !'; +$l['tasks_task_notupdated_status'] = 'Process Untrackable'; +$l['tasks_migrate_speed'] = 'Migration Speed: '; +$l['tasks_started'] = 'Started'; +$l['tasks_updated'] = 'Updated'; +$l['tasks_ended'] = 'Ended'; +$l['tasks_notupdated'] = 'Not Updated'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Task not Started'; +$l['tasks_not_updated'] = 'Task not Updated'; +$l['tasks_not_ended'] = 'Task not Ended'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'There was some error while starting the '.VM_SHORT; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'There was some error while restarting the '.VM_SHORT; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'There was some error while stopping the '.VM_SHORT; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'There was some error while powering off the '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Enable Rescue'; +$l['tasks_disable_rescuevs'] = 'Disable Rescue'; +$l['tasks_remotedesktop'] = 'Remote Desktop Task'; +$l['tasks_change_vncpass'] = 'Change VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'The Username field was empty'; +$l['login_no_password'] = 'The Password field was empty'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'You have used up your failed login quota of '.$globals['login_attempts'].' failed attempts! Please wait '.$globals['login_ban_time'].' minutes before trying again. Don\'t forget that the password is case sensitive. Forgotten your password? Please try the Forgot Password utility.'; + +$l['login_sign_in'] = 'Sign in'; +$l['login_log_user'] = 'Email'; +$l['login_log_pass'] = 'Password'; +$l['login'] = 'Login'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Поле имя пользователя было пустым'; +$l['login_no_password'] = 'Поле «Пароль» было пустым'; +$l['login_too_many_attempts'] = 'Вы использовали максимальное количество входов в систему '.$globals['login_attempts'].' Неудачные попытки! пожалуйста, подождите '.$globals['login_ban_time'].' Минут, прежде чем повторить попытку.Не забывайте, что пароль чувствителен к регистру. Забыли пароль? Попробуйтевосстановитьпароль utility.'; + +$l['login_sign_in'] = 'Вход в панель управления '.VM_SHORT.'/VDS'; +$l['login_log_user'] = 'Email адрес пользователя'; +$l['login_log_pass'] = 'Пароль'; +$l['login'] = 'Login'; +$l['login_sub_but'] = 'Login'; + +$l['login_pass_nomatch'] = 'Неверное имя пользователя или пароль.'; +$l['login_forgotpass'] = 'Забыли пароль'; +$l['login_emailuser'] = 'Email адрес'; +$l['login_enteremail'] = 'Введите ваш email адрес'; +$l['login_sub_email'] = 'Отправить'; +$l['login_no_email'] = 'Вы не отправили свой адрес электронной почты'; +$l['login_invalidemail'] = 'Указанный адрес электронной почты недействителен.'; +$l['login_mail_sub'] = 'Сброс пароля'; +$l['login_mail_body'] = 'Здравствуйте, + +Был сделан запрос на сброс пароля. +Если вы не запросили сброс пароля, пожалуйста, проигнорируйте это письмо. + +Если вы хотите сбросить пароль, нажмите на URL-адрес ниже : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Обратите внимание: вышеуказанная ссылка действительна только 24 часа. + +Regards, +'.$globals['sn']; +$l['login_mail_done'] = 'Письмо с информацией сброса пароля отправлено на email'; +$l['login_back_to_login'] = 'Вернуться на страницу входа'; + +$l['login_resetpass'] = 'Сброс пароля'; +$l['login_log_new_pass'] = 'Новый пароль'; +$l['login_log_reppass'] = 'Подтвердите пароль'; +$l['login_changepass'] = 'Изменить пароль'; +$l['login_no_key'] = 'Ключ сброса не был отправлен'; +$l['login_invalidkey'] = 'Вы указали недействительный ключ'; +$l['login_no_new'] = 'Введите действительный пароль'; +$l['login_no_reppass'] = 'Введите пароль подтверждения'; +$l['login_no_match'] = 'Указанные пароли не совпадают'; +$l['login_keyexpire'] = 'Ключ больше не действителен'; +$l['login_passchanged'] = 'Пароль успешно изменен.'; +$l['login_forgot_pass'] = 'Забыли пароль'; +$l['login_goto_login'] = 'Перейти на страницу входа'; +$l['login_no_2fa_key'] = 'Недопустимый ключ аутентификации'; +$l['login_inv_user'] = 'Недействительный пользователь'; + +// OTP on login +$l['login_twofactit'] = 'Двухуровневая аутентификация'; +$l['login_enterotp'] = 'Введите одноразовый пароль'; +$l['login_no_otp'] = 'Введите одноразовый пароль (OTP)'; +$l['login_incorrect_otp'] = 'Неверный код'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Ошибка выполнения задачи'; +$l['recipe_no_selected'] = 'Рецепт не выбран'; +$l['recipe_wrong'] = 'Выбрана неправильная задача'; +$l['recipe_heading'] = 'Задачи'; +$l['recipe_choose'] = 'Выберите рецепт'; +$l['recipe_exp_choose_recipe'] = 'Выберите задачу, которую вы хотите применить'; +$l['recipe_update'] = 'Создать задачу'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Задача создана'; +$l['recipe_exec_onboot'] = 'Зада будет запущена, когда вы перезагрузите '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'без описания'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Задача'; +$l['conf_execute'] = 'Вы уверены, что хотите создать эту задачу?'; +$l['rec_short_desc'] = 'Задачи представляют собой предопределенные коды bash'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH отключен администратором'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Вы уверены, что хотите установить таймер?'; +$l['sd_confirm_delete'] = 'Вы уверены, что хотите удалить таймер?'; +$l['sd_date_alert'] = 'Введите дату в формате mm / dd / yyyy'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Установить таймер'; +$l['sd_action_start'] = 'Старт'; +$l['sd_action_stop'] = 'Стоп'; +$l['sd_action_restart'] = 'Перезагрузить'; +$l['sd_action_poweroff'] = 'Выключить'; +$l['sd_action_title'] = 'действие'; +$l['sd_action_edit_desc'] = 'Для редактирования введите данные и отправьте'; +$l['sd_action_edit_desc'] = 'Для редактирования введите данные и отправьте'; +$l['time_updated'] = 'Обновлено действие'; +$l['time_deleted'] = 'Действие удалено'; +$l['time_added'] = 'Действие добавлено'; +$l['sd_invalid_action'] = 'Недействительное действие'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Name'; +$l['sshkey_name_exp'] = 'A unique name for the SSH Key'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'The value of the SSH Key in OpenSSH format.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Add SSH Key'; +$l['sshkey_edit'] = 'Edit SSH Key'; +$l['sshkey_conf_delete'] = 'Are you sure you want to delete this SSH Key ?'; +$l['sshkey_err_delete_key'] = 'There was an error while deleting the SSH Key'; +$l['sshkey_done_delete_key'] = 'The SSH Key has been deleted successfully.'; +$l['sshkey_no_name'] = 'Please specify a valid SSH key name'; +$l['sshkey_no_value'] = 'Please specify a valid SSH key value'; +$l['sshkey_err_name_exists'] = 'An SSH Key of this name already exists'; +$l['sshkey_err_add'] = 'There was an error while adding the SSH Key'; +$l['sshkey_done_add'] = 'The SSH key has been added successfully'; +$l['sshkey_done_edit'] = 'The SSH key has been saved successfully'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'You do not have any ISO(s). You can add one now'; +$l['euiso_add_iso'] = 'Add ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Filename'; +$l['euiso_iso_size'] = 'Downloaded Size'; +$l['euiso_iso_del'] = 'Delete'; +$l['euiso_iso_status'] = 'Status'; +$l['euiso_iso_rsize'] = 'Total Size'; +$l['euiso_confirm_iso_del'] = 'The File is not downloaded yet. Do you want to cancel download and remove the file ?'; +$l['euiso_iso_del_confirm'] = 'Are you sure you want to delete this item ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Add ISO'; +$l['dwnldiso_iso'] = 'Add ISO'; +$l['dwnldiso_done'] = 'Please wait as the ISO file is being downloaded'; +$l['dwnldiso_err_down'] = 'There were errors while downloading the ISO file'; +$l['dwnldiso_wait'] = 'Please wait as the ISO file is being downloaded'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/russian/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/russian/index_lang.php index 6597bb2..9a67f75 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/russian/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/russian/index_lang.php @@ -1,440 +1,440 @@ -Today at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Ошибка темы';//Title -$l['init_theme_error'] = 'Не удалось загрузить файл темы - & soft-1 ;.'; - -$l['init_theme_func_error_t'] = 'Ошибка функции темы';//Title -$l['init_theme_func_error'] = 'Невозможно загрузить функции (-ы) темы & soft-1 ;.'; - -$l['load_theme_settings_error'] = 'Не удалось загрузить файл настроек тем.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Были найдены следующие ошибки:'; - -//Success Message Function -$l['following_message'] = 'Было отправлено следующее сообщение:'; - -//Major Error Function -$l['fatal_error'] = 'Фатальная ошибка'; -$l['following_fatal_error'] = 'Произошла следующая ошибка:'; - -//Message Function -$l['soft_message'] = 'Сообщение'; -$l['following_soft_message'] = 'Было отправлено следующее сообщение:'; - -$l['err_user_head'] = 'Ошибка'; -$l['err_user'] = 'Не удалось определить тип пользователя'; - -//Update Softaculous -$l['getting_info'] = 'Запрос информации ......'; -$l['error_getting_latest'] = 'Не удалось получить информацию ... Отказ доступа'; -$l['got_info'] = 'Got information'; -$l['manual_mode'] = 'Новая версия Softaculous требует ручного вмешателства ...... Отказ от ответственности'; -$l['no_updates'] = 'Текущая версия - последняя версия ...... Продолжения'; -$l['fetch_upgrade'] = 'Fetching Upgrade......'; -$l['error_fetch_upgrade'] = 'Не удалось получить файл обновления ...'; -$l['error_save_upgrade'] = 'е удалось сохранить файл обновления ... Отказаться'; -$l['got_upgrade'] = 'Файл обновления сохранен'; -$l['unzip_upgrade'] = 'Распаковка файлов......'; -$l['error_unzip_upgrade'] = 'Ошибка распаковки ... Отказ'; -$l['unzipped_upgrade'] = 'Успешно распакован'; -$l['running_upgrade'] = 'Запуск обновления ......'; -$l['succ_upgrade'] = 'Завершено'; -$l['error_upgrade'] = 'При обновлении произошли следующие ошибки:'; - -//MySQL Errors -$l['err_selectmy'] = 'База данных MySQL не может быть выбрана.'; -$l['err_myconn'] = 'Не удалось установить соединение MySQL.'; -$l['err_makequery'] = 'Не удалось выполнить запрос с номером'; -$l['err_mynum'] = 'Ошибок MySQL Нет'; -$l['err_myerr'] = 'Ошибка MySQL'; - -//hf_theme.php -$l['welcome'] = 'Добро пожаловать'; -$l['logout'] = 'Выйти'; -$l['page_time'] = 'Страница, созданная в'; -$l['times_are'] = 'Часовой пояс: GMT'; -$l['time_is'] = 'The time now is'; -$l['load_start'] = 'Запуск'; -$l['load_stop'] = 'Остановка'; -$l['load_restart'] = 'Перезапуск'; -$l['load_poweroff'] = 'Выключение'; - -//The Category Language Variables -$l['dock_restart'] = 'Перезапустить контейнер'; -$l['dock_stop'] = 'Остановить контейнер'; -$l['dock_start'] = 'Запустить контейнер'; -$l['dock_poweroff'] = 'Выключить контейнер'; -$l['dock_home'] = 'Домой'; -$l['dock_settings'] = 'Изменить настройки'; -$l['dock_help'] = 'Помощь и поддержка'; -$l['dock_sync'] = 'Синхронизация с другими автоустановками'; -$l['go_home'] = 'Домой'; -$l['dock_user'] = 'Профиль пользователя'; -$l['dock_password'] = 'Изменить пароль'; -$l['dock_vps'] = 'Список '.VM_SHORT; - -// Left Menu -$l['lm_file_mgr'] = 'Файловый менеджер'; -$l['lm_res'] = 'Ресурсы'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Процессы'; -$l['lm_service'] = 'Сервисы'; -$l['lm_firewall'] = 'Брандмауэр'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC пароль'; -$l['lm_statusc'] = 'Журнал событий'; -$l['lm_res_a'] = 'Системные оповещения'; -$l['lm_logs'] = 'Журналы задач'; -$l['lm_bandwidth'] = 'Пропускная способность'; -$l['lm_accountpass'] = 'Пароль от аккаунта'; -$l['lm_changepass'] = 'Сменить пароль'; -$l['lm_controlpanel'] = 'Панель управления'; -$l['lm_recipes'] = 'Задачи'; -$l['lm_disk'] = 'Disk'; -$l['lm_ostemp'] ='Переустановка ОС'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Логи'; -$l['lm_ips'] = 'IP-адрес'; -$l['lm_hvmsettings'] = VM_SHORT.' настройки'; -$l['lm_apikey'] = 'Учетные данные API'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Reverse DNS'; -$l['lm_support'] = 'Поддержка'; -$l['lm_self_shutdown'] = 'Автозапуск'; -$l['lm_tasks'] = 'Список действий'; -$l['lm_twofactauth'] = 'Настройки безопасности'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - - -// Users left menu -$l['lm_vs'] = 'Список '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Настройки'; -$l['lm_profile'] = 'Профиль'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'Вы вошли из админцентра'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Введите страницу, чтобы перейти к'; -$l['page_page'] = 'страница'; -$l['page_of'] = 'из'; -$l['page_go'] = 'дальше'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = VM_SHORT.' не найден в базе данных'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'Шаблон ОС не найден'; -$l['build_no_ip'] = 'Первичный IP отсутствует для '.VM_SHORT; -$l['build_no_os_iso'] = 'Нет шаблона ОС или файла ISO не найдено'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Вы загрузились в неверного ядра - '; -$l['correct_kernel'] = 'Перезагрузитесь в правильное ядро.'; -$l['kvm_module'] = 'Модуль Linux-KVM не загружен.'; -$l['kvm_network'] = 'The '.$globals['bridge'].'Не запускается. Запустите запуск службы virtnetwork '; -$l['temp_exists'] = 'Файл шаблона уже существует'; -$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; -$l['wrong_xm'] = 'Модуль XEN загружен неправильно'; -$l['lxc_module'] = 'LXC не установлен.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Произошла ошибка в создании LVM '.VM_SHORT; -$l['xen_err_swap'] = 'Произошла ошибка в создании SWAP '.VM_SHORT; -$l['xen_err_tmp'] = 'Ошибка при создании точки монтирования'; -$l['xen_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; -$l['xen_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'Во время операции копирования диска произошла ошибка'; -$l['xen_err_mkfs'] = 'При форматировании '.VM_SHORT.' произошла ошибка'; -$l['xen_err_mkswap'] = 'При форматировании SWAP '.VM_SHORT.' произошла ошибка'; -$l['xen_err_untar'] = 'При извлечении образа ОС произошла ошибка'; -$l['xen_err_part'] = 'При создании разделов диска произошла ошибка'; -$l['xen_err_kpart'] = 'При отображении раздела (ов) произошла ошибка'; -$l['xen_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'При создании VDI виртуальной машины произошла ошибка'; -$l['xcp_err_iso'] = 'При загрузке ISO произошла ошибка'; -$l['xcp_err_vif'] = 'При создании VIF для '.VM_SHORT.' произошла ошибка'; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'Произошла ошибка в создании LVM '.VM_SHORT; -$l['kvm_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; -$l['kvm_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'Во время операции копирования диска произошла ошибка'; -$l['kvm_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка' ; -$l['kvm_err_part'] = 'При создании раздела диска произошла ошибка'; -$l['kvm_err_kpart'] = 'При отображении раздела (ов) произошла ошибка'; -$l['kvm_err_mkswap'] = 'При форматировании SWAP '.VM_SHORT.' произошла ошибка'; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'При извлечении шаблона ОС произошла ошибка'; -$l['lxc_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка'; -$l['lxc_network'] = 'The '.$globals['bridge'].' Не запускается. Запустите запуск службы virtnetwork '; -$l['lxc_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'При создании '.VM_SHORT.' произошла ошибка'; -$l['err_vncpass'] = 'При настройке пароля VNC произошла ошибка'; -$l['err_set_iso'] = 'Был присоединен ISO к '.VM_SHORT; -$l['err_disk_create'] = 'При создании диска '.VM_SHORT.' произошла ошибка'; -$l['err_set_boot_order'] = 'При установке порядка загрузки произошла ошибка'; -$l['err_set_ram'] = 'При установке ОЗУ произошла ошибка'; -$l['err_set_pinning'] = 'При установке CPU Affinity произошла ошибка'; -$l['err_install_tools'] = 'При установке гостевых инструментов возникла ошибка'; - -//Backup errors -$l['backup_err_mount'] = 'Произошла ошибка в установке LVM для временного хранения'; -$l['backup_err_lvm'] = 'Произошла ошибка создания LVM временного хранилища.'; -$l['backup_err_mkfs'] = 'При форматировании временного хранилища произошла ошибка'; -$l['backup_err_mkdir'] = 'При создании каталога точек монтирования временного хранилища произошла ошибка'; -$l['kvm_err_tar'] = 'При сжатии архива произошла ошибка'; -$l['xen_err_tar'] = 'При сжатии архива произошла ошибка'; -$l['kvm_err_untar'] = 'Произошла ошибка при распаковке архива'; -$l['backup_err_untar'] = 'Произошла ошибка при распаковке архива'; -$l['err_vzdump'] = 'Произошла ошибка с инструментом резервного копирования'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Не удалось создать резервный образ, Код возврата: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'Ошибка сохранения настроек UBC'; -$l['openvz_err_ostemplate'] = 'Ошибка установки шаблона ОС'; -$l['openvz_err_space'] = 'Ошибка установки дискового пространства'; -$l['openvz_err_inodes'] = 'Ошибка установки дискового пространства'; -$l['openvz_err_hostname'] = 'Ошибка установки имени хоста'; -$l['openvz_err_ip'] = 'Ошибка IP-адреса'; -$l['openvz_err_dns'] = 'Ошибка DNS.'; -$l['openvz_err_cpu'] = 'Ошибка установки модулей CPU'; -$l['openvz_err_cpulim'] = 'Ошибка установки лимита CPU'; -$l['openvz_err_cores'] = 'Ошибка в настройках ядра CPU'; -$l['openvz_err_ioprio'] = 'Ошибка установки приоритета IO'; -$l['openvz_err_create'] = 'Ошибка создания контейнера'; -$l['vswap_error'] = 'При настройке параметров VSwap произошла ошибка'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Работает'; -$l['lm_status_offline'] = 'Выключен'; -$l['lm_status_suspended'] = 'Приостановлен'; -$l['vps_is_suspended'] = 'Этот '.VM_SHORT.' заблокирован. Вы не можете выполнять какие-либо операции с '.VM_SHORT.'!'; -$l['suspend_reason_bw'] = 'Этот '.VM_SHORT.' приостановлен из-за превышения лимито канала. Вы не можете выполнять какие-либо операции для '.VM_SHORT.'!'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Изменение применяться, когда '.VM_SHORT.' снова загрузится.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'При изменении размера Дисков произошла ошибка'; -$l['mount_undetermined'] = 'В '.VM_SHORT.' не было обнаружено раздела Linux'; -$l['disk_destroy_err'] = 'При удалении дисков произошла ошибка'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'При попытке редактировать '.VM_SHORT.' произошла ошибка'; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['bandwidth_mail_sub'] = VM_SHORT.' приостанавливается из-за чрезмерного использования трафика'; -$l['bandwidth_mail_message'] = 'Здравствуйте, - -Your '.VM_SHORT.' `{{hostname}}` Был приостановлен, поскольку он превысил свой назначенный предел пропускной способности. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Здравствуйте - -Ваш VM_SHORT {{vpsid}} был {{действие}} в соответствии с установленным временем ({{время}}) -'; - -$l['self_shutdown_start'] = 'Запустить'; -$l['self_shutdown_stop'] = 'Приостановить'; -$l['self_shutdown_restart'] = 'Перезапустить'; -$l['self_shutdown_poweroff'] = 'Выключить'; - -$l['self_shutdown_start_failed'] = 'Не смог запустить'; -$l['self_shutdown_stop_failed'] = 'Не смог приостановить'; -$l['self_shutdown_restart_failed'] = 'Не смог перезапустить'; -$l['self_shutdown_poweroff_failed'] = 'Не смог выключить'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Не удалось выполнить запрос proxmox api. Пожалуйста, введите данные прокси-мода в Конфигурация -> Настройки ведомого устройства'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Today at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Ошибка темы';//Title +$l['init_theme_error'] = 'Не удалось загрузить файл темы - & soft-1 ;.'; + +$l['init_theme_func_error_t'] = 'Ошибка функции темы';//Title +$l['init_theme_func_error'] = 'Невозможно загрузить функции (-ы) темы & soft-1 ;.'; + +$l['load_theme_settings_error'] = 'Не удалось загрузить файл настроек тем.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Были найдены следующие ошибки:'; + +//Success Message Function +$l['following_message'] = 'Было отправлено следующее сообщение:'; + +//Major Error Function +$l['fatal_error'] = 'Фатальная ошибка'; +$l['following_fatal_error'] = 'Произошла следующая ошибка:'; + +//Message Function +$l['soft_message'] = 'Сообщение'; +$l['following_soft_message'] = 'Было отправлено следующее сообщение:'; + +$l['err_user_head'] = 'Ошибка'; +$l['err_user'] = 'Не удалось определить тип пользователя'; + +//Update Softaculous +$l['getting_info'] = 'Запрос информации ......'; +$l['error_getting_latest'] = 'Не удалось получить информацию ... Отказ доступа'; +$l['got_info'] = 'Got information'; +$l['manual_mode'] = 'Новая версия Softaculous требует ручного вмешателства ...... Отказ от ответственности'; +$l['no_updates'] = 'Текущая версия - последняя версия ...... Продолжения'; +$l['fetch_upgrade'] = 'Fetching Upgrade......'; +$l['error_fetch_upgrade'] = 'Не удалось получить файл обновления ...'; +$l['error_save_upgrade'] = 'е удалось сохранить файл обновления ... Отказаться'; +$l['got_upgrade'] = 'Файл обновления сохранен'; +$l['unzip_upgrade'] = 'Распаковка файлов......'; +$l['error_unzip_upgrade'] = 'Ошибка распаковки ... Отказ'; +$l['unzipped_upgrade'] = 'Успешно распакован'; +$l['running_upgrade'] = 'Запуск обновления ......'; +$l['succ_upgrade'] = 'Завершено'; +$l['error_upgrade'] = 'При обновлении произошли следующие ошибки:'; + +//MySQL Errors +$l['err_selectmy'] = 'База данных MySQL не может быть выбрана.'; +$l['err_myconn'] = 'Не удалось установить соединение MySQL.'; +$l['err_makequery'] = 'Не удалось выполнить запрос с номером'; +$l['err_mynum'] = 'Ошибок MySQL Нет'; +$l['err_myerr'] = 'Ошибка MySQL'; + +//hf_theme.php +$l['welcome'] = 'Добро пожаловать'; +$l['logout'] = 'Выйти'; +$l['page_time'] = 'Страница, созданная в'; +$l['times_are'] = 'Часовой пояс: GMT'; +$l['time_is'] = 'The time now is'; +$l['load_start'] = 'Запуск'; +$l['load_stop'] = 'Остановка'; +$l['load_restart'] = 'Перезапуск'; +$l['load_poweroff'] = 'Выключение'; + +//The Category Language Variables +$l['dock_restart'] = 'Перезапустить контейнер'; +$l['dock_stop'] = 'Остановить контейнер'; +$l['dock_start'] = 'Запустить контейнер'; +$l['dock_poweroff'] = 'Выключить контейнер'; +$l['dock_home'] = 'Домой'; +$l['dock_settings'] = 'Изменить настройки'; +$l['dock_help'] = 'Помощь и поддержка'; +$l['dock_sync'] = 'Синхронизация с другими автоустановками'; +$l['go_home'] = 'Домой'; +$l['dock_user'] = 'Профиль пользователя'; +$l['dock_password'] = 'Изменить пароль'; +$l['dock_vps'] = 'Список '.VM_SHORT; + +// Left Menu +$l['lm_file_mgr'] = 'Файловый менеджер'; +$l['lm_res'] = 'Ресурсы'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Процессы'; +$l['lm_service'] = 'Сервисы'; +$l['lm_firewall'] = 'Брандмауэр'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC пароль'; +$l['lm_statusc'] = 'Журнал событий'; +$l['lm_res_a'] = 'Системные оповещения'; +$l['lm_logs'] = 'Журналы задач'; +$l['lm_bandwidth'] = 'Пропускная способность'; +$l['lm_accountpass'] = 'Пароль от аккаунта'; +$l['lm_changepass'] = 'Сменить пароль'; +$l['lm_controlpanel'] = 'Панель управления'; +$l['lm_recipes'] = 'Задачи'; +$l['lm_disk'] = 'Disk'; +$l['lm_ostemp'] ='Переустановка ОС'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Логи'; +$l['lm_ips'] = 'IP-адрес'; +$l['lm_hvmsettings'] = VM_SHORT.' настройки'; +$l['lm_apikey'] = 'Учетные данные API'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Reverse DNS'; +$l['lm_support'] = 'Поддержка'; +$l['lm_self_shutdown'] = 'Автозапуск'; +$l['lm_tasks'] = 'Список действий'; +$l['lm_twofactauth'] = 'Настройки безопасности'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + + +// Users left menu +$l['lm_vs'] = 'Список '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Настройки'; +$l['lm_profile'] = 'Профиль'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'Вы вошли из админцентра'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Введите страницу, чтобы перейти к'; +$l['page_page'] = 'страница'; +$l['page_of'] = 'из'; +$l['page_go'] = 'дальше'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = VM_SHORT.' не найден в базе данных'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'Шаблон ОС не найден'; +$l['build_no_ip'] = 'Первичный IP отсутствует для '.VM_SHORT; +$l['build_no_os_iso'] = 'Нет шаблона ОС или файла ISO не найдено'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Вы загрузились в неверного ядра - '; +$l['correct_kernel'] = 'Перезагрузитесь в правильное ядро.'; +$l['kvm_module'] = 'Модуль Linux-KVM не загружен.'; +$l['kvm_network'] = 'The '.$globals['bridge'].'Не запускается. Запустите запуск службы virtnetwork '; +$l['temp_exists'] = 'Файл шаблона уже существует'; +$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; +$l['wrong_xm'] = 'Модуль XEN загружен неправильно'; +$l['lxc_module'] = 'LXC не установлен.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Произошла ошибка в создании LVM '.VM_SHORT; +$l['xen_err_swap'] = 'Произошла ошибка в создании SWAP '.VM_SHORT; +$l['xen_err_tmp'] = 'Ошибка при создании точки монтирования'; +$l['xen_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; +$l['xen_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'Во время операции копирования диска произошла ошибка'; +$l['xen_err_mkfs'] = 'При форматировании '.VM_SHORT.' произошла ошибка'; +$l['xen_err_mkswap'] = 'При форматировании SWAP '.VM_SHORT.' произошла ошибка'; +$l['xen_err_untar'] = 'При извлечении образа ОС произошла ошибка'; +$l['xen_err_part'] = 'При создании разделов диска произошла ошибка'; +$l['xen_err_kpart'] = 'При отображении раздела (ов) произошла ошибка'; +$l['xen_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'При создании VDI виртуальной машины произошла ошибка'; +$l['xcp_err_iso'] = 'При загрузке ISO произошла ошибка'; +$l['xcp_err_vif'] = 'При создании VIF для '.VM_SHORT.' произошла ошибка'; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'Произошла ошибка в создании LVM '.VM_SHORT; +$l['kvm_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; +$l['kvm_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'Во время операции копирования диска произошла ошибка'; +$l['kvm_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка' ; +$l['kvm_err_part'] = 'При создании раздела диска произошла ошибка'; +$l['kvm_err_kpart'] = 'При отображении раздела (ов) произошла ошибка'; +$l['kvm_err_mkswap'] = 'При форматировании SWAP '.VM_SHORT.' произошла ошибка'; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'При извлечении шаблона ОС произошла ошибка'; +$l['lxc_err_unmount'] = 'Произошла ошибка в размонтировании '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'При изменении размера файловой системы произошла ошибка'; +$l['lxc_network'] = 'The '.$globals['bridge'].' Не запускается. Запустите запуск службы virtnetwork '; +$l['lxc_err_mount'] = 'Произошла ошибка при установке '.VM_SHORT.' LVM'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'При создании '.VM_SHORT.' произошла ошибка'; +$l['err_vncpass'] = 'При настройке пароля VNC произошла ошибка'; +$l['err_set_iso'] = 'Был присоединен ISO к '.VM_SHORT; +$l['err_disk_create'] = 'При создании диска '.VM_SHORT.' произошла ошибка'; +$l['err_set_boot_order'] = 'При установке порядка загрузки произошла ошибка'; +$l['err_set_ram'] = 'При установке ОЗУ произошла ошибка'; +$l['err_set_pinning'] = 'При установке CPU Affinity произошла ошибка'; +$l['err_install_tools'] = 'При установке гостевых инструментов возникла ошибка'; + +//Backup errors +$l['backup_err_mount'] = 'Произошла ошибка в установке LVM для временного хранения'; +$l['backup_err_lvm'] = 'Произошла ошибка создания LVM временного хранилища.'; +$l['backup_err_mkfs'] = 'При форматировании временного хранилища произошла ошибка'; +$l['backup_err_mkdir'] = 'При создании каталога точек монтирования временного хранилища произошла ошибка'; +$l['kvm_err_tar'] = 'При сжатии архива произошла ошибка'; +$l['xen_err_tar'] = 'При сжатии архива произошла ошибка'; +$l['kvm_err_untar'] = 'Произошла ошибка при распаковке архива'; +$l['backup_err_untar'] = 'Произошла ошибка при распаковке архива'; +$l['err_vzdump'] = 'Произошла ошибка с инструментом резервного копирования'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Не удалось создать резервный образ, Код возврата: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'Ошибка сохранения настроек UBC'; +$l['openvz_err_ostemplate'] = 'Ошибка установки шаблона ОС'; +$l['openvz_err_space'] = 'Ошибка установки дискового пространства'; +$l['openvz_err_inodes'] = 'Ошибка установки дискового пространства'; +$l['openvz_err_hostname'] = 'Ошибка установки имени хоста'; +$l['openvz_err_ip'] = 'Ошибка IP-адреса'; +$l['openvz_err_dns'] = 'Ошибка DNS.'; +$l['openvz_err_cpu'] = 'Ошибка установки модулей CPU'; +$l['openvz_err_cpulim'] = 'Ошибка установки лимита CPU'; +$l['openvz_err_cores'] = 'Ошибка в настройках ядра CPU'; +$l['openvz_err_ioprio'] = 'Ошибка установки приоритета IO'; +$l['openvz_err_create'] = 'Ошибка создания контейнера'; +$l['vswap_error'] = 'При настройке параметров VSwap произошла ошибка'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Работает'; +$l['lm_status_offline'] = 'Выключен'; +$l['lm_status_suspended'] = 'Приостановлен'; +$l['vps_is_suspended'] = 'Этот '.VM_SHORT.' заблокирован. Вы не можете выполнять какие-либо операции с '.VM_SHORT.'!'; +$l['suspend_reason_bw'] = 'Этот '.VM_SHORT.' приостановлен из-за превышения лимито канала. Вы не можете выполнять какие-либо операции для '.VM_SHORT.'!'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Изменение применяться, когда '.VM_SHORT.' снова загрузится.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'При изменении размера Дисков произошла ошибка'; +$l['mount_undetermined'] = 'В '.VM_SHORT.' не было обнаружено раздела Linux'; +$l['disk_destroy_err'] = 'При удалении дисков произошла ошибка'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'При попытке редактировать '.VM_SHORT.' произошла ошибка'; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['bandwidth_mail_sub'] = VM_SHORT.' приостанавливается из-за чрезмерного использования трафика'; +$l['bandwidth_mail_message'] = 'Здравствуйте, + +Your '.VM_SHORT.' `{{hostname}}` Был приостановлен, поскольку он превысил свой назначенный предел пропускной способности. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Здравствуйте + +Ваш VM_SHORT {{vpsid}} был {{действие}} в соответствии с установленным временем ({{время}}) +'; + +$l['self_shutdown_start'] = 'Запустить'; +$l['self_shutdown_stop'] = 'Приостановить'; +$l['self_shutdown_restart'] = 'Перезапустить'; +$l['self_shutdown_poweroff'] = 'Выключить'; + +$l['self_shutdown_start_failed'] = 'Не смог запустить'; +$l['self_shutdown_stop_failed'] = 'Не смог приостановить'; +$l['self_shutdown_restart_failed'] = 'Не смог перезапустить'; +$l['self_shutdown_poweroff_failed'] = 'Не смог выключить'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Не удалось выполнить запрос proxmox api. Пожалуйста, введите данные прокси-мода в Конфигурация -> Настройки ведомого устройства'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/spanish/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/spanish/enduser_lang.php index e822125..5f105b5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/spanish/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/spanish/enduser_lang.php @@ -1,2141 +1,2141 @@ - Escanee el código QR o escriba la clave secreta que se indica a continuación en su aplicación de autenticación de dos factores. Después, la aplicación le proporcionará un OTP único que tiene que introducir en el cuadro de texto para permitir la autenticación de dos factores.'; -$l['twofactauth_secret_key'] = 'Clave secreta:'; -$l['twofactauth_code_input'] = 'Código de confirmación'; -$l['twofactauth_code_input_exp'] = 'Introducir el OTP que recibió en el correo electrónico o de la App'; -$l['twofactauth_submit'] = 'Enviar'; -$l['twofactauth_select_pref'] = 'Seleccione su preferencia:'; -$l['twofactauth_select_pref_desc'] = 'Seleccione el tipo de autenticación de dos factores y, a continuación, introduzca el código para habilitarlo'; -$l['twofactauth_disabled'] = 'Se ha inhabilitado la autenticación de dos factores'; -$l['twofactauth_enabled'] = 'Se ha habilitado la autenticación de dos factores'; -$l['twofactauth_err_enable'] = 'El código de acceso introducido es incorrecto'; -$l['twofactauth_email_passcode'] = 'Código de correo electrónico'; -$l['twofactauth_none'] = 'Ninguno (No recomendado!)'; -$l['twofactauth_email_otp'] = 'OTP Email'; -$l['twofactauth_enable_app'] = 'Habilitar la aplicación (Google authenticator etc..)'; -$l['twofactauth_no_passcode'] = 'Por favor especificar el OTP'; -$l['twofactauth_changes_saved'] = 'Sus cambios se han guardado correctamente.'; -$l['twofactauth_or'] = 'O'; -$l['twofactauth_passcode_error'] = 'El OTP no pudo ser generado'; -$l['twofactauth_otp_mail_sub'] = 'Entrar OTP'; -$l['twofactauth_reset_key'] = 'Reestablecer clave'; -$l['twofactauth_email_sent_to'] = 'OTP será enviado a:'; -$l['twofactauth_otp_mail_body'] = 'Hola, - -Se ha enviado una solicitud de acceso a su cuenta en: -{{site_domain}} - -Utilice la siguiente contraseña de Una Vez (OTP) para iniciar sesión: -{{otp}} - -Saludos, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Código de confirmación de autenticación de dos factores'; -$l['twofactauth_passcode_mail_body'] = 'Hola, - -El código de confirmación para habilitar la autenticación de dos factores para su cuenta en {{site_domain}} es: {{passcode}}. - -Saludos, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP ha sido enviado a su dirección de correo electrónico'; -$l['twofactauth_secret_key_conf'] = 'ADVERTENCIA: Si restablece la clave secreta, tendrá que actualizar sus aplicaciones con la nueva. Estás seguro de que quieres continuar ?'; -$l['twofactauth_otp_expired'] = '¡El OTP que envió ha caducado!'; -$l['twofactauth_not_allowed'] = 'No tiene permiso para acceder a esta página'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'No ha introducido el Email'; -$l['adu_no_user_password'] = 'No ha introducido la contraseña'; -$l['adu_invalid_email'] = 'El Email que ha introducido no es válido'; -$l['adu_userlimit_exceeded'] = 'No se le permite crear más usuarios. Por favor, póngase en contacto con el Administrador'; -$l['adu_useradd_error'] = 'Se produjo un error al agregar el usuario. Por favor, póngase en contacto con el Administrador'; -$l['adu_page_head'] = 'Agregar usuario'; -$l['adu_done'] = 'El usuario ha sido añadido'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Contraseña'; -$l['adu_user_exists'] = 'Ya existe el usuario. Por favor, introduzca un correo electrónico diferente'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'No ha especificado la nueva contraseña.'; -$l['cpas_no_conf'] = 'La contraseña de confirmación no se encuentra.'; -$l['cpas_no_match'] = 'Las contraseñas que ha escrito no coinciden'; -$l['cpas_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; -$l['cpas_submit_button'] = 'Cambiar la contraseña'; -$l['cpas_new_pass'] = 'Nueva contraseña'; -$l['cpas_old_pass'] = 'Contraseña antigua'; -$l['cpas_retype_pass'] = 'Reescriba la nueva contraseña'; -$l['cpas_change_note'] = 'Cambiar contraseña de root'; -$l['cpas_change_final'] = 'Tu contraseña ha sido cambiada exitosamente'; -$l['cpas_change_onboot'] = 'Su contraseña será cambiada cuando el '.VM_SHORT.' se inicie de nuevo'; -$l['cpas_change_notify'] = 'Cambiando la contraseña root del '.VM_SHORT.'...'; -$l['cpas_strength_indicator'] = 'Indicador de Fuerza'; -$l['cpas_bad'] = 'Débil'; -$l['cpas_good'] = 'Buena'; -$l['cpas_strong'] = 'Fuerte'; -$l['cpas_short'] = 'Corta'; -$l['cpas_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; -$l['cpas_pass_match'] = 'Las contraseñas no coinciden'; -$l['cpas_disabled'] = 'Cambiar contraseña está desactivada por el Administrador'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Recursos Cloud'; -$l['cr_resource_type'] = 'Tipo de recurso'; -$l['cr_limit'] = 'Límite'; -$l['cr_used'] = 'Usado'; -$l['cr_left'] = 'Disponible'; -$l['cr_unlimited'] = 'Ilimitado'; -$l['cr_num_vs'] = 'Número de VMs'; -$l['cr_num_users'] = 'Número de usuarios'; -$l['cr_num_space'] = 'Espacio del disco'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Ancho de banda'; -$l['cr_num_cores'] = 'Total Cores'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'Subredes IPv6'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'Información de la CPU'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Consola está desactivada'; -$l['cs_call_failed'] = 'La llamada a la API falló. Por favor, póngase en contacto con la administrador'; -$l['cs_heading'] = 'Consola'; -$l['cs_none'] = 'Ninguna sesión de consola existente se encontró. Por favor, cree una!'; -$l['cs_create'] = 'Crear sesión'; -$l['cs_creating'] = 'Creando la sesión ...'; -$l['cs_destroying'] = 'Eliminando la sesión ...'; -$l['cs_details'] = 'Los siguientes son los detalles de la consola'; -$l['cs_expires'] = 'Expira'; -$l['cs_ip'] = 'Dirección IP'; -$l['cs_port'] = 'Puerto'; -$l['cs_username'] = 'Nombre de usuario'; -$l['cs_password'] = 'Contraseña'; -$l['cs_destroy'] = 'Destruir Sesión'; -$l['cs_java_console'] = 'Consola Java'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Por favor, especifique un hostname para cambiar.'; -$l['hn_new_host'] = 'Nuevo Hostname'; -$l['hn_submit_button'] = 'Cambiar Hostname'; -$l['hn_err_changing'] = 'Hubo algunos errores mientras se cambiaba el hostname.'; -$l['hn_host_final'] = 'Tu hostname se ha cambiado correctamente'; -$l['hn_invalid_hostname'] = 'El hostname que ha enviado no es válido'; -$l['hn_change_onboot'] = 'Tu hostname se cambiará cuando el '.VM_SHORT.' se inicie de nuevo'; -$l['hn_current_hostname'] = 'Actual Hostname'; -$l['hn_change_notify'] = 'Cambiando el hostname...'; -$l['hn_disable_change_hostname'] = 'Cambiar hostname está desactivado por Admin'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'No hay IPs seleccionadas'; -$l['ips_ip_not_exists'] = 'IPs No existe'; -$l['ips_header'] = 'IPs'; -$l['ips_ipinfo'] = 'Información IP'; -$l['ips_reorderips'] = 'Establecer IP primaria'; -$l['ips_done'] = 'La configuración de IP se ha guardado.'; -$l['ips_change_onboot'] = 'La configuración IP se cambiará cuando el '.VM_SHORT.' se inicie de nuevo'; -$l['ips_primary_ip'] = 'Seleccione IP primaria'; -$l['ips_ipv6_ips_list'] = 'IPs IPV6'; -$l['ips_ipv6_empty'] = 'IPV6 vacío'; -$l['ips_change_notify'] = 'Cambiando la configuración de IP...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = 'CPU'; -$l['mon_cpuinfo'] = 'Información del CPU'; -$l['mon_totalcpu'] = 'Total CPU'; -$l['mon_cpuutilised'] = 'Utilizado'; -$l['mon_poweredby'] = 'Desarrollado por:'; -$l['mon_graphheader'] = 'Utilización de CPU'; -$l['mon_trademarks'] = 'Todo logo respectivo utilizado son marcas comerciales o marcas comerciales registradas de sus respectivas compañías.'; -$l['mon_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disco'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Red'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Velocidad de Lectura'; -$l['mon_io_write_spd'] = 'I/O Velocidad de Escritura'; -$l['mon_ntw_info'] = 'Información de red'; -$l['mon_ntw_down_spd'] = 'Promedio de velocidad de descarga'; -$l['mon_ntw_upld_spd'] = 'Promedio de velocidad de subida'; -$l['mon_disabled'] = 'La opción de monitoreo está desactivado por Admin'; -$l['mon_cpu_usage'] = 'CPU Usada'; -$l['mon_inode_usage'] = 'Inodos Usados'; -$l['mon_ram_usage'] = 'RAM Usada'; -$l['mon_disk_usage'] = 'Disco Usado'; -$l['mon_down_speed'] = 'Velocidad de descarga'; -$l['mon_up_speed'] = 'Velocidad de subida'; -$l['mon_total_speed'] = 'Velocidad Total'; -$l['mon_cpu_hist'] = 'Historial de uso de la CPU '; -$l['mon_mem_hist'] = 'Historial de uso de la Memoria'; -$l['mon_storage'] = 'Almacenamiento utilizado'; -$l['mon_date_label'] = 'Fecha mm/dd'; -$l['mon_inode_hist'] = 'Inodos Usados'; -$l['mon_net_speed'] = 'Velocidad de la red'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'No ha seleccionado el sistema operativo'; -$l['os_invalid_os'] = 'El sistema operativo enviado no es válido'; -$l['os_no_new'] = 'No ha especificado la nueva contraseña.'; -$l['os_no_conf'] = 'La contraseña de confirmación no se encuentra.'; -$l['os_no_match'] = 'Las contraseñas que indicó no coinciden'; -$l['os_error_reins'] = 'Hubo un error al volver a instalar el sistema operativo'; -$l['os_err_changing'] = 'Hubo algunos errores al establecer la contraseña.'; -$l['os_err_log_osreinstall'] = 'Ha superado el límite de reinstalación del sistema operativo. Póngase en contacto con su administrador'; -$l['os_reins_os'] = 'Reinstalar OS'; -$l['os_os_reinstall'] = 'Reinstalar'; -$l['os_new_pass'] = 'Nueva contraseña'; -$l['os_retype_pass'] = 'Reescriba la contraseña'; -$l['os_genram_psswd'] = 'Crear otra contraseña aleatoria'; -$l['os_done'] = 'El proceso de reinstalación del sistema operativo se ha iniciado en segundo plano'; -$l['os_reins_notify'] = 'Reinstalando el sistema operativo del '.VM_SHORT.'...'; -$l['os_centos_line1'] = 'CentOS es una distribución de Linux de clase empresarial derivado de fuentes proporcionadas libremente al público por un proveedor importante de América del Norte Enterprise Linux.'; -$l['os_centos_line2'] = 'CentOS se ajusta plenamente a los proveedores y aspira a ser 100% compatible a nivel binario. CentOS cambia principalmente paquetes para eliminar la marca del proveedor y de ilustraciones.'; -$l['os_centos_line3'] = 'CentOS es desarrollado por un pequeño pero creciente grupo de desarrolladores principales. CentOS es gratuito.'; -$l['os_fedora_line1'] = 'Fedora es un sistema operativo basado en Linux que muestra lo último en software libre y de código abierto. Fedora siempre es gratuito para que cualquiera pueda usarlo, modificarlo y distribuirlo.'; -$l['os_fedora_line2'] = 'Está construido por personas de todo el mundo que trabajan juntos como una comunidad: el Proyecto Fedora. El Proyecto Fedora está abierto y cualquier persona puede unirse.'; -$l['os_fedora_line3'] = 'El Proyecto Fedora está a la vanguardia para usted, liderando el avance del software libre y abierto.'; -$l['os_suse_line1'] = 'El proyecto openSUSE es un esfuerzo mundial que promueve el uso de Linux en todas partes.'; -$l['os_suse_line2'] = 'OpenSUSE crea una de las mejores distribuciones Linux del mundo, trabajando de manera abierta, transparente y amistosa como parte de la comunidad mundial de software libre y de código abierto.'; -$l['os_suse_line3'] = 'El proyecto es controlado por su comunidad y depende de las contribuciones de los individuos, trabajando como probadores, escritores, traductores, expertos en usabilidad, artistas y embajadores o desarrolladores.'; -$l['os_suse_line4'] = 'OpenSUSE es un sistema operativo libre y basado en Linux para tu PC, Laptop o Servidor.'; -$l['os_ubuntu_line1'] = 'Ubuntu es parte de la familia Debian de sistemas operativos Linux, que cuenta con el mayor grupo de talentos de desarrolladores, con cada paquete construido por expertos.'; -$l['os_ubuntu_line2'] = 'La rigurosa gestión de lanzamientos, garantía de calidad, pruebas de estrés y diseño de productos mejoran la calidad de Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-rápido y de gran apariencia, Ubuntu es un sistema operativo seguro e intuitivo que alimenta los escritorios, servidores, netbooks y portátiles. Ubuntu es, y siempre será, absolutamente gratis.'; -$l['os_debian_line1'] = 'Debian es un sistema operativo libre (OS) para su computadora. Un sistema operativo es el conjunto de programas básicos y utilidades que hacen que su computadora funcione.'; -$l['os_debian_line2'] = 'Debian utiliza el kernel de Linux (el núcleo de un sistema operativo), pero la mayoría de las herramientas básicas del sistema operativo provienen del proyecto GNU; De ahí el nombre GNU / Linux.'; -$l['os_debian_line3'] = 'Debian GNU / Linux proporciona más que un SO puro: viene con más de 25000 paquetes, software precompilado incluido en un formato agradable para una fácil instalación en su máquina.'; -$l['os_scientific_line1'] = 'Scientific Linux es una distribución Linux producida por Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'Es un sistema operativo de código abierto y libre basado en Red Hat Enterprise Linux y tiene como objetivo \"estar lo más cerca posible de la distribución de empresas comerciales que podamos obtener\".'; -$l['os_scientific_line3'] = 'Este producto se deriva del software libre y de código abierto que Red Hat, Inc. pero no es producido, mantenido o soportado por Red Hat.'; -$l['os_strength_indicator'] = 'Indicador de Fuerza'; -$l['os_bad'] = 'Débil'; -$l['os_good'] = 'Buena'; -$l['os_strong'] = 'Fuerte'; -$l['os_short'] = 'Corta'; -$l['os_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; -$l['os_pass_match'] = 'Las contraseñas no coinciden'; -$l['os_reinstall_wait'] = 'Reinstalando el sistema operativo, espere por favor...'; -$l['os_reinstall_disabled'] = 'Reinstalación del sistema operativo está desactivado por Admin'; -$l['os_no_os'] = 'No hay OS(s) disponibles para reinstalar'; -$l['os_rebuild_data_lost_warn'] = '¿Estás seguro de que quieres reconstruir el '.VM_SHORT.'? Advertencia: Los datos existentes en '.VM_SHORT.' se perderán permanentemente.'; -$l['os_select_version'] = 'SELECCIONAR VERSION'; -$l['os_select_os'] = 'Seleccionar el Sistema Operativo:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Información VNC'; -$l['vnc_vnc_ip'] = 'IP VNC'; -$l['vnc_vnc_port'] = 'Puerto VNC'; -$l['vnc_novnc_button'] = 'Lanzar cliente VNC HTML 5'; -$l['vnc_launch_vnc'] = 'Iniciar el visor JavaVNC'; -$l['vnc_notice'] = 'VNC sólo funcionará si Java está instalado y habilitado en su navegador'; -$l['vnc_not_enabled'] = 'VNC no está habilitado'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'No ha especificado la nueva contraseña.'; -$l['vncpas_no_conf'] = 'La contraseña de confirmación no se encuentra.'; -$l['vncpas_no_match'] = 'Las contraseñas que dio no coinciden'; -$l['vncpas_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; -$l['vncpas_no_nonalphanumeric'] = 'No se permiten caracteres no alfanuméricos'; -$l['vncpas_submit_button'] = 'Cambiar contraseña VNC'; -$l['vncpas_new_pass'] = 'Nueva contraseña'; -$l['vncpas_old_pass'] = 'Contraseña antigua'; -$l['vncpas_retype_pass'] = 'Reescriba la nueva contraseña'; -$l['vncpas_change_note'] = 'Cambiar contraseña VNC'; -$l['vncpas_change_final'] = 'Su contraseña VNC ha sido cambiada con éxito.'; -$l['vncpas_change_notify'] = 'Cambiando la contraseña de VNC ...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'No ha especificado la nueva contraseña.'; -$l['up_no_conf'] = 'La confirmación de la contraseña no se encuentra.'; -$l['up_no_match'] = 'Las contraseñas que indicó no coinciden'; -$l['up_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; -$l['up_new_pass'] = 'Nueva contraseña'; -$l['up_old_pass'] = 'Contraseña antigua'; -$l['up_retype_pass'] = 'Reescriba la nueva contraseña'; -$l['up_page_head'] = 'Cambiar la contraseña'; -$l['up_change_final'] = 'Tu contraseña ha sido cambiada exitosamente'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Cambiar perfil'; -$l['pr_no_fname'] = 'No ha introducido el nombre'; -$l['pr_no_lname'] = 'No ha introducido los apellidos'; -$l['pr_firstname'] = 'Nombre'; -$l['pr_lastname'] = 'Apellidos'; -$l['pr_company'] = 'Empresa'; -$l['pr_website'] = 'Sitio web'; -$l['pr_address'] = 'Dirección'; -$l['pr_city'] = 'Ciudad'; -$l['pr_state'] = 'Estado'; -$l['pr_zip'] = 'Código postal'; -$l['pr_country'] = 'País'; -$l['pr_phone'] = 'Móvil'; -$l['pr_sys_admin_email'] = 'Correo electrónico del administrador del sistema'; -$l['pr_cc_emails'] = 'Correo electrónico CC de factura'; -$l['pr_cc_emails_exp'] = 'Los correos electrónicos relacionados con la factura se enviarán a estos correos electrónicos. Puede agregar varios correos electrónicos separados por comas. '; -$l['pr_soft_error'] = 'Hubo algún error al guardar sus datos. Póngase en contacto con el equipo de soporte: '. $globals['support_email']; -$l['pr_done'] = 'Sus cambios se han guardado correctamente'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Servicios'; -$l['ser_sstart'] = 'Iniciar'; -$l['ser_sstop'] = 'Detener'; -$l['ser_srestart'] = 'Reiniciar'; -$l['ser_status'] = 'Estado'; -$l['ser_statrun'] = 'En ejecución'; -$l['ser_statoff'] = 'OFF'; -$l['ser_staton'] = 'ON'; -$l['ser_autostart'] = 'Autoencendido'; -$l['ser_select'] = 'Seleccionar'; -$l['ser_vps_is_off'] = 'El '.VM_SHORT.' está apagado!'; -$l['ser_no_feature'] = 'Esta función no está disponible!'; -$l['ser_notice_start'] = 'Los servicios seleccionados están siendo iniciados..'; -$l['ser_notice_stop'] = 'Los servicios seleccionados están siendo detenidos..'; -$l['ser_notice_restart'] = 'Los servicios seleccionados están siendo reiniciados..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'Lista de Procesos'; -$l['proc_usr'] = 'Usuario'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Comando'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'Hora'; -$l['proc_select'] = 'seleccionar'; -$l['proc_pstart'] = 'Iniciar'; -$l['proc_pkill'] = 'Matar'; -$l['proc_prefresh'] = 'Autorefrescar'; -$l['proc_vps_is_off'] = 'El '.VM_SHORT.' está apagado!'; -$l['proc_no_feature'] = 'Esta función no está disponible!'; -$l['proc_notice_pkill'] = 'Deteniendo los procesos seleccionados :'; -$l['proc_with_selected'] = 'Con seleccionados:'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Registros'; -$l['log_date'] = 'Fecha'; -$l['log_task'] = 'Tarea'; -$l['log_status'] = 'Estado'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Correcto'; -$l['log_fail'] = 'Error'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Administrar subredes IPv6'; -$l['mng_done'] = 'IPs se guardaron con éxito'; -$l['mng_add_ipv6'] = 'Añadir una dirección IPv6'; -$l['mng_add_ip_button'] = 'Añadir IP'; -$l['mng_back_button'] = 'Atrás'; -$l['mng_save_button'] = 'Guardar'; -$l['mng_delete_confirm'] = '¿Seguro que quieres eliminar esta dirección IPv6?'; -$l['mng_ipv6_invalid'] = 'Hubo un error con la dirección IPv6'; -$l['mng_ipv6_address'] = 'Dirección IPv6'; -$l['mng_ipv6_delete'] = 'Eliminar'; -$l['mng_ipv6_subnet'] = 'Subred IPv6'; -$l['mng_edit_subnet'] = 'Editar'; -$l['mng_no_vps'] = 'No se han encontrado '.VM_SHORT; -$l['mng_inv_ipaddress'] = 'La IP especificada no le pertenece a usted'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Administrar Zona'; -$l['mz_zone_conf_del'] = '¿Seguro que quieres eliminar el Servidor PDNS?'; -$l['mz_add_pdns'] = 'Añadir Servidor PDNS'; -$l['mz_dns_mgmt'] = 'Administración de DNS'; -$l['mz_zone_add_done'] = 'La zona se ha agregado con éxito'; -$l['mz_add_zone'] = 'Añadir Registro a la Zona'; -$l['mz_zone_name'] = 'Nombre de la zona'; -$l['mz_pdns_zones'] = 'Ver Zonas'; -$l['mz_manage_zone'] = 'Administrar'; -$l['mz_conf_del'] = '¿Seguro que quieres eliminar este registro?'; -$l['mz_add_done'] = 'El registro se ha agregado con éxito'; -$l['mz_edit_done'] = 'El registro ha sido editado con éxito'; -$l['mz_del_done'] = 'El registro ha sido eliminado con éxito'; -$l['mz_priority'] = 'Prioridad'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Contenido'; -$l['mz_type'] = 'Tipo'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Apunta a'; -$l['mz_txt_value'] = 'Valor TXT'; -$l['mz_pdns_name'] = 'Servidor'; -$l['mz_submit_button'] = 'Añadir registro'; -$l['mz_edit_button'] = 'Editar registro'; -$l['mz_no_domains'] = 'No hay zonas en el registro'; -$l['mz_err_addzone'] = 'Se ha producido un error al añadir la zona'; -$l['mz_inv_name'] = 'Hostname especificado es inválido'; -$l['mz_inv_ip'] = 'Dirección IP especificada no válida'; -$l['mz_inv_tld'] = 'Dominio de nivel superior especificado no válido'; -$l['mz_inv_ipv6'] = 'IPv6 especificada no válida'; -$l['mz_inv_int'] = 'Entero especificádo no es válido'; -$l['mz_err_add'] = 'Se produjo un error al agregar el registro'; -$l['mz_err_del'] = 'Se ha producido un error al eliminar el registro'; -$l['mz_err_edit'] = 'Se produjo un error al editar el registro'; -$l['mz_err_soa'] = 'Se produjo un error al actualizar el serial SOA'; -$l['mz_rec_exists'] = 'El registro ya existe'; -$l['mz_records_limit'] = 'Se ha alcanzado el límite para añadir registros'; -$l['mz_err_connect'] = 'Se ha producido un error al conectar con el servidor de nombres'; -$l['mz_zone_restricted'] = 'La zona que está intentando editar está restringida'; -$l['mz_no_records'] = 'No hay registros presentes'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = '¿Seguro que quieres eliminar este dominio?'; -$l['pdns_page_head'] = 'Administración de DNS'; -$l['pdns_add_done'] = 'La zona se ha agregado con éxito'; -$l['pdns_delete_done'] = 'La zona se ha eliminado con éxito'; -$l['pdns_add_zone'] = 'Añadir Zona'; -$l['pdns_zone_name'] = 'Nombre de la zona'; -$l['pdns_manage_zone'] = 'Administrar'; -$l['pdns_no_domains'] = 'No hay zonas en el registro'; -$l['pdns_no_name'] = 'No se especificó el nombre de dominio'; -$l['pdns_err_addzone'] = 'Se ha producido un error al añadir la zona'; -$l['pdns_err_delete'] = 'Hubo un error al eliminar la zona'; -$l['pdns_inv_domain'] = 'El nombre de dominio especificado no es válido'; -$l['pdns_limit_domains'] = 'El número máximo de dominios que se puede añadir se ha alcanzado'; -$l['pdns_domain_exists'] = 'Este nombre de dominio ya existe'; -$l['pdns_err_connect'] = 'Se ha producido un error en la conexión con el servidor de nombres'; -$l['pdns_no_dns'] = 'Administración de DNS no disponible'; -$l['pdns_invalid_zone'] = 'La Zona DNS que está intentando eliminar no es válida'; -$l['pdns_primary_nameserver'] = 'Nombre de servidor primario'; -$l['pdns_hostmaster_email'] = 'Email del administrador del dominio'; -$l['pdns_inv_email'] = 'Inválido el Email del administrador de dominio especificado'; -$l['pdns_inv_ns'] = 'Nombre de servidor primario especificado no es válido'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Añadir DNS inversa'; -$l['rdns_zone_name'] = 'Nombre de la zona'; -$l['rdns_exp_zone_name'] = 'El Nombre de la zona'; -$l['rdns_ns'] = 'Nameserver'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Seleccionar servidor'; -$l['rdns_exp_pdns_server'] = 'El servidor DNS para agregar el registro a'; -$l['rdns_sub_but'] = 'Enviar'; -$l['rdns_rdns_ip'] = 'Dirección IP'; -$l['rdns_exp_rdns_ip'] = 'Introduzca la dirección IP de su '.VM_SHORT; -$l['rdns_rdns_domain'] = 'Nombre de dominio'; -$l['rdns_exp_rdns_domain'] = 'Introduzca el nombre de dominio completo'; -$l['rdns_no_rnds_ip'] = 'Por favor, introduzca la dirección IP'; -$l['rdns_no_rdns_domain'] = 'Por favor, introduzca el nombre de dominio'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID no es válido'; -$l['rdns_err_zone'] = 'Entrada Zona RDNS no encontrado. Por favor, póngase en contacto con el Administrador'; -$l['rdns_is_rdns'] = 'Entrada DNS inversa ya está presente'; -$l['rdns_no_dns'] = 'El servidor DNS no ha sido configurado por el administrador. Por favor, póngase en contacto con el administrador para esto.'; -$l['rdns_no_zone_name'] = 'No se especificó el nombre de zona'; -$l['rdns_no_ns'] = 'El servidor de nombres se debe especificar. Al menos se requieren dos'; -$l['rdns_no_hostmasteremail'] = 'No se especificó el email hostmaster'; -$l['rdns_inv_revzone'] = 'La zona DNS inversa especificada no es válida'; -$l['rdns_inv_ns'] = 'Los TLD de servidor de nombres especificados no son válidos'; -$l['rdns_inv_hostemail'] = 'El Email del Hostmaster especificado no es válido'; -$l['rdns_err_connect'] = 'No se pudo conectar al servidor. Por favor, compruebe si está en línea'; -$l['rdns_err_save'] = 'Se produjo un error al guardar los datos'; -$l['rdns_done'] = 'La zona DNS inversa se ha agregado con éxito'; -$l['rdns_zone_exists'] = 'Ya existe esta zona'; -$l['rdns_inv_ipaddress'] = 'Dirección IP introducida no es válida'; -$l['rdns_rdns_existing'] = 'Registros rDNS'; -$l['rdns_deleted'] = 'El registro rDNS ha sido eliminado'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Nombre'; -$l['rdns_domain'] = 'Dominio'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'No ha introducido el Email'; -$l['edu_no_user_password'] = 'No ha introducido la contraseña'; -$l['edu_invalid_email'] = 'El Email que ha introducido no es válido'; -$l['edu_uid_not_found'] = 'Usuario no encontrado'; -$l['edu_useradd_error'] = 'Se produjo un error durante la edición de los datos de usuario'; -$l['edu_page_head'] = 'Editar usuario'; -$l['edu_done'] = 'El usuario ha sido editado'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Contraseña'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'Hubo algunos errores al habilitar el modo de rescate'; -$l['resc_err_rescue_disable'] = 'Hubo algunos errores al deshabilitar el modo de rescate'; -$l['resc_err_downloading'] = 'Se ha producido un error al descargar la plantilla de rescate'; -$l['resc_err_delete_disk'] = 'Se ha producido un error al eliminar el disco de rescate'; -$l['resc_cant_rescue'] = 'La operación de rescate no se permite cuando una ISO está en uso. Por favor, retire la ISO primero '; -$l['resc_heading'] = 'Modo de rescate'; -$l['resc_rescue_exp'] = 'El modo de rescate proporciona la habilidad de arrancar un pequeño entorno Linux desde otro disco para que pueda rescatar un '.VM_SHORT.' Linux primario o archivos de copia de seguridad que están presentes en él'; -$l['resc_enable_rescue'] = 'Activar el modo de rescate'; -$l['resc_rescue_enabled'] = 'Modo de rescate está habilitado actualmente.'; -$l['resc_disable_rescue'] = 'Desactivar Modo de rescate'; -$l['resc_rescue_disabled'] = 'Modo de rescate está actualmente desactivado'; -$l['resc_resuce_enable_success'] = 'El proceso para habilitar el modo de rescate se ha iniciado en segundo plano'; -$l['resc_resuce_disable_success'] = 'El proceso para deshabilitar el modo de rescate se ha iniciado en segundo plano'; -$l['resc_rescue_enable_notify'] = 'Habilitando el modo de rescate ...'; -$l['resc_rescue_disable_notify'] = 'Desactivando el modo de rescate ...'; -$l['resc_root_pass'] = 'Contraseña de Administrativa (root)'; -$l['resc_root_pass_conf'] = 'Confirmar contraseña'; -$l['resc_disable_rescue_err'] = 'Modo de rescate está desactivado por Admin'; -$l['resc_passwords_do_not_match'] = 'La contraseña especificada y la contraseña de confirmación no coinciden'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Ningún idioma fue seleccionado'; -$l['us_wrong_lang'] = 'El idioma seleccionado no existe'; -$l['us_no_timezone'] = 'No ha seleccionado la zona horaria'; -$l['us_timezone_invalid'] = 'La zona horaria que ha seleccionado no es válida'; -$l['us_wrong_theme'] = 'El tema que ha seleccionado no existe'; -$l['us_page_head'] = 'Configuración de usuario'; -$l['us_change_final'] = 'Sus ajustes se han guardado correctamente'; -$l['us_choose_lang'] = 'Elija el idioma'; -$l['us_exp_lang'] = 'Elija su idioma preferido'; -$l['us_timezone'] = 'Zona horaria'; -$l['us_default_timezone'] = 'Servidor predeterminado'; -$l['us_edit_settings'] = 'Editar ajustes'; -$l['us_done'] = 'Sus ajustes se guardaron con éxito'; -$l['us_choose_theme'] = 'Elija el tema'; -$l['us_exp_theme'] = 'Elige tu tema preferido'; -$l['us_no_theme'] = 'Ningún tema se seleccionó'; -$l['us_logo'] = 'URL del logotipo'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'Si está vacío se mostrará el logo predeterminado'; -$l['us_vps_bandwidth_threshold'] = 'Umbral de ancho de banda del '.VM_SHORT; -$l['us_vps_bandwidth_threshold_exp'] = 'Si se establece en umbral de ancho de banda cero, el correo electrónico se desactivará. Valor en% '; -$l['us_no_vps_bandwidth_threshold'] = 'No ingresó el umbral de ancho de banda'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Valor de umbral de ancho de banda no válido'; -$l['us_dom_name'] = 'Nombre de dominio de usuario'; -$l['us_dom_exp'] = 'Ingrese su nombre de dominio (por ejemplo: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Ingrese un nombre de dominio de usuario válido'; -$l['us_no_url'] = 'No ingresó una URL de usuario'; -$l['us_logo_url_err'] = 'Introduzca una URL de logotipo válida'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'El nombre de dominio no puede estar vacío una vez configurado. Solo se puede cambiar '; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Forwarding'; -$l['vdf_serid'] = 'Server'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protocol'; -$l['vdf_src_hname'] = 'Source Domain/IP'; -$l['vdf_src_dom'] = 'Source Domain'; -$l['vdf_src_ip'] = 'Source IP'; -$l['vdf_src_port'] = 'Source Port'; -$l['vdf_dest_ip'] = 'Destination IP'; -$l['vdf_dest_port'] = 'Destination Port'; - -$l['vdf_add_title'] = 'New Domain Forwarding Record'; -$l['vdf_sel_proto'] = 'Select Protocol'; -$l['vdf_select_ip'] = 'Select IP'; - -$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; -$l['vdf_success_add'] = 'Added successfuly'; -$l['vdf_success_update'] = 'Updated data successfuly'; -$l['vdf_success_save'] = 'Saved changes'; -$l['vdf_no_server_found'] = 'No server found'; -$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; -$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; -$l['vdf_ser_not_found'] = 'Requested server not found'; -$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; -$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; -$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; - -$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; -$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; -$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; -$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; -$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; -$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; -$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; - -$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; -$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; - -$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; -$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; - -$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; -$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; -$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; -$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; - -//VDF Information div lang -$l['vdf_info'] = 'Información'; -$l['vdf_info_server'] = 'Servidor'; -$l['vdf_info_reservedports'] = 'Puertos reservados'; -$l['vdf_info_allowedports'] = 'Puertos permitidos'; -$l['vdf_info_reservedports_http'] = 'Puertos reservados solo para HTTP / HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Reenvío de dominio'; -$l['vdf_source'] = 'Fuente'; -$l['vdf_destination'] = 'Destino'; -$l['vdf_added'] = 'Agregado'; -$l['vdf_updated'] = 'Actualizado'; -$l['vdf_removed'] = 'Eliminado'; -$l['vdf_removed_multiple'] = 'Múltiples eliminados'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Editar este registro'; -$l['vdf_tooltip_save'] = 'Guardar los cambios realizados en este registro'; -$l['vdf_tooltip_revert'] = 'Revertir los cambios realizados en este registro'; -$l['vdf_tooltip_delete'] = 'Eliminar este registro'; - -$l['vdf_skipped_msg'] = 'Esta entrada de registro ha sido omitida'; -$l['vdf_skipped_haproxy_reservedports'] = 'El puerto de origen está en la lista de puertos bloqueados'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'El puerto de origen está en la lista de puertos reservada solo para HTTP y HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'El puerto de origen no está en la lista de puertos permitidos'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Por favor especificar el tipo de virtualización'; -$l['li_num_vs_over'] = 'Usted ya ha creado el número máximo de máquinas virtuales permitido'; -$l['li_no_hname'] = 'Por favor, especifique Hostname'; -$l['li_no_os'] = 'Por favor, seleccione un sistema operativo para el '.VM_SHORT; -$l['li_no_rootpass'] = 'Por favor, especificar una contraseña de root'; -$l['li_no_disk_space'] = 'Por favor especificar el espacio en disco que se asignará'; -$l['li_no_ram'] = 'Por favor, especifique la memoria RAM'; -$l['li_no_vncpass'] = 'Por favor especificar una contraseña VNC'; -$l['li_no_bandwidth'] = 'Por favor especificar el Ancho de banda'; -$l['li_no_cpu_units'] = 'Por favor, especifique las unidades de CPU'; -$l['li_no_cpu_cores'] = 'Por favor, especifique el número de Cores'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'La región que ha seleccionado no es válida'; -$l['li_invalid_virt'] = 'La región que ha seleccionado no admite la virtualización que ha elegido'; -$l['li_no_percent_cpu'] = 'Por favor especificar el porcentaje de uso de la CPU permitido'; -$l['li_no_swap_ram'] = 'Por favor especificar el SWAP RAM'; -$l['li_no_burst_ram'] = 'Por favor especificar el límite RAM Burstable'; -$l['li_invalid_os'] = 'El sistema operativo que ha enviado no es válido'; -$l['li_no_ip'] = 'Por favor, especifique al menos una IP para el '.VM_SHORT; -$l['li_invalid_uid'] = 'El usuario que ha enviado no existe'; -$l['li_no_user'] = 'No ha especificado el correo electrónico del usuario'; -$l['li_no_user_pass'] = 'No ha especificado la contraseña de usuario'; -$l['li_invalid_email'] = 'La dirección de correo electrónico del usuario no es válida'; -$l['li_emailexist'] = 'El nuevo correo electrónico de usuario especificado ya existe'; -$l['li_err_user'] = 'Se produjo un error al agregar el usuario'; -$l['li_invalid_hostname'] = 'El hostname que ha enviado no es válido'; -$l['li_less_ram'] = 'Usted no tiene suficiente memoria RAM para crear este '.VM_SHORT; -$l['li_less_burst'] = 'Usted no tiene suficiente memoria RAM Burst para crear este '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'Usted no tiene suficiente espacio en disco para crear este '.VM_SHORT; -$l['li_less_inodes'] = 'Los inodos no deben ser inferior a 50.000'; -$l['li_less_vs'] = 'No se le permite crear más máquinas virtuales'; -$l['li_less_bandwidth'] = 'Usted no tiene suficiente Ancho de banda para crear este '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'Usted no tiene suficientes direcciones IPv4 para crear este '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'Usted no tiene suficientes direcciones IPv6 para crear este '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'Usted no tiene suficientes IPv6 subnet para crear este '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'No se le permite crear una máquina virtual con tantos cores'; -$l['li_less_cores'] = 'Usted no tiene suficientes Cores de CPU para crear este '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'Ha alcanzado el número máximo de usuarios que se le permite crear'; -$l['li_no_server'] = 'La Región seleccionada está completamente utilizada y no tiene suficientes recursos para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['li_ipv4_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv4 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['li_ipv6_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv6 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['li_ipv6_subnet_over'] = 'La Región que ha seleccionado no tiene suficiente IPv6 Subnet (s) para crear este '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['li_no_webuzo_template'] = 'La plantilla del SO que ha seleccionado no es una Plantilla Webuzo'; -$l['li_err_swapsize'] = 'El tamaño SWAP especificado no puede ser mayor o igual que el espacio de disco total especificado'; -$l['li_inv_kvm_cache'] = 'El caché de disco enviado no es válido'; -$l['li_inv_io_mode'] = 'La política de I/O enviada no es válida'; -$l['li_inv_vnc_keymap'] = 'El keymap VNC enviado no es válido'; -$l['li_err_vpslimit'] = 'Supera el límite de creación de '.VM_SHORT; -$l['li_page_head'] = 'Lanzar Instancia'; -$l['li_vstype'] = 'Tipo'; -$l['li_done'] = 'El Servidor Virtual se ha creado'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = 'Nombre del '.VM_SHORT; -$l['li_newvs_rootpass'] = 'Contraseña de Administrativa(root)'; -$l['li_newvs_vnc'] = 'Detalles VNC'; -$l['li_newvs_vncpass'] = 'Contraseña VNC'; -$l['li_newvs_ips'] = 'IPs'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Servidor'; -$l['li_exp_server'] = 'Cambiar el servidor actual para cambiar el servidor'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'Usuario'; -$l['li_vs_user_exp'] = 'Seleccione un usuario existente o agregar un usuario'; -$l['li_user_email'] = 'Email del usuario'; -$l['li_user_pass'] = 'Contraseña'; -$l['li_add_user'] = 'Agregar usuario'; -$l['li_regions'] = 'Región'; -$l['li_virt_type'] = 'Virtualización'; -$l['li_os'] = 'Sistema operativo'; -$l['li_select'] = 'Seleccionar'; -$l['li_vs_plan'] = 'Seleccione el plan'; -$l['li_plan_exp'] = 'Seleccione un plan predefinido'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = '¿Desea permitir la virtualización completa para este '.VM_SHORT.'?'; -$l['li_vsos'] = 'Sistema operativo'; -$l['li_vsos_exp'] = 'Seleccione el sistema operativo para el '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'Si se selecciona una ISO la maquina se inicia desde la ISO'; -$l['li_sec_vsiso'] = 'ISO para CDROM secundario'; -$l['li_sec_vsiso_exp'] = 'Seleccione un ISO para CDROM secundario'; -$l['li_none'] = 'Ninguno'; -$l['li_rootpass'] = 'Contraseña root del '.VM_SHORT; -$l['li_rootpass_exp'] = 'La contraseña del usuario root / administrador del '.VM_SHORT; -$l['li_randpass'] = 'Crear otra contraseña aleatoria'; -$l['li_hostname'] = 'Servidor'; -$l['li_hostname_exp'] = 'Introduzca el hostname para el '.VM_SHORT.'. ej: www.dominio.com'; -$l['li_ip'] = 'Dirección IP'; -$l['li_ips'] = 'Dirección IP'; -$l['li_ips_exp'] = 'Puede especificar el número de direcciones IP para asignar'; -$l['li_ips6_subnet'] = 'Subredes IPv6'; -$l['li_ips6_subnet_exp'] = 'Puede especificar el número de subredes IPv6 a asignar'; -$l['li_ips6'] = 'Direcciones IPv6'; -$l['li_ips6_exp'] = 'Puede especificar el número de IPv6 para asignar'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Eliminar esta IP'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Espacio del disco'; -$l['li_exp_hdd'] = 'El espacio en disco permitido para el '.VM_SHORT; -$l['li_mac'] = 'Dirección MAC'; -$l['li_exp_mac'] = 'Seis grupos de dos dígitos hexadecimales separados por dos puntos (:), Ej: 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodos'; -$l['li_iondisk'] = 'El número máximo de de inodos (es decir, archivos) permitidos dentro del '.VM_SHORT.'. Valor recomendado: 500000+'; -$l['li_gram'] = 'RAM garantizada'; -$l['li_exp_gram'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'RAM Burstable'; -$l['li_exp_bram'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; -$l['li_swap'] = 'RAM Swap'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'Se hará un intento de crear la partición swap si hay una plantilla de SO seleccionado anteriormente'; -$l['li_band'] = 'Ancho de banda'; -$l['li_exp_band'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'Unidades de CPU'; -$l['li_cpalloc'] = 'Unidades de CPU que se asignarán'; -$l['li_cpalloc_xen'] = 'Valor recomendado : 256'; -$l['li_cpalloc_openvz'] = 'Valor recomendado : 1000'; -$l['li_cpalloc_kvm'] = 'Valor recomendado : 1024'; -$l['li_units'] = 'unidades'; -$l['li_cores'] = 'CPU Cores'; -$l['li_cpucore_exp'] = 'Valor recomendado :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'El tiempo de CPU en porcentaje del '.VM_SHORT.' correspondiente no se permite superar.
Establecer 0 para ninguna restricción.
Valor recomendado : 40'; -$l['li_io'] = 'Prioridad I/O'; -$l['li_io0-7'] = 'Seleccione la prioridad de 0-7'; -$l['li_na'] = 'Velocidad de la red'; -$l['li_na_exp'] = 'Por favor mencione la velocidad de la red'; -$l['li_ubcsettings'] = 'Configuración UBC'; -$l['li_exp_ubc'] = 'Si está marcado, entonces va a ser redirigido para editar la configuración de la UBC del '.VM_SHORT; -$l['li_submit'] = 'Crear'; -$l['li_addvoption'] = 'Opciones avanzadas'; -$l['li_addvhide'] = 'Ocultar Opciones avanzadas'; -$l['li_network_speed'] = 'Velocidad de la red'; -$l['li_network_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; -$l['li_upload_speed'] = 'Velocidad de subida'; -$l['li_upload_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'Sin restricción'; -$l['li_shadow'] = 'Memoria Shadow'; -$l['li_shadow_exp'] = 'Valor recomendado : 8 MB'; -$l['li_vncpass'] = 'Contraseña VNC'; -$l['li_vncpass_exp'] = 'La contraseña VNC para el '.VM_SHORT.'. Haga clic en el icono para generar una nueva contraseña aleatoria'; -$l['li_free'] = 'Libre'; -$l['li_band_suspend'] = 'Suspender Ancho de banda'; -$l['li_exp_band_suspend'] = 'Suspender el '.VM_SHORT.' si se utiliza más del ancho de banda especificado'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Habilitar Tun/Tap para un '.VM_SHORT; -$l['li_exp_ppp'] = 'Habilitar PPP (protocolo punto a punto) para un '.VM_SHORT; -$l['li_osreinstall'] = 'Límite Reinstalar OS'; -$l['li_exp_osreinstall'] = 'Si desea limitar el número de veces que un OS se reinstala al mes.
Ej. 0 - es ilimitado'; -$l['li_changenic'] = 'Tipo de interfaz de red virtual'; -$l['li_exp_changenic'] = 'Si desea cambiar el tipo de interfaz de red. Las opciones son por defecto o E1000. virtio se utilizará como el tipo NIC virtual si virtio está habilitado'; -$l['li_add_route'] = 'Utilice red enrutada'; -$l['li_exp_add_route'] = 'Si se selecciona, se utilizará redes enrutadas.'; -$l['li_nic_default'] = 'Realtek 8139(default)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Tipo de emulación de interfaz de red virtual'; -$l['li_exp_change_vif_type'] = 'Si desea cambiar el tipo de emulación de red de la interfaz. Las opciones son netfront o ioemu.'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'netfront (default)'; -$l['li_usevirtio'] = 'Habilitar virtio'; -$l['li_exp_usevirtio'] = 'Usar virtio como la virtualización IO'; -$l['li_usesec_cdrom'] = 'Habilitar CD ROM Secundario'; -$l['li_exp_usesec_cdrom'] = 'Habilite esta para adjuntar una ISO secundaria a la máquina virtual.'; -$l['li_kvm_cache'] = 'Caché de disco'; -$l['li_exp_kvm_cache'] = 'Controla el mecanismo de caché'; -$l['li_io_mode'] = 'Política I/O'; -$l['li_vnc_keymap'] = 'VNC Console Keymap'; -$l['li_dns'] = 'DNS Nameservers'; -$l['li_exp_dns'] = 'Si no los sabe, utilice 4.2.2.1 y 4.2.2.2'; -$l['li_mg'] = 'Grupos de Medios'; -$l['li_mg_exp'] = 'Si no hay ningún grupo de medios asignado entonces todos los medios estarán disponibles para este '.VM_SHORT.'.'; -$l['li_apps'] = 'Aplicaciones'; -$l['li_apps_exp'] = 'Elija la aplicación Webuzo que desea instalar'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'Si se activa, '.VM_SHORT.' se creará con el formato Ploop'; -$l['li_mac_temp_vncdetails'] = 'Dirección MAC:'; -$l['li_mail_temp_vnctitle'] = 'Los detalles VNC son :'; -$l['li_mail_temp_vncdetails'] = 'Detalles VNC:'; -$l['li_mail_temp_vncpasswd'] = 'Contraseña VNC:'; -$l['li_reinstall'] = 'Reinstalar Servidor Virtual'; -$l['li_space'] = 'Espacio del disco'; -$l['li_space_exp'] = 'El espacio en disco permitido para el '.VM_SHORT; -$l['li_ram'] = 'RAM garantizada'; -$l['li_ram_exp'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; -$l['li_burst'] = 'RAM Burstable'; -$l['li_burst_exp'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; -$l['li_swap'] = 'RAM Swap'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'Se hará un intento de crear la partición swap si hay una plantilla de SO seleccionado anteriormente'; -$l['li_bandwidth'] = 'Ancho de banda'; -$l['li_bandwidth_exp'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; -$l['li_free'] = 'Libre'; -$l['li_unlimited'] = 'Ilimitado'; -$l['li_submit'] = 'Crear'; -$l['li_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; -$l['li_usevirtio'] = 'Habilitar virtio'; -$l['li_usevirtio_exp'] = 'Usar virtio como la virtualización IO'; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Editar Instancia'; -$l['ei_vs_user'] = 'Usuario'; -$l['ei_vs_user_exp'] = 'Seleccione un usuario existente o agregar un usuario'; -$l['ei_user_email'] = 'Email del usuario'; -$l['ei_user_pass'] = 'Contraseña'; -$l['ei_add_user'] = 'Agregar usuario'; -$l['ei_unknown'] = 'Desconocido'; -$l['ei_vsos'] = 'Sistema operativo'; -$l['ei_vsos_exp'] = 'El sistema operativo actual de este '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'Si se selecciona una ISO la maquina se inicia desde la ISO'; -$l['ei_none'] = 'Ninguno'; -$l['ei_hostname'] = 'Servidor'; -$l['ei_hostname_exp'] = 'Introduzca el hostname para el '.VM_SHORT.'. ej: www.dominio.com'; -$l['ei_rootpass'] = 'Contraseña root del '.VM_SHORT; -$l['ei_rootpass_exp'] = 'Dejar en blanco si no desea cambiar la contraseña actual'; -$l['ei_randpass'] = 'Crear otra contraseña aleatoria'; -$l['ei_ip'] = 'Dirección IP'; -$l['ei_ips_exp'] = 'Usted puede elegir entre las direcciones IP o especificar otras IPs'; -$l['ei_ips6_subnet'] = 'Subred IPv6'; -$l['ei_ips6_subnet_exp'] = 'Puede elegir entre la lista de subredes IPv6'; -$l['ei_free'] = 'Libre'; -$l['ei_ips6'] = 'Direcciones IPv6'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['ei_space'] = 'Espacio del disco'; -$l['ei_space_exp'] = 'El espacio en disco permitido para el '.VM_SHORT; -$l['ei_ram'] = 'RAM garantizada'; -$l['ei_ram_exp'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; -$l['ei_burst'] = 'RAM Burstable'; -$l['ei_burst_exp'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; -$l['ei_swap'] = 'RAM Swap'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Ancho de banda'; -$l['ei_bandwidth_exp'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; -$l['ei_cores'] = 'CPU Cores'; -$l['ei_cpucore_exp'] = 'Valor recomendado :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Ilimitado'; -$l['ei_network_speed'] = 'Velocidad de la red'; -$l['ei_network_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; -$l['ei_upload_speed'] = 'Velocidad de subida'; -$l['ei_upload_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'Sin restricción'; -$l['ei_vncpass'] = 'Contraseña VNC'; -$l['ei_vncpass_exp'] = 'La contraseña VNC para el '.VM_SHORT.'. Haga clic en el icono para generar una nueva contraseña aleatoria'; -$l['ei_submit'] = 'Editar Servidor Virtual'; -$l['ei_done'] = 'El Servidor Virtual se ha editado con éxito'; -$l['ei_addvoption'] = 'Opciones avanzadas'; -$l['ei_no_uid'] = 'Ningún usuario fue seleccionado'; -$l['ei_no_nonalphanumeric'] = 'No se permiten caracteres no alfanuméricos para la Contraseña VNC'; -$l['ei_less_space'] = 'Usted no tiene suficiente espacio en disco para crear este '.VM_SHORT; -$l['ei_less_ram'] = 'Usted no tiene suficiente memoria RAM para crear este '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'No se le permite crear una máquina virtual con tantos cores'; -$l['ei_less_cores'] = 'Usted no tiene suficientes Cores de CPU para crear este '.VM_SHORT; -$l['ei_less_burst'] = 'Usted no tiene suficiente memoria RAM Burst para crear este '.VM_SHORT; -$l['ei_ipv4_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv4 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['ei_ipv6_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv6 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['ei_ipv6_subnet_over'] = 'La Región que ha seleccionado no tiene suficiente IPv6 Subnet (s) para crear este '.VM_SHORT.'. Por favor repórtelo al administrador'; -$l['ei_less_ipv4'] = 'Usted no tiene suficientes direcciones IPv4 para crear este '.VM_SHORT; -$l['ei_less_ipv6'] = 'Usted no tiene suficientes direcciones IPv6 para crear este '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'Usted no tiene suficientes IPv6 subnet para crear este '.VM_SHORT; -$l['ei_wrong_user'] = 'No se puede cambiar a ese usuario'; -$l['ei_only_user'] = 'Durante la edición del usuario de la máquina virtual, los recursos no se pueden cambiar'; -$l['ei_less_swap'] = 'Usted no tiene suficiente memoria RAM swap'; -$l['ei_usevirtio'] = 'Habilitar virtio'; -$l['ei_usevirtio_exp'] = 'Usar virtio como la virtualización IO'; -$l['ei_less_bandwidth'] = 'No tiene suficiente recurso de ancho de banda para asignar a este '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'Topología de CPU'; -$l['ei_enable_cpu_topology_exp'] = 'Especifique el número de núcleos de CPU, subprocesos y sockets que se asignarán al '.VM_SHORT; -$l['ei_inv_topology'] = 'Valor (es) de topología de CPU no válido. Todos los valores de topología especificados deben ser mayores que cero '; -$l['ei_err_topology_calc'] = 'Los núcleos de CPU especificados deben ser iguales al límite de topología (núcleos de CPU = Sockets x núcleos de topología x subprocesos)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'Procesos de CPU'; -$l['ei_in_plan'] = 'Incluido en el plan'; -$l['ei_add_pricing'] = 'Precio adicional'; -$l['ei_plan'] = 'Plan actual'; -$l['ei_plan_exp'] = 'Seleccione el plan al que desea cambiar. Nota : Si sus recursos actuales son más que los del nuevo plan, se le cobrará un monto adicional según el precio de los recursos '; -$l['ei_plid_space'] = 'No puede cambiar a un plan inferior'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'El panel que ha seleccionado no es válido'; -$l['cpan_err_installing'] = 'Hubo un error al instalar el Panel'; -$l['cpan_wrong_os'] = 'El panel de control no se puede instalar en'; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'La instalación del Panel ha comenzado y se completará en breve'; -$l['cpan_change_onboot'] = 'El Panel se instala al apagar y luego encender el '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Paneles de control'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup lang string - prefix : bkup_ -$l['bkup_err_virt'] = 'El '.VM_SHORT.' no admite copias de seguridad a partir de ahora'; -$l['bkup_err_backup'] = 'Se ha producido un error al crear la copia de seguridad'; -$l['bkup_err_restore'] = 'Hubo un error mientras se restauraba el '.VM_SHORT; -$l['bkup_page_head'] = 'OpenVZ Backups'; -$l['bkup_done'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup_cbackup'] = 'Crear copia de seguridad'; -$l['bkup_restore'] = 'Restaurar '.VM_SHORT; -$l['bkup_conf_cbackup'] = '¿Seguro que desea crear copia de seguridad?'; -$l['bkup_conf_restore'] = '¿Seguro que desea restaurar desde la última copia de seguridad?'; -$l['bkup_backup_exp'] = 'Aquí puede crear copias de seguridad de su '.VM_SHORT.' y también restaurar desde copias de seguridad antiguas.'; -$l['bkup_backupnotify'] = 'Creando copia del '.VM_SHORT.' ...'; -$l['bkup_restorenotify'] = 'Restaurando el '.VM_SHORT.'...'; -$l['bkup_backup_email_subject'] = 'Copia de seguridad del '.VM_SHORT.' completada con éxito'; -$l['bkup_restore_email_subject'] = 'Restaurar el '.VM_SHORT.' completado con éxito'; -$l['bkup_deletevpsbackup_email_subject'] = 'Eliminación de Copia de seguridad del '.VM_SHORT.' completada con éxito'; -$l['bkup_backup_email_body_start'] = 'El proceso Copia de seguridad en su '.VM_SHORT.' : ['; -$l['bkup_restore_email_body_start'] = 'El proceso de restauración en su '.VM_SHORT.' : ['; -$l['bkup_deletevpsbackup_email_body_start'] = 'El proceso de eliminación de copia de seguridad en su '.VM_SHORT.' : ['; -$l['bkup_backup_email_body_end'] = '] ha terminado con éxito. -También puede ver esta notificación por parte de Logs diálogo en el Panel de cliente '.VM_SHORT.'. - -Saludos, -{{sn}}'; -$l['bkup_err_deletevpsbackup'] = 'Se ha producido un error al eliminar la copia de seguridad del '.VM_SHORT; -$l['bkup_del_backup'] = 'Eliminar Copia de seguridad'; -$l['bkup_done_deletevpsbackup'] = 'La Copia de seguridad del '.VM_SHORT.' ha sido eliminada'; -$l['bkup_del_backupnotify'] = 'Eliminando del '.VM_SHORT.'...'; -$l['bkup_conf_del_backup'] = '¿Seguro que quieres eliminar la copia de seguridad del '.VM_SHORT.'?'; -$l['bkup_done_delete'] = 'The '.VM_SHORT.' backup deletion process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed.'; -$l['bkup_notice'] = ' NOTA: Esta función está obsoleta y se eliminará en un futuro próximo. Utilice el nuevo asistente de copia de seguridad para realizar más copias de seguridad.'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Copias de seguridad'; -$l['bkup2_list_head'] = 'Lista de copias de seguridad del ID de '.VM_SHORT.':'; -$l['bkup2_list_exp'] = 'Las fechas para las cuales están disponibles las copias de seguridad de este '.VM_SHORT.' se enumeran a continuación. Puede restaurarlos o eliminarlos según corresponda. '; -$l['bkup2_date'] = 'Fecha de copia de seguridad'; -$l['bkup2_size'] = 'Tamaño'; -$l['bkup2_action'] = 'Acción'; -$l['bkup2_restore'] = 'Restaurar'; -$l['bkup2_delete'] = 'Eliminar copia de seguridad'; -$l['bkup2_now'] = 'Hacer copia de seguridad ahora'; -$l['bkup2_conf_cbackup'] = '¿Está seguro de que desea crear una copia de seguridad?'; -$l['bkup2_conf_restore'] = '¿Está seguro de que desea restaurar esta copia de seguridad?'; -$l['bkup2_conf_delete'] = '¿Está seguro de que desea eliminar esta copia de seguridad?'; -$l['bkup2_list'] = 'Lista de copias de seguridad'; -$l['bkup2_settings'] = 'Configuraciones'; -$l['bkup2_backup_server'] = 'Servidor de respaldo'; -$l['bkup2_backup_server_exp'] = 'Si las copias de seguridad especificadas se cargarán en el servidor de copia de seguridad'; -$l['bkup2_none'] = 'Ninguno'; -$l['bkup2_server'] = 'Servidor de respaldo'; -$l['bkup2_no_day'] = 'Especifique un día válido para la copia de seguridad'; -$l['bkup2_no_date'] = 'Fecha de copia de seguridad especificada no válida'; -$l['bkup2_no_freq'] = 'Especifique una frecuencia válida para la copia de seguridad'; -$l['bkup2_no_time'] = 'Especifique una hora válida para la copia de seguridad'; -$l['bkup2_no_bserid'] = 'Por favor, especifique un servidor de respaldo válido'; -$l['bkup2_done_backup'] = 'Se ha iniciado el proceso de copia de seguridad del '.VM_SHORT.'. Espere unos minutos para que se complete. Recibirá un correo electrónico de notificación cuando se complete '; -$l['bkup2_done_restore'] = 'Se ha iniciado el proceso de restauración del '.VM_SHORT.'. Espere unos minutos para que se complete. Recibirá un correo electrónico de notificación cuando se complete '; -$l['bkup2_done_delete'] = 'La copia de seguridad del '.VM_SHORT.' se ha eliminado correctamente'; -$l['bkup2_done_save_settings'] = 'La configuración de la copia de seguridad se ha guardado correctamente.'; -$l['bkup2_err_backup'] = 'Hubo un error al crear la copia de seguridad'; -$l['bkup2_err_restore'] = 'Hubo un error al restaurar el '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'Hubo un error al eliminar la copia de seguridad del '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'Este '.VM_SHORT.' no puede tener copias de seguridad'; -$l['bkup2_err_task_running'] = 'Ya se está ejecutando un proceso de copia de seguridad o restauración para este '.VM_SHORT.'. Espere a que se complete '; -$l['bkup2_err_backup_limit'] = 'Ha alcanzado el límite de respaldo de este '.VM_SHORT.' para el mes.'; -$l['bkup2_err_restore_limit'] = 'Ha alcanzado el límite de restauración de este '.VM_SHORT.' para el mes.'; -$l['bkup2_err_save_settings'] = 'Hubo un error al guardar la configuración de la copia de seguridad'; -$l['bkup2_monthly_bkups_used'] = 'Copias de seguridad mensuales utilizadas:'; -$l['bkup2_monthly_restores_used'] = 'Restauraciones mensuales utilizadas:'; -$l['bkup2_current_cycle'] = 'Ciclo actual:'; -$l['bkup2_unlimited'] = 'Ilimitado'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'Esta virtualización no tiene Configuración HVM'; -$l['hvm_rescue_enabled'] = 'El '.VM_SHORT.' está en modo de rescate y no se puede cambiar'; -$l['hvm_invalid_iso'] = 'La ISO seleccionada no es válida'; -$l['hvm_err_editing'] = 'Hubo algunos errores al guardar la configuración'; -$l['hvm_heading'] = 'Configuración HVM'; -$l['hvm_submit_button'] = 'Enviar'; -$l['hvm_done'] = 'Los ajustes se han guardado con éxito'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Orden de inicio'; -$l['hvm_isos'] = 'Seleccione ISO'; -$l['hvm_none'] = 'Ninguno'; -$l['hvm_tuntap_enable'] = 'Habilitar Tun / Tap'; -$l['hvm_ppp_enable'] = 'Habilitar PPP (Protocolo punto a punto)'; -$l['hvm_disabled'] = 'Ajustes HVM están deshabilitados por Admin'; -$l['hvm_hdd'] = 'Disco duro'; -$l['hvm_cdrom'] = 'Unidad de CD'; -$l['hvm_vnc_keymap'] = 'Mapa de teclas de la consola VNC'; -$l['hvm_enable_vga'] = 'Habilitar VGA'; -$l['hvm_enable_acceleration'] = 'Habilitar Aceleración'; -$l['hvm_enable_acceleration_exp'] = 'Si está marcada, la aceleración 2D y 3D estará habilitada para el '.VM_SHORT; -$l['hvm_sec_iso'] = 'ISO para CDROM secundario'; -$l['hvm_sec_iso_exp'] = 'Seleccione un ISO para CDROM secundario'; -$l['hvm_nic_type'] = 'Tipo de interfaz de red virtual'; -$l['hvm_nic_type_exp'] = 'Si desea cambiar el tipo de interfaz de red. Las opciones son por defecto o E1000. virtio se utilizará como el tipo NIC virtual si virtio está habilitado '; -$l['nic_default'] = 'Realtek 8139 (predeterminado)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Habilitar virtio'; -$l['hvm_fuse'] = 'Activar fusible en contenedor (s)'; -$l['hvm_fuse_exp'] = 'Si está marcado, Fuse se habilitará mientras se fabrican los nuevos contenedores.'; -$l['hvm_ipip'] = 'Habilitar IPIP en contenedor (s)'; -$l['hvm_ipip_exp'] = 'Si está marcado, IPIP se habilitará al crear los nuevos contenedores.'; -$l['hvm_ipgre'] = 'Habilitar IPGRE en contenedor (s)'; -$l['hvm_ipgre_exp'] = 'Si está marcado, IPGRE se habilitará mientras crea los nuevos contenedores.'; -$l['hvm_nfs'] = 'Habilitar NFS en contenedor (s)'; -$l['hvm_nfs_exp'] = 'Si está marcado, NFS se habilitará al crear los nuevos contenedores.'; -$l['hvm_quotaugidlimit'] = 'Habilitar QUOTAUGIDLIMIT en contenedor (s)'; -$l['hvm_quotaugidlimit_exp'] = 'Habilita o deshabilita las cuotas de disco por usuario y por grupo en el contenedor. Si el valor se establece en 0 o no, las cuotas de disco dentro del contenedor se deshabilitan y no se contabilizan.
- NOTA: Esto reiniciará el contenedor. '; -$l['hvm_iolimit'] = 'Establecer límite de ancho de banda de E / S para contenedor (s)'; -$l['hvm_iolimit_exp'] = 'Si se establece, la operación de IO no excederá el límite especificado mientras se realizan las operaciones de IO.'; -$l['hvm_iopslimit'] = 'Establecer límite de IOPS para contenedor (s)'; -$l['hvm_iopslimit_exp'] = 'Si se establece, las operaciones de E / S por segundo no excederán el límite especificado.'; -$l['hvm_admin_iso'] = 'ISO de administrador'; -$l['hvm_user_iso'] = 'ISO de usuario'; -$l['hvm_addiso'] = 'Agregar ISO'; -$l['hvm_listiso'] = 'Lista ISO'; -$l['hvm_timezone'] = 'Seleccionar zona horaria de '.VM_SHORT; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = 'CPU'; -$l['cpu_cpuinfo'] = 'Información de la CPU'; -$l['cpu_totalcpu'] = 'Total CPU: '; -$l['cpu_cpuutilised'] = 'Utilizado :'; -$l['cpu_poweredby'] = 'Desarrollado por:'; -$l['cpu_graphheader'] = 'Utilización de CPU'; -$l['cpu_trademarks'] = 'Todo logo respectivo utilizado son marcas comerciales o marcas comerciales registradas de sus respectivas compañías.'; -$l['cpu_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = 'RAM'; -$l['ram_raminfo'] = 'Información de la RAM'; -$l['ram_totalram'] = 'RAM:'; -$l['ram_gaurateed'] = 'RAM garantizada : '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Utilizada :'; -$l['ram_percentram'] = 'Utilización % :'; -$l['ram_graphheader'] = 'RAM Utilización'; -$l['ram_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Disco'; -$l['disk_diskinfo'] = 'Información de disco'; -$l['disk_totaldisk'] = 'Disco total : '; -$l['disk_diskutilised'] = 'Utilizado: '; -$l['disk_percentdisk'] = 'Utilización % : '; -$l['disk_graphheader'] = 'Utilización disco'; -$l['disk_inodesinfo'] = 'Información de inodos'; -$l['disk_inodestotal'] = 'Total Inodos :'; -$l['disk_inodesutilised'] = 'Utilizado: '; -$l['disk_percent_inodes'] = 'Utilización % :'; -$l['disk_inodesheader'] = 'Utilización de inodos'; -$l['disk_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Ancho de banda'; -$l['band_bandwidthinfo'] = 'Información Ancho de banda'; -$l['band_Total_Bandwidth'] = 'Total Ancho de banda :'; -$l['band_bandwidth_utilized'] = 'Utilizada :'; -$l['band_percent_utilized'] = '% utilizado : '; -$l['band_graphheader'] = 'Utilización Ancho de banda'; -$l['band_unlimited'] = 'Ilimitado'; -$l['band_network_speed'] = 'Velocidad de la red (MB/s)'; -$l['band_prev'] = 'Mes Anterior'; -$l['band_next'] = 'Mes siguiente'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Consola está desactivada'; -$l['cs_call_failed'] = 'La llamada a la API falló. Por favor, póngase en contacto con la administrador'; -$l['cs_heading'] = 'Consola'; -$l['cs_none'] = 'Ninguna sesión de consola existente se encontró. Por favor, cree una!'; -$l['cs_create'] = 'Crear sesión'; -$l['cs_creating'] = 'Creando la sesión ...'; -$l['cs_destroying'] = 'Eliminando la sesión ...'; -$l['cs_details'] = 'Los siguientes son los detalles de la consola'; -$l['cs_expires'] = 'Expira'; -$l['cs_ip'] = 'Dirección IP'; -$l['cs_port'] = 'Puerto'; -$l['cs_username'] = 'Nombre de usuario'; -$l['cs_password'] = 'Contraseña'; -$l['cs_destroy'] = 'Destruir Sesión'; -$l['cs_java_console'] = 'Consola Java'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Logs de estado'; -$l['sts_running'] = 'En ejecución'; -$l['sts_stopped'] = 'Detenido'; -$l['sts_sts'] = 'Estado del sistema'; -$l['sts_time'] = 'Hora'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'Alertas del sistema'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Tareas'; -$l['tasks_task_started'] = 'La tarea se inició'; -$l['tasks_no_tasks'] = 'No hay tarea activa para este usuario'; -$l['tasks_addvs'] = 'Creando '.VM_SHORT; -$l['tasks_create_vps'] = 'Crear operación de '.VM_SHORT; -$l['tasks_edit_vps'] = 'Editar operación de '.VM_SHORT; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Creando '.VM_SHORT.' para Restaurar'; -$l['tasks_fstab_handle'] = 'Identificador de pestaña FS'; -$l['tasks_deletevs'] = 'Eliminando '.VM_SHORT; -$l['tasks_migrateprog'] = 'Migrando '.VM_SHORT; -$l['tasks_migratedest'] = 'Migrando '.VM_SHORT; -$l['tasks_multivirt'] = 'Habilitando Multivirt'; -$l['tasks_createtemplate'] = 'Creando plantilla'; -$l['tasks_getos'] = 'Descargando SO'; -$l['tasks_rebuildvs'] = 'Reconstruyendo '.VM_SHORT; -$l['tasks_resizevps'] = 'Cambiar el tamaño del '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Anular la suspensión del ancho de banda'; -$l['tasks_removed_speed_capped'] = 'Restaurar la velocidad de la red'; -$l['tasks_restorevps'] = 'Restaurando '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Copia de seguridad de '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restaurando '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Copia de seguridad de '.VM_SHORT; -$l['tasks_restore'] = 'Restaurando '.VM_SHORT; -$l['tasks_backup'] = 'Copia de seguridad de '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Cambiando el servidor de nombres DNS'; -$l['tasks_changepassword'] = 'Cambio de contraseña'; -$l['tasks_sync_config'] = 'Configuración de sincronización'; -$l['tasks_install_cp'] = 'Instalar el panel de control'; -$l['tasks_install_recipe'] = 'Instalar receta'; -$l['tasks_hostname'] = 'Cambiando el nombre de host'; -$l['tasks_editxcpvs'] = 'Editar XCP '.VM_SHORT; -$l['tasks_error'] = 'Con errores'; -$l['tasks_inprogress'] = 'En progreso'; -$l['tasks_order'] = 'Pedido'; -$l['tasks_asc'] = 'Ascendente'; -$l['tasks_desc'] = 'Descendente'; -$l['tasks_submit'] = 'Buscar'; -$l['tasks_progress'] = 'Progreso'; -$l['tasks_completed'] = 'Tarea completada'; -$l['tasks_task_notcomplete'] = 'La tarea no se pudo completar.'; -$l['tasks_task_notupdated'] = '¡Tarea no actualizada!'; -$l['tasks_task_notupdated_status'] = 'Proceso no rastreable'; -$l['tasks_migrate_speed'] = 'Velocidad de migración:'; -$l['tasks_started'] = 'Iniciado'; -$l['tasks_updated'] = 'Actualizado'; -$l['tasks_ended'] = 'Finalizado'; -$l['tasks_notupdated'] = 'No actualizado'; -$l['tasks_unslaved'] = 'Servidor no esclavo'; -$l['tasks_not_started'] = 'Tarea no iniciada'; -$l['tasks_not_updated'] = 'Tarea no actualizada'; -$l['tasks_not_ended'] = 'Tarea no finalizada'; -$l['tasks_start_vps'] = 'Inicio de '.VM_SHORT; -$l['tasks_start_vps_error'] = 'Hubo algún error al iniciar el '.VM_SHORT; -$l['tasks_restart_vps'] = 'Reinicio del '.VM_SHORT; -$l['tasks_restart_vps_error'] = 'Hubo algún error al reiniciar el '.VM_SHORT; -$l['tasks_stop_vps'] = 'Detener '.VM_SHORT; -$l['tasks_stop_vps_error'] = 'Hubo algún error al detener el '.VM_SHORT; -$l['tasks_poweroff_vps'] = 'Apagado del '.VM_SHORT; -$l['tasks_poweroff_vps_error'] = 'Hubo algún error al apagar el '.VM_SHORT; -$l['tasks_enable_rescuevs'] = 'Habilitar rescate'; -$l['tasks_disable_rescuevs'] = 'Desactivar rescate'; -$l['tasks_remotedesktop'] = 'Tarea de escritorio remoto'; -$l['tasks_change_vncpass'] = 'Cambiar contraseña de VNC'; -$l['tasks_installxentools'] = 'Instalando las herramientas de Xenserver'; -$l['tasks_install_script'] = 'Instalar aplicaciones'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'El código de seguridad no es válido'; -$l['reg_no_username'] = 'El campo de nombre de usuario estaba vacío'; -$l['reg_no_email'] = 'El campo de correo electrónico estaba vacío'; -$l['reg_no_password'] = 'El campo Contraseña estaba vacío'; -$l['pr_no_address'] = 'Por favor, especifique la dirección'; -$l['pr_no_city'] = 'Especifique la ciudad'; -$l['pr_no_state'] = 'Especifique el estado'; -$l['pr_no_zip'] = 'Especifique el código postal'; -$l['pr_no_country'] = 'Especifique el país'; -$l['pr_no_city'] = 'Especifique la ciudad'; -$l['pr_no_phone'] = 'Especifique el número de teléfono'; -$l['pr_no_sys_admin_email'] = 'Especifique el correo electrónico del administrador del sistema'; -$l['reg_inv_email'] = 'El correo electrónico no es válido'; -$l['reg_pass_short'] = 'El campo Contraseña debe ser mayor que'. $globals['user_pass_min_char'] . ' caracteres'; -$l['reg_email_exist'] = 'La dirección de correo electrónico que proporcionó ya existe'; -$l['reg_soft_error'] = 'Hubo algún error al crear su cuenta. Póngase en contacto con el equipo de soporte: '. $globals['support_email']; -$l['reg_done'] = 'Su cuenta ha sido creada. Se le ha enviado un enlace de activación por correo electrónico. Úselo para verificar su correo electrónico y activar su cuenta '; -$l['reg_recaptcha_invalid'] = 'Falta la respuesta de entrada de reCaptcha o la clave no coincide'; - -$l['registrarse'] = 'Registrarse'; -$l['reg_acc'] = 'Crear cuenta'; -$l['reg_username'] = 'Nombre de usuario'; -$l['reg_email'] = 'Correo electrónico'; -$l['reg_pass'] = 'Contraseña'; -$l['reg_resendact'] = 'Reenviar código de activación'; -$l['reg_mail_sub'] = 'Activar cuenta'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'El código de activación se reenvió correctamente. Active su cuenta ahora. '; -$l['reg_invalid_access_key'] = 'Clave de acceso no válida'; -$l['reg_invalid_access_uid'] = 'Acceso no válido para usuario'; -$l['reg_opt_expired'] = 'OTP caducó. Inténtalo de nuevo'; -$l['reg_no_otp'] = 'Envíe una OTP válida'; -$l['reg_incorrect_otp'] = 'Se ingresó una OTP incorrecta. Inténtalo de nuevo.'; -$l['reg_submit_otp'] = 'Enviar OTP'; -$l['reg_enter_otp'] = 'Ingrese la OTP enviada a su número de contacto'; -$l['reg_submit'] = 'Enviar'; -$l['reg_sms_sent_err'] = 'Hubo un error al enviar OTP por SMS. Póngase en contacto con: '. $globals['support_email']; -$l['reg_sms_sent'] = 'SMS de registro'; -$l['reg_sms_resent'] = 'SMS de registro reenviado'; -$l['reg_otp_verify_done'] = 'Verificación OTP realizada. Por favor revise su correo electrónico para verificar el correo electrónico '; -$l['reg_resendsms'] = 'Reenviar OTP'; -$l['reg_otp_limit_exceeds'] = 'Se agotó el límite de reintentos de OTP. Póngase en contacto con: '. $globals['support_email']; -$l['reg_empty_contact'] = 'Ingrese el número de teléfono móvil para registrarse'; -$l['reg_err_country_code'] = 'Seleccione el código de su país'; -$l['reg_contact'] = 'Número de contacto para el registro'; -$l['reg_mobile_no'] = 'Ingrese el número de móvil para OTP'; -$l['reg_err_key_url'] = 'La clave URL no puede estar vacía para reenviar OTP'; -$l['reg_no_url_key'] = 'No se pudo encontrar la clave URL proporcionada'; -$l['reg_contact_err'] = 'Ingrese su número de teléfono de 10 dígitos'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'El campo nombre de usuario estaba vacío'; -$l['login_no_password'] = 'El campo Contraseña estaba vacío'; -$l['login_act_status'] = 'Su cuenta no ha sido validada. Valide la dirección de correo electrónico o póngase en contacto con el servicio de asistencia para obtener ayuda. '; -$l['login_act_inactive'] = 'Su cuenta está desactivada. Póngase en contacto con el soporte para obtener ayuda. '; -$l['login_too_many_attempts'] = 'Usted ha agotado su cuota de inicio de sesión fallido de '.$globals['login_attempts'].' intentos fallidos! Por favor espera '.$globals['login_ban_time'].' minutos antes de volver a intentarlo. No hay que olvidar que la contraseña es sensible a mayúsculas. ¿Olvidaste tu contraseña? Pruebe a Recuperar la contraseña.'; - -$l['login_sign_in'] = 'Ingresar'; -$l['login_log_user'] = 'Correo electrónico o nombre de usuario'; -$l['login_log_pass'] = 'Contraseña'; -$l['login'] = 'Inicio de sesión'; -$l['login_sub_but'] = 'Inicio de sesión'; -$l['login_register'] = 'Create Account'; - -$l['login_pass_nomatch'] = 'El nombre de usuario o contraseña son incorrectos.'; -$l['login_forgotpass'] = 'Olvidé mi contraseña'; -$l['login_emailuser'] = 'Dirección de correo electrónico'; -$l['login_enteremail'] = 'Introduzca su dirección de correo electrónico'; -$l['login_sub_email'] = 'Enviar'; -$l['login_no_email'] = 'Usted no envió su dirección de correo electrónico'; -$l['login_invalidemail'] = 'La dirección de correo electrónico que ha enviado no es válida'; -$l['login_mail_sub'] = 'Restablecer la contraseña'; -$l['login_mail_body'] = 'Hola, - -Una solicitud para restablecer su contraseña se ha hecho. -Si usted no solicitó el restablecimiento de contraseña, por favor, ignora este mensaje. - -Si desea restablecer su contraseña, por favor haga clic en el enlace de abajo: -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Nota: El enlace es válido sólo 24 horas. - -Saludos, -'.$globals['sn']; -$l['login_mail_done'] = 'Un mensaje ha sido enviado con los detalles para restablecer su contraseña'; -$l['login_back_to_login'] = 'Volver a identificarse'; - -$l['login_resetpass'] = 'Restablecer la contraseña'; -$l['login_log_new_pass'] = 'Nueva contraseña'; -$l['login_log_reppass'] = 'Confirmar contraseña'; -$l['login_changepass'] = 'Cambiar la contraseña'; -$l['login_no_key'] = 'No se ha enviado ninguna clave de restablecimiento'; -$l['login_invalidkey'] = 'Ha especificado una clave inválida'; -$l['login_no_new'] = 'Por favor, introduzca la contraseña válida'; -$l['login_no_reppass'] = 'Por favor, introduzca contraseña de confirmación'; -$l['login_no_match'] = 'Las contraseñas que indicó no coinciden'; -$l['login_keyexpire'] = 'Clave ya no es válida'; -$l['login_passchanged'] = 'Contraseña cambiada con éxito.'; -$l['login_forgot_pass'] = 'Olvidé mi contraseña'; -$l['login_goto_login'] = 'Ir a Página de Login'; -$l['login_no_2fa_key'] = 'Clave de autenticación no válida'; -$l['login_inv_user'] = 'Usuario invalido'; - -// OTP on login -$l['login_twofactit'] = 'Autenticación de dos factores'; -$l['login_enterotp'] = 'Introduzca la contraseña de una vez'; -$l['login_no_otp'] = 'Introduzca la contraseña de una vez (OTP)'; -$l['login_incorrect_otp'] = 'Código incorrecto'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Error de ejecución de la receta'; -$l['recipe_no_selected'] = 'Ninguna receta seleccionada'; -$l['recipe_wrong'] = 'Receta seleccionada incorrecta'; -$l['recipe_heading'] = 'Recetas'; -$l['recipe_choose'] = 'Seleccionar receta'; -$l['recipe_exp_choose_recipe'] = 'Elige la receta que quieres cocinar'; -$l['recipe_update'] = 'Cocinar Receta'; -$l['recipe_none'] = 'Ninguno'; -$l['recipe_done'] = 'La receta se ha cocinado'; -$l['recipe_exec_onboot'] = 'La receta se cocinará al reiniciar el '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'Sin descripción'; -$l['ingredients'] = 'Ingredientes'; -$l['recipe'] = 'Receta'; -$l['conf_execute'] = '¿Estás seguro de que quieres cocinar esta receta?'; -$l['rec_short_desc'] = 'Las recetas son códigos bash predefinidos'; -$l['no_recipes'] = 'No hay Recetas'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH está deshabilitado por Admin'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = '¿Está seguro de que desea establecer el temporizador?'; -$l['sd_confirm_delete'] = '¿Seguro que quieres borrar el temporizador?'; -$l['sd_date_alert'] = 'Por favor, introduzca la fecha en formato mm/dd/yyyy'; -$l['sd_date_current'] = 'La hora ingresada debe ser mayor que la hora actual'; -$l['sd_heading'] = 'Establecer temporizador'; -$l['sd_action_start'] = 'Iniciar'; -$l['sd_action_stop'] = 'Detener'; -$l['sd_action_restart'] = 'Reiniciar'; -$l['sd_action_poweroff'] = 'Apagar'; -$l['sd_action_title'] = 'Acción'; -$l['sd_action_edit_desc'] = 'Para editar por favor, introduzca los datos y enviar'; -$l['sd_action_edit_desc'] = 'Para editar por favor, introduzca los datos y enviar'; -$l['time_updated'] = 'Acción actualizada'; -$l['time_deleted'] = 'Acción eliminada'; -$l['time_added'] = 'Acción añadida'; -$l['sd_invalid_action'] = 'Acción inválida'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'Claves SSH'; -$l['sshkey_add'] = 'Agregar clave SSH'; -$l['sshkey_add_new'] = 'Agregar nueva clave SSH'; -$l['sshkey_use'] = 'Usar clave SSH'; -$l['sshkey_list'] = 'Lista de clave SSH'; -$l['sshkey_no_keys'] = 'No tiene ninguna clave SSH'; -$l['sshkey_no_keys_acct'] = 'No tiene ninguna clave SSH agregada a su cuenta. Primero agregue una clave SSH navegando a SSH Keys en el menú de la izquierda. '; -$l['sshkey_no_keys_acct_whmcs'] = 'No tiene ninguna clave SSH agregada a su cuenta.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Nombre'; -$l['sshkey_name_exp'] = 'Un nombre único para la clave SSH'; -$l['sshkey_value'] = 'Clave pública'; -$l['sshkey_value_exp'] = 'El valor de la clave SSH en formato OpenSSH.
(Por ejemplo: ssh-rsa AAAAB3Nza ... Klj7w == root@example.com)'; -$l['sshkey_heading_add'] = 'Agregar clave SSH'; -$l['sshkey_edit'] = 'Editar clave SSH'; -$l['sshkey_conf_delete'] = '¿Está seguro de que desea eliminar esta clave SSH?'; -$l['sshkey_err_delete_key'] = 'Hubo un error al eliminar la clave SSH'; -$l['sshkey_done_delete_key'] = 'La clave SSH se ha eliminado correctamente.'; -$l['sshkey_no_name'] = 'Especifique un nombre de clave SSH válido'; -$l['sshkey_no_value'] = 'Especifique un valor de clave SSH válido'; -$l['sshkey_err_name_exists'] = 'Ya existe una clave SSH con este nombre'; -$l['sshkey_err_add'] = 'Hubo un error al agregar la clave SSH'; -$l['sshkey_done_add'] = 'La clave SSH se ha agregado correctamente'; -$l['sshkey_done_edit'] = 'La clave SSH se ha guardado correctamente'; -$l['sshkey_select_keys'] = 'Seleccionar claves SSH:'; -$l['sshkey_done_addvps'] = 'La (s) clave (s) SSH se han agregado correctamente. Los cambios entrarán en vigor en el próximo reinicio. '; -$l['sshkey_err_key'] = 'Seleccione al menos una clave SSH.'; -$l['sshkey_not_allowed'] = 'No se le permite agregar / editar claves SSH'; -$l['sshkey_private'] = 'Clave privada'; -$l['sshkey_private_exp'] = 'Copie la clave privada en su sistema'; -$l['sshkey_generate'] = 'Generar claves'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Eliminando ISO'; -$l['euiso_iso_removed'] = 'Archivo ISO eliminado:'; -$l['euiso_removal_err'] = 'Hubo un error al eliminar la ISO'; -$l['euiso_del_done'] = 'La ISO ha sido eliminada'; -$l['euiso_heading'] = 'Gestión ISO'; -$l['euiso_no_iso'] = 'No tiene ISO (s). Puede agregar uno ahora '; -$l['euiso_add_iso'] = 'Agregar ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Nombre de archivo'; -$l['euiso_iso_size'] = 'Tamaño descargado'; -$l['euiso_iso_del'] = 'Eliminar'; -$l['euiso_iso_status'] = 'Estado'; -$l['euiso_iso_rsize'] = 'Tamaño total'; -$l['euiso_confirm_iso_del'] = 'El archivo aún no se ha descargado. ¿Desea cancelar la descarga y eliminar el archivo? '; -$l['euiso_iso_del_confirm'] = '¿Está seguro de que desea eliminar este elemento?'; -$l['euiso_auto_del_alert'] = 'Las ISO (s) se eliminarán automáticamente después de {{eu_iso_del_hr}} hora desde el momento en que se agregaron las ISO'; -$l['euiso_dwnld_time'] = 'Tiempo de descarga'; -$l['euiso_downloading'] = 'Descargando ...'; -$l['euiso_invalid_url'] = 'Se proporcionó una URL no válida. Utilice solo los protocolos http, https y ftp '; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Por favor, especifique el archivo iso correcto'; -$l['aiso_inv_name'] = 'El nombre ISO contiene caracteres no válidos'; -$l['aiso_err_size'] = 'No se pudo determinar el tamaño del archivo ISO'; -$l['aiso_iso_exist'] = 'El archivo ISO ya está presente'; -$l['aiso_size_inv'] = 'El archivo ISO excede el tamaño ISO máximo permitido'; -$l['aiso_limit_err'] = 'No puede descargar más ISO (s). Límite excedido'; -$l['aiso_space_err'] = 'No queda suficiente espacio para estos ISO.'; -$l['aiso_download_err'] = 'Se produjo un error al descargar ISO'; -$l['aiso_done'] = 'La ISO se ha agregado correctamente'; -$l['aiso_add_iso'] = 'Agregar ISO'; -$l['aiso_url'] = 'URL ISO'; -$l['aiso_name'] = 'Nombre de archivo ISO'; -$l['aiso_page_head'] = 'Agregar ISO'; -$l['aiso_submit_button'] = 'Agregar ISO'; -$l['aiso_incomplete'] = 'Hubo un error al descargar el ISO'; -$l['aiso_started'] = 'La ISO se está descargando'; -$l['aiso_percent'] = 'Progreso de la descarga'; -$l['aiso_complete'] = 'Descarga completa'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Agregar ISO'; -$l['dwnldiso_iso'] = 'Agregar ISO'; -$l['dwnldiso_done'] = 'Espere mientras se descarga el archivo ISO'; -$l['dwnldiso_err_down'] = 'Hubo errores al descargar el archivo ISO'; -$l['dwnldiso_wait'] = 'Espere mientras se descarga el archivo ISO'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = '¡No hay planes disponibles para esta región!'; -$l['ihb_sel_reg'] = 'Región seleccionada -'; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Servidores de respaldo'; -$l['bs_heading_add'] = 'Agregar servidor de respaldo'; -$l['bs_name'] = 'Nombre'; -$l['bs_name_exp'] = 'Nombre único para el servidor de respaldo'; -$l['bs_hostname'] = 'Servidor'; -$l['bs_hostname_exp'] = 'TLD o dirección IP válida del servidor'; -$l['bs_type'] = 'Tipo'; -$l['bs_type_exp'] = 'El tipo de servidor de respaldo, SSH o FTP'; -$l['bs_username'] = 'Nombre de usuario'; -$l['bs_username_exp'] = 'Nombre de usuario del servidor de respaldo'; -$l['bs_password'] = 'Contraseña'; -$l['bs_password_exp'] = 'Contraseña del servidor de respaldo'; -$l['bs_port'] = 'Puerto'; -$l['bs_port_exp'] = 'Puerto del servidor de respaldo'; -$l['bs_dir'] = 'Directorio'; -$l['bs_dir_exp'] = 'El directorio donde se almacenarán las copias de seguridad'; -$l['bs_add_server'] = 'Agregar servidor de respaldo'; -$l['bs_conf_delete'] = '¿Está seguro de que desea eliminar este servidor de respaldo?'; -$l['bs_heading_edit'] = 'Editar servidor de respaldo'; -$l['bs_no_servers'] = 'No tiene servidores de respaldo'; -$l['bs_no_name'] = 'Por favor, especifique un nombre único para el servidor de respaldo'; -$l['bs_no_hostname'] = 'Por favor, especifique el nombre de host'; -$l['bs_no_type'] = 'Por favor, especifique el tipo'; -$l['bs_no_username'] = 'Por favor, especifique el nombre de usuario'; -$l['bs_no_password'] = 'Por favor, especifique la contraseña'; -$l['bs_no_port'] = 'Por favor, especifique el puerto'; -$l['bs_no_dir'] = 'Por favor, especifique el directorio de carga'; -$l['bs_done_delete_server'] = 'El servidor de respaldo fue eliminado exitosamente'; -$l['bs_done_edit'] = 'El servidor de respaldo se ha guardado correctamente'; -$l['bs_err_bs_not_allowed'] = 'Los servidores de respaldo están deshabilitados por el administrador'; -$l['bs_err_invalid_type'] = 'Ingrese un tipo de servidor de respaldo válido'; -$l['bs_err_name_exists'] = 'Ya existe un servidor de respaldo con este nombre'; -$l['bs_err_add_backupserver'] = 'Hubo un error al agregar el servidor de respaldo'; -$l['bs_err_backup_dir'] = 'El directorio de respaldo no puede estar vacío.'; -$l['bs_err_server_used'] = 'El (los) servidor (es) de respaldo está siendo utilizado por {{count}} '.VM_SHORT.'. Desconfigure primero antes de eliminarlo. '; -$l['bs_err_delete_server'] = 'Hubo un error al eliminar el servidor de respaldo'; -$l['bs_err_edit_backupserver'] = 'Hubo un error al guardar el servidor de respaldo'; - -// Billing related -$l['bill_err_delete'] = 'Hubo un error al eliminar las facturas'; -$l['bill_done_delete'] = 'La factura se eliminó correctamente'; -$l['bill_heading'] = 'Facturación'; -$l['bill_no_invoice'] = '¡Aún no tiene ninguna factura!'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Fecha de la factura'; -$l['bill_duedate'] = 'Fecha de vencimiento'; -$l['bill_net'] = 'Cantidad'; -$l['bill_item'] = 'Artículo'; -$l['bill_status'] = 'Estado'; -$l['bill_unpaid'] = 'No pagado'; -$l['bill_paid'] = 'Pagado'; -$l['bill_cancelled'] = 'Cancelado'; -$l['bill_invoice'] = 'Factura'; -$l['bill_pay_to'] = 'Pagar a'; -$l['bill_inv_to'] = 'Facturado a'; -$l['bill_pay_method'] = 'Método de pago'; -$l['bill_desc'] = 'Descripción'; -$l['bill_disc'] = 'Descuento'; -$l['bill_subtotal'] = 'Subtotal'; -$l['bill_netamt'] = 'Importe neto'; -$l['bill_print'] = 'Imprimir'; -$l['bill_download'] = 'Descargar'; -$l['bill_tr_date'] = 'Fecha de transacción'; -$l['bill_tr_gateway'] = 'Puerta de enlace'; -$l['bill_tr_token'] = 'ID de transacción'; -$l['bill_tr_amt'] = 'Cantidad'; -$l['bill_invoices'] = 'Facturas'; -$l['bill_trans'] = 'Transacciones'; -$l['bill_make_payment'] = 'Realizar pago'; -$l['bill_add_funds'] = 'Agregar fondos'; -$l['bill_min_max'] = 'Por favor proporcione la cantidad que le gustaría agregar a su cuenta. Min: '. $globals['billing_symbol'].' '. $globals['billing_min'] .' Máx .: '. $globals['billing_symbol'] . ' ' . $globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Fecha'; -$l['bill_gateway'] = 'Puerta de enlace'; -$l['bill_bal'] = 'Saldo'; -$l['bill_charges'] = 'Cargos este mes'; -$l['bill_unpaid_invoices'] = 'Facturas impagas'; -$l['bill_cur_usage'] = 'Uso actual'; -$l['bill_no_trans'] = 'No se encontraron transacciones'; -$l['bill_usage'] = 'Uso actual'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = '¡No se encontraron elementos de facturación!'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Región'; -$l['bill_type'] = 'Tipo'; -$l['bill_starttime'] = 'Hora de inicio'; -$l['bill_updatetime'] = 'Hora de actualización'; -$l['bill_charge'] = 'Cargo'; -$l['bill_terminated'] = 'Terminado'; -$l['bill_gateway'] = 'Pasarela de pago'; -$l['bill_no_payment_gateway'] = 'No se encontraron pasarelas de pago. Póngase en contacto con ' . $globals['sn'] . ' en '. $globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'Debe iniciar sesión para realizar un pago'; -$l['pay_min'] = 'La cantidad no puede ser menor que' . $globals['billing_symbol'] . '' . $globals['billing_min']; -$l['pay_max'] = 'La cantidad no puede ser mayor que' . $globals['billing_symbol'] . '' . $globals['billing_max']; -$l['pay_err_ectoken'] = 'Hubo un error al crear el token de pago de pago rápido.'; -$l['pay_pp_missing'] = 'Faltaban algunos datos cuando fue redirigido desde Paypal'; -$l['pay_trans_already'] = 'Esta transacción ya ha sido registrada'; -$l['pay_pp_connect'] = 'Hubo algún error al conectarse a Paypal. Póngase en contacto con Softaculous en admin@softaculous.com '; -$l['pay_pp_resp'] = 'Hubo algún error al leer los datos de Paypal. Póngase en contacto con ' . $globals['sn'] . ' en ' . $globals['support_email']; -$l['pay_success'] = '¡Éxito! Su pago de ' . $globals['billing_symbol'] .' {{Amt}} fue exitoso. '; -$l['pay_payment'] = 'Procesador de pagos'; -$l['pay_panel'] = 'Panel de control'; -$l['pay_data_missing'] = 'Los datos de respuesta faltan / no son válidos'; -$l['pay_gateway_missing'] = 'Falta la pasarela de pago / no es válida'; -$l['pay_no_required_function'] = 'Faltan algunas funciones requeridas en la pasarela de pago seleccionada. Póngase en contacto con el administrador del servidor'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Contraseña Administrativa para el Script'; -$l['webuzo_spasswd_p'] = 'Ingresar la Contraseña Administrativa (root)'; -$l['webuzo_pd'] = 'Dominio Principal'; -$l['webuzo_pd_p'] = 'midominio.com'; -$l['webuzo_appstack'] = 'Seleccionar el Stack'; -$l['webuzo_scriptlist'] = 'Seleccionar el Script'; -$l['webuzo_submit'] = 'Instalar'; -$l['webuzo_advanced'] = 'Opciones Avanzadas'; -$l['webuzo_ns1'] = 'Servidor de Nombres 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Servidor de Nombres 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Seleccione Apache Verison'; -$l['webuzo_mysql'] = 'Seleccionar versión de MYSQL'; -$l['webuzo_php'] = 'Seleccionar versión PHP'; -$l['webuzo_os'] = 'Seleccionar el Sistema Operativo'; -$l['webuzo_disabled'] = 'La instalación de Webuzo está deshabilitada por el administrador'; -$l['webuzo_support_err'] = '¡Aplicación no compatible!'; -$l['webuzo_sshport_err'] = 'Introduzca el puerto SSH'; -$l['webuzo_spasswd_err'] = 'Ingrese la contraseña de root'; -$l['webuzo_pd_err'] = 'Por favor, especifique un nombre de dominio correcto'; -$l['webuzo_script_err'] = 'El script seleccionado no está en la lista. Inténtalo de nuevo.'; -$l['webuzo_stack_err'] = 'Seleccione una pila adecuada para instalar'; -$l['mysql_err'] = 'Seleccione la versión de MySQL'; -$l['php_err'] = 'Seleccione la versión de PHP'; -$l['webserver_err'] = 'Seleccione la versión de Apache'; -$l['webuzo_wmp_err'] = 'No ha seleccionado las versiones de pila adecuadas'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Por favor ingrese los detalles apropiados del NameServer'; -$l['webuzo_os_err'] = 'Seleccione el sistema operativo que desee instalar'; -$l['webuzo_install_data_lost_warn'] = '¿Está seguro de que desea continuar con la instalación? Advertencia: todos los datos de la máquina virtual se perderán de forma permanente. '; -$l['webuzo_app_err'] = 'Error al obtener las aplicaciones Webuzo'; -$l['webuzo_prim_ip_err'] = 'No se puede obtener la IP'; -$l['webuzo_install_start'] = 'La instalación de Webzuo se inicia en segundo plano. Se enviará un correo electrónico a la ID de correo electrónico proporcionada después de la instalación exitosa '; -$l['webuzo_dns_err'] = 'Por favor, complete los detalles del servidor de nombres'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Instalaciones de aplicaciones'; -$l['apps_no_vs'] = 'No tiene ningún '.VM_SHORT.' con aplicaciones instaladas'; - -// listvs - Search language strings. -$l['vs_type'] = 'Tipo'; -$l['vs_all'] = 'Todos'; -$l['vs_suspended'] = 'Suspendido'; -$l['vs_unsuspended'] = 'Inactivo'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Grupo de servidores'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'Ningún dominio configurado. Configure antes de instalar el certificado. '; -$l['le_install_cert'] = 'Instalar certificado'; -$l['le_renew_cert'] = 'Renovar certificado'; -$l['le_cert_logs'] = 'Ver registros de certificados'; -$l['le_config'] = 'Configuración de LetsEncrypt'; -$l['le_crt_details'] = 'Detalles del certificado LE'; -$l['le_logs'] = 'Registros'; -$l['le_crt_domain'] = 'Dominio'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Emitido por'; -$l['le_crt_serialno'] = 'Número de serie'; -$l['le_crt_valid_from_time'] = 'Válido desde'; -$l['le_crt_valid_to_time'] = 'Válido hasta'; -$l['le_next_renew'] = 'Próxima fecha de renovación'; -$l['le_crt_installed'] = 'Certificado instalado'; -$l['le_proceed'] = 'Iniciar instalación'; -$l['le_no_logs'] = 'No hay registros disponibles'; -$l['le_confirm_process'] = '¿Está seguro de que desea procesar esta solicitud?'; -$l['le_primary_domain'] = 'Dominio Principal'; -$l['le_contact_email'] = 'Correo electrónico de contacto'; -$l['le_key_size'] = 'Tamaño de clave'; -$l['le_renew_days'] = 'Días de renovación'; -$l['le_staging'] = 'Puesta en escena'; -$l['le_enable_force'] = 'Forzar'; -$l['le_primary_domain_exp'] = 'Nombre de dominio principal para el certificado'; -$l['le_contact_email_exp'] = 'Dirección de correo electrónico que utilizará LetsEncrypt para contactar al propietario del dominio'; -$l['le_key_size_exp'] = 'Longitud de las claves privadas del certificado de dominios'; -$l['le_renew_days_exp'] = 'Días mínimos antes del vencimiento para renovar automáticamente el certificado (debe ser menor o igual a 80)'; -$l['le_staging_exp'] = 'Utilice el servidor LetsEncrypts Staging (Testing) para obtener el certificado'; -$l['le_enable_force_exp'] = 'Forzar certificado de procesamiento'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'General'; -$l['vps_graphs'] = 'Gráficas'; -$l['vps_tasks_logs'] = 'Tareas y Registros'; -$l['vps_disk_usage'] = 'Uso del Disco'; -$l['vps_statistics'] = 'Estadísticas'; -$l['vps_info'] = 'Información del Servidor'; -$l['vps_install'] = 'Instalar'; - -// Modal -$l['modal_ok'] = 'Aceptar'; -$l['modal_cancel'] = 'Cancelar'; -$l['modal_success'] = 'Éxito'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'La velocidad de red que ingresó es mayor que la velocidad de red permitida'; -$l['err_upload_speed'] = 'La velocidad de carga que ingresó es mayor que la velocidad de carga permitida'; - -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; - -$l['del_apikey'] = '¿Desea eliminar las credenciales de esta API?'; -$l['del_rdns'] = '¿Desea eliminar este registro rDNS?'; -$l['err_cuser_dom_name'] = 'Este nombre de dominio ya lo está utilizando algún otro usuario'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Escanee el código QR o escriba la clave secreta que se indica a continuación en su aplicación de autenticación de dos factores. Después, la aplicación le proporcionará un OTP único que tiene que introducir en el cuadro de texto para permitir la autenticación de dos factores.'; +$l['twofactauth_secret_key'] = 'Clave secreta:'; +$l['twofactauth_code_input'] = 'Código de confirmación'; +$l['twofactauth_code_input_exp'] = 'Introducir el OTP que recibió en el correo electrónico o de la App'; +$l['twofactauth_submit'] = 'Enviar'; +$l['twofactauth_select_pref'] = 'Seleccione su preferencia:'; +$l['twofactauth_select_pref_desc'] = 'Seleccione el tipo de autenticación de dos factores y, a continuación, introduzca el código para habilitarlo'; +$l['twofactauth_disabled'] = 'Se ha inhabilitado la autenticación de dos factores'; +$l['twofactauth_enabled'] = 'Se ha habilitado la autenticación de dos factores'; +$l['twofactauth_err_enable'] = 'El código de acceso introducido es incorrecto'; +$l['twofactauth_email_passcode'] = 'Código de correo electrónico'; +$l['twofactauth_none'] = 'Ninguno (No recomendado!)'; +$l['twofactauth_email_otp'] = 'OTP Email'; +$l['twofactauth_enable_app'] = 'Habilitar la aplicación (Google authenticator etc..)'; +$l['twofactauth_no_passcode'] = 'Por favor especificar el OTP'; +$l['twofactauth_changes_saved'] = 'Sus cambios se han guardado correctamente.'; +$l['twofactauth_or'] = 'O'; +$l['twofactauth_passcode_error'] = 'El OTP no pudo ser generado'; +$l['twofactauth_otp_mail_sub'] = 'Entrar OTP'; +$l['twofactauth_reset_key'] = 'Reestablecer clave'; +$l['twofactauth_email_sent_to'] = 'OTP será enviado a:'; +$l['twofactauth_otp_mail_body'] = 'Hola, + +Se ha enviado una solicitud de acceso a su cuenta en: +{{site_domain}} + +Utilice la siguiente contraseña de Una Vez (OTP) para iniciar sesión: +{{otp}} + +Saludos, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Código de confirmación de autenticación de dos factores'; +$l['twofactauth_passcode_mail_body'] = 'Hola, + +El código de confirmación para habilitar la autenticación de dos factores para su cuenta en {{site_domain}} es: {{passcode}}. + +Saludos, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP ha sido enviado a su dirección de correo electrónico'; +$l['twofactauth_secret_key_conf'] = 'ADVERTENCIA: Si restablece la clave secreta, tendrá que actualizar sus aplicaciones con la nueva. Estás seguro de que quieres continuar ?'; +$l['twofactauth_otp_expired'] = '¡El OTP que envió ha caducado!'; +$l['twofactauth_not_allowed'] = 'No tiene permiso para acceder a esta página'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'No ha introducido el Email'; +$l['adu_no_user_password'] = 'No ha introducido la contraseña'; +$l['adu_invalid_email'] = 'El Email que ha introducido no es válido'; +$l['adu_userlimit_exceeded'] = 'No se le permite crear más usuarios. Por favor, póngase en contacto con el Administrador'; +$l['adu_useradd_error'] = 'Se produjo un error al agregar el usuario. Por favor, póngase en contacto con el Administrador'; +$l['adu_page_head'] = 'Agregar usuario'; +$l['adu_done'] = 'El usuario ha sido añadido'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Contraseña'; +$l['adu_user_exists'] = 'Ya existe el usuario. Por favor, introduzca un correo electrónico diferente'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'No ha especificado la nueva contraseña.'; +$l['cpas_no_conf'] = 'La contraseña de confirmación no se encuentra.'; +$l['cpas_no_match'] = 'Las contraseñas que ha escrito no coinciden'; +$l['cpas_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; +$l['cpas_submit_button'] = 'Cambiar la contraseña'; +$l['cpas_new_pass'] = 'Nueva contraseña'; +$l['cpas_old_pass'] = 'Contraseña antigua'; +$l['cpas_retype_pass'] = 'Reescriba la nueva contraseña'; +$l['cpas_change_note'] = 'Cambiar contraseña de root'; +$l['cpas_change_final'] = 'Tu contraseña ha sido cambiada exitosamente'; +$l['cpas_change_onboot'] = 'Su contraseña será cambiada cuando el '.VM_SHORT.' se inicie de nuevo'; +$l['cpas_change_notify'] = 'Cambiando la contraseña root del '.VM_SHORT.'...'; +$l['cpas_strength_indicator'] = 'Indicador de Fuerza'; +$l['cpas_bad'] = 'Débil'; +$l['cpas_good'] = 'Buena'; +$l['cpas_strong'] = 'Fuerte'; +$l['cpas_short'] = 'Corta'; +$l['cpas_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; +$l['cpas_pass_match'] = 'Las contraseñas no coinciden'; +$l['cpas_disabled'] = 'Cambiar contraseña está desactivada por el Administrador'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Recursos Cloud'; +$l['cr_resource_type'] = 'Tipo de recurso'; +$l['cr_limit'] = 'Límite'; +$l['cr_used'] = 'Usado'; +$l['cr_left'] = 'Disponible'; +$l['cr_unlimited'] = 'Ilimitado'; +$l['cr_num_vs'] = 'Número de VMs'; +$l['cr_num_users'] = 'Número de usuarios'; +$l['cr_num_space'] = 'Espacio del disco'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Ancho de banda'; +$l['cr_num_cores'] = 'Total Cores'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'Subredes IPv6'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'Información de la CPU'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Consola está desactivada'; +$l['cs_call_failed'] = 'La llamada a la API falló. Por favor, póngase en contacto con la administrador'; +$l['cs_heading'] = 'Consola'; +$l['cs_none'] = 'Ninguna sesión de consola existente se encontró. Por favor, cree una!'; +$l['cs_create'] = 'Crear sesión'; +$l['cs_creating'] = 'Creando la sesión ...'; +$l['cs_destroying'] = 'Eliminando la sesión ...'; +$l['cs_details'] = 'Los siguientes son los detalles de la consola'; +$l['cs_expires'] = 'Expira'; +$l['cs_ip'] = 'Dirección IP'; +$l['cs_port'] = 'Puerto'; +$l['cs_username'] = 'Nombre de usuario'; +$l['cs_password'] = 'Contraseña'; +$l['cs_destroy'] = 'Destruir Sesión'; +$l['cs_java_console'] = 'Consola Java'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Por favor, especifique un hostname para cambiar.'; +$l['hn_new_host'] = 'Nuevo Hostname'; +$l['hn_submit_button'] = 'Cambiar Hostname'; +$l['hn_err_changing'] = 'Hubo algunos errores mientras se cambiaba el hostname.'; +$l['hn_host_final'] = 'Tu hostname se ha cambiado correctamente'; +$l['hn_invalid_hostname'] = 'El hostname que ha enviado no es válido'; +$l['hn_change_onboot'] = 'Tu hostname se cambiará cuando el '.VM_SHORT.' se inicie de nuevo'; +$l['hn_current_hostname'] = 'Actual Hostname'; +$l['hn_change_notify'] = 'Cambiando el hostname...'; +$l['hn_disable_change_hostname'] = 'Cambiar hostname está desactivado por Admin'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'No hay IPs seleccionadas'; +$l['ips_ip_not_exists'] = 'IPs No existe'; +$l['ips_header'] = 'IPs'; +$l['ips_ipinfo'] = 'Información IP'; +$l['ips_reorderips'] = 'Establecer IP primaria'; +$l['ips_done'] = 'La configuración de IP se ha guardado.'; +$l['ips_change_onboot'] = 'La configuración IP se cambiará cuando el '.VM_SHORT.' se inicie de nuevo'; +$l['ips_primary_ip'] = 'Seleccione IP primaria'; +$l['ips_ipv6_ips_list'] = 'IPs IPV6'; +$l['ips_ipv6_empty'] = 'IPV6 vacío'; +$l['ips_change_notify'] = 'Cambiando la configuración de IP...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = 'CPU'; +$l['mon_cpuinfo'] = 'Información del CPU'; +$l['mon_totalcpu'] = 'Total CPU'; +$l['mon_cpuutilised'] = 'Utilizado'; +$l['mon_poweredby'] = 'Desarrollado por:'; +$l['mon_graphheader'] = 'Utilización de CPU'; +$l['mon_trademarks'] = 'Todo logo respectivo utilizado son marcas comerciales o marcas comerciales registradas de sus respectivas compañías.'; +$l['mon_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disco'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Red'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Velocidad de Lectura'; +$l['mon_io_write_spd'] = 'I/O Velocidad de Escritura'; +$l['mon_ntw_info'] = 'Información de red'; +$l['mon_ntw_down_spd'] = 'Promedio de velocidad de descarga'; +$l['mon_ntw_upld_spd'] = 'Promedio de velocidad de subida'; +$l['mon_disabled'] = 'La opción de monitoreo está desactivado por Admin'; +$l['mon_cpu_usage'] = 'CPU Usada'; +$l['mon_inode_usage'] = 'Inodos Usados'; +$l['mon_ram_usage'] = 'RAM Usada'; +$l['mon_disk_usage'] = 'Disco Usado'; +$l['mon_down_speed'] = 'Velocidad de descarga'; +$l['mon_up_speed'] = 'Velocidad de subida'; +$l['mon_total_speed'] = 'Velocidad Total'; +$l['mon_cpu_hist'] = 'Historial de uso de la CPU '; +$l['mon_mem_hist'] = 'Historial de uso de la Memoria'; +$l['mon_storage'] = 'Almacenamiento utilizado'; +$l['mon_date_label'] = 'Fecha mm/dd'; +$l['mon_inode_hist'] = 'Inodos Usados'; +$l['mon_net_speed'] = 'Velocidad de la red'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'No ha seleccionado el sistema operativo'; +$l['os_invalid_os'] = 'El sistema operativo enviado no es válido'; +$l['os_no_new'] = 'No ha especificado la nueva contraseña.'; +$l['os_no_conf'] = 'La contraseña de confirmación no se encuentra.'; +$l['os_no_match'] = 'Las contraseñas que indicó no coinciden'; +$l['os_error_reins'] = 'Hubo un error al volver a instalar el sistema operativo'; +$l['os_err_changing'] = 'Hubo algunos errores al establecer la contraseña.'; +$l['os_err_log_osreinstall'] = 'Ha superado el límite de reinstalación del sistema operativo. Póngase en contacto con su administrador'; +$l['os_reins_os'] = 'Reinstalar OS'; +$l['os_os_reinstall'] = 'Reinstalar'; +$l['os_new_pass'] = 'Nueva contraseña'; +$l['os_retype_pass'] = 'Reescriba la contraseña'; +$l['os_genram_psswd'] = 'Crear otra contraseña aleatoria'; +$l['os_done'] = 'El proceso de reinstalación del sistema operativo se ha iniciado en segundo plano'; +$l['os_reins_notify'] = 'Reinstalando el sistema operativo del '.VM_SHORT.'...'; +$l['os_centos_line1'] = 'CentOS es una distribución de Linux de clase empresarial derivado de fuentes proporcionadas libremente al público por un proveedor importante de América del Norte Enterprise Linux.'; +$l['os_centos_line2'] = 'CentOS se ajusta plenamente a los proveedores y aspira a ser 100% compatible a nivel binario. CentOS cambia principalmente paquetes para eliminar la marca del proveedor y de ilustraciones.'; +$l['os_centos_line3'] = 'CentOS es desarrollado por un pequeño pero creciente grupo de desarrolladores principales. CentOS es gratuito.'; +$l['os_fedora_line1'] = 'Fedora es un sistema operativo basado en Linux que muestra lo último en software libre y de código abierto. Fedora siempre es gratuito para que cualquiera pueda usarlo, modificarlo y distribuirlo.'; +$l['os_fedora_line2'] = 'Está construido por personas de todo el mundo que trabajan juntos como una comunidad: el Proyecto Fedora. El Proyecto Fedora está abierto y cualquier persona puede unirse.'; +$l['os_fedora_line3'] = 'El Proyecto Fedora está a la vanguardia para usted, liderando el avance del software libre y abierto.'; +$l['os_suse_line1'] = 'El proyecto openSUSE es un esfuerzo mundial que promueve el uso de Linux en todas partes.'; +$l['os_suse_line2'] = 'OpenSUSE crea una de las mejores distribuciones Linux del mundo, trabajando de manera abierta, transparente y amistosa como parte de la comunidad mundial de software libre y de código abierto.'; +$l['os_suse_line3'] = 'El proyecto es controlado por su comunidad y depende de las contribuciones de los individuos, trabajando como probadores, escritores, traductores, expertos en usabilidad, artistas y embajadores o desarrolladores.'; +$l['os_suse_line4'] = 'OpenSUSE es un sistema operativo libre y basado en Linux para tu PC, Laptop o Servidor.'; +$l['os_ubuntu_line1'] = 'Ubuntu es parte de la familia Debian de sistemas operativos Linux, que cuenta con el mayor grupo de talentos de desarrolladores, con cada paquete construido por expertos.'; +$l['os_ubuntu_line2'] = 'La rigurosa gestión de lanzamientos, garantía de calidad, pruebas de estrés y diseño de productos mejoran la calidad de Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-rápido y de gran apariencia, Ubuntu es un sistema operativo seguro e intuitivo que alimenta los escritorios, servidores, netbooks y portátiles. Ubuntu es, y siempre será, absolutamente gratis.'; +$l['os_debian_line1'] = 'Debian es un sistema operativo libre (OS) para su computadora. Un sistema operativo es el conjunto de programas básicos y utilidades que hacen que su computadora funcione.'; +$l['os_debian_line2'] = 'Debian utiliza el kernel de Linux (el núcleo de un sistema operativo), pero la mayoría de las herramientas básicas del sistema operativo provienen del proyecto GNU; De ahí el nombre GNU / Linux.'; +$l['os_debian_line3'] = 'Debian GNU / Linux proporciona más que un SO puro: viene con más de 25000 paquetes, software precompilado incluido en un formato agradable para una fácil instalación en su máquina.'; +$l['os_scientific_line1'] = 'Scientific Linux es una distribución Linux producida por Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'Es un sistema operativo de código abierto y libre basado en Red Hat Enterprise Linux y tiene como objetivo \"estar lo más cerca posible de la distribución de empresas comerciales que podamos obtener\".'; +$l['os_scientific_line3'] = 'Este producto se deriva del software libre y de código abierto que Red Hat, Inc. pero no es producido, mantenido o soportado por Red Hat.'; +$l['os_strength_indicator'] = 'Indicador de Fuerza'; +$l['os_bad'] = 'Débil'; +$l['os_good'] = 'Buena'; +$l['os_strong'] = 'Fuerte'; +$l['os_short'] = 'Corta'; +$l['os_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; +$l['os_pass_match'] = 'Las contraseñas no coinciden'; +$l['os_reinstall_wait'] = 'Reinstalando el sistema operativo, espere por favor...'; +$l['os_reinstall_disabled'] = 'Reinstalación del sistema operativo está desactivado por Admin'; +$l['os_no_os'] = 'No hay OS(s) disponibles para reinstalar'; +$l['os_rebuild_data_lost_warn'] = '¿Estás seguro de que quieres reconstruir el '.VM_SHORT.'? Advertencia: Los datos existentes en '.VM_SHORT.' se perderán permanentemente.'; +$l['os_select_version'] = 'SELECCIONAR VERSION'; +$l['os_select_os'] = 'Seleccionar el Sistema Operativo:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Información VNC'; +$l['vnc_vnc_ip'] = 'IP VNC'; +$l['vnc_vnc_port'] = 'Puerto VNC'; +$l['vnc_novnc_button'] = 'Lanzar cliente VNC HTML 5'; +$l['vnc_launch_vnc'] = 'Iniciar el visor JavaVNC'; +$l['vnc_notice'] = 'VNC sólo funcionará si Java está instalado y habilitado en su navegador'; +$l['vnc_not_enabled'] = 'VNC no está habilitado'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'No ha especificado la nueva contraseña.'; +$l['vncpas_no_conf'] = 'La contraseña de confirmación no se encuentra.'; +$l['vncpas_no_match'] = 'Las contraseñas que dio no coinciden'; +$l['vncpas_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; +$l['vncpas_no_nonalphanumeric'] = 'No se permiten caracteres no alfanuméricos'; +$l['vncpas_submit_button'] = 'Cambiar contraseña VNC'; +$l['vncpas_new_pass'] = 'Nueva contraseña'; +$l['vncpas_old_pass'] = 'Contraseña antigua'; +$l['vncpas_retype_pass'] = 'Reescriba la nueva contraseña'; +$l['vncpas_change_note'] = 'Cambiar contraseña VNC'; +$l['vncpas_change_final'] = 'Su contraseña VNC ha sido cambiada con éxito.'; +$l['vncpas_change_notify'] = 'Cambiando la contraseña de VNC ...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'No ha especificado la nueva contraseña.'; +$l['up_no_conf'] = 'La confirmación de la contraseña no se encuentra.'; +$l['up_no_match'] = 'Las contraseñas que indicó no coinciden'; +$l['up_err_changing'] = 'Hubo algunos errores mientras se cambiaba la contraseña.'; +$l['up_new_pass'] = 'Nueva contraseña'; +$l['up_old_pass'] = 'Contraseña antigua'; +$l['up_retype_pass'] = 'Reescriba la nueva contraseña'; +$l['up_page_head'] = 'Cambiar la contraseña'; +$l['up_change_final'] = 'Tu contraseña ha sido cambiada exitosamente'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Cambiar perfil'; +$l['pr_no_fname'] = 'No ha introducido el nombre'; +$l['pr_no_lname'] = 'No ha introducido los apellidos'; +$l['pr_firstname'] = 'Nombre'; +$l['pr_lastname'] = 'Apellidos'; +$l['pr_company'] = 'Empresa'; +$l['pr_website'] = 'Sitio web'; +$l['pr_address'] = 'Dirección'; +$l['pr_city'] = 'Ciudad'; +$l['pr_state'] = 'Estado'; +$l['pr_zip'] = 'Código postal'; +$l['pr_country'] = 'País'; +$l['pr_phone'] = 'Móvil'; +$l['pr_sys_admin_email'] = 'Correo electrónico del administrador del sistema'; +$l['pr_cc_emails'] = 'Correo electrónico CC de factura'; +$l['pr_cc_emails_exp'] = 'Los correos electrónicos relacionados con la factura se enviarán a estos correos electrónicos. Puede agregar varios correos electrónicos separados por comas. '; +$l['pr_soft_error'] = 'Hubo algún error al guardar sus datos. Póngase en contacto con el equipo de soporte: '. $globals['support_email']; +$l['pr_done'] = 'Sus cambios se han guardado correctamente'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Servicios'; +$l['ser_sstart'] = 'Iniciar'; +$l['ser_sstop'] = 'Detener'; +$l['ser_srestart'] = 'Reiniciar'; +$l['ser_status'] = 'Estado'; +$l['ser_statrun'] = 'En ejecución'; +$l['ser_statoff'] = 'OFF'; +$l['ser_staton'] = 'ON'; +$l['ser_autostart'] = 'Autoencendido'; +$l['ser_select'] = 'Seleccionar'; +$l['ser_vps_is_off'] = 'El '.VM_SHORT.' está apagado!'; +$l['ser_no_feature'] = 'Esta función no está disponible!'; +$l['ser_notice_start'] = 'Los servicios seleccionados están siendo iniciados..'; +$l['ser_notice_stop'] = 'Los servicios seleccionados están siendo detenidos..'; +$l['ser_notice_restart'] = 'Los servicios seleccionados están siendo reiniciados..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'Lista de Procesos'; +$l['proc_usr'] = 'Usuario'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Comando'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'Hora'; +$l['proc_select'] = 'seleccionar'; +$l['proc_pstart'] = 'Iniciar'; +$l['proc_pkill'] = 'Matar'; +$l['proc_prefresh'] = 'Autorefrescar'; +$l['proc_vps_is_off'] = 'El '.VM_SHORT.' está apagado!'; +$l['proc_no_feature'] = 'Esta función no está disponible!'; +$l['proc_notice_pkill'] = 'Deteniendo los procesos seleccionados :'; +$l['proc_with_selected'] = 'Con seleccionados:'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Registros'; +$l['log_date'] = 'Fecha'; +$l['log_task'] = 'Tarea'; +$l['log_status'] = 'Estado'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Correcto'; +$l['log_fail'] = 'Error'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Administrar subredes IPv6'; +$l['mng_done'] = 'IPs se guardaron con éxito'; +$l['mng_add_ipv6'] = 'Añadir una dirección IPv6'; +$l['mng_add_ip_button'] = 'Añadir IP'; +$l['mng_back_button'] = 'Atrás'; +$l['mng_save_button'] = 'Guardar'; +$l['mng_delete_confirm'] = '¿Seguro que quieres eliminar esta dirección IPv6?'; +$l['mng_ipv6_invalid'] = 'Hubo un error con la dirección IPv6'; +$l['mng_ipv6_address'] = 'Dirección IPv6'; +$l['mng_ipv6_delete'] = 'Eliminar'; +$l['mng_ipv6_subnet'] = 'Subred IPv6'; +$l['mng_edit_subnet'] = 'Editar'; +$l['mng_no_vps'] = 'No se han encontrado '.VM_SHORT; +$l['mng_inv_ipaddress'] = 'La IP especificada no le pertenece a usted'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Administrar Zona'; +$l['mz_zone_conf_del'] = '¿Seguro que quieres eliminar el Servidor PDNS?'; +$l['mz_add_pdns'] = 'Añadir Servidor PDNS'; +$l['mz_dns_mgmt'] = 'Administración de DNS'; +$l['mz_zone_add_done'] = 'La zona se ha agregado con éxito'; +$l['mz_add_zone'] = 'Añadir Registro a la Zona'; +$l['mz_zone_name'] = 'Nombre de la zona'; +$l['mz_pdns_zones'] = 'Ver Zonas'; +$l['mz_manage_zone'] = 'Administrar'; +$l['mz_conf_del'] = '¿Seguro que quieres eliminar este registro?'; +$l['mz_add_done'] = 'El registro se ha agregado con éxito'; +$l['mz_edit_done'] = 'El registro ha sido editado con éxito'; +$l['mz_del_done'] = 'El registro ha sido eliminado con éxito'; +$l['mz_priority'] = 'Prioridad'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Contenido'; +$l['mz_type'] = 'Tipo'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Apunta a'; +$l['mz_txt_value'] = 'Valor TXT'; +$l['mz_pdns_name'] = 'Servidor'; +$l['mz_submit_button'] = 'Añadir registro'; +$l['mz_edit_button'] = 'Editar registro'; +$l['mz_no_domains'] = 'No hay zonas en el registro'; +$l['mz_err_addzone'] = 'Se ha producido un error al añadir la zona'; +$l['mz_inv_name'] = 'Hostname especificado es inválido'; +$l['mz_inv_ip'] = 'Dirección IP especificada no válida'; +$l['mz_inv_tld'] = 'Dominio de nivel superior especificado no válido'; +$l['mz_inv_ipv6'] = 'IPv6 especificada no válida'; +$l['mz_inv_int'] = 'Entero especificádo no es válido'; +$l['mz_err_add'] = 'Se produjo un error al agregar el registro'; +$l['mz_err_del'] = 'Se ha producido un error al eliminar el registro'; +$l['mz_err_edit'] = 'Se produjo un error al editar el registro'; +$l['mz_err_soa'] = 'Se produjo un error al actualizar el serial SOA'; +$l['mz_rec_exists'] = 'El registro ya existe'; +$l['mz_records_limit'] = 'Se ha alcanzado el límite para añadir registros'; +$l['mz_err_connect'] = 'Se ha producido un error al conectar con el servidor de nombres'; +$l['mz_zone_restricted'] = 'La zona que está intentando editar está restringida'; +$l['mz_no_records'] = 'No hay registros presentes'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = '¿Seguro que quieres eliminar este dominio?'; +$l['pdns_page_head'] = 'Administración de DNS'; +$l['pdns_add_done'] = 'La zona se ha agregado con éxito'; +$l['pdns_delete_done'] = 'La zona se ha eliminado con éxito'; +$l['pdns_add_zone'] = 'Añadir Zona'; +$l['pdns_zone_name'] = 'Nombre de la zona'; +$l['pdns_manage_zone'] = 'Administrar'; +$l['pdns_no_domains'] = 'No hay zonas en el registro'; +$l['pdns_no_name'] = 'No se especificó el nombre de dominio'; +$l['pdns_err_addzone'] = 'Se ha producido un error al añadir la zona'; +$l['pdns_err_delete'] = 'Hubo un error al eliminar la zona'; +$l['pdns_inv_domain'] = 'El nombre de dominio especificado no es válido'; +$l['pdns_limit_domains'] = 'El número máximo de dominios que se puede añadir se ha alcanzado'; +$l['pdns_domain_exists'] = 'Este nombre de dominio ya existe'; +$l['pdns_err_connect'] = 'Se ha producido un error en la conexión con el servidor de nombres'; +$l['pdns_no_dns'] = 'Administración de DNS no disponible'; +$l['pdns_invalid_zone'] = 'La Zona DNS que está intentando eliminar no es válida'; +$l['pdns_primary_nameserver'] = 'Nombre de servidor primario'; +$l['pdns_hostmaster_email'] = 'Email del administrador del dominio'; +$l['pdns_inv_email'] = 'Inválido el Email del administrador de dominio especificado'; +$l['pdns_inv_ns'] = 'Nombre de servidor primario especificado no es válido'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Añadir DNS inversa'; +$l['rdns_zone_name'] = 'Nombre de la zona'; +$l['rdns_exp_zone_name'] = 'El Nombre de la zona'; +$l['rdns_ns'] = 'Nameserver'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Seleccionar servidor'; +$l['rdns_exp_pdns_server'] = 'El servidor DNS para agregar el registro a'; +$l['rdns_sub_but'] = 'Enviar'; +$l['rdns_rdns_ip'] = 'Dirección IP'; +$l['rdns_exp_rdns_ip'] = 'Introduzca la dirección IP de su '.VM_SHORT; +$l['rdns_rdns_domain'] = 'Nombre de dominio'; +$l['rdns_exp_rdns_domain'] = 'Introduzca el nombre de dominio completo'; +$l['rdns_no_rnds_ip'] = 'Por favor, introduzca la dirección IP'; +$l['rdns_no_rdns_domain'] = 'Por favor, introduzca el nombre de dominio'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID no es válido'; +$l['rdns_err_zone'] = 'Entrada Zona RDNS no encontrado. Por favor, póngase en contacto con el Administrador'; +$l['rdns_is_rdns'] = 'Entrada DNS inversa ya está presente'; +$l['rdns_no_dns'] = 'El servidor DNS no ha sido configurado por el administrador. Por favor, póngase en contacto con el administrador para esto.'; +$l['rdns_no_zone_name'] = 'No se especificó el nombre de zona'; +$l['rdns_no_ns'] = 'El servidor de nombres se debe especificar. Al menos se requieren dos'; +$l['rdns_no_hostmasteremail'] = 'No se especificó el email hostmaster'; +$l['rdns_inv_revzone'] = 'La zona DNS inversa especificada no es válida'; +$l['rdns_inv_ns'] = 'Los TLD de servidor de nombres especificados no son válidos'; +$l['rdns_inv_hostemail'] = 'El Email del Hostmaster especificado no es válido'; +$l['rdns_err_connect'] = 'No se pudo conectar al servidor. Por favor, compruebe si está en línea'; +$l['rdns_err_save'] = 'Se produjo un error al guardar los datos'; +$l['rdns_done'] = 'La zona DNS inversa se ha agregado con éxito'; +$l['rdns_zone_exists'] = 'Ya existe esta zona'; +$l['rdns_inv_ipaddress'] = 'Dirección IP introducida no es válida'; +$l['rdns_rdns_existing'] = 'Registros rDNS'; +$l['rdns_deleted'] = 'El registro rDNS ha sido eliminado'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Nombre'; +$l['rdns_domain'] = 'Dominio'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'No ha introducido el Email'; +$l['edu_no_user_password'] = 'No ha introducido la contraseña'; +$l['edu_invalid_email'] = 'El Email que ha introducido no es válido'; +$l['edu_uid_not_found'] = 'Usuario no encontrado'; +$l['edu_useradd_error'] = 'Se produjo un error durante la edición de los datos de usuario'; +$l['edu_page_head'] = 'Editar usuario'; +$l['edu_done'] = 'El usuario ha sido editado'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Contraseña'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'Hubo algunos errores al habilitar el modo de rescate'; +$l['resc_err_rescue_disable'] = 'Hubo algunos errores al deshabilitar el modo de rescate'; +$l['resc_err_downloading'] = 'Se ha producido un error al descargar la plantilla de rescate'; +$l['resc_err_delete_disk'] = 'Se ha producido un error al eliminar el disco de rescate'; +$l['resc_cant_rescue'] = 'La operación de rescate no se permite cuando una ISO está en uso. Por favor, retire la ISO primero '; +$l['resc_heading'] = 'Modo de rescate'; +$l['resc_rescue_exp'] = 'El modo de rescate proporciona la habilidad de arrancar un pequeño entorno Linux desde otro disco para que pueda rescatar un '.VM_SHORT.' Linux primario o archivos de copia de seguridad que están presentes en él'; +$l['resc_enable_rescue'] = 'Activar el modo de rescate'; +$l['resc_rescue_enabled'] = 'Modo de rescate está habilitado actualmente.'; +$l['resc_disable_rescue'] = 'Desactivar Modo de rescate'; +$l['resc_rescue_disabled'] = 'Modo de rescate está actualmente desactivado'; +$l['resc_resuce_enable_success'] = 'El proceso para habilitar el modo de rescate se ha iniciado en segundo plano'; +$l['resc_resuce_disable_success'] = 'El proceso para deshabilitar el modo de rescate se ha iniciado en segundo plano'; +$l['resc_rescue_enable_notify'] = 'Habilitando el modo de rescate ...'; +$l['resc_rescue_disable_notify'] = 'Desactivando el modo de rescate ...'; +$l['resc_root_pass'] = 'Contraseña de Administrativa (root)'; +$l['resc_root_pass_conf'] = 'Confirmar contraseña'; +$l['resc_disable_rescue_err'] = 'Modo de rescate está desactivado por Admin'; +$l['resc_passwords_do_not_match'] = 'La contraseña especificada y la contraseña de confirmación no coinciden'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Ningún idioma fue seleccionado'; +$l['us_wrong_lang'] = 'El idioma seleccionado no existe'; +$l['us_no_timezone'] = 'No ha seleccionado la zona horaria'; +$l['us_timezone_invalid'] = 'La zona horaria que ha seleccionado no es válida'; +$l['us_wrong_theme'] = 'El tema que ha seleccionado no existe'; +$l['us_page_head'] = 'Configuración de usuario'; +$l['us_change_final'] = 'Sus ajustes se han guardado correctamente'; +$l['us_choose_lang'] = 'Elija el idioma'; +$l['us_exp_lang'] = 'Elija su idioma preferido'; +$l['us_timezone'] = 'Zona horaria'; +$l['us_default_timezone'] = 'Servidor predeterminado'; +$l['us_edit_settings'] = 'Editar ajustes'; +$l['us_done'] = 'Sus ajustes se guardaron con éxito'; +$l['us_choose_theme'] = 'Elija el tema'; +$l['us_exp_theme'] = 'Elige tu tema preferido'; +$l['us_no_theme'] = 'Ningún tema se seleccionó'; +$l['us_logo'] = 'URL del logotipo'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'Si está vacío se mostrará el logo predeterminado'; +$l['us_vps_bandwidth_threshold'] = 'Umbral de ancho de banda del '.VM_SHORT; +$l['us_vps_bandwidth_threshold_exp'] = 'Si se establece en umbral de ancho de banda cero, el correo electrónico se desactivará. Valor en% '; +$l['us_no_vps_bandwidth_threshold'] = 'No ingresó el umbral de ancho de banda'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Valor de umbral de ancho de banda no válido'; +$l['us_dom_name'] = 'Nombre de dominio de usuario'; +$l['us_dom_exp'] = 'Ingrese su nombre de dominio (por ejemplo: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Ingrese un nombre de dominio de usuario válido'; +$l['us_no_url'] = 'No ingresó una URL de usuario'; +$l['us_logo_url_err'] = 'Introduzca una URL de logotipo válida'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'El nombre de dominio no puede estar vacío una vez configurado. Solo se puede cambiar '; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Forwarding'; +$l['vdf_serid'] = 'Server'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protocol'; +$l['vdf_src_hname'] = 'Source Domain/IP'; +$l['vdf_src_dom'] = 'Source Domain'; +$l['vdf_src_ip'] = 'Source IP'; +$l['vdf_src_port'] = 'Source Port'; +$l['vdf_dest_ip'] = 'Destination IP'; +$l['vdf_dest_port'] = 'Destination Port'; + +$l['vdf_add_title'] = 'New Domain Forwarding Record'; +$l['vdf_sel_proto'] = 'Select Protocol'; +$l['vdf_select_ip'] = 'Select IP'; + +$l['vdf_no_act_sel'] = 'No action selected, select one and try again'; +$l['vdf_success_add'] = 'Added successfuly'; +$l['vdf_success_update'] = 'Updated data successfuly'; +$l['vdf_success_save'] = 'Saved changes'; +$l['vdf_no_server_found'] = 'No server found'; +$l['vdf_conf_del_entries'] = 'Delete selected entries ?'; +$l['vdf_success_del_entries'] = 'Deleted entries successfuly'; +$l['vdf_ser_not_found'] = 'Requested server not found'; +$l['vps_not_found_on_server'] = 'Requested VM_SHORT ({{vpsid}}) not found on selected server ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) not supported'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) not found'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) not found'; +$l['vdf_inv_ipaddress'] = 'The IP specified does not belong to you'; +$l['vdf_no_vps'] = 'No '.VM_SHORT.' Found'; + +$l['vdf_empty_allowed_src_ips'] = 'Allowed source IPs list is empty, admin user must set this IPs list before using this feature'; +$l['vdf_inv_src_port'] = 'Source port ({{src_port}}) is not valid port number'; +$l['vdf_in_use_src_port'] = 'Source port ({{src_port}}) already in use'; +$l['vdf_inv_src_hostname'] = 'Selected source domain ({{src_hostname}}) is not a valid domain name'; +$l['vdf_inv_src_ip'] = 'Source IP ({{src_ip}}) is not a valid IP'; +$l['vdf_not_available_src_ip'] = 'Selected source IP ({{$src_ip}}) is not available for '.VM_SHORT.' domain forwarding'; +$l['vdf_port_not_supported_tcp'] = 'Source port ({{src_port}}) is not supported for selected protocol TCP, It is only supported for protocols: HTTP and HTTPS'; + +$l['vdf_inv_dest_port'] = 'Destination port ({{dest_port}}) is not valid port number'; +$l['vdf_inv_dest_ip'] = 'Destination IP ({{dest_ip}}) is not a valid IP or it is not assigned to this vps'; + +$l['vdf_note_point_domain'] = 'Note: For domain forwarding to work, this vps\'s domain name ({{src_hostname}}) must point to one of these IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Record already exist for source domain ({{src_hostname}}) and source port ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Error occurred while executing database query, unable to process request'; +$l['vdf_err_unknown'] = 'Unknown error occurred while processing the request'; + +$l['vdf_err_haproxy_port_empty'] = 'Source port is empty'; +$l['vdf_err_haproxy_port_used'] = 'Source port {{src_port}} is already in use'; +$l['vdf_in_haproxy_reservedports'] = 'Source port {{src_port}} is in reserved ports list'; +$l['vdf_in_haproxy_reservedports_http'] = 'Source port {{src_port}} is in reserved ports list allowed only for protocol HTTP or HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Source port {{src_port}} is not in allowed ports list'; + +//VDF Information div lang +$l['vdf_info'] = 'Información'; +$l['vdf_info_server'] = 'Servidor'; +$l['vdf_info_reservedports'] = 'Puertos reservados'; +$l['vdf_info_allowedports'] = 'Puertos permitidos'; +$l['vdf_info_reservedports_http'] = 'Puertos reservados solo para HTTP / HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Reenvío de dominio'; +$l['vdf_source'] = 'Fuente'; +$l['vdf_destination'] = 'Destino'; +$l['vdf_added'] = 'Agregado'; +$l['vdf_updated'] = 'Actualizado'; +$l['vdf_removed'] = 'Eliminado'; +$l['vdf_removed_multiple'] = 'Múltiples eliminados'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Editar este registro'; +$l['vdf_tooltip_save'] = 'Guardar los cambios realizados en este registro'; +$l['vdf_tooltip_revert'] = 'Revertir los cambios realizados en este registro'; +$l['vdf_tooltip_delete'] = 'Eliminar este registro'; + +$l['vdf_skipped_msg'] = 'Esta entrada de registro ha sido omitida'; +$l['vdf_skipped_haproxy_reservedports'] = 'El puerto de origen está en la lista de puertos bloqueados'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'El puerto de origen está en la lista de puertos reservada solo para HTTP y HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'El puerto de origen no está en la lista de puertos permitidos'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Por favor especificar el tipo de virtualización'; +$l['li_num_vs_over'] = 'Usted ya ha creado el número máximo de máquinas virtuales permitido'; +$l['li_no_hname'] = 'Por favor, especifique Hostname'; +$l['li_no_os'] = 'Por favor, seleccione un sistema operativo para el '.VM_SHORT; +$l['li_no_rootpass'] = 'Por favor, especificar una contraseña de root'; +$l['li_no_disk_space'] = 'Por favor especificar el espacio en disco que se asignará'; +$l['li_no_ram'] = 'Por favor, especifique la memoria RAM'; +$l['li_no_vncpass'] = 'Por favor especificar una contraseña VNC'; +$l['li_no_bandwidth'] = 'Por favor especificar el Ancho de banda'; +$l['li_no_cpu_units'] = 'Por favor, especifique las unidades de CPU'; +$l['li_no_cpu_cores'] = 'Por favor, especifique el número de Cores'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'La región que ha seleccionado no es válida'; +$l['li_invalid_virt'] = 'La región que ha seleccionado no admite la virtualización que ha elegido'; +$l['li_no_percent_cpu'] = 'Por favor especificar el porcentaje de uso de la CPU permitido'; +$l['li_no_swap_ram'] = 'Por favor especificar el SWAP RAM'; +$l['li_no_burst_ram'] = 'Por favor especificar el límite RAM Burstable'; +$l['li_invalid_os'] = 'El sistema operativo que ha enviado no es válido'; +$l['li_no_ip'] = 'Por favor, especifique al menos una IP para el '.VM_SHORT; +$l['li_invalid_uid'] = 'El usuario que ha enviado no existe'; +$l['li_no_user'] = 'No ha especificado el correo electrónico del usuario'; +$l['li_no_user_pass'] = 'No ha especificado la contraseña de usuario'; +$l['li_invalid_email'] = 'La dirección de correo electrónico del usuario no es válida'; +$l['li_emailexist'] = 'El nuevo correo electrónico de usuario especificado ya existe'; +$l['li_err_user'] = 'Se produjo un error al agregar el usuario'; +$l['li_invalid_hostname'] = 'El hostname que ha enviado no es válido'; +$l['li_less_ram'] = 'Usted no tiene suficiente memoria RAM para crear este '.VM_SHORT; +$l['li_less_burst'] = 'Usted no tiene suficiente memoria RAM Burst para crear este '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'Usted no tiene suficiente espacio en disco para crear este '.VM_SHORT; +$l['li_less_inodes'] = 'Los inodos no deben ser inferior a 50.000'; +$l['li_less_vs'] = 'No se le permite crear más máquinas virtuales'; +$l['li_less_bandwidth'] = 'Usted no tiene suficiente Ancho de banda para crear este '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'Usted no tiene suficientes direcciones IPv4 para crear este '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'Usted no tiene suficientes direcciones IPv6 para crear este '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'Usted no tiene suficientes IPv6 subnet para crear este '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'No se le permite crear una máquina virtual con tantos cores'; +$l['li_less_cores'] = 'Usted no tiene suficientes Cores de CPU para crear este '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'Ha alcanzado el número máximo de usuarios que se le permite crear'; +$l['li_no_server'] = 'La Región seleccionada está completamente utilizada y no tiene suficientes recursos para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['li_ipv4_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv4 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['li_ipv6_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv6 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['li_ipv6_subnet_over'] = 'La Región que ha seleccionado no tiene suficiente IPv6 Subnet (s) para crear este '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['li_no_webuzo_template'] = 'La plantilla del SO que ha seleccionado no es una Plantilla Webuzo'; +$l['li_err_swapsize'] = 'El tamaño SWAP especificado no puede ser mayor o igual que el espacio de disco total especificado'; +$l['li_inv_kvm_cache'] = 'El caché de disco enviado no es válido'; +$l['li_inv_io_mode'] = 'La política de I/O enviada no es válida'; +$l['li_inv_vnc_keymap'] = 'El keymap VNC enviado no es válido'; +$l['li_err_vpslimit'] = 'Supera el límite de creación de '.VM_SHORT; +$l['li_page_head'] = 'Lanzar Instancia'; +$l['li_vstype'] = 'Tipo'; +$l['li_done'] = 'El Servidor Virtual se ha creado'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = 'Nombre del '.VM_SHORT; +$l['li_newvs_rootpass'] = 'Contraseña de Administrativa(root)'; +$l['li_newvs_vnc'] = 'Detalles VNC'; +$l['li_newvs_vncpass'] = 'Contraseña VNC'; +$l['li_newvs_ips'] = 'IPs'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Servidor'; +$l['li_exp_server'] = 'Cambiar el servidor actual para cambiar el servidor'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'Usuario'; +$l['li_vs_user_exp'] = 'Seleccione un usuario existente o agregar un usuario'; +$l['li_user_email'] = 'Email del usuario'; +$l['li_user_pass'] = 'Contraseña'; +$l['li_add_user'] = 'Agregar usuario'; +$l['li_regions'] = 'Región'; +$l['li_virt_type'] = 'Virtualización'; +$l['li_os'] = 'Sistema operativo'; +$l['li_select'] = 'Seleccionar'; +$l['li_vs_plan'] = 'Seleccione el plan'; +$l['li_plan_exp'] = 'Seleccione un plan predefinido'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = '¿Desea permitir la virtualización completa para este '.VM_SHORT.'?'; +$l['li_vsos'] = 'Sistema operativo'; +$l['li_vsos_exp'] = 'Seleccione el sistema operativo para el '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'Si se selecciona una ISO la maquina se inicia desde la ISO'; +$l['li_sec_vsiso'] = 'ISO para CDROM secundario'; +$l['li_sec_vsiso_exp'] = 'Seleccione un ISO para CDROM secundario'; +$l['li_none'] = 'Ninguno'; +$l['li_rootpass'] = 'Contraseña root del '.VM_SHORT; +$l['li_rootpass_exp'] = 'La contraseña del usuario root / administrador del '.VM_SHORT; +$l['li_randpass'] = 'Crear otra contraseña aleatoria'; +$l['li_hostname'] = 'Servidor'; +$l['li_hostname_exp'] = 'Introduzca el hostname para el '.VM_SHORT.'. ej: www.dominio.com'; +$l['li_ip'] = 'Dirección IP'; +$l['li_ips'] = 'Dirección IP'; +$l['li_ips_exp'] = 'Puede especificar el número de direcciones IP para asignar'; +$l['li_ips6_subnet'] = 'Subredes IPv6'; +$l['li_ips6_subnet_exp'] = 'Puede especificar el número de subredes IPv6 a asignar'; +$l['li_ips6'] = 'Direcciones IPv6'; +$l['li_ips6_exp'] = 'Puede especificar el número de IPv6 para asignar'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Eliminar esta IP'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Espacio del disco'; +$l['li_exp_hdd'] = 'El espacio en disco permitido para el '.VM_SHORT; +$l['li_mac'] = 'Dirección MAC'; +$l['li_exp_mac'] = 'Seis grupos de dos dígitos hexadecimales separados por dos puntos (:), Ej: 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodos'; +$l['li_iondisk'] = 'El número máximo de de inodos (es decir, archivos) permitidos dentro del '.VM_SHORT.'. Valor recomendado: 500000+'; +$l['li_gram'] = 'RAM garantizada'; +$l['li_exp_gram'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'RAM Burstable'; +$l['li_exp_bram'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; +$l['li_swap'] = 'RAM Swap'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'Se hará un intento de crear la partición swap si hay una plantilla de SO seleccionado anteriormente'; +$l['li_band'] = 'Ancho de banda'; +$l['li_exp_band'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'Unidades de CPU'; +$l['li_cpalloc'] = 'Unidades de CPU que se asignarán'; +$l['li_cpalloc_xen'] = 'Valor recomendado : 256'; +$l['li_cpalloc_openvz'] = 'Valor recomendado : 1000'; +$l['li_cpalloc_kvm'] = 'Valor recomendado : 1024'; +$l['li_units'] = 'unidades'; +$l['li_cores'] = 'CPU Cores'; +$l['li_cpucore_exp'] = 'Valor recomendado :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'El tiempo de CPU en porcentaje del '.VM_SHORT.' correspondiente no se permite superar.
Establecer 0 para ninguna restricción.
Valor recomendado : 40'; +$l['li_io'] = 'Prioridad I/O'; +$l['li_io0-7'] = 'Seleccione la prioridad de 0-7'; +$l['li_na'] = 'Velocidad de la red'; +$l['li_na_exp'] = 'Por favor mencione la velocidad de la red'; +$l['li_ubcsettings'] = 'Configuración UBC'; +$l['li_exp_ubc'] = 'Si está marcado, entonces va a ser redirigido para editar la configuración de la UBC del '.VM_SHORT; +$l['li_submit'] = 'Crear'; +$l['li_addvoption'] = 'Opciones avanzadas'; +$l['li_addvhide'] = 'Ocultar Opciones avanzadas'; +$l['li_network_speed'] = 'Velocidad de la red'; +$l['li_network_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; +$l['li_upload_speed'] = 'Velocidad de subida'; +$l['li_upload_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'Sin restricción'; +$l['li_shadow'] = 'Memoria Shadow'; +$l['li_shadow_exp'] = 'Valor recomendado : 8 MB'; +$l['li_vncpass'] = 'Contraseña VNC'; +$l['li_vncpass_exp'] = 'La contraseña VNC para el '.VM_SHORT.'. Haga clic en el icono para generar una nueva contraseña aleatoria'; +$l['li_free'] = 'Libre'; +$l['li_band_suspend'] = 'Suspender Ancho de banda'; +$l['li_exp_band_suspend'] = 'Suspender el '.VM_SHORT.' si se utiliza más del ancho de banda especificado'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Habilitar Tun/Tap para un '.VM_SHORT; +$l['li_exp_ppp'] = 'Habilitar PPP (protocolo punto a punto) para un '.VM_SHORT; +$l['li_osreinstall'] = 'Límite Reinstalar OS'; +$l['li_exp_osreinstall'] = 'Si desea limitar el número de veces que un OS se reinstala al mes.
Ej. 0 - es ilimitado'; +$l['li_changenic'] = 'Tipo de interfaz de red virtual'; +$l['li_exp_changenic'] = 'Si desea cambiar el tipo de interfaz de red. Las opciones son por defecto o E1000. virtio se utilizará como el tipo NIC virtual si virtio está habilitado'; +$l['li_add_route'] = 'Utilice red enrutada'; +$l['li_exp_add_route'] = 'Si se selecciona, se utilizará redes enrutadas.'; +$l['li_nic_default'] = 'Realtek 8139(default)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Tipo de emulación de interfaz de red virtual'; +$l['li_exp_change_vif_type'] = 'Si desea cambiar el tipo de emulación de red de la interfaz. Las opciones son netfront o ioemu.'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'netfront (default)'; +$l['li_usevirtio'] = 'Habilitar virtio'; +$l['li_exp_usevirtio'] = 'Usar virtio como la virtualización IO'; +$l['li_usesec_cdrom'] = 'Habilitar CD ROM Secundario'; +$l['li_exp_usesec_cdrom'] = 'Habilite esta para adjuntar una ISO secundaria a la máquina virtual.'; +$l['li_kvm_cache'] = 'Caché de disco'; +$l['li_exp_kvm_cache'] = 'Controla el mecanismo de caché'; +$l['li_io_mode'] = 'Política I/O'; +$l['li_vnc_keymap'] = 'VNC Console Keymap'; +$l['li_dns'] = 'DNS Nameservers'; +$l['li_exp_dns'] = 'Si no los sabe, utilice 4.2.2.1 y 4.2.2.2'; +$l['li_mg'] = 'Grupos de Medios'; +$l['li_mg_exp'] = 'Si no hay ningún grupo de medios asignado entonces todos los medios estarán disponibles para este '.VM_SHORT.'.'; +$l['li_apps'] = 'Aplicaciones'; +$l['li_apps_exp'] = 'Elija la aplicación Webuzo que desea instalar'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'Si se activa, '.VM_SHORT.' se creará con el formato Ploop'; +$l['li_mac_temp_vncdetails'] = 'Dirección MAC:'; +$l['li_mail_temp_vnctitle'] = 'Los detalles VNC son :'; +$l['li_mail_temp_vncdetails'] = 'Detalles VNC:'; +$l['li_mail_temp_vncpasswd'] = 'Contraseña VNC:'; +$l['li_reinstall'] = 'Reinstalar Servidor Virtual'; +$l['li_space'] = 'Espacio del disco'; +$l['li_space_exp'] = 'El espacio en disco permitido para el '.VM_SHORT; +$l['li_ram'] = 'RAM garantizada'; +$l['li_ram_exp'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; +$l['li_burst'] = 'RAM Burstable'; +$l['li_burst_exp'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; +$l['li_swap'] = 'RAM Swap'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'Se hará un intento de crear la partición swap si hay una plantilla de SO seleccionado anteriormente'; +$l['li_bandwidth'] = 'Ancho de banda'; +$l['li_bandwidth_exp'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; +$l['li_free'] = 'Libre'; +$l['li_unlimited'] = 'Ilimitado'; +$l['li_submit'] = 'Crear'; +$l['li_weak_pass'] = 'La contraseña debe tener al menos 3 de los siguientes: Una letra mayúscula, una letra minúscula, un número o un símbolo especial'; +$l['li_usevirtio'] = 'Habilitar virtio'; +$l['li_usevirtio_exp'] = 'Usar virtio como la virtualización IO'; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Editar Instancia'; +$l['ei_vs_user'] = 'Usuario'; +$l['ei_vs_user_exp'] = 'Seleccione un usuario existente o agregar un usuario'; +$l['ei_user_email'] = 'Email del usuario'; +$l['ei_user_pass'] = 'Contraseña'; +$l['ei_add_user'] = 'Agregar usuario'; +$l['ei_unknown'] = 'Desconocido'; +$l['ei_vsos'] = 'Sistema operativo'; +$l['ei_vsos_exp'] = 'El sistema operativo actual de este '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'Si se selecciona una ISO la maquina se inicia desde la ISO'; +$l['ei_none'] = 'Ninguno'; +$l['ei_hostname'] = 'Servidor'; +$l['ei_hostname_exp'] = 'Introduzca el hostname para el '.VM_SHORT.'. ej: www.dominio.com'; +$l['ei_rootpass'] = 'Contraseña root del '.VM_SHORT; +$l['ei_rootpass_exp'] = 'Dejar en blanco si no desea cambiar la contraseña actual'; +$l['ei_randpass'] = 'Crear otra contraseña aleatoria'; +$l['ei_ip'] = 'Dirección IP'; +$l['ei_ips_exp'] = 'Usted puede elegir entre las direcciones IP o especificar otras IPs'; +$l['ei_ips6_subnet'] = 'Subred IPv6'; +$l['ei_ips6_subnet_exp'] = 'Puede elegir entre la lista de subredes IPv6'; +$l['ei_free'] = 'Libre'; +$l['ei_ips6'] = 'Direcciones IPv6'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['ei_space'] = 'Espacio del disco'; +$l['ei_space_exp'] = 'El espacio en disco permitido para el '.VM_SHORT; +$l['ei_ram'] = 'RAM garantizada'; +$l['ei_ram_exp'] = 'La cantidad de memoria RAM que el '.VM_SHORT.' tendrá siempre'; +$l['ei_burst'] = 'RAM Burstable'; +$l['ei_burst_exp'] = 'La cantidad máxima de RAM que el '.VM_SHORT.' puede utilizar'; +$l['ei_swap'] = 'RAM Swap'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Ancho de banda'; +$l['ei_bandwidth_exp'] = 'Límite de Ancho de banda mensual del '.VM_SHORT.'. 0 (cero) para ilimitado'; +$l['ei_cores'] = 'CPU Cores'; +$l['ei_cpucore_exp'] = 'Valor recomendado :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Ilimitado'; +$l['ei_network_speed'] = 'Velocidad de la red'; +$l['ei_network_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; +$l['ei_upload_speed'] = 'Velocidad de subida'; +$l['ei_upload_speed_exp'] = 'Introduzca 0 o dejar en blanco para ninguna restricción.
Utilice el cuadro de selección de opciones sencillas'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'Sin restricción'; +$l['ei_vncpass'] = 'Contraseña VNC'; +$l['ei_vncpass_exp'] = 'La contraseña VNC para el '.VM_SHORT.'. Haga clic en el icono para generar una nueva contraseña aleatoria'; +$l['ei_submit'] = 'Editar Servidor Virtual'; +$l['ei_done'] = 'El Servidor Virtual se ha editado con éxito'; +$l['ei_addvoption'] = 'Opciones avanzadas'; +$l['ei_no_uid'] = 'Ningún usuario fue seleccionado'; +$l['ei_no_nonalphanumeric'] = 'No se permiten caracteres no alfanuméricos para la Contraseña VNC'; +$l['ei_less_space'] = 'Usted no tiene suficiente espacio en disco para crear este '.VM_SHORT; +$l['ei_less_ram'] = 'Usted no tiene suficiente memoria RAM para crear este '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'No se le permite crear una máquina virtual con tantos cores'; +$l['ei_less_cores'] = 'Usted no tiene suficientes Cores de CPU para crear este '.VM_SHORT; +$l['ei_less_burst'] = 'Usted no tiene suficiente memoria RAM Burst para crear este '.VM_SHORT; +$l['ei_ipv4_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv4 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['ei_ipv6_over'] = 'La Región que ha seleccionado no tiene suficientes recursos IPv6 para crear esta '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['ei_ipv6_subnet_over'] = 'La Región que ha seleccionado no tiene suficiente IPv6 Subnet (s) para crear este '.VM_SHORT.'. Por favor repórtelo al administrador'; +$l['ei_less_ipv4'] = 'Usted no tiene suficientes direcciones IPv4 para crear este '.VM_SHORT; +$l['ei_less_ipv6'] = 'Usted no tiene suficientes direcciones IPv6 para crear este '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'Usted no tiene suficientes IPv6 subnet para crear este '.VM_SHORT; +$l['ei_wrong_user'] = 'No se puede cambiar a ese usuario'; +$l['ei_only_user'] = 'Durante la edición del usuario de la máquina virtual, los recursos no se pueden cambiar'; +$l['ei_less_swap'] = 'Usted no tiene suficiente memoria RAM swap'; +$l['ei_usevirtio'] = 'Habilitar virtio'; +$l['ei_usevirtio_exp'] = 'Usar virtio como la virtualización IO'; +$l['ei_less_bandwidth'] = 'No tiene suficiente recurso de ancho de banda para asignar a este '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'Topología de CPU'; +$l['ei_enable_cpu_topology_exp'] = 'Especifique el número de núcleos de CPU, subprocesos y sockets que se asignarán al '.VM_SHORT; +$l['ei_inv_topology'] = 'Valor (es) de topología de CPU no válido. Todos los valores de topología especificados deben ser mayores que cero '; +$l['ei_err_topology_calc'] = 'Los núcleos de CPU especificados deben ser iguales al límite de topología (núcleos de CPU = Sockets x núcleos de topología x subprocesos)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'Procesos de CPU'; +$l['ei_in_plan'] = 'Incluido en el plan'; +$l['ei_add_pricing'] = 'Precio adicional'; +$l['ei_plan'] = 'Plan actual'; +$l['ei_plan_exp'] = 'Seleccione el plan al que desea cambiar. Nota : Si sus recursos actuales son más que los del nuevo plan, se le cobrará un monto adicional según el precio de los recursos '; +$l['ei_plid_space'] = 'No puede cambiar a un plan inferior'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'El panel que ha seleccionado no es válido'; +$l['cpan_err_installing'] = 'Hubo un error al instalar el Panel'; +$l['cpan_wrong_os'] = 'El panel de control no se puede instalar en'; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'La instalación del Panel ha comenzado y se completará en breve'; +$l['cpan_change_onboot'] = 'El Panel se instala al apagar y luego encender el '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Paneles de control'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup lang string - prefix : bkup_ +$l['bkup_err_virt'] = 'El '.VM_SHORT.' no admite copias de seguridad a partir de ahora'; +$l['bkup_err_backup'] = 'Se ha producido un error al crear la copia de seguridad'; +$l['bkup_err_restore'] = 'Hubo un error mientras se restauraba el '.VM_SHORT; +$l['bkup_page_head'] = 'OpenVZ Backups'; +$l['bkup_done'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup_cbackup'] = 'Crear copia de seguridad'; +$l['bkup_restore'] = 'Restaurar '.VM_SHORT; +$l['bkup_conf_cbackup'] = '¿Seguro que desea crear copia de seguridad?'; +$l['bkup_conf_restore'] = '¿Seguro que desea restaurar desde la última copia de seguridad?'; +$l['bkup_backup_exp'] = 'Aquí puede crear copias de seguridad de su '.VM_SHORT.' y también restaurar desde copias de seguridad antiguas.'; +$l['bkup_backupnotify'] = 'Creando copia del '.VM_SHORT.' ...'; +$l['bkup_restorenotify'] = 'Restaurando el '.VM_SHORT.'...'; +$l['bkup_backup_email_subject'] = 'Copia de seguridad del '.VM_SHORT.' completada con éxito'; +$l['bkup_restore_email_subject'] = 'Restaurar el '.VM_SHORT.' completado con éxito'; +$l['bkup_deletevpsbackup_email_subject'] = 'Eliminación de Copia de seguridad del '.VM_SHORT.' completada con éxito'; +$l['bkup_backup_email_body_start'] = 'El proceso Copia de seguridad en su '.VM_SHORT.' : ['; +$l['bkup_restore_email_body_start'] = 'El proceso de restauración en su '.VM_SHORT.' : ['; +$l['bkup_deletevpsbackup_email_body_start'] = 'El proceso de eliminación de copia de seguridad en su '.VM_SHORT.' : ['; +$l['bkup_backup_email_body_end'] = '] ha terminado con éxito. +También puede ver esta notificación por parte de Logs diálogo en el Panel de cliente '.VM_SHORT.'. + +Saludos, +{{sn}}'; +$l['bkup_err_deletevpsbackup'] = 'Se ha producido un error al eliminar la copia de seguridad del '.VM_SHORT; +$l['bkup_del_backup'] = 'Eliminar Copia de seguridad'; +$l['bkup_done_deletevpsbackup'] = 'La Copia de seguridad del '.VM_SHORT.' ha sido eliminada'; +$l['bkup_del_backupnotify'] = 'Eliminando del '.VM_SHORT.'...'; +$l['bkup_conf_del_backup'] = '¿Seguro que quieres eliminar la copia de seguridad del '.VM_SHORT.'?'; +$l['bkup_done_delete'] = 'The '.VM_SHORT.' backup deletion process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed.'; +$l['bkup_notice'] = ' NOTA: Esta función está obsoleta y se eliminará en un futuro próximo. Utilice el nuevo asistente de copia de seguridad para realizar más copias de seguridad.'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Copias de seguridad'; +$l['bkup2_list_head'] = 'Lista de copias de seguridad del ID de '.VM_SHORT.':'; +$l['bkup2_list_exp'] = 'Las fechas para las cuales están disponibles las copias de seguridad de este '.VM_SHORT.' se enumeran a continuación. Puede restaurarlos o eliminarlos según corresponda. '; +$l['bkup2_date'] = 'Fecha de copia de seguridad'; +$l['bkup2_size'] = 'Tamaño'; +$l['bkup2_action'] = 'Acción'; +$l['bkup2_restore'] = 'Restaurar'; +$l['bkup2_delete'] = 'Eliminar copia de seguridad'; +$l['bkup2_now'] = 'Hacer copia de seguridad ahora'; +$l['bkup2_conf_cbackup'] = '¿Está seguro de que desea crear una copia de seguridad?'; +$l['bkup2_conf_restore'] = '¿Está seguro de que desea restaurar esta copia de seguridad?'; +$l['bkup2_conf_delete'] = '¿Está seguro de que desea eliminar esta copia de seguridad?'; +$l['bkup2_list'] = 'Lista de copias de seguridad'; +$l['bkup2_settings'] = 'Configuraciones'; +$l['bkup2_backup_server'] = 'Servidor de respaldo'; +$l['bkup2_backup_server_exp'] = 'Si las copias de seguridad especificadas se cargarán en el servidor de copia de seguridad'; +$l['bkup2_none'] = 'Ninguno'; +$l['bkup2_server'] = 'Servidor de respaldo'; +$l['bkup2_no_day'] = 'Especifique un día válido para la copia de seguridad'; +$l['bkup2_no_date'] = 'Fecha de copia de seguridad especificada no válida'; +$l['bkup2_no_freq'] = 'Especifique una frecuencia válida para la copia de seguridad'; +$l['bkup2_no_time'] = 'Especifique una hora válida para la copia de seguridad'; +$l['bkup2_no_bserid'] = 'Por favor, especifique un servidor de respaldo válido'; +$l['bkup2_done_backup'] = 'Se ha iniciado el proceso de copia de seguridad del '.VM_SHORT.'. Espere unos minutos para que se complete. Recibirá un correo electrónico de notificación cuando se complete '; +$l['bkup2_done_restore'] = 'Se ha iniciado el proceso de restauración del '.VM_SHORT.'. Espere unos minutos para que se complete. Recibirá un correo electrónico de notificación cuando se complete '; +$l['bkup2_done_delete'] = 'La copia de seguridad del '.VM_SHORT.' se ha eliminado correctamente'; +$l['bkup2_done_save_settings'] = 'La configuración de la copia de seguridad se ha guardado correctamente.'; +$l['bkup2_err_backup'] = 'Hubo un error al crear la copia de seguridad'; +$l['bkup2_err_restore'] = 'Hubo un error al restaurar el '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'Hubo un error al eliminar la copia de seguridad del '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'Este '.VM_SHORT.' no puede tener copias de seguridad'; +$l['bkup2_err_task_running'] = 'Ya se está ejecutando un proceso de copia de seguridad o restauración para este '.VM_SHORT.'. Espere a que se complete '; +$l['bkup2_err_backup_limit'] = 'Ha alcanzado el límite de respaldo de este '.VM_SHORT.' para el mes.'; +$l['bkup2_err_restore_limit'] = 'Ha alcanzado el límite de restauración de este '.VM_SHORT.' para el mes.'; +$l['bkup2_err_save_settings'] = 'Hubo un error al guardar la configuración de la copia de seguridad'; +$l['bkup2_monthly_bkups_used'] = 'Copias de seguridad mensuales utilizadas:'; +$l['bkup2_monthly_restores_used'] = 'Restauraciones mensuales utilizadas:'; +$l['bkup2_current_cycle'] = 'Ciclo actual:'; +$l['bkup2_unlimited'] = 'Ilimitado'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'Esta virtualización no tiene Configuración HVM'; +$l['hvm_rescue_enabled'] = 'El '.VM_SHORT.' está en modo de rescate y no se puede cambiar'; +$l['hvm_invalid_iso'] = 'La ISO seleccionada no es válida'; +$l['hvm_err_editing'] = 'Hubo algunos errores al guardar la configuración'; +$l['hvm_heading'] = 'Configuración HVM'; +$l['hvm_submit_button'] = 'Enviar'; +$l['hvm_done'] = 'Los ajustes se han guardado con éxito'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Orden de inicio'; +$l['hvm_isos'] = 'Seleccione ISO'; +$l['hvm_none'] = 'Ninguno'; +$l['hvm_tuntap_enable'] = 'Habilitar Tun / Tap'; +$l['hvm_ppp_enable'] = 'Habilitar PPP (Protocolo punto a punto)'; +$l['hvm_disabled'] = 'Ajustes HVM están deshabilitados por Admin'; +$l['hvm_hdd'] = 'Disco duro'; +$l['hvm_cdrom'] = 'Unidad de CD'; +$l['hvm_vnc_keymap'] = 'Mapa de teclas de la consola VNC'; +$l['hvm_enable_vga'] = 'Habilitar VGA'; +$l['hvm_enable_acceleration'] = 'Habilitar Aceleración'; +$l['hvm_enable_acceleration_exp'] = 'Si está marcada, la aceleración 2D y 3D estará habilitada para el '.VM_SHORT; +$l['hvm_sec_iso'] = 'ISO para CDROM secundario'; +$l['hvm_sec_iso_exp'] = 'Seleccione un ISO para CDROM secundario'; +$l['hvm_nic_type'] = 'Tipo de interfaz de red virtual'; +$l['hvm_nic_type_exp'] = 'Si desea cambiar el tipo de interfaz de red. Las opciones son por defecto o E1000. virtio se utilizará como el tipo NIC virtual si virtio está habilitado '; +$l['nic_default'] = 'Realtek 8139 (predeterminado)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Habilitar virtio'; +$l['hvm_fuse'] = 'Activar fusible en contenedor (s)'; +$l['hvm_fuse_exp'] = 'Si está marcado, Fuse se habilitará mientras se fabrican los nuevos contenedores.'; +$l['hvm_ipip'] = 'Habilitar IPIP en contenedor (s)'; +$l['hvm_ipip_exp'] = 'Si está marcado, IPIP se habilitará al crear los nuevos contenedores.'; +$l['hvm_ipgre'] = 'Habilitar IPGRE en contenedor (s)'; +$l['hvm_ipgre_exp'] = 'Si está marcado, IPGRE se habilitará mientras crea los nuevos contenedores.'; +$l['hvm_nfs'] = 'Habilitar NFS en contenedor (s)'; +$l['hvm_nfs_exp'] = 'Si está marcado, NFS se habilitará al crear los nuevos contenedores.'; +$l['hvm_quotaugidlimit'] = 'Habilitar QUOTAUGIDLIMIT en contenedor (s)'; +$l['hvm_quotaugidlimit_exp'] = 'Habilita o deshabilita las cuotas de disco por usuario y por grupo en el contenedor. Si el valor se establece en 0 o no, las cuotas de disco dentro del contenedor se deshabilitan y no se contabilizan.
+ NOTA: Esto reiniciará el contenedor. '; +$l['hvm_iolimit'] = 'Establecer límite de ancho de banda de E / S para contenedor (s)'; +$l['hvm_iolimit_exp'] = 'Si se establece, la operación de IO no excederá el límite especificado mientras se realizan las operaciones de IO.'; +$l['hvm_iopslimit'] = 'Establecer límite de IOPS para contenedor (s)'; +$l['hvm_iopslimit_exp'] = 'Si se establece, las operaciones de E / S por segundo no excederán el límite especificado.'; +$l['hvm_admin_iso'] = 'ISO de administrador'; +$l['hvm_user_iso'] = 'ISO de usuario'; +$l['hvm_addiso'] = 'Agregar ISO'; +$l['hvm_listiso'] = 'Lista ISO'; +$l['hvm_timezone'] = 'Seleccionar zona horaria de '.VM_SHORT; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = 'CPU'; +$l['cpu_cpuinfo'] = 'Información de la CPU'; +$l['cpu_totalcpu'] = 'Total CPU: '; +$l['cpu_cpuutilised'] = 'Utilizado :'; +$l['cpu_poweredby'] = 'Desarrollado por:'; +$l['cpu_graphheader'] = 'Utilización de CPU'; +$l['cpu_trademarks'] = 'Todo logo respectivo utilizado son marcas comerciales o marcas comerciales registradas de sus respectivas compañías.'; +$l['cpu_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = 'RAM'; +$l['ram_raminfo'] = 'Información de la RAM'; +$l['ram_totalram'] = 'RAM:'; +$l['ram_gaurateed'] = 'RAM garantizada : '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Utilizada :'; +$l['ram_percentram'] = 'Utilización % :'; +$l['ram_graphheader'] = 'RAM Utilización'; +$l['ram_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Disco'; +$l['disk_diskinfo'] = 'Información de disco'; +$l['disk_totaldisk'] = 'Disco total : '; +$l['disk_diskutilised'] = 'Utilizado: '; +$l['disk_percentdisk'] = 'Utilización % : '; +$l['disk_graphheader'] = 'Utilización disco'; +$l['disk_inodesinfo'] = 'Información de inodos'; +$l['disk_inodestotal'] = 'Total Inodos :'; +$l['disk_inodesutilised'] = 'Utilizado: '; +$l['disk_percent_inodes'] = 'Utilización % :'; +$l['disk_inodesheader'] = 'Utilización de inodos'; +$l['disk_not_supported'] = 'Monitoreo de utilización actual de este recurso no se admite.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Ancho de banda'; +$l['band_bandwidthinfo'] = 'Información Ancho de banda'; +$l['band_Total_Bandwidth'] = 'Total Ancho de banda :'; +$l['band_bandwidth_utilized'] = 'Utilizada :'; +$l['band_percent_utilized'] = '% utilizado : '; +$l['band_graphheader'] = 'Utilización Ancho de banda'; +$l['band_unlimited'] = 'Ilimitado'; +$l['band_network_speed'] = 'Velocidad de la red (MB/s)'; +$l['band_prev'] = 'Mes Anterior'; +$l['band_next'] = 'Mes siguiente'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Consola está desactivada'; +$l['cs_call_failed'] = 'La llamada a la API falló. Por favor, póngase en contacto con la administrador'; +$l['cs_heading'] = 'Consola'; +$l['cs_none'] = 'Ninguna sesión de consola existente se encontró. Por favor, cree una!'; +$l['cs_create'] = 'Crear sesión'; +$l['cs_creating'] = 'Creando la sesión ...'; +$l['cs_destroying'] = 'Eliminando la sesión ...'; +$l['cs_details'] = 'Los siguientes son los detalles de la consola'; +$l['cs_expires'] = 'Expira'; +$l['cs_ip'] = 'Dirección IP'; +$l['cs_port'] = 'Puerto'; +$l['cs_username'] = 'Nombre de usuario'; +$l['cs_password'] = 'Contraseña'; +$l['cs_destroy'] = 'Destruir Sesión'; +$l['cs_java_console'] = 'Consola Java'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Logs de estado'; +$l['sts_running'] = 'En ejecución'; +$l['sts_stopped'] = 'Detenido'; +$l['sts_sts'] = 'Estado del sistema'; +$l['sts_time'] = 'Hora'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'Alertas del sistema'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Tareas'; +$l['tasks_task_started'] = 'La tarea se inició'; +$l['tasks_no_tasks'] = 'No hay tarea activa para este usuario'; +$l['tasks_addvs'] = 'Creando '.VM_SHORT; +$l['tasks_create_vps'] = 'Crear operación de '.VM_SHORT; +$l['tasks_edit_vps'] = 'Editar operación de '.VM_SHORT; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Creando '.VM_SHORT.' para Restaurar'; +$l['tasks_fstab_handle'] = 'Identificador de pestaña FS'; +$l['tasks_deletevs'] = 'Eliminando '.VM_SHORT; +$l['tasks_migrateprog'] = 'Migrando '.VM_SHORT; +$l['tasks_migratedest'] = 'Migrando '.VM_SHORT; +$l['tasks_multivirt'] = 'Habilitando Multivirt'; +$l['tasks_createtemplate'] = 'Creando plantilla'; +$l['tasks_getos'] = 'Descargando SO'; +$l['tasks_rebuildvs'] = 'Reconstruyendo '.VM_SHORT; +$l['tasks_resizevps'] = 'Cambiar el tamaño del '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Anular la suspensión del ancho de banda'; +$l['tasks_removed_speed_capped'] = 'Restaurar la velocidad de la red'; +$l['tasks_restorevps'] = 'Restaurando '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Copia de seguridad de '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restaurando '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Copia de seguridad de '.VM_SHORT; +$l['tasks_restore'] = 'Restaurando '.VM_SHORT; +$l['tasks_backup'] = 'Copia de seguridad de '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Cambiando el servidor de nombres DNS'; +$l['tasks_changepassword'] = 'Cambio de contraseña'; +$l['tasks_sync_config'] = 'Configuración de sincronización'; +$l['tasks_install_cp'] = 'Instalar el panel de control'; +$l['tasks_install_recipe'] = 'Instalar receta'; +$l['tasks_hostname'] = 'Cambiando el nombre de host'; +$l['tasks_editxcpvs'] = 'Editar XCP '.VM_SHORT; +$l['tasks_error'] = 'Con errores'; +$l['tasks_inprogress'] = 'En progreso'; +$l['tasks_order'] = 'Pedido'; +$l['tasks_asc'] = 'Ascendente'; +$l['tasks_desc'] = 'Descendente'; +$l['tasks_submit'] = 'Buscar'; +$l['tasks_progress'] = 'Progreso'; +$l['tasks_completed'] = 'Tarea completada'; +$l['tasks_task_notcomplete'] = 'La tarea no se pudo completar.'; +$l['tasks_task_notupdated'] = '¡Tarea no actualizada!'; +$l['tasks_task_notupdated_status'] = 'Proceso no rastreable'; +$l['tasks_migrate_speed'] = 'Velocidad de migración:'; +$l['tasks_started'] = 'Iniciado'; +$l['tasks_updated'] = 'Actualizado'; +$l['tasks_ended'] = 'Finalizado'; +$l['tasks_notupdated'] = 'No actualizado'; +$l['tasks_unslaved'] = 'Servidor no esclavo'; +$l['tasks_not_started'] = 'Tarea no iniciada'; +$l['tasks_not_updated'] = 'Tarea no actualizada'; +$l['tasks_not_ended'] = 'Tarea no finalizada'; +$l['tasks_start_vps'] = 'Inicio de '.VM_SHORT; +$l['tasks_start_vps_error'] = 'Hubo algún error al iniciar el '.VM_SHORT; +$l['tasks_restart_vps'] = 'Reinicio del '.VM_SHORT; +$l['tasks_restart_vps_error'] = 'Hubo algún error al reiniciar el '.VM_SHORT; +$l['tasks_stop_vps'] = 'Detener '.VM_SHORT; +$l['tasks_stop_vps_error'] = 'Hubo algún error al detener el '.VM_SHORT; +$l['tasks_poweroff_vps'] = 'Apagado del '.VM_SHORT; +$l['tasks_poweroff_vps_error'] = 'Hubo algún error al apagar el '.VM_SHORT; +$l['tasks_enable_rescuevs'] = 'Habilitar rescate'; +$l['tasks_disable_rescuevs'] = 'Desactivar rescate'; +$l['tasks_remotedesktop'] = 'Tarea de escritorio remoto'; +$l['tasks_change_vncpass'] = 'Cambiar contraseña de VNC'; +$l['tasks_installxentools'] = 'Instalando las herramientas de Xenserver'; +$l['tasks_install_script'] = 'Instalar aplicaciones'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'El código de seguridad no es válido'; +$l['reg_no_username'] = 'El campo de nombre de usuario estaba vacío'; +$l['reg_no_email'] = 'El campo de correo electrónico estaba vacío'; +$l['reg_no_password'] = 'El campo Contraseña estaba vacío'; +$l['pr_no_address'] = 'Por favor, especifique la dirección'; +$l['pr_no_city'] = 'Especifique la ciudad'; +$l['pr_no_state'] = 'Especifique el estado'; +$l['pr_no_zip'] = 'Especifique el código postal'; +$l['pr_no_country'] = 'Especifique el país'; +$l['pr_no_city'] = 'Especifique la ciudad'; +$l['pr_no_phone'] = 'Especifique el número de teléfono'; +$l['pr_no_sys_admin_email'] = 'Especifique el correo electrónico del administrador del sistema'; +$l['reg_inv_email'] = 'El correo electrónico no es válido'; +$l['reg_pass_short'] = 'El campo Contraseña debe ser mayor que'. $globals['user_pass_min_char'] . ' caracteres'; +$l['reg_email_exist'] = 'La dirección de correo electrónico que proporcionó ya existe'; +$l['reg_soft_error'] = 'Hubo algún error al crear su cuenta. Póngase en contacto con el equipo de soporte: '. $globals['support_email']; +$l['reg_done'] = 'Su cuenta ha sido creada. Se le ha enviado un enlace de activación por correo electrónico. Úselo para verificar su correo electrónico y activar su cuenta '; +$l['reg_recaptcha_invalid'] = 'Falta la respuesta de entrada de reCaptcha o la clave no coincide'; + +$l['registrarse'] = 'Registrarse'; +$l['reg_acc'] = 'Crear cuenta'; +$l['reg_username'] = 'Nombre de usuario'; +$l['reg_email'] = 'Correo electrónico'; +$l['reg_pass'] = 'Contraseña'; +$l['reg_resendact'] = 'Reenviar código de activación'; +$l['reg_mail_sub'] = 'Activar cuenta'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'El código de activación se reenvió correctamente. Active su cuenta ahora. '; +$l['reg_invalid_access_key'] = 'Clave de acceso no válida'; +$l['reg_invalid_access_uid'] = 'Acceso no válido para usuario'; +$l['reg_opt_expired'] = 'OTP caducó. Inténtalo de nuevo'; +$l['reg_no_otp'] = 'Envíe una OTP válida'; +$l['reg_incorrect_otp'] = 'Se ingresó una OTP incorrecta. Inténtalo de nuevo.'; +$l['reg_submit_otp'] = 'Enviar OTP'; +$l['reg_enter_otp'] = 'Ingrese la OTP enviada a su número de contacto'; +$l['reg_submit'] = 'Enviar'; +$l['reg_sms_sent_err'] = 'Hubo un error al enviar OTP por SMS. Póngase en contacto con: '. $globals['support_email']; +$l['reg_sms_sent'] = 'SMS de registro'; +$l['reg_sms_resent'] = 'SMS de registro reenviado'; +$l['reg_otp_verify_done'] = 'Verificación OTP realizada. Por favor revise su correo electrónico para verificar el correo electrónico '; +$l['reg_resendsms'] = 'Reenviar OTP'; +$l['reg_otp_limit_exceeds'] = 'Se agotó el límite de reintentos de OTP. Póngase en contacto con: '. $globals['support_email']; +$l['reg_empty_contact'] = 'Ingrese el número de teléfono móvil para registrarse'; +$l['reg_err_country_code'] = 'Seleccione el código de su país'; +$l['reg_contact'] = 'Número de contacto para el registro'; +$l['reg_mobile_no'] = 'Ingrese el número de móvil para OTP'; +$l['reg_err_key_url'] = 'La clave URL no puede estar vacía para reenviar OTP'; +$l['reg_no_url_key'] = 'No se pudo encontrar la clave URL proporcionada'; +$l['reg_contact_err'] = 'Ingrese su número de teléfono de 10 dígitos'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'El campo nombre de usuario estaba vacío'; +$l['login_no_password'] = 'El campo Contraseña estaba vacío'; +$l['login_act_status'] = 'Su cuenta no ha sido validada. Valide la dirección de correo electrónico o póngase en contacto con el servicio de asistencia para obtener ayuda. '; +$l['login_act_inactive'] = 'Su cuenta está desactivada. Póngase en contacto con el soporte para obtener ayuda. '; +$l['login_too_many_attempts'] = 'Usted ha agotado su cuota de inicio de sesión fallido de '.$globals['login_attempts'].' intentos fallidos! Por favor espera '.$globals['login_ban_time'].' minutos antes de volver a intentarlo. No hay que olvidar que la contraseña es sensible a mayúsculas. ¿Olvidaste tu contraseña? Pruebe a Recuperar la contraseña.'; + +$l['login_sign_in'] = 'Ingresar'; +$l['login_log_user'] = 'Correo electrónico o nombre de usuario'; +$l['login_log_pass'] = 'Contraseña'; +$l['login'] = 'Inicio de sesión'; +$l['login_sub_but'] = 'Inicio de sesión'; +$l['login_register'] = 'Create Account'; + +$l['login_pass_nomatch'] = 'El nombre de usuario o contraseña son incorrectos.'; +$l['login_forgotpass'] = 'Olvidé mi contraseña'; +$l['login_emailuser'] = 'Dirección de correo electrónico'; +$l['login_enteremail'] = 'Introduzca su dirección de correo electrónico'; +$l['login_sub_email'] = 'Enviar'; +$l['login_no_email'] = 'Usted no envió su dirección de correo electrónico'; +$l['login_invalidemail'] = 'La dirección de correo electrónico que ha enviado no es válida'; +$l['login_mail_sub'] = 'Restablecer la contraseña'; +$l['login_mail_body'] = 'Hola, + +Una solicitud para restablecer su contraseña se ha hecho. +Si usted no solicitó el restablecimiento de contraseña, por favor, ignora este mensaje. + +Si desea restablecer su contraseña, por favor haga clic en el enlace de abajo: +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Nota: El enlace es válido sólo 24 horas. + +Saludos, +'.$globals['sn']; +$l['login_mail_done'] = 'Un mensaje ha sido enviado con los detalles para restablecer su contraseña'; +$l['login_back_to_login'] = 'Volver a identificarse'; + +$l['login_resetpass'] = 'Restablecer la contraseña'; +$l['login_log_new_pass'] = 'Nueva contraseña'; +$l['login_log_reppass'] = 'Confirmar contraseña'; +$l['login_changepass'] = 'Cambiar la contraseña'; +$l['login_no_key'] = 'No se ha enviado ninguna clave de restablecimiento'; +$l['login_invalidkey'] = 'Ha especificado una clave inválida'; +$l['login_no_new'] = 'Por favor, introduzca la contraseña válida'; +$l['login_no_reppass'] = 'Por favor, introduzca contraseña de confirmación'; +$l['login_no_match'] = 'Las contraseñas que indicó no coinciden'; +$l['login_keyexpire'] = 'Clave ya no es válida'; +$l['login_passchanged'] = 'Contraseña cambiada con éxito.'; +$l['login_forgot_pass'] = 'Olvidé mi contraseña'; +$l['login_goto_login'] = 'Ir a Página de Login'; +$l['login_no_2fa_key'] = 'Clave de autenticación no válida'; +$l['login_inv_user'] = 'Usuario invalido'; + +// OTP on login +$l['login_twofactit'] = 'Autenticación de dos factores'; +$l['login_enterotp'] = 'Introduzca la contraseña de una vez'; +$l['login_no_otp'] = 'Introduzca la contraseña de una vez (OTP)'; +$l['login_incorrect_otp'] = 'Código incorrecto'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Error de ejecución de la receta'; +$l['recipe_no_selected'] = 'Ninguna receta seleccionada'; +$l['recipe_wrong'] = 'Receta seleccionada incorrecta'; +$l['recipe_heading'] = 'Recetas'; +$l['recipe_choose'] = 'Seleccionar receta'; +$l['recipe_exp_choose_recipe'] = 'Elige la receta que quieres cocinar'; +$l['recipe_update'] = 'Cocinar Receta'; +$l['recipe_none'] = 'Ninguno'; +$l['recipe_done'] = 'La receta se ha cocinado'; +$l['recipe_exec_onboot'] = 'La receta se cocinará al reiniciar el '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'Sin descripción'; +$l['ingredients'] = 'Ingredientes'; +$l['recipe'] = 'Receta'; +$l['conf_execute'] = '¿Estás seguro de que quieres cocinar esta receta?'; +$l['rec_short_desc'] = 'Las recetas son códigos bash predefinidos'; +$l['no_recipes'] = 'No hay Recetas'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH está deshabilitado por Admin'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = '¿Está seguro de que desea establecer el temporizador?'; +$l['sd_confirm_delete'] = '¿Seguro que quieres borrar el temporizador?'; +$l['sd_date_alert'] = 'Por favor, introduzca la fecha en formato mm/dd/yyyy'; +$l['sd_date_current'] = 'La hora ingresada debe ser mayor que la hora actual'; +$l['sd_heading'] = 'Establecer temporizador'; +$l['sd_action_start'] = 'Iniciar'; +$l['sd_action_stop'] = 'Detener'; +$l['sd_action_restart'] = 'Reiniciar'; +$l['sd_action_poweroff'] = 'Apagar'; +$l['sd_action_title'] = 'Acción'; +$l['sd_action_edit_desc'] = 'Para editar por favor, introduzca los datos y enviar'; +$l['sd_action_edit_desc'] = 'Para editar por favor, introduzca los datos y enviar'; +$l['time_updated'] = 'Acción actualizada'; +$l['time_deleted'] = 'Acción eliminada'; +$l['time_added'] = 'Acción añadida'; +$l['sd_invalid_action'] = 'Acción inválida'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'Claves SSH'; +$l['sshkey_add'] = 'Agregar clave SSH'; +$l['sshkey_add_new'] = 'Agregar nueva clave SSH'; +$l['sshkey_use'] = 'Usar clave SSH'; +$l['sshkey_list'] = 'Lista de clave SSH'; +$l['sshkey_no_keys'] = 'No tiene ninguna clave SSH'; +$l['sshkey_no_keys_acct'] = 'No tiene ninguna clave SSH agregada a su cuenta. Primero agregue una clave SSH navegando a SSH Keys en el menú de la izquierda. '; +$l['sshkey_no_keys_acct_whmcs'] = 'No tiene ninguna clave SSH agregada a su cuenta.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Nombre'; +$l['sshkey_name_exp'] = 'Un nombre único para la clave SSH'; +$l['sshkey_value'] = 'Clave pública'; +$l['sshkey_value_exp'] = 'El valor de la clave SSH en formato OpenSSH.
(Por ejemplo: ssh-rsa AAAAB3Nza ... Klj7w == root@example.com)'; +$l['sshkey_heading_add'] = 'Agregar clave SSH'; +$l['sshkey_edit'] = 'Editar clave SSH'; +$l['sshkey_conf_delete'] = '¿Está seguro de que desea eliminar esta clave SSH?'; +$l['sshkey_err_delete_key'] = 'Hubo un error al eliminar la clave SSH'; +$l['sshkey_done_delete_key'] = 'La clave SSH se ha eliminado correctamente.'; +$l['sshkey_no_name'] = 'Especifique un nombre de clave SSH válido'; +$l['sshkey_no_value'] = 'Especifique un valor de clave SSH válido'; +$l['sshkey_err_name_exists'] = 'Ya existe una clave SSH con este nombre'; +$l['sshkey_err_add'] = 'Hubo un error al agregar la clave SSH'; +$l['sshkey_done_add'] = 'La clave SSH se ha agregado correctamente'; +$l['sshkey_done_edit'] = 'La clave SSH se ha guardado correctamente'; +$l['sshkey_select_keys'] = 'Seleccionar claves SSH:'; +$l['sshkey_done_addvps'] = 'La (s) clave (s) SSH se han agregado correctamente. Los cambios entrarán en vigor en el próximo reinicio. '; +$l['sshkey_err_key'] = 'Seleccione al menos una clave SSH.'; +$l['sshkey_not_allowed'] = 'No se le permite agregar / editar claves SSH'; +$l['sshkey_private'] = 'Clave privada'; +$l['sshkey_private_exp'] = 'Copie la clave privada en su sistema'; +$l['sshkey_generate'] = 'Generar claves'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Eliminando ISO'; +$l['euiso_iso_removed'] = 'Archivo ISO eliminado:'; +$l['euiso_removal_err'] = 'Hubo un error al eliminar la ISO'; +$l['euiso_del_done'] = 'La ISO ha sido eliminada'; +$l['euiso_heading'] = 'Gestión ISO'; +$l['euiso_no_iso'] = 'No tiene ISO (s). Puede agregar uno ahora '; +$l['euiso_add_iso'] = 'Agregar ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Nombre de archivo'; +$l['euiso_iso_size'] = 'Tamaño descargado'; +$l['euiso_iso_del'] = 'Eliminar'; +$l['euiso_iso_status'] = 'Estado'; +$l['euiso_iso_rsize'] = 'Tamaño total'; +$l['euiso_confirm_iso_del'] = 'El archivo aún no se ha descargado. ¿Desea cancelar la descarga y eliminar el archivo? '; +$l['euiso_iso_del_confirm'] = '¿Está seguro de que desea eliminar este elemento?'; +$l['euiso_auto_del_alert'] = 'Las ISO (s) se eliminarán automáticamente después de {{eu_iso_del_hr}} hora desde el momento en que se agregaron las ISO'; +$l['euiso_dwnld_time'] = 'Tiempo de descarga'; +$l['euiso_downloading'] = 'Descargando ...'; +$l['euiso_invalid_url'] = 'Se proporcionó una URL no válida. Utilice solo los protocolos http, https y ftp '; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Por favor, especifique el archivo iso correcto'; +$l['aiso_inv_name'] = 'El nombre ISO contiene caracteres no válidos'; +$l['aiso_err_size'] = 'No se pudo determinar el tamaño del archivo ISO'; +$l['aiso_iso_exist'] = 'El archivo ISO ya está presente'; +$l['aiso_size_inv'] = 'El archivo ISO excede el tamaño ISO máximo permitido'; +$l['aiso_limit_err'] = 'No puede descargar más ISO (s). Límite excedido'; +$l['aiso_space_err'] = 'No queda suficiente espacio para estos ISO.'; +$l['aiso_download_err'] = 'Se produjo un error al descargar ISO'; +$l['aiso_done'] = 'La ISO se ha agregado correctamente'; +$l['aiso_add_iso'] = 'Agregar ISO'; +$l['aiso_url'] = 'URL ISO'; +$l['aiso_name'] = 'Nombre de archivo ISO'; +$l['aiso_page_head'] = 'Agregar ISO'; +$l['aiso_submit_button'] = 'Agregar ISO'; +$l['aiso_incomplete'] = 'Hubo un error al descargar el ISO'; +$l['aiso_started'] = 'La ISO se está descargando'; +$l['aiso_percent'] = 'Progreso de la descarga'; +$l['aiso_complete'] = 'Descarga completa'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Agregar ISO'; +$l['dwnldiso_iso'] = 'Agregar ISO'; +$l['dwnldiso_done'] = 'Espere mientras se descarga el archivo ISO'; +$l['dwnldiso_err_down'] = 'Hubo errores al descargar el archivo ISO'; +$l['dwnldiso_wait'] = 'Espere mientras se descarga el archivo ISO'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = '¡No hay planes disponibles para esta región!'; +$l['ihb_sel_reg'] = 'Región seleccionada -'; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Servidores de respaldo'; +$l['bs_heading_add'] = 'Agregar servidor de respaldo'; +$l['bs_name'] = 'Nombre'; +$l['bs_name_exp'] = 'Nombre único para el servidor de respaldo'; +$l['bs_hostname'] = 'Servidor'; +$l['bs_hostname_exp'] = 'TLD o dirección IP válida del servidor'; +$l['bs_type'] = 'Tipo'; +$l['bs_type_exp'] = 'El tipo de servidor de respaldo, SSH o FTP'; +$l['bs_username'] = 'Nombre de usuario'; +$l['bs_username_exp'] = 'Nombre de usuario del servidor de respaldo'; +$l['bs_password'] = 'Contraseña'; +$l['bs_password_exp'] = 'Contraseña del servidor de respaldo'; +$l['bs_port'] = 'Puerto'; +$l['bs_port_exp'] = 'Puerto del servidor de respaldo'; +$l['bs_dir'] = 'Directorio'; +$l['bs_dir_exp'] = 'El directorio donde se almacenarán las copias de seguridad'; +$l['bs_add_server'] = 'Agregar servidor de respaldo'; +$l['bs_conf_delete'] = '¿Está seguro de que desea eliminar este servidor de respaldo?'; +$l['bs_heading_edit'] = 'Editar servidor de respaldo'; +$l['bs_no_servers'] = 'No tiene servidores de respaldo'; +$l['bs_no_name'] = 'Por favor, especifique un nombre único para el servidor de respaldo'; +$l['bs_no_hostname'] = 'Por favor, especifique el nombre de host'; +$l['bs_no_type'] = 'Por favor, especifique el tipo'; +$l['bs_no_username'] = 'Por favor, especifique el nombre de usuario'; +$l['bs_no_password'] = 'Por favor, especifique la contraseña'; +$l['bs_no_port'] = 'Por favor, especifique el puerto'; +$l['bs_no_dir'] = 'Por favor, especifique el directorio de carga'; +$l['bs_done_delete_server'] = 'El servidor de respaldo fue eliminado exitosamente'; +$l['bs_done_edit'] = 'El servidor de respaldo se ha guardado correctamente'; +$l['bs_err_bs_not_allowed'] = 'Los servidores de respaldo están deshabilitados por el administrador'; +$l['bs_err_invalid_type'] = 'Ingrese un tipo de servidor de respaldo válido'; +$l['bs_err_name_exists'] = 'Ya existe un servidor de respaldo con este nombre'; +$l['bs_err_add_backupserver'] = 'Hubo un error al agregar el servidor de respaldo'; +$l['bs_err_backup_dir'] = 'El directorio de respaldo no puede estar vacío.'; +$l['bs_err_server_used'] = 'El (los) servidor (es) de respaldo está siendo utilizado por {{count}} '.VM_SHORT.'. Desconfigure primero antes de eliminarlo. '; +$l['bs_err_delete_server'] = 'Hubo un error al eliminar el servidor de respaldo'; +$l['bs_err_edit_backupserver'] = 'Hubo un error al guardar el servidor de respaldo'; + +// Billing related +$l['bill_err_delete'] = 'Hubo un error al eliminar las facturas'; +$l['bill_done_delete'] = 'La factura se eliminó correctamente'; +$l['bill_heading'] = 'Facturación'; +$l['bill_no_invoice'] = '¡Aún no tiene ninguna factura!'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Fecha de la factura'; +$l['bill_duedate'] = 'Fecha de vencimiento'; +$l['bill_net'] = 'Cantidad'; +$l['bill_item'] = 'Artículo'; +$l['bill_status'] = 'Estado'; +$l['bill_unpaid'] = 'No pagado'; +$l['bill_paid'] = 'Pagado'; +$l['bill_cancelled'] = 'Cancelado'; +$l['bill_invoice'] = 'Factura'; +$l['bill_pay_to'] = 'Pagar a'; +$l['bill_inv_to'] = 'Facturado a'; +$l['bill_pay_method'] = 'Método de pago'; +$l['bill_desc'] = 'Descripción'; +$l['bill_disc'] = 'Descuento'; +$l['bill_subtotal'] = 'Subtotal'; +$l['bill_netamt'] = 'Importe neto'; +$l['bill_print'] = 'Imprimir'; +$l['bill_download'] = 'Descargar'; +$l['bill_tr_date'] = 'Fecha de transacción'; +$l['bill_tr_gateway'] = 'Puerta de enlace'; +$l['bill_tr_token'] = 'ID de transacción'; +$l['bill_tr_amt'] = 'Cantidad'; +$l['bill_invoices'] = 'Facturas'; +$l['bill_trans'] = 'Transacciones'; +$l['bill_make_payment'] = 'Realizar pago'; +$l['bill_add_funds'] = 'Agregar fondos'; +$l['bill_min_max'] = 'Por favor proporcione la cantidad que le gustaría agregar a su cuenta. Min: '. $globals['billing_symbol'].' '. $globals['billing_min'] .' Máx .: '. $globals['billing_symbol'] . ' ' . $globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Fecha'; +$l['bill_gateway'] = 'Puerta de enlace'; +$l['bill_bal'] = 'Saldo'; +$l['bill_charges'] = 'Cargos este mes'; +$l['bill_unpaid_invoices'] = 'Facturas impagas'; +$l['bill_cur_usage'] = 'Uso actual'; +$l['bill_no_trans'] = 'No se encontraron transacciones'; +$l['bill_usage'] = 'Uso actual'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = '¡No se encontraron elementos de facturación!'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Región'; +$l['bill_type'] = 'Tipo'; +$l['bill_starttime'] = 'Hora de inicio'; +$l['bill_updatetime'] = 'Hora de actualización'; +$l['bill_charge'] = 'Cargo'; +$l['bill_terminated'] = 'Terminado'; +$l['bill_gateway'] = 'Pasarela de pago'; +$l['bill_no_payment_gateway'] = 'No se encontraron pasarelas de pago. Póngase en contacto con ' . $globals['sn'] . ' en '. $globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'Debe iniciar sesión para realizar un pago'; +$l['pay_min'] = 'La cantidad no puede ser menor que' . $globals['billing_symbol'] . '' . $globals['billing_min']; +$l['pay_max'] = 'La cantidad no puede ser mayor que' . $globals['billing_symbol'] . '' . $globals['billing_max']; +$l['pay_err_ectoken'] = 'Hubo un error al crear el token de pago de pago rápido.'; +$l['pay_pp_missing'] = 'Faltaban algunos datos cuando fue redirigido desde Paypal'; +$l['pay_trans_already'] = 'Esta transacción ya ha sido registrada'; +$l['pay_pp_connect'] = 'Hubo algún error al conectarse a Paypal. Póngase en contacto con Softaculous en admin@softaculous.com '; +$l['pay_pp_resp'] = 'Hubo algún error al leer los datos de Paypal. Póngase en contacto con ' . $globals['sn'] . ' en ' . $globals['support_email']; +$l['pay_success'] = '¡Éxito! Su pago de ' . $globals['billing_symbol'] .' {{Amt}} fue exitoso. '; +$l['pay_payment'] = 'Procesador de pagos'; +$l['pay_panel'] = 'Panel de control'; +$l['pay_data_missing'] = 'Los datos de respuesta faltan / no son válidos'; +$l['pay_gateway_missing'] = 'Falta la pasarela de pago / no es válida'; +$l['pay_no_required_function'] = 'Faltan algunas funciones requeridas en la pasarela de pago seleccionada. Póngase en contacto con el administrador del servidor'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Contraseña Administrativa para el Script'; +$l['webuzo_spasswd_p'] = 'Ingresar la Contraseña Administrativa (root)'; +$l['webuzo_pd'] = 'Dominio Principal'; +$l['webuzo_pd_p'] = 'midominio.com'; +$l['webuzo_appstack'] = 'Seleccionar el Stack'; +$l['webuzo_scriptlist'] = 'Seleccionar el Script'; +$l['webuzo_submit'] = 'Instalar'; +$l['webuzo_advanced'] = 'Opciones Avanzadas'; +$l['webuzo_ns1'] = 'Servidor de Nombres 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Servidor de Nombres 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Seleccione Apache Verison'; +$l['webuzo_mysql'] = 'Seleccionar versión de MYSQL'; +$l['webuzo_php'] = 'Seleccionar versión PHP'; +$l['webuzo_os'] = 'Seleccionar el Sistema Operativo'; +$l['webuzo_disabled'] = 'La instalación de Webuzo está deshabilitada por el administrador'; +$l['webuzo_support_err'] = '¡Aplicación no compatible!'; +$l['webuzo_sshport_err'] = 'Introduzca el puerto SSH'; +$l['webuzo_spasswd_err'] = 'Ingrese la contraseña de root'; +$l['webuzo_pd_err'] = 'Por favor, especifique un nombre de dominio correcto'; +$l['webuzo_script_err'] = 'El script seleccionado no está en la lista. Inténtalo de nuevo.'; +$l['webuzo_stack_err'] = 'Seleccione una pila adecuada para instalar'; +$l['mysql_err'] = 'Seleccione la versión de MySQL'; +$l['php_err'] = 'Seleccione la versión de PHP'; +$l['webserver_err'] = 'Seleccione la versión de Apache'; +$l['webuzo_wmp_err'] = 'No ha seleccionado las versiones de pila adecuadas'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Por favor ingrese los detalles apropiados del NameServer'; +$l['webuzo_os_err'] = 'Seleccione el sistema operativo que desee instalar'; +$l['webuzo_install_data_lost_warn'] = '¿Está seguro de que desea continuar con la instalación? Advertencia: todos los datos de la máquina virtual se perderán de forma permanente. '; +$l['webuzo_app_err'] = 'Error al obtener las aplicaciones Webuzo'; +$l['webuzo_prim_ip_err'] = 'No se puede obtener la IP'; +$l['webuzo_install_start'] = 'La instalación de Webzuo se inicia en segundo plano. Se enviará un correo electrónico a la ID de correo electrónico proporcionada después de la instalación exitosa '; +$l['webuzo_dns_err'] = 'Por favor, complete los detalles del servidor de nombres'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Instalaciones de aplicaciones'; +$l['apps_no_vs'] = 'No tiene ningún '.VM_SHORT.' con aplicaciones instaladas'; + +// listvs - Search language strings. +$l['vs_type'] = 'Tipo'; +$l['vs_all'] = 'Todos'; +$l['vs_suspended'] = 'Suspendido'; +$l['vs_unsuspended'] = 'Inactivo'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Grupo de servidores'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'Ningún dominio configurado. Configure antes de instalar el certificado. '; +$l['le_install_cert'] = 'Instalar certificado'; +$l['le_renew_cert'] = 'Renovar certificado'; +$l['le_cert_logs'] = 'Ver registros de certificados'; +$l['le_config'] = 'Configuración de LetsEncrypt'; +$l['le_crt_details'] = 'Detalles del certificado LE'; +$l['le_logs'] = 'Registros'; +$l['le_crt_domain'] = 'Dominio'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Emitido por'; +$l['le_crt_serialno'] = 'Número de serie'; +$l['le_crt_valid_from_time'] = 'Válido desde'; +$l['le_crt_valid_to_time'] = 'Válido hasta'; +$l['le_next_renew'] = 'Próxima fecha de renovación'; +$l['le_crt_installed'] = 'Certificado instalado'; +$l['le_proceed'] = 'Iniciar instalación'; +$l['le_no_logs'] = 'No hay registros disponibles'; +$l['le_confirm_process'] = '¿Está seguro de que desea procesar esta solicitud?'; +$l['le_primary_domain'] = 'Dominio Principal'; +$l['le_contact_email'] = 'Correo electrónico de contacto'; +$l['le_key_size'] = 'Tamaño de clave'; +$l['le_renew_days'] = 'Días de renovación'; +$l['le_staging'] = 'Puesta en escena'; +$l['le_enable_force'] = 'Forzar'; +$l['le_primary_domain_exp'] = 'Nombre de dominio principal para el certificado'; +$l['le_contact_email_exp'] = 'Dirección de correo electrónico que utilizará LetsEncrypt para contactar al propietario del dominio'; +$l['le_key_size_exp'] = 'Longitud de las claves privadas del certificado de dominios'; +$l['le_renew_days_exp'] = 'Días mínimos antes del vencimiento para renovar automáticamente el certificado (debe ser menor o igual a 80)'; +$l['le_staging_exp'] = 'Utilice el servidor LetsEncrypts Staging (Testing) para obtener el certificado'; +$l['le_enable_force_exp'] = 'Forzar certificado de procesamiento'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'General'; +$l['vps_graphs'] = 'Gráficas'; +$l['vps_tasks_logs'] = 'Tareas y Registros'; +$l['vps_disk_usage'] = 'Uso del Disco'; +$l['vps_statistics'] = 'Estadísticas'; +$l['vps_info'] = 'Información del Servidor'; +$l['vps_install'] = 'Instalar'; + +// Modal +$l['modal_ok'] = 'Aceptar'; +$l['modal_cancel'] = 'Cancelar'; +$l['modal_success'] = 'Éxito'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'La velocidad de red que ingresó es mayor que la velocidad de red permitida'; +$l['err_upload_speed'] = 'La velocidad de carga que ingresó es mayor que la velocidad de carga permitida'; + +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; + +$l['del_apikey'] = '¿Desea eliminar las credenciales de esta API?'; +$l['del_rdns'] = '¿Desea eliminar este registro rDNS?'; +$l['err_cuser_dom_name'] = 'Este nombre de dominio ya lo está utilizando algún otro usuario'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/spanish/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/spanish/index_lang.php index edf1599..692d17b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/spanish/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/spanish/index_lang.php @@ -1,440 +1,440 @@ -Hoy at ';//La cadena de hoy muestra la hora de ingreso de hoy - -$l['init_theme_error_t'] = 'Error en el tema';//Title -$l['init_theme_error'] = 'Imposible cargar el archivo del tema - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Error de función del tema';//Title -$l['init_theme_func_error'] = 'Imposible cargar la funciones de tema de &soft-1;.'; - -$l['load_theme_settings_error'] = 'Imposible cargar el archivo de ajustes del tema.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Fueron encontrados los siguientes errores'; - -//Success Message Function -$l['following_message'] = 'Se ha devuelto el siguiente mensaje'; - -//Major Error Function -$l['fatal_error'] = 'Error fatal'; -$l['following_fatal_error'] = 'El siguiente error ocurrió'; - -//Message Function -$l['soft_message'] = 'Mensaje'; -$l['following_soft_message'] = 'Se ha devuelto en siguiente mensaje'; - -$l['err_user_head'] = 'Error'; -$l['err_user'] = 'Imposible determinar el tipo de usuario'; - -//Update Softaculous -$l['getting_info'] = 'Solicitando información......'; -$l['error_getting_latest'] = 'Imposible obtener la información......Abandonando'; -$l['got_info'] = 'Información obtenida'; -$l['manual_mode'] = 'La nueva versión de Softaculous requiere atención manual......Abandonando'; -$l['no_updates'] = 'La versión actual es la última versión......Continuando'; -$l['fetch_upgrade'] = 'Obteniendo actualización......'; -$l['error_fetch_upgrade'] = 'Imposible obtener el archivo de actualización file......Abandonando'; -$l['error_save_upgrade'] = 'Imposible GUARDAR el archivo de actualización......Abandonando'; -$l['got_upgrade'] = 'El archivo de actualización se ha guardado'; -$l['unzip_upgrade'] = 'Descomprimiendo archivos......'; -$l['error_unzip_upgrade'] = 'Error de descompresión......Abandonando'; -$l['unzipped_upgrade'] = 'Descompresión satisfactoria'; -$l['running_upgrade'] = 'Ejecutando actualización......'; -$l['succ_upgrade'] = 'Completado'; -$l['error_upgrade'] = 'Ocurrieron los siguientes errores durante la actualización:'; - -//MySQL Errors -$l['err_selectmy'] = 'La base de datos de MySQL no puede ser seleccionada.'; -$l['err_myconn'] = 'La conexión MySQL no puede ser establecida.'; -$l['err_makequery'] = 'No se puede realizar la consulta numerada'; -$l['err_mynum'] = 'Error en MySQL Nro.'; -$l['err_myerr'] = 'Error en MySQL'; - -//hf_theme.php -$l['welcome'] = 'Bienvenido'; -$l['logout'] = 'Desconectar'; -$l['page_time'] = 'Pagina creada en'; -$l['times_are'] = 'La hora siempre es GMT'; -$l['time_is'] = 'Es la hora actual es'; -$l['load_start'] = 'Iniciando'; -$l['load_stop'] = 'Parando'; -$l['load_restart'] = 'Reiniciando'; -$l['load_poweroff'] = 'Apagando'; - -//The Category Language Variables -$l['dock_restart'] = 'Reiniciar contenedor'; -$l['dock_stop'] = 'Detener contenedor'; -$l['dock_start'] = 'Iniciar contenedor'; -$l['dock_poweroff'] = 'Apagar contenedor'; -$l['dock_home'] = 'Inicio'; -$l['dock_settings'] = 'Editar ajustes'; -$l['dock_help'] = 'Ayuda y apoyo'; -$l['dock_sync'] = 'Sincronizar con otros instaladores automaticos'; -$l['go_home'] = 'Inicio'; -$l['dock_user'] = 'Perfil de usuario'; -$l['dock_password'] = 'Cambiar contraseña'; -$l['dock_vps'] = 'Listar servidores virtuales'; - -// Left Menu -$l['lm_file_mgr'] = 'Administrador de archivos'; -$l['lm_res'] = 'Recursos'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Procesos'; -$l['lm_service'] = 'Servicios'; -$l['lm_firewall'] = 'Firewall'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'Contraseña VNC'; -$l['lm_statusc'] = 'Estado de registros'; -$l['lm_res_a'] = 'Alertas del sistema'; -$l['lm_logs'] = 'Registro de tareas'; -$l['lm_bandwidth'] = 'Ancho de banda'; -$l['lm_accountpass'] = 'Contraseña de la cuenta'; -$l['lm_changepass'] = 'Contraseña de la cuenta'; -$l['lm_controlpanel'] = 'Panel de control'; -$l['lm_recipes'] = 'Recibos'; -$l['lm_disk'] = 'Disco'; -$l['lm_ostemp'] ='Re-instalación del sistema operativo'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Nombre del host'; -$l['lm_logs'] = 'Registros'; -$l['lm_ips'] = 'IPs'; -$l['lm_hvmsettings'] = 'Configuración de '.VM_SHORT; -$l['lm_apikey'] = 'Credenciales API'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'DNS contrario'; -$l['lm_support'] = 'Apoyo'; -$l['lm_self_shutdown'] = 'Auto apagado'; -$l['lm_tasks'] = 'Tareas'; -$l['lm_twofactauth'] = 'Security Settings'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Aplicaciones'; -$l['lm_billing'] = 'Billing'; - - -// Users left menu -$l['lm_vs'] = 'Listados de '.VM_SHORT; -$l['lm_addvs'] = 'Instacia de lanzamiento'; -$l['lm_resources'] = 'Recursos de la nube'; -$l['lm_users'] = 'Usuarios'; -$l['lm_usr_settings'] = 'Ajustes'; -$l['lm_profile'] = 'Mi Perfil'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'Usted es un administrador'; -$l['lmapps'] = 'Aplicaciones'; - -// Page Jump Related : -$l['page_jump_title'] = 'Escriba la página a donde desea ir'; -$l['page_page'] = 'Pagina'; -$l['page_of'] = 'de'; -$l['page_go'] = 'ir'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = 'El '.VM_SHORT.' no se encuentra en la base de datos'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'No se encontró la plantilla del SO'; -$l['build_no_ip'] = 'La IP primaria no es encuentra en el '.VM_SHORT; -$l['build_no_os_iso'] = 'No se encontraron archivos de plantilla de SO o ISO'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Usted arrancó en el núcleo equivocado- '; -$l['correct_kernel'] = 'Por favor comience en el núcleo correcto'; -$l['kvm_module'] = 'El modulo Linux-KVM no está cargado.'; -$l['kvm_network'] = 'El '.$globals['bridge'].' No ha iniciado. Por favor inicie elservicio virnetwork '; -$l['temp_exists'] = 'El archivo de plantilla ya existe'; -$l['temp_snap_err'] = 'La creación de la fotografía instantánea fallo y la instalación de la plantilla fallo. La creación de la fotografía instantánea a menudo falla debido a la falta de espacio'; -$l['wrong_xm'] = 'El módulo XEN no ha cargado correctamente'; -$l['lxc_module'] = 'LXC no está instalado.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Ocurrió un error en la creación del LVM del '.VM_SHORT; -$l['xen_err_swap'] = ' Ocurrió un error en la creación del LVM del '.VM_SHORT.' '; -$l['xen_err_tmp'] = 'Ocurrió un error en la creación del punto de montaje'; -$l['xen_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; -$l['xen_err_unmount'] = ' Ocurrió un error desmontando el LVM del '.VM_SHORT; -$l['xen_err_dd'] = 'Ocurrió un error en la operación de copia del disco'; -$l['xen_err_mkfs'] = 'Ocurrió un error formateando el '.VM_SHORT; -$l['xen_err_mkswap'] = 'Ocurrió un error formateando el SWAP de el '.VM_SHORT; -$l['xen_err_untar'] = 'Ocurrió un error extrayendo la plantilla del SO'; -$l['xen_err_part'] = 'Ocurrió un error en la creación de la partición del disco'; -$l['xen_err_kpart'] = 'Ocurrió un error mapeando las particiones'; -$l['xen_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'Ocurrió un error creando el VDI del '.VM_SHORT; -$l['xcp_err_iso'] = 'Ocurrió un error cargando el ISO'; -$l['xcp_err_vif'] = 'Ocurrió un error creando VIF para el '.VM_SHORT; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'Ocurrió un error creando el LVM del '.VM_SHORT; -$l['kvm_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; -$l['kvm_err_unmount'] = 'Ocurrió un error desmontando el LVM del '.VM_SHORT; -$l['kvm_err_dd'] = 'Ocurrió un error en la operación de copia del disco'; -$l['kvm_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; -$l['kvm_err_part'] = 'Ocurrió un error creando las particiones del disco'; -$l['kvm_err_kpart'] = 'Ocurrió un error en el mapeo de las particiones'; -$l['kvm_err_mkswap'] = ' Ocurrió un error formateando el SWAP de el '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'Ocurrió un error extrayendo la plantilla del SO'; -$l['lxc_err_unmount'] = 'Ocurrió un error desmontando el LVM del '.VM_SHORT; -$l['lxc_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; -$l['lxc_network'] = 'El'.$globals['bridge'].'no ha iniciado. Por favor inicie elservicio virtnetwork '; -$l['lxc_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; -$l['err_vncpass'] = 'There was an error in setting the VNC Password'; -$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; -$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; -$l['err_set_boot_order'] = 'There was an error while setting the boot order'; -$l['err_set_ram'] = 'There was an error while setting the RAM'; -$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; -$l['err_install_tools'] = 'There was an error while installing the guest tools'; - -//Backup errors -$l['backup_err_mount'] = 'Ocurrió un error en el montaje del LVM para los archivos temporales'; -$l['backup_err_lvm'] = 'Ocurrió un error en la creación del LVM para los archivos temporales.'; -$l['backup_err_mkfs'] = 'Ocurrió un error formateando los archivos temporales'; -$l['backup_err_mkdir'] = 'Ocurrió un error creando el directorio del punto de montaje de los archivos temporales'; -$l['kvm_err_tar'] = 'Ocurrió un error comprimiendo el archivo'; -$l['xen_err_tar'] = 'Ocurrió un error comprimiendo el archivo'; -$l['kvm_err_untar'] = 'Ocurrió un error descomprimiendo el archivo'; -$l['backup_err_untar'] = 'Ocurrió un error descomprimiendo el archivo'; -$l['err_vzdump'] = 'Ocurrió un error con la herramienta de respaldo'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'Ocurrió un error guardando los ajustes del UBC'; -$l['openvz_err_ostemplate'] = 'Ocurrió un error en los ajustes de la plantilla del SO'; -$l['openvz_err_space'] = 'Ocurrió un error en los ajustes del espacio en disco'; -$l['openvz_err_inodes'] = 'Ocurrió un error en los ajustes del espacio en disco'; -$l['openvz_err_hostname'] = 'Ocurrió un error en los ajustes del nombre del host'; -$l['openvz_err_ip'] = 'Ocurrió un error en los ajustes de la dirección IP'; -$l['openvz_err_dns'] = 'Ocurrió un error en los ajustes del DNS'; -$l['openvz_err_cpu'] = 'Ocurrió un error en los ajustes de las unidades de CPU'; -$l['openvz_err_cpulim'] = 'Ocurrió un error en los ajustes del límite del CPU'; -$l['openvz_err_cores'] = 'Ocurrió un error en los ajustes de los núcleos del CPU'; -$l['openvz_err_ioprio'] = 'Ocurrió un error en los ajustes de las prioridades I/O'; -$l['openvz_err_create'] = 'Ocurrió un error en la creación del contenedor'; -$l['vswap_error'] = 'Ocurrió un error en los ajustes de la configuración VSwap'; - -// Rescue Disk Errors -$l['err_downloading'] = 'Ocurrió un error descargar la plantilla de rescate'; -$l['err_delete_disk'] = 'Ocurrió un error eliminando el disco de rescate'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'En línea'; -$l['lm_status_offline'] = 'Fuera de línea'; -$l['lm_status_suspended'] = 'Suspendido'; -$l['vps_is_suspended'] = 'Este '.VM_SHORT.' está suspendido. Usted no puede realizar ninguna operación para el '.VM_SHORT.' !'; -$l['suspend_reason_bw'] = 'Este '.VM_SHORT.' está suspendido debido al exceso de uso del ancho de banda. Usted no puede realizar ninguna operación para el '.VM_SHORT.' !'; - -$l['unknown'] = 'Desconocido'; -$l['change_onboot'] = 'Pueden ocurrir cambios cuando el '.VM_SHORT.' sea arrancado de nuevo.'; -$l['completed'] = 'Completado'; -$l['vpsdisk_resize_err'] = 'Ocurrió un error redimensionando los discos'; -$l['mount_undetermined'] = 'No se encontró ninguna partición Linux en el '.VM_SHORT; -$l['disk_destroy_err'] = 'Ocurrió un error destruyendo el disco'; -$l['started'] = 'Iniciado'; -$l['ended'] = 'Finalizado'; -$l['updated'] = 'Actualizado'; -$l['edit_xcperror'] = 'Ocurrió un error intentando editar el '.VM_SHORT; - -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['bandwidth_mail_sub'] = VM_SHORT.' Suspendido debido al uso excesivo del ancho de banda'; -$l['bandwidth_mail_message'] = 'Hola, - -Su '.VM_SHORT.' `{{hostname}}` ha sido suspendido porque ha excedido el ancho de banda asignado. - -El '.VM_SHORT.' ha utilizado {{used_gb}} GB de ancho de banda y su ancho de banda permitido era de {{limit_gb}} GB. - -Saludo, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Hola - -Su VM_SHORT {{vpsid}} ha sido {{action}} según el tiempo que se había establecido ({{time}}) -'; - -$l['self_shutdown_start'] = 'Iniciado'; -$l['self_shutdown_stop'] = 'Apagar'; -$l['self_shutdown_restart'] = 'reiniciado'; -$l['self_shutdown_poweroff'] = 'Desactivado'; - -$l['self_shutdown_start_failed'] = 'Fallo en el inicio'; -$l['self_shutdown_stop_failed'] = 'Fallo en el apagado'; -$l['self_shutdown_restart_failed'] = 'Fallo en el reinicio'; -$l['self_shutdown_poweroff_failed'] = 'Fallo en el desactivado'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'No se pudo realizar la llamada a la API de proxmox. Ingrese los detalles de proxmox en Configuración -> Configuración del esclavo '; -// Speed cap messages and label: -$l['speed_cap_down'] = 'Velocidad de descarga limitada'; -$l['exp_speed_cap_down'] = 'Velocidad de descarga después de que se sobreutiliza el ancho de banda para un '.VM_SHORT.', 0 o valor vacío indica que no hay límite'; -$l['speed_cap_up'] = 'Velocidad de carga limitada'; -$l['exp_speed_cap_up'] = 'Velocidad de carga después de que se sobreutiliza el ancho de banda para un '.VM_SHORT.', 0 o valor vacío indica que no hay límite'; -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Foros'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portales / CMS'; -$l['cat_php_galleries'] = 'Galerías de imágenes'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Gestión de anuncios'; -$l['cat_php_calendars'] = 'Calendarios'; -$l['cat_php_games'] = 'Juegos'; -$l['cat_php_mail'] = 'Correos'; -$l['cat_php_polls'] = 'Encuestas y encuestas'; -$l['cat_php_projectman'] = 'Gestión de proyectos'; -$l['cat_php_ecommerce'] = 'Comercio electrónico'; -$l['cat_php_guestbooks'] = 'Libros de visitas'; -$l['cat_php_customersupport'] = 'Atención al cliente'; -$l['cat_php_others'] = 'Otros'; -$l['cat_php_music'] = 'Música'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Redes sociales'; -$l['cat_php_microblogs'] = 'Microblogs'; -$l['cat_php_frameworks'] = 'Marcos'; -$l['cat_php_educational'] = 'Educativo'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'Herramientas de base de datos'; -$l['cat_php_files'] = 'Administración de archivos'; - -$l['inv_winpass_chars'] = 'Los caracteres especiales permitidos para la contraseña de root de Windows VM_SHORT son:'; -$l['invalid_transaction'] = 'Transacción fallida/no válida. Inténtalo de nuevo'; -$l['éxito'] = 'éxito'; -$l['fallido'] = 'fallido'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Hoy at ';//La cadena de hoy muestra la hora de ingreso de hoy + +$l['init_theme_error_t'] = 'Error en el tema';//Title +$l['init_theme_error'] = 'Imposible cargar el archivo del tema - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Error de función del tema';//Title +$l['init_theme_func_error'] = 'Imposible cargar la funciones de tema de &soft-1;.'; + +$l['load_theme_settings_error'] = 'Imposible cargar el archivo de ajustes del tema.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Fueron encontrados los siguientes errores'; + +//Success Message Function +$l['following_message'] = 'Se ha devuelto el siguiente mensaje'; + +//Major Error Function +$l['fatal_error'] = 'Error fatal'; +$l['following_fatal_error'] = 'El siguiente error ocurrió'; + +//Message Function +$l['soft_message'] = 'Mensaje'; +$l['following_soft_message'] = 'Se ha devuelto en siguiente mensaje'; + +$l['err_user_head'] = 'Error'; +$l['err_user'] = 'Imposible determinar el tipo de usuario'; + +//Update Softaculous +$l['getting_info'] = 'Solicitando información......'; +$l['error_getting_latest'] = 'Imposible obtener la información......Abandonando'; +$l['got_info'] = 'Información obtenida'; +$l['manual_mode'] = 'La nueva versión de Softaculous requiere atención manual......Abandonando'; +$l['no_updates'] = 'La versión actual es la última versión......Continuando'; +$l['fetch_upgrade'] = 'Obteniendo actualización......'; +$l['error_fetch_upgrade'] = 'Imposible obtener el archivo de actualización file......Abandonando'; +$l['error_save_upgrade'] = 'Imposible GUARDAR el archivo de actualización......Abandonando'; +$l['got_upgrade'] = 'El archivo de actualización se ha guardado'; +$l['unzip_upgrade'] = 'Descomprimiendo archivos......'; +$l['error_unzip_upgrade'] = 'Error de descompresión......Abandonando'; +$l['unzipped_upgrade'] = 'Descompresión satisfactoria'; +$l['running_upgrade'] = 'Ejecutando actualización......'; +$l['succ_upgrade'] = 'Completado'; +$l['error_upgrade'] = 'Ocurrieron los siguientes errores durante la actualización:'; + +//MySQL Errors +$l['err_selectmy'] = 'La base de datos de MySQL no puede ser seleccionada.'; +$l['err_myconn'] = 'La conexión MySQL no puede ser establecida.'; +$l['err_makequery'] = 'No se puede realizar la consulta numerada'; +$l['err_mynum'] = 'Error en MySQL Nro.'; +$l['err_myerr'] = 'Error en MySQL'; + +//hf_theme.php +$l['welcome'] = 'Bienvenido'; +$l['logout'] = 'Desconectar'; +$l['page_time'] = 'Pagina creada en'; +$l['times_are'] = 'La hora siempre es GMT'; +$l['time_is'] = 'Es la hora actual es'; +$l['load_start'] = 'Iniciando'; +$l['load_stop'] = 'Parando'; +$l['load_restart'] = 'Reiniciando'; +$l['load_poweroff'] = 'Apagando'; + +//The Category Language Variables +$l['dock_restart'] = 'Reiniciar contenedor'; +$l['dock_stop'] = 'Detener contenedor'; +$l['dock_start'] = 'Iniciar contenedor'; +$l['dock_poweroff'] = 'Apagar contenedor'; +$l['dock_home'] = 'Inicio'; +$l['dock_settings'] = 'Editar ajustes'; +$l['dock_help'] = 'Ayuda y apoyo'; +$l['dock_sync'] = 'Sincronizar con otros instaladores automaticos'; +$l['go_home'] = 'Inicio'; +$l['dock_user'] = 'Perfil de usuario'; +$l['dock_password'] = 'Cambiar contraseña'; +$l['dock_vps'] = 'Listar servidores virtuales'; + +// Left Menu +$l['lm_file_mgr'] = 'Administrador de archivos'; +$l['lm_res'] = 'Recursos'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Procesos'; +$l['lm_service'] = 'Servicios'; +$l['lm_firewall'] = 'Firewall'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'Contraseña VNC'; +$l['lm_statusc'] = 'Estado de registros'; +$l['lm_res_a'] = 'Alertas del sistema'; +$l['lm_logs'] = 'Registro de tareas'; +$l['lm_bandwidth'] = 'Ancho de banda'; +$l['lm_accountpass'] = 'Contraseña de la cuenta'; +$l['lm_changepass'] = 'Contraseña de la cuenta'; +$l['lm_controlpanel'] = 'Panel de control'; +$l['lm_recipes'] = 'Recibos'; +$l['lm_disk'] = 'Disco'; +$l['lm_ostemp'] ='Re-instalación del sistema operativo'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Nombre del host'; +$l['lm_logs'] = 'Registros'; +$l['lm_ips'] = 'IPs'; +$l['lm_hvmsettings'] = 'Configuración de '.VM_SHORT; +$l['lm_apikey'] = 'Credenciales API'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'DNS contrario'; +$l['lm_support'] = 'Apoyo'; +$l['lm_self_shutdown'] = 'Auto apagado'; +$l['lm_tasks'] = 'Tareas'; +$l['lm_twofactauth'] = 'Security Settings'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Aplicaciones'; +$l['lm_billing'] = 'Billing'; + + +// Users left menu +$l['lm_vs'] = 'Listados de '.VM_SHORT; +$l['lm_addvs'] = 'Instacia de lanzamiento'; +$l['lm_resources'] = 'Recursos de la nube'; +$l['lm_users'] = 'Usuarios'; +$l['lm_usr_settings'] = 'Ajustes'; +$l['lm_profile'] = 'Mi Perfil'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'Usted es un administrador'; +$l['lmapps'] = 'Aplicaciones'; + +// Page Jump Related : +$l['page_jump_title'] = 'Escriba la página a donde desea ir'; +$l['page_page'] = 'Pagina'; +$l['page_of'] = 'de'; +$l['page_go'] = 'ir'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = 'El '.VM_SHORT.' no se encuentra en la base de datos'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'No se encontró la plantilla del SO'; +$l['build_no_ip'] = 'La IP primaria no es encuentra en el '.VM_SHORT; +$l['build_no_os_iso'] = 'No se encontraron archivos de plantilla de SO o ISO'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Usted arrancó en el núcleo equivocado- '; +$l['correct_kernel'] = 'Por favor comience en el núcleo correcto'; +$l['kvm_module'] = 'El modulo Linux-KVM no está cargado.'; +$l['kvm_network'] = 'El '.$globals['bridge'].' No ha iniciado. Por favor inicie elservicio virnetwork '; +$l['temp_exists'] = 'El archivo de plantilla ya existe'; +$l['temp_snap_err'] = 'La creación de la fotografía instantánea fallo y la instalación de la plantilla fallo. La creación de la fotografía instantánea a menudo falla debido a la falta de espacio'; +$l['wrong_xm'] = 'El módulo XEN no ha cargado correctamente'; +$l['lxc_module'] = 'LXC no está instalado.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Ocurrió un error en la creación del LVM del '.VM_SHORT; +$l['xen_err_swap'] = ' Ocurrió un error en la creación del LVM del '.VM_SHORT.' '; +$l['xen_err_tmp'] = 'Ocurrió un error en la creación del punto de montaje'; +$l['xen_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; +$l['xen_err_unmount'] = ' Ocurrió un error desmontando el LVM del '.VM_SHORT; +$l['xen_err_dd'] = 'Ocurrió un error en la operación de copia del disco'; +$l['xen_err_mkfs'] = 'Ocurrió un error formateando el '.VM_SHORT; +$l['xen_err_mkswap'] = 'Ocurrió un error formateando el SWAP de el '.VM_SHORT; +$l['xen_err_untar'] = 'Ocurrió un error extrayendo la plantilla del SO'; +$l['xen_err_part'] = 'Ocurrió un error en la creación de la partición del disco'; +$l['xen_err_kpart'] = 'Ocurrió un error mapeando las particiones'; +$l['xen_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'Ocurrió un error creando el VDI del '.VM_SHORT; +$l['xcp_err_iso'] = 'Ocurrió un error cargando el ISO'; +$l['xcp_err_vif'] = 'Ocurrió un error creando VIF para el '.VM_SHORT; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'Ocurrió un error creando el LVM del '.VM_SHORT; +$l['kvm_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; +$l['kvm_err_unmount'] = 'Ocurrió un error desmontando el LVM del '.VM_SHORT; +$l['kvm_err_dd'] = 'Ocurrió un error en la operación de copia del disco'; +$l['kvm_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; +$l['kvm_err_part'] = 'Ocurrió un error creando las particiones del disco'; +$l['kvm_err_kpart'] = 'Ocurrió un error en el mapeo de las particiones'; +$l['kvm_err_mkswap'] = ' Ocurrió un error formateando el SWAP de el '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'Ocurrió un error extrayendo la plantilla del SO'; +$l['lxc_err_unmount'] = 'Ocurrió un error desmontando el LVM del '.VM_SHORT; +$l['lxc_err_resizefs'] = 'Ocurrió un error redimensionando el archivo del sistema'; +$l['lxc_network'] = 'El'.$globals['bridge'].'no ha iniciado. Por favor inicie elservicio virtnetwork '; +$l['lxc_err_mount'] = 'Ocurrió un error en el montaje del LVM del '.VM_SHORT; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'There was an error while creating the '.VM_SHORT; +$l['err_vncpass'] = 'There was an error in setting the VNC Password'; +$l['err_set_iso'] = 'There was an in attaching the ISO to the '.VM_SHORT; +$l['err_disk_create'] = 'There was an error while creating the '.VM_SHORT.' disk'; +$l['err_set_boot_order'] = 'There was an error while setting the boot order'; +$l['err_set_ram'] = 'There was an error while setting the RAM'; +$l['err_set_pinning'] = 'There was an error while setting the CPU Affinity'; +$l['err_install_tools'] = 'There was an error while installing the guest tools'; + +//Backup errors +$l['backup_err_mount'] = 'Ocurrió un error en el montaje del LVM para los archivos temporales'; +$l['backup_err_lvm'] = 'Ocurrió un error en la creación del LVM para los archivos temporales.'; +$l['backup_err_mkfs'] = 'Ocurrió un error formateando los archivos temporales'; +$l['backup_err_mkdir'] = 'Ocurrió un error creando el directorio del punto de montaje de los archivos temporales'; +$l['kvm_err_tar'] = 'Ocurrió un error comprimiendo el archivo'; +$l['xen_err_tar'] = 'Ocurrió un error comprimiendo el archivo'; +$l['kvm_err_untar'] = 'Ocurrió un error descomprimiendo el archivo'; +$l['backup_err_untar'] = 'Ocurrió un error descomprimiendo el archivo'; +$l['err_vzdump'] = 'Ocurrió un error con la herramienta de respaldo'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Failed to create the backup image, Return code: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'Ocurrió un error guardando los ajustes del UBC'; +$l['openvz_err_ostemplate'] = 'Ocurrió un error en los ajustes de la plantilla del SO'; +$l['openvz_err_space'] = 'Ocurrió un error en los ajustes del espacio en disco'; +$l['openvz_err_inodes'] = 'Ocurrió un error en los ajustes del espacio en disco'; +$l['openvz_err_hostname'] = 'Ocurrió un error en los ajustes del nombre del host'; +$l['openvz_err_ip'] = 'Ocurrió un error en los ajustes de la dirección IP'; +$l['openvz_err_dns'] = 'Ocurrió un error en los ajustes del DNS'; +$l['openvz_err_cpu'] = 'Ocurrió un error en los ajustes de las unidades de CPU'; +$l['openvz_err_cpulim'] = 'Ocurrió un error en los ajustes del límite del CPU'; +$l['openvz_err_cores'] = 'Ocurrió un error en los ajustes de los núcleos del CPU'; +$l['openvz_err_ioprio'] = 'Ocurrió un error en los ajustes de las prioridades I/O'; +$l['openvz_err_create'] = 'Ocurrió un error en la creación del contenedor'; +$l['vswap_error'] = 'Ocurrió un error en los ajustes de la configuración VSwap'; + +// Rescue Disk Errors +$l['err_downloading'] = 'Ocurrió un error descargar la plantilla de rescate'; +$l['err_delete_disk'] = 'Ocurrió un error eliminando el disco de rescate'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'En línea'; +$l['lm_status_offline'] = 'Fuera de línea'; +$l['lm_status_suspended'] = 'Suspendido'; +$l['vps_is_suspended'] = 'Este '.VM_SHORT.' está suspendido. Usted no puede realizar ninguna operación para el '.VM_SHORT.' !'; +$l['suspend_reason_bw'] = 'Este '.VM_SHORT.' está suspendido debido al exceso de uso del ancho de banda. Usted no puede realizar ninguna operación para el '.VM_SHORT.' !'; + +$l['unknown'] = 'Desconocido'; +$l['change_onboot'] = 'Pueden ocurrir cambios cuando el '.VM_SHORT.' sea arrancado de nuevo.'; +$l['completed'] = 'Completado'; +$l['vpsdisk_resize_err'] = 'Ocurrió un error redimensionando los discos'; +$l['mount_undetermined'] = 'No se encontró ninguna partición Linux en el '.VM_SHORT; +$l['disk_destroy_err'] = 'Ocurrió un error destruyendo el disco'; +$l['started'] = 'Iniciado'; +$l['ended'] = 'Finalizado'; +$l['updated'] = 'Actualizado'; +$l['edit_xcperror'] = 'Ocurrió un error intentando editar el '.VM_SHORT; + +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['bandwidth_mail_sub'] = VM_SHORT.' Suspendido debido al uso excesivo del ancho de banda'; +$l['bandwidth_mail_message'] = 'Hola, + +Su '.VM_SHORT.' `{{hostname}}` ha sido suspendido porque ha excedido el ancho de banda asignado. + +El '.VM_SHORT.' ha utilizado {{used_gb}} GB de ancho de banda y su ancho de banda permitido era de {{limit_gb}} GB. + +Saludo, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Hola + +Su VM_SHORT {{vpsid}} ha sido {{action}} según el tiempo que se había establecido ({{time}}) +'; + +$l['self_shutdown_start'] = 'Iniciado'; +$l['self_shutdown_stop'] = 'Apagar'; +$l['self_shutdown_restart'] = 'reiniciado'; +$l['self_shutdown_poweroff'] = 'Desactivado'; + +$l['self_shutdown_start_failed'] = 'Fallo en el inicio'; +$l['self_shutdown_stop_failed'] = 'Fallo en el apagado'; +$l['self_shutdown_restart_failed'] = 'Fallo en el reinicio'; +$l['self_shutdown_poweroff_failed'] = 'Fallo en el desactivado'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'No se pudo realizar la llamada a la API de proxmox. Ingrese los detalles de proxmox en Configuración -> Configuración del esclavo '; +// Speed cap messages and label: +$l['speed_cap_down'] = 'Velocidad de descarga limitada'; +$l['exp_speed_cap_down'] = 'Velocidad de descarga después de que se sobreutiliza el ancho de banda para un '.VM_SHORT.', 0 o valor vacío indica que no hay límite'; +$l['speed_cap_up'] = 'Velocidad de carga limitada'; +$l['exp_speed_cap_up'] = 'Velocidad de carga después de que se sobreutiliza el ancho de banda para un '.VM_SHORT.', 0 o valor vacío indica que no hay límite'; +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Foros'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portales / CMS'; +$l['cat_php_galleries'] = 'Galerías de imágenes'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Gestión de anuncios'; +$l['cat_php_calendars'] = 'Calendarios'; +$l['cat_php_games'] = 'Juegos'; +$l['cat_php_mail'] = 'Correos'; +$l['cat_php_polls'] = 'Encuestas y encuestas'; +$l['cat_php_projectman'] = 'Gestión de proyectos'; +$l['cat_php_ecommerce'] = 'Comercio electrónico'; +$l['cat_php_guestbooks'] = 'Libros de visitas'; +$l['cat_php_customersupport'] = 'Atención al cliente'; +$l['cat_php_others'] = 'Otros'; +$l['cat_php_music'] = 'Música'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Redes sociales'; +$l['cat_php_microblogs'] = 'Microblogs'; +$l['cat_php_frameworks'] = 'Marcos'; +$l['cat_php_educational'] = 'Educativo'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'Herramientas de base de datos'; +$l['cat_php_files'] = 'Administración de archivos'; + +$l['inv_winpass_chars'] = 'Los caracteres especiales permitidos para la contraseña de root de Windows VM_SHORT son:'; +$l['invalid_transaction'] = 'Transacción fallida/no válida. Inténtalo de nuevo'; +$l['éxito'] = 'éxito'; +$l['fallido'] = 'fallido'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/turkish/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/turkish/enduser_lang.php index d18546d..16c2bc8 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/turkish/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/turkish/enduser_lang.php @@ -1,2121 +1,2121 @@ - QR Kodu Tarayın veya Uygulmanızda Aşagıdaki Verilini Kodu Girin. Bu İşlemden Sonra Uygulama Size Bir OTP Kodu Verecketir. İki Adımlı Kimlik Doğrulama Aktif Etmek İçin OTP Kodunu Bir Sonraki Kutuya Girin..'; -$l['twofactauth_secret_key'] = 'Gizli Anahtar: '; -$l['twofactauth_code_input'] = 'Onaylama Kodu'; -$l['twofactauth_code_input_exp'] = 'E-posta İle Gönderilen OTPyi veya Uygulmadan Aldığınızı OTP’e Giriniz. '; -$l['twofactauth_submit'] = 'Onayla'; -$l['twofactauth_select_pref'] = 'Tercihinizi Seçiniz: '; -$l['twofactauth_select_pref_desc'] = 'İki Adımlı Kimlik Doğrulama Tipi Seç ve Kodunu Girerek Aktif Et'; -$l['twofactauth_disabled'] = 'İki Adımlı Kimlik Doğrulama Kapatıldı'; -$l['twofactauth_enabled'] = 'İki Adımlı Kimlik Doğrulama Açıldı'; -$l['twofactauth_err_enable'] = 'Şifre Kodu Yanliş'; -$l['twofactauth_email_passcode'] = 'E-posta Kodu'; -$l['twofactauth_none'] = 'HiçBiri (Gerekmiyor !)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Uygulamayı Aktif Et (Google Kimlik Doğrulama gibi..)'; -$l['twofactauth_no_passcode'] = 'OTP Belirtin'; -$l['twofactauth_changes_saved'] = 'Degişiklik Başarılı Olarak Kayıt Edildi'; -$l['twofactauth_or'] = 'Veya'; -$l['twofactauth_passcode_error'] = ' OTP Oluşturalamadı'; -$l['twofactauth_otp_mail_sub'] = 'OTP Girisi'; -$l['twofactauth_reset_key'] = 'Anahtarı Sıfırla '; -$l['twofactauth_email_sent_to'] = 'OTP E-posta Adresinize Gönderilecek :'; -$l['twofactauth_otp_mail_body'] = 'Merhaba, - -Hesabınız İçin Bir Giriş İsteği Gönderildi : -{{site_domain}} - -Lütfen Giriç İçin Tek Seferlik OTP Şifresini Kullanın. : -{{otp}} - -Saygılarla, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'İki Adımlı Kimlik Doğrulama Onaylama Kodu'; -$l['twofactauth_passcode_mail_body'] = 'Merhaba, - -{{site_domain}} İçin İki Adımlı Kimlik Doğrulama Aktif Etme Kodu : {{passcode}} - -Saygılarla, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP E-posta Adresinize Gönderildi'; -$l['twofactauth_secret_key_conf'] = 'Uyarı : İki Adımlı Kimlik Doğrulama Gizli Anahtarını Sıfırlarsanız. Kullanıdıgını Uygulmayı Yeniden Tekrar Yüklemek Zorundasınız. Devam Etmek İstiyormusunuz ?'; -$l['twofactauth_otp_expired'] = ' Onayladıgınız OTPnin süresi Geçmistir!!'; -$l['twofactauth_not_allowed'] = 'Bu Sayfaya Girişinize Müsade Edilmiyor'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = ' E-posta ID’si Girmediniz'; -$l['adu_no_user_password'] = 'Şifre Girmediniz'; -$l['adu_invalid_email'] = 'E-posta ID’si Geçersiz'; -$l['adu_userlimit_exceeded'] = 'Daha Fazla Kullanıcı Oluşturamazsınız. Lütfen Yönetici İle iletişime Geçiniz'; -$l['adu_useradd_error'] = 'Yeni Kullanıcı Eklerken Hata Oluştu Yönetici İle İletişime Geçiniz'; -$l['adu_page_head'] = 'Kullanıcı Ekle '; -$l['adu_done'] = 'Kullanıcı Eklendi'; -$l['adu_user_email'] = 'E-posta'; -$l['adu_user_password'] = 'Şifre'; -$l['adu_user_exists'] = 'Bu Kullanıcı Sistemde Kayıtlı. Lütfen Başka Bir e-posta Adresi Kullanın'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Yeni Şifre Alanı Boş.'; -$l['cpas_no_conf'] = 'Şifre Tekrar Alanı Boş.'; -$l['cpas_no_match'] = 'Sifreler Uyuşmuyor'; -$l['cpas_err_changing'] = 'Şifre değişiminde Hata Oluştu.'; -$l['cpas_submit_button'] = 'Şifre Değiştir'; -$l['cpas_new_pass'] = 'Yeni Şifre'; -$l['cpas_old_pass'] = 'Eski Şifre'; -$l['cpas_retype_pass'] = 'Şifre Tekrarla'; -$l['cpas_change_note'] = 'Root Şifresini Değiştir'; -$l['cpas_change_final'] = 'Şifreniz Başarı Olarak değişti'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Sanal Sunucu root Şifresi Değişiyor...'; -$l['cpas_strength_indicator'] = 'Güç Göstergesi'; -$l['cpas_bad'] = 'Kötü'; -$l['cpas_good'] = 'İyi'; -$l['cpas_strong'] = 'Güçlü'; -$l['cpas_short'] = 'Kısa'; -$l['cpas_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Özel Karakter '; -$l['cpas_pass_match'] = 'Şifre Uyuşmuyor'; -$l['cpas_disabled'] = 'Şifre Değiştirme Yönetici Tarafından Kapatıldı '; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Cloud Kaynakları'; -$l['cr_resource_type'] = 'Kaynak Tipi'; -$l['cr_limit'] = 'Kota'; -$l['cr_used'] = 'Kullanıldı'; -$l['cr_left'] = 'Kullanılabilir'; -$l['cr_unlimited'] = 'Sınırsız'; -$l['cr_num_vs'] = 'Sanal Sunucu Adeti'; -$l['cr_num_users'] = 'Kullanıcı Adeti'; -$l['cr_num_space'] = 'Disk Alanı'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Band Genişliği'; -$l['cr_num_cores'] = 'Çekirdek Sayısı'; -$l['cr_max_cores'] = 'Azami Çekirdek / Sanal Sunucu'; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'IPv6 Alt Ağ'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'CPU Bilgileri'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Seri konsolu Kapalı'; -$l['cs_call_failed'] = 'API Bağlatısı Başarısız. Lütfen Yönetici İle İletişime Geçiniz'; -$l['cs_heading'] = 'Seri Konsolu'; -$l['cs_none'] = 'Geçerli Konsol Oturumu Bulunmadı. Lütfen Oluşturunuz !'; -$l['cs_create'] = 'Oturum Oluşturuyor'; -$l['cs_creating'] = 'Oturum Oluşturulmakda ...'; -$l['cs_destroying'] = 'Oturum Silinmekde ...'; -$l['cs_details'] = 'Konsol Detayları'; -$l['cs_expires'] = 'Süre'; -$l['cs_ip'] = 'IP Adresi'; -$l['cs_port'] = 'Portu'; -$l['cs_username'] = 'Kullanıcı Adı'; -$l['cs_password'] = 'Şifre'; -$l['cs_destroy'] = 'Oturumu Sil'; -$l['cs_java_console'] = 'Java Konsolu'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Sunucu Adı Değistirmek İçin Girin.'; -$l['hn_new_host'] = 'Yeni Sanal Sunucu Adı'; -$l['hn_submit_button'] = VM_SHORT.'’nin Adını Değiştir'; -$l['hn_err_changing'] = VM_SHORT.' Adını Değiştiriken Hata Oluştu.'; -$l['hn_host_final'] = VM_SHORT.' Adı Başarılı Olarak Güncellendi'; -$l['hn_invalid_hostname'] = 'Geçersiz '.VM_SHORT.' Adı Girdiniz'; -$l['hn_change_onboot'] = VM_SHORT.' Adının Aktiv Olması İçin '.VM_SHORT.'’yi Tekrar Başlatmanız Gerekmekde'; -$l['hn_current_hostname'] = 'Aktif Sunucu Adı'; -$l['hn_change_notify'] = VM_SHORT.' Adı Güncelleniyor...'; -$l['hn_disable_change_hostname'] = VM_SHORT.' Adı değiştirme Yönetici Tarafından Kaptılmış.'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'IP(ler) Seçilmedi'; -$l['ips_ip_not_exists'] = 'IP(ler) Geçersiz'; -$l['ips_header'] = 'IP Adreslerim'; -$l['ips_ipinfo'] = 'IP Bilgisi'; -$l['ips_reorderips'] = 'IP Değiştir'; -$l['ips_done'] = 'Ip Ayarlarınız Kayıt Edildi.'; -$l['ips_change_onboot'] = 'IP Değişimi '.VM_SHORT.'’yi Tekrar Başlatıkdan Sonra Geçerli Olacaktır.'; -$l['ips_primary_ip'] = 'Ana Ip Adresini Seç '; -$l['ips_ipv6_ips_list'] = 'IPV6 IPleri'; -$l['ips_ipv6_empty'] = 'IPV6 Boş'; -$l['ips_change_notify'] = 'IP Adresi Değiştiriyor...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU Bılgisi'; -$l['mon_totalcpu'] = 'Toplam CPU :'; -$l['mon_cpuutilised'] = 'Kullanıldı: '; -$l['mon_poweredby'] = 'Tarafından : '; -$l['mon_graphheader'] = 'CPU Kullanımı'; -$l['mon_trademarks'] = 'Kullanılan Tüm İlgili Logolar, İlgili Şirketlerin Ticari Markaları veya Tescilli Ticari Markalarıdır.'; -$l['mon_not_supported'] = 'Bu Kaynağın Mevcut Kullanım İzlemesi Desteklenmiyor.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Disk'; -$l['mon_header_nodes'] = 'Inodes'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'AĞ'; -$l['mon_io_usage'] = 'Disk I/O Kullanımı Ortalaması '; -$l['mon_io_read_spd'] = 'I/O Okuma Hızı'; -$l['mon_io_write_spd'] = 'I/O Yazma Hızı'; -$l['mon_ntw_info'] = 'AĞ Bilgisi'; -$l['mon_ntw_down_spd'] = 'Ortalama İndirme Hızı'; -$l['mon_ntw_upld_spd'] = 'Ortalam Gönderme Hızı'; -$l['mon_disabled'] = 'İzleme Ayarı Yönetici Tarafından Kapaıtıldı'; -$l['mon_cpu_usage'] = 'CPU Kullanımı'; -$l['mon_inode_usage'] = 'Inode Kullanımı'; -$l['mon_ram_usage'] = 'RAM Kullanımı'; -$l['mon_disk_usage'] = 'Disk Kullanımı'; -$l['mon_down_speed'] = 'İndirme Hızı'; -$l['mon_up_speed'] = 'Gönderme Hızı'; -$l['mon_total_speed'] = 'Toplam Hız'; -$l['mon_cpu_hist'] = 'CPU Kullanım Geçmisi'; -$l['mon_mem_hist'] = 'RAM Kullanım Geçmisi'; -$l['mon_storage'] = 'Disk Kullanımı'; -$l['mon_date_label'] = 'Tarih Ay/Gün'; -$l['mon_inode_hist'] = 'Inodes Kullanıldı'; -$l['mon_net_speed'] = 'Ağ Hızı'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'İşletim Sistemi Seçilmedi'; -$l['os_invalid_os'] = 'İşletim Sistemi Geçersiz'; -$l['os_no_new'] = 'Şifre Alanı Boş.'; -$l['os_no_conf'] = 'Onaylama Şifresi Girmediniz.'; -$l['os_no_match'] = 'Şifreler Uyuşmuyor'; -$l['os_error_reins'] = 'İşletim Sistemi Tekrar Kurulurken Hata Oluştu'; -$l['os_err_changing'] = 'Şifre Güncellenirken Hata Oluştu.'; -$l['os_err_log_osreinstall'] = 'İşletim Sistemi Tekrar Kurma Limitini Aştınız. Destek Talebi Açınız'; -$l['os_reins_os'] = 'İşletim Sistemi Tekrar Kur'; -$l['os_os_reinstall'] = 'Tekrar Kur'; -$l['os_new_pass'] = 'Yeni Şifre'; -$l['os_retype_pass'] = 'Şifre Tekrar Yazın'; -$l['os_genram_psswd'] = 'Yeni Şifre Oluştur'; -$l['os_done'] = 'İşletim Sistemi Kurulum İşlemi Arka Planda Başladı'; -$l['os_reins_notify'] = VM_SHORT.' İşletim Sistemi Kuruluyor...'; -$l['os_centos_line1'] = 'Tanınmış bir Kuzey Amerika Kurumsal Linux satıcısı tarafından halka ücretsiz olarak sağlanan kaynaklardan elde edilen Enterpriseclass Linux Dağıtım kurluşudur.'; -$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; -$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; -$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; -$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; -$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; -$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; -$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; -$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; -$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; -$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; -$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; -$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; -$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; -$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; -$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; -$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; -$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; -$l['os_strength_indicator'] = 'Güç Göstergesi'; -$l['os_bad'] = 'Kötü'; -$l['os_good'] = 'İyi'; -$l['os_strong'] = 'Kuvvetli'; -$l['os_short'] = 'Kısa'; -$l['os_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Özel Karakter'; -$l['os_pass_match'] = 'Şifreler Uyuşmuyor'; -$l['os_reinstall_wait'] = 'İşletim Sistemi Kuruluyor. Lütfen Bekleyiz.....'; -$l['os_reinstall_disabled'] = 'İşletim Sistemi Tekrar Kurulumu Yönetici Tarafından Kapatılmış'; -$l['os_no_os'] = 'Tekrar Kurmak İçin İşletim Sistemi Bulunmuyor'; -$l['os_rebuild_data_lost_warn'] = VM_SHORT.' Tekrar Kurmak İstiyorsunuz ? Dikkat : '.VM_SHORT.'deki Bütün Bilgiler Silinecekti. Geri Dönüşüm Mümkün değildir.'; -$l['os_select_version'] = 'Sürüm Şeciniz'; -$l['os_select_os'] = 'İşletim Sistemi Seçiniz:'; -$l['os_other'] = 'Diğer'; -$l['os_format_primary'] = 'Sadece ilk Diski Formatla'; -$l['os_format_primary_exp'] = 'Eger Bu Seçilirse sadece İlk Disk Verileri Silinecektir'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'VNC Bilgisi'; -$l['vnc_vnc_ip'] = 'VNC IP’si'; -$l['vnc_vnc_port'] = 'VNC Portu'; -$l['vnc_novnc_button'] = 'HTML 5 VNC İstemcisini Başlatın'; -$l['vnc_launch_vnc'] = 'JAVA VNC Göstericiyi Başlat'; -$l['vnc_notice'] = 'VNC Gösterisici Tarayıcınızda java Kurulu ve Aktif İse Çalışacaktır'; -$l['vnc_not_enabled'] = 'VNC Açık Değil'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Şifre Belirtmediniz.'; -$l['vncpas_no_conf'] = 'Onaylama Şifresi Eksik.'; -$l['vncpas_no_match'] = 'Şifreler Uyuşmuyor'; -$l['vncpas_err_changing'] = 'Şifre Güncelernirken Hata Oluştu.'; -$l['vncpas_no_nonalphanumeric'] = 'Özel Karakter veya İşaretler Müsade Edilmiyor'; -$l['vncpas_submit_button'] = 'VNC Şifresini Değiştir'; -$l['vncpas_new_pass'] = 'Yeni Şifre'; -$l['vncpas_old_pass'] = 'Eski Şifre'; -$l['vncpas_retype_pass'] = 'Yeni Şifre Tekrarla'; -$l['vncpas_change_note'] = 'VNC Şifre Değiştir'; -$l['vncpas_change_final'] = 'VNC Şifreniz Başarı İle Güncellendi.'; -$l['vncpas_change_notify'] = 'VNC Şifreniz Güncelleniyor...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Yeni Şifrenizi Yazmadınız'; -$l['up_no_conf'] = 'Şifre Tekrar Girmediniz'; -$l['up_no_match'] = 'Şifreler Uyuşmuyor'; -$l['up_err_changing'] = 'Şifre Değişirken Hata Oluştu.'; -$l['up_new_pass'] = 'Yeni Şifre'; -$l['up_old_pass'] = 'Eski Şifre'; -$l['up_retype_pass'] = 'Yeni Şifreyi Tekrarla'; -$l['up_page_head'] = 'Şifreyi Değiştirme'; -$l['up_change_final'] = 'Şifreniz Başarılı Olarak Değiştirildi'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Profil Güncelleme'; -$l['pr_no_fname'] = 'İsminizi Yazmadınız'; -$l['pr_no_lname'] = 'Soy Adınızı Yazmadınız'; -$l['pr_firstname'] = 'İsim'; -$l['pr_lastname'] = 'Soyad'; -$l['pr_company'] = 'Şirket'; -$l['pr_website'] = 'Web siteniz'; -$l['pr_address'] = 'Adresiniz'; -$l['pr_city'] = 'Şehir'; -$l['pr_state'] = 'Eyalet'; -$l['pr_zip'] = 'Posta Kodu'; -$l['pr_country'] = 'Ülke'; -$l['pr_phone'] = 'Ceb No'; -$l['pr_sys_admin_email'] = 'Sistem Yöneticin E-posta'; -$l['pr_cc_emails'] = 'Fatura E-posta'; -$l['pr_cc_emails_exp'] = 'Yeni Oluşturulan Faturaniz Bu E-posta Adresinize Gönderilecektir. Çoklu E-posta Adresi İçin Virgül İle Ayırarak Giriniz.'; -$l['pr_soft_error'] = 'Bilgilerniz Kayıt Edilirken Hata Oluştu. Lütfen Destek Talebinde Bulunuz. : '.$globals['support_email']; -$l['pr_done'] = 'Değişiklik Başarı İle Kayıt Edildi'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Servisler'; -$l['ser_sstart'] = 'Başlat'; -$l['ser_sstop'] = ' Durdur'; -$l['ser_srestart'] = 'Tekrar Başlat'; -$l['ser_status'] = 'Durum'; -$l['ser_statrun'] = 'Çalışıyor'; -$l['ser_statoff'] = 'Kapalı'; -$l['ser_staton'] = 'Açık'; -$l['ser_autostart'] = 'Otamatik Başlat'; -$l['ser_select'] = 'Seç'; -$l['ser_vps_is_off'] = VM_SHORT.' Kapalı!'; -$l['ser_no_feature'] = 'Bu Özellik Mevcut Değil !'; -$l['ser_notice_start'] = 'Seçili Servis(ler) Başlatılıyor..'; -$l['ser_notice_stop'] = 'Seçili Servis(ler) Durduruluyor..'; -$l['ser_notice_restart'] = 'Seçili Servis(ler) Tekrar Başlatılıyor..'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'İşlemler Listesi'; -$l['proc_usr'] = 'Kullanıcı'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Komut'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'Zaman'; -$l['proc_select'] = 'Seç'; -$l['proc_pstart'] = 'Başlat'; -$l['proc_pkill'] = 'Durdur(İptal)'; -$l['proc_prefresh'] = 'Otamatik Güncelle'; -$l['proc_vps_is_off'] = VM_SHORT.' Kapalı !'; -$l['proc_no_feature'] = 'Bu Özellik Mevcut Değil !'; -$l['proc_notice_pkill'] = 'Seçili İşlem(ler) Durduruluyor :'; -$l['proc_with_selected'] = 'Seçili Olan İle:'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logo'; -$l['log_date'] = 'Tarih'; -$l['log_task'] = 'Görev'; -$l['log_status'] = 'Durum'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Başarılı'; -$l['log_fail'] = 'Hatalı'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'IPv6 Alt Ağ Yönetimi'; -$l['mng_done'] = 'IPler Başarılı Olarak Kayıt Edildi'; -$l['mng_add_ipv6'] = 'Ipv6 Adresi Ekle'; -$l['mng_add_ip_button'] = 'IP Ekle'; -$l['mng_back_button'] = 'Geri'; -$l['mng_save_button'] = 'Kayıt Et'; -$l['mng_delete_confirm'] = 'Bu IPv6 Adresini Silmek İstiyormusunuz ?'; -$l['mng_ipv6_invalid'] = 'IPv6 Adresinle Hata Oluştu'; -$l['mng_ipv6_address'] = 'IPv6 Adresi'; -$l['mng_ipv6_delete'] = 'Sil'; -$l['mng_ipv6_subnet'] = 'IPv6 Alt Ağ'; -$l['mng_edit_subnet'] = 'Düzenle'; -$l['mng_no_vps'] = VM_SHORT.' Bulunmadı'; -$l['mng_inv_ipaddress'] = 'IP Size Ait Değil'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'DNS Bölge Yönetmi'; -$l['mz_zone_conf_del'] = 'PDNS Sunucu Silmek İstiyormusunuz ?'; -$l['mz_add_pdns'] = 'PDNS Sunucu Ekle'; -$l['mz_dns_mgmt'] = 'DNS Yönetimi'; -$l['mz_zone_add_done'] = 'Dns Kaydı Başırılı Olarak Eklendli'; -$l['mz_add_zone'] = '>DNS Kaydı Ekle'; -$l['mz_zone_name'] = 'DNS Bölge Adı'; -$l['mz_pdns_zones'] = 'DNS Kaydı Göster'; -$l['mz_manage_zone'] = 'Yönet'; -$l['mz_conf_del'] = 'Bu Kaydı Silmek İstiyormusunuz ?'; -$l['mz_add_done'] = 'Kayıt Başarılı Olarak Eklendi. '; -$l['mz_edit_done'] = 'Kayıt Başarılı Olarak Düzenlendi'; -$l['mz_del_done'] = 'Kayıt '; -$l['mz_priority'] = 'Öncelik'; -$l['mz_ttl'] = 'TTL Süresi'; -$l['mz_content'] = 'İçerik'; -$l['mz_type'] = 'Tipi'; -$l['mz_host'] = 'Host'; -$l['mz_points_to'] = 'Gösteriyor'; -$l['mz_txt_value'] = 'TXT Değeri'; -$l['mz_pdns_name'] = 'Sunucu Adı'; -$l['mz_submit_button'] = 'Kayıt Ekle'; -$l['mz_edit_button'] = 'Kayıt Düzenle'; -$l['mz_no_domains'] = 'DNS Kaydında Bölge Bulunmuyor'; -$l['mz_err_addzone'] = 'Bölge Eklerken Hata Oluştu'; -$l['mz_inv_name'] = 'Geçersiz Sunucu Adı'; -$l['mz_inv_ip'] = 'Geçersiz IP Adresi'; -$l['mz_inv_tld'] = 'Geçersiz En Üst Düzey Alan Adı'; -$l['mz_inv_ipv6'] = 'Geçersiz IPv6 Adresi'; -$l['mz_inv_int'] = 'Geçersiz Tamsayı Girişi'; -$l['mz_err_add'] = 'DNS Kaydı Eklenirken Hata Oluştu'; -$l['mz_err_del'] = 'DNS Kaydı Silinirken Hata Oluştu'; -$l['mz_err_edit'] = 'DNS Kaydı Eklenirken Hata Oluştu'; -$l['mz_err_soa'] = 'SOA Değeri Güncelenirken Hata Oluştu'; -$l['mz_rec_exists'] = 'Bu DNS Kaydı Bulunuyor'; -$l['mz_records_limit'] = 'DNS Kayıt Limitine Ulaşıldı'; -$l['mz_err_connect'] = 'İsim Sunucularına Bağlanırken Hata Oluştu'; -$l['mz_zone_restricted'] = 'Düzenlemeye Çalıştıgınız Bölge Kısıtlanmış Bir Bölge'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Alan Adını Silmek İstiyormusunuz ?'; -$l['pdns_page_head'] = 'DNS Yönetmi'; -$l['pdns_add_done'] = 'DNS Kaydı Başırılı Olarak Eklendli'; -$l['pdns_delete_done'] = 'DNS Bölgesi Başarılı Olarak Silindi'; -$l['pdns_add_zone'] = 'DNS Bölgesi Ekle'; -$l['pdns_zone_name'] = 'DNS Bölge Adı'; -$l['pdns_manage_zone'] = 'Yönet'; -$l['pdns_no_domains'] = 'DNS Kayıtında Bölge Bulunmuyor'; -$l['pdns_no_name'] = 'Alan Adı Girmediniz'; -$l['pdns_err_addzone'] = 'DNS Bölgesi Eklerken Hata Oluştu'; -$l['pdns_err_delete'] = 'DNS Bölgesi Silerken Hata Oluştu'; -$l['pdns_inv_domain'] = 'Alan Adı Geçersiz'; -$l['pdns_limit_domains'] = 'Eklenebilecek Alan Adı Limitinine Ulaştınız.'; -$l['pdns_domain_exists'] = 'Alan Adı Sistemde Bulunuyor'; -$l['pdns_err_connect'] = 'İsim Sunucularına Bağlanırken Hata Oluştu'; -$l['pdns_no_dns'] = 'DNS Yönetimi Kapalı'; -$l['pdns_invalid_zone'] = 'Silmek İstediğiniz DNS Bölgesi Geçersiz'; -$l['pdns_primary_nameserver'] = 'İlk İsim Sunucu Adı'; -$l['pdns_hostmaster_email'] = 'Alan Adının Yönetici E-posta Adresi'; -$l['pdns_inv_email'] = 'Alan Adının Admin E-posta Adresi Geçersiz'; -$l['pdns_inv_ns'] = 'Geçersiz İsim Sunucusu Girdiniz'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'PTR (Ters İP Kaydı) Ekle'; -$l['rdns_zone_name'] = 'Bölge Adı'; -$l['rdns_exp_zone_name'] = 'DNS Bölge Adı'; -$l['rdns_ns'] = 'İsim Sunucu Adı'; -$l['rdns_hostmasteremail'] = 'Hostmaster E-posta Adresi'; -$l['rdns_exp_hostmasteremail'] = 'Yönetici E-posta Adresi'; -$l['rdns_pdns_server'] = 'Sunucu Seç'; -$l['rdns_exp_pdns_server'] = 'Kaydı Eklemek İçin DNS Sunucusu'; -$l['rdns_sub_but'] = 'Onayla'; -$l['rdns_rdns_ip'] = 'IP Adresi'; -$l['rdns_exp_rdns_ip'] = VM_SHORT.' IP Adresini Giriniz'; -$l['rdns_rdns_domain'] = 'Alan Adı'; -$l['rdns_exp_rdns_domain'] = 'Tam Etki Alanı Adını Girin'; -$l['rdns_no_rnds_ip'] = 'Lütfen IP Adresi Giriniz'; -$l['rdns_no_rdns_domain'] = 'Lütfen Alan Adı Girin'; -$l['rdns_no_pdnsid'] = 'PowerDNS ID’si Geçersiz'; -$l['rdns_err_zone'] = 'PTR (Ters İP Kaydı) DNS Bölge Kaydı Bulunmadı. Destek Talebi Açınız '; -$l['rdns_is_rdns'] = 'Bu PTR (Ters İP Kaydı) Bulunmakda '; -$l['rdns_no_dns'] = 'DNS Sunucusu, Yönetici Tarafından Ayarlanmadı. Bunun İçin Lütfen Yönetici İle iletişime Geçin.'; -$l['rdns_no_zone_name'] = 'DNS Bölge Adı Girmediniz'; -$l['rdns_no_ns'] = 'Ad Sunucusu Girmediniz. En Az İki Ad Sunucusu Gerekmektedir.'; -$l['rdns_no_hostmasteremail'] = 'Hostmaster e-posta Adresi Girmediniz'; -$l['rdns_inv_revzone'] = 'PTR (Ters İP) Bölge Kaydı Geçersiz'; -$l['rdns_inv_ns'] = 'Ad Sunucunuz İçin Kullandığınız TLDs Değerleri Geçersiz'; -$l['rdns_inv_hostemail'] = 'Geçersiz Hostmaster E-posta Adresi'; -$l['rdns_err_connect'] = 'Sunucuza Bağlantı Kurulamadı. Sunucunun Açık Olup Olmadıgını Kontrol Ediniz'; -$l['rdns_err_save'] = 'Veriler Kayıt Edilirken Hata Oluştu'; -$l['rdns_done'] = 'PTR (Ters İP) Kaydı Başarılı Olarak Eklendi'; -$l['rdns_zone_exists'] = 'Bu DNS Bölgesi Bulunmakta'; -$l['rdns_inv_ipaddress'] = 'Geçersiz IP Adresi Girdiniz'; -$l['rdns_rdns_existing'] = 'PTR (Ters İP) Kayıtları'; -$l['rdns_deleted'] = 'PTR (Ters İP Kaydı) Silindi'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'İsim'; -$l['rdns_domain'] = 'Alan Adı'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'E-posta ID’si Girmediniz'; -$l['edu_no_user_password'] = 'Şifre Girmediniz'; -$l['edu_invalid_email'] = 'Girdiğiniz E-posta ID’si Geçersiz'; -$l['edu_uid_not_found'] = 'Kullancı ID’si Bulunmadı'; -$l['edu_useradd_error'] = 'Kullancı Bilgileri Düzenlenirken Hata Oluştu'; -$l['edu_page_head'] = 'Kullanıcı Düzenle'; -$l['edu_done'] = 'Kullancı Düzenlendi'; -$l['edu_user_email'] = 'E-posta'; -$l['edu_user_password'] = 'Şifre'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'Kurtarma Modunu Açarken Hata Oluştu'; -$l['resc_err_rescue_disable'] = 'Kurtarma Modunu Kapatırken Hata Oluştu'; -$l['resc_err_downloading'] = 'Kurtarma Modu Şablonunu İndirirken Hata Oluştu'; -$l['resc_err_delete_disk'] = 'Kurtarma Modunu Disk Alanı Silerken Hata Oluştu'; -$l['resc_cant_rescue'] = 'Kurtarma Modunu ISO Kullanılırken Müsade Edilmiyor . Lütfen Önce ISO Kaldırın'; -$l['resc_heading'] = 'Kurtarma Modu'; -$l['resc_rescue_exp'] = 'Kurtarma Modu İle Sanal Sunucunudaki Hataları Düzenleyip Bilgileriniz Kurtarma Yedekleri Alma İşlemi Yapabiliriniz.'; -$l['resc_enable_rescue'] = 'Kurtarma Modunu Aç'; -$l['resc_rescue_enabled'] = 'Kurtarma Modu Şu An Açık.'; -$l['resc_disable_rescue'] = 'Kurtama Modunu Kapat'; -$l['resc_rescue_disabled'] = 'Kurtarma Modu Şu An Kapalı'; -$l['resc_resuce_enable_success'] = 'Kurtarma Modunu Açma İşlemi Arka Planda Başladı'; -$l['resc_resuce_disable_success'] = 'Kurtarma Modunu Kapatma İşlemi Arka Planda Başladı'; -$l['resc_rescue_enable_notify'] = ' Kurtama Modunu Açılıyor...'; -$l['resc_rescue_disable_notify'] = 'Kurtarma Modu Kapatılıyor...'; -$l['resc_root_pass'] = 'Root Şifresi'; -$l['resc_root_pass_conf'] = 'Şifreyi Onayla'; -$l['resc_disable_rescue_err'] = 'Kurtarma Modu Yönetici Tarafında Kapatıdı'; -$l['resc_passwords_do_not_match'] = 'Şifrer Uyuşmuyor'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Dil Seçilmedi'; -$l['us_wrong_lang'] = 'Seçtiğiniz Dil Bulunmuyor'; -$l['us_no_timezone'] = 'Saat Dilimi Seçmediniz'; -$l['us_timezone_invalid'] = 'Seçtiğiniz Saat Dilimi Geçersiz.'; -$l['us_wrong_theme'] = 'Seçtiğiniz Arayüz Bulunmuyor'; -$l['us_page_head'] = 'Kullanıcı Ayarları'; -$l['us_change_final'] = 'Ayarlarınız Başarı Olarak Güncellendi'; -$l['us_choose_lang'] = 'Dil Seçiniz'; -$l['us_exp_lang'] = 'Tercih Ettiğiniz Dil Seçiniz'; -$l['us_timezone'] = 'Saat Dilimi'; -$l['us_default_timezone'] = 'Sunucu Saat Dilimi'; -$l['us_edit_settings'] = 'Güncelle'; -$l['us_done'] = 'Ayarlarınız Başarılı Olarak Kayıt Edildi'; -$l['us_choose_theme'] = 'Arayüz Seçiniz '; -$l['us_exp_theme'] = 'Tercih ettiğiniz Arayüz Seçiniz'; -$l['us_no_theme'] = 'Arayüz Seçilmedi'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'Bu Alan Eğer Boş İse Varsayılan Değer Gösterilecek'; -$l['us_vps_bandwidth_threshold'] = 'Sanal Sunucu Trafik Limit İçin Bildirim'; -$l['us_vps_bandwidth_threshold_exp'] = 'Eğer 0(Sıfır) İse Bildirim E-posta Gönderimi kapanır. Değer: %'; -$l['us_no_vps_bandwidth_threshold'] = 'Trafik Limiti Değeri Girmediniz'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Gecersiz Trafik Limit Değeri Girdiniz'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Alan Adı Yönlendirme'; -$l['vdf_serid'] = 'Sunucu'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Protokol'; -$l['vdf_src_hname'] = 'Kaynak Alan Adı/IP'; -$l['vdf_src_dom'] = 'Kaynak Alan Adı'; -$l['vdf_src_ip'] = 'Kaynak IP'; -$l['vdf_src_port'] = 'Kaynak Portu'; -$l['vdf_dest_ip'] = 'Hedef IP’si'; -$l['vdf_dest_port'] = 'Hedef Portu'; - -$l['vdf_add_title'] = 'Yeni Alan Adı Yönlendirme Kaydı'; -$l['vdf_sel_proto'] = 'Porotokol Seç'; -$l['vdf_select_ip'] = 'IP Seç'; - -$l['vdf_no_act_sel'] = 'İşlem Seçilmedi, Birini Seçip Tekrar Deneyiniz'; -$l['vdf_success_add'] = 'Başarı İle Eklendi'; -$l['vdf_success_update'] = 'Veri Güncellemesi Başarılı'; -$l['vdf_success_save'] = 'Güncelleme Kayıt Edildi'; -$l['vdf_no_server_found'] = 'Sunucu Bulunmadı'; -$l['vdf_conf_del_entries'] = ' Seçili Kayıtları Sil ?'; -$l['vdf_success_del_entries'] = 'Kayıtlar Başarılı Olarak Silindi'; -$l['vdf_ser_not_found'] = 'Talep Edilen Sunucu Bulunmadı'; -$l['vps_not_found_on_server'] = 'Talep Edilen '.VM_SHORT.' ({{vpsid}}) Seçilen Suncuda Bulunmadı ({{server}})'; -$l['vdf_proto_no_support'] = 'Protokol ID ({{protocolid}}) Desteklenmiyor'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) Bulunmadı'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) Bulunmadı'; -$l['vdf_inv_ipaddress'] = 'IP Adresi Size Ait Değil'; -$l['vdf_no_vps'] = 'Hiç Bir '.VM_SHORT.' Bulunmadı'; - -$l['vdf_empty_allowed_src_ips'] = 'Müsade Edilen IP Listesi Boş, Yönetici Bu Listeyi Sizin Kullanmınıza Açması Gerekmektedir'; -$l['vdf_inv_src_port'] = 'Kaynak portu ({{src_port}}) Geçersiz port numarası'; -$l['vdf_in_use_src_port'] = 'Kaynak portu ({{src_port}}) Kullanılmakda '; -$l['vdf_inv_src_hostname'] = 'Seçtiğiniz Kaynak Alan Adı ({{src_hostname}}) Geçersiz Alan Adı'; -$l['vdf_inv_src_ip'] = 'Kaynak IP Adresi ({{src_ip}}) Geçersizdir'; -$l['vdf_not_available_src_ip'] = 'Seçtiginiz Kaynak IP Adresi ({{$src_ip}}) '.VM_SHORT.' Alan Adı Yönlendirmesi için Etkin değildir'; -$l['vdf_port_not_supported_tcp'] = 'Kaynak portu ({{src_port}}) TCP Protokolu Desteklemiyor, Sadece : HTTP ve HTTPS Protokolu Desteklemektedir' ; - -$l['vdf_inv_dest_port'] = 'Hedef portu ({{dest_port}}) Geçersiz port numarası'; -$l['vdf_inv_dest_ip'] = 'Hedef IP’si ({{dest_ip}}) Geçersiz IP Adresi veya Bu '.VM_SHORT.'’nin Kullanılması İçin Etkin Değildir'; - -$l['vdf_note_point_domain'] = 'NOT: Alan Adı Yönledirme Çalışması İçin, Bu vps’in Alan Adı ({{src_hostname}}) Bu IP’lerden Birisine yönlendirilmeli:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Kaynak Alan Adı İçin Kayıt Bulunuyor ({{src_hostname}}) ve Kaynak portu ({{src_port}})'; - -$l['vdf_db_query_error'] = ' Sorgulama Sırasında Veri Tabanı Hatası Oluştu. Taleb İşlemi Tamamlanamadı'; -$l['vdf_err_unknown'] = 'İstenilen İstek Sırasında Bilinmiye Bir Hata Oluştu'; - -$l['vdf_err_haproxy_port_empty'] = 'Kaynak Portu Boş'; -$l['vdf_err_haproxy_port_used'] = 'Kaynak Portu {{src_port}} Kulllanılmakda'; -$l['vdf_in_haproxy_reservedports'] = 'Kaynak Portu {{src_port}} Port Listesinde Rezerve Edilmiş Durumda'; -$l['vdf_in_haproxy_reservedports_http'] = 'Kaynak Portu {{src_port}} Rezerve Edilmiş Port Listesinde Sadece HTTP or HTTPS Protokol için Kullananılabilir '; -$l['vdf_notin_haproxy_allowedports'] = 'Kaynak Portu {{src_port}} Müsade Edilen Port Listedinde Mevcut Değil'; - -//VDF Information div lang -$l['vdf_info'] = 'Bilgi'; -$l['vdf_info_server'] = 'Sunucu'; -$l['vdf_info_reservedports'] = 'Rezerve Edilmiş Portlar'; -$l['vdf_info_allowedports'] = 'Müsade Edilen Portlar'; -$l['vdf_info_reservedports_http'] = 'Rezerve Edilmiş Portlar Sadece HTTP/HTTPS İçin kullanılabilir'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Alan Adı Yönlendirme '; -$l['vdf_source'] = 'Kaynak'; -$l['vdf_destination'] = 'Hedef'; -$l['vdf_added'] = 'Eklendi'; -$l['vdf_updated'] = 'Güncellendi'; -$l['vdf_removed'] = 'Kaldırıldı'; -$l['vdf_removed_multiple'] = 'Çoklu Kaldırıldı'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Bu Kaydı Düzenle'; -$l['vdf_tooltip_save'] = 'Bu Kayıtda Yapılan Düzenlemeyi Kayıt Et'; -$l['vdf_tooltip_revert'] = 'Bu Kayıtda Yapılan Düzenlemeyi Geri Getir'; -$l['vdf_tooltip_delete'] = 'Bu Kaydı Sil'; - -$l['vdf_skipped_msg'] = 'Bu Kayıtdaki Veriler Atlandı '; -$l['vdf_skipped_haproxy_reservedports'] = 'Kaynak Portu Port Listesinde Engelli'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Kaynak Port Rezerve Edilmiş portlar Listesinde Sadece HTTP/HTTPS için'; -$l['vdf_skipped_haproxy_allowedports'] = 'Kaynak Port Müsade Edilen Ports Listesinde Yok '; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Sanallaştırm Tipini Seçin'; -$l['li_num_vs_over'] = ' Size Verilen Sanal Sunucu Oluşturma Limitine Ulaştınız'; -$l['li_no_hname'] = 'Lütfen Sunucu Adını Belirtin'; -$l['li_no_os'] = ' '.VM_SHORT.' İçim Bir İşletim Sistemi Seçiniz'; -$l['li_no_rootpass'] = 'Root Şifresi Giriniz'; -$l['li_no_disk_space'] = VM_SHORT.' İçin Disk Alanı '; -$l['li_no_ram'] = VM_SHORT.' İçin RAM Hazıfa'; -$l['li_no_vncpass'] = 'VNC Şifresi'; -$l['li_no_bandwidth'] = VM_SHORT.' Trafik Limiti '; -$l['li_no_cpu_units'] = VM_SHORT.' İçin CPU Basamağı'; -$l['li_no_cpu_cores'] = VM_SHORT.' İçin Çekirdek Adeti'; -$l['li_cores_max'] = 'En Fazla Çekirdek'; -$l['li_invalid_sg'] = 'Seçtiğiniz Bölge Geçersiz'; -$l['li_invalid_plid'] = 'Seçtiğiniz Plan Geçersiz'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_invalid_virt'] = 'Seştiğiniz Bölge Sanal Sunucu Tipini Desteklemiyor'; -$l['li_no_percent_cpu'] = 'Müsade Edilen Cpu Oranı Kullanımı'; -$l['li_no_swap_ram'] = 'SWAP RAM Alanı'; -$l['li_no_burst_ram'] = 'Burstable RAM Limiti'; -$l['li_invalid_os'] = 'İşletim Sistemi Geçersiz'; -$l['li_no_ip'] = VM_SHORT.' İçin En Az Bir IP Adresi Seçiniz'; -$l['li_invalid_uid'] = 'Kullanıcı Bulunmuyor '; -$l['li_no_user'] = ' Kullanıcısının E-posta Belirtmediniz'; -$l['li_no_user_pass'] = 'Kullanıcı Şifresi Girmediniz'; -$l['li_invalid_email'] = 'Geçersiz Kullanıcı E-posta Adresi'; -$l['li_emailexist'] = 'Kullancı E-posta Adresi Sistemde Kayıtlı'; -$l['li_err_user'] = 'Kullanıcı Eklenirken Hata Oluştu.'; -$l['li_invalid_hostname'] = 'Geçersiz Sunucu Adı'; -$l['li_less_ram'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin yeterli RAM’ınız Bulunmuyor'; -$l['li_less_burst'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli Burst RAM’ınız Bulunmuyor'; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli Disk Alanınız Bulunmuyor'; -$l['li_less_inodes'] = 'inodeslar 50000’den daha Fazla Olamamsı Gerekiyor'; -$l['li_less_vs'] = 'Daha Fazla Sanal Sunucu Oluşturmanıza Müsade Edilmiyor'; -$l['li_less_bandwidth'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli Trafik Limitiniz Bulunmuyor'; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IP4 Adresiniz Bulunmuyor'; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Adresiniz Bulunmuyor'; -$l['li_less_ipv6_subnet'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli IPV6 Alt Ağ Adresiniz Bulunmuyor'; -$l['li_max_cores_exceeded'] = 'Bu Kadar Çekirdekli Bir Sanal Sunucu Oluşturmanıza Müsade Edilmiyor'; -$l['li_less_cores'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli CPU Çekirdek Limitiniz Bulunmuyor'; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'Kullanıcı Oluşturma Limitinize Ulaşitiniz'; -$l['li_no_server'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli Kaynak Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['li_ipv4_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv4 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['li_ipv6_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['li_ipv6_subnet_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Alt Ağ Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['li_no_webuzo_template'] = 'Seçmis Olduğunuz işletim Sistemi Webuzo İçine Değildir '; -$l['li_err_swapsize'] = ' SWAP Alanı Sanal Sunucu Disk Alanı Kadar veya daha Büyük olamaz'; -$l['li_inv_kvm_cache'] = 'Geçersiz Disk Önbellek'; -$l['li_inv_io_mode'] = 'I/O İlkesi Geçersiz'; -$l['li_inv_vnc_keymap'] = 'VNC Keymap Geçersiz'; -$l['li_err_vpslimit'] = VM_SHORT.' Oluşturma Limiti Aşıldı'; -$l['li_page_head'] = 'İstek Oluştur'; -$l['li_vstype'] = 'Tipi'; -$l['li_done'] = 'Sanal Sunucu Oluşturuldu'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Adı'; -$l['li_newvs_rootpass'] = 'Root Şifresi'; -$l['li_newvs_vnc'] = 'VNC Ayrıntıları'; -$l['li_newvs_vncpass'] = 'VNC Şifresi'; -$l['li_newvs_ips'] = 'IPler'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Sunucu'; -$l['li_exp_server'] = 'Sunucuyu Değiştirmek İçin Güncel Sunucuyu Değiştirin'; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'Kullanıcı'; -$l['li_vs_user_exp'] = 'Bir Kullanıcı Seçiniz veya Ekleyiniz'; -$l['li_user_email'] = 'Kullanıcı E-posta Adresi'; -$l['li_user_pass'] = 'Şifre'; -$l['li_add_user'] = 'Kullanıcı Ekle'; -$l['li_regions'] = 'Bölge'; -$l['li_virt_type'] = 'Sanallaştırma'; -$l['li_os'] = 'İşletim Sistemi'; -$l['li_select'] = 'Seç'; -$l['li_vs_plan'] = 'Plan Seç'; -$l['li_plan_exp'] = 'Önçeden Ayarlanmış Bir Plan Seçiniz'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Bu '.VM_SHORT.' İçin Tam Sanallaştırmaya Müsade Ediyormusunuz ?'; -$l['li_vsos'] = 'İşletim Sistemi'; -$l['li_vsos_exp'] = 'Sanal Sunucu İçin İşletim Sistemi Seçiniz'; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'ISO Seçilirse '.VM_SHORT.' ISO’dan Başlatılır.'; -$l['li_sec_vsiso'] = 'ISO ikinci CDROM İçin '; -$l['li_sec_vsiso_exp'] = 'ikinci CDROM İçin Bir ISO Seçiniz'; -$l['li_none'] = 'Hiç Biri'; -$l['li_rootpass'] = VM_SHORT.' Root Şifresi'; -$l['li_rootpass_exp'] = VM_SHORT.' İçin Root/ Yönetici Şifresi'; -$l['li_randpass'] = 'Başka Bir Şifre Oluştur'; -$l['li_hostname'] = 'Sunucu Adı'; -$l['li_hostname_exp'] = VM_SHORT.' İçin Sunucu Adı Giriniz. Şrnek ;Sunucu.domain.com'; -$l['li_ip'] = 'IP Adresi'; -$l['li_ips'] = 'IP Adresi'; -$l['li_ips_exp'] = VM_SHORT.'’ye Eklemek İçin IP Adresi Adeti Girin'; -$l['li_ips6_subnet'] = 'IPv6 Alt Ağ'; -$l['li_ips6_subnet_exp'] = VM_SHORT.'’ye Eklemek İçin IPv6 Adresi Adedi Girin'; -$l['li_ips6'] = 'IPv6 Adresi'; -$l['li_ips6_exp'] = 'IPv6 Adedi Girebilirsiniz'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = ' Bu IP’yi Kaldır'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Disk Alanı'; -$l['li_exp_hdd'] = VM_SHORT.' İçin Disk Alan Limiti'; -$l['li_mac'] = 'MAC Adresi'; -$l['li_exp_mac'] = 'Altı Gruptan Oluşan (:) İle Ayrılan Değerler Giriniz Örnek 01:23:45:67:89:ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = VM_SHORT.' İçin Inodes Limiti Gerekli Olan Değer 50000 veya Yukarı Bir Değer Giriniz '; -$l['li_gram'] = 'Garanti Edilen '.VM_SHORT.' RAM’ı'; -$l['li_exp_gram'] = VM_SHORT.' İçin Ayrınmiş Olan Garanti Edilen RAM'; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'Sanal Sunucunun Kullanabileceği En Fazla RAM Limiti'; -$l['li_swap'] = 'Swap RAM’ı'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'Yukardaki Bir işletim Sistemi Seçerseniz SWAP Oluşturmaya Çalışılacaktır. '; -$l['li_band'] = 'Band Genişliği Limiti'; -$l['li_exp_band'] = VM_SHORT.' Aylık Band Genişliği Limiti 0 (Sıfır) Değeri = Sınırsız'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'CPU Basamağı'; -$l['li_cpalloc'] = 'Müsade Edilen CPU Basamağı'; -$l['li_cpalloc_xen'] = 'Gerekli Değer : 256'; -$l['li_cpalloc_openvz'] = 'Gerekli Değer : 1000'; -$l['li_cpalloc_kvm'] = 'Gerekli Değer : 1024'; -$l['li_units'] = 'Basamak'; -$l['li_cores'] = 'CPU Çekirdeği'; -$l['li_cpucore_exp'] = 'Gerekli Değer :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'CPU Süresinin Yüzde Cinsinden Karşılık Gelen '.VM_SHORT.' Değerini Aşmasına İzin Verilmez.
Değer 0 Sınırsız.
Gerekli Değer : 40'; -$l['li_io'] = 'I/O Önceliği'; -$l['li_io0-7'] = '0-7 Arasında Bir Değer Seçiniz'; -$l['li_na'] = 'AĞ Hızı'; -$l['li_na_exp'] = 'Ağ Hız Değeri Kullanın'; -$l['li_ubcsettings'] = 'UBC Ayarları'; -$l['li_exp_ubc'] = 'Eger Seçildiyse '.VM_SHORT.'’nin UBC Ayarlarına Yönlendireleceksiniz '; -$l['li_submit'] = 'Oluştur'; -$l['li_addvoption'] = 'Gelişmii Ayarlar'; -$l['li_addvhide'] = 'Gelişmiş Ayarlar Gizle'; -$l['li_network_speed'] = 'AĞ Hızı'; -$l['li_network_speed_exp'] = 'Sınırsız İçin 0 (Sıfır) Değeri veya Boş Bırakın.
veya Kutadan Hazır Bir Değer Seçiniz'; -$l['li_upload_speed'] = 'Gönderme Hızı'; -$l['li_upload_speed_exp'] = 'Sınırsız İçin 0 (Sıfır) Değeri veya Boş Bırakın.
veya Kutadan Hazır Bir Değer Seçiniz'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'Limitsiz'; -$l['li_shadow'] = 'Hafızayı Göster'; -$l['li_shadow_exp'] = 'Gerekli Değer : 8 MB'; -$l['li_vncpass'] = 'VNC Şifresi'; -$l['li_vncpass_exp'] = VM_SHORT.' İçin VNC Şifresi. Sembole Tıklıyarak Yeni Bir Şifre Oluşturunuz'; -$l['li_free'] = 'Boş'; -$l['li_band_suspend'] = 'Band Genişliği Askıda '; -$l['li_exp_band_suspend'] = 'Band Genişliği Limitini Aşan '.VM_SHORT.'’i Askıya Al'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = VM_SHORT.' İçin Tun/Tap Aç'; -$l['li_exp_ppp'] = VM_SHORT.' İçin PPP (Point to Point Protocol) Aç'; -$l['li_osreinstall'] = 'İşletim Sistemi Tekrar Kurulum Limiti'; -$l['li_exp_osreinstall'] = 'İşletim Sistemi Kurulumu Aylık Limitlemek İçin.
örnek. 0 - Sınırsız'; -$l['li_changenic'] = 'Sanal Ağ Tipi'; -$l['li_exp_changenic'] = 'Ağ Tipi Değiştirmek İstiyorsanız. Olanaklar Güncel veya E1000. virtio Sanal NİC Tipi Olarak Kullanılacak Eğer virtio Açık İse' ; -$l['li_add_route'] = 'Routed Ağ Kullan'; -$l['li_exp_add_route'] = 'Bu Seçildimi, Dolaştırılan (routed) Ağ Kullanılacaktır.'; -$l['li_nic_default'] = 'Realtek 8139(Geçerli)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Sanal Ağ Interface Emülasyonu '; -$l['li_exp_change_vif_type'] = 'Sanal Ağ Interface Emülasyonu Tipi Değiştirmek İstiyorsanız. Olanaklar netfront Veya ioemu.'; -$l['li_viftype_ioemu'] = 'İoemu'; -$l['li_viftype_netfront'] = 'Netfront (Gecerli)'; -$l['li_usevirtio'] = 'virtio Aç'; -$l['li_exp_usevirtio'] = 'virtio IO Sanalaştırma Olarak Kullan'; -$l['li_usesec_cdrom'] = 'İkinci CD ROM Aç'; -$l['li_exp_usesec_cdrom'] = 'Sanal Sunucuda İkinçi CD ROM ISO Kullanımını Aç.'; -$l['li_kvm_cache'] = 'Disk Önbellek'; -$l['li_exp_kvm_cache'] = 'Önbekllek Kontrol Düzeni '; -$l['li_io_mode'] = 'I/O İlkesi'; -$l['li_vnc_keymap'] = 'VNC Konsol Anahtarı'; -$l['li_dns'] = 'DNS Ad Sunucuları'; -$l['li_exp_dns'] = 'Hakkında Bilgi Sahibi Değilseniz 4.2.2.1 ve 4.2.2.2 Kullanın'; -$l['li_mg'] = 'Medya Grupları'; -$l['li_mg_exp'] = 'Eğer Medya Grup Oluşturulmadıysa Bütün Medya Grupları '.VM_SHORT.' İçin Geçerli Olaçaktır .'; -$l['li_apps'] = 'Uygulamalar'; -$l['li_apps_exp'] = 'Kurmak İstediğiniz Webuzo Uygulaması Seçiniz'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'Bu Açılıksa, '.VM_SHORT.' Ploop Formatı İle Format olacaktır. '; -$l['li_mac_temp_vncdetails'] = 'MAC Adresi :'; -$l['li_mail_temp_vnctitle'] = 'VNC Ayrıntıları :'; -$l['li_mail_temp_vncdetails'] = 'VNC Ayrıntıları :'; -$l['li_mail_temp_vncpasswd'] = 'VNC Şifresi :'; -$l['li_reinstall'] = 'Sanal Sunucuyu Tekrar Kur'; -$l['li_space'] = 'Disk Alanı'; -$l['li_space_exp'] = VM_SHORT.' İçin Müsade Edilien Disk Alanı '; -$l['li_ram'] = 'Garanti Edilen RAM'; -$l['li_ram_exp'] = VM_SHORT.' İçin Geçerli Olan Garantili RAM (Hafıza)'; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = VM_SHORT.'’nin Kullanabileceği En Fazla RAM (hafıza)'; -$l['li_swap'] = 'Swap Alanı'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'Yukardaki Bir İşletim Sistemi Seçerseniz SWAP Oluşturmaya Çalışılacaktır.'; -$l['li_bandwidth'] = 'Band Genişliği Limiti'; -$l['li_bandwidth_exp'] = VM_SHORT.' Aylık Band Genişliği Limiti 0 (Sıfır) Değeri = Lımitsiz'; -$l['li_free'] = 'Boş'; -$l['li_unlimited'] = 'Sınırsız'; -$l['li_submit'] = 'Oluştur'; -$l['li_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Rakam Özel Karakter'; -$l['li_usevirtio'] = 'virtio Aç'; -$l['li_usevirtio_exp'] = 'virtio I/O Sanallaştırma Olarak Kullan'; -$l['li_plan_name'] = 'Plan Adı'; -$l['li_plan_details'] = 'Plan Ayrıntıları'; -$l['li_new_vps_info'] = 'Yeni '.VM_SHORT; -$l['li_back'] = 'Geri'; -$l['li_continue'] = 'Devam Et'; -$l['li_nic'] = 'Sanal Ağ Arayüzü Tipi'; -$l['li_nic_exp'] = 'Sanal Ağ Arayüz Tipi Seç.'; -$l['li_vif'] = 'Sanal Ağ emülasyon Tipi'; -$l['li_vif_exp'] = 'Sanal Ağ emülasyon Tipi Seçiniz. Olanaklar netfront veya ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topolojisi'; -$l['li_enable_cpu_topology_exp'] = VM_SHORT.' İçin Çekirdek Değerleri'; -$l['li_inv_topology'] = ' Geçersiz CPU Topoloji Değeri. Bütün Topoloji Değerleri Sıfırdan Büyük Olmalı '; -$l['li_err_topology_calc'] = 'CPU Çekirdek Değeri Topolojisi Limitine Eşit Olması Gerekmektedir (CPU cekirdekleri = Sockets x Topoloji Çekirdek x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU İş Parçacığı'; -$l['li_month'] = 'Ay'; -$l['li_hour'] = 'Saat'; -$l['li_invalid_plid'] = 'Seçtiginiz Plan Geçersiz'; -$l['li_install_app'] = 'Uygulama Kur'; -$l['li_install_app_exp'] = 'NOT: Webuzo Yönetim Paneli Kur'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Bilgileri Düzenle'; -$l['ei_vs_user'] = 'Kullanıcı'; -$l['ei_vs_user_exp'] = 'Kayıtlı Olan Bir Kullanıcı Seçiniz veya Yeni Kullanıcı Ekle'; -$l['ei_user_email'] = 'E-posta Adresi'; -$l['ei_user_pass'] = 'Şifre'; -$l['ei_add_user'] = 'Kullanıcı Ekle'; -$l['ei_unknown'] = 'Bilinmiyor'; -$l['ei_vsos'] = 'İşletim Sistemi'; -$l['ei_vsos_exp'] = 'Bu Sanal Sunucuda Aktiv Olan İşletim Sistemi'; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'Eğer ISO Seçildi İse Sanal Sunucu BU ISO’dan Başlayacaktır'; -$l['ei_none'] = 'Yok'; -$l['ei_hostname'] = 'Sunucu Adı'; -$l['ei_hostname_exp'] = 'Sanal Sunucu Adı Giriniz. Örnek: Sunucu.domain.com'; -$l['ei_rootpass'] = 'Sanal Sunucu Root Şifresi'; -$l['ei_rootpass_exp'] = 'Gecerli Olan Şifreyi Değiştirmek İstemiyorsanız Boş Bırakın'; -$l['ei_randpass'] = 'Bir Şifre Oluştur.'; -$l['ei_ip'] = 'IP Adresi'; -$l['ei_ips_exp'] = 'IP Havuzundan IP Seçiniz. veya IP Giriniz.'; -$l['ei_ips6_subnet'] = 'IPv6 Alt Ağ'; -$l['ei_ips6_subnet_exp'] = 'IPv6 Alt Ağ Listesinden Seçebilirsiniz'; -$l['ei_free'] = 'Boşda'; -$l['ei_ips6'] = 'IPv6 Adresi'; -$l['ei_ips6_exp'] = 'Kullanmak İstediğiniz IPv6 Adresi Adeti Girebilirsiniz'; -$l['ei_space'] = 'Disk Alanı'; -$l['ei_space_exp'] = 'Sanal Sunucu Disk Alanı'; -$l['ei_ram'] = 'Garanti RAM'; -$l['ei_ram_exp'] = 'Sadece Bu Sanal Sunucu İçin Ayrılmiş Garanti edilen RAM'; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'Sanal Sunucunun Kullanabıleceği En Fazla RAM (Hafıza) Limiti'; -$l['ei_swap'] = 'Swap Alanı'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Band Genişliği'; -$l['ei_bandwidth_exp'] = 'Sanal Sunucu Aylık Trafik Kotası. 0 (Sıfır) Limitsiz'; -$l['ei_cores'] = 'CPU Adeti'; -$l['ei_cpucore_exp'] = 'Tavsiye Edılen Değer:'; -$l['ei_cores_max'] = 'En Fazla Cpu'; -$l['ei_unlimited'] = 'Sınırsız'; -$l['ei_network_speed'] = 'AĞ Hızı'; -$l['ei_network_speed_exp'] = 'Sınırsız 0 veya Boş Bırakın.
veya Listeden Seçiniz'; -$l['ei_upload_speed'] = 'Yükleme Hızı'; -$l['ei_upload_speed_exp'] = 'Sınırsız 0 veya Boş Bırakın.
veya Listeden Seçiniz'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'Sınırsız'; -$l['ei_vncpass'] = 'VNC Şifresi'; -$l['ei_vncpass_exp'] = VM_SHORT.' İçin VNC Şifresi. Simge Tıklıyarak Bir Şifre Oluşturun '; -$l['ei_submit'] = 'Sanal Sunucu Düzenleme'; -$l['ei_done'] = 'Sanal Sunucu Başarılı Olarak Düzelendi.'; -$l['ei_addvoption'] = 'Gelişmiş Ayarlar'; -$l['ei_no_uid'] = 'Kullanıcı Seçilmedi'; -$l['ei_no_nonalphanumeric'] = 'Özel Karakterler VNC Şifresinde Kullanmazyınız'; -$l['ei_less_space'] = 'Bu Sanal Sunucuyu Oluşturmak İçin Yeterli Disk Alanı Bulunmamakta.'; -$l['ei_less_ram'] = 'Bu Sanal Sunucuyu Oluşturmak İçin Yeterli RAM Bulunmamakta'; -$l['ei_max_cores_exceeded'] = VM_SHORT.' Oluşturuken Kullandıgınız Çekirdek Sayısı İle Sanal Sunucu Oluşturamazsınız'; -$l['ei_less_cores'] = 'Bu '.VM_SHORT.' Oluşturuacak Yetirli Kadar CPU Çekirdek İzniniz Bulunmaktadır '; -$l['ei_less_burst'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli Burst Ram’ınız Yok'; -$l['ei_ipv4_over'] = 'Seçmiş oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv4 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['ei_ipv6_over'] = 'Seçmiş oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['ei_ipv6_subnet_over'] = 'Seçmiş Oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Alt Ağ Bulunmuyor. Lütfen Destek Talebinde Açınız'; -$l['ei_less_ipv4'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IP4 Adresiniz Bulunmuyor'; -$l['ei_less_ipv6'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Adresiniz Bulunmuyor'; -$l['ei_less_ipv6_subnet'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Alt Ağ Adresiniz Bulunmuyor'; -$l['ei_wrong_user'] = 'Bu Kullanıcıya Geçiremezsiniz'; -$l['ei_only_user'] = VM_SHORT.' Kullaanıcı Düzelenirken Sanal Sunucu Kaynaklarını değiştirilemez'; -$l['ei_less_swap'] = 'Yeterliz SWAP Alanı'; -$l['ei_usevirtio'] = 'virtio Aç'; -$l['ei_usevirtio_exp'] = 'virtio I/O Sanallaştırma Olarak Kullan'; -$l['ei_less_bandwidth'] = 'Bu '.VM_SHORT.'’yi Ulaşmak İçin Yeterli Band Genişliği Limitiniz Bulunmuyor'; -$l['ei_enable_cpu_topology'] = 'CPU Topolojisi Aç'; -$l['ei_enable_cpu_topology_exp'] = VM_SHORT.' İçin Çekirdek Değerleri'; -$l['ei_inv_topology'] = 'Geçersiz CPU Topoloji Değeri. Bütün Topoloji Değerleri Sıfırdan Büyük Olmalı'; -$l['ei_err_topology_calc'] = 'CPU Çekirdek Değeri Topolojisi Limiitine Eşit Olması Gerekmektedir (CPU Çekirdekleri = Sockets x Topoloji Çekirdek x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Plana Eklendi'; -$l['ei_add_pricing'] = 'Ek Fiyatlar'; -$l['ei_plan'] = 'Şu Anki Plan'; -$l['ei_plan_exp'] = 'Değiştirmek İstediğiniz Planı Seçiniz Not :Eğer Kullandıgınız Kaynaklarınız Plandan daha Fazla İse Kaynak Kullanımana Göre Ek Fiyat Ödemek Zorundasınız.'; -$l['ei_plid_space'] = 'Alt Plana Geçemezsiniz'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Geçersiz Yönetim Paneli Seçtiniz'; -$l['cpan_err_installing'] = 'Yönetim Panel Kurulumunda Hata Oluştu'; -$l['cpan_wrong_os'] = 'Yönetim Paneli Kurulamaz '; -$l['cpan_confirm'] = 'Bu Yönetim Panelini Kurmak İstiyormusunuz ? Sanal Sunucu Üzerine Kurulum İçin Gerekli Dosyalar İndirip Kurulacaktır. Bu İşlem 90 Dakika Kadar Sürebilir. İşlemleri SSH Üzerinden İzliyebilirsiniz.'; -$l['cpan_done'] = 'Yönetim Panel Kurulumu Başladı ve En Kısa Sürede Bitecek.'; -$l['cpan_change_onboot'] = 'Yönetim Paneli Kurulumu '.VM_SHORT.'’i Kapatıp Açtıkdan Sonra Başlıyacaktır. '; -$l['cpan_vps_start'] = 'Sanal Sunucu Çalışmıyor! Önce Sanal Sunucuyu Çalıştırın.'; -$l['cpan_heading'] = 'Yönetim Panelleri'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Yedekleme'; -$l['bkup2_list_head'] = VM_SHORT.' ID’sinin Yedekleri: '; -$l['bkup2_list_exp'] = 'Bu '.VM_SHORT.'’nin Hangi Yedeklemelerinin Mevcut Olduğu Tarihleri Aşağıda Listelenmiştir. Bunları Uygun Şekilde Geri Yükleyebilir veya Silebilirsiniz..'; -$l['bkup2_date'] = 'Yedekleme Tarihi'; -$l['bkup2_size'] = 'Boyutu'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Geri Al'; -$l['bkup2_delete'] = 'Yedek Sil'; -$l['bkup2_now'] = 'Şimdi Yedekle '; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Bu Yedekden '.VM_SHORT.' Geri Almak İstiyormusunuz ?'; -$l['bkup2_conf_delete'] = 'Bu yedeği Silmek İstiyormusunuz ?'; -$l['bkup2_list'] = 'Yedekler Listesi'; -$l['bkup2_settings'] = 'Ayarlar'; -$l['bkup2_backup_server'] = 'Yedekleme Sunucusu'; -$l['bkup2_backup_server_exp'] = 'Seçilen Yedekleme Sunucusunu Yedekler Aktarılacaktır'; -$l['bkup2_none'] = 'Hiç Biri'; -$l['bkup2_server'] = 'Yedekleme Sunucusu'; -$l['bkup2_no_day'] = 'Yedekleme Günü Belirtin'; -$l['bkup2_no_date'] = 'Geçersiz Yedekleme Günü Belirtiniz'; -$l['bkup2_no_freq'] = 'Lütfen Yedekleme Geçerli Aralığı Belirtiniz'; -$l['bkup2_no_time'] = 'Lütfen Geçerli Zaman Birimi Belirtin '; -$l['bkup2_no_bserid'] = 'Lütfen Yedekleme Sunucusu Belirtin'; -$l['bkup2_done_backup'] = VM_SHORT.' Yedekleme İşlemi Başlatıldı. Yedek Oluşturulması İçin Bekleyiniz. Yedek Oluşturuldumu Email İle Size Bildirilecektir.'; -$l['bkup2_done_restore'] = VM_SHORT.' Yedekden Tekrar Oluşturma İşleme Başlatıdı. '.VM_SHORT.' Yedekden Tekrar Oluşturulması İçin Bekleyiniz. '.VM_SHORT.' Tekrar Oluşturuldumu E-posta İle Size Bildirilecektir.'; -$l['bkup2_done_delete'] = VM_SHORT.'’nin Yedeği Başarılı Olarak Silindi'; -$l['bkup2_done_save_settings'] = 'Yedekleme Ayarları Kayıt Edildi.'; -$l['bkup2_err_backup'] = 'Yedek Oluşturulurken Hata Oluştu'; -$l['bkup2_err_restore'] = VM_SHORT.' Yedekden Tekrar Oluşturulurken Hata Oluştu'; -$l['bkup2_err_deletevpsbackup'] = VM_SHORT.' Silinirken Bir Hata Oluştur'; -$l['bkup2_err_backup_not_allowed'] = 'Bu '.VM_SHORT.'’nin Yedek Oluşturma İzni Yok'; -$l['bkup2_err_task_running'] = 'Bu '.VM_SHORT.' İçin Yedekleme veya Tekrar Oluşturma İşlemi Çalişmakta. Bitemesini Bekleyiniz'; -$l['bkup2_err_backup_limit'] = 'Bu '.VM_SHORT.' İçin Aylık Yedekleme Limitine Ulaştınız.'; -$l['bkup2_err_restore_limit'] = 'Bu '.VM_SHORT.' Aylık Tekrar Oluşruma Limitine Ulaştınız.'; -$l['bkup2_err_save_settings'] = 'Yedekleme Ayarları Kayıt Edilirken Hata Oluştu'; -$l['bkup2_monthly_bkups_used'] = 'Kullanılan Aylık Yedek Limiti:'; -$l['bkup2_monthly_restores_used'] = 'Kullanılan Aylık Oluşturma Limiti:'; -$l['bkup2_current_cycle'] = 'Günçel Döngü:'; -$l['bkup2_unlimited'] = 'Sınırsız'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'Bu Sanallaştırma HVM Ayaraları Bulunmuyor'; -$l['hvm_rescue_enabled'] = 'Bu '.VM_SHORT.' Kurtarma Modunda Değişiklik Yapılamaz'; -$l['hvm_invalid_iso'] = 'Geçersiz ISO Seçtiniz'; -$l['hvm_err_editing'] = ' Ayarlar Kayıt Edilirken Hata Oluştu'; -$l['hvm_heading'] = 'HVM Ayarları'; -$l['hvm_submit_button'] = 'Onayla'; -$l['hvm_done'] = 'Ayarlar Başarılı Olarak Kayıt Edildi'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Önyükleme Sırası'; -$l['hvm_isos'] = 'ISO Seç'; -$l['hvm_none'] = 'Hiç Biri'; -$l['hvm_tuntap_enable'] = 'Tun/Tap Aç'; -$l['hvm_ppp_enable'] = 'PPP( Point to Point Protocol) Aç'; -$l['hvm_disabled'] = 'HVM Ayarları Yönetici Tarafından Kapatıldı'; -$l['hvm_hdd'] = 'Disk'; -$l['hvm_cdrom'] = 'CD Sürücüsü'; -$l['hvm_vnc_keymap'] = 'VNC Konsol Anahtarı'; -$l['hvm_enable_vga'] = 'VGA Aç'; -$l['hvm_enable_acceleration'] = 'Hızlandırmayı Aç'; -$l['hvm_enable_acceleration_exp'] = 'Eğer Seçilirse '.VM_SHORT.' İçin 2D ve 3D Hızlandırıcı Açılacaktır'; -$l['hvm_sec_iso'] = 'İkinci CDROM İçin ISO '; -$l['hvm_sec_iso_exp'] = 'İkinci CDROM İçin ISO Seç'; -$l['hvm_nic_type'] = 'Sanal AĞ Tipi'; -$l['hvm_nic_type_exp'] = 'Eğer Ağ Tipi Değiştirmek İstiyorsanız. Olanaklar Güncel veya E1000. virtio Bunu Sanal nic’i virtio Açıksa Kullanacaktır.'; -$l['nic_default'] = 'Realtek 8139(Geçerli)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Virtio Aç'; -$l['hvm_fuse'] = VM_SHORT.'(lerde) Fuse Aktif Et'; -$l['hvm_fuse_exp'] = 'Şeçilirse, Yeni Bir '.VM_SHORT.' Oluşturulurken Fuse Aktiv Edileçek.'; -$l['hvm_ipip'] = 'IPIP '.VM_SHORT.'(lerde) Aktif Et)'; -$l['hvm_ipip_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken IPIP Aktiv Edileçek.'; -$l['hvm_ipgre'] = VM_SHORT.'(lerde) IPGRE Aktif Et'; -$l['hvm_ipgre_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken IPGRE Aktiv Edileçek.'; -$l['hvm_nfs'] = VM_SHORT.'(lerde) NFS Aktif Et'; -$l['hvm_nfs_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken NFS Aktiv Edileçek.'; -$l['hvm_quotaugidlimit'] = VM_SHORT.'(lerde) QUOTAUGIDLIMIT Aktif Et '; -$l['hvm_quotaugidlimit_exp'] = VM_SHORT.'’lerde Disk Kotaları Kullanıcı veya Guruplara Göre Açma Kapatma. Eğer Değer 0 (Sıfır) veya Boş İse Disk Kotaları '.VM_SHORT.'’lerlerde Kapalı Olaçaktır ve Hesaplanmıyacaktır..
- NOT: Bu, Sanal Sunuculari yeniden başlatır.'; -$l['hvm_iolimit'] = VM_SHORT.'(lerde) İndirme/ Gönderme Hızı'; -$l['hvm_iolimit_exp'] = 'Eğer Seçildi İse '.VM_SHORT.' Sınırlandırılmış Upload/Download Limitini Geçemez.'; -$l['hvm_iopslimit'] = VM_SHORT.'(lerde) IPOS Limitini Aktif Et.'; -$l['hvm_iopslimit_exp'] = 'Eger Seçildi İse, Saniyedeki Okuma /Yazma Hız İşlemi Limitini Geçemiyecektir. '; -$l['hvm_admin_iso'] = 'Admin ISO’ları'; -$l['hvm_user_iso'] = 'Kullanıcı ISO’ları'; -$l['hvm_addiso'] = 'ISO Ekle'; -$l['hvm_listiso'] = 'ISO Listesi'; -$l['hvm_timezone'] = VM_SHORT.' Saat Dilimi'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU Bilgileri'; -$l['cpu_totalcpu'] = 'Toplam CPU :'; -$l['cpu_cpuutilised'] = 'Kullanılan : '; -$l['cpu_poweredby'] = 'Tarafından : '; -$l['cpu_graphheader'] = 'CPU Kullanımı'; -$l['cpu_trademarks'] = 'Kullanılan Tüm Logolar, İlgili Şirketlerin Ticari Markaları veya Tescilli Ticari Markalarıdır.'; -$l['cpu_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır..'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM Bilgileri'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Garanti Edilen RAM : '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Kullanılan :'; -$l['ram_percentram'] = 'Kullanım % :'; -$l['ram_graphheader'] = 'RAM Kullanımı'; -$l['ram_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Sürücü'; -$l['disk_diskinfo'] = 'Disk Bilgileri'; -$l['disk_totaldisk'] = 'Toplam Disk : '; -$l['disk_diskutilised'] = 'Kullanılan : '; -$l['disk_percentdisk'] = 'Kullanım % : '; -$l['disk_graphheader'] = 'Disk Kullanım'; -$l['disk_inodesinfo'] ='Inodes Bilgileri'; -$l['disk_inodestotal'] = 'Toplam Inodes :'; -$l['disk_inodesutilised'] = 'Kullanılan : '; -$l['disk_percent_inodes'] = 'Kullanım % :'; -$l['disk_inodesheader'] = 'Inodes Kullanımı'; -$l['disk_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Band Genişliği'; -$l['band_bandwidthinfo'] = 'Band Genişliği Bilgileri'; -$l['band_Total_Bandwidth'] = 'Toplam Band Genişliği :'; -$l['band_bandwidth_utilized'] = 'Kullanılan : '; -$l['band_percent_utilized'] = '% Kullanılan : '; -$l['band_graphheader'] = 'Bant Genişliği Kullanımı'; -$l['band_unlimited'] = 'Sınırzız'; -$l['band_network_speed'] = 'Anlık Ağ Hızı (MB/s)'; -$l['band_prev'] = 'Önceki Ay'; -$l['band_next'] = 'Sonraki Ay'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Seri Konsolu Kapalı'; -$l['cs_call_failed'] = 'API Bağlantısı Kurulamadı . Destek Talebinde Bulunun'; -$l['cs_heading'] = 'Seri Konsolu'; -$l['cs_none'] = 'Geçerli Seri Konsol Oturumu Bulunmadı Lütfen Yenisini Oluşturun !'; -$l['cs_create'] = 'Oturum Oluştur'; -$l['cs_creating'] = 'Oturum Oluşturuluyor ...'; -$l['cs_destroying'] = 'Oturumu Siliniyor ...'; -$l['cs_details'] = 'Konsol Ayrıntıları'; -$l['cs_expires'] = 'Süresi'; -$l['cs_ip'] = 'IP Adresi'; -$l['cs_port'] = 'Portu'; -$l['cs_username'] = 'Kullanıcı Adı'; -$l['cs_password'] = 'Şifre'; -$l['cs_destroy'] = 'Oturumu Sil'; -$l['cs_java_console'] = 'Java Konsolu'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Durum Kayıtları'; -$l['sts_running'] = 'Çalışıyor'; -$l['sts_stopped'] = 'Durdu'; -$l['sts_sts'] = 'Sistem Durumu'; -$l['sts_time'] = 'Zaman'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'Sistem Uyarıları'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Görevler'; -$l['tasks_task_started'] = 'Görev Başladı'; -$l['tasks_no_tasks'] = 'Bu Kullanıcı İçin Aktif Bir Görev Yok'; -$l['tasks_addvs'] = VM_SHORT.' Oluşturuluyor'; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Geri Yükleme İçin '.VM_SHORT.' Oluşturuluyor'; -$l['tasks_fstab_handle'] = 'FS Sekme Tutamacı'; -$l['tasks_deletevs'] = 'Sanal Sunucu Siliniyor '.VM_SHORT; -$l['tasks_migrateprog'] = VM_SHORT.'’yi Taşıma'; -$l['tasks_migratedest'] = VM_SHORT.'’yi Taşıma'; -$l['tasks_multivirt'] = 'Multivirt’yi Etkinleştir'; -$l['tasks_createtemplate'] = 'Şablon Oluşturma'; -$l['tasks_getos'] = 'İşletim Sistemi İndiriyor'; -$l['tasks_rebuildvs'] = 'Sanal Sunucu Yeniden Oluşturuluyor.'; -$l['tasks_resizevps'] = 'Sanal Sunucu Diski Düzenleniyor'; -$l['tasks_bandwidth_unsuspend'] = 'Bant Genişliği Akısını Kaldır'; -$l['tasks_removed_speed_capped'] = 'Ağ Hızı Geri Yükle'; -$l['tasks_restorevps'] = VM_SHORT.'’yi Geri Yükleme'; -$l['tasks_vpsbackups'] = VM_SHORT.'’yi Yedekle'; -$l['tasks_restorevps_plan'] = VM_SHORT.'’yi Geri Yükleme'; -$l['tasks_vpsbackups_plan'] = VM_SHORT.'’yi Yedekleme'; -$l['tasks_restore'] = VM_SHORT.'’yi Geri Yükleme'; -$l['tasks_backup'] = VM_SHORT.'’yi Yedekle'; -$l['tasks_change_dnsnameserver'] = 'DNS Ad Sunucusunu Değiştirme'; -$l['tasks_changepassword'] = 'Şifre Değiştirme'; -$l['tasks_sync_config'] = 'Senkronizasyon Yapılandırması'; -$l['tasks_install_cp'] = 'Yönetim Paneli Kur'; -$l['tasks_install_recipe'] = 'Uygulama (Bash) Kur'; -$l['tasks_hostname'] = 'Ana Bilgisayar Adını Değiştirme'; -$l['tasks_editxcpvs'] = VM_SHORT.' XCP Düzele'; -$l['tasks_error'] = 'Hatalı'; -$l['tasks_inprogress'] = 'Devam Etmekte'; -$l['tasks_order'] = 'Sıra'; -$l['tasks_asc'] = 'Artan'; -$l['tasks_desc'] = 'Azalan'; -$l['tasks_submit'] = 'Ara'; -$l['tasks_progress'] = 'İşlem'; -$l['tasks_completed'] = 'Görev Bitti'; -$l['tasks_task_notcomplete'] = 'Görev Tamamlanamadı.'; -$l['tasks_task_notupdated'] = 'Görev Güncellenmedi !'; -$l['tasks_task_notupdated_status'] = 'İzlenemeyen İşlem'; -$l['tasks_migrate_speed'] = 'Taşıma Hızı: '; -$l['tasks_started'] = 'Başladı'; -$l['tasks_updated'] = 'Güncellendi'; -$l['tasks_ended'] = 'Bitti'; -$l['tasks_notupdated'] = 'Güncellenmedi'; -$l['tasks_unslaved'] = 'Slave-Sunucu Ayrıldı'; -$l['tasks_not_started'] = 'Görev Başlamadı'; -$l['tasks_not_updated'] = 'Görev Güncellenmedi'; -$l['tasks_not_ended'] = 'Görev Bitmedi'; -$l['tasks_start_vps'] = VM_SHORT.' Başlat'; -$l['tasks_start_vps_error'] = VM_SHORT.' Başlatılırken Hata Oluştu'; -$l['tasks_restart_vps'] = VM_SHORT.' Tekrar Başlat'; -$l['tasks_restart_vps_error'] = VM_SHORT.' Tekrar Başlatılırken Hata Oluştu'; -$l['tasks_stop_vps'] = VM_SHORT.' Durdur'; -$l['tasks_stop_vps_error'] = VM_SHORT.' Durdururken Hata Oluştu'; -$l['tasks_poweroff_vps'] = VM_SHORT.'’yi Kapat'; -$l['tasks_poweroff_vps_error'] = VM_SHORT.' Kapatılırken Hata oluştu'; -$l['tasks_enable_rescuevs'] = 'Kurtarma Modu Aç'; -$l['tasks_disable_rescuevs'] = 'Kurtarma Modu Kapat'; -$l['tasks_remotedesktop'] = 'Uzak Masaüstü Görevi'; -$l['tasks_change_vncpass'] = 'VNC Şifresi değiştir'; -$l['tasks_installxentools'] = ' Xenserver Araçlarını Kur'; -$l['tasks_install_script'] = 'Uygulamalar Kur'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Güvenlik Kodu Yanlış'; -$l['reg_no_username'] = 'Kullanıcı Adı Girmediniz'; -$l['reg_no_email']= 'E-posta Adresi Girmediniz'; -$l['reg_no_password'] = 'Şifre Girmediniz'; -$l['pr_no_address'] = 'Adres'; -$l['pr_no_city'] = 'Şehir'; -$l['pr_no_state'] = 'Eyalet'; -$l['pr_no_zip'] = 'Posta Kodu'; -$l['pr_no_country'] = 'Ülke'; -$l['pr_no_city'] = 'Şehir'; -$l['pr_no_phone'] = 'Telefon Numarası'; -$l['pr_no_sys_admin_email'] = 'Sistem Yönetici E-posta Adresi'; -$l['reg_inv_email']= 'Geçersiz E-Posta Adresi'; -$l['reg_pass_short'] = 'Şifre Karakter Adeti '.$globals['user_pass_min_char'].' Daha Büyük Karater Olmak Zorunda'; -$l['reg_email_exist'] = 'Bu E-Posta Adresi Mevcut'; -$l['reg_soft_error'] = ' Hesabını Oluşturuluken Hata Oluştu. Lütfen Destek Talebi Açınız : '.$globals['support_email']; -$l['reg_done'] = 'Hesabınız Oluşturuldu. Bir Aktivasyon Bağlantısı Size e-posta İle Gönderildi. Lütfen e-postanızı Doğrulamak ve Hesabınızı Etkinleştirmek İçin Kullanın'; -$l['reg_recaptcha_invalid'] = 'Güvenli Giriş Yanıtı Eksik veya Anahtar Uyuşmuyor'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Hesap Oluştur'; -$l['reg_username'] = 'Kullanıcı Adı'; -$l['reg_email'] = 'E-posta Adresiniz'; -$l['reg_pass'] = 'Şifre'; -$l['reg_resendact'] = 'Aktivasyon Kodunu Tekrar Gönder'; -$l['reg_mail_sub'] = 'Aktif Hesap'; -$l['reg_mail_body'] = 'Merhaba {{e-posta}}, - -Hesap çtığınız İçin Teşekkür Ederiz. {{sn}}. - -Hesabınızı Kullanmadan Önce Aktifleştirin.. -Hesabınızı Etkinleştirmek İçin Aşağıdaki Linke Tıklayın: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -Yukarıdaki bağlantı Tıklama İle Çalışmıyorsa, Bağlantıyı Web Tarayıcınıza Kopyalayıp Yapıştırmanız veya el İle Yazmanız Gerekmektedir.. - -Eğer Hala Kayıd olmakta sorun Yaşıyorsanız, Lütfen Adresinden Bize Ulaşın. '.$globals['support_email'].' - -Saygılarla. - - {{sn}} Ekibi -'.$globals['cp_url'].' - -Aktivasyon Kodu: {{activation_code}} -Kullanıcı IDsi: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'Hesabınız doğrularken Bir Hata Oluştu. Lütfen Destek ekibi İle iletişime Geçiniz: '.$globals['support_email']; -$l['reg_val_done'] = 'Hesabınız Aktif Edildi. Şimdi Hesabınıza Giriş Yapabilir ve her şeyi İzleyebilirsiniz.!'; -$l['reg_val_mail_sub'] = 'Hoşgeldiniz '.$globals['sn']; -$l['reg_val_mail_body'] = 'Yeni markanızı yarattığınız İçin tebrikler '.$globals['sn'].' Hesap, {{email}}. - -Şimdi Adresinden Hesabınıza Giriş Yapabilirsiniz. : -'.$globals['cp_url'].'/?#act=login - -Lütfen Bu e-postayı Hesabınızla ilgili önemli Bilgiler İçerdiğinden saklayın. - -İyi Çalişmalar dileriz - - '.$globals['sn'].' Ekibi -'.$globals['cp_url'].' - -Kullanıcı IDsi: {{uid}} -Aktivasyon Kodu: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'Kullancı E-posta Doğrulama'; -$l['reg_val_done_cong'] = 'Yeni markanızı yarattığınız İçin tebrikler '.$globals['sn'].' hesap :'; -$l['reg_val_done_uni'] = 'login Bağlantısından Hesabınıza Giriş yapabilirsiniz:
-'.$globals['cp_url'].'/?#act=login

- -İyi Çalişmalar Dileriz!

- -'.$globals['sn'].' Ekibi
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'Kullanıcı ID’si :'; -$l['reg_val_done_act'] = 'Aktivasyon Kodu :'; - -$l['resendact'] = 'Aktivasyonu Tekrar Yolla'; -$l['reg_res_no_username'] = 'E-post Girmediniz'; -$l['reg_res_soft_error'] = 'Aktivasyon e-postasını Tekrar Gönderirken Bir Hata Oluştu. Lütfen Destek ekibi İle iletişime Geçiniz : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Aktivasyon Kodunuz'; -$l['reg_res_mail_body'] = 'Merhaba {{email}}, - -Adresindeki Hesabınız İçin Etkinleştirme Kodunuzu Tekrar Göndermek Üzere Bir istek Aldık. '.$globals['sn'].'. - -Hesabınızı Kullanmadan Önce aktifleştin. -Hesabınızı Etkinleştirmek İçin aşağıdaki linke Tıklayın: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -Yukarıdaki bağlantı Tıklama İle çalışmıyorsa, bağlantıyı web Tarayıcınıza kopyalayıp Yapıştırmanız veya el İle yazmanız Gerekmektedir. - -Eger hala Kaydolmakta sorun yaşıyorsanız, lütfen Adresinden bize ulaşın. '.$globals['support_email'].' - -Saygılarla - -{{sn}} Ekibi -'.$globals['cp_url'].' - -Aktivasyon Kodu: {{activation_code}} -Kullanıcı IDsi: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'Aktivasyon Kodu Başarıyla Tekrar Gönderildi. Lütfen Hesabınızı şimdi Etkinleştirin.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Kullanıcı Adı Girmediniz'; -$l['login_no_password'] = 'Şifre Girmediniz'; -$l['login_act_status'] = 'Hesabınız Onaylanmadı. Lütfen e-posta Adresini doğrulayın veya yardım İçin Destek Birimine Başvurun.'; -$l['login_act_inactive'] = 'Hesabınız devre dışı bırakıldı. Lütfen yardım İçin desteğe Başvurun.'; -$l['login_too_many_attempts'] = 'Başarısız oturum açma kotanızı kullandınız '.$globals['login_attempts'].' Hatalı Girişler! Lütfen Bekleyiniz '.$globals['login_ban_time'].' Dakika. Sonra tekrara deneyiniz. Unutmayın şifrenin büyük / küçük harf duyarlıdır. Şifrenizi mi unuttunuz? Lütfen Şifremi Unuttum yardımcı programını deneyin.'; - -$l['login_sign_in'] = 'Kayıt Ol'; -$l['login_log_user'] = 'E-posta'; -$l['login_log_pass'] = 'Şifre'; -$l['login'] = 'Giriş'; -$l['login_sub_but'] = 'Giriş Yap'; -$l['login_register'] = 'Hesap Oluştur'; - -$l['login_pass_nomatch'] = 'Girdiğiniz Kullanıcı Adı veya Şifre Hatalı.'; -$l['login_forgotpass'] = 'Şifremi Unuttum'; -$l['login_emailuser'] = 'E-posta Hesabınız'; -$l['login_enteremail'] = 'E.posta Adresinizi Giriniz'; -$l['login_sub_email'] = 'Gönder'; -$l['login_no_email'] = 'E-post Adresinizi Girmedisniz'; -$l['login_invalidemail'] = 'Geçersiz E-posta Hesabınız '; -$l['login_mail_sub'] = 'Şifre Sıfıra'; -$l['login_mail_body'] = 'Merhaba, - -Şifrenizi Sıfırlama isteği Yapıldı. - -Şifrenizi Sıfırlanmasını İstemediyseniz, Lütfen Bu E-postayı Dikkate Almayın. - -Şifrenizi Sıfırlamak İstiyorsanız, Lütfen Aşağıdaki Bağlantıya Tıklayın.: - - - -Dikkat : Yukarıdaki Bağlantı Yalnızca 24 Saat Geçerlidir. - - -'.$globals['sn']; -$l['login_mail_done'] = 'Şifrenizi Sıfırlamak İçin Ayrıntılarla Birlikte Bir E-posta Gönderildi'; -$l['login_back_to_login'] = 'Girişe Geri Dön'; - -$l['login_resetpass'] = 'Şifre Sıfırla'; -$l['login_log_new_pass'] = 'Yeni Şifre'; -$l['login_log_reppass'] = 'Şifreyi Tekrarla'; -$l['login_changepass'] = 'Şifre Değiştir'; -$l['login_no_key'] = 'Sıfırlama Anahtarı Gönderilmedi'; -$l['login_invalidkey'] = 'Geçersiz Bir Anahtar Belirttiniz'; -$l['login_no_new'] = 'Geçerli Şifre Girin'; -$l['login_no_reppass'] = 'Lütfen Şifreyi Onayla'; -$l['login_no_match'] = 'Verdiğiniz Şifreler Eşleşmiyor'; -$l['login_keyexpire'] = 'Anahtar Artık Geçerli Değil'; -$l['login_passchanged'] = 'Şifreniz Değiştirildi.'; -$l['login_forgot_pass'] = 'Şifremi Unuttum'; -$l['login_goto_login'] = 'Giriş Sayfasına Git'; -$l['login_no_2fa_key'] = 'Geçersiz Kimlik Doğrulama Anahtarı'; -$l['login_inv_user'] = 'Geçersiz Kullanıcı'; - -// OTP on login -$l['login_twofactit'] = 'İki Faktör Kimlik Doğrulama'; -$l['login_enterotp'] = 'Tek Seferlik Şifreyi Girin'; -$l['login_no_otp'] = 'Tek Seferlik OTP Şifresini Girin'; -$l['login_incorrect_otp'] = 'Yanlış Kod'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Bash Uygulaması Yürütme Hatası'; -$l['recipe_no_selected'] = 'Bash Uygulaması Seç'; -$l['recipe_wrong'] = 'Geçersiz Bash Uygulaması Seçtiniz'; -$l['recipe_heading'] = 'Uygulamalar'; -$l['recipe_choose'] = 'Bash Uygulması Seç'; -$l['recipe_exp_choose_recipe'] = 'Bash Uygulamsı Seçin'; -$l['recipe_update'] = 'Bash Uygulması Güncelleme'; -$l['recipe_none'] = 'Hiç Biri'; -$l['recipe_done'] = 'Bash Uygulandı '; -$l['recipe_exec_onboot'] = 'Bash Uygulaması '.VM_SHORT.' Tekra Başlatıkdan Sonra Çalışacaktır.'; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'Açıklama Yok'; -$l['ingredients'] = 'Kodlar'; -$l['recipe'] = 'Bash Uygulması'; -$l['conf_execute'] = 'Bu Bash Uygulması Uygulamak İstiyormusunuz ?'; -$l['rec_short_desc'] = 'Bash Uygulması: Bash Kodlarıdır. '.VM_SHORT.'’ye İşletim Sistemi Kuruldukdan Sonra İlk Defa Tekra Başlatıldıgında Teksefer Uygulanır. '; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH Yönetici Tarafından Devre Dışı Bırakıldı'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Zamanlayıcıyı Ayarlamak İstediğinize Emin misiniz ?'; -$l['sd_confirm_delete'] = 'Zamanlayıcıyı Silmek İstediğinize Emin misiniz ?'; -$l['sd_date_alert'] = 'Lütfen Tarih Giriniz Ay/Gün/Yıl Örnek 01/09/2019 Şeklinde'; -$l['sd_date_current'] = 'Girilen Saat, Günçel Saatten Büyük Olmalıdır'; -$l['sd_heading'] = 'Zamanlayıcıyı Kur'; -$l['sd_action_start'] = 'Başla'; -$l['sd_action_stop'] = 'Durdur'; -$l['sd_action_restart'] = 'Tekrar Başla'; -$l['sd_action_poweroff'] = 'Kapat'; -$l['sd_action_title'] = 'Aksiyon'; -$l['sd_action_edit_desc'] = 'Düzenlemek İçin Lütfen Verileri Girin'; -$l['sd_action_edit_desc'] = 'Düzenlemek İçin Lütfen Verileri Girin'; -$l['time_updated'] = 'İşlem Güncellendi'; -$l['time_deleted'] = 'İşlem Silindi'; -$l['time_added'] = 'İşlem Silindi'; -$l['sd_invalid_action'] = 'Geçersiz İşlem'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Anahtarları'; -$l['sshkey_add'] = 'SSH Anahtarları Ekle'; -$l['sshkey_add_new'] = 'Yeni SSH Anahtarları Ekle'; -$l['sshkey_use'] = 'SSH Anahtarları Kullan'; -$l['sshkey_list'] = 'SSH Anahtarları Listele'; -$l['sshkey_no_keys'] = 'SSH Anahtarları Bulunmuyor'; -$l['sshkey_no_keys_acct'] = 'Hesabınıza Eklenmiş Hiçbir SSH Anahtarı Yok. Lütfen Önce Soldaki menüden SSH Anahtarlarına Giderek Bir SSH Anahtarı Ekleyin.'; -$l['sshkey_no_keys_acct_whmcs'] = 'Hesabınıza Eklenmiş Hiçbir SSH Anahtarı Yok.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'İsim'; -$l['sshkey_name_exp'] = 'SSH Anahtarı İçin Kullanmadığınız Bir İsim Girin'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] ='SSH Anahtarının OpenSSH Formatındaki Değeri.
(Örnek: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'SSH Anahtarlarını Ekle'; -$l['sshkey_edit'] = 'SSH Anahtarlarını Düzenle'; -$l['sshkey_conf_delete'] = 'Bu SSH Anahtarını Silmek İstediğinize Emin misiniz ? '; -$l['sshkey_err_delete_key'] = 'SSH Anahtarını Silerken Bir Hata Oluştu'; -$l['sshkey_done_delete_key'] = 'SSH Anahtarı Başarıyla Silindi.'; -$l['sshkey_no_name'] = 'Lütfen Geçerli Bir SSH Anahtarı Adı Belirtin'; -$l['sshkey_no_value'] = 'Lütfen Geçerli Bir SSH Anahtarı Değeri Belirtin'; -$l['sshkey_err_name_exists'] = 'Bu İsimde Bir SSH Anahtarı Zaten Var'; -$l['sshkey_err_add'] = 'SSH Anahtarını Eklerken Bir Hata Oluştu'; -$l['sshkey_done_add'] = 'SSH Anahtarı Başarıyla Eklendi'; -$l['sshkey_done_edit'] = 'SSH Anahtarı Başarıyla Kaydedildi'; -$l['sshkey_select_keys'] = 'SSH Anahtarlarını Seç:'; -$l['sshkey_done_addvps'] = 'SSH Anahtar(ları) Başarıyla Eklendi. Değişiklikler Bir Sonraki Yeniden Başlatmada Geçerli Olacak.'; -$l['sshkey_err_key'] = 'Lütfen En Az Bir SSH Anahtarı Seçin.'; -$l['sshkey_not_allowed'] = 'SSH Anahtarları Ekleme / Düzenleme İzniniz Yok'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'ISO’yu Kaldırma'; -$l['euiso_iso_removed'] = 'ISO Dosyası Kaldırıldı : '; -$l['euiso_removal_err'] = 'ISO Kaldırılırken Bir Hata Oluştu'; -$l['euiso_del_done'] = 'ISO Kaldırıldı'; -$l['euiso_heading'] = 'ISO Yönetimi'; -$l['euiso_no_iso'] = 'ISO’nuz Yok. Şimdi Bir Tane Ekleyebilirsin'; -$l['euiso_add_iso'] = 'ISO Ekle'; -$l['euiso_iso_distro'] = 'Dağıtımcı'; -$l['euiso_iso_name'] = 'Dosya Adı'; -$l['euiso_iso_size'] = 'İndirilen Boyut'; -$l['euiso_iso_del'] = 'Sil'; -$l['euiso_iso_status'] = 'Durum'; -$l['euiso_iso_rsize'] = 'Toplam Boyut'; -$l['euiso_confirm_iso_del'] = 'Dosya henüz İndirilmedi. İndirmeyi İptal Edip Dosyayı Silmek İstiyor musunuz? ?'; -$l['euiso_iso_del_confirm'] = 'Bu Öğeyi Silmek İstediğinize Emin misiniz ?'; -$l['euiso_auto_del_alert'] = 'ISO (lar) Otomatik Olarak Silinecek .{ISO(ların) Eklendiği Zamandan {{eu_iso_del_hr}} Saat Sonra'; -$l['euiso_dwnld_time'] = 'İndirme Zamanı'; -$l['euiso_downloading'] = 'İndiriyor...'; -$l['euiso_invalid_url'] = 'Geçersiz URL Girdiniz. Yalnızca http, https ve ftp Protokollerini Kullanın.'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Lütfen Doğru ISO Dosyasını Belirtin'; -$l['aiso_inv_name'] = 'ISO Adı Geçersiz Karakterler İçeriyor'; -$l['aiso_err_size'] = 'ISO Dosyasının Boyutu Belirlenemedi'; -$l['aiso_iso_exist'] = 'ISO Dosyası Zaten Mevcut'; -$l['aiso_size_inv'] = 'ISO Dosyası İzin Verilen Maksimum ISO Boyutunu Aşıyor'; -$l['aiso_limit_err'] = 'Daha Fazla ISO İndiremezsiniz. Limit Aşıldı'; -$l['aiso_space_err'] = 'Bu ISO İçin Yeterli Alanınız Yok.'; -$l['aiso_download_err'] = 'ISO İndirilirken Hata Oluştu'; -$l['aiso_done'] = 'ISO Başarıyla Eklendi'; -$l['aiso_add_iso'] = 'ISO Ekle'; -$l['aiso_url'] = 'ISO Bağlantısı'; -$l['aiso_name'] = 'ISO Dosya Adı'; -$l['aiso_page_head'] = 'ISO Ekle'; -$l['aiso_submit_button'] = 'ISO Ekle'; -$l['aiso_incomplete'] = 'ISO’yu İndirirken Bir Hata Oluştu'; -$l['aiso_started'] = 'ISO İndiriliyor'; -$l['aiso_percent'] = 'İndirme İşleme oranı'; -$l['aiso_complete'] = 'İndirme Tamamlandı'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'ISO Ekle'; -$l['dwnldiso_iso'] = 'ISO Ekle'; -$l['dwnldiso_done'] = 'Lütfen ISO Dosyası İndirilirken Bekleyin'; -$l['dwnldiso_err_down'] = 'ISO Dosyasını İndirirken Hata Oluştu'; -$l['dwnldiso_wait'] = 'Lütfen ISO Dosyası İndirilirken Bekleyin'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'Bu Bölge İçin Uygun Plan Yok !'; -$l['ihb_sel_reg'] = 'Seçilmiş Bölge- '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Yedekleme Sunucları'; -$l['bs_heading_add'] = 'Yedekleme Sunucusu Ekle'; -$l['bs_name'] = 'İsim'; -$l['bs_name_exp'] = 'Yedekleme Sunucusu İçin Kullanmadığınız İsim Giriniz'; -$l['bs_hostname'] = 'Sunucu Adı'; -$l['bs_hostname_exp'] = 'Geçerli Sunucu Alan Adı veya IP Adresi Girin'; -$l['bs_type'] = 'Tipi'; -$l['bs_type_exp'] = 'Yedekleme Sunucusu Tipi, SSH veya FTP'; -$l['bs_username'] = 'Kullanıcı Adı'; -$l['bs_username_exp'] = 'Yedekleme Sunucusu Kullanıcı Adı'; -$l['bs_password'] = 'Şifre'; -$l['bs_password_exp'] = 'Yedekleme Sunucu Şifresi'; -$l['bs_port'] = 'Portu'; -$l['bs_port_exp'] = 'Yedekleme Sunucusu Portu'; -$l['bs_dir'] = 'Klasör-Dizin'; -$l['bs_dir_exp'] = 'Yedeklerin Kayıt Ediledeci dızin'; -$l['bs_add_server'] = 'Yedekleme Sunucusu Ekle'; -$l['bs_conf_delete'] = 'Bu Yedekleme Sunucusu Silmek İstiyormusunuz ?'; -$l['bs_heading_edit'] = 'Yedekleme Sunucusu Düzele'; -$l['bs_no_servers'] = 'Yedekleme Sunucusu Bulunmuyor'; -$l['bs_no_name'] = 'Yedekleme Sunucusu İçin Kulanmadıgınız isim Giriniz'; -$l['bs_no_hostname'] = 'Sunucu Adınız'; -$l['bs_no_type'] = 'Tipi'; -$l['bs_no_username'] = 'Kullanıcı Adınız'; -$l['bs_no_password'] = 'Şifreniz'; -$l['bs_no_port'] = 'Portu'; -$l['bs_no_dir'] = 'Lütfen Yükleme Dizinini Belirtin'; -$l['bs_done_delete_server'] = 'Yedekleme Sunucusu Başarılı Olarak Silinid'; -$l['bs_done_edit'] = 'Yedekleme Sunucusu Kayıt Edildi'; -$l['bs_err_bs_not_allowed'] = 'Yedekleme Sunucusu Yönetici Tarafından Kapatıldı'; -$l['bs_err_invalid_type'] = 'Geçerli Yedekleme Tipi Giriniz'; -$l['bs_err_name_exists'] = 'Bu İsimden Bir Yedekleme Sunucusu Bulunmakda'; -$l['bs_err_add_backupserver'] = 'Yedekleme Sunucusu Eklenirken Hata Oluştu'; -$l['bs_err_backup_dir'] = 'Yedekleme Dizini Boş Olamaz.'; -$l['bs_err_server_used'] = 'Yedekleme Sunucusu {{count}} Tararından Kullanılıyor. Silmeden Önce Yedekleme Sunucusunu Kullanımını Kaldırın .'; -$l['bs_err_delete_server'] = 'Yedekleme Sunucusu Silinirken Bir Hata Oluştu'; -$l['bs_err_edit_backupserver'] = 'Yedekleme suncuu Kayıt Edilirken Hata Oluştu'; - -// Billing related -$l['bill_err_delete'] = 'Fatura Silinirken Hata Oluştu'; -$l['bill_done_delete'] = 'Fatura Başarı İle Silindi'; -$l['bill_heading'] = 'Ödeme'; -$l['bill_no_invoice'] = 'Faturanız Bulunmuyor !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Fatura Tarihi'; -$l['bill_duedate'] = 'Ödeme Tarihi'; -$l['bill_net'] = 'Toplam'; -$l['bill_item'] = 'İşlem'; -$l['bill_status'] = 'Durum'; -$l['bill_unpaid'] = 'Ödenmedi'; -$l['bill_paid'] = 'Ödendi'; -$l['bill_cancelled'] = 'Ertelendi'; -$l['bill_invoice'] = 'Fatura'; -$l['bill_pay_to'] = 'Öde'; -$l['bill_inv_to'] = 'Fatura' ; -$l['bill_pay_method'] = 'Ödeme Şekli'; -$l['bill_desc'] = 'Açıklama'; -$l['bill_disc'] = 'İndirim'; -$l['bill_subtotal'] = 'Alt Toplam'; -$l['bill_netamt'] = 'Net Toplam'; -$l['bill_print'] = 'Yazdır'; -$l['bill_download'] = 'İndir'; -$l['bill_tr_date'] = 'İşlembilgi Tarihi'; -$l['bill_tr_gateway'] = 'Ödeme Yöntemi'; -$l['bill_tr_token'] = 'İşlem Bilgi IDsi'; -$l['bill_tr_amt'] = 'Toplam'; -$l['bill_invoices'] = 'Fatura'; -$l['bill_trans'] = 'İşlembilgisi'; -$l['bill_make_payment'] = 'Ödeme Yap'; -$l['bill_add_funds'] = 'Kredi Ekle'; -$l['bill_min_max'] = 'Hesabınıza Eklemek İstediğiniz Miktarı Giriniz. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Tarih'; -$l['bill_gateway'] = 'İşlembilgi Tarihi'; -$l['bill_bal'] = 'Bakiye'; -$l['bill_charges'] = 'Bu Ayın Ödemesi'; -$l['bill_unpaid_invoices'] = 'Ödenmemiş Fatura'; -$l['bill_cur_usage'] = 'Güncel Kullanım'; -$l['bill_no_trans'] = 'İşlembilgisi Bulunmadı'; -$l['bill_usage'] = 'Güncel Kullanım'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'Faturalandırılacak İşlem Bulunmadı!'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Bölge'; -$l['bill_type'] = 'Tipi'; -$l['bill_starttime'] = 'Başlama Zamanı'; -$l['bill_updatetime'] = 'Güncelleme Zamanı'; -$l['bill_charge'] = 'Doldur'; -$l['bill_terminated'] = 'Sonlandırıldı'; -$l['bill_gateway'] = 'Ödeme Yöntemi'; -$l['bill_no_payment_gateway'] = 'Ödeme Yöntemi Bulunmadı. İletişime Geçiniz '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'Ödeme Yapmak İçin Giriş Yapınız'; -$l['pay_min'] = 'Toplam Az Olamaz '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'Toplam Daha Fazla Olamaz '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'Hızlı Ödeme Belirteci Oluşturulurken Bir Hata Oluştu.'; -$l['pay_pp_missing'] = 'Paypal Yönlendiğinizde Bazı Bilgiler Eksik'; -$l['pay_trans_already'] = 'Bu İşlembigisi Kayıt Edildi'; -$l['pay_pp_connect'] = 'Paypala Bağlantı Hatası Oluştu. Lütfen admin@softaculous.com Destek Talebinde Bulunun'; -$l['pay_pp_resp'] = 'Paypal Verilerini Okurken Hata Oluştu. Lütfen İletişime Geçiniz '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Ödemeniz '.$globals['billing_symbol'].'{{amt}} Başarılı .'; -$l['pay_payment'] = 'Ödeme İşlemi'; -$l['pay_panel'] = 'Yönetim Paneli'; -$l['pay_data_missing'] = 'Cevap Verisi Eksik / Geçersiz'; -$l['pay_gateway_missing'] = 'Ödeme Şekli Yok / Geçersiz'; -$l['pay_no_required_function'] = 'Seçili Olan Ödeme Yönteminde Bazı Fonksiyonlar Eksik. Destek Talebinde Bulunuz.'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Portu'; -$l['webuzo_spasswd'] = 'Root Şifresi'; -$l['webuzo_spasswd_p'] = 'Root Şifresi Girin'; -$l['webuzo_pd'] = 'Ana Alan Adı'; -$l['webuzo_pd_p'] = 'Alan Adı'; -$l['webuzo_appstack'] = 'Stack Seç'; -$l['webuzo_scriptlist'] = 'Program Seçiniz'; -$l['webuzo_submit'] = 'Kur'; -$l['webuzo_advanced'] = 'Gelişmiş Ayarlar'; -$l['webuzo_ns1'] = 'İsim Sunucusu 1'; -$l['webuzo_ns1_p'] = '(Optional) İsim Sunucunuz 1'; -$l['webuzo_ns2'] = 'İsim Sunucusu 2'; -$l['webuzo_ns2_p'] = '(Optional) İsim Sunucunuz 2'; -$l['webuzo_apache'] = 'Apache Sürümünü Seçiniz'; -$l['webuzo_mysql'] = 'MYSQL Sürümünü Seçiniz'; -$l['webuzo_php'] = 'PHP Sürümünü Seçiniz'; -$l['webuzo_os'] = 'İşletim Sistemi Seçiniz'; -$l['webuzo_disabled'] = 'Webuzo Kurulumu Yönetici Tarafımdan Kapatılmiş'; -$l['webuzo_support_err'] = 'Uygulama Desteklenmiyor !'; -$l['webuzo_sshport_err'] = 'SSH Portu'; -$l['webuzo_spasswd_err'] = 'Root Şifresi'; -$l['webuzo_pd_err'] = 'Geçerli Alan Adınız'; -$l['webuzo_script_err'] = 'Seçtiğiniz Yazılım Listede Yok. Tekrar Deneyiniz.'; -$l['webuzo_stack_err'] = 'Lütfen Uygun Stack Kurulumunu Seçiniz'; -$l['mysql_err'] = 'MySQL Sürümünü Seçiniz'; -$l['php_err'] = 'PHP Sürümünü Seçiniz'; -$l['webserver_err'] = 'Apache Sürümünü Seçiniz'; -$l['webuzo_wmp_err'] = 'Uygun Stack Sürümü Seçmediniz'; -$l['webuzo_ns1_err'] = 'Uygun İsim Sunucu Bilgisi Giriniz'; -$l['webuzo_ns2_err'] = 'Uygun İsim Sunucu Bilgisi Giriniz'; -$l['webuzo_os_err'] = 'Kurmak İstediginiz İşletim Sistemi Seçiniz'; -$l['webuzo_install_data_lost_warn'] = 'Kuruluma Devam Etmek İstiyormusunuz ? Sanal Sunucuda Bütün Bilgileriniz Silineçektir.'; -$l['webuzo_app_err'] = 'Webuzo Uygulamalarını Uygulama Hatası'; -$l['webuzo_prim_ip_err'] = 'IP Adresi Bulunamıyor'; -$l['webuzo_install_start'] = 'Webzuo Kurulumu Arka Planda Başladı. E-posta Adresinize Kurulumdan Sonra Bilgi Gönderilecektir.'; -$l['webuzo_dns_err'] = 'İsim Sunucu Biligilerini Giriniz'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Uygulama Kurulumu '; -$l['apps_no_vs'] = 'Uygulama Kurulmuş '.VM_SHORT.'’siniz Bulunmuyor'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + QR Kodu Tarayın veya Uygulmanızda Aşagıdaki Verilini Kodu Girin. Bu İşlemden Sonra Uygulama Size Bir OTP Kodu Verecketir. İki Adımlı Kimlik Doğrulama Aktif Etmek İçin OTP Kodunu Bir Sonraki Kutuya Girin..'; +$l['twofactauth_secret_key'] = 'Gizli Anahtar: '; +$l['twofactauth_code_input'] = 'Onaylama Kodu'; +$l['twofactauth_code_input_exp'] = 'E-posta İle Gönderilen OTPyi veya Uygulmadan Aldığınızı OTP’e Giriniz. '; +$l['twofactauth_submit'] = 'Onayla'; +$l['twofactauth_select_pref'] = 'Tercihinizi Seçiniz: '; +$l['twofactauth_select_pref_desc'] = 'İki Adımlı Kimlik Doğrulama Tipi Seç ve Kodunu Girerek Aktif Et'; +$l['twofactauth_disabled'] = 'İki Adımlı Kimlik Doğrulama Kapatıldı'; +$l['twofactauth_enabled'] = 'İki Adımlı Kimlik Doğrulama Açıldı'; +$l['twofactauth_err_enable'] = 'Şifre Kodu Yanliş'; +$l['twofactauth_email_passcode'] = 'E-posta Kodu'; +$l['twofactauth_none'] = 'HiçBiri (Gerekmiyor !)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Uygulamayı Aktif Et (Google Kimlik Doğrulama gibi..)'; +$l['twofactauth_no_passcode'] = 'OTP Belirtin'; +$l['twofactauth_changes_saved'] = 'Degişiklik Başarılı Olarak Kayıt Edildi'; +$l['twofactauth_or'] = 'Veya'; +$l['twofactauth_passcode_error'] = ' OTP Oluşturalamadı'; +$l['twofactauth_otp_mail_sub'] = 'OTP Girisi'; +$l['twofactauth_reset_key'] = 'Anahtarı Sıfırla '; +$l['twofactauth_email_sent_to'] = 'OTP E-posta Adresinize Gönderilecek :'; +$l['twofactauth_otp_mail_body'] = 'Merhaba, + +Hesabınız İçin Bir Giriş İsteği Gönderildi : +{{site_domain}} + +Lütfen Giriç İçin Tek Seferlik OTP Şifresini Kullanın. : +{{otp}} + +Saygılarla, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'İki Adımlı Kimlik Doğrulama Onaylama Kodu'; +$l['twofactauth_passcode_mail_body'] = 'Merhaba, + +{{site_domain}} İçin İki Adımlı Kimlik Doğrulama Aktif Etme Kodu : {{passcode}} + +Saygılarla, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP E-posta Adresinize Gönderildi'; +$l['twofactauth_secret_key_conf'] = 'Uyarı : İki Adımlı Kimlik Doğrulama Gizli Anahtarını Sıfırlarsanız. Kullanıdıgını Uygulmayı Yeniden Tekrar Yüklemek Zorundasınız. Devam Etmek İstiyormusunuz ?'; +$l['twofactauth_otp_expired'] = ' Onayladıgınız OTPnin süresi Geçmistir!!'; +$l['twofactauth_not_allowed'] = 'Bu Sayfaya Girişinize Müsade Edilmiyor'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = ' E-posta ID’si Girmediniz'; +$l['adu_no_user_password'] = 'Şifre Girmediniz'; +$l['adu_invalid_email'] = 'E-posta ID’si Geçersiz'; +$l['adu_userlimit_exceeded'] = 'Daha Fazla Kullanıcı Oluşturamazsınız. Lütfen Yönetici İle iletişime Geçiniz'; +$l['adu_useradd_error'] = 'Yeni Kullanıcı Eklerken Hata Oluştu Yönetici İle İletişime Geçiniz'; +$l['adu_page_head'] = 'Kullanıcı Ekle '; +$l['adu_done'] = 'Kullanıcı Eklendi'; +$l['adu_user_email'] = 'E-posta'; +$l['adu_user_password'] = 'Şifre'; +$l['adu_user_exists'] = 'Bu Kullanıcı Sistemde Kayıtlı. Lütfen Başka Bir e-posta Adresi Kullanın'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Yeni Şifre Alanı Boş.'; +$l['cpas_no_conf'] = 'Şifre Tekrar Alanı Boş.'; +$l['cpas_no_match'] = 'Sifreler Uyuşmuyor'; +$l['cpas_err_changing'] = 'Şifre değişiminde Hata Oluştu.'; +$l['cpas_submit_button'] = 'Şifre Değiştir'; +$l['cpas_new_pass'] = 'Yeni Şifre'; +$l['cpas_old_pass'] = 'Eski Şifre'; +$l['cpas_retype_pass'] = 'Şifre Tekrarla'; +$l['cpas_change_note'] = 'Root Şifresini Değiştir'; +$l['cpas_change_final'] = 'Şifreniz Başarı Olarak değişti'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Sanal Sunucu root Şifresi Değişiyor...'; +$l['cpas_strength_indicator'] = 'Güç Göstergesi'; +$l['cpas_bad'] = 'Kötü'; +$l['cpas_good'] = 'İyi'; +$l['cpas_strong'] = 'Güçlü'; +$l['cpas_short'] = 'Kısa'; +$l['cpas_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Özel Karakter '; +$l['cpas_pass_match'] = 'Şifre Uyuşmuyor'; +$l['cpas_disabled'] = 'Şifre Değiştirme Yönetici Tarafından Kapatıldı '; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Cloud Kaynakları'; +$l['cr_resource_type'] = 'Kaynak Tipi'; +$l['cr_limit'] = 'Kota'; +$l['cr_used'] = 'Kullanıldı'; +$l['cr_left'] = 'Kullanılabilir'; +$l['cr_unlimited'] = 'Sınırsız'; +$l['cr_num_vs'] = 'Sanal Sunucu Adeti'; +$l['cr_num_users'] = 'Kullanıcı Adeti'; +$l['cr_num_space'] = 'Disk Alanı'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Band Genişliği'; +$l['cr_num_cores'] = 'Çekirdek Sayısı'; +$l['cr_max_cores'] = 'Azami Çekirdek / Sanal Sunucu'; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'IPv6 Alt Ağ'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'CPU Bilgileri'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Seri konsolu Kapalı'; +$l['cs_call_failed'] = 'API Bağlatısı Başarısız. Lütfen Yönetici İle İletişime Geçiniz'; +$l['cs_heading'] = 'Seri Konsolu'; +$l['cs_none'] = 'Geçerli Konsol Oturumu Bulunmadı. Lütfen Oluşturunuz !'; +$l['cs_create'] = 'Oturum Oluşturuyor'; +$l['cs_creating'] = 'Oturum Oluşturulmakda ...'; +$l['cs_destroying'] = 'Oturum Silinmekde ...'; +$l['cs_details'] = 'Konsol Detayları'; +$l['cs_expires'] = 'Süre'; +$l['cs_ip'] = 'IP Adresi'; +$l['cs_port'] = 'Portu'; +$l['cs_username'] = 'Kullanıcı Adı'; +$l['cs_password'] = 'Şifre'; +$l['cs_destroy'] = 'Oturumu Sil'; +$l['cs_java_console'] = 'Java Konsolu'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Sunucu Adı Değistirmek İçin Girin.'; +$l['hn_new_host'] = 'Yeni Sanal Sunucu Adı'; +$l['hn_submit_button'] = VM_SHORT.'’nin Adını Değiştir'; +$l['hn_err_changing'] = VM_SHORT.' Adını Değiştiriken Hata Oluştu.'; +$l['hn_host_final'] = VM_SHORT.' Adı Başarılı Olarak Güncellendi'; +$l['hn_invalid_hostname'] = 'Geçersiz '.VM_SHORT.' Adı Girdiniz'; +$l['hn_change_onboot'] = VM_SHORT.' Adının Aktiv Olması İçin '.VM_SHORT.'’yi Tekrar Başlatmanız Gerekmekde'; +$l['hn_current_hostname'] = 'Aktif Sunucu Adı'; +$l['hn_change_notify'] = VM_SHORT.' Adı Güncelleniyor...'; +$l['hn_disable_change_hostname'] = VM_SHORT.' Adı değiştirme Yönetici Tarafından Kaptılmış.'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'IP(ler) Seçilmedi'; +$l['ips_ip_not_exists'] = 'IP(ler) Geçersiz'; +$l['ips_header'] = 'IP Adreslerim'; +$l['ips_ipinfo'] = 'IP Bilgisi'; +$l['ips_reorderips'] = 'IP Değiştir'; +$l['ips_done'] = 'Ip Ayarlarınız Kayıt Edildi.'; +$l['ips_change_onboot'] = 'IP Değişimi '.VM_SHORT.'’yi Tekrar Başlatıkdan Sonra Geçerli Olacaktır.'; +$l['ips_primary_ip'] = 'Ana Ip Adresini Seç '; +$l['ips_ipv6_ips_list'] = 'IPV6 IPleri'; +$l['ips_ipv6_empty'] = 'IPV6 Boş'; +$l['ips_change_notify'] = 'IP Adresi Değiştiriyor...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU Bılgisi'; +$l['mon_totalcpu'] = 'Toplam CPU :'; +$l['mon_cpuutilised'] = 'Kullanıldı: '; +$l['mon_poweredby'] = 'Tarafından : '; +$l['mon_graphheader'] = 'CPU Kullanımı'; +$l['mon_trademarks'] = 'Kullanılan Tüm İlgili Logolar, İlgili Şirketlerin Ticari Markaları veya Tescilli Ticari Markalarıdır.'; +$l['mon_not_supported'] = 'Bu Kaynağın Mevcut Kullanım İzlemesi Desteklenmiyor.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Disk'; +$l['mon_header_nodes'] = 'Inodes'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'AĞ'; +$l['mon_io_usage'] = 'Disk I/O Kullanımı Ortalaması '; +$l['mon_io_read_spd'] = 'I/O Okuma Hızı'; +$l['mon_io_write_spd'] = 'I/O Yazma Hızı'; +$l['mon_ntw_info'] = 'AĞ Bilgisi'; +$l['mon_ntw_down_spd'] = 'Ortalama İndirme Hızı'; +$l['mon_ntw_upld_spd'] = 'Ortalam Gönderme Hızı'; +$l['mon_disabled'] = 'İzleme Ayarı Yönetici Tarafından Kapaıtıldı'; +$l['mon_cpu_usage'] = 'CPU Kullanımı'; +$l['mon_inode_usage'] = 'Inode Kullanımı'; +$l['mon_ram_usage'] = 'RAM Kullanımı'; +$l['mon_disk_usage'] = 'Disk Kullanımı'; +$l['mon_down_speed'] = 'İndirme Hızı'; +$l['mon_up_speed'] = 'Gönderme Hızı'; +$l['mon_total_speed'] = 'Toplam Hız'; +$l['mon_cpu_hist'] = 'CPU Kullanım Geçmisi'; +$l['mon_mem_hist'] = 'RAM Kullanım Geçmisi'; +$l['mon_storage'] = 'Disk Kullanımı'; +$l['mon_date_label'] = 'Tarih Ay/Gün'; +$l['mon_inode_hist'] = 'Inodes Kullanıldı'; +$l['mon_net_speed'] = 'Ağ Hızı'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'İşletim Sistemi Seçilmedi'; +$l['os_invalid_os'] = 'İşletim Sistemi Geçersiz'; +$l['os_no_new'] = 'Şifre Alanı Boş.'; +$l['os_no_conf'] = 'Onaylama Şifresi Girmediniz.'; +$l['os_no_match'] = 'Şifreler Uyuşmuyor'; +$l['os_error_reins'] = 'İşletim Sistemi Tekrar Kurulurken Hata Oluştu'; +$l['os_err_changing'] = 'Şifre Güncellenirken Hata Oluştu.'; +$l['os_err_log_osreinstall'] = 'İşletim Sistemi Tekrar Kurma Limitini Aştınız. Destek Talebi Açınız'; +$l['os_reins_os'] = 'İşletim Sistemi Tekrar Kur'; +$l['os_os_reinstall'] = 'Tekrar Kur'; +$l['os_new_pass'] = 'Yeni Şifre'; +$l['os_retype_pass'] = 'Şifre Tekrar Yazın'; +$l['os_genram_psswd'] = 'Yeni Şifre Oluştur'; +$l['os_done'] = 'İşletim Sistemi Kurulum İşlemi Arka Planda Başladı'; +$l['os_reins_notify'] = VM_SHORT.' İşletim Sistemi Kuruluyor...'; +$l['os_centos_line1'] = 'Tanınmış bir Kuzey Amerika Kurumsal Linux satıcısı tarafından halka ücretsiz olarak sağlanan kaynaklardan elde edilen Enterpriseclass Linux Dağıtım kurluşudur.'; +$l['os_centos_line2'] = 'CentOS conforms fully with the upstream vendors redistribution policy and aims to be 100% binary compatible. CentOS mainly changes packages to remove upstream vendor branding and artwork.'; +$l['os_centos_line3'] = 'CentOS is developed by a small but growing team of core developers. CentOS is free.'; +$l['os_fedora_line1'] = 'Fedora is a Linux-based operating system that showcases the latest in free and open source software. Fedora is always free for anyone to use, modify, and distribute.'; +$l['os_fedora_line2'] = 'It is built by people across the globe who work together as a community: the Fedora Project. The Fedora Project is open and anyone is welcome to join.'; +$l['os_fedora_line3'] = 'The Fedora Project is out front for you, leading the advancement of free, open software and content.'; +$l['os_suse_line1'] = 'The openSUSE project is a worldwide effort that promotes the use of Linux everywhere.'; +$l['os_suse_line2'] = 'openSUSE creates one of the world\'s best Linux distributions, working together in an open, transparent and friendly manner as part of the worldwide Free and Open Source Software community.'; +$l['os_suse_line3'] = 'The project is controlled by its community and relies on the contributions of individuals, working as testers, writers, translators, usability experts, artists and ambassadors or developers.'; +$l['os_suse_line4'] = 'openSUSE is a free and Linux-based operating system for your PC, Laptop or Server.'; +$l['os_ubuntu_line1'] = 'Ubuntu is part of the Debian family of Linux operating systems, which has the largest pool of developer talent, with every package built by experts.'; +$l['os_ubuntu_line2'] = 'Canonical\'s rigorous release management, quality assurance, stress testing and product design enhances the quality of Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Super-fast and great-looking, Ubuntu is a secure, intuitive operating system that powers desktops, servers, netbooks and laptops. Ubuntu is, and always will be, absolutely free.'; +$l['os_debian_line1'] = 'Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run.'; +$l['os_debian_line2'] = 'Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux.'; +$l['os_debian_line3'] = 'Debian GNU/Linux provides more than a pure OS: it comes with over 25000 packages, precompiled software bundled up in a nice format for easy installation on your machine.'; +$l['os_scientific_line1'] = 'Scientific Linux is a Linux distribution produced by Fermi National Accelerator Laboratory.'; +$l['os_scientific_line2'] = 'It is a free and open source operating system based on Red Hat Enterprise Linux and aims to be \"as close to the commercial enterprise distribution as we can get it\".'; +$l['os_scientific_line3'] = 'This product is derived from the free and open source software made available by Red Hat, Inc., but is not produced, maintained or supported by Red Hat.'; +$l['os_strength_indicator'] = 'Güç Göstergesi'; +$l['os_bad'] = 'Kötü'; +$l['os_good'] = 'İyi'; +$l['os_strong'] = 'Kuvvetli'; +$l['os_short'] = 'Kısa'; +$l['os_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Özel Karakter'; +$l['os_pass_match'] = 'Şifreler Uyuşmuyor'; +$l['os_reinstall_wait'] = 'İşletim Sistemi Kuruluyor. Lütfen Bekleyiz.....'; +$l['os_reinstall_disabled'] = 'İşletim Sistemi Tekrar Kurulumu Yönetici Tarafından Kapatılmış'; +$l['os_no_os'] = 'Tekrar Kurmak İçin İşletim Sistemi Bulunmuyor'; +$l['os_rebuild_data_lost_warn'] = VM_SHORT.' Tekrar Kurmak İstiyorsunuz ? Dikkat : '.VM_SHORT.'deki Bütün Bilgiler Silinecekti. Geri Dönüşüm Mümkün değildir.'; +$l['os_select_version'] = 'Sürüm Şeciniz'; +$l['os_select_os'] = 'İşletim Sistemi Seçiniz:'; +$l['os_other'] = 'Diğer'; +$l['os_format_primary'] = 'Sadece ilk Diski Formatla'; +$l['os_format_primary_exp'] = 'Eger Bu Seçilirse sadece İlk Disk Verileri Silinecektir'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'VNC Bilgisi'; +$l['vnc_vnc_ip'] = 'VNC IP’si'; +$l['vnc_vnc_port'] = 'VNC Portu'; +$l['vnc_novnc_button'] = 'HTML 5 VNC İstemcisini Başlatın'; +$l['vnc_launch_vnc'] = 'JAVA VNC Göstericiyi Başlat'; +$l['vnc_notice'] = 'VNC Gösterisici Tarayıcınızda java Kurulu ve Aktif İse Çalışacaktır'; +$l['vnc_not_enabled'] = 'VNC Açık Değil'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Şifre Belirtmediniz.'; +$l['vncpas_no_conf'] = 'Onaylama Şifresi Eksik.'; +$l['vncpas_no_match'] = 'Şifreler Uyuşmuyor'; +$l['vncpas_err_changing'] = 'Şifre Güncelernirken Hata Oluştu.'; +$l['vncpas_no_nonalphanumeric'] = 'Özel Karakter veya İşaretler Müsade Edilmiyor'; +$l['vncpas_submit_button'] = 'VNC Şifresini Değiştir'; +$l['vncpas_new_pass'] = 'Yeni Şifre'; +$l['vncpas_old_pass'] = 'Eski Şifre'; +$l['vncpas_retype_pass'] = 'Yeni Şifre Tekrarla'; +$l['vncpas_change_note'] = 'VNC Şifre Değiştir'; +$l['vncpas_change_final'] = 'VNC Şifreniz Başarı İle Güncellendi.'; +$l['vncpas_change_notify'] = 'VNC Şifreniz Güncelleniyor...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Yeni Şifrenizi Yazmadınız'; +$l['up_no_conf'] = 'Şifre Tekrar Girmediniz'; +$l['up_no_match'] = 'Şifreler Uyuşmuyor'; +$l['up_err_changing'] = 'Şifre Değişirken Hata Oluştu.'; +$l['up_new_pass'] = 'Yeni Şifre'; +$l['up_old_pass'] = 'Eski Şifre'; +$l['up_retype_pass'] = 'Yeni Şifreyi Tekrarla'; +$l['up_page_head'] = 'Şifreyi Değiştirme'; +$l['up_change_final'] = 'Şifreniz Başarılı Olarak Değiştirildi'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Profil Güncelleme'; +$l['pr_no_fname'] = 'İsminizi Yazmadınız'; +$l['pr_no_lname'] = 'Soy Adınızı Yazmadınız'; +$l['pr_firstname'] = 'İsim'; +$l['pr_lastname'] = 'Soyad'; +$l['pr_company'] = 'Şirket'; +$l['pr_website'] = 'Web siteniz'; +$l['pr_address'] = 'Adresiniz'; +$l['pr_city'] = 'Şehir'; +$l['pr_state'] = 'Eyalet'; +$l['pr_zip'] = 'Posta Kodu'; +$l['pr_country'] = 'Ülke'; +$l['pr_phone'] = 'Ceb No'; +$l['pr_sys_admin_email'] = 'Sistem Yöneticin E-posta'; +$l['pr_cc_emails'] = 'Fatura E-posta'; +$l['pr_cc_emails_exp'] = 'Yeni Oluşturulan Faturaniz Bu E-posta Adresinize Gönderilecektir. Çoklu E-posta Adresi İçin Virgül İle Ayırarak Giriniz.'; +$l['pr_soft_error'] = 'Bilgilerniz Kayıt Edilirken Hata Oluştu. Lütfen Destek Talebinde Bulunuz. : '.$globals['support_email']; +$l['pr_done'] = 'Değişiklik Başarı İle Kayıt Edildi'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Servisler'; +$l['ser_sstart'] = 'Başlat'; +$l['ser_sstop'] = ' Durdur'; +$l['ser_srestart'] = 'Tekrar Başlat'; +$l['ser_status'] = 'Durum'; +$l['ser_statrun'] = 'Çalışıyor'; +$l['ser_statoff'] = 'Kapalı'; +$l['ser_staton'] = 'Açık'; +$l['ser_autostart'] = 'Otamatik Başlat'; +$l['ser_select'] = 'Seç'; +$l['ser_vps_is_off'] = VM_SHORT.' Kapalı!'; +$l['ser_no_feature'] = 'Bu Özellik Mevcut Değil !'; +$l['ser_notice_start'] = 'Seçili Servis(ler) Başlatılıyor..'; +$l['ser_notice_stop'] = 'Seçili Servis(ler) Durduruluyor..'; +$l['ser_notice_restart'] = 'Seçili Servis(ler) Tekrar Başlatılıyor..'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'İşlemler Listesi'; +$l['proc_usr'] = 'Kullanıcı'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Komut'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'Zaman'; +$l['proc_select'] = 'Seç'; +$l['proc_pstart'] = 'Başlat'; +$l['proc_pkill'] = 'Durdur(İptal)'; +$l['proc_prefresh'] = 'Otamatik Güncelle'; +$l['proc_vps_is_off'] = VM_SHORT.' Kapalı !'; +$l['proc_no_feature'] = 'Bu Özellik Mevcut Değil !'; +$l['proc_notice_pkill'] = 'Seçili İşlem(ler) Durduruluyor :'; +$l['proc_with_selected'] = 'Seçili Olan İle:'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logo'; +$l['log_date'] = 'Tarih'; +$l['log_task'] = 'Görev'; +$l['log_status'] = 'Durum'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Başarılı'; +$l['log_fail'] = 'Hatalı'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'IPv6 Alt Ağ Yönetimi'; +$l['mng_done'] = 'IPler Başarılı Olarak Kayıt Edildi'; +$l['mng_add_ipv6'] = 'Ipv6 Adresi Ekle'; +$l['mng_add_ip_button'] = 'IP Ekle'; +$l['mng_back_button'] = 'Geri'; +$l['mng_save_button'] = 'Kayıt Et'; +$l['mng_delete_confirm'] = 'Bu IPv6 Adresini Silmek İstiyormusunuz ?'; +$l['mng_ipv6_invalid'] = 'IPv6 Adresinle Hata Oluştu'; +$l['mng_ipv6_address'] = 'IPv6 Adresi'; +$l['mng_ipv6_delete'] = 'Sil'; +$l['mng_ipv6_subnet'] = 'IPv6 Alt Ağ'; +$l['mng_edit_subnet'] = 'Düzenle'; +$l['mng_no_vps'] = VM_SHORT.' Bulunmadı'; +$l['mng_inv_ipaddress'] = 'IP Size Ait Değil'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'DNS Bölge Yönetmi'; +$l['mz_zone_conf_del'] = 'PDNS Sunucu Silmek İstiyormusunuz ?'; +$l['mz_add_pdns'] = 'PDNS Sunucu Ekle'; +$l['mz_dns_mgmt'] = 'DNS Yönetimi'; +$l['mz_zone_add_done'] = 'Dns Kaydı Başırılı Olarak Eklendli'; +$l['mz_add_zone'] = '>DNS Kaydı Ekle'; +$l['mz_zone_name'] = 'DNS Bölge Adı'; +$l['mz_pdns_zones'] = 'DNS Kaydı Göster'; +$l['mz_manage_zone'] = 'Yönet'; +$l['mz_conf_del'] = 'Bu Kaydı Silmek İstiyormusunuz ?'; +$l['mz_add_done'] = 'Kayıt Başarılı Olarak Eklendi. '; +$l['mz_edit_done'] = 'Kayıt Başarılı Olarak Düzenlendi'; +$l['mz_del_done'] = 'Kayıt '; +$l['mz_priority'] = 'Öncelik'; +$l['mz_ttl'] = 'TTL Süresi'; +$l['mz_content'] = 'İçerik'; +$l['mz_type'] = 'Tipi'; +$l['mz_host'] = 'Host'; +$l['mz_points_to'] = 'Gösteriyor'; +$l['mz_txt_value'] = 'TXT Değeri'; +$l['mz_pdns_name'] = 'Sunucu Adı'; +$l['mz_submit_button'] = 'Kayıt Ekle'; +$l['mz_edit_button'] = 'Kayıt Düzenle'; +$l['mz_no_domains'] = 'DNS Kaydında Bölge Bulunmuyor'; +$l['mz_err_addzone'] = 'Bölge Eklerken Hata Oluştu'; +$l['mz_inv_name'] = 'Geçersiz Sunucu Adı'; +$l['mz_inv_ip'] = 'Geçersiz IP Adresi'; +$l['mz_inv_tld'] = 'Geçersiz En Üst Düzey Alan Adı'; +$l['mz_inv_ipv6'] = 'Geçersiz IPv6 Adresi'; +$l['mz_inv_int'] = 'Geçersiz Tamsayı Girişi'; +$l['mz_err_add'] = 'DNS Kaydı Eklenirken Hata Oluştu'; +$l['mz_err_del'] = 'DNS Kaydı Silinirken Hata Oluştu'; +$l['mz_err_edit'] = 'DNS Kaydı Eklenirken Hata Oluştu'; +$l['mz_err_soa'] = 'SOA Değeri Güncelenirken Hata Oluştu'; +$l['mz_rec_exists'] = 'Bu DNS Kaydı Bulunuyor'; +$l['mz_records_limit'] = 'DNS Kayıt Limitine Ulaşıldı'; +$l['mz_err_connect'] = 'İsim Sunucularına Bağlanırken Hata Oluştu'; +$l['mz_zone_restricted'] = 'Düzenlemeye Çalıştıgınız Bölge Kısıtlanmış Bir Bölge'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Alan Adını Silmek İstiyormusunuz ?'; +$l['pdns_page_head'] = 'DNS Yönetmi'; +$l['pdns_add_done'] = 'DNS Kaydı Başırılı Olarak Eklendli'; +$l['pdns_delete_done'] = 'DNS Bölgesi Başarılı Olarak Silindi'; +$l['pdns_add_zone'] = 'DNS Bölgesi Ekle'; +$l['pdns_zone_name'] = 'DNS Bölge Adı'; +$l['pdns_manage_zone'] = 'Yönet'; +$l['pdns_no_domains'] = 'DNS Kayıtında Bölge Bulunmuyor'; +$l['pdns_no_name'] = 'Alan Adı Girmediniz'; +$l['pdns_err_addzone'] = 'DNS Bölgesi Eklerken Hata Oluştu'; +$l['pdns_err_delete'] = 'DNS Bölgesi Silerken Hata Oluştu'; +$l['pdns_inv_domain'] = 'Alan Adı Geçersiz'; +$l['pdns_limit_domains'] = 'Eklenebilecek Alan Adı Limitinine Ulaştınız.'; +$l['pdns_domain_exists'] = 'Alan Adı Sistemde Bulunuyor'; +$l['pdns_err_connect'] = 'İsim Sunucularına Bağlanırken Hata Oluştu'; +$l['pdns_no_dns'] = 'DNS Yönetimi Kapalı'; +$l['pdns_invalid_zone'] = 'Silmek İstediğiniz DNS Bölgesi Geçersiz'; +$l['pdns_primary_nameserver'] = 'İlk İsim Sunucu Adı'; +$l['pdns_hostmaster_email'] = 'Alan Adının Yönetici E-posta Adresi'; +$l['pdns_inv_email'] = 'Alan Adının Admin E-posta Adresi Geçersiz'; +$l['pdns_inv_ns'] = 'Geçersiz İsim Sunucusu Girdiniz'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'PTR (Ters İP Kaydı) Ekle'; +$l['rdns_zone_name'] = 'Bölge Adı'; +$l['rdns_exp_zone_name'] = 'DNS Bölge Adı'; +$l['rdns_ns'] = 'İsim Sunucu Adı'; +$l['rdns_hostmasteremail'] = 'Hostmaster E-posta Adresi'; +$l['rdns_exp_hostmasteremail'] = 'Yönetici E-posta Adresi'; +$l['rdns_pdns_server'] = 'Sunucu Seç'; +$l['rdns_exp_pdns_server'] = 'Kaydı Eklemek İçin DNS Sunucusu'; +$l['rdns_sub_but'] = 'Onayla'; +$l['rdns_rdns_ip'] = 'IP Adresi'; +$l['rdns_exp_rdns_ip'] = VM_SHORT.' IP Adresini Giriniz'; +$l['rdns_rdns_domain'] = 'Alan Adı'; +$l['rdns_exp_rdns_domain'] = 'Tam Etki Alanı Adını Girin'; +$l['rdns_no_rnds_ip'] = 'Lütfen IP Adresi Giriniz'; +$l['rdns_no_rdns_domain'] = 'Lütfen Alan Adı Girin'; +$l['rdns_no_pdnsid'] = 'PowerDNS ID’si Geçersiz'; +$l['rdns_err_zone'] = 'PTR (Ters İP Kaydı) DNS Bölge Kaydı Bulunmadı. Destek Talebi Açınız '; +$l['rdns_is_rdns'] = 'Bu PTR (Ters İP Kaydı) Bulunmakda '; +$l['rdns_no_dns'] = 'DNS Sunucusu, Yönetici Tarafından Ayarlanmadı. Bunun İçin Lütfen Yönetici İle iletişime Geçin.'; +$l['rdns_no_zone_name'] = 'DNS Bölge Adı Girmediniz'; +$l['rdns_no_ns'] = 'Ad Sunucusu Girmediniz. En Az İki Ad Sunucusu Gerekmektedir.'; +$l['rdns_no_hostmasteremail'] = 'Hostmaster e-posta Adresi Girmediniz'; +$l['rdns_inv_revzone'] = 'PTR (Ters İP) Bölge Kaydı Geçersiz'; +$l['rdns_inv_ns'] = 'Ad Sunucunuz İçin Kullandığınız TLDs Değerleri Geçersiz'; +$l['rdns_inv_hostemail'] = 'Geçersiz Hostmaster E-posta Adresi'; +$l['rdns_err_connect'] = 'Sunucuza Bağlantı Kurulamadı. Sunucunun Açık Olup Olmadıgını Kontrol Ediniz'; +$l['rdns_err_save'] = 'Veriler Kayıt Edilirken Hata Oluştu'; +$l['rdns_done'] = 'PTR (Ters İP) Kaydı Başarılı Olarak Eklendi'; +$l['rdns_zone_exists'] = 'Bu DNS Bölgesi Bulunmakta'; +$l['rdns_inv_ipaddress'] = 'Geçersiz IP Adresi Girdiniz'; +$l['rdns_rdns_existing'] = 'PTR (Ters İP) Kayıtları'; +$l['rdns_deleted'] = 'PTR (Ters İP Kaydı) Silindi'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'İsim'; +$l['rdns_domain'] = 'Alan Adı'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'E-posta ID’si Girmediniz'; +$l['edu_no_user_password'] = 'Şifre Girmediniz'; +$l['edu_invalid_email'] = 'Girdiğiniz E-posta ID’si Geçersiz'; +$l['edu_uid_not_found'] = 'Kullancı ID’si Bulunmadı'; +$l['edu_useradd_error'] = 'Kullancı Bilgileri Düzenlenirken Hata Oluştu'; +$l['edu_page_head'] = 'Kullanıcı Düzenle'; +$l['edu_done'] = 'Kullancı Düzenlendi'; +$l['edu_user_email'] = 'E-posta'; +$l['edu_user_password'] = 'Şifre'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'Kurtarma Modunu Açarken Hata Oluştu'; +$l['resc_err_rescue_disable'] = 'Kurtarma Modunu Kapatırken Hata Oluştu'; +$l['resc_err_downloading'] = 'Kurtarma Modu Şablonunu İndirirken Hata Oluştu'; +$l['resc_err_delete_disk'] = 'Kurtarma Modunu Disk Alanı Silerken Hata Oluştu'; +$l['resc_cant_rescue'] = 'Kurtarma Modunu ISO Kullanılırken Müsade Edilmiyor . Lütfen Önce ISO Kaldırın'; +$l['resc_heading'] = 'Kurtarma Modu'; +$l['resc_rescue_exp'] = 'Kurtarma Modu İle Sanal Sunucunudaki Hataları Düzenleyip Bilgileriniz Kurtarma Yedekleri Alma İşlemi Yapabiliriniz.'; +$l['resc_enable_rescue'] = 'Kurtarma Modunu Aç'; +$l['resc_rescue_enabled'] = 'Kurtarma Modu Şu An Açık.'; +$l['resc_disable_rescue'] = 'Kurtama Modunu Kapat'; +$l['resc_rescue_disabled'] = 'Kurtarma Modu Şu An Kapalı'; +$l['resc_resuce_enable_success'] = 'Kurtarma Modunu Açma İşlemi Arka Planda Başladı'; +$l['resc_resuce_disable_success'] = 'Kurtarma Modunu Kapatma İşlemi Arka Planda Başladı'; +$l['resc_rescue_enable_notify'] = ' Kurtama Modunu Açılıyor...'; +$l['resc_rescue_disable_notify'] = 'Kurtarma Modu Kapatılıyor...'; +$l['resc_root_pass'] = 'Root Şifresi'; +$l['resc_root_pass_conf'] = 'Şifreyi Onayla'; +$l['resc_disable_rescue_err'] = 'Kurtarma Modu Yönetici Tarafında Kapatıdı'; +$l['resc_passwords_do_not_match'] = 'Şifrer Uyuşmuyor'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Dil Seçilmedi'; +$l['us_wrong_lang'] = 'Seçtiğiniz Dil Bulunmuyor'; +$l['us_no_timezone'] = 'Saat Dilimi Seçmediniz'; +$l['us_timezone_invalid'] = 'Seçtiğiniz Saat Dilimi Geçersiz.'; +$l['us_wrong_theme'] = 'Seçtiğiniz Arayüz Bulunmuyor'; +$l['us_page_head'] = 'Kullanıcı Ayarları'; +$l['us_change_final'] = 'Ayarlarınız Başarı Olarak Güncellendi'; +$l['us_choose_lang'] = 'Dil Seçiniz'; +$l['us_exp_lang'] = 'Tercih Ettiğiniz Dil Seçiniz'; +$l['us_timezone'] = 'Saat Dilimi'; +$l['us_default_timezone'] = 'Sunucu Saat Dilimi'; +$l['us_edit_settings'] = 'Güncelle'; +$l['us_done'] = 'Ayarlarınız Başarılı Olarak Kayıt Edildi'; +$l['us_choose_theme'] = 'Arayüz Seçiniz '; +$l['us_exp_theme'] = 'Tercih ettiğiniz Arayüz Seçiniz'; +$l['us_no_theme'] = 'Arayüz Seçilmedi'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'Bu Alan Eğer Boş İse Varsayılan Değer Gösterilecek'; +$l['us_vps_bandwidth_threshold'] = 'Sanal Sunucu Trafik Limit İçin Bildirim'; +$l['us_vps_bandwidth_threshold_exp'] = 'Eğer 0(Sıfır) İse Bildirim E-posta Gönderimi kapanır. Değer: %'; +$l['us_no_vps_bandwidth_threshold'] = 'Trafik Limiti Değeri Girmediniz'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Gecersiz Trafik Limit Değeri Girdiniz'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Alan Adı Yönlendirme'; +$l['vdf_serid'] = 'Sunucu'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Protokol'; +$l['vdf_src_hname'] = 'Kaynak Alan Adı/IP'; +$l['vdf_src_dom'] = 'Kaynak Alan Adı'; +$l['vdf_src_ip'] = 'Kaynak IP'; +$l['vdf_src_port'] = 'Kaynak Portu'; +$l['vdf_dest_ip'] = 'Hedef IP’si'; +$l['vdf_dest_port'] = 'Hedef Portu'; + +$l['vdf_add_title'] = 'Yeni Alan Adı Yönlendirme Kaydı'; +$l['vdf_sel_proto'] = 'Porotokol Seç'; +$l['vdf_select_ip'] = 'IP Seç'; + +$l['vdf_no_act_sel'] = 'İşlem Seçilmedi, Birini Seçip Tekrar Deneyiniz'; +$l['vdf_success_add'] = 'Başarı İle Eklendi'; +$l['vdf_success_update'] = 'Veri Güncellemesi Başarılı'; +$l['vdf_success_save'] = 'Güncelleme Kayıt Edildi'; +$l['vdf_no_server_found'] = 'Sunucu Bulunmadı'; +$l['vdf_conf_del_entries'] = ' Seçili Kayıtları Sil ?'; +$l['vdf_success_del_entries'] = 'Kayıtlar Başarılı Olarak Silindi'; +$l['vdf_ser_not_found'] = 'Talep Edilen Sunucu Bulunmadı'; +$l['vps_not_found_on_server'] = 'Talep Edilen '.VM_SHORT.' ({{vpsid}}) Seçilen Suncuda Bulunmadı ({{server}})'; +$l['vdf_proto_no_support'] = 'Protokol ID ({{protocolid}}) Desteklenmiyor'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) Bulunmadı'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) Bulunmadı'; +$l['vdf_inv_ipaddress'] = 'IP Adresi Size Ait Değil'; +$l['vdf_no_vps'] = 'Hiç Bir '.VM_SHORT.' Bulunmadı'; + +$l['vdf_empty_allowed_src_ips'] = 'Müsade Edilen IP Listesi Boş, Yönetici Bu Listeyi Sizin Kullanmınıza Açması Gerekmektedir'; +$l['vdf_inv_src_port'] = 'Kaynak portu ({{src_port}}) Geçersiz port numarası'; +$l['vdf_in_use_src_port'] = 'Kaynak portu ({{src_port}}) Kullanılmakda '; +$l['vdf_inv_src_hostname'] = 'Seçtiğiniz Kaynak Alan Adı ({{src_hostname}}) Geçersiz Alan Adı'; +$l['vdf_inv_src_ip'] = 'Kaynak IP Adresi ({{src_ip}}) Geçersizdir'; +$l['vdf_not_available_src_ip'] = 'Seçtiginiz Kaynak IP Adresi ({{$src_ip}}) '.VM_SHORT.' Alan Adı Yönlendirmesi için Etkin değildir'; +$l['vdf_port_not_supported_tcp'] = 'Kaynak portu ({{src_port}}) TCP Protokolu Desteklemiyor, Sadece : HTTP ve HTTPS Protokolu Desteklemektedir' ; + +$l['vdf_inv_dest_port'] = 'Hedef portu ({{dest_port}}) Geçersiz port numarası'; +$l['vdf_inv_dest_ip'] = 'Hedef IP’si ({{dest_ip}}) Geçersiz IP Adresi veya Bu '.VM_SHORT.'’nin Kullanılması İçin Etkin Değildir'; + +$l['vdf_note_point_domain'] = 'NOT: Alan Adı Yönledirme Çalışması İçin, Bu vps’in Alan Adı ({{src_hostname}}) Bu IP’lerden Birisine yönlendirilmeli:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Kaynak Alan Adı İçin Kayıt Bulunuyor ({{src_hostname}}) ve Kaynak portu ({{src_port}})'; + +$l['vdf_db_query_error'] = ' Sorgulama Sırasında Veri Tabanı Hatası Oluştu. Taleb İşlemi Tamamlanamadı'; +$l['vdf_err_unknown'] = 'İstenilen İstek Sırasında Bilinmiye Bir Hata Oluştu'; + +$l['vdf_err_haproxy_port_empty'] = 'Kaynak Portu Boş'; +$l['vdf_err_haproxy_port_used'] = 'Kaynak Portu {{src_port}} Kulllanılmakda'; +$l['vdf_in_haproxy_reservedports'] = 'Kaynak Portu {{src_port}} Port Listesinde Rezerve Edilmiş Durumda'; +$l['vdf_in_haproxy_reservedports_http'] = 'Kaynak Portu {{src_port}} Rezerve Edilmiş Port Listesinde Sadece HTTP or HTTPS Protokol için Kullananılabilir '; +$l['vdf_notin_haproxy_allowedports'] = 'Kaynak Portu {{src_port}} Müsade Edilen Port Listedinde Mevcut Değil'; + +//VDF Information div lang +$l['vdf_info'] = 'Bilgi'; +$l['vdf_info_server'] = 'Sunucu'; +$l['vdf_info_reservedports'] = 'Rezerve Edilmiş Portlar'; +$l['vdf_info_allowedports'] = 'Müsade Edilen Portlar'; +$l['vdf_info_reservedports_http'] = 'Rezerve Edilmiş Portlar Sadece HTTP/HTTPS İçin kullanılabilir'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Alan Adı Yönlendirme '; +$l['vdf_source'] = 'Kaynak'; +$l['vdf_destination'] = 'Hedef'; +$l['vdf_added'] = 'Eklendi'; +$l['vdf_updated'] = 'Güncellendi'; +$l['vdf_removed'] = 'Kaldırıldı'; +$l['vdf_removed_multiple'] = 'Çoklu Kaldırıldı'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Bu Kaydı Düzenle'; +$l['vdf_tooltip_save'] = 'Bu Kayıtda Yapılan Düzenlemeyi Kayıt Et'; +$l['vdf_tooltip_revert'] = 'Bu Kayıtda Yapılan Düzenlemeyi Geri Getir'; +$l['vdf_tooltip_delete'] = 'Bu Kaydı Sil'; + +$l['vdf_skipped_msg'] = 'Bu Kayıtdaki Veriler Atlandı '; +$l['vdf_skipped_haproxy_reservedports'] = 'Kaynak Portu Port Listesinde Engelli'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Kaynak Port Rezerve Edilmiş portlar Listesinde Sadece HTTP/HTTPS için'; +$l['vdf_skipped_haproxy_allowedports'] = 'Kaynak Port Müsade Edilen Ports Listesinde Yok '; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Sanallaştırm Tipini Seçin'; +$l['li_num_vs_over'] = ' Size Verilen Sanal Sunucu Oluşturma Limitine Ulaştınız'; +$l['li_no_hname'] = 'Lütfen Sunucu Adını Belirtin'; +$l['li_no_os'] = ' '.VM_SHORT.' İçim Bir İşletim Sistemi Seçiniz'; +$l['li_no_rootpass'] = 'Root Şifresi Giriniz'; +$l['li_no_disk_space'] = VM_SHORT.' İçin Disk Alanı '; +$l['li_no_ram'] = VM_SHORT.' İçin RAM Hazıfa'; +$l['li_no_vncpass'] = 'VNC Şifresi'; +$l['li_no_bandwidth'] = VM_SHORT.' Trafik Limiti '; +$l['li_no_cpu_units'] = VM_SHORT.' İçin CPU Basamağı'; +$l['li_no_cpu_cores'] = VM_SHORT.' İçin Çekirdek Adeti'; +$l['li_cores_max'] = 'En Fazla Çekirdek'; +$l['li_invalid_sg'] = 'Seçtiğiniz Bölge Geçersiz'; +$l['li_invalid_plid'] = 'Seçtiğiniz Plan Geçersiz'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_invalid_virt'] = 'Seştiğiniz Bölge Sanal Sunucu Tipini Desteklemiyor'; +$l['li_no_percent_cpu'] = 'Müsade Edilen Cpu Oranı Kullanımı'; +$l['li_no_swap_ram'] = 'SWAP RAM Alanı'; +$l['li_no_burst_ram'] = 'Burstable RAM Limiti'; +$l['li_invalid_os'] = 'İşletim Sistemi Geçersiz'; +$l['li_no_ip'] = VM_SHORT.' İçin En Az Bir IP Adresi Seçiniz'; +$l['li_invalid_uid'] = 'Kullanıcı Bulunmuyor '; +$l['li_no_user'] = ' Kullanıcısının E-posta Belirtmediniz'; +$l['li_no_user_pass'] = 'Kullanıcı Şifresi Girmediniz'; +$l['li_invalid_email'] = 'Geçersiz Kullanıcı E-posta Adresi'; +$l['li_emailexist'] = 'Kullancı E-posta Adresi Sistemde Kayıtlı'; +$l['li_err_user'] = 'Kullanıcı Eklenirken Hata Oluştu.'; +$l['li_invalid_hostname'] = 'Geçersiz Sunucu Adı'; +$l['li_less_ram'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin yeterli RAM’ınız Bulunmuyor'; +$l['li_less_burst'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli Burst RAM’ınız Bulunmuyor'; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli Disk Alanınız Bulunmuyor'; +$l['li_less_inodes'] = 'inodeslar 50000’den daha Fazla Olamamsı Gerekiyor'; +$l['li_less_vs'] = 'Daha Fazla Sanal Sunucu Oluşturmanıza Müsade Edilmiyor'; +$l['li_less_bandwidth'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli Trafik Limitiniz Bulunmuyor'; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IP4 Adresiniz Bulunmuyor'; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Adresiniz Bulunmuyor'; +$l['li_less_ipv6_subnet'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli IPV6 Alt Ağ Adresiniz Bulunmuyor'; +$l['li_max_cores_exceeded'] = 'Bu Kadar Çekirdekli Bir Sanal Sunucu Oluşturmanıza Müsade Edilmiyor'; +$l['li_less_cores'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli CPU Çekirdek Limitiniz Bulunmuyor'; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'Kullanıcı Oluşturma Limitinize Ulaşitiniz'; +$l['li_no_server'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli Kaynak Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['li_ipv4_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv4 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['li_ipv6_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['li_ipv6_subnet_over'] = 'Seçmiş Olduğunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Alt Ağ Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['li_no_webuzo_template'] = 'Seçmis Olduğunuz işletim Sistemi Webuzo İçine Değildir '; +$l['li_err_swapsize'] = ' SWAP Alanı Sanal Sunucu Disk Alanı Kadar veya daha Büyük olamaz'; +$l['li_inv_kvm_cache'] = 'Geçersiz Disk Önbellek'; +$l['li_inv_io_mode'] = 'I/O İlkesi Geçersiz'; +$l['li_inv_vnc_keymap'] = 'VNC Keymap Geçersiz'; +$l['li_err_vpslimit'] = VM_SHORT.' Oluşturma Limiti Aşıldı'; +$l['li_page_head'] = 'İstek Oluştur'; +$l['li_vstype'] = 'Tipi'; +$l['li_done'] = 'Sanal Sunucu Oluşturuldu'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Adı'; +$l['li_newvs_rootpass'] = 'Root Şifresi'; +$l['li_newvs_vnc'] = 'VNC Ayrıntıları'; +$l['li_newvs_vncpass'] = 'VNC Şifresi'; +$l['li_newvs_ips'] = 'IPler'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Sunucu'; +$l['li_exp_server'] = 'Sunucuyu Değiştirmek İçin Güncel Sunucuyu Değiştirin'; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'Kullanıcı'; +$l['li_vs_user_exp'] = 'Bir Kullanıcı Seçiniz veya Ekleyiniz'; +$l['li_user_email'] = 'Kullanıcı E-posta Adresi'; +$l['li_user_pass'] = 'Şifre'; +$l['li_add_user'] = 'Kullanıcı Ekle'; +$l['li_regions'] = 'Bölge'; +$l['li_virt_type'] = 'Sanallaştırma'; +$l['li_os'] = 'İşletim Sistemi'; +$l['li_select'] = 'Seç'; +$l['li_vs_plan'] = 'Plan Seç'; +$l['li_plan_exp'] = 'Önçeden Ayarlanmış Bir Plan Seçiniz'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Bu '.VM_SHORT.' İçin Tam Sanallaştırmaya Müsade Ediyormusunuz ?'; +$l['li_vsos'] = 'İşletim Sistemi'; +$l['li_vsos_exp'] = 'Sanal Sunucu İçin İşletim Sistemi Seçiniz'; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'ISO Seçilirse '.VM_SHORT.' ISO’dan Başlatılır.'; +$l['li_sec_vsiso'] = 'ISO ikinci CDROM İçin '; +$l['li_sec_vsiso_exp'] = 'ikinci CDROM İçin Bir ISO Seçiniz'; +$l['li_none'] = 'Hiç Biri'; +$l['li_rootpass'] = VM_SHORT.' Root Şifresi'; +$l['li_rootpass_exp'] = VM_SHORT.' İçin Root/ Yönetici Şifresi'; +$l['li_randpass'] = 'Başka Bir Şifre Oluştur'; +$l['li_hostname'] = 'Sunucu Adı'; +$l['li_hostname_exp'] = VM_SHORT.' İçin Sunucu Adı Giriniz. Şrnek ;Sunucu.domain.com'; +$l['li_ip'] = 'IP Adresi'; +$l['li_ips'] = 'IP Adresi'; +$l['li_ips_exp'] = VM_SHORT.'’ye Eklemek İçin IP Adresi Adeti Girin'; +$l['li_ips6_subnet'] = 'IPv6 Alt Ağ'; +$l['li_ips6_subnet_exp'] = VM_SHORT.'’ye Eklemek İçin IPv6 Adresi Adedi Girin'; +$l['li_ips6'] = 'IPv6 Adresi'; +$l['li_ips6_exp'] = 'IPv6 Adedi Girebilirsiniz'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = ' Bu IP’yi Kaldır'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Disk Alanı'; +$l['li_exp_hdd'] = VM_SHORT.' İçin Disk Alan Limiti'; +$l['li_mac'] = 'MAC Adresi'; +$l['li_exp_mac'] = 'Altı Gruptan Oluşan (:) İle Ayrılan Değerler Giriniz Örnek 01:23:45:67:89:ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = VM_SHORT.' İçin Inodes Limiti Gerekli Olan Değer 50000 veya Yukarı Bir Değer Giriniz '; +$l['li_gram'] = 'Garanti Edilen '.VM_SHORT.' RAM’ı'; +$l['li_exp_gram'] = VM_SHORT.' İçin Ayrınmiş Olan Garanti Edilen RAM'; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'Sanal Sunucunun Kullanabileceği En Fazla RAM Limiti'; +$l['li_swap'] = 'Swap RAM’ı'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'Yukardaki Bir işletim Sistemi Seçerseniz SWAP Oluşturmaya Çalışılacaktır. '; +$l['li_band'] = 'Band Genişliği Limiti'; +$l['li_exp_band'] = VM_SHORT.' Aylık Band Genişliği Limiti 0 (Sıfır) Değeri = Sınırsız'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'CPU Basamağı'; +$l['li_cpalloc'] = 'Müsade Edilen CPU Basamağı'; +$l['li_cpalloc_xen'] = 'Gerekli Değer : 256'; +$l['li_cpalloc_openvz'] = 'Gerekli Değer : 1000'; +$l['li_cpalloc_kvm'] = 'Gerekli Değer : 1024'; +$l['li_units'] = 'Basamak'; +$l['li_cores'] = 'CPU Çekirdeği'; +$l['li_cpucore_exp'] = 'Gerekli Değer :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'CPU Süresinin Yüzde Cinsinden Karşılık Gelen '.VM_SHORT.' Değerini Aşmasına İzin Verilmez.
Değer 0 Sınırsız.
Gerekli Değer : 40'; +$l['li_io'] = 'I/O Önceliği'; +$l['li_io0-7'] = '0-7 Arasında Bir Değer Seçiniz'; +$l['li_na'] = 'AĞ Hızı'; +$l['li_na_exp'] = 'Ağ Hız Değeri Kullanın'; +$l['li_ubcsettings'] = 'UBC Ayarları'; +$l['li_exp_ubc'] = 'Eger Seçildiyse '.VM_SHORT.'’nin UBC Ayarlarına Yönlendireleceksiniz '; +$l['li_submit'] = 'Oluştur'; +$l['li_addvoption'] = 'Gelişmii Ayarlar'; +$l['li_addvhide'] = 'Gelişmiş Ayarlar Gizle'; +$l['li_network_speed'] = 'AĞ Hızı'; +$l['li_network_speed_exp'] = 'Sınırsız İçin 0 (Sıfır) Değeri veya Boş Bırakın.
veya Kutadan Hazır Bir Değer Seçiniz'; +$l['li_upload_speed'] = 'Gönderme Hızı'; +$l['li_upload_speed_exp'] = 'Sınırsız İçin 0 (Sıfır) Değeri veya Boş Bırakın.
veya Kutadan Hazır Bir Değer Seçiniz'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'Limitsiz'; +$l['li_shadow'] = 'Hafızayı Göster'; +$l['li_shadow_exp'] = 'Gerekli Değer : 8 MB'; +$l['li_vncpass'] = 'VNC Şifresi'; +$l['li_vncpass_exp'] = VM_SHORT.' İçin VNC Şifresi. Sembole Tıklıyarak Yeni Bir Şifre Oluşturunuz'; +$l['li_free'] = 'Boş'; +$l['li_band_suspend'] = 'Band Genişliği Askıda '; +$l['li_exp_band_suspend'] = 'Band Genişliği Limitini Aşan '.VM_SHORT.'’i Askıya Al'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = VM_SHORT.' İçin Tun/Tap Aç'; +$l['li_exp_ppp'] = VM_SHORT.' İçin PPP (Point to Point Protocol) Aç'; +$l['li_osreinstall'] = 'İşletim Sistemi Tekrar Kurulum Limiti'; +$l['li_exp_osreinstall'] = 'İşletim Sistemi Kurulumu Aylık Limitlemek İçin.
örnek. 0 - Sınırsız'; +$l['li_changenic'] = 'Sanal Ağ Tipi'; +$l['li_exp_changenic'] = 'Ağ Tipi Değiştirmek İstiyorsanız. Olanaklar Güncel veya E1000. virtio Sanal NİC Tipi Olarak Kullanılacak Eğer virtio Açık İse' ; +$l['li_add_route'] = 'Routed Ağ Kullan'; +$l['li_exp_add_route'] = 'Bu Seçildimi, Dolaştırılan (routed) Ağ Kullanılacaktır.'; +$l['li_nic_default'] = 'Realtek 8139(Geçerli)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Sanal Ağ Interface Emülasyonu '; +$l['li_exp_change_vif_type'] = 'Sanal Ağ Interface Emülasyonu Tipi Değiştirmek İstiyorsanız. Olanaklar netfront Veya ioemu.'; +$l['li_viftype_ioemu'] = 'İoemu'; +$l['li_viftype_netfront'] = 'Netfront (Gecerli)'; +$l['li_usevirtio'] = 'virtio Aç'; +$l['li_exp_usevirtio'] = 'virtio IO Sanalaştırma Olarak Kullan'; +$l['li_usesec_cdrom'] = 'İkinci CD ROM Aç'; +$l['li_exp_usesec_cdrom'] = 'Sanal Sunucuda İkinçi CD ROM ISO Kullanımını Aç.'; +$l['li_kvm_cache'] = 'Disk Önbellek'; +$l['li_exp_kvm_cache'] = 'Önbekllek Kontrol Düzeni '; +$l['li_io_mode'] = 'I/O İlkesi'; +$l['li_vnc_keymap'] = 'VNC Konsol Anahtarı'; +$l['li_dns'] = 'DNS Ad Sunucuları'; +$l['li_exp_dns'] = 'Hakkında Bilgi Sahibi Değilseniz 4.2.2.1 ve 4.2.2.2 Kullanın'; +$l['li_mg'] = 'Medya Grupları'; +$l['li_mg_exp'] = 'Eğer Medya Grup Oluşturulmadıysa Bütün Medya Grupları '.VM_SHORT.' İçin Geçerli Olaçaktır .'; +$l['li_apps'] = 'Uygulamalar'; +$l['li_apps_exp'] = 'Kurmak İstediğiniz Webuzo Uygulaması Seçiniz'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'Bu Açılıksa, '.VM_SHORT.' Ploop Formatı İle Format olacaktır. '; +$l['li_mac_temp_vncdetails'] = 'MAC Adresi :'; +$l['li_mail_temp_vnctitle'] = 'VNC Ayrıntıları :'; +$l['li_mail_temp_vncdetails'] = 'VNC Ayrıntıları :'; +$l['li_mail_temp_vncpasswd'] = 'VNC Şifresi :'; +$l['li_reinstall'] = 'Sanal Sunucuyu Tekrar Kur'; +$l['li_space'] = 'Disk Alanı'; +$l['li_space_exp'] = VM_SHORT.' İçin Müsade Edilien Disk Alanı '; +$l['li_ram'] = 'Garanti Edilen RAM'; +$l['li_ram_exp'] = VM_SHORT.' İçin Geçerli Olan Garantili RAM (Hafıza)'; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = VM_SHORT.'’nin Kullanabileceği En Fazla RAM (hafıza)'; +$l['li_swap'] = 'Swap Alanı'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'Yukardaki Bir İşletim Sistemi Seçerseniz SWAP Oluşturmaya Çalışılacaktır.'; +$l['li_bandwidth'] = 'Band Genişliği Limiti'; +$l['li_bandwidth_exp'] = VM_SHORT.' Aylık Band Genişliği Limiti 0 (Sıfır) Değeri = Lımitsiz'; +$l['li_free'] = 'Boş'; +$l['li_unlimited'] = 'Sınırsız'; +$l['li_submit'] = 'Oluştur'; +$l['li_weak_pass'] = 'Şifreniz En Az Bu 3 Seçenek İçermek Zorunda: Kücük Harf, Büyük Harf, Rakam Özel Karakter'; +$l['li_usevirtio'] = 'virtio Aç'; +$l['li_usevirtio_exp'] = 'virtio I/O Sanallaştırma Olarak Kullan'; +$l['li_plan_name'] = 'Plan Adı'; +$l['li_plan_details'] = 'Plan Ayrıntıları'; +$l['li_new_vps_info'] = 'Yeni '.VM_SHORT; +$l['li_back'] = 'Geri'; +$l['li_continue'] = 'Devam Et'; +$l['li_nic'] = 'Sanal Ağ Arayüzü Tipi'; +$l['li_nic_exp'] = 'Sanal Ağ Arayüz Tipi Seç.'; +$l['li_vif'] = 'Sanal Ağ emülasyon Tipi'; +$l['li_vif_exp'] = 'Sanal Ağ emülasyon Tipi Seçiniz. Olanaklar netfront veya ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topolojisi'; +$l['li_enable_cpu_topology_exp'] = VM_SHORT.' İçin Çekirdek Değerleri'; +$l['li_inv_topology'] = ' Geçersiz CPU Topoloji Değeri. Bütün Topoloji Değerleri Sıfırdan Büyük Olmalı '; +$l['li_err_topology_calc'] = 'CPU Çekirdek Değeri Topolojisi Limitine Eşit Olması Gerekmektedir (CPU cekirdekleri = Sockets x Topoloji Çekirdek x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU İş Parçacığı'; +$l['li_month'] = 'Ay'; +$l['li_hour'] = 'Saat'; +$l['li_invalid_plid'] = 'Seçtiginiz Plan Geçersiz'; +$l['li_install_app'] = 'Uygulama Kur'; +$l['li_install_app_exp'] = 'NOT: Webuzo Yönetim Paneli Kur'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Bilgileri Düzenle'; +$l['ei_vs_user'] = 'Kullanıcı'; +$l['ei_vs_user_exp'] = 'Kayıtlı Olan Bir Kullanıcı Seçiniz veya Yeni Kullanıcı Ekle'; +$l['ei_user_email'] = 'E-posta Adresi'; +$l['ei_user_pass'] = 'Şifre'; +$l['ei_add_user'] = 'Kullanıcı Ekle'; +$l['ei_unknown'] = 'Bilinmiyor'; +$l['ei_vsos'] = 'İşletim Sistemi'; +$l['ei_vsos_exp'] = 'Bu Sanal Sunucuda Aktiv Olan İşletim Sistemi'; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'Eğer ISO Seçildi İse Sanal Sunucu BU ISO’dan Başlayacaktır'; +$l['ei_none'] = 'Yok'; +$l['ei_hostname'] = 'Sunucu Adı'; +$l['ei_hostname_exp'] = 'Sanal Sunucu Adı Giriniz. Örnek: Sunucu.domain.com'; +$l['ei_rootpass'] = 'Sanal Sunucu Root Şifresi'; +$l['ei_rootpass_exp'] = 'Gecerli Olan Şifreyi Değiştirmek İstemiyorsanız Boş Bırakın'; +$l['ei_randpass'] = 'Bir Şifre Oluştur.'; +$l['ei_ip'] = 'IP Adresi'; +$l['ei_ips_exp'] = 'IP Havuzundan IP Seçiniz. veya IP Giriniz.'; +$l['ei_ips6_subnet'] = 'IPv6 Alt Ağ'; +$l['ei_ips6_subnet_exp'] = 'IPv6 Alt Ağ Listesinden Seçebilirsiniz'; +$l['ei_free'] = 'Boşda'; +$l['ei_ips6'] = 'IPv6 Adresi'; +$l['ei_ips6_exp'] = 'Kullanmak İstediğiniz IPv6 Adresi Adeti Girebilirsiniz'; +$l['ei_space'] = 'Disk Alanı'; +$l['ei_space_exp'] = 'Sanal Sunucu Disk Alanı'; +$l['ei_ram'] = 'Garanti RAM'; +$l['ei_ram_exp'] = 'Sadece Bu Sanal Sunucu İçin Ayrılmiş Garanti edilen RAM'; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'Sanal Sunucunun Kullanabıleceği En Fazla RAM (Hafıza) Limiti'; +$l['ei_swap'] = 'Swap Alanı'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Band Genişliği'; +$l['ei_bandwidth_exp'] = 'Sanal Sunucu Aylık Trafik Kotası. 0 (Sıfır) Limitsiz'; +$l['ei_cores'] = 'CPU Adeti'; +$l['ei_cpucore_exp'] = 'Tavsiye Edılen Değer:'; +$l['ei_cores_max'] = 'En Fazla Cpu'; +$l['ei_unlimited'] = 'Sınırsız'; +$l['ei_network_speed'] = 'AĞ Hızı'; +$l['ei_network_speed_exp'] = 'Sınırsız 0 veya Boş Bırakın.
veya Listeden Seçiniz'; +$l['ei_upload_speed'] = 'Yükleme Hızı'; +$l['ei_upload_speed_exp'] = 'Sınırsız 0 veya Boş Bırakın.
veya Listeden Seçiniz'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'Sınırsız'; +$l['ei_vncpass'] = 'VNC Şifresi'; +$l['ei_vncpass_exp'] = VM_SHORT.' İçin VNC Şifresi. Simge Tıklıyarak Bir Şifre Oluşturun '; +$l['ei_submit'] = 'Sanal Sunucu Düzenleme'; +$l['ei_done'] = 'Sanal Sunucu Başarılı Olarak Düzelendi.'; +$l['ei_addvoption'] = 'Gelişmiş Ayarlar'; +$l['ei_no_uid'] = 'Kullanıcı Seçilmedi'; +$l['ei_no_nonalphanumeric'] = 'Özel Karakterler VNC Şifresinde Kullanmazyınız'; +$l['ei_less_space'] = 'Bu Sanal Sunucuyu Oluşturmak İçin Yeterli Disk Alanı Bulunmamakta.'; +$l['ei_less_ram'] = 'Bu Sanal Sunucuyu Oluşturmak İçin Yeterli RAM Bulunmamakta'; +$l['ei_max_cores_exceeded'] = VM_SHORT.' Oluşturuken Kullandıgınız Çekirdek Sayısı İle Sanal Sunucu Oluşturamazsınız'; +$l['ei_less_cores'] = 'Bu '.VM_SHORT.' Oluşturuacak Yetirli Kadar CPU Çekirdek İzniniz Bulunmaktadır '; +$l['ei_less_burst'] = 'Bu '.VM_SHORT.'’yi Oluşturmak İçin Yeterli Burst Ram’ınız Yok'; +$l['ei_ipv4_over'] = 'Seçmiş oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv4 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['ei_ipv6_over'] = 'Seçmiş oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Adresi Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['ei_ipv6_subnet_over'] = 'Seçmiş Oldugunuz Bölgede Sanal Sunucu Oluşturma İçin Yeterli IPv6 Alt Ağ Bulunmuyor. Lütfen Destek Talebinde Açınız'; +$l['ei_less_ipv4'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IP4 Adresiniz Bulunmuyor'; +$l['ei_less_ipv6'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Adresiniz Bulunmuyor'; +$l['ei_less_ipv6_subnet'] = 'Bu '.VM_SHORT.'’i Oluşturmak İçin Yeterli IPV6 Alt Ağ Adresiniz Bulunmuyor'; +$l['ei_wrong_user'] = 'Bu Kullanıcıya Geçiremezsiniz'; +$l['ei_only_user'] = VM_SHORT.' Kullaanıcı Düzelenirken Sanal Sunucu Kaynaklarını değiştirilemez'; +$l['ei_less_swap'] = 'Yeterliz SWAP Alanı'; +$l['ei_usevirtio'] = 'virtio Aç'; +$l['ei_usevirtio_exp'] = 'virtio I/O Sanallaştırma Olarak Kullan'; +$l['ei_less_bandwidth'] = 'Bu '.VM_SHORT.'’yi Ulaşmak İçin Yeterli Band Genişliği Limitiniz Bulunmuyor'; +$l['ei_enable_cpu_topology'] = 'CPU Topolojisi Aç'; +$l['ei_enable_cpu_topology_exp'] = VM_SHORT.' İçin Çekirdek Değerleri'; +$l['ei_inv_topology'] = 'Geçersiz CPU Topoloji Değeri. Bütün Topoloji Değerleri Sıfırdan Büyük Olmalı'; +$l['ei_err_topology_calc'] = 'CPU Çekirdek Değeri Topolojisi Limiitine Eşit Olması Gerekmektedir (CPU Çekirdekleri = Sockets x Topoloji Çekirdek x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Plana Eklendi'; +$l['ei_add_pricing'] = 'Ek Fiyatlar'; +$l['ei_plan'] = 'Şu Anki Plan'; +$l['ei_plan_exp'] = 'Değiştirmek İstediğiniz Planı Seçiniz Not :Eğer Kullandıgınız Kaynaklarınız Plandan daha Fazla İse Kaynak Kullanımana Göre Ek Fiyat Ödemek Zorundasınız.'; +$l['ei_plid_space'] = 'Alt Plana Geçemezsiniz'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Geçersiz Yönetim Paneli Seçtiniz'; +$l['cpan_err_installing'] = 'Yönetim Panel Kurulumunda Hata Oluştu'; +$l['cpan_wrong_os'] = 'Yönetim Paneli Kurulamaz '; +$l['cpan_confirm'] = 'Bu Yönetim Panelini Kurmak İstiyormusunuz ? Sanal Sunucu Üzerine Kurulum İçin Gerekli Dosyalar İndirip Kurulacaktır. Bu İşlem 90 Dakika Kadar Sürebilir. İşlemleri SSH Üzerinden İzliyebilirsiniz.'; +$l['cpan_done'] = 'Yönetim Panel Kurulumu Başladı ve En Kısa Sürede Bitecek.'; +$l['cpan_change_onboot'] = 'Yönetim Paneli Kurulumu '.VM_SHORT.'’i Kapatıp Açtıkdan Sonra Başlıyacaktır. '; +$l['cpan_vps_start'] = 'Sanal Sunucu Çalışmıyor! Önce Sanal Sunucuyu Çalıştırın.'; +$l['cpan_heading'] = 'Yönetim Panelleri'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Yedekleme'; +$l['bkup2_list_head'] = VM_SHORT.' ID’sinin Yedekleri: '; +$l['bkup2_list_exp'] = 'Bu '.VM_SHORT.'’nin Hangi Yedeklemelerinin Mevcut Olduğu Tarihleri Aşağıda Listelenmiştir. Bunları Uygun Şekilde Geri Yükleyebilir veya Silebilirsiniz..'; +$l['bkup2_date'] = 'Yedekleme Tarihi'; +$l['bkup2_size'] = 'Boyutu'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Geri Al'; +$l['bkup2_delete'] = 'Yedek Sil'; +$l['bkup2_now'] = 'Şimdi Yedekle '; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Bu Yedekden '.VM_SHORT.' Geri Almak İstiyormusunuz ?'; +$l['bkup2_conf_delete'] = 'Bu yedeği Silmek İstiyormusunuz ?'; +$l['bkup2_list'] = 'Yedekler Listesi'; +$l['bkup2_settings'] = 'Ayarlar'; +$l['bkup2_backup_server'] = 'Yedekleme Sunucusu'; +$l['bkup2_backup_server_exp'] = 'Seçilen Yedekleme Sunucusunu Yedekler Aktarılacaktır'; +$l['bkup2_none'] = 'Hiç Biri'; +$l['bkup2_server'] = 'Yedekleme Sunucusu'; +$l['bkup2_no_day'] = 'Yedekleme Günü Belirtin'; +$l['bkup2_no_date'] = 'Geçersiz Yedekleme Günü Belirtiniz'; +$l['bkup2_no_freq'] = 'Lütfen Yedekleme Geçerli Aralığı Belirtiniz'; +$l['bkup2_no_time'] = 'Lütfen Geçerli Zaman Birimi Belirtin '; +$l['bkup2_no_bserid'] = 'Lütfen Yedekleme Sunucusu Belirtin'; +$l['bkup2_done_backup'] = VM_SHORT.' Yedekleme İşlemi Başlatıldı. Yedek Oluşturulması İçin Bekleyiniz. Yedek Oluşturuldumu Email İle Size Bildirilecektir.'; +$l['bkup2_done_restore'] = VM_SHORT.' Yedekden Tekrar Oluşturma İşleme Başlatıdı. '.VM_SHORT.' Yedekden Tekrar Oluşturulması İçin Bekleyiniz. '.VM_SHORT.' Tekrar Oluşturuldumu E-posta İle Size Bildirilecektir.'; +$l['bkup2_done_delete'] = VM_SHORT.'’nin Yedeği Başarılı Olarak Silindi'; +$l['bkup2_done_save_settings'] = 'Yedekleme Ayarları Kayıt Edildi.'; +$l['bkup2_err_backup'] = 'Yedek Oluşturulurken Hata Oluştu'; +$l['bkup2_err_restore'] = VM_SHORT.' Yedekden Tekrar Oluşturulurken Hata Oluştu'; +$l['bkup2_err_deletevpsbackup'] = VM_SHORT.' Silinirken Bir Hata Oluştur'; +$l['bkup2_err_backup_not_allowed'] = 'Bu '.VM_SHORT.'’nin Yedek Oluşturma İzni Yok'; +$l['bkup2_err_task_running'] = 'Bu '.VM_SHORT.' İçin Yedekleme veya Tekrar Oluşturma İşlemi Çalişmakta. Bitemesini Bekleyiniz'; +$l['bkup2_err_backup_limit'] = 'Bu '.VM_SHORT.' İçin Aylık Yedekleme Limitine Ulaştınız.'; +$l['bkup2_err_restore_limit'] = 'Bu '.VM_SHORT.' Aylık Tekrar Oluşruma Limitine Ulaştınız.'; +$l['bkup2_err_save_settings'] = 'Yedekleme Ayarları Kayıt Edilirken Hata Oluştu'; +$l['bkup2_monthly_bkups_used'] = 'Kullanılan Aylık Yedek Limiti:'; +$l['bkup2_monthly_restores_used'] = 'Kullanılan Aylık Oluşturma Limiti:'; +$l['bkup2_current_cycle'] = 'Günçel Döngü:'; +$l['bkup2_unlimited'] = 'Sınırsız'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'Bu Sanallaştırma HVM Ayaraları Bulunmuyor'; +$l['hvm_rescue_enabled'] = 'Bu '.VM_SHORT.' Kurtarma Modunda Değişiklik Yapılamaz'; +$l['hvm_invalid_iso'] = 'Geçersiz ISO Seçtiniz'; +$l['hvm_err_editing'] = ' Ayarlar Kayıt Edilirken Hata Oluştu'; +$l['hvm_heading'] = 'HVM Ayarları'; +$l['hvm_submit_button'] = 'Onayla'; +$l['hvm_done'] = 'Ayarlar Başarılı Olarak Kayıt Edildi'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Önyükleme Sırası'; +$l['hvm_isos'] = 'ISO Seç'; +$l['hvm_none'] = 'Hiç Biri'; +$l['hvm_tuntap_enable'] = 'Tun/Tap Aç'; +$l['hvm_ppp_enable'] = 'PPP( Point to Point Protocol) Aç'; +$l['hvm_disabled'] = 'HVM Ayarları Yönetici Tarafından Kapatıldı'; +$l['hvm_hdd'] = 'Disk'; +$l['hvm_cdrom'] = 'CD Sürücüsü'; +$l['hvm_vnc_keymap'] = 'VNC Konsol Anahtarı'; +$l['hvm_enable_vga'] = 'VGA Aç'; +$l['hvm_enable_acceleration'] = 'Hızlandırmayı Aç'; +$l['hvm_enable_acceleration_exp'] = 'Eğer Seçilirse '.VM_SHORT.' İçin 2D ve 3D Hızlandırıcı Açılacaktır'; +$l['hvm_sec_iso'] = 'İkinci CDROM İçin ISO '; +$l['hvm_sec_iso_exp'] = 'İkinci CDROM İçin ISO Seç'; +$l['hvm_nic_type'] = 'Sanal AĞ Tipi'; +$l['hvm_nic_type_exp'] = 'Eğer Ağ Tipi Değiştirmek İstiyorsanız. Olanaklar Güncel veya E1000. virtio Bunu Sanal nic’i virtio Açıksa Kullanacaktır.'; +$l['nic_default'] = 'Realtek 8139(Geçerli)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Virtio Aç'; +$l['hvm_fuse'] = VM_SHORT.'(lerde) Fuse Aktif Et'; +$l['hvm_fuse_exp'] = 'Şeçilirse, Yeni Bir '.VM_SHORT.' Oluşturulurken Fuse Aktiv Edileçek.'; +$l['hvm_ipip'] = 'IPIP '.VM_SHORT.'(lerde) Aktif Et)'; +$l['hvm_ipip_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken IPIP Aktiv Edileçek.'; +$l['hvm_ipgre'] = VM_SHORT.'(lerde) IPGRE Aktif Et'; +$l['hvm_ipgre_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken IPGRE Aktiv Edileçek.'; +$l['hvm_nfs'] = VM_SHORT.'(lerde) NFS Aktif Et'; +$l['hvm_nfs_exp'] = 'Şeçilirse,Yeni Bir '.VM_SHORT.' Oluşturulurken NFS Aktiv Edileçek.'; +$l['hvm_quotaugidlimit'] = VM_SHORT.'(lerde) QUOTAUGIDLIMIT Aktif Et '; +$l['hvm_quotaugidlimit_exp'] = VM_SHORT.'’lerde Disk Kotaları Kullanıcı veya Guruplara Göre Açma Kapatma. Eğer Değer 0 (Sıfır) veya Boş İse Disk Kotaları '.VM_SHORT.'’lerlerde Kapalı Olaçaktır ve Hesaplanmıyacaktır..
+ NOT: Bu, Sanal Sunuculari yeniden başlatır.'; +$l['hvm_iolimit'] = VM_SHORT.'(lerde) İndirme/ Gönderme Hızı'; +$l['hvm_iolimit_exp'] = 'Eğer Seçildi İse '.VM_SHORT.' Sınırlandırılmış Upload/Download Limitini Geçemez.'; +$l['hvm_iopslimit'] = VM_SHORT.'(lerde) IPOS Limitini Aktif Et.'; +$l['hvm_iopslimit_exp'] = 'Eger Seçildi İse, Saniyedeki Okuma /Yazma Hız İşlemi Limitini Geçemiyecektir. '; +$l['hvm_admin_iso'] = 'Admin ISO’ları'; +$l['hvm_user_iso'] = 'Kullanıcı ISO’ları'; +$l['hvm_addiso'] = 'ISO Ekle'; +$l['hvm_listiso'] = 'ISO Listesi'; +$l['hvm_timezone'] = VM_SHORT.' Saat Dilimi'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU Bilgileri'; +$l['cpu_totalcpu'] = 'Toplam CPU :'; +$l['cpu_cpuutilised'] = 'Kullanılan : '; +$l['cpu_poweredby'] = 'Tarafından : '; +$l['cpu_graphheader'] = 'CPU Kullanımı'; +$l['cpu_trademarks'] = 'Kullanılan Tüm Logolar, İlgili Şirketlerin Ticari Markaları veya Tescilli Ticari Markalarıdır.'; +$l['cpu_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır..'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM Bilgileri'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Garanti Edilen RAM : '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Kullanılan :'; +$l['ram_percentram'] = 'Kullanım % :'; +$l['ram_graphheader'] = 'RAM Kullanımı'; +$l['ram_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Sürücü'; +$l['disk_diskinfo'] = 'Disk Bilgileri'; +$l['disk_totaldisk'] = 'Toplam Disk : '; +$l['disk_diskutilised'] = 'Kullanılan : '; +$l['disk_percentdisk'] = 'Kullanım % : '; +$l['disk_graphheader'] = 'Disk Kullanım'; +$l['disk_inodesinfo'] ='Inodes Bilgileri'; +$l['disk_inodestotal'] = 'Toplam Inodes :'; +$l['disk_inodesutilised'] = 'Kullanılan : '; +$l['disk_percent_inodes'] = 'Kullanım % :'; +$l['disk_inodesheader'] = 'Inodes Kullanımı'; +$l['disk_not_supported'] = 'Güncel Kullanım İzlenimi Bu Kaynak İçin Bulunmamaktadır.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Band Genişliği'; +$l['band_bandwidthinfo'] = 'Band Genişliği Bilgileri'; +$l['band_Total_Bandwidth'] = 'Toplam Band Genişliği :'; +$l['band_bandwidth_utilized'] = 'Kullanılan : '; +$l['band_percent_utilized'] = '% Kullanılan : '; +$l['band_graphheader'] = 'Bant Genişliği Kullanımı'; +$l['band_unlimited'] = 'Sınırzız'; +$l['band_network_speed'] = 'Anlık Ağ Hızı (MB/s)'; +$l['band_prev'] = 'Önceki Ay'; +$l['band_next'] = 'Sonraki Ay'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Seri Konsolu Kapalı'; +$l['cs_call_failed'] = 'API Bağlantısı Kurulamadı . Destek Talebinde Bulunun'; +$l['cs_heading'] = 'Seri Konsolu'; +$l['cs_none'] = 'Geçerli Seri Konsol Oturumu Bulunmadı Lütfen Yenisini Oluşturun !'; +$l['cs_create'] = 'Oturum Oluştur'; +$l['cs_creating'] = 'Oturum Oluşturuluyor ...'; +$l['cs_destroying'] = 'Oturumu Siliniyor ...'; +$l['cs_details'] = 'Konsol Ayrıntıları'; +$l['cs_expires'] = 'Süresi'; +$l['cs_ip'] = 'IP Adresi'; +$l['cs_port'] = 'Portu'; +$l['cs_username'] = 'Kullanıcı Adı'; +$l['cs_password'] = 'Şifre'; +$l['cs_destroy'] = 'Oturumu Sil'; +$l['cs_java_console'] = 'Java Konsolu'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Durum Kayıtları'; +$l['sts_running'] = 'Çalışıyor'; +$l['sts_stopped'] = 'Durdu'; +$l['sts_sts'] = 'Sistem Durumu'; +$l['sts_time'] = 'Zaman'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'Sistem Uyarıları'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Görevler'; +$l['tasks_task_started'] = 'Görev Başladı'; +$l['tasks_no_tasks'] = 'Bu Kullanıcı İçin Aktif Bir Görev Yok'; +$l['tasks_addvs'] = VM_SHORT.' Oluşturuluyor'; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Geri Yükleme İçin '.VM_SHORT.' Oluşturuluyor'; +$l['tasks_fstab_handle'] = 'FS Sekme Tutamacı'; +$l['tasks_deletevs'] = 'Sanal Sunucu Siliniyor '.VM_SHORT; +$l['tasks_migrateprog'] = VM_SHORT.'’yi Taşıma'; +$l['tasks_migratedest'] = VM_SHORT.'’yi Taşıma'; +$l['tasks_multivirt'] = 'Multivirt’yi Etkinleştir'; +$l['tasks_createtemplate'] = 'Şablon Oluşturma'; +$l['tasks_getos'] = 'İşletim Sistemi İndiriyor'; +$l['tasks_rebuildvs'] = 'Sanal Sunucu Yeniden Oluşturuluyor.'; +$l['tasks_resizevps'] = 'Sanal Sunucu Diski Düzenleniyor'; +$l['tasks_bandwidth_unsuspend'] = 'Bant Genişliği Akısını Kaldır'; +$l['tasks_removed_speed_capped'] = 'Ağ Hızı Geri Yükle'; +$l['tasks_restorevps'] = VM_SHORT.'’yi Geri Yükleme'; +$l['tasks_vpsbackups'] = VM_SHORT.'’yi Yedekle'; +$l['tasks_restorevps_plan'] = VM_SHORT.'’yi Geri Yükleme'; +$l['tasks_vpsbackups_plan'] = VM_SHORT.'’yi Yedekleme'; +$l['tasks_restore'] = VM_SHORT.'’yi Geri Yükleme'; +$l['tasks_backup'] = VM_SHORT.'’yi Yedekle'; +$l['tasks_change_dnsnameserver'] = 'DNS Ad Sunucusunu Değiştirme'; +$l['tasks_changepassword'] = 'Şifre Değiştirme'; +$l['tasks_sync_config'] = 'Senkronizasyon Yapılandırması'; +$l['tasks_install_cp'] = 'Yönetim Paneli Kur'; +$l['tasks_install_recipe'] = 'Uygulama (Bash) Kur'; +$l['tasks_hostname'] = 'Ana Bilgisayar Adını Değiştirme'; +$l['tasks_editxcpvs'] = VM_SHORT.' XCP Düzele'; +$l['tasks_error'] = 'Hatalı'; +$l['tasks_inprogress'] = 'Devam Etmekte'; +$l['tasks_order'] = 'Sıra'; +$l['tasks_asc'] = 'Artan'; +$l['tasks_desc'] = 'Azalan'; +$l['tasks_submit'] = 'Ara'; +$l['tasks_progress'] = 'İşlem'; +$l['tasks_completed'] = 'Görev Bitti'; +$l['tasks_task_notcomplete'] = 'Görev Tamamlanamadı.'; +$l['tasks_task_notupdated'] = 'Görev Güncellenmedi !'; +$l['tasks_task_notupdated_status'] = 'İzlenemeyen İşlem'; +$l['tasks_migrate_speed'] = 'Taşıma Hızı: '; +$l['tasks_started'] = 'Başladı'; +$l['tasks_updated'] = 'Güncellendi'; +$l['tasks_ended'] = 'Bitti'; +$l['tasks_notupdated'] = 'Güncellenmedi'; +$l['tasks_unslaved'] = 'Slave-Sunucu Ayrıldı'; +$l['tasks_not_started'] = 'Görev Başlamadı'; +$l['tasks_not_updated'] = 'Görev Güncellenmedi'; +$l['tasks_not_ended'] = 'Görev Bitmedi'; +$l['tasks_start_vps'] = VM_SHORT.' Başlat'; +$l['tasks_start_vps_error'] = VM_SHORT.' Başlatılırken Hata Oluştu'; +$l['tasks_restart_vps'] = VM_SHORT.' Tekrar Başlat'; +$l['tasks_restart_vps_error'] = VM_SHORT.' Tekrar Başlatılırken Hata Oluştu'; +$l['tasks_stop_vps'] = VM_SHORT.' Durdur'; +$l['tasks_stop_vps_error'] = VM_SHORT.' Durdururken Hata Oluştu'; +$l['tasks_poweroff_vps'] = VM_SHORT.'’yi Kapat'; +$l['tasks_poweroff_vps_error'] = VM_SHORT.' Kapatılırken Hata oluştu'; +$l['tasks_enable_rescuevs'] = 'Kurtarma Modu Aç'; +$l['tasks_disable_rescuevs'] = 'Kurtarma Modu Kapat'; +$l['tasks_remotedesktop'] = 'Uzak Masaüstü Görevi'; +$l['tasks_change_vncpass'] = 'VNC Şifresi değiştir'; +$l['tasks_installxentools'] = ' Xenserver Araçlarını Kur'; +$l['tasks_install_script'] = 'Uygulamalar Kur'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Güvenlik Kodu Yanlış'; +$l['reg_no_username'] = 'Kullanıcı Adı Girmediniz'; +$l['reg_no_email']= 'E-posta Adresi Girmediniz'; +$l['reg_no_password'] = 'Şifre Girmediniz'; +$l['pr_no_address'] = 'Adres'; +$l['pr_no_city'] = 'Şehir'; +$l['pr_no_state'] = 'Eyalet'; +$l['pr_no_zip'] = 'Posta Kodu'; +$l['pr_no_country'] = 'Ülke'; +$l['pr_no_city'] = 'Şehir'; +$l['pr_no_phone'] = 'Telefon Numarası'; +$l['pr_no_sys_admin_email'] = 'Sistem Yönetici E-posta Adresi'; +$l['reg_inv_email']= 'Geçersiz E-Posta Adresi'; +$l['reg_pass_short'] = 'Şifre Karakter Adeti '.$globals['user_pass_min_char'].' Daha Büyük Karater Olmak Zorunda'; +$l['reg_email_exist'] = 'Bu E-Posta Adresi Mevcut'; +$l['reg_soft_error'] = ' Hesabını Oluşturuluken Hata Oluştu. Lütfen Destek Talebi Açınız : '.$globals['support_email']; +$l['reg_done'] = 'Hesabınız Oluşturuldu. Bir Aktivasyon Bağlantısı Size e-posta İle Gönderildi. Lütfen e-postanızı Doğrulamak ve Hesabınızı Etkinleştirmek İçin Kullanın'; +$l['reg_recaptcha_invalid'] = 'Güvenli Giriş Yanıtı Eksik veya Anahtar Uyuşmuyor'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Hesap Oluştur'; +$l['reg_username'] = 'Kullanıcı Adı'; +$l['reg_email'] = 'E-posta Adresiniz'; +$l['reg_pass'] = 'Şifre'; +$l['reg_resendact'] = 'Aktivasyon Kodunu Tekrar Gönder'; +$l['reg_mail_sub'] = 'Aktif Hesap'; +$l['reg_mail_body'] = 'Merhaba {{e-posta}}, + +Hesap çtığınız İçin Teşekkür Ederiz. {{sn}}. + +Hesabınızı Kullanmadan Önce Aktifleştirin.. +Hesabınızı Etkinleştirmek İçin Aşağıdaki Linke Tıklayın: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +Yukarıdaki bağlantı Tıklama İle Çalışmıyorsa, Bağlantıyı Web Tarayıcınıza Kopyalayıp Yapıştırmanız veya el İle Yazmanız Gerekmektedir.. + +Eğer Hala Kayıd olmakta sorun Yaşıyorsanız, Lütfen Adresinden Bize Ulaşın. '.$globals['support_email'].' + +Saygılarla. + + {{sn}} Ekibi +'.$globals['cp_url'].' + +Aktivasyon Kodu: {{activation_code}} +Kullanıcı IDsi: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'Hesabınız doğrularken Bir Hata Oluştu. Lütfen Destek ekibi İle iletişime Geçiniz: '.$globals['support_email']; +$l['reg_val_done'] = 'Hesabınız Aktif Edildi. Şimdi Hesabınıza Giriş Yapabilir ve her şeyi İzleyebilirsiniz.!'; +$l['reg_val_mail_sub'] = 'Hoşgeldiniz '.$globals['sn']; +$l['reg_val_mail_body'] = 'Yeni markanızı yarattığınız İçin tebrikler '.$globals['sn'].' Hesap, {{email}}. + +Şimdi Adresinden Hesabınıza Giriş Yapabilirsiniz. : +'.$globals['cp_url'].'/?#act=login + +Lütfen Bu e-postayı Hesabınızla ilgili önemli Bilgiler İçerdiğinden saklayın. + +İyi Çalişmalar dileriz + + '.$globals['sn'].' Ekibi +'.$globals['cp_url'].' + +Kullanıcı IDsi: {{uid}} +Aktivasyon Kodu: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'Kullancı E-posta Doğrulama'; +$l['reg_val_done_cong'] = 'Yeni markanızı yarattığınız İçin tebrikler '.$globals['sn'].' hesap :'; +$l['reg_val_done_uni'] = 'login Bağlantısından Hesabınıza Giriş yapabilirsiniz:
+'.$globals['cp_url'].'/?#act=login

+ +İyi Çalişmalar Dileriz!

+ +'.$globals['sn'].' Ekibi
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'Kullanıcı ID’si :'; +$l['reg_val_done_act'] = 'Aktivasyon Kodu :'; + +$l['resendact'] = 'Aktivasyonu Tekrar Yolla'; +$l['reg_res_no_username'] = 'E-post Girmediniz'; +$l['reg_res_soft_error'] = 'Aktivasyon e-postasını Tekrar Gönderirken Bir Hata Oluştu. Lütfen Destek ekibi İle iletişime Geçiniz : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Aktivasyon Kodunuz'; +$l['reg_res_mail_body'] = 'Merhaba {{email}}, + +Adresindeki Hesabınız İçin Etkinleştirme Kodunuzu Tekrar Göndermek Üzere Bir istek Aldık. '.$globals['sn'].'. + +Hesabınızı Kullanmadan Önce aktifleştin. +Hesabınızı Etkinleştirmek İçin aşağıdaki linke Tıklayın: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +Yukarıdaki bağlantı Tıklama İle çalışmıyorsa, bağlantıyı web Tarayıcınıza kopyalayıp Yapıştırmanız veya el İle yazmanız Gerekmektedir. + +Eger hala Kaydolmakta sorun yaşıyorsanız, lütfen Adresinden bize ulaşın. '.$globals['support_email'].' + +Saygılarla + +{{sn}} Ekibi +'.$globals['cp_url'].' + +Aktivasyon Kodu: {{activation_code}} +Kullanıcı IDsi: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'Aktivasyon Kodu Başarıyla Tekrar Gönderildi. Lütfen Hesabınızı şimdi Etkinleştirin.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Kullanıcı Adı Girmediniz'; +$l['login_no_password'] = 'Şifre Girmediniz'; +$l['login_act_status'] = 'Hesabınız Onaylanmadı. Lütfen e-posta Adresini doğrulayın veya yardım İçin Destek Birimine Başvurun.'; +$l['login_act_inactive'] = 'Hesabınız devre dışı bırakıldı. Lütfen yardım İçin desteğe Başvurun.'; +$l['login_too_many_attempts'] = 'Başarısız oturum açma kotanızı kullandınız '.$globals['login_attempts'].' Hatalı Girişler! Lütfen Bekleyiniz '.$globals['login_ban_time'].' Dakika. Sonra tekrara deneyiniz. Unutmayın şifrenin büyük / küçük harf duyarlıdır. Şifrenizi mi unuttunuz? Lütfen Şifremi Unuttum yardımcı programını deneyin.'; + +$l['login_sign_in'] = 'Kayıt Ol'; +$l['login_log_user'] = 'E-posta'; +$l['login_log_pass'] = 'Şifre'; +$l['login'] = 'Giriş'; +$l['login_sub_but'] = 'Giriş Yap'; +$l['login_register'] = 'Hesap Oluştur'; + +$l['login_pass_nomatch'] = 'Girdiğiniz Kullanıcı Adı veya Şifre Hatalı.'; +$l['login_forgotpass'] = 'Şifremi Unuttum'; +$l['login_emailuser'] = 'E-posta Hesabınız'; +$l['login_enteremail'] = 'E.posta Adresinizi Giriniz'; +$l['login_sub_email'] = 'Gönder'; +$l['login_no_email'] = 'E-post Adresinizi Girmedisniz'; +$l['login_invalidemail'] = 'Geçersiz E-posta Hesabınız '; +$l['login_mail_sub'] = 'Şifre Sıfıra'; +$l['login_mail_body'] = 'Merhaba, + +Şifrenizi Sıfırlama isteği Yapıldı. + +Şifrenizi Sıfırlanmasını İstemediyseniz, Lütfen Bu E-postayı Dikkate Almayın. + +Şifrenizi Sıfırlamak İstiyorsanız, Lütfen Aşağıdaki Bağlantıya Tıklayın.: + + + +Dikkat : Yukarıdaki Bağlantı Yalnızca 24 Saat Geçerlidir. + + +'.$globals['sn']; +$l['login_mail_done'] = 'Şifrenizi Sıfırlamak İçin Ayrıntılarla Birlikte Bir E-posta Gönderildi'; +$l['login_back_to_login'] = 'Girişe Geri Dön'; + +$l['login_resetpass'] = 'Şifre Sıfırla'; +$l['login_log_new_pass'] = 'Yeni Şifre'; +$l['login_log_reppass'] = 'Şifreyi Tekrarla'; +$l['login_changepass'] = 'Şifre Değiştir'; +$l['login_no_key'] = 'Sıfırlama Anahtarı Gönderilmedi'; +$l['login_invalidkey'] = 'Geçersiz Bir Anahtar Belirttiniz'; +$l['login_no_new'] = 'Geçerli Şifre Girin'; +$l['login_no_reppass'] = 'Lütfen Şifreyi Onayla'; +$l['login_no_match'] = 'Verdiğiniz Şifreler Eşleşmiyor'; +$l['login_keyexpire'] = 'Anahtar Artık Geçerli Değil'; +$l['login_passchanged'] = 'Şifreniz Değiştirildi.'; +$l['login_forgot_pass'] = 'Şifremi Unuttum'; +$l['login_goto_login'] = 'Giriş Sayfasına Git'; +$l['login_no_2fa_key'] = 'Geçersiz Kimlik Doğrulama Anahtarı'; +$l['login_inv_user'] = 'Geçersiz Kullanıcı'; + +// OTP on login +$l['login_twofactit'] = 'İki Faktör Kimlik Doğrulama'; +$l['login_enterotp'] = 'Tek Seferlik Şifreyi Girin'; +$l['login_no_otp'] = 'Tek Seferlik OTP Şifresini Girin'; +$l['login_incorrect_otp'] = 'Yanlış Kod'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Bash Uygulaması Yürütme Hatası'; +$l['recipe_no_selected'] = 'Bash Uygulaması Seç'; +$l['recipe_wrong'] = 'Geçersiz Bash Uygulaması Seçtiniz'; +$l['recipe_heading'] = 'Uygulamalar'; +$l['recipe_choose'] = 'Bash Uygulması Seç'; +$l['recipe_exp_choose_recipe'] = 'Bash Uygulamsı Seçin'; +$l['recipe_update'] = 'Bash Uygulması Güncelleme'; +$l['recipe_none'] = 'Hiç Biri'; +$l['recipe_done'] = 'Bash Uygulandı '; +$l['recipe_exec_onboot'] = 'Bash Uygulaması '.VM_SHORT.' Tekra Başlatıkdan Sonra Çalışacaktır.'; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'Açıklama Yok'; +$l['ingredients'] = 'Kodlar'; +$l['recipe'] = 'Bash Uygulması'; +$l['conf_execute'] = 'Bu Bash Uygulması Uygulamak İstiyormusunuz ?'; +$l['rec_short_desc'] = 'Bash Uygulması: Bash Kodlarıdır. '.VM_SHORT.'’ye İşletim Sistemi Kuruldukdan Sonra İlk Defa Tekra Başlatıldıgında Teksefer Uygulanır. '; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH Yönetici Tarafından Devre Dışı Bırakıldı'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Zamanlayıcıyı Ayarlamak İstediğinize Emin misiniz ?'; +$l['sd_confirm_delete'] = 'Zamanlayıcıyı Silmek İstediğinize Emin misiniz ?'; +$l['sd_date_alert'] = 'Lütfen Tarih Giriniz Ay/Gün/Yıl Örnek 01/09/2019 Şeklinde'; +$l['sd_date_current'] = 'Girilen Saat, Günçel Saatten Büyük Olmalıdır'; +$l['sd_heading'] = 'Zamanlayıcıyı Kur'; +$l['sd_action_start'] = 'Başla'; +$l['sd_action_stop'] = 'Durdur'; +$l['sd_action_restart'] = 'Tekrar Başla'; +$l['sd_action_poweroff'] = 'Kapat'; +$l['sd_action_title'] = 'Aksiyon'; +$l['sd_action_edit_desc'] = 'Düzenlemek İçin Lütfen Verileri Girin'; +$l['sd_action_edit_desc'] = 'Düzenlemek İçin Lütfen Verileri Girin'; +$l['time_updated'] = 'İşlem Güncellendi'; +$l['time_deleted'] = 'İşlem Silindi'; +$l['time_added'] = 'İşlem Silindi'; +$l['sd_invalid_action'] = 'Geçersiz İşlem'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Anahtarları'; +$l['sshkey_add'] = 'SSH Anahtarları Ekle'; +$l['sshkey_add_new'] = 'Yeni SSH Anahtarları Ekle'; +$l['sshkey_use'] = 'SSH Anahtarları Kullan'; +$l['sshkey_list'] = 'SSH Anahtarları Listele'; +$l['sshkey_no_keys'] = 'SSH Anahtarları Bulunmuyor'; +$l['sshkey_no_keys_acct'] = 'Hesabınıza Eklenmiş Hiçbir SSH Anahtarı Yok. Lütfen Önce Soldaki menüden SSH Anahtarlarına Giderek Bir SSH Anahtarı Ekleyin.'; +$l['sshkey_no_keys_acct_whmcs'] = 'Hesabınıza Eklenmiş Hiçbir SSH Anahtarı Yok.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'İsim'; +$l['sshkey_name_exp'] = 'SSH Anahtarı İçin Kullanmadığınız Bir İsim Girin'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] ='SSH Anahtarının OpenSSH Formatındaki Değeri.
(Örnek: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'SSH Anahtarlarını Ekle'; +$l['sshkey_edit'] = 'SSH Anahtarlarını Düzenle'; +$l['sshkey_conf_delete'] = 'Bu SSH Anahtarını Silmek İstediğinize Emin misiniz ? '; +$l['sshkey_err_delete_key'] = 'SSH Anahtarını Silerken Bir Hata Oluştu'; +$l['sshkey_done_delete_key'] = 'SSH Anahtarı Başarıyla Silindi.'; +$l['sshkey_no_name'] = 'Lütfen Geçerli Bir SSH Anahtarı Adı Belirtin'; +$l['sshkey_no_value'] = 'Lütfen Geçerli Bir SSH Anahtarı Değeri Belirtin'; +$l['sshkey_err_name_exists'] = 'Bu İsimde Bir SSH Anahtarı Zaten Var'; +$l['sshkey_err_add'] = 'SSH Anahtarını Eklerken Bir Hata Oluştu'; +$l['sshkey_done_add'] = 'SSH Anahtarı Başarıyla Eklendi'; +$l['sshkey_done_edit'] = 'SSH Anahtarı Başarıyla Kaydedildi'; +$l['sshkey_select_keys'] = 'SSH Anahtarlarını Seç:'; +$l['sshkey_done_addvps'] = 'SSH Anahtar(ları) Başarıyla Eklendi. Değişiklikler Bir Sonraki Yeniden Başlatmada Geçerli Olacak.'; +$l['sshkey_err_key'] = 'Lütfen En Az Bir SSH Anahtarı Seçin.'; +$l['sshkey_not_allowed'] = 'SSH Anahtarları Ekleme / Düzenleme İzniniz Yok'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'ISO’yu Kaldırma'; +$l['euiso_iso_removed'] = 'ISO Dosyası Kaldırıldı : '; +$l['euiso_removal_err'] = 'ISO Kaldırılırken Bir Hata Oluştu'; +$l['euiso_del_done'] = 'ISO Kaldırıldı'; +$l['euiso_heading'] = 'ISO Yönetimi'; +$l['euiso_no_iso'] = 'ISO’nuz Yok. Şimdi Bir Tane Ekleyebilirsin'; +$l['euiso_add_iso'] = 'ISO Ekle'; +$l['euiso_iso_distro'] = 'Dağıtımcı'; +$l['euiso_iso_name'] = 'Dosya Adı'; +$l['euiso_iso_size'] = 'İndirilen Boyut'; +$l['euiso_iso_del'] = 'Sil'; +$l['euiso_iso_status'] = 'Durum'; +$l['euiso_iso_rsize'] = 'Toplam Boyut'; +$l['euiso_confirm_iso_del'] = 'Dosya henüz İndirilmedi. İndirmeyi İptal Edip Dosyayı Silmek İstiyor musunuz? ?'; +$l['euiso_iso_del_confirm'] = 'Bu Öğeyi Silmek İstediğinize Emin misiniz ?'; +$l['euiso_auto_del_alert'] = 'ISO (lar) Otomatik Olarak Silinecek .{ISO(ların) Eklendiği Zamandan {{eu_iso_del_hr}} Saat Sonra'; +$l['euiso_dwnld_time'] = 'İndirme Zamanı'; +$l['euiso_downloading'] = 'İndiriyor...'; +$l['euiso_invalid_url'] = 'Geçersiz URL Girdiniz. Yalnızca http, https ve ftp Protokollerini Kullanın.'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Lütfen Doğru ISO Dosyasını Belirtin'; +$l['aiso_inv_name'] = 'ISO Adı Geçersiz Karakterler İçeriyor'; +$l['aiso_err_size'] = 'ISO Dosyasının Boyutu Belirlenemedi'; +$l['aiso_iso_exist'] = 'ISO Dosyası Zaten Mevcut'; +$l['aiso_size_inv'] = 'ISO Dosyası İzin Verilen Maksimum ISO Boyutunu Aşıyor'; +$l['aiso_limit_err'] = 'Daha Fazla ISO İndiremezsiniz. Limit Aşıldı'; +$l['aiso_space_err'] = 'Bu ISO İçin Yeterli Alanınız Yok.'; +$l['aiso_download_err'] = 'ISO İndirilirken Hata Oluştu'; +$l['aiso_done'] = 'ISO Başarıyla Eklendi'; +$l['aiso_add_iso'] = 'ISO Ekle'; +$l['aiso_url'] = 'ISO Bağlantısı'; +$l['aiso_name'] = 'ISO Dosya Adı'; +$l['aiso_page_head'] = 'ISO Ekle'; +$l['aiso_submit_button'] = 'ISO Ekle'; +$l['aiso_incomplete'] = 'ISO’yu İndirirken Bir Hata Oluştu'; +$l['aiso_started'] = 'ISO İndiriliyor'; +$l['aiso_percent'] = 'İndirme İşleme oranı'; +$l['aiso_complete'] = 'İndirme Tamamlandı'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'ISO Ekle'; +$l['dwnldiso_iso'] = 'ISO Ekle'; +$l['dwnldiso_done'] = 'Lütfen ISO Dosyası İndirilirken Bekleyin'; +$l['dwnldiso_err_down'] = 'ISO Dosyasını İndirirken Hata Oluştu'; +$l['dwnldiso_wait'] = 'Lütfen ISO Dosyası İndirilirken Bekleyin'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'Bu Bölge İçin Uygun Plan Yok !'; +$l['ihb_sel_reg'] = 'Seçilmiş Bölge- '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Yedekleme Sunucları'; +$l['bs_heading_add'] = 'Yedekleme Sunucusu Ekle'; +$l['bs_name'] = 'İsim'; +$l['bs_name_exp'] = 'Yedekleme Sunucusu İçin Kullanmadığınız İsim Giriniz'; +$l['bs_hostname'] = 'Sunucu Adı'; +$l['bs_hostname_exp'] = 'Geçerli Sunucu Alan Adı veya IP Adresi Girin'; +$l['bs_type'] = 'Tipi'; +$l['bs_type_exp'] = 'Yedekleme Sunucusu Tipi, SSH veya FTP'; +$l['bs_username'] = 'Kullanıcı Adı'; +$l['bs_username_exp'] = 'Yedekleme Sunucusu Kullanıcı Adı'; +$l['bs_password'] = 'Şifre'; +$l['bs_password_exp'] = 'Yedekleme Sunucu Şifresi'; +$l['bs_port'] = 'Portu'; +$l['bs_port_exp'] = 'Yedekleme Sunucusu Portu'; +$l['bs_dir'] = 'Klasör-Dizin'; +$l['bs_dir_exp'] = 'Yedeklerin Kayıt Ediledeci dızin'; +$l['bs_add_server'] = 'Yedekleme Sunucusu Ekle'; +$l['bs_conf_delete'] = 'Bu Yedekleme Sunucusu Silmek İstiyormusunuz ?'; +$l['bs_heading_edit'] = 'Yedekleme Sunucusu Düzele'; +$l['bs_no_servers'] = 'Yedekleme Sunucusu Bulunmuyor'; +$l['bs_no_name'] = 'Yedekleme Sunucusu İçin Kulanmadıgınız isim Giriniz'; +$l['bs_no_hostname'] = 'Sunucu Adınız'; +$l['bs_no_type'] = 'Tipi'; +$l['bs_no_username'] = 'Kullanıcı Adınız'; +$l['bs_no_password'] = 'Şifreniz'; +$l['bs_no_port'] = 'Portu'; +$l['bs_no_dir'] = 'Lütfen Yükleme Dizinini Belirtin'; +$l['bs_done_delete_server'] = 'Yedekleme Sunucusu Başarılı Olarak Silinid'; +$l['bs_done_edit'] = 'Yedekleme Sunucusu Kayıt Edildi'; +$l['bs_err_bs_not_allowed'] = 'Yedekleme Sunucusu Yönetici Tarafından Kapatıldı'; +$l['bs_err_invalid_type'] = 'Geçerli Yedekleme Tipi Giriniz'; +$l['bs_err_name_exists'] = 'Bu İsimden Bir Yedekleme Sunucusu Bulunmakda'; +$l['bs_err_add_backupserver'] = 'Yedekleme Sunucusu Eklenirken Hata Oluştu'; +$l['bs_err_backup_dir'] = 'Yedekleme Dizini Boş Olamaz.'; +$l['bs_err_server_used'] = 'Yedekleme Sunucusu {{count}} Tararından Kullanılıyor. Silmeden Önce Yedekleme Sunucusunu Kullanımını Kaldırın .'; +$l['bs_err_delete_server'] = 'Yedekleme Sunucusu Silinirken Bir Hata Oluştu'; +$l['bs_err_edit_backupserver'] = 'Yedekleme suncuu Kayıt Edilirken Hata Oluştu'; + +// Billing related +$l['bill_err_delete'] = 'Fatura Silinirken Hata Oluştu'; +$l['bill_done_delete'] = 'Fatura Başarı İle Silindi'; +$l['bill_heading'] = 'Ödeme'; +$l['bill_no_invoice'] = 'Faturanız Bulunmuyor !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Fatura Tarihi'; +$l['bill_duedate'] = 'Ödeme Tarihi'; +$l['bill_net'] = 'Toplam'; +$l['bill_item'] = 'İşlem'; +$l['bill_status'] = 'Durum'; +$l['bill_unpaid'] = 'Ödenmedi'; +$l['bill_paid'] = 'Ödendi'; +$l['bill_cancelled'] = 'Ertelendi'; +$l['bill_invoice'] = 'Fatura'; +$l['bill_pay_to'] = 'Öde'; +$l['bill_inv_to'] = 'Fatura' ; +$l['bill_pay_method'] = 'Ödeme Şekli'; +$l['bill_desc'] = 'Açıklama'; +$l['bill_disc'] = 'İndirim'; +$l['bill_subtotal'] = 'Alt Toplam'; +$l['bill_netamt'] = 'Net Toplam'; +$l['bill_print'] = 'Yazdır'; +$l['bill_download'] = 'İndir'; +$l['bill_tr_date'] = 'İşlembilgi Tarihi'; +$l['bill_tr_gateway'] = 'Ödeme Yöntemi'; +$l['bill_tr_token'] = 'İşlem Bilgi IDsi'; +$l['bill_tr_amt'] = 'Toplam'; +$l['bill_invoices'] = 'Fatura'; +$l['bill_trans'] = 'İşlembilgisi'; +$l['bill_make_payment'] = 'Ödeme Yap'; +$l['bill_add_funds'] = 'Kredi Ekle'; +$l['bill_min_max'] = 'Hesabınıza Eklemek İstediğiniz Miktarı Giriniz. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Tarih'; +$l['bill_gateway'] = 'İşlembilgi Tarihi'; +$l['bill_bal'] = 'Bakiye'; +$l['bill_charges'] = 'Bu Ayın Ödemesi'; +$l['bill_unpaid_invoices'] = 'Ödenmemiş Fatura'; +$l['bill_cur_usage'] = 'Güncel Kullanım'; +$l['bill_no_trans'] = 'İşlembilgisi Bulunmadı'; +$l['bill_usage'] = 'Güncel Kullanım'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'Faturalandırılacak İşlem Bulunmadı!'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Bölge'; +$l['bill_type'] = 'Tipi'; +$l['bill_starttime'] = 'Başlama Zamanı'; +$l['bill_updatetime'] = 'Güncelleme Zamanı'; +$l['bill_charge'] = 'Doldur'; +$l['bill_terminated'] = 'Sonlandırıldı'; +$l['bill_gateway'] = 'Ödeme Yöntemi'; +$l['bill_no_payment_gateway'] = 'Ödeme Yöntemi Bulunmadı. İletişime Geçiniz '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'Ödeme Yapmak İçin Giriş Yapınız'; +$l['pay_min'] = 'Toplam Az Olamaz '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'Toplam Daha Fazla Olamaz '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'Hızlı Ödeme Belirteci Oluşturulurken Bir Hata Oluştu.'; +$l['pay_pp_missing'] = 'Paypal Yönlendiğinizde Bazı Bilgiler Eksik'; +$l['pay_trans_already'] = 'Bu İşlembigisi Kayıt Edildi'; +$l['pay_pp_connect'] = 'Paypala Bağlantı Hatası Oluştu. Lütfen admin@softaculous.com Destek Talebinde Bulunun'; +$l['pay_pp_resp'] = 'Paypal Verilerini Okurken Hata Oluştu. Lütfen İletişime Geçiniz '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Ödemeniz '.$globals['billing_symbol'].'{{amt}} Başarılı .'; +$l['pay_payment'] = 'Ödeme İşlemi'; +$l['pay_panel'] = 'Yönetim Paneli'; +$l['pay_data_missing'] = 'Cevap Verisi Eksik / Geçersiz'; +$l['pay_gateway_missing'] = 'Ödeme Şekli Yok / Geçersiz'; +$l['pay_no_required_function'] = 'Seçili Olan Ödeme Yönteminde Bazı Fonksiyonlar Eksik. Destek Talebinde Bulunuz.'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Portu'; +$l['webuzo_spasswd'] = 'Root Şifresi'; +$l['webuzo_spasswd_p'] = 'Root Şifresi Girin'; +$l['webuzo_pd'] = 'Ana Alan Adı'; +$l['webuzo_pd_p'] = 'Alan Adı'; +$l['webuzo_appstack'] = 'Stack Seç'; +$l['webuzo_scriptlist'] = 'Program Seçiniz'; +$l['webuzo_submit'] = 'Kur'; +$l['webuzo_advanced'] = 'Gelişmiş Ayarlar'; +$l['webuzo_ns1'] = 'İsim Sunucusu 1'; +$l['webuzo_ns1_p'] = '(Optional) İsim Sunucunuz 1'; +$l['webuzo_ns2'] = 'İsim Sunucusu 2'; +$l['webuzo_ns2_p'] = '(Optional) İsim Sunucunuz 2'; +$l['webuzo_apache'] = 'Apache Sürümünü Seçiniz'; +$l['webuzo_mysql'] = 'MYSQL Sürümünü Seçiniz'; +$l['webuzo_php'] = 'PHP Sürümünü Seçiniz'; +$l['webuzo_os'] = 'İşletim Sistemi Seçiniz'; +$l['webuzo_disabled'] = 'Webuzo Kurulumu Yönetici Tarafımdan Kapatılmiş'; +$l['webuzo_support_err'] = 'Uygulama Desteklenmiyor !'; +$l['webuzo_sshport_err'] = 'SSH Portu'; +$l['webuzo_spasswd_err'] = 'Root Şifresi'; +$l['webuzo_pd_err'] = 'Geçerli Alan Adınız'; +$l['webuzo_script_err'] = 'Seçtiğiniz Yazılım Listede Yok. Tekrar Deneyiniz.'; +$l['webuzo_stack_err'] = 'Lütfen Uygun Stack Kurulumunu Seçiniz'; +$l['mysql_err'] = 'MySQL Sürümünü Seçiniz'; +$l['php_err'] = 'PHP Sürümünü Seçiniz'; +$l['webserver_err'] = 'Apache Sürümünü Seçiniz'; +$l['webuzo_wmp_err'] = 'Uygun Stack Sürümü Seçmediniz'; +$l['webuzo_ns1_err'] = 'Uygun İsim Sunucu Bilgisi Giriniz'; +$l['webuzo_ns2_err'] = 'Uygun İsim Sunucu Bilgisi Giriniz'; +$l['webuzo_os_err'] = 'Kurmak İstediginiz İşletim Sistemi Seçiniz'; +$l['webuzo_install_data_lost_warn'] = 'Kuruluma Devam Etmek İstiyormusunuz ? Sanal Sunucuda Bütün Bilgileriniz Silineçektir.'; +$l['webuzo_app_err'] = 'Webuzo Uygulamalarını Uygulama Hatası'; +$l['webuzo_prim_ip_err'] = 'IP Adresi Bulunamıyor'; +$l['webuzo_install_start'] = 'Webzuo Kurulumu Arka Planda Başladı. E-posta Adresinize Kurulumdan Sonra Bilgi Gönderilecektir.'; +$l['webuzo_dns_err'] = 'İsim Sunucu Biligilerini Giriniz'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Uygulama Kurulumu '; +$l['apps_no_vs'] = 'Uygulama Kurulmuş '.VM_SHORT.'’siniz Bulunmuyor'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/turkish/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/turkish/index_lang.php index 3b66a5b..14d2fc7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/turkish/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/turkish/index_lang.php @@ -1,448 +1,448 @@ -Bugün at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Tema Hatası';//Title -$l['init_theme_error'] = 'Tema Dosyası Yüklenemiyor - &soft-1;.'; - -$l['init_theme_func_error_t'] = 'Tema İşlev Hatası';//Title -$l['init_theme_func_error'] = 'Tema İşlev(leri) Yüklenemiyor &soft-1;.'; - -$l['load_theme_settings_error'] = 'Tema Ayarları Dosyası Yüklenemiyor.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Aşağıdaki Hatalar Bulundu'; - -//Success Message Function -$l['following_message'] = 'Aşağıdaki Mesaj Alındı'; - -//Major Error Function -$l['fatal_error'] = 'Kritik Hata.'; -$l['following_fatal_error'] = 'Aşağıdaki Hata Oluştu'; - -//Message Function -$l['soft_message'] = 'Bildirim'; -$l['following_soft_message'] = 'Aşağıdaki Mesaj İade Edildi'; - -$l['err_user_head'] = 'Hata'; -$l['err_user'] = 'Kullanıcı Türü Belirlenemedi'; - -//Update Softaculous -$l['getting_info'] = 'Bilgi İsteniyor......'; -$l['error_getting_latest'] = 'Bilgi alınamadı......Terkediyor'; -$l['got_info'] = 'Bilgi Aldındı'; -$l['manual_mode'] = 'Softaculous in Yeni sürümü kullanım kılavuzuna dikkatle okuyunuz......Terkediyor'; -$l['no_updates'] = 'Mevcut Sürüm Son Sürüm......Devamediyor'; -$l['fetch_upgrade'] = 'Güncelleme Alınıyor......'; -$l['error_fetch_upgrade'] = 'Güncelleme Dosyası Alınamadı......Bitiriyor'; -$l['error_save_upgrade'] = 'Güncelleme Dosyası Kaydedilemedi......Bitiriyor'; -$l['got_upgrade'] = 'Yükseltme Dosyasını Kaydetti'; -$l['unzip_upgrade'] = 'Dosyaları Açıyor......'; -$l['error_unzip_upgrade'] = 'Dosya Açılırken Hata Oluştu......Bitiriyor'; -$l['unzipped_upgrade'] = 'Başarıyla Açıldı'; -$l['running_upgrade'] = 'Güncelleme Yapılıyor..'; -$l['succ_upgrade'] = 'Tamamlandı'; -$l['error_upgrade'] = 'Güncelleme Sırasında Aşağıdaki Hatalar Oluştu :'; - -//MySQL Errors -$l['err_selectmy'] = 'Veritabanı Seçilmedi.'; -$l['err_myconn'] = 'Veri Tabanı Baglatısı Kurulamıyor.'; -$l['err_makequery'] = 'Sorgu Numaralandırılamadı'; -$l['err_mynum'] = 'Verıtabanı Hatası Nummer'; -$l['err_myerr'] = 'Veritabanı Hatası'; - -//hf_theme.php -$l['welcome'] = 'Hoş Geldiniz'; -$l['logout'] = 'Çikiş'; -$l['page_time'] = 'Sayfa Oluşturuldu'; -$l['times_are'] = 'Tüm Zamanlar GMT '; -$l['time_is'] = 'Şu Anki Saat'; -$l['load_start'] = 'Başlıyor'; -$l['load_stop'] = 'Durduruluyor'; -$l['load_restart'] = 'Tekrar Başlıyor'; -$l['load_poweroff'] = 'Kapatılıyor'; - -//The Category Language Variables -$l['dock_restart'] = VM_SHORT.' Tekrar Başlat'; -$l['dock_stop'] = VM_SHORT.' Durdur'; -$l['dock_start'] = VM_SHORT.' Başlat'; -$l['dock_poweroff'] = VM_SHORT.' Kapat'; -$l['dock_home'] = 'Ana Sayfa'; -$l['dock_settings'] = 'Ayarları Düzenle'; -$l['dock_help'] = 'Yardım ve Destek'; -$l['dock_sync'] = 'Diğer Otomatik Yükleyicilerle Senkronize Et'; -$l['go_home'] = 'Ana Sayfa'; -$l['dock_user'] = 'Kullanıcı Profili'; -$l['dock_password'] = 'Şifre Değiştir'; -$l['dock_vps'] = 'Sanal Sunucuları Listele'; - -// Left Menu -$l['lm_file_mgr'] = 'Dosya Yöneticisi'; -$l['lm_res'] = 'Kaynaklar'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'İşlem'; -$l['lm_service'] = 'Servisler'; -$l['lm_firewall'] = 'Güvenlik Duvarı'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC Şifresi'; -$l['lm_statusc'] = 'Durum Günlükleri'; -$l['lm_res_a'] = 'Sistem Uyarıları'; -$l['lm_logs'] = 'Görev Kayıtları'; -$l['lm_bandwidth'] = 'Bant Genişliği'; -$l['lm_accountpass'] = 'Hesap Şifresi'; -$l['lm_changepass'] = 'Hesap Şifresi'; -$l['lm_controlpanel'] = 'Yönetim Paneli'; -$l['lm_recipes'] = 'Uygulamalar'; -$l['lm_disk'] = 'Sürücü'; -$l['lm_ostemp'] ='İşletim Sistemi Tekrar Kur'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Sunucu Adı'; -$l['lm_logs'] = 'Kayıtlar'; -$l['lm_ips'] = 'IP Adresleri'; -$l['lm_hvmsettings'] = VM_SHORT.' Yapılandırması'; -$l['lm_apikey'] = 'API Bilgileri'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Ters DNS'; -$l['lm_support'] = 'Destek'; -$l['lm_self_shutdown'] = 'Zaman Ayarlı Kapatma'; -$l['lm_tasks'] = 'Görevler'; -$l['lm_twofactauth'] = 'Güvenlik Ayarları'; -$l['lm_backup2'] = 'Yedekler'; -$l['lm_backupservers'] = 'Yedekleme Sunucuları'; -$l['lm_sshkeys'] = 'SSH Anahtarı'; -$l['lm_installapps'] = 'Uygulamalar'; -$l['lm_billing'] = 'Faturlandırma'; - -// Users left menu -$l['lm_vs'] = VM_SHORT.' Listesi'; -$l['lm_addvs'] = 'Uygula'; -$l['lm_resources'] = 'Cloud Kaynakları'; -$l['lm_users'] = 'Kullanıcılar'; -$l['lm_usr_settings'] = 'Ayarlar'; -$l['lm_profile'] = 'Profilim'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'Admin Olarak Giriş Yaptınız'; -$l['lmapps'] = 'Uygulamalar'; - -// Page Jump Related : -$l['page_jump_title'] = 'Gitmek İstediğiniz Sayfayı Girin'; -$l['page_page'] = 'Sayfa'; -$l['page_of'] = 'Sayfası'; -$l['page_go'] = 'Git'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = VM_SHORT.' Veritabanında Bulunamadı'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'İşletim Sistemi Şablonu Bulunamadı'; -$l['build_no_ip'] = VM_SHORT.' için Ana IP Belirtilmemiş'; -$l['build_no_os_iso'] = 'İşletim Sistemi Şablonu veya ISO Dosyası Bulunmadı '; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Sunucu Yanlış Kernelle Çalışmakda - '; -$l['correct_kernel'] = 'Dogru Kernel ile Sunucuyu Başlatın.'; -$l['kvm_module'] = 'Linux-KVM Modulü Yüklenmedi.'; -$l['kvm_network'] = ''.$globals['bridge'].' Başlamadı. Lütfen sshde service virtnetwork start Komutu Çalıştırın'; -$l['temp_exists'] = 'Şablon Dosyası Zaten Var'; -$l['temp_snap_err'] = 'Anlık Görüntü (Snapshot) oluşturulamadı ve bu nedenle şablon oluşturma başarısız oldu. Anlık görüntü (Snapshot) oluşturma genellikle daha az alan nedeniyle başarısız oluyor'; -$l['wrong_xm'] = 'XEN Modulü Doğru Şekilde Yüklenmedi'; -$l['lxc_module'] = 'LXC Kurulmadı.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = VM_SHORT.'’nin LVM’sini Oluştururken Bir Hata Oluştu'; -$l['xen_err_swap'] = VM_SHORT.'’nin SWAP’ını Oluştururken Bir Hata Oluştu'; -$l['xen_err_tmp'] = 'Mount Noktası Oluştururken Bir Hata Oluştu'; -$l['xen_err_mount'] = VM_SHORT.' LVM Bağlanırken (mount) Edilirken Bir Hata Oluştu'; -$l['xen_err_unmount'] = VM_SHORT.' LVM Bağlantı Kesilirken (unmount) Edilirken Bir Hata Oluştu'; -$l['xen_err_dd'] = 'Disk Kopyalama İşlemi Sırasında Bir Hata Oluştu'; -$l['xen_err_mkfs'] = VM_SHORT.' Formatlarken Bir Hata Oluştu'; -$l['xen_err_mkswap'] = VM_SHORT.'nin SWAP Formatlanırken Bir Hata Oluştu'; -$l['xen_err_untar'] = 'İşletim Sistemi Şablonu Açılırken Bir Hata Oluştu'; -$l['xen_err_part'] = 'Disk Bölümleri Oluşturulurken Bir Hata Oluştu'; -$l['xen_err_kpart'] = 'Bölümleri Eşlerken Bir Hata Oluştu'; -$l['xen_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = VM_SHORT.'in VDIsi Oluşturulurken Bir Hata Oluştu'; -$l['xcp_err_iso'] = 'ISO Yüklenirken Bir Hata Oluştu'; -$l['xcp_err_vif'] = VM_SHORT.' İçin VIF Oluşturulurken Bir Hata Oluştu'; -$l['xcp_xentools_missing'] = 'Xentools ISO Bulunamadı'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = VM_SHORT.'’nin LVM’sini Oluştururken Bir Hata Oluştu'; -$l['kvm_err_mount'] = VM_SHORT.' LVM Bağlanırken (moount) Bir Hata Oluştu'; -$l['kvm_err_unmount'] = VM_SHORT.' LVM nin Bağlatısı Kesilirken (unmount) Bir Hata Oluştu'; -$l['kvm_err_dd'] = 'Disk Kopyalama İşlemi Sırasında Bir Hata Oluştu'; -$l['kvm_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu' ; -$l['kvm_err_part'] = 'Disk Bölümleri Oluşturulurken Bir Hata Oluştu'; -$l['kvm_err_kpart'] = 'Bölümleri Eşlerken Bir Hata Oluştu'; -$l['kvm_err_mkswap'] = VM_SHORT.'’nin SWAP’ını Biçimlendirirken Bir Hata Oluştu'; -$l['kvm_err_ceph_block'] = 'CEPH Blok Cihazı Oluşturulurken Bir Hata Oluştu'; -$l['kvm_err_ceph_block_map'] = 'CEPH Blok Cihazını Eşlerken Bir Hata Oluştu'; -$l['kvm_err_ceph_block_rmmap'] = 'CEPH Blok Cihazının Haritasının Silinmesinde Bir Hata Oluştu'; -$l['kvm_err_ceph_block_rm'] = 'CEPH Blok Cihazının Silinmesinde Bir Hata Oluştu'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'İşletim Sistemi Şablonu Açılırken Bir Hata Oluştu '; -$l['lxc_err_unmount'] = VM_SHORT.' LVM nin Bağlatısı Kesilirken (unmount) Bir Hata Oluştu'; -$l['lxc_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu'; -$l['lxc_network'] = ''.$globals['bridge'].' Başlamadı. Lütfen sshde service virtnetwork start Komutu Çalıştırın'; -$l['lxc_err_mount'] = VM_SHORT.' LVM Bağlanırken Bir Hata Oluştu'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = VM_SHORT.' Oluşturulurken Bir Hata Oluştu'; -$l['err_vncpass'] = 'VNC Şifresi Ayarlanırken Bir Hata Oluştu'; -$l['err_set_iso'] = 'ISO’yu '.VM_SHORT.'’ye Takmada Bir Tane Vardı'; -$l['err_disk_create'] = VM_SHORT.' Diski Oluşturulurken Bir Hata Oluştu'; -$l['err_set_boot_order'] = 'Önyükleme Sırasını Ayarlarken Bir Hata Oluştu'; -$l['err_set_ram'] = 'RAM Ayarlanırken Bir Hata Oluştu'; -$l['err_set_pinning'] = 'CPU İlişkisi Ayarlanırken Bir Hata Oluştu'; -$l['err_install_tools'] = 'Konuk Araçları Yüklenirken Bir Hata Oluştu'; - -//Backup errors -$l['backup_err_mount'] = 'LVMnin Geçici Depolama İçin Bağlanırken (mount) Edilirken Bir Hata Oluştu'; -$l['backup_err_lvm'] = 'Geçici Depolama İçin LVM Oluşturulurken Bir Hata Oluştu.'; -$l['backup_err_mkfs'] = 'Geçici Depolama Formatlanırken Bir Hata Oluştu'; -$l['backup_err_mkdir'] = 'Geçici Depolama Bağlama (mount) Noktası dizini Oluşturulurken Bir Hata Oluştu'; -$l['kvm_err_tar'] = 'Arşiv Sıkıştırılırken Bir Hata Oluştu'; -$l['xen_err_tar'] = 'Arşiv Sıkıştırılırken Bir Hata Oluştu'; -$l['kvm_err_untar'] = 'Arşivi Açarken Bir Hata Oluştu'; -$l['backup_err_untar'] = 'Arşivi Açarken Bir Hata Oluştu'; -$l['err_vzdump'] = 'Yedekleme Aracında Bir Hata Oluştu'; -$l['err_create_backup_folder'] = 'Yedekleme Dizini Oluşturulurken Bir Hata Oluştu'; -$l['err_create_backup_date_folder'] = 'Yedekleme Tarihi Dizini Oluşturulurken Bir Hata Oluştu'; -$l['err_backup_command_fail'] = 'Yedek İmaj Oluşturulamadı, Dönüş Kodu : '; -$l['backup_err_snap_switch'] = 'Snapshota Dönülürken Burada Bir Hata Oluştu '; -$l['backup_err_snap_del'] = 'Snapshot (İmaj) Silinirken Bir Hata Oluştu'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID Boş!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'UBC Ayarları Kaydedilirken Bir Hata Oluştu'; -$l['openvz_err_ostemplate'] = 'İşletim Sistemi Şablonu Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_space'] = 'Disk Alanı Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_inodes'] = 'Disk Alanı Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_hostname'] = 'Sunuc Adı Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_ip'] = 'IP Adresini Ayarlarken Bir Hata Oluştu'; -$l['openvz_err_dns'] = 'DNS Ayarlarında Bir Hata Oluştu'; -$l['openvz_err_cpu'] = 'CPU Birimlerini Ayarlarken Bir Hata Oluştu'; -$l['openvz_err_cpulim'] = 'CPU Sınırını Ayarlarken Bir Hata Oluştu'; -$l['openvz_err_cores'] = 'CPU Çekirdeği Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_ioprio'] = 'I/O Önceliği Ayarlanırken Bir Hata Oluştu'; -$l['openvz_err_create'] = VM_SHORT.' Oluşturulurken Bir Hata Oluştu'; -$l['vswap_error'] = 'VSwap Ayarları Yapılırken Bir Hata Oluştu'; - -// Rescue Disk Errors -$l['err_downloading'] = 'Kurtarma Şablonunu İndirirken Bir Hata Oluştu'; -$l['err_delete_disk'] = 'Kurtarma Diskini Silerken Bir Hata Oluştu'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Açık'; -$l['lm_status_offline'] = 'Kapalı'; -$l['lm_status_suspended'] = 'Askıda'; -$l['vps_is_suspended'] = 'Bu '.VM_SHORT.' Askıya Alındı. '.VM_SHORT.' İçin Hiçbir İşlem Yapamazsınız. !'; -$l['suspend_reason_bw'] = 'Bu '.VM_SHORT.', Bant Genişliği Kullanım Nedeniyle Askıya Alındı. '.VM_SHORT.' İçin Hiçbir İşlem Yapamazsınız. !'; - -$l['unknown'] = 'Bilinmiyor'; -$l['change_onboot'] = VM_SHORT.' Yeniden Boot Edildiginde Değişiklik Gerçekleşecek.'; -$l['completed'] = 'Tamamlandı'; -$l['vpsdisk_resize_err'] = 'Diskleri Yeniden Boyutlandırırken Bir Hata Oluştu'; -$l['mount_undetermined'] = VM_SHORT.'de Hiçbir Linux Bölümü Bulunamadı'; -$l['disk_destroy_err'] = 'Diskleri Silerken Bir Hata Oluştu'; -$l['started'] = 'Başladı'; -$l['ended'] = 'Bitti'; -$l['updated'] = 'Güncenlendi'; -$l['edit_xcperror'] = VM_SHORT.'i Düzenlemeye Çalışırken Bir Hata Oluştu'; -$l['bandwidth_threshold_mail_sub'] = 'Bant Genişliği Aşıldı'; -$l['bandwidth_threshold_mail_message'] = 'Merhaba, - - '.VM_SHORT.'iniz {{hostname}} Aylık trafik Limiitini {{vps_bandwidth_threshold}} % Geçmiştir. - -'.VM_SHORT.'iniz Bant Genişliği limitinızin {{limit_gb}} GB tından {{used_gb}} GB Trafik Kullanmıştır . - -Saygılarla, -{{sn}}'; - -$l['bandwidth_mail_sub'] = ' '.VM_SHORT.' Bant Genişliği Aşırı Kullanımı nedeniyle Askıya Alıdı '.VM_SHORT; -$l['bandwidth_mail_message'] = 'Merhaba, - - '.VM_SHORT.'iniz `{{hostname}}` Askıya Alındı, çünkü Aylı kBant Genişliği sınırınızı aştınız. - -'.VM_SHORT.'iniz {{used_gb}} GB Trafik kullandı. Fakat Aylık Bant Genişliği limitiniz {{limit_gb}} GB. - -Saygılarla, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' Ağ Hızı, Bant Genişliği aşırı kullanımı nedeniyle sınırlandı'; -$l['speed_capped_mail_message'] = 'Merhaba, - -'.VM_SHORT.'iniz {{hostname}} AĞ Hızı Bant Genişliği aşırı kullanımı nedeniyle sınırlandı - -'.VM_SHORT.'iniz {{used_gb}} GB trafik kullandı. Fakat Aylık Bant Genişliği limitiniz {{limit_gb}} GB. - -Saygılarla, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' AĞ Hızı geri yüklendi'; -$l['removed_speed_capped_mail_message'] = 'Merhaba, - -'.VM_SHORT.' {{hostname}} Ağ Hızı sınır limitiniz kaldırıldı. Ağ Hızınız Eski değerler yüklendi - -'.VM_SHORT.'iniz {{used_gb}} GB Bant Genişliği kullandı. Aylık Bant Genişliği limitiniz {{limit_gb}} GB. - -Saygılarla, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Merhaba - -'.VM_SHORT.'iniz {{vpsid}} Yaman Ayarınız ({{time}}) da işlem {{action}} başladı. -'; - -$l['self_shutdown_start'] = 'Başlat'; -$l['self_shutdown_stop'] = 'Durdur'; -$l['self_shutdown_restart'] = 'Tekrar başlat'; -$l['self_shutdown_poweroff'] = 'Kapat'; - -$l['self_shutdown_start_failed'] = 'Başlatılamadı'; -$l['self_shutdown_stop_failed'] = 'Durdurulamadı'; -$l['self_shutdown_restart_failed'] = 'Yeniden Başlatılamadı'; -$l['self_shutdown_poweroff_failed'] = 'Kapatılamadı'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'proxmox api çağrısı yapılamadı. Lütfen yapılandırmada proxmox detaylarını girin Yapılandırma -> Slave Ayarları'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Limitlendirillmiş Download Hızı '; -$l['exp_speed_cap_down'] = 'Bant genişliği '.VM_SHORT.' için aşırı kullanıldıktan sonra indirme hızı, 0 veya boş değer sınırlama olmadığını gösterir'; -$l['speed_cap_up']= 'Limitlenrilmiş Upload Hızı '; -$l['exp_speed_cap_up'] = 'Bant Genişliği '.VM_SHORT.' için aşırı kullanıldıktan sonra yükleme hızı, 0 veya boş değer sınırlama olmadığını gösterir'; - -// ISO Related -$l['admin_iso'] = 'Admin ISO(ları)'; -$l['eu_iso'] = 'Kullanıcı ISO(ları)'; - -$l['enable_billing'] = 'Fatura Ayarı devre dışı bırakıldı. Lütfen önce şunu etkinleştirin: Ödeme Ayarları.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forumlar'; -$l['cat_php_blogs'] = 'Bloglar'; -$l['cat_php_cms'] = 'Portallar/CMS'; -$l['cat_php_galleries'] = 'Resim Galerisi'; -$l['cat_php_wikis'] = 'Wiki'; -$l['cat_php_admanager'] = 'Reklam yönetimi'; -$l['cat_php_calendars'] = 'Takvimler'; -$l['cat_php_games'] = 'Oyun'; -$l['cat_php_mail'] = 'E-Posta'; -$l['cat_php_polls'] = 'Anketler'; -$l['cat_php_projectman'] = 'Proje Yönetimi'; -$l['cat_php_ecommerce'] = 'E-Ticaret'; -$l['cat_php_guestbooks'] = 'ziyaretçi defteri'; -$l['cat_php_customersupport'] = 'Müşteri desteği'; -$l['cat_php_others'] = 'Diger'; -$l['cat_php_music'] = 'Müzik'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Sosyal Ağlar'; -$l['cat_php_microblogs'] = 'Micro Bloglar'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Eğitici'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'Veri Tabanı Araçları'; -$l['cat_php_files'] = 'Dosya Yöneticisi'; - -$l['inv_winpass_chars'] = 'Windows '.VM_SHORT.' ROOT Şifresi İçin İzin Verilen Özel Karakterler :'; -$l['invalid_transaction'] = 'İşlem Başarısız / Geçersiz. Lütfen Tekrar Deneyin'; -$l['success'] = 'Başarılı'; -$l['failed'] = 'Hatalı'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Bugün at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Tema Hatası';//Title +$l['init_theme_error'] = 'Tema Dosyası Yüklenemiyor - &soft-1;.'; + +$l['init_theme_func_error_t'] = 'Tema İşlev Hatası';//Title +$l['init_theme_func_error'] = 'Tema İşlev(leri) Yüklenemiyor &soft-1;.'; + +$l['load_theme_settings_error'] = 'Tema Ayarları Dosyası Yüklenemiyor.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Aşağıdaki Hatalar Bulundu'; + +//Success Message Function +$l['following_message'] = 'Aşağıdaki Mesaj Alındı'; + +//Major Error Function +$l['fatal_error'] = 'Kritik Hata.'; +$l['following_fatal_error'] = 'Aşağıdaki Hata Oluştu'; + +//Message Function +$l['soft_message'] = 'Bildirim'; +$l['following_soft_message'] = 'Aşağıdaki Mesaj İade Edildi'; + +$l['err_user_head'] = 'Hata'; +$l['err_user'] = 'Kullanıcı Türü Belirlenemedi'; + +//Update Softaculous +$l['getting_info'] = 'Bilgi İsteniyor......'; +$l['error_getting_latest'] = 'Bilgi alınamadı......Terkediyor'; +$l['got_info'] = 'Bilgi Aldındı'; +$l['manual_mode'] = 'Softaculous in Yeni sürümü kullanım kılavuzuna dikkatle okuyunuz......Terkediyor'; +$l['no_updates'] = 'Mevcut Sürüm Son Sürüm......Devamediyor'; +$l['fetch_upgrade'] = 'Güncelleme Alınıyor......'; +$l['error_fetch_upgrade'] = 'Güncelleme Dosyası Alınamadı......Bitiriyor'; +$l['error_save_upgrade'] = 'Güncelleme Dosyası Kaydedilemedi......Bitiriyor'; +$l['got_upgrade'] = 'Yükseltme Dosyasını Kaydetti'; +$l['unzip_upgrade'] = 'Dosyaları Açıyor......'; +$l['error_unzip_upgrade'] = 'Dosya Açılırken Hata Oluştu......Bitiriyor'; +$l['unzipped_upgrade'] = 'Başarıyla Açıldı'; +$l['running_upgrade'] = 'Güncelleme Yapılıyor..'; +$l['succ_upgrade'] = 'Tamamlandı'; +$l['error_upgrade'] = 'Güncelleme Sırasında Aşağıdaki Hatalar Oluştu :'; + +//MySQL Errors +$l['err_selectmy'] = 'Veritabanı Seçilmedi.'; +$l['err_myconn'] = 'Veri Tabanı Baglatısı Kurulamıyor.'; +$l['err_makequery'] = 'Sorgu Numaralandırılamadı'; +$l['err_mynum'] = 'Verıtabanı Hatası Nummer'; +$l['err_myerr'] = 'Veritabanı Hatası'; + +//hf_theme.php +$l['welcome'] = 'Hoş Geldiniz'; +$l['logout'] = 'Çikiş'; +$l['page_time'] = 'Sayfa Oluşturuldu'; +$l['times_are'] = 'Tüm Zamanlar GMT '; +$l['time_is'] = 'Şu Anki Saat'; +$l['load_start'] = 'Başlıyor'; +$l['load_stop'] = 'Durduruluyor'; +$l['load_restart'] = 'Tekrar Başlıyor'; +$l['load_poweroff'] = 'Kapatılıyor'; + +//The Category Language Variables +$l['dock_restart'] = VM_SHORT.' Tekrar Başlat'; +$l['dock_stop'] = VM_SHORT.' Durdur'; +$l['dock_start'] = VM_SHORT.' Başlat'; +$l['dock_poweroff'] = VM_SHORT.' Kapat'; +$l['dock_home'] = 'Ana Sayfa'; +$l['dock_settings'] = 'Ayarları Düzenle'; +$l['dock_help'] = 'Yardım ve Destek'; +$l['dock_sync'] = 'Diğer Otomatik Yükleyicilerle Senkronize Et'; +$l['go_home'] = 'Ana Sayfa'; +$l['dock_user'] = 'Kullanıcı Profili'; +$l['dock_password'] = 'Şifre Değiştir'; +$l['dock_vps'] = 'Sanal Sunucuları Listele'; + +// Left Menu +$l['lm_file_mgr'] = 'Dosya Yöneticisi'; +$l['lm_res'] = 'Kaynaklar'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'İşlem'; +$l['lm_service'] = 'Servisler'; +$l['lm_firewall'] = 'Güvenlik Duvarı'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC Şifresi'; +$l['lm_statusc'] = 'Durum Günlükleri'; +$l['lm_res_a'] = 'Sistem Uyarıları'; +$l['lm_logs'] = 'Görev Kayıtları'; +$l['lm_bandwidth'] = 'Bant Genişliği'; +$l['lm_accountpass'] = 'Hesap Şifresi'; +$l['lm_changepass'] = 'Hesap Şifresi'; +$l['lm_controlpanel'] = 'Yönetim Paneli'; +$l['lm_recipes'] = 'Uygulamalar'; +$l['lm_disk'] = 'Sürücü'; +$l['lm_ostemp'] ='İşletim Sistemi Tekrar Kur'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Sunucu Adı'; +$l['lm_logs'] = 'Kayıtlar'; +$l['lm_ips'] = 'IP Adresleri'; +$l['lm_hvmsettings'] = VM_SHORT.' Yapılandırması'; +$l['lm_apikey'] = 'API Bilgileri'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Ters DNS'; +$l['lm_support'] = 'Destek'; +$l['lm_self_shutdown'] = 'Zaman Ayarlı Kapatma'; +$l['lm_tasks'] = 'Görevler'; +$l['lm_twofactauth'] = 'Güvenlik Ayarları'; +$l['lm_backup2'] = 'Yedekler'; +$l['lm_backupservers'] = 'Yedekleme Sunucuları'; +$l['lm_sshkeys'] = 'SSH Anahtarı'; +$l['lm_installapps'] = 'Uygulamalar'; +$l['lm_billing'] = 'Faturlandırma'; + +// Users left menu +$l['lm_vs'] = VM_SHORT.' Listesi'; +$l['lm_addvs'] = 'Uygula'; +$l['lm_resources'] = 'Cloud Kaynakları'; +$l['lm_users'] = 'Kullanıcılar'; +$l['lm_usr_settings'] = 'Ayarlar'; +$l['lm_profile'] = 'Profilim'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'Admin Olarak Giriş Yaptınız'; +$l['lmapps'] = 'Uygulamalar'; + +// Page Jump Related : +$l['page_jump_title'] = 'Gitmek İstediğiniz Sayfayı Girin'; +$l['page_page'] = 'Sayfa'; +$l['page_of'] = 'Sayfası'; +$l['page_go'] = 'Git'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = VM_SHORT.' Veritabanında Bulunamadı'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'İşletim Sistemi Şablonu Bulunamadı'; +$l['build_no_ip'] = VM_SHORT.' için Ana IP Belirtilmemiş'; +$l['build_no_os_iso'] = 'İşletim Sistemi Şablonu veya ISO Dosyası Bulunmadı '; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Sunucu Yanlış Kernelle Çalışmakda - '; +$l['correct_kernel'] = 'Dogru Kernel ile Sunucuyu Başlatın.'; +$l['kvm_module'] = 'Linux-KVM Modulü Yüklenmedi.'; +$l['kvm_network'] = ''.$globals['bridge'].' Başlamadı. Lütfen sshde service virtnetwork start Komutu Çalıştırın'; +$l['temp_exists'] = 'Şablon Dosyası Zaten Var'; +$l['temp_snap_err'] = 'Anlık Görüntü (Snapshot) oluşturulamadı ve bu nedenle şablon oluşturma başarısız oldu. Anlık görüntü (Snapshot) oluşturma genellikle daha az alan nedeniyle başarısız oluyor'; +$l['wrong_xm'] = 'XEN Modulü Doğru Şekilde Yüklenmedi'; +$l['lxc_module'] = 'LXC Kurulmadı.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = VM_SHORT.'’nin LVM’sini Oluştururken Bir Hata Oluştu'; +$l['xen_err_swap'] = VM_SHORT.'’nin SWAP’ını Oluştururken Bir Hata Oluştu'; +$l['xen_err_tmp'] = 'Mount Noktası Oluştururken Bir Hata Oluştu'; +$l['xen_err_mount'] = VM_SHORT.' LVM Bağlanırken (mount) Edilirken Bir Hata Oluştu'; +$l['xen_err_unmount'] = VM_SHORT.' LVM Bağlantı Kesilirken (unmount) Edilirken Bir Hata Oluştu'; +$l['xen_err_dd'] = 'Disk Kopyalama İşlemi Sırasında Bir Hata Oluştu'; +$l['xen_err_mkfs'] = VM_SHORT.' Formatlarken Bir Hata Oluştu'; +$l['xen_err_mkswap'] = VM_SHORT.'nin SWAP Formatlanırken Bir Hata Oluştu'; +$l['xen_err_untar'] = 'İşletim Sistemi Şablonu Açılırken Bir Hata Oluştu'; +$l['xen_err_part'] = 'Disk Bölümleri Oluşturulurken Bir Hata Oluştu'; +$l['xen_err_kpart'] = 'Bölümleri Eşlerken Bir Hata Oluştu'; +$l['xen_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = VM_SHORT.'in VDIsi Oluşturulurken Bir Hata Oluştu'; +$l['xcp_err_iso'] = 'ISO Yüklenirken Bir Hata Oluştu'; +$l['xcp_err_vif'] = VM_SHORT.' İçin VIF Oluşturulurken Bir Hata Oluştu'; +$l['xcp_xentools_missing'] = 'Xentools ISO Bulunamadı'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = VM_SHORT.'’nin LVM’sini Oluştururken Bir Hata Oluştu'; +$l['kvm_err_mount'] = VM_SHORT.' LVM Bağlanırken (moount) Bir Hata Oluştu'; +$l['kvm_err_unmount'] = VM_SHORT.' LVM nin Bağlatısı Kesilirken (unmount) Bir Hata Oluştu'; +$l['kvm_err_dd'] = 'Disk Kopyalama İşlemi Sırasında Bir Hata Oluştu'; +$l['kvm_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu' ; +$l['kvm_err_part'] = 'Disk Bölümleri Oluşturulurken Bir Hata Oluştu'; +$l['kvm_err_kpart'] = 'Bölümleri Eşlerken Bir Hata Oluştu'; +$l['kvm_err_mkswap'] = VM_SHORT.'’nin SWAP’ını Biçimlendirirken Bir Hata Oluştu'; +$l['kvm_err_ceph_block'] = 'CEPH Blok Cihazı Oluşturulurken Bir Hata Oluştu'; +$l['kvm_err_ceph_block_map'] = 'CEPH Blok Cihazını Eşlerken Bir Hata Oluştu'; +$l['kvm_err_ceph_block_rmmap'] = 'CEPH Blok Cihazının Haritasının Silinmesinde Bir Hata Oluştu'; +$l['kvm_err_ceph_block_rm'] = 'CEPH Blok Cihazının Silinmesinde Bir Hata Oluştu'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'İşletim Sistemi Şablonu Açılırken Bir Hata Oluştu '; +$l['lxc_err_unmount'] = VM_SHORT.' LVM nin Bağlatısı Kesilirken (unmount) Bir Hata Oluştu'; +$l['lxc_err_resizefs'] = 'Dosya Sistemini Yeniden Boyutlandırırken Bir Hata Oluştu'; +$l['lxc_network'] = ''.$globals['bridge'].' Başlamadı. Lütfen sshde service virtnetwork start Komutu Çalıştırın'; +$l['lxc_err_mount'] = VM_SHORT.' LVM Bağlanırken Bir Hata Oluştu'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = VM_SHORT.' Oluşturulurken Bir Hata Oluştu'; +$l['err_vncpass'] = 'VNC Şifresi Ayarlanırken Bir Hata Oluştu'; +$l['err_set_iso'] = 'ISO’yu '.VM_SHORT.'’ye Takmada Bir Tane Vardı'; +$l['err_disk_create'] = VM_SHORT.' Diski Oluşturulurken Bir Hata Oluştu'; +$l['err_set_boot_order'] = 'Önyükleme Sırasını Ayarlarken Bir Hata Oluştu'; +$l['err_set_ram'] = 'RAM Ayarlanırken Bir Hata Oluştu'; +$l['err_set_pinning'] = 'CPU İlişkisi Ayarlanırken Bir Hata Oluştu'; +$l['err_install_tools'] = 'Konuk Araçları Yüklenirken Bir Hata Oluştu'; + +//Backup errors +$l['backup_err_mount'] = 'LVMnin Geçici Depolama İçin Bağlanırken (mount) Edilirken Bir Hata Oluştu'; +$l['backup_err_lvm'] = 'Geçici Depolama İçin LVM Oluşturulurken Bir Hata Oluştu.'; +$l['backup_err_mkfs'] = 'Geçici Depolama Formatlanırken Bir Hata Oluştu'; +$l['backup_err_mkdir'] = 'Geçici Depolama Bağlama (mount) Noktası dizini Oluşturulurken Bir Hata Oluştu'; +$l['kvm_err_tar'] = 'Arşiv Sıkıştırılırken Bir Hata Oluştu'; +$l['xen_err_tar'] = 'Arşiv Sıkıştırılırken Bir Hata Oluştu'; +$l['kvm_err_untar'] = 'Arşivi Açarken Bir Hata Oluştu'; +$l['backup_err_untar'] = 'Arşivi Açarken Bir Hata Oluştu'; +$l['err_vzdump'] = 'Yedekleme Aracında Bir Hata Oluştu'; +$l['err_create_backup_folder'] = 'Yedekleme Dizini Oluşturulurken Bir Hata Oluştu'; +$l['err_create_backup_date_folder'] = 'Yedekleme Tarihi Dizini Oluşturulurken Bir Hata Oluştu'; +$l['err_backup_command_fail'] = 'Yedek İmaj Oluşturulamadı, Dönüş Kodu : '; +$l['backup_err_snap_switch'] = 'Snapshota Dönülürken Burada Bir Hata Oluştu '; +$l['backup_err_snap_del'] = 'Snapshot (İmaj) Silinirken Bir Hata Oluştu'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID Boş!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'UBC Ayarları Kaydedilirken Bir Hata Oluştu'; +$l['openvz_err_ostemplate'] = 'İşletim Sistemi Şablonu Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_space'] = 'Disk Alanı Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_inodes'] = 'Disk Alanı Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_hostname'] = 'Sunuc Adı Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_ip'] = 'IP Adresini Ayarlarken Bir Hata Oluştu'; +$l['openvz_err_dns'] = 'DNS Ayarlarında Bir Hata Oluştu'; +$l['openvz_err_cpu'] = 'CPU Birimlerini Ayarlarken Bir Hata Oluştu'; +$l['openvz_err_cpulim'] = 'CPU Sınırını Ayarlarken Bir Hata Oluştu'; +$l['openvz_err_cores'] = 'CPU Çekirdeği Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_ioprio'] = 'I/O Önceliği Ayarlanırken Bir Hata Oluştu'; +$l['openvz_err_create'] = VM_SHORT.' Oluşturulurken Bir Hata Oluştu'; +$l['vswap_error'] = 'VSwap Ayarları Yapılırken Bir Hata Oluştu'; + +// Rescue Disk Errors +$l['err_downloading'] = 'Kurtarma Şablonunu İndirirken Bir Hata Oluştu'; +$l['err_delete_disk'] = 'Kurtarma Diskini Silerken Bir Hata Oluştu'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Açık'; +$l['lm_status_offline'] = 'Kapalı'; +$l['lm_status_suspended'] = 'Askıda'; +$l['vps_is_suspended'] = 'Bu '.VM_SHORT.' Askıya Alındı. '.VM_SHORT.' İçin Hiçbir İşlem Yapamazsınız. !'; +$l['suspend_reason_bw'] = 'Bu '.VM_SHORT.', Bant Genişliği Kullanım Nedeniyle Askıya Alındı. '.VM_SHORT.' İçin Hiçbir İşlem Yapamazsınız. !'; + +$l['unknown'] = 'Bilinmiyor'; +$l['change_onboot'] = VM_SHORT.' Yeniden Boot Edildiginde Değişiklik Gerçekleşecek.'; +$l['completed'] = 'Tamamlandı'; +$l['vpsdisk_resize_err'] = 'Diskleri Yeniden Boyutlandırırken Bir Hata Oluştu'; +$l['mount_undetermined'] = VM_SHORT.'de Hiçbir Linux Bölümü Bulunamadı'; +$l['disk_destroy_err'] = 'Diskleri Silerken Bir Hata Oluştu'; +$l['started'] = 'Başladı'; +$l['ended'] = 'Bitti'; +$l['updated'] = 'Güncenlendi'; +$l['edit_xcperror'] = VM_SHORT.'i Düzenlemeye Çalışırken Bir Hata Oluştu'; +$l['bandwidth_threshold_mail_sub'] = 'Bant Genişliği Aşıldı'; +$l['bandwidth_threshold_mail_message'] = 'Merhaba, + + '.VM_SHORT.'iniz {{hostname}} Aylık trafik Limiitini {{vps_bandwidth_threshold}} % Geçmiştir. + +'.VM_SHORT.'iniz Bant Genişliği limitinızin {{limit_gb}} GB tından {{used_gb}} GB Trafik Kullanmıştır . + +Saygılarla, +{{sn}}'; + +$l['bandwidth_mail_sub'] = ' '.VM_SHORT.' Bant Genişliği Aşırı Kullanımı nedeniyle Askıya Alıdı '.VM_SHORT; +$l['bandwidth_mail_message'] = 'Merhaba, + + '.VM_SHORT.'iniz `{{hostname}}` Askıya Alındı, çünkü Aylı kBant Genişliği sınırınızı aştınız. + +'.VM_SHORT.'iniz {{used_gb}} GB Trafik kullandı. Fakat Aylık Bant Genişliği limitiniz {{limit_gb}} GB. + +Saygılarla, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' Ağ Hızı, Bant Genişliği aşırı kullanımı nedeniyle sınırlandı'; +$l['speed_capped_mail_message'] = 'Merhaba, + +'.VM_SHORT.'iniz {{hostname}} AĞ Hızı Bant Genişliği aşırı kullanımı nedeniyle sınırlandı + +'.VM_SHORT.'iniz {{used_gb}} GB trafik kullandı. Fakat Aylık Bant Genişliği limitiniz {{limit_gb}} GB. + +Saygılarla, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' AĞ Hızı geri yüklendi'; +$l['removed_speed_capped_mail_message'] = 'Merhaba, + +'.VM_SHORT.' {{hostname}} Ağ Hızı sınır limitiniz kaldırıldı. Ağ Hızınız Eski değerler yüklendi + +'.VM_SHORT.'iniz {{used_gb}} GB Bant Genişliği kullandı. Aylık Bant Genişliği limitiniz {{limit_gb}} GB. + +Saygılarla, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Merhaba + +'.VM_SHORT.'iniz {{vpsid}} Yaman Ayarınız ({{time}}) da işlem {{action}} başladı. +'; + +$l['self_shutdown_start'] = 'Başlat'; +$l['self_shutdown_stop'] = 'Durdur'; +$l['self_shutdown_restart'] = 'Tekrar başlat'; +$l['self_shutdown_poweroff'] = 'Kapat'; + +$l['self_shutdown_start_failed'] = 'Başlatılamadı'; +$l['self_shutdown_stop_failed'] = 'Durdurulamadı'; +$l['self_shutdown_restart_failed'] = 'Yeniden Başlatılamadı'; +$l['self_shutdown_poweroff_failed'] = 'Kapatılamadı'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'proxmox api çağrısı yapılamadı. Lütfen yapılandırmada proxmox detaylarını girin Yapılandırma -> Slave Ayarları'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Limitlendirillmiş Download Hızı '; +$l['exp_speed_cap_down'] = 'Bant genişliği '.VM_SHORT.' için aşırı kullanıldıktan sonra indirme hızı, 0 veya boş değer sınırlama olmadığını gösterir'; +$l['speed_cap_up']= 'Limitlenrilmiş Upload Hızı '; +$l['exp_speed_cap_up'] = 'Bant Genişliği '.VM_SHORT.' için aşırı kullanıldıktan sonra yükleme hızı, 0 veya boş değer sınırlama olmadığını gösterir'; + +// ISO Related +$l['admin_iso'] = 'Admin ISO(ları)'; +$l['eu_iso'] = 'Kullanıcı ISO(ları)'; + +$l['enable_billing'] = 'Fatura Ayarı devre dışı bırakıldı. Lütfen önce şunu etkinleştirin: Ödeme Ayarları.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forumlar'; +$l['cat_php_blogs'] = 'Bloglar'; +$l['cat_php_cms'] = 'Portallar/CMS'; +$l['cat_php_galleries'] = 'Resim Galerisi'; +$l['cat_php_wikis'] = 'Wiki'; +$l['cat_php_admanager'] = 'Reklam yönetimi'; +$l['cat_php_calendars'] = 'Takvimler'; +$l['cat_php_games'] = 'Oyun'; +$l['cat_php_mail'] = 'E-Posta'; +$l['cat_php_polls'] = 'Anketler'; +$l['cat_php_projectman'] = 'Proje Yönetimi'; +$l['cat_php_ecommerce'] = 'E-Ticaret'; +$l['cat_php_guestbooks'] = 'ziyaretçi defteri'; +$l['cat_php_customersupport'] = 'Müşteri desteği'; +$l['cat_php_others'] = 'Diger'; +$l['cat_php_music'] = 'Müzik'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Sosyal Ağlar'; +$l['cat_php_microblogs'] = 'Micro Bloglar'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Eğitici'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'Veri Tabanı Araçları'; +$l['cat_php_files'] = 'Dosya Yöneticisi'; + +$l['inv_winpass_chars'] = 'Windows '.VM_SHORT.' ROOT Şifresi İçin İzin Verilen Özel Karakterler :'; +$l['invalid_transaction'] = 'İşlem Başarısız / Geçersiz. Lütfen Tekrar Deneyin'; +$l['success'] = 'Başarılı'; +$l['failed'] = 'Hatalı'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/enduser_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/enduser_lang.php index 8525b12..427b958 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/enduser_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/enduser_lang.php @@ -1,2138 +1,2138 @@ - Скануйте QR-код або введіть секретний ключ, вказаний нижче, в свій двофакторний додаток перевірки справжності. Після цього додаток надасть Вам унікальний OTP, який Ви маєте ввести в текстове поле для активації дворівневої аутентифікації.'; -$l['twofactauth_secret_key'] = 'Секретний ключ : '; -$l['twofactauth_code_input'] = 'Код підтвердження'; -$l['twofactauth_code_input_exp'] = 'Введіть OTP, отриманий електронною поштою або з додатку APP'; -$l['twofactauth_submit'] = 'Надіслати'; -$l['twofactauth_select_pref'] = 'Оберіть «Перевага»: '; -$l['twofactauth_select_pref_desc'] = 'Оберіть тип перевірки "Дворівнева", а потім введіть код, щоб активувати його.'; -$l['twofactauth_disabled'] = 'Дворівневу аутентифікацію деактивовано'; -$l['twofactauth_enabled'] = 'Дворівнева аутентифікація була активована'; -$l['twofactauth_err_enable'] = 'Невірный введений код'; -$l['twofactauth_email_passcode'] = 'Email код'; -$l['twofactauth_none'] = 'Ні (не рекомендовано!)'; -$l['twofactauth_email_otp'] = 'Email OTP'; -$l['twofactauth_enable_app'] = 'Включити додаток (аутентифікатор Google тощо)'; -$l['twofactauth_no_passcode'] = 'Вкажіть, будь-ласка, OTP'; -$l['twofactauth_changes_saved'] = 'Ваші зміни успішно збережено'; -$l['twofactauth_or'] = 'OR'; -$l['twofactauth_passcode_error'] = 'OTP не може бути згенеровано'; -$l['twofactauth_otp_mail_sub'] = 'Логін OTP'; -$l['twofactauth_reset_key'] = 'Скинути ключ'; -$l['twofactauth_email_sent_to'] = 'OTP буде надіслано за адресою:'; -$l['twofactauth_otp_mail_body'] = 'Вітаємо, - -Запит на доступ було надіслано для Вашого облікового запису в : -{{site_domain}} - -Використовуйте пароль One Time (OTP) для доступа в систему : -{{otp}} - -Regards, -{{sn}}'; -$l['twofactauth_passcode_mail_sub'] = 'Код підтверждення дворівневої аутентифікації '; -$l['twofactauth_passcode_mail_body'] = 'Вітаємо, - -Код підтверждення для включення дворівневої аутентифікації для Вашого облікового запису в {{site_domain}} is : {{passcode}}. - -Regards, -{{sn}}'; -$l['twofactauth_mail_done'] = 'OTP надіслано на адресу Вашої електронної пошти'; -$l['twofactauth_secret_key_conf'] = 'ПОПЕРЕДЖЕННЯ. Якщо Ви скинете секретний ключ, Вам доведеться оновити свої додатки новим. Ви впевнені що хочете продовжувати ?'; -$l['twofactauth_otp_expired'] = 'OTP, який Ви надіслали, сплив!'; -$l['twofactauth_not_allowed'] = 'Ви не можете отримати доступ до цієї сторінки'; - -// adduser lang string - prefix : adu_ -$l['adu_no_user_email'] = 'Ви не вказали ідентифікатор електронної пошти'; -$l['adu_no_user_password'] = 'Ви не вказали пароль'; -$l['adu_invalid_email'] = 'Недійсний ідентифікатор електронної пошти'; -$l['adu_userlimit_exceeded'] = 'Вам не дозволено створювати більше користувачів. Зверніться до адміністратора'; -$l['adu_useradd_error'] = 'Виникла помилка додання користувача. Зверніться до адміністратора'; -$l['adu_page_head'] = 'Додати користувача'; -$l['adu_done'] = 'Користувача додано'; -$l['adu_user_email'] = 'Email'; -$l['adu_user_password'] = 'Пароль'; -$l['adu_user_exists'] = 'Користувач вже існує. Введіть ішну адресу електронної пошти'; - -// changepassword lang string - prefix : cpas_ -$l['cpas_no_new'] = 'Ви не вказали новий пароль.'; -$l['cpas_no_conf'] = 'Відсутній пароль підтвердження.'; -$l['cpas_no_match'] = 'Вказані паролі не співпадають'; -$l['cpas_err_changing'] = 'Виникла помилка змінення пароля.'; -$l['cpas_submit_button'] = 'Змінити пароль'; -$l['cpas_new_pass'] = 'Новий пароль'; -$l['cpas_old_pass'] = 'Старий пароль'; -$l['cpas_retype_pass'] = 'Введіть повторно новий пароль'; -$l['cpas_change_note'] = 'Змінити пароль root'; -$l['cpas_change_final'] = 'Ваш пароль було успішно змінено'; -$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; -$l['cpas_change_notify'] = 'Зміна пароля користувача '.VM_SHORT.' ...'; -$l['cpas_strength_indicator'] = 'Індикатор складності'; -$l['cpas_bad'] = 'Слабкий'; -$l['cpas_good'] = 'Добре'; -$l['cpas_strong'] = 'Надійний'; -$l['cpas_short'] = 'Дуже надійний'; -$l['cpas_weak_pass'] = 'Пароль має містити як мінімум 3 наступних символи: прописна літера, строчна літера, номер або спеціальний символ'; -$l['cpas_pass_match'] = 'Паролі не співпадають'; -$l['cpas_disabled'] = 'Зміну паролю відключено адміністратором'; - -// cloudres lang string - prefix : cr_ -$l['cr_header'] = 'Хмарні ресурси'; -$l['cr_resource_type'] = 'Тип ресурса'; -$l['cr_limit'] = 'Ліміт'; -$l['cr_used'] = 'Використано'; -$l['cr_left'] = 'Доступний'; -$l['cr_unlimited'] = 'Безлімітний'; -$l['cr_num_vs'] = 'Кількість '.VM_SHORT; -$l['cr_num_users'] = 'Кількість користувачів'; -$l['cr_num_space'] = 'Дисковий простір'; -$l['cr_num_ram'] = 'Ram'; -$l['cr_num_bandwidth'] = 'Пропускна здатність'; -$l['cr_num_cores'] = 'Всього ядер'; -$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; -$l['cr_num_ipv4'] = 'IPv4'; -$l['cr_num_ipv6_subnet'] = 'Підсегменти IPv6'; -$l['cr_num_ipv6'] = 'IPv6'; -$l['cr_cpuinfo'] = 'Інформація про процесор'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial консоль відключена'; -$l['cs_call_failed'] = 'Не вдалося виконати виклик API. Будь-ласка, зв’яжіться з адміністратором'; -$l['cs_heading'] = 'Serial консоль'; -$l['cs_none'] = 'Існуючий сеанс консолі відсутній. Будь-ласка, створіть його!'; -$l['cs_create'] = 'Створити сеанс'; -$l['cs_creating'] = 'Створення сеансу ...'; -$l['cs_destroying'] = 'Завершення сеансу ...'; -$l['cs_details'] = 'Нижче наведено відомості про консоль'; -$l['cs_expires'] = 'Спливає'; -$l['cs_ip'] = 'IP адреса'; -$l['cs_port'] = 'Порт'; -$l['cs_username'] = 'Ім’я користувача'; -$l['cs_password'] = 'Пароль'; -$l['cs_destroy'] = 'Завершити сеанс'; -$l['cs_java_console'] = 'Java консоль'; - -// hostname lang string - prefix : hn_ -$l['hn_no_new'] = 'Вкажіть ім’я хоста, яке необхідно змінити.'; -$l['hn_new_host'] = 'Нове ім’я хоста'; -$l['hn_submit_button'] = 'Змінити ім’я хоста'; -$l['hn_err_changing'] = 'Виникла помилка зміни імені хоста.'; -$l['hn_host_final'] = 'Ім’я хоста успішно змінено'; -$l['hn_invalid_hostname'] = 'Вказане ім’я хоста недійсне'; -$l['hn_change_onboot'] = 'Ім’я хоста буде змінено після перезавантаження '.VM_SHORT; -$l['hn_current_hostname'] = 'Поточне ім’я хоста'; -$l['hn_change_notify'] = 'Зміна імені хоста ...'; -$l['hn_disable_change_hostname'] = 'Зміну хоста відключено адміністратором'; - -// ips lang string - prefix : ips_ -$l['ips_no_ip_sel'] = 'IP-адреса не обрана'; -$l['ips_ip_not_exists'] = 'IP не існує'; -$l['ips_header'] = ' IP-адреса'; -$l['ips_ipinfo'] = 'IP-інформація'; -$l['ips_reorderips'] = 'Встановити первинну IP-адресу'; -$l['ips_done'] = 'Налаштування IP-адреси збережені.'; -$l['ips_change_onboot'] = 'Налаштування IP будуть змінені після перезавантаження '.VM_SHORT; -$l['ips_primary_ip'] = 'Оберіть первинну IP-адресу '; -$l['ips_ipv6_ips_list'] = 'IP-адреси IPV6'; -$l['ips_ipv6_empty'] = 'IPV6 Відстуні'; -$l['ips_change_notify'] = 'Зміна налаштувань IP ...'; - -// monitor lang string - prefix : mon_ -$l['mon_header'] = ' CPU '; -$l['mon_cpuinfo'] = 'CPU інформація'; -$l['mon_totalcpu'] = 'Загальне CPU :'; -$l['mon_cpuutilised'] = 'Використано : '; -$l['mon_poweredby'] = 'Використовується з : '; -$l['mon_graphheader'] = 'Використано CPU'; -$l['mon_trademarks'] = 'Всі відповідні логотипи є товарними знаками або зареєстрованими товарними знаками відповідних компаній.'; -$l['mon_not_supported'] = 'Наразі моніторинг використання ресурсів не підтримується.'; -$l['mon_header_cpu'] = 'CPU'; -$l['mon_header_ram'] = 'RAM'; -$l['mon_header_disk'] = 'Диск'; -$l['mon_header_nodes'] = 'Дескриптор файлів'; -$l['mon_header_io'] = 'Disk I/O'; -$l['mon_header_ntw_speed'] = 'Мережа'; -$l['mon_io_usage'] = 'Average Disk I/O Usage'; -$l['mon_io_read_spd'] = 'I/O Read Speed'; -$l['mon_io_write_spd'] = 'I/O Write Speed'; -$l['mon_ntw_info'] = 'Інформація про мережу'; -$l['mon_ntw_down_spd'] = 'Вхідна швидкість'; -$l['mon_ntw_upld_spd'] = 'Вихідна швидкість'; -$l['mon_disabled'] = 'Опція Monitor відключена адміністратором'; -$l['mon_cpu_usage'] = 'Використання процесора'; -$l['mon_inode_usage'] = 'Використання інодів'; -$l['mon_ram_usage'] = ' Використано RAM '; -$l['mon_disk_usage'] = 'Використано Диску'; -$l['mon_down_speed'] = 'Вхідна швидкість'; -$l['mon_up_speed'] = 'Вихідна швидкість'; -$l['mon_total_speed'] = 'Загальна швидкість'; -$l['mon_cpu_hist'] = 'Історія використання CPU'; -$l['mon_mem_hist'] = 'Історія використання RAM'; -$l['mon_storage'] = 'Використання сховища'; -$l['mon_date_label'] = 'Date mm/dd'; -$l['mon_inode_hist'] = 'Використання інодів'; -$l['mon_net_speed'] = 'Швидкість мережі'; - -// os lang string - prefix : os_ -$l['os_not_selected'] = 'Ви не обрали ОС'; -$l['os_invalid_os'] = 'Обрану ОС не знайдено'; -$l['os_no_new'] = 'Ви не вказали новий пароль.'; -$l['os_no_conf'] = 'Пароль підтвердження відсутній.'; -$l['os_no_match'] = 'Вказані паролі не співпадають'; -$l['os_error_reins'] = 'Виникла помилка перевстановлення ОС'; -$l['os_err_changing'] = 'Винилка помилка встановлення пароля.'; -$l['os_err_log_osreinstall'] = 'Ви перевищили ліміт кількості перевстановлень ОС. Зверніться до адміністратора'; -$l['os_reins_os'] = 'Перевстановлення ОС'; -$l['os_os_reinstall'] = 'Перевстановлення'; -$l['os_new_pass'] = 'Новий пароль'; -$l['os_retype_pass'] = 'Повторіть введення пароля'; -$l['os_genram_psswd'] = 'Згенерувати випадковий пароль'; -$l['os_done'] = 'Процес перевстановлення ОС було запущено в фоновому режимі'; -$l['os_reins_notify'] = 'Перевстановлення операційної системи '.VM_SHORT.' ...'; -$l['os_centos_line1'] = 'CentOS - це дистрибутив Linux корпоративного класу, заснований на джерелах, що вільно надаються широкій публіці відомим північноамериканським корпоративним виробником Linux.'; -$l['os_centos_line2'] = 'CentOS повністю відповідає політиці перерозподілу постачальників та намагається бути сумісним з бінарними версіями на 100%. CentOS в основному змінює пакети, щоб видалити брендінг та художні роботи виробника.'; -$l['os_centos_line3'] = 'CentOS розроблений невеликою, але зростаючою групою розробників. CentOS є безкоштовним.'; -$l['os_fedora_line1'] = 'Fedora - це операційна система на базі Linux, яка демонструє найновіші версії програмного забезпечення з відкритим вихідним кодом. Fedora завжди вільна для тих, хто використовує, модифікує та розповсюджує.'; -$l['os_fedora_line2'] = 'Вона підтримується спільнотою у всьому світі, що працює разом як: проект Fedora. Проект Fedora відкритий, всі бажаючі можуть приєднатися.'; -$l['os_fedora_line3'] = 'Проект Fedora є однією з провідних серед безкоштовних ОС '; -$l['os_suse_line1'] = 'Проект openSUSE - це всесвітня спільнота, що сприяє використанню Linux по всьому світу.'; -$l['os_suse_line2'] = 'OpenSUSE створює один з найкращих в світі дистрибутивів Linux, працюючи разом з відкритим, прозорим та дружелюбним образом в межах спільноти Free та Open Source Software.'; -$l['os_suse_line3'] = 'Проект контролюється його спільнотою та залежить від внеску окремих осіб, що працюють як тестувальники, перекладачі, експерти з юзабіліті, дизайнери та розробники.'; -$l['os_suse_line4'] = 'OpenSUSE - безкоштовна, заснована на Linux операційна система для вашого ПК, ноутбука чи сервера.'; -$l['os_ubuntu_line1'] = 'Ubuntu є частиною сімейства операційних систем Linux Debian, має найбільшу спільноту розробників, причому кожний пакет побудований експертами.'; -$l['os_ubuntu_line2'] = 'Canonical\'s контролює якість, стрес-тестування та дизайн продукту, покращуючи якість Ubuntu Server.'; -$l['os_ubuntu_line3'] = 'Ubuntu - це надійна та інтуітивно зрозуміла операційна система, що забезпечує роботу настільних комп’ютерів, серверів, нетбуків та ноутбуків. Ubuntu є й завжди буде абсолютно безкоштовною.'; -$l['os_debian_line1'] = 'Debian - безкоштовна операційна система (ОС) для Вашого комп’ютера. Операційна система - це набір базових програм та утиліт, які запускають Ваш комп’ютер.'; -$l['os_debian_line2'] = 'Debian використовує ядро Linux (ядро операційної системи), але більшість базових інструментів ОС - це проект GNU; Звідси й назва GNU / Linux.'; -$l['os_debian_line3'] = 'Debian GNU / Linux являє собою більше, ніж чисту ОС: він постачається разом з більш ніж 25000 пакетами, попередньо скомпільованими програмним забезпеченням, що постачається в хорошому форматі для легкого встановлення на Вашому комп’ютері.'; -$l['os_scientific_line1'] = 'Scientific Linux - це дистрибутив Linux, створений Національною лабораторією прискорення Fermi.'; -$l['os_scientific_line2'] = 'Це безкоштовна операційна система з відкритим вихідним кодом, що заснована на Red Hat Enterprise Linux та спрямована на те, щоб бути «якомога ближче до комерціних систем, які можна отримати».'; -$l['os_scientific_line3'] = 'Цей продукт отриманий з безкоштовного програмного забезпечення з відкритим вихідним кодом, який Red Hat, Inc. зробила доступним, але не створюється та не підтримується Red Hat.'; -$l['os_strength_indicator'] = 'Індикатор складності'; -$l['os_strength_indicator'] = 'Індикатор складності'; -$l['os_bad'] = 'слабкий'; -$l['os_good'] = 'середній'; -$l['os_strong'] = 'надійний'; -$l['os_short'] = 'дуже надійний'; -$l['os_weak_pass'] = 'Пароль має містити мінімум 3 наступних символи: прописна літера, строчна літера, номер чи спеціальний символ'; -$l['os_pass_match'] = 'Паролі не співпадают'; -$l['os_reinstall_wait'] = 'Перевстановлення ОС, будь-ласка, зачекайте ...'; -$l['os_reinstall_disabled'] = 'Перевстановлення ОС відключене адміністратором'; -$l['os_no_os'] = 'ОС для перевстановлення відсутні'; -$l['os_rebuild_data_lost_warn'] = 'Ви дійсно хочете повторно створити '.VM_SHORT.'? Попереждення: Існуючі дані '.VM_SHORT.' буде назавжди втрачено.'; -$l['os_select_version'] = 'SELECT VERSION'; -$l['os_select_os'] = 'Select OS:'; -$l['os_other'] = 'Other'; -$l['os_format_primary'] = 'Format Primary Disk Only'; -$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; - -// vnc lang string - prefix : vnc_ -$l['vnc_vnc_info'] = 'Інформація про VNC'; -$l['vnc_vnc_ip'] = 'VNC IP'; -$l['vnc_vnc_port'] = 'VNC порт'; -$l['vnc_novnc_button'] = 'Запустити HTML 5 VNC Client'; -$l['vnc_launch_vnc'] = 'Запустити Java VNC Viewer'; -$l['vnc_notice'] = 'VNC буде працювати лише в разі, якщо java встановлено і включено в Вашому браузері'; -$l['vnc_not_enabled'] = 'VNC не включений'; - -// vncpass lang string - prefix : vncpas_ -$l['vncpas_no_new'] = 'Ви не вказали новий пароль.'; -$l['vncpas_no_conf'] = 'Пароль підтверждення відсутній.'; -$l['vncpas_no_match'] = 'Вказані паролі не співпадають'; -$l['vncpas_err_changing'] = 'Виникла помилка зміни пароля'; -$l['vncpas_no_nonalphanumeric'] = 'Відсутні символи, відмінні від літерно-цифрових'; -$l['vncpas_submit_button'] = 'Змінити пароль VNC'; -$l['vncpas_new_pass'] = 'Новий пароль'; -$l['vncpas_old_pass'] = 'Старий пароль'; -$l['vncpas_retype_pass'] = 'Введіть повторно новий пароль'; -$l['vncpas_change_note'] = 'Змінити пароль VNC'; -$l['vncpas_change_final'] = 'Ваш пароль VNC було успішно змінено.'; -$l['vncpas_change_notify'] = 'Зміна пароля VNC ...'; - -// userpassword lang string - prefix : up_ -$l['up_no_new'] = 'Ви не вказали новий пароль'; -$l['up_no_conf'] = 'Пароль підтвердження відсутній.'; -$l['up_no_match'] = 'Вказані паролі не співпадають'; -$l['up_err_changing'] = 'Виникла помилка зміни пароля.'; -$l['up_new_pass'] = 'Новий пароль'; -$l['up_old_pass'] = 'Старий пароль'; -$l['up_retype_pass'] = 'Введіть повторно новий пароль'; -$l['up_page_head'] = 'Змінити пароль'; -$l['up_change_final'] = 'Ваш пароль було успішно змінено'; - -// profile lang string - prefix : pr_ -$l['pr_change_profile'] = 'Змінити профіль'; -$l['pr_no_fname'] = 'Ви не вказали Ім’я'; -$l['pr_no_lname'] = 'Ви не вказали Прізвище'; -$l['pr_firstname'] = 'Ім’я'; -$l['pr_lastname'] = 'Прізвище'; -$l['pr_company'] = 'Company'; -$l['pr_website'] = 'Website'; -$l['pr_address'] = 'Address'; -$l['pr_city'] = 'City'; -$l['pr_state'] = 'State'; -$l['pr_zip'] = 'Zip Code'; -$l['pr_country'] = 'Country'; -$l['pr_phone'] = 'Mobile'; -$l['pr_sys_admin_email'] = 'System Admin Email'; -$l['pr_cc_emails'] = 'Invoice CC Email'; -$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; -$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; -$l['pr_done'] = 'Зміни успішно збережено'; - -// services lang string - prefix : ser_ -$l['ser_heading'] = 'Сервіси'; -$l['ser_sstart'] = 'Старт'; -$l['ser_sstop'] = 'Стоп'; -$l['ser_srestart'] = 'Перезавантажити'; -$l['ser_status'] = 'Стан'; -$l['ser_statrun'] = 'Працює'; -$l['ser_statoff'] = 'Вимк'; -$l['ser_staton'] = 'Вкл'; -$l['ser_autostart'] = 'Авто-старт'; -$l['ser_select'] = 'Обрати'; -$l['ser_vps_is_off'] = VM_SHORT.' вимкнений !'; -$l['ser_no_feature'] = 'Ця функція недоступна!'; -$l['ser_notice_start'] = 'Обрана служба (и) запускається..'; -$l['ser_notice_stop'] = 'Обрані служби зупиняються.'; -$l['ser_notice_restart'] = 'Обрані служби перезапускаються.'; - -// processes lang string - prefix : proc_ -$l['proc_heading'] = 'Перелік процесів'; -$l['proc_usr'] = 'Користувач'; -$l['proc_pid'] = 'PID'; -$l['proc_cpu'] = '%CPU'; -$l['proc_mem'] = '%MEM'; -$l['proc_command'] = 'Команда'; -$l['proc_rss'] = 'RSS'; -$l['proc_time'] = 'Час'; -$l['proc_select'] = 'Обрати'; -$l['proc_pstart'] = 'Старт'; -$l['proc_pkill'] = 'Закрити'; -$l['proc_prefresh'] = 'Автооновлення'; -$l['proc_vps_is_off'] = VM_SHORT.' відключено!'; -$l['proc_no_feature'] = 'Ця функція недоступна!'; -$l['proc_notice_pkill'] = 'Зупинка обраного процеса (ів) :'; -$l['proc_with_selected'] = 'З обраними:'; - -// logs lang string - prefix : log_ -$l['log_heading'] = 'Logs'; -$l['log_date'] = 'Дата'; -$l['log_task'] = 'Завдання'; -$l['log_status'] = 'Статус'; -$l['log_ip'] = 'IP'; -$l['log_success'] = 'Успішно'; -$l['log_fail'] = 'Fail'; - -// managesubnets lang string - prefix : mng_ -$l['mng_heading'] = 'Керування підмережами IPv6'; -$l['mng_done'] = 'IP-адреси успішно збережено'; -$l['mng_add_ipv6'] = 'Додати адресу Ipv6'; -$l['mng_add_ip_button'] = 'Додати IP'; -$l['mng_back_button'] = 'Назад'; -$l['mng_save_button'] = 'Зберегти'; -$l['mng_delete_confirm'] = 'Ви дійсно хочете видалити цю IPv6-адресу?'; -$l['mng_ipv6_invalid'] = 'Виникла невідома помилка з адресою IPv6'; -$l['mng_ipv6_address'] = 'Адреса IPv6'; -$l['mng_ipv6_delete'] = 'Видалити'; -$l['mng_ipv6_subnet'] = 'Підмережі IPv6'; -$l['mng_edit_subnet'] = 'Змінити'; -$l['mng_no_vps'] = VM_SHORT.' не знайдено'; -$l['mng_inv_ipaddress'] = 'Вказана IP-адреса не належить Вам'; - -// managezone lang string - prefix : mz_ -$l['mz_page_head'] = 'Керування зоною'; -$l['mz_zone_conf_del'] = 'Ви дійсно хочете видалити сервер PDNS?'; -$l['mz_add_pdns'] = 'Додати сервер PDNS'; -$l['mz_dns_mgmt'] = 'DNS Management'; -$l['mz_zone_add_done'] = 'Зону успішно додано'; -$l['mz_add_zone'] = 'Додати запис зони'; -$l['mz_zone_name'] = 'Назва зони'; -$l['mz_pdns_zones'] = 'Перегляд зон'; -$l['mz_manage_zone'] = 'Керування'; -$l['mz_conf_del'] = 'Ви дійно хочете видалити цей запис?'; -$l['mz_add_done'] = 'Запис було успішно додано'; -$l['mz_edit_done'] = 'Запис успішно відредаговано'; -$l['mz_del_done'] = 'Запис успішно видалено'; -$l['mz_priority'] = 'Черговість'; -$l['mz_ttl'] = 'TTL'; -$l['mz_content'] = 'Content'; -$l['mz_type'] = 'Тип'; -$l['mz_host'] = 'Хост'; -$l['mz_points_to'] = 'Вказує на'; -$l['mz_txt_value'] = 'Значення TXT'; -$l['mz_pdns_name'] = 'Ім’я сервера'; -$l['mz_submit_button'] = 'Додати запис'; -$l['mz_edit_button'] = 'Змінити запис'; -$l['mz_no_domains'] = 'В запису відсутні зони'; -$l['mz_err_addzone'] = 'Виникла помилка додання зони'; -$l['mz_inv_name'] = 'Вказано невірне ім’я хоста'; -$l['mz_inv_ip'] = 'Вказана невірна IP-адреса'; -$l['mz_inv_tld'] = 'Недопустимий домен верхнього рівня'; -$l['mz_inv_ipv6'] = 'Вказана невірна IPv6'; -$l['mz_inv_int'] = 'Недопустиме ціле число'; -$l['mz_err_add'] = 'Виникла помилка додання запису'; -$l['mz_err_del'] = 'Виникла помилка видалення запису'; -$l['mz_err_edit'] = 'Виникла помилка зміни запису'; -$l['mz_err_soa'] = 'Виникла помилка оновлення SOA-серверу'; -$l['mz_rec_exists'] = 'Запис вже існує'; -$l['mz_records_limit'] = 'Додано максимально допустиму кількість записів'; -$l['mz_err_connect'] = 'Під час з’єднання з сервером імен виникла помилка'; -$l['mz_zone_restricted'] = 'Зона, яку Ви намагаєтесь редагувати, недоступна для редагування'; -$l['mz_no_records'] = 'No records present'; -$l['no_record_type'] = 'The record type must be specified.'; -$l['no_content'] = 'The content must be specified.'; -$l['no_ttl'] = 'The ttl must be specified.'; -$l['no_priority'] = 'The Priority must be specified.'; -$l['inv_domainid'] = 'Invalid Domain ID'; - -// pdns lang string - prefix : pdns_ -$l['pdns_conf_del'] = 'Ви дійсно хочете видалити цей домен?'; -$l['pdns_page_head'] = 'Керування DNS'; -$l['pdns_add_done'] = 'Зону успішно додано'; -$l['pdns_delete_done'] = 'Зону видалено успішно'; -$l['pdns_add_zone'] = 'Додати зону'; -$l['pdns_zone_name'] = 'Ім’я зони'; -$l['pdns_manage_zone'] = 'Керування'; -$l['pdns_no_domains'] = 'Записи в зоні відсутні'; -$l['pdns_no_name'] = 'Ім’я домена не вказано'; -$l['pdns_err_addzone'] = 'Виникла помилка додання зони'; -$l['pdns_err_delete'] = 'Не вдалося видалити зону'; -$l['pdns_inv_domain'] = 'Вказане доменне ім’я недійсне.'; -$l['pdns_limit_domains'] = 'Досягнута максимальна кількість доменів, які можна додати.'; -$l['pdns_domain_exists'] = 'Доменне ім’я вже існує'; -$l['pdns_err_connect'] = 'Виникла помилка підключення до серверу'; -$l['pdns_no_dns'] = 'Керування DNS недоступне'; -$l['pdns_invalid_zone'] = 'Недопустима зона DNS, яку Ви намагаєтесь видалити.'; -$l['pdns_primary_nameserver'] = 'Первинний Nameserver'; -$l['pdns_hostmaster_email'] = 'Адреса електронної пошти домена'; -$l['pdns_inv_email'] = 'Недопустима адреса електронної пошти домена.'; -$l['pdns_inv_ns'] = 'Вказаний недопустимий первинний Nameserver'; - -// rdns lang string - prefix : rdns_ -$l['rdns_page_head'] = 'Додати зворотний DNS'; -$l['rdns_zone_name'] = 'Назва зони'; -$l['rdns_exp_zone_name'] = 'Назва зони'; -$l['rdns_ns'] = 'Сервер імен'; -$l['rdns_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; -$l['rdns_pdns_server'] = 'Обрати сервер'; -$l['rdns_exp_pdns_server'] = 'DNS-сервер, щоб додати запис в'; -$l['rdns_sub_but'] = 'Надіслати'; -$l['rdns_rdns_ip'] = 'IP адреса'; -$l['rdns_exp_rdns_ip'] = 'Введіть IP-адресу віртуальної машини'; -$l['rdns_rdns_domain'] = 'Доменне ім’я'; -$l['rdns_exp_rdns_domain'] = 'Введіть повне доменне ім’я'; -$l['rdns_no_rnds_ip'] = 'Введіть IP-адресу'; -$l['rdns_no_rdns_domain'] = 'Введіть ім’я домена'; -$l['rdns_no_pdnsid'] = 'Недопустимий id'; -$l['rdns_err_zone'] = 'Запис зони RDNS не знайдена. Зверніться до адміністратора'; -$l['rdns_is_rdns'] = 'Зворотний запис DNS вже існує'; -$l['rdns_no_dns'] = 'Адміністратора DNS не було налаштовано DNS-сервером. Зв’яжіться з адміністратором.'; -$l['rdns_no_zone_name'] = 'Ім’я доменної зони не вказано'; -$l['rdns_no_ns'] = 'Необхідно вказати щонайменше два імені'; -$l['rdns_no_hostmasteremail'] = 'Не вказаний email hostmaster'; -$l['rdns_inv_revzone'] = 'Зона зворотного DNS вказана невірно.'; -$l['rdns_inv_ns'] = 'Недопустимі TLD сервера імен'; -$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; -$l['rdns_err_connect'] = 'Не вдалося встановити з’єднання з сервером. Перевірте, чи сервер доступний в мережі'; -$l['rdns_err_save'] = 'Виникла помилка збереження даних'; -$l['rdns_done'] = 'Зону зворотного DNS було успішно додано'; -$l['rdns_zone_exists'] = 'Ця зона вже існує'; -$l['rdns_inv_ipaddress'] = 'Введено невірну IP-адресу'; -$l['rdns_rdns_existing'] = 'Записи rDNS'; -$l['rdns_deleted'] = 'Запис rDNS було видалено'; -$l['rdns_id'] = 'ID'; -$l['rdns_ip'] = 'IP'; -$l['rdns_name'] = 'Ім’я'; -$l['rdns_domain'] = 'Домен'; -$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; - -// edituser lang string - prefix : edu_ -$l['edu_no_user_email'] = 'Ви не вказали ідентифікатор електронної пошти'; -$l['edu_no_user_password'] = 'Ви не вказали пароль'; -$l['edu_invalid_email'] = 'Недійсний ідентифікатор електронної пошти'; -$l['edu_uid_not_found'] = 'id користувача не знайдено'; -$l['edu_useradd_error'] = 'Виникла помилка редагування користувача'; -$l['edu_page_head'] = 'Редагувати користувача'; -$l['edu_done'] = 'Користувача відредаговано'; -$l['edu_user_email'] = 'Email'; -$l['edu_user_password'] = 'Пароль'; - -// rescue lang string - prefix : resc_ -$l['resc_err_rescue_enable'] = 'Під час включення безпечного режиму виникли помилки'; -$l['resc_err_rescue_disable'] = 'Під час відключення безпечного режиму виникли помилки'; -$l['resc_err_downloading'] = 'Виникла помилка завантаження шаблону безпечного режиму'; -$l['resc_err_delete_disk'] = 'Під час видалення аварійного диску виникла помилка'; -$l['resc_cant_rescue'] = 'Безпечний режим не дозволен під час використання ISO. Спочатку видаліть ISO'; -$l['resc_heading'] = 'Безпечний режим'; -$l['resc_rescue_exp'] = 'Безпечний режим надає можливість завантажувати невелике середовище Linux з іншого диска, щоб Ви могли зберегти основний '.VM_SHORT.'-файл Linux чи файли резервних копій, що існують на ньому'; -$l['resc_enable_rescue'] = 'Включити безпечний режим'; -$l['resc_rescue_enabled'] = 'Безпечний режим включено'; -$l['resc_disable_rescue'] = 'Вимкнути безпечний режим'; -$l['resc_rescue_disabled'] = 'Безпечний режим вимкнено'; -$l['resc_resuce_enable_success'] = 'Процес включення безпечного режиму запущено в фоні '; -$l['resc_resuce_disable_success'] = 'Процес вимкнення безпечного режиму запущено в фоні'; -$l['resc_rescue_enable_notify'] = 'Безпечний режим включається...'; -$l['resc_rescue_disable_notify'] = 'Безпечний режим вимикається...'; -$l['resc_root_pass'] = 'Root пароль'; -$l['resc_root_pass_conf'] = 'Підтвердіть Пароль'; -$l['resc_disable_rescue_err'] = 'Безпечний режим відключено адміністратором'; -$l['resc_passwords_do_not_match'] = 'Вказані паролі підтвердження не співпадають'; - -// usersettings lang string - prefix : us_ -$l['us_no_lang'] = 'Мову не обрано'; -$l['us_wrong_lang'] = 'Обрана мова не існує.'; -$l['us_no_timezone'] = 'Ви не обрали часовий пояс'; -$l['us_timezone_invalid'] = 'Обраний часовий пояс недійсний'; -$l['us_wrong_theme'] = 'Обрана тема не існує'; -$l['us_page_head'] = 'Налаштування користувача '; -$l['us_change_final'] = 'Ваші налаштування успішно збережено'; -$l['us_choose_lang'] = 'Оберіть мову'; -$l['us_exp_lang'] = 'Оберіть бажану мову'; -$l['us_timezone'] = 'Часовий пояс'; -$l['us_default_timezone'] = 'Сервер за замовчуванням'; -$l['us_edit_settings'] = 'Змінити налаштування'; -$l['us_done'] = 'Ваші налаштування було успішно збережено'; -$l['us_choose_theme'] = 'Оберіть тему'; -$l['us_exp_theme'] = 'Оберіть бажану тему'; -$l['us_no_theme'] = 'Тему не обрано'; -$l['us_logo'] = 'Logo URL'; -$l['us_mob_logo'] = 'Mobile Logo URL'; -$l['us_login_logo'] = 'Login Logo URL'; -$l['us_logo_exp'] = 'Якщо нічого не обрано, буде відображатися порожній логотип за замовчуванням'; -$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; -$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; -$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; -$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; -$l['us_dom_name'] = 'User domain name'; -$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; -$l['us_favicon_url'] = 'User Favicon URL'; -$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; -$l['us_dom_invalid'] = 'Please enter a valid User domain name'; -$l['us_no_url'] = 'You did not enter a User URL'; -$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; -$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; -$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; - -//--------------START OF HAProxy Lang------------ -// ManageVDF (haproxy) lang string - prefix : vdf_ -$l['vdf_heading'] = 'Domain Переадресація'; -$l['vdf_serid'] = 'Сервер'; -$l['vdf_vpsid'] = VM_SHORT; -$l['vdf_proto'] = 'Протокол'; -$l['vdf_src_hname'] = 'Джерело Domain/IP'; -$l['vdf_src_dom'] = 'Джерело Domain'; -$l['vdf_src_ip'] = 'Джерело IP'; -$l['vdf_src_port'] = 'Джерело Port'; -$l['vdf_dest_ip'] = 'Місце призначення IP'; -$l['vdf_dest_port'] = 'Місце призначення Port'; - -$l['vdf_add_title'] = 'Нова переадресація домену'; -$l['vdf_sel_proto'] = 'Виберіть Protocol'; -$l['vdf_select_ip'] = 'Виберіть IP'; - -$l['vdf_no_act_sel'] = 'Ніяких дій не вибрано, виберіть та повторіть спробу'; -$l['vdf_success_add'] = 'Успішно додано'; -$l['vdf_success_update'] = 'Дані успішно оновлено'; -$l['vdf_success_save'] = 'Збережені зміни'; -$l['vdf_no_server_found'] = 'Сервер не знайдено'; -$l['vdf_conf_del_entries'] = 'Видалити вибрані записи ?'; -$l['vdf_success_del_entries'] = 'Видалено записи успішно'; -$l['vdf_ser_not_found'] = 'Запитаний сервер не знайдено'; -$l['vps_not_found_on_server'] = 'Запитаний VM_SHORT ({{vpsid}}) не знайдено на вибраному сервері ({{server}})'; -$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) не підтримується'; -$l['vdf_no_id_found'] = 'VDF ID ({{id}}) не знайдено'; -$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) не знайдено'; -$l['vdf_inv_ipaddress'] = 'Вказаний IP не належить вам'; -$l['vdf_no_vps'] = 'Не знайдено '.VM_SHORT; - -$l['vdf_empty_allowed_src_ips'] = 'Список дозволених джерел IP-адреси порожній, адміністратор повинен встановити цей список IP перед використанням цієї функції'; -$l['vdf_inv_src_port'] = 'Вихідний порт ({{src_port}}) не є дійсним номером порта'; -$l['vdf_in_use_src_port'] = 'Вихідний порт ({{src_port}}) вже використовується'; -$l['vdf_inv_src_hostname'] = 'Вибраний вихідний домен ({{src_hostname}}) не є дійсним доменним ім’ям'; -$l['vdf_inv_src_ip'] = 'Вихідний IP ({{src_ip}}) не є дійсним IP'; -$l['vdf_not_available_src_ip'] = 'Вибраний вихідни IP ({{$src_ip}}) не є дійсним для '.VM_SHORT.' domain переадресації'; -$l['vdf_port_not_supported_tcp'] = 'Вихідний порт ({{src_port}}) не підтримується для вибраного протоколу TCP, він підтримується лише для протоколів: HTTP і HTTPS'; - -$l['vdf_inv_dest_port'] = 'Порт призначення ({{dest_port}}) не є дійсним номером порта'; -$l['vdf_inv_dest_ip'] = 'IP призначення ({{dest_ip}}) не є дійсною IP-адресою або не присвоєно цьому '.VM_SHORT; - -$l['vdf_note_point_domain'] = 'Note: Для роботи переадресації домену, ця vps\'s domain ім’я ({{src_hostname}}) має вказувати на один з цих IPs:'."\n".'{{ips_list}}'; -$l['vdf_err_exist_src_hostname_and_port'] = 'Запис вже існує для домену джерела ({{src_hostname}}) та вихідного порту ({{src_port}})'; - -$l['vdf_db_query_error'] = 'Сталася помилка під час виконання запиту бази даних, не вдалося обробити запит'; -$l['vdf_err_unknown'] = 'Під час обробки запиту сталася невідома помилка'; - -$l['vdf_err_haproxy_port_empty'] = 'Порт джерела порожній'; -$l['vdf_err_haproxy_port_used'] = 'Порт джерела {{src_port}} використовується'; -$l['vdf_in_haproxy_reservedports'] = 'Порт джерела {{src_port}} знаходиться в зарезервованому списку портів'; -$l['vdf_in_haproxy_reservedports_http'] = 'Порт джерела {{src_port}} знаходиться в зарезервованому списку портів, дозволений тільки для протоколу HTTP або HTTPS'; -$l['vdf_notin_haproxy_allowedports'] = 'Порт джерела {{src_port}} не в списку дозволених портів'; - -//VDF Information div lang -$l['vdf_info'] = 'Інформація'; -$l['vdf_info_server'] = 'Сервер'; -$l['vdf_info_reservedports'] = 'Зарезервовані порти'; -$l['vdf_info_allowedports'] = 'Додані порти'; -$l['vdf_info_reservedports_http'] = 'Зарезервовані порти тільки для HTTP/HTTPS'; - -//VDF Admin and '.VM_SHORT.' Log -$l['vdf_domain_forwarding'] = 'Domain Переадресація'; -$l['vdf_source'] = 'Джерело'; -$l['vdf_destination'] = 'Місце призначення'; -$l['vdf_added'] = 'Додано'; -$l['vdf_updated'] = 'Оновлено'; -$l['vdf_removed'] = 'Видалено'; -$l['vdf_removed_multiple'] = 'Видалено масово'; - -// toolt tips for domain forwarding -$l['vdf_tooltip_edit'] = 'Редагувати цей запис'; -$l['vdf_tooltip_save'] = 'Зберегти зміни, внесені в цей запис'; -$l['vdf_tooltip_revert'] = 'Повернути зміни, внесені до цієї запису'; -$l['vdf_tooltip_delete'] = 'Видалити цей запис'; - -$l['vdf_skipped_msg'] = 'Цей запис був пропущений'; -$l['vdf_skipped_haproxy_reservedports'] = 'Порт джерела знаходиться в списку заблокованих портів'; -$l['vdf_skipped_haproxy_reservedports_http'] = 'Порт джерела знаходиться в списку портів, зарезервований лише для HTTP і HTTPS'; -$l['vdf_skipped_haproxy_allowedports'] = 'Порт джерела не знаходиться в списку дозволених портів'; - -//--------------END OF HAProxy Lang------------ - -// create lang string - prefix : li_ -$l['li_no_type'] = 'Вкажіть тип віртуалізації'; -$l['li_num_vs_over'] = 'Ви вже створили максимальну кількість дозволених віртуальних машин'; -$l['li_no_hname'] = 'Вкажіть ім’я хоста'; -$l['li_no_os'] = 'Оберіть ОС для '.VM_SHORT; -$l['li_no_rootpass'] = 'Вкажіть пароль root'; -$l['li_no_disk_space'] = 'Вкажіть розмір дискового простору'; -$l['li_no_ram'] = 'Вкажіть об’єм оперативної пам’яті'; -$l['li_no_vncpass'] = 'Вкажіть пароль VNC'; -$l['li_no_bandwidth'] = 'Вкажіть швидкість канала'; -$l['li_no_cpu_units'] = 'Вкажіть частоту процесора'; -$l['li_no_cpu_cores'] = 'Вкажіть кількість ядер'; -$l['li_cores_max'] = 'Cores Max'; -$l['li_invalid_sg'] = 'Обраний регіон недійсний'; -$l['li_invalid_virt'] = 'Обраний регіон не підтримує обрану віртуалізацію'; -$l['li_no_percent_cpu'] = 'Вкажіть використання CPU у відсотках'; -$l['li_no_swap_ram'] = 'Вкажіть ОЗУ SWAP'; -$l['li_no_burst_ram'] = 'Вкажіть максимальний ліміт RAM'; -$l['li_invalid_os'] = 'Обрана Вами ОС недійсна'; -$l['li_no_ip'] = 'Вкажіть, принаймні, одну IP-адресу для '.VM_SHORT; -$l['li_invalid_uid'] = 'Обраний користувач не існує'; -$l['li_no_user'] = 'Адреса електронної пошти користувача не вказана'; -$l['li_no_user_pass'] = 'Пароль користувача не вказано'; -$l['li_invalid_email'] = 'Недопустима адреса електронної пошти користувача.'; -$l['li_emailexist'] = 'Вказана адреса електронної пошти вже існує'; -$l['li_err_user'] = 'Виникла помилка додання користувача'; -$l['li_invalid_hostname'] = 'Вказане ім’я хоста недісйне'; -$l['li_less_ram'] = 'У Вас недостатньо прав для створення '.VM_SHORT; -$l['li_less_burst'] = 'У Вас недостатньо Burst Ram для створення цього '.VM_SHORT; -$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; -$l['li_less_space'] = 'У Вас недостатньо дискового простору для створення цього '.VM_SHORT; -$l['li_less_inodes'] = 'Інодів має бути не менш ніж 50000'; -$l['li_less_vs'] = 'Вам не дозволено створювати більше віртуальних машин'; -$l['li_less_bandwidth'] = 'У Вас недостатньо канала підключення для створення цього '.VM_SHORT; -$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; -$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; -$l['li_less_ipv4'] = 'У Вас недостатньо IPv4-адрес для створення цього '.VM_SHORT; -$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; -$l['li_less_ipv6'] = 'У Вас недостатньо IPv6-адрес для створення цього '.VM_SHORT; -$l['li_less_ipv6_subnet'] = 'У Вас недостатньо IPv6-підмереж для створення цього '.VM_SHORT; -$l['li_max_cores_exceeded'] = 'Вам не дозволено створювати віртуальну машину з такою кількістю ядер'; -$l['li_less_cores'] = 'У Вас недостатньо процесорних ядер для створення цього '.VM_SHORT; -$l['li_invalid_cores'] = 'Invalid Core value'; -$l['li_no_user_resource'] = 'Ви досягли максимальної кількості Користувачів, що можуть створювати'; -$l['li_no_server'] = 'Обраний регіон повністю використовується та не має достатніх ресурсів для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['li_ipv4_over'] = 'Обраний регіон не має достатньої кількості адрес IPv4 для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['li_ipv6_over'] = 'Обраний регіон не має достатньої кількості адрес IPv6 для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['li_ipv6_subnet_over'] = 'Обраний регіон не має достатньої кількості IPv6 Subnet для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['li_no_webuzo_template'] = 'Обраний шаблон ОС не є шаблоном Webuzo'; -$l['li_err_swapsize'] = 'Вказаний розмір SWAP не може бути більшим чи дорівнювати вказаному загальному об’єму диска'; -$l['li_inv_kvm_cache'] = 'Недопустимий Disk Cache диску'; -$l['li_inv_io_mode'] = 'Представлена політика вводу-виводу недійсна.'; -$l['li_inv_vnc_keymap'] = 'Представлена мапа клавіатури VNC недійсна.'; -$l['li_err_vpslimit'] = 'Перевищено ліміт створення '.VM_SHORT; -$l['li_page_head'] = 'Запуск прикладу'; -$l['li_vstype'] = 'Тип'; -$l['li_done'] = 'Віртуальний сервер було створено'; -$l['li_newvs_vpsid'] = VM_SHORT.' ID'; -$l['li_newvs_vps_name'] = VM_SHORT.' Ім’я'; -$l['li_newvs_rootpass'] = 'Root пароль'; -$l['li_newvs_vnc'] = 'VNC Деталі'; -$l['li_newvs_vncpass'] = 'VNC пароль'; -$l['li_newvs_ips'] = 'IP-адреса'; -$l['li_newvs_ips6'] = 'IPv6'; -$l['li_vs_server'] = 'Сервер'; -$l['li_exp_server'] = 'Змінити сервер для '.VM_SHORT; -$l['li_vs_ser_id'] = 'ID'; -$l['li_vs_user'] = 'Користувач'; -$l['li_vs_user_exp'] = 'Оберіть існуючого користувача або додайте колристувача'; -$l['li_user_email'] = 'Email користувача'; -$l['li_user_pass'] = 'Пароль'; -$l['li_add_user'] = 'Додати користувача'; -$l['li_regions'] = 'Region'; -$l['li_virt_type'] = 'Платформа віртуалізації'; -$l['li_os'] = 'Операційна система'; -$l['li_select'] = 'Обрати'; -$l['li_vs_plan'] = 'Обрати тариф'; -$l['li_plan_exp'] = 'Оберіть необхідний тарифний план'; -$l['li_hvm'] = 'Xen HVM'; -$l['li_hvm_exp'] = 'Ви хочете включити повну віртуалізацію для цього '.VM_SHORT.'?'; -$l['li_vsos'] = 'Операційна система'; -$l['li_vsos_exp'] = 'Оберіть операційну систему для '.VM_SHORT; -$l['li_vsiso'] = 'ISO'; -$l['li_vsiso_exp'] = 'Якщо обраний ISO, машина буде завантажена з цього ISO'; -$l['li_sec_vsiso'] = 'ISO для вторинного CDROM '; -$l['li_sec_vsiso_exp'] = 'Оберіть ISO для вторинного CDROM'; -$l['li_none'] = 'Ні'; -$l['li_rootpass'] = VM_SHORT.' Root пароль'; -$l['li_rootpass_exp'] = 'Пароль користувача / адміністратора '.VM_SHORT; -$l['li_randpass'] = 'Згенерувати випадковий пароль'; -$l['li_hostname'] = 'Ім’я хоста'; -$l['li_hostname_exp'] = 'Введіть ім’я хоста для '.VM_SHORT.'. Наприклад, www.domain.com'; -$l['li_ip'] = 'IP адреса'; -$l['li_ips'] = 'IP адреса'; -$l['li_ips_exp'] = 'Ви можете вказати кількість IP-адрес для призначення'; -$l['li_ips6_subnet'] = 'Підмережа IPv6'; -$l['li_ips6_subnet_exp'] = 'Ви можете вказати кількість підмереж IPv6 для призначення'; -$l['li_ips6'] = 'IPv6 адреса'; -$l['li_ips6_exp'] = 'Ви можете вказати кількість IPv6 для призначення'; -$l['li_ips_int'] = 'Internal IP Addresses'; -$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; -$l['li_add_ip'] = '+'; -$l['li_remove_ip'] = '-'; -$l['li_add_to_ips'] = '<<'; -$l['li_rem_from_ips'] = 'Видалити цю IP-адресу'; -$l['li_add_dns'] = '+'; -$l['li_hdd'] = 'Дисковий простір'; -$l['li_exp_hdd'] = 'Допустимий дисковий простір для '.VM_SHORT; -$l['li_mac'] = 'MAC-адреса'; -$l['li_exp_mac'] = 'Шість груп з двох шістнадцятирічних цифр, розділених двокрапкою (:), наприклад, 01: 23: 45: 67: 89: ab'; -$l['li_space_gb'] = 'GB'; -$l['li_inodes'] = 'Inodes'; -$l['li_iondisk'] = 'Максимальна кількість Inodes (тобто файлів) дозволено в '.VM_SHORT.'. Рекомендоване значення: 500000+'; -$l['li_gram'] = 'Гарантована RAM'; -$l['li_exp_gram'] = 'Об’єм оперативної пам’яті, яка буде завжди виділена для '.VM_SHORT; -$l['li_ram_mb'] = 'MB'; -$l['li_bram'] = 'Burstable RAM'; -$l['li_exp_bram'] = 'Максимальний об’єм оперативної пам’яті, що може використовувати '.VM_SHORT; -$l['li_swap'] = 'Swap RAM'; -$l['li_exp_swap'] = ''; -$l['li_exp_swap_hvm'] = 'Буде здійснена спроба створити розділ SWAP, якщо буде обрано шаблон ОС'; -$l['li_band'] = 'Трафік'; -$l['li_exp_band'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; -$l['li_band_gb'] = 'GB'; -$l['li_cpunit'] = 'Частота CPU'; -$l['li_cpalloc'] = 'Виділена частота CPU'; -$l['li_cpalloc_xen'] = 'Рекомендоване значення : 256'; -$l['li_cpalloc_openvz'] = 'Рекомендоване значення : 1000'; -$l['li_cpalloc_kvm'] = 'Рекомендоване значення : 1024'; -$l['li_units'] = 'Одиниць'; -$l['li_cores'] = 'CPU ядер'; -$l['li_cpucore_exp'] = 'Рекомендоване значення :'; -$l['li_percent'] = 'CPU %'; -$l['li_cpuperutil'] = 'CPU у відсотках, що відповідає '.VM_SHORT.', не може перевищувати.
Встановіть 0 необмежений. Рекомендоване значення: 40'; -$l['li_io'] = 'I/O пріоритет'; -$l['li_io0-7'] = 'Оберіть пріоритет з 0-7'; -$l['li_na'] = 'Швидкість мережі'; -$l['li_na_exp'] = 'Вкажіть швидкість мережі'; -$l['li_ubcsettings'] = 'Налаштування UBC'; -$l['li_exp_ubc'] = 'Якщо позначку встановлено, Ви будете перенаправлені для редагування налаштувань UBC '.VM_SHORT; -$l['li_submit'] = 'Створити'; -$l['li_addvoption'] = 'Розширені опції'; -$l['li_addvhide'] = 'Повернутися до стандартних опцій'; -$l['li_network_speed'] = 'Швидкічть мережі'; -$l['li_network_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.'; -$l['li_upload_speed'] = 'Швидкість завантаження'; -$l['li_upload_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.'; -$l['li_net_kb'] = 'KB/s'; -$l['li_no_limit'] = 'Необмежено'; -$l['li_shadow'] = 'Shadow Memory'; -$l['li_shadow_exp'] = 'Рекомендоване значення : 8 MB'; -$l['li_vncpass'] = 'VNC пароль'; -$l['li_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Натисніть на значок для генерації випадкового пароля.'; -$l['li_free'] = 'Free'; -$l['li_band_suspend'] = 'Bandwidth призупинено'; -$l['li_exp_band_suspend'] = 'Призупинити '.VM_SHORT.', якщо він перевищує вказаний ліміт трафіка'; -$l['li_tuntap'] = 'Tun/Tap'; -$l['li_ppp'] = 'PPP'; -$l['li_exp_tuntap'] = 'Включити Tun / Tap для '.VM_SHORT; -$l['li_exp_ppp'] = 'Включити PPP (протокол Point to Point) для '.VM_SHORT; -$l['li_osreinstall'] = 'Обмеження кількості перевстановлень ОС'; -$l['li_exp_osreinstall'] = 'Якщо Ви хочете обмежити кількість перевстановлень ОС в місяць.
Наприклад, 0 - необмежено "'; -$l['li_changenic'] = 'Тип віртуального мережевого інтерфейса'; -$l['li_exp_changenic'] = 'Якщо Ви хочете змінити тип мережевого інтерфейсу. Параметри - за замовчуванням або E1000. virtio буде використовуватися як тип віртуального nic, якщо включений virtio '; -$l['li_add_route'] = 'Використовувати маршрутизовану мережу'; -$l['li_exp_add_route'] = 'Якщо позначку встановлено, буде використовуватися маршрутизація.'; -$l['li_nic_default'] = 'Realtek 8139 (за замовчуванням)'; -$l['li_nic_e1000'] = 'Intel E1000'; -$l['li_change_vif_type'] = 'Тип емуляції віртуального мережевого інтерфейсу'; -$l['li_exp_change_vif_type'] = 'Якщо Ви хочете змінити тип емуляції мережевого інтерфейсу. Параметри netfront або ioemu .'; -$l['li_viftype_ioemu'] = 'ioemu'; -$l['li_viftype_netfront'] = 'Netfront (за замовчуванням)'; -$l['li_usevirtio'] = 'Включити virtio'; -$l['li_exp_usevirtio'] = 'Використовуйте virtio в якості віртуалізації IO'; -$l['li_usesec_cdrom'] = 'Включити вторинний CD-ROM'; -$l['li_exp_usesec_cdrom'] = 'Включіть, щоб підключити вторинний ISO до віртуальної машини.'; -$l['li_kvm_cache'] = 'Disk Caching'; -$l['li_exp_kvm_cache'] = 'Керує кешуванням'; -$l['li_io_mode'] = 'Політика I/O'; -$l['li_vnc_keymap'] = 'Клавіатура консолі VNC'; -$l['li_dns'] = 'DNS-сервери імен'; -$l['li_exp_dns'] = 'Якщо не знаєте, використовуйте 4.2.2.1 и 4.2.2.2'; -$l['li_mg'] = 'Media Groups'; -$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; -$l['li_apps'] = 'Додатки'; -$l['li_apps_exp'] = 'Оберіть додаток Webuzo, яке необхідно встановити.'; -$l['li_ploop'] = 'Ploop'; -$l['li_ploop_exp'] = 'Якщо включено, '.VM_SHORT.' буде створено з форматом Ploop'; -$l['li_mac_temp_vncdetails'] = 'MAC-адреса :'; -$l['li_mail_temp_vnctitle'] = 'Деталі VNC : '; -$l['li_mail_temp_vncdetails'] = 'Деталі VNC :'; -$l['li_mail_temp_vncpasswd'] = 'Пароль VNC :'; -$l['li_reinstall'] = 'Перевстановити '.VM_SHORT; -$l['li_space'] = 'Дисковий простір'; -$l['li_space_exp'] = 'Допустимий дисковий простір для '.VM_SHORT; -$l['li_ram'] = 'Гарантована RAM'; -$l['li_ram_exp'] = 'Об’єм оперативної пам’яті, що буде завжди виділений '.VM_SHORT; -$l['li_burst'] = 'Burstable RAM'; -$l['li_burst_exp'] = 'Максимальний об’єм оперативної пам’яті '.VM_SHORT; -$l['li_swap'] = 'Swap RAM'; -$l['li_swap_exp'] = 'Swap RAM'; -$l['li_swap_hvm'] = 'Буде здійснена спроба створити розділ SWAP, якщо буде обрано шаблон ОС'; -$l['li_bandwidth'] = 'Bandwidth'; -$l['li_bandwidth_exp'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; -$l['li_free'] = 'Free'; -$l['li_unlimited'] = 'Необмежений'; -$l['li_submit'] = 'Створити'; -$l['li_weak_pass'] = 'Пароль має містити мінімум 3 наступних символи: прописна літера, строчна літера, номер або спеціальний символ'; -$l['li_usevirtio'] = 'Включити virtio'; -$l['li_usevirtio_exp'] = 'Використовувати virtio як віртуалізацію I/O '; -$l['li_plan_name'] = 'Plan Name'; -$l['li_plan_details'] = 'Plan Details'; -$l['li_new_vps_info'] = 'New '.VM_SHORT; -$l['li_back'] = 'Back'; -$l['li_continue'] = 'Continue'; -$l['li_nic'] = 'Virtual Network Interface Type'; -$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; -$l['li_vif'] = 'Virtual Network Interface Emulation type'; -$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; -$l['li_enable_cpu_topology'] = 'CPU Topology'; -$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['li_sockets'] = 'CPU Sockets'; -$l['li_threads'] = 'CPU Threads'; -$l['li_month'] = 'Month'; -$l['li_hour'] = 'Hour'; -$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; -$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; -$l['li_install_app'] = 'Install Application'; -$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; -$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; - -$l['li_cpu_mode'] = 'CPU Mode'; -$l['li_cpu_mode_exp'] = 'CPU mode'; -$l['li_disable_ebtables'] = 'Disable ebtables'; -$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; -$l['li_rdp'] = 'Enable RDP'; -$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; - -// editvm lang string - prefix : ei_ -$l['ei_page_head'] = 'Edit '.VM_SHORT; -$l['ei_vs_user'] = 'Користувач'; -$l['ei_vs_user_exp'] = 'Оберіть існуючого користувача або додайте користувача'; -$l['ei_user_email'] = 'User Email'; -$l['ei_user_pass'] = 'Пароль'; -$l['ei_add_user'] = 'Додати користувача'; -$l['ei_unknown'] = 'Unknown'; -$l['ei_vsos'] = 'Операційна система'; -$l['ei_vsos_exp'] = 'Поточна операційна система '.VM_SHORT; -$l['ei_vsiso'] = 'ISO'; -$l['ei_vsiso_exp'] = 'Якщо обраний ISO, машина буде завантажена з цього ISO'; -$l['ei_none'] = 'Ні'; -$l['ei_hostname'] = 'Ім’я хоста'; -$l['ei_hostname_exp'] = 'Введіть ім’я хоста для '.VM_SHORT.'. Наприклад, www.domain.com'; -$l['ei_rootpass'] = 'Пароль користувача '.VM_SHORT; -$l['ei_rootpass_exp'] = 'Залиште порожнім, якщо не хочете змінювати поточний пароль'; -$l['ei_randpass'] = 'Згенерувати пароль'; -$l['ei_ip'] = 'IP адреса'; -$l['ei_ips_exp'] = 'Ви можете обрати з пула IP, чи вказати інші IP-адреси'; -$l['ei_ips6_subnet'] = 'Підмережі IPv6'; -$l['ei_ips6_subnet_exp'] = 'Ви можете обрати з переліку підмережі IPv6'; -$l['ei_free'] = 'Free'; -$l['ei_ips6'] = 'Адреси IPv6'; -$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; -$l['ei_space'] = 'Дисковий простір'; -$l['ei_space_exp'] = 'Допустимий дисковий простір для '.VM_SHORT; -$l['ei_ram'] = 'Гарантирована RAM'; -$l['ei_ram_exp'] = 'Об’єм постійної оперативної пам’яті '.VM_SHORT.' '; -$l['ei_burst'] = 'Burstable RAM'; -$l['ei_burst_exp'] = 'Максимальний об’єм оперативної пам’яті '.VM_SHORT; -$l['ei_swap'] = 'Swap RAM'; -$l['ei_swap_exp'] = 'Swap RAM'; -$l['ei_bandwidth'] = 'Bandwidth'; -$l['ei_bandwidth_exp'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; -$l['ei_cores'] = 'кількість ядер CPU'; -$l['ei_cpucore_exp'] = 'Рекомендоване :'; -$l['ei_cores_max'] = 'Cores Max'; -$l['ei_unlimited'] = 'Необмежено'; -$l['ei_network_speed'] = 'Швидкість мережі'; -$l['ei_network_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.
Використовуйте поле вибору для зручності'; -$l['ei_upload_speed'] = 'Upload Speed'; -$l['ei_upload_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.
Використовуйте поле вибору для зручності'; -$l['ei_net_kb'] = 'KB/s'; -$l['ei_no_limit'] = 'Необмежений'; -$l['ei_vncpass'] = 'VNC пароль'; -$l['ei_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Натисніть на значок для генерації пароля.'; -$l['ei_submit'] = 'Редагувати Server'; -$l['ei_done'] = 'Віртуальний сервер було успішно відредаговано'; -$l['ei_addvoption'] = 'Розширені опції'; -$l['ei_no_uid'] = 'Користувача не обрано'; -$l['ei_no_nonalphanumeric'] = 'Для пароля VNC не допустимі символи, відмінні від літерно-цифрових символів'; -$l['ei_less_space'] = 'У Вас недостатньо дискового простору для створення цього '.VM_SHORT; -$l['ei_less_ram'] = 'У Вас недостатньо RAM для створення цього '.VM_SHORT; -$l['ei_max_cores_exceeded'] = 'Вам не дозволено створювати '.VM_SHORT.' з такою кількістю ядер'; -$l['ei_less_cores'] = 'У Вас недостатньо процесорних ядер для створення цього '.VM_SHORT; -$l['ei_less_burst'] = 'У Вас недостатньо Burst Ram для створення цього '.VM_SHORT; -$l['ei_ipv4_over'] = 'Обраний регіон не має достатньої кількості адрес IPv4 для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['ei_ipv6_over'] = 'Обраний регіон не має достатньої кількості ресурсів IPv6 для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['ei_ipv6_subnet_over'] = 'Обраний регіон не має достатньої кількості IPv6 Subnet (s) для створення цієї віртуальної машини. Повідомте про це адміністратора'; -$l['ei_less_ipv4'] = 'У Вас недостатньо IPv4-адрес для створення цього '.VM_SHORT; -$l['ei_less_ipv6'] = 'У Вас недостатньо IPv6-адрес для створення цього '.VM_SHORT; -$l['ei_less_ipv6_subnet'] = 'У Вас недостатньо IPv6-підмереж для створення цього '.VM_SHORT; -$l['ei_wrong_user'] = 'Ви не можете змінити цього користувача'; -$l['ei_only_user'] = 'В процесі редагування користувача віртуальної машини ресурси не може бути змінено'; -$l['ei_less_swap'] = 'У Вас недостатньо swap ram'; -$l['ei_usevirtio'] = 'Включити virtio'; -$l['ei_usevirtio_exp'] = 'Використовувати virtio як віртуалізацію I/O'; -$l['ei_less_bandwidth'] = 'У Вас недостатньо ресурса Bandwidth для призначення цьому '.VM_SHORT; -$l['ei_enable_cpu_topology'] = 'CPU Topology'; -$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; -$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; -$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; -$l['ei_sockets'] = 'CPU Sockets'; -$l['ei_threads'] = 'CPU Threads'; -$l['ei_in_plan'] = 'Included in Plan'; -$l['ei_add_pricing'] = 'Additional Pricing'; -$l['ei_plan'] = 'Current Plan'; -$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; -$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; - -// controlpanel lang string - prefix : cpan_ -$l['cpan_wrong_panel'] = 'Обрана панель недійсна'; -$l['cpan_err_installing'] = 'Виникла помилка встанволення панелі'; -$l['cpan_wrong_os'] = 'Панель керування не може бути встановлена на '; -$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; -$l['cpan_done'] = 'Встановлення панелі розпочато та невдовзі буде завершено'; -$l['cpan_change_onboot'] = 'Панель буде встановлено по закінченню робіт, потім запускається '.VM_SHORT; -$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; -$l['cpan_heading'] = 'Панель керування'; -$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; -$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; - -// backup2 lang string - prefix : bkup2_ -$l['bkup2_page_head'] = 'Backups'; -$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; -$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; -$l['bkup2_date'] = 'Backup Date'; -$l['bkup2_size'] = 'Size'; -$l['bkup2_action'] = 'Action'; -$l['bkup2_restore'] = 'Restore'; -$l['bkup2_delete'] = 'Delete Backup'; -$l['bkup2_now'] = 'Backup Now'; -$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; -$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; -$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; -$l['bkup2_list'] = 'Backups List'; -$l['bkup2_settings'] = 'Settings'; -$l['bkup2_backup_server'] = 'Backup Server'; -$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; -$l['bkup2_none'] = 'None'; -$l['bkup2_server'] = 'Server'; -$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; -$l['bkup2_no_date'] = 'Invalid backup date specified'; -$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; -$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; -$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; -$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; -$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; -$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; -$l['bkup2_err_backup'] = 'There was an error while creating the backup'; -$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; -$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; -$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; -$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; -$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; -$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; -$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; -$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; -$l['bkup2_current_cycle'] = 'Current Cycle:'; -$l['bkup2_unlimited'] = 'Unlimited'; - -// hvmsettings lang string - prefix : hvm_ -$l['hvm_virt_error'] = 'Ця віртуалізація не має налаштувань HVM'; -$l['hvm_rescue_enabled'] = VM_SHORT.' знаходиться в безпечному режимі й не може бути змінено'; -$l['hvm_invalid_iso'] = 'Обраний ISO недійсний'; -$l['hvm_err_editing'] = 'Виникла помилка збереження налаштувань'; -$l['hvm_heading'] = 'HVM налаштування'; -$l['hvm_submit_button'] = 'Надіслати'; -$l['hvm_done'] = 'Налаштування успішно збережені'; -$l['hvm_apic'] = 'APIC'; -$l['hvm_acpi'] = 'ACPI'; -$l['hvm_vnc'] = 'VNC'; -$l['hvm_boot_order'] = 'Порядок завантаження'; -$l['hvm_isos'] = 'Оберіть ISO'; -$l['hvm_none'] = 'Ні'; -$l['hvm_tuntap_enable'] = 'Включити Tun/Tap'; -$l['hvm_ppp_enable'] = 'Включити PPP( Point to Point Protocol)'; -$l['hvm_disabled'] = 'Налаштування HVM відкллючені адміністратором'; -$l['hvm_hdd'] = 'Жорсткий диск'; -$l['hvm_cdrom'] = 'CD-привід'; -$l['hvm_vnc_keymap'] = 'Клавіатура консолі VNC'; -$l['hvm_enable_vga'] = 'Включити VGA'; -$l['hvm_enable_acceleration'] = 'Включити прискорення'; -$l['hvm_enable_acceleration_exp'] = 'Якщо позначено, то для '.VM_SHORT.' буде активовано 2D та 3D прискорення'; -$l['hvm_sec_iso'] = 'ISO для вторинного CDROM '; -$l['hvm_sec_iso_exp'] = 'Оберіть ISO для вторинного CDROM'; -$l['hvm_nic_type'] = 'Тип віртуального мережевого інтерфейсу'; -$l['hvm_nic_type_exp'] = 'Якщо Ви хочете змінити тип мережевого інтерфейсу. Параметри - за замовчуванням або E1000. Virtio буде використовуватися як тип віртуального nic, якщо virtio включений'; -$l['nic_default'] = 'Realtek 8139 (за замовчуванням)'; -$l['nic_e1000'] = 'Intel E1000'; -$l['nic_ne2k_pci'] = 'Novell NE2000'; -$l['nic_i82559er'] = 'Intel i82559er'; -$l['nic_pcnet'] = 'AMD PCNET'; -$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; -$l['nic_virtio'] = 'Virtio'; -$l['nic_vmxnet3'] = 'VMware vmxnet3'; -$l['hvm_enable_virtio'] = 'Включити Virtio'; -$l['hvm_fuse'] = 'Увімкнути Fuse у контейнері(ах)'; -$l['hvm_fuse_exp'] = 'Якщо позначено, Fuse буде активовано під час створення нового контейнера(ів).'; -$l['hvm_ipip'] = 'Увімкнути IPIP у контейнері(ах)'; -$l['hvm_ipip_exp'] = 'Якщо позначено, IPIP буде активовано під час створення нового контейнера(ів).'; -$l['hvm_ipgre'] = 'Увімкнути IPGRE у контейнері(ах)'; -$l['hvm_ipgre_exp'] = 'Якщо позначено, IPGRE буде активовано під час створення нового контейнера(ів).'; -$l['hvm_nfs'] = 'Увімкнути NFS у контейнері(ах)'; -$l['hvm_nfs_exp'] = 'Якщо позначено, NFS буде активовано під час створення нового контейнера(ів).'; -$l['hvm_quotaugidlimit'] = 'Увімкнути QUOTAUGIDLIMIT у контейнері(ах)'; -$l['hvm_quotaugidlimit_exp'] = 'Вмикає або вимикає в-контейнері квоти для диска для кожного користувача та групи. Якщо значення встановлено 0 або не встановлено, квоти диска всередині контейнера вимикаються та не враховуються.
-NOTE: Це перезавантажить контейнер.'; -$l['hvm_iolimit'] = 'Встановити IO Bandwidth ліміт для контейнера(ів)'; -$l['hvm_iolimit_exp'] = 'Якщо встановлено, операція IO не буде перевищувати зазначену межу при виконанні операцій ІО.'; -$l['hvm_iopslimit'] = 'Встановити IOPS ліміт для контейнера(ів)'; -$l['hvm_iopslimit_exp'] = 'Якщо встановлено, операції IO в секунду не будуть перевищувати зазначену межу.'; -$l['hvm_admin_iso'] = 'Admin ISOs'; -$l['hvm_user_iso'] = 'User ISOs'; -$l['hvm_addiso'] = 'Add ISO'; -$l['hvm_listiso'] = 'List ISO'; -$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; - -// cpu lang string - prefix : cpu_ -$l['cpu_header'] = ' CPU '; -$l['cpu_cpuinfo'] = 'CPU інформація'; -$l['cpu_totalcpu'] = 'Всього CPU :'; -$l['cpu_cpuutilised'] = 'Використано : '; -$l['cpu_poweredby'] = 'Powered by : '; -$l['cpu_graphheader'] = 'Використання CPU'; -$l['cpu_trademarks'] = 'Всі відповідні логотипи є товарними знаками або зареєстрованими товарними знаками відповідних компаній.'; -$l['cpu_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; - -// ram lang string - prefix : ram_ -$l['ram_header'] = ' RAM'; -$l['ram_raminfo'] = 'RAM інформація'; -$l['ram_totalram'] = 'RAM : '; -$l['ram_gaurateed'] = 'Гарантована RAM : '; -$l['ram_burstable'] = 'Burstable :'; -$l['ram_swap'] = 'SWAP :'; -$l['ram_utilised'] = 'Використано :'; -$l['ram_percentram'] = 'Використання % :'; -$l['ram_graphheader'] = 'Використання RAM'; -$l['ram_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; - -// disk lang string - prefix : disk_ -$l['disk_header'] = 'Диск'; -$l['disk_diskinfo'] = 'Інформація про диск'; -$l['disk_totaldisk'] = 'Всього диска : '; -$l['disk_diskutilised'] = 'Використано : '; -$l['disk_percentdisk'] = 'Використання % : '; -$l['disk_graphheader'] = 'Використання диска'; -$l['disk_inodesinfo'] ='Інформація інодів'; -$l['disk_inodestotal'] = 'Всього інодів :'; -$l['disk_inodesutilised'] = 'Використано : '; -$l['disk_percent_inodes'] = 'Использование % :'; -$l['disk_inodesheader'] = 'Використання інодів'; -$l['disk_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; - -// bandwidth lang string - prefix : band_ -$l['band_heading'] = 'Bandwidth'; -$l['band_bandwidthinfo'] = 'Інформація про пропускну здатність'; -$l['band_Total_Bandwidth'] = 'Загальна пропускна здатність :'; -$l['band_bandwidth_utilized'] = 'Використано : '; -$l['band_percent_utilized'] = '% використовується : '; -$l['band_graphheader'] = 'Використання канала'; -$l['band_unlimited'] = 'Необмежений'; -$l['band_network_speed'] = 'Швидкість мережі (MB/s)'; -$l['band_prev'] = 'Поперед.Місяць'; -$l['band_next'] = 'Наст.Місяць'; - -// console lang string - prefix : cs_ -$l['cs_disabled'] = 'Serial консоль відключена'; -$l['cs_call_failed'] = 'Не вдалося виконати виклик API. Будь-ласка, зв’яжіться з адміністратором'; -$l['cs_heading'] = 'Serial консоль'; -$l['cs_none'] = 'Існуючий сеанс консолі відсутній. Будь-ласка, створіть його!'; -$l['cs_create'] = 'Створити сеанс'; -$l['cs_creating'] = 'Створення сеанса ...'; -$l['cs_destroying'] = 'Завершення сеанса ...'; -$l['cs_details'] = 'Нижче наведено відомості про консоль'; -$l['cs_expires'] = 'Спливає'; -$l['cs_ip'] = 'IP адреса'; -$l['cs_port'] = 'Port'; -$l['cs_username'] = 'Логін'; -$l['cs_password'] = 'пароль'; -$l['cs_destroy'] = 'Завершити сеанс'; -$l['cs_java_console'] = 'Java Console'; - -// statuslogs lang string - prefix : sts_ -$l['sts_heading'] = 'Журнали стану'; -$l['sts_running'] = 'Активний'; -$l['sts_stopped'] = 'Зупинений'; -$l['sts_sts'] = 'Стан системи'; -$l['sts_time'] = 'Час'; - -// system_alerts lang string - prefix : sysa_ -$l['sysa_alert_heading'] = 'Системні повідомлення'; - -// Tasks lang string - prefix : tasks_ -$l['tasks_heading'] = 'Завдання'; -$l['tasks_task_started'] = 'Запуск завдання'; -$l['tasks_no_tasks'] = 'Для цього користувача відсутні активні завдання'; -$l['tasks_addvs'] = 'Створення '.VM_SHORT; -$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; -$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; -$l['tasks_addsshkeys'] = 'Adding SSH Keys'; -$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; -$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; -$l['tasks_fstrim_handle'] = 'Fstrim Handle'; -$l['tasks_addvs_restore'] = 'Створення '.VM_SHORT.' для відновлення'; -$l['tasks_fstab_handle'] = 'FS Tab Handle'; -$l['tasks_deletevs'] = 'Видалення '.VM_SHORT; -$l['tasks_migrateprog'] = 'Міграція '.VM_SHORT; -$l['tasks_migratedest'] = 'Міграція '.VM_SHORT; -$l['tasks_multivirt'] = 'Включення Multivirt'; -$l['tasks_createtemplate'] = 'Створення шаблону'; -$l['tasks_getos'] = 'Завантаження OS'; -$l['tasks_rebuildvs'] = 'Ребілд '.VM_SHORT; -$l['tasks_resizevps'] = 'Ресайз '.VM_SHORT; -$l['tasks_bandwidth_unsuspend'] = 'Розблокувати Bandwidth'; -$l['tasks_removed_speed_capped'] = 'Відновити network speed'; -$l['tasks_restorevps'] = 'Відновлення '.VM_SHORT; -$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; -$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; -$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; -$l['tasks_restore'] = 'Відновлення '.VM_SHORT; -$l['tasks_backup'] = 'Backing up '.VM_SHORT; -$l['tasks_change_dnsnameserver'] = 'Зміна DNS Nameserver'; -$l['tasks_changepassword'] = 'Зміна Password'; -$l['tasks_sync_config'] = 'Sync Configuration'; -$l['tasks_install_cp'] = 'Встановлення Control Panel'; -$l['tasks_install_recipe'] = 'Встановлення Recipe'; -$l['tasks_hostname'] = 'Зміна Hostname'; -$l['tasks_editxcpvs'] = 'Редагувати XCP '.VM_SHORT; -$l['tasks_error'] = 'Errored'; -$l['tasks_inprogress'] = 'В процесі'; -$l['tasks_order'] = 'Order'; -$l['tasks_asc'] = 'Ascending'; -$l['tasks_desc'] = 'Descending'; -$l['tasks_submit'] = 'Пошук'; -$l['tasks_progress'] = 'Прогрес'; -$l['tasks_completed'] = 'Завдання завершено'; -$l['tasks_task_notcomplete'] = 'Завдання не може бути завершено.'; -$l['tasks_task_notupdated'] = 'Завдання не оновлено !'; -$l['tasks_task_notupdated_status'] = 'Process Untrackable'; -$l['tasks_migrate_speed'] = 'Швидкість переміщення: '; -$l['tasks_started'] = 'Почато'; -$l['tasks_updated'] = 'Оновлено'; -$l['tasks_ended'] = 'Закінчено'; -$l['tasks_notupdated'] = 'Не оновлено'; -$l['tasks_unslaved'] = 'Unslaved Server'; -$l['tasks_not_started'] = 'Завдання не почато'; -$l['tasks_not_updated'] = 'Завдання не оновлено'; -$l['tasks_not_ended'] = 'Завдання не закінчено'; -$l['tasks_start_vps'] = VM_SHORT.' Start'; -$l['tasks_start_vps_error'] = 'Під час запуску '.VM_SHORT.' сталася помилка'; -$l['tasks_restart_vps'] = VM_SHORT.' Restart'; -$l['tasks_restart_vps_error'] = 'Під час перезавантаження '.VM_SHORT.' сталася помилка'; -$l['tasks_stop_vps'] = VM_SHORT.' Stop'; -$l['tasks_stop_vps_error'] = 'Під час зупинки '.VM_SHORT.' сталася помилка'; -$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; -$l['tasks_poweroff_vps_error'] = 'Під час виключення '.VM_SHORT.' сталася помилка'; -$l['tasks_enable_rescuevs'] = 'Увімкнути Rescue'; -$l['tasks_disable_rescuevs'] = 'Вимкнути Rescue'; -$l['tasks_remotedesktop'] = 'Віддалений Desktop Task'; -$l['tasks_change_vncpass'] = 'Змінити VNC Password'; -$l['tasks_installxentools'] = 'Installing Xenserver Tools'; -$l['tasks_install_script'] = 'Installing Apps'; - -// Register Land Strings - prefix : reg_ -$l['reg_sec_inv'] = 'Security code is invalid'; -$l['reg_no_username'] = 'The Username field was empty'; -$l['reg_no_email']= 'The Email field was empty'; -$l['reg_no_password'] = 'The Password field was empty'; -$l['pr_no_address'] = 'Please specify the Address'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_state'] = 'Please specify the state'; -$l['pr_no_zip'] = 'Please specify the zip code'; -$l['pr_no_country'] = 'Please specify the country'; -$l['pr_no_city'] = 'Please specify the city'; -$l['pr_no_phone'] = 'Please specify the phone number'; -$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; -$l['reg_inv_email']= 'The Email is invalid'; -$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; -$l['reg_email_exist'] = 'The Email Address you provided already exists'; -$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; -$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; - -$l['register'] = 'Register'; -$l['reg_acc'] = 'Create Account'; -$l['reg_username'] = 'Username'; -$l['reg_email'] = 'Email'; -$l['reg_pass'] = 'Password'; -$l['reg_resendact'] = 'Resend Activation Code'; -$l['reg_mail_sub'] = 'Activate Account'; -$l['reg_mail_body'] = 'Hi {{email}}, - -Thank you for registering an account at {{sn}}. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; - -$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; -$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; -$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; -$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. - -You may now login to your account at : -'.$globals['cp_url'].'/?#act=login - -Please keep this email for your records, as it contains important information of your account. - -Enjoy! - -The '.$globals['sn'].' Team -'.$globals['cp_url'].' - -User ID: {{uid}} -Activation code: {{activation_code}}'; -$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; -$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} - -User details : -User ID : {{uid}} -{{contact_no}} -'; -$l['reg_contact_no'] = 'Mobile Number : '; -$l['reg_val_acc'] = 'User Email Validation'; -$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; -$l['reg_val_done_uni'] = 'You may now login to your account at :
-'.$globals['cp_url'].'/?#act=login

- -Enjoy!

- -The '.$globals['sn'].' Team
-'.$globals['cp_url'].''; -$l['reg_val_done_uid'] = 'User ID :'; -$l['reg_val_done_act'] = 'Activation Code :'; - -$l['resendact'] = 'Resend Activation'; -$l['reg_res_no_username'] = 'The Email field was empty'; -$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; -$l['reg_res_mail_sub'] = 'Your Activation Code'; -$l['reg_res_mail_body'] = 'Hi {{email}}, - -We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. - -Before you can use your account you must activate it. -Click on the link below to activate your account: -'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} - -If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. - -If you are still having problems signing up, please contact us at '.$globals['support_email'].' - -Thank you! - -The {{sn}} Team -'.$globals['cp_url'].' - -Activation code: {{activation_code}} -User ID: {{uid}} -'.$globals['cp_url'].'/?#act=register&sa=validate'; -$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; -$l['reg_invalid_access_key'] = 'Invalid Access key'; -$l['reg_invalid_access_uid'] = 'Invalid Access for user'; -$l['reg_opt_expired'] = 'OTP expired. Please try again'; -$l['reg_no_otp'] = 'Please submit valid OTP'; -$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; -$l['reg_submit_otp'] = 'Submit OTP'; -$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; -$l['reg_submit'] = 'Submit'; -$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; -$l['reg_sms_sent'] = 'Registration SMS'; -$l['reg_sms_resent'] = 'Registration SMS resent'; -$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; -$l['reg_resendsms'] = 'Resend OTP'; -$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; -$l['reg_empty_contact'] = 'Please enter mobile number for registration'; -$l['reg_err_country_code'] = 'Please select your country code'; -$l['reg_contact'] = 'Contact number for registration'; -$l['reg_mobile_no'] = 'Enter mobile number for OTP'; -$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; -$l['reg_no_url_key'] = 'Could not find the provided URL key'; -$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; - -// login lang string - prefix : login_ -$l['login_no_username'] = 'Поле "Ім’я користувача" було порожнім'; -$l['login_no_password'] = 'Поле «Пароль» було порожнім'; -$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; -$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; -$l['login_too_many_attempts'] = 'Ви використали максимальну кількість доступів в систему '.$globals['login_attempts'].' Невдалі спроби! Будь-ласка, зачекайте '.$globals['login_ban_time'].' хвилин, перш ніж повторити спробу.Не забувайте, що пароль чутливий до регістру. Забули пароль? Спробуйтевідновити пароль utility.'; - -$l['login_sign_in'] = 'Вхід в панель керування '.VM_SHORT.'/VDS'; -$l['login_log_user'] = 'Email адреса користувача'; -$l['login_log_pass'] = 'Пароль'; -$l['login'] = 'Login'; -$l['login_sub_but'] = 'Login'; -$l['login_register'] = 'Create Account'; - -$l['login_pass_nomatch'] = 'Невірне ім’я користувача або пароль.'; -$l['login_forgotpass'] = 'Забули пароль'; -$l['login_emailuser'] = 'Email адреса'; -$l['login_enteremail'] = 'Введіть Вашу email адресу'; -$l['login_sub_email'] = 'Надіслати'; -$l['login_no_email'] = 'Ви не надіслали свою адресу електронної пошти'; -$l['login_invalidemail'] = 'Вказана адреса електронної пошти недійсна.'; -$l['login_mail_sub'] = 'Скидання пароля'; -$l['login_mail_body'] = 'Вітаємо, - -Було зроблено запит на скидання пароля. -Якщо Ви не запитували скидання пароля, будь-ласка, проігноруйте цей лист. - -Якщо Ви хочете скинути пароль, перейдіть за URL-посиланням нижче : -https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; - -Зверніть увагу: посилання дійсне лише протягом 24 годин. - -Regards, -'.$globals['sn']; -$l['login_mail_done'] = 'Лист з інформацією щодо скидання пароля надіслано на email'; -$l['login_back_to_login'] = 'Повернутися на сторінку входу'; - -$l['login_resetpass'] = 'Скидання пароля'; -$l['login_log_new_pass'] = 'Новий пароль'; -$l['login_log_reppass'] = 'Підтвердіть пароль'; -$l['login_changepass'] = 'Змінити пароль'; -$l['login_no_key'] = 'Ключ скидання не було надіслано'; -$l['login_invalidkey'] = 'Ви вказали недійсний ключ'; -$l['login_no_new'] = 'Введіть дійсний пароль'; -$l['login_no_reppass'] = 'Введіть пароль підтвердження'; -$l['login_no_match'] = 'Вказані паролі не співпадають'; -$l['login_keyexpire'] = 'Ключ більше не дійсний'; -$l['login_passchanged'] = 'Пароль успішно змінено.'; -$l['login_forgot_pass'] = 'Забули пароль'; -$l['login_goto_login'] = 'Перейти на сторінку входу'; -$l['login_no_2fa_key'] = 'Недопустимий ключ аутентифікації'; -$l['login_inv_user'] = 'Недійсний користувач'; - -// OTP on login -$l['login_twofactit'] = 'Дворівнева аутентифікація'; -$l['login_enterotp'] = 'Введіть одноразовий пароль'; -$l['login_no_otp'] = 'Введіть одноразовий пароль (OTP)'; -$l['login_incorrect_otp'] = 'Невірний код'; - -// listrecipe lang string - prefix : recipe_ -$l['recipe_err_exec'] = 'Помилка виконання завдання'; -$l['recipe_no_selected'] = 'Рецепт не обрано'; -$l['recipe_wrong'] = 'Обрано неправильне завдання'; -$l['recipe_heading'] = 'завдання'; -$l['recipe_choose'] = 'Оберіть рецепт'; -$l['recipe_exp_choose_recipe'] = 'Оберіть завдання, яке Ви хочете застосувати'; -$l['recipe_update'] = 'Створити завдання'; -$l['recipe_none'] = 'None'; -$l['recipe_done'] = 'Завдання створено'; -$l['recipe_exec_onboot'] = 'Завдання буде запущено, коли Ви перезавантажиет '.VM_SHORT; -$l['recipe_group'] = 'Recipe Group'; -$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; -$l['recipe_to_exec_msg'] = 'Recipes to execute'; -$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; -$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; -$l['no_desc'] = 'Опис відсутній'; -$l['ingredients'] = 'Ingredients'; -$l['recipe'] = 'Завдання'; -$l['conf_execute'] = 'Ви впевнені, що хочете створити це завдання?'; -$l['rec_short_desc'] = 'Завдання являють собою зумовлені коди bash'; -$l['no_recipes'] = 'There are no recipes'; -$l['no_pdns'] = 'There are no pDNS records'; -$l['no_rdns'] = 'There are no rDNS records'; - -// ssh lang string - prefix : ssh_ -$l['ssh_disabled'] = 'SSH відключено адміністратором'; - -// Self shutdown - prefix : shutdown_ -$l['sd_confirm_submit'] = 'Ви впевнені, що хочете встановити таймер?'; -$l['sd_confirm_delete'] = 'Ви впевнені, що хочете видалити таймер?'; -$l['sd_date_alert'] = 'Введіть дату в форматі mm / dd / yyyy'; -$l['sd_date_current'] = 'Entered time should be greater than the current time'; -$l['sd_heading'] = 'Встановити таймер'; -$l['sd_action_start'] = 'Старт'; -$l['sd_action_stop'] = 'Стоп'; -$l['sd_action_restart'] = 'Перезавантажити'; -$l['sd_action_poweroff'] = 'Вимкнути'; -$l['sd_action_title'] = 'Дія'; -$l['sd_action_edit_desc'] = 'Для редагування введіть дані та надішліть'; -$l['sd_action_edit_desc'] = 'Для редагування введіть дані та надішліть'; -$l['time_updated'] = 'Оновлена дія'; -$l['time_deleted'] = 'Дію видалено'; -$l['time_added'] = 'Дію додано'; -$l['sd_invalid_action'] = 'Недійсна дія'; - -// Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Сервери'; -$l['bs_heading_add'] = 'Додати Backup Сервер'; -$l['bs_name'] = 'Ім’я'; -$l['bs_name_exp'] = 'Унікальне ім’я резервного сервера'; -$l['bs_hostname'] = 'Хостнейм'; -$l['bs_hostname_exp'] = 'Дійсний TLD або IP-адреса сервера'; -$l['bs_type'] = 'Тип'; -$l['bs_type_exp'] = 'Тип резервного сервера, SSH або FTP'; -$l['bs_username'] = 'Ім’я користувача'; -$l['bs_username_exp'] = 'Ім’я користувача резервного сервера'; -$l['bs_password'] = 'Пароль'; -$l['bs_password_exp'] = 'Пароль сервера резервного копіювання'; -$l['bs_port'] = 'Порт'; -$l['bs_port_exp'] = 'Порт резервного сервера'; -$l['bs_dir'] = 'Директорія'; -$l['bs_dir_exp'] = 'Каталог, де зберігатимуться резервні копії'; -$l['bs_add_server'] = 'Додати Backup Сервер'; -$l['bs_conf_delete'] = 'Ви впевнені, що хочете видалити цей резервний сервер ?'; -$l['bs_heading_edit'] = 'Редагувати Backup Сервер'; -$l['bs_no_servers'] = 'У вас немає серверів резервного копіювання'; - -// SSH Keys - prefix : sshkey_ -$l['sshkey_heading'] = 'SSH Keys'; -$l['sshkey_add'] = 'Add SSH Key'; -$l['sshkey_add_new'] = 'Add New SSH Key'; -$l['sshkey_use'] = 'Use SSH Key'; -$l['sshkey_list'] = 'List SSH Key'; -$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; -$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; -$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; -$l['sshkey_uuid'] = 'UUID'; -$l['sshkey_name'] = 'Ім’я'; -$l['sshkey_name_exp'] = 'Унікальне ім’я для ключа SSH'; -$l['sshkey_value'] = 'Public Key'; -$l['sshkey_value_exp'] = 'Значення SSH-ключа у форматі OpenSSH.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; -$l['sshkey_heading_add'] = 'Додати SSH Key'; -$l['sshkey_edit'] = 'Редагувати SSH Key'; -$l['sshkey_conf_delete'] = 'Ви впевнені, що хочете видалити цей SSH-ключ ?'; -$l['sshkey_err_delete_key'] = 'Під час видалення ключа SSH сталася помилка'; -$l['sshkey_done_delete_key'] = 'Ключ SSH успішно видалено.'; -$l['sshkey_no_name'] = 'Будь ласка, вкажіть дійсну назву ключа SSH'; -$l['sshkey_no_value'] = 'Будь ласка, вкажіть дійсне значення ключа SSH'; -$l['sshkey_err_name_exists'] = 'SSH-ключ цього імені вже існує'; -$l['sshkey_err_add'] = 'Під час додавання ключа SSH сталася помилка'; -$l['sshkey_done_add'] = 'Ключ SSH успішно додано'; -$l['sshkey_done_edit'] = 'Ключ SSH успішно збеежено'; -$l['sshkey_select_keys'] = 'Select SSH Keys:'; -$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; -$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; -$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; -$l['sshkey_private'] = 'Private Key'; -$l['sshkey_private_exp'] = 'Please copy the private key to your system'; -$l['sshkey_generate'] = 'Generate keys'; - -// Enduser ISO - prefix : euiso_ -$l['euiso_remove_iso'] = 'Removing ISO'; -$l['euiso_iso_removed'] = 'ISO file removed : '; -$l['euiso_removal_err'] = 'There was an error while removing the ISO'; -$l['euiso_del_done'] = 'The ISO has been removed'; -$l['euiso_heading'] = 'ISO Management'; -$l['euiso_no_iso'] = 'У вас немає ISO. Ви можете додати його зараз'; -$l['euiso_add_iso'] = 'Додати ISO'; -$l['euiso_iso_distro'] = 'Distro'; -$l['euiso_iso_name'] = 'Ім’я файлу'; -$l['euiso_iso_size'] = 'Завантажений розмір'; -$l['euiso_iso_del'] = 'Видалити'; -$l['euiso_iso_status'] = 'Статус'; -$l['euiso_iso_rsize'] = 'Загальний розмір'; -$l['euiso_confirm_iso_del'] = 'Файл ще не завантажено. Ви хочете скасувати завантаження та видалити файл ?'; -$l['euiso_iso_del_confirm'] = 'Ви впевнені, що хочете видалити цей елемент ?'; -$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; -$l['euiso_dwnld_time'] = 'Download Time'; -$l['euiso_downloading'] = 'Downloading...'; -$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; - -// Enduser ISO - prefix : aiso_ -$l['aiso_err_isofile'] = 'Please specify correct iso file'; -$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; -$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; -$l['aiso_iso_exist'] = 'ISO File is already present'; -$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; -$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; -$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; -$l['aiso_download_err'] = 'Error occurred while downloading ISO'; -$l['aiso_done'] = 'The ISO has been successfully added'; -$l['aiso_add_iso'] = 'Add ISO'; -$l['aiso_url'] = 'ISO URL'; -$l['aiso_name'] = 'ISO File Name'; -$l['aiso_page_head'] = 'Add ISO'; -$l['aiso_submit_button'] = 'Add ISO'; -$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; -$l['aiso_started'] = 'The ISO is being downloaded'; -$l['aiso_percent'] = 'Download Progress'; -$l['aiso_complete'] = 'Download Complete'; - -// Enduser download ISO - prefix:dwnldiso_ -$l['dwnldiso_heading'] = 'Додати ISO'; -$l['dwnldiso_iso'] = 'Додати ISO'; -$l['dwnldiso_done'] = 'Будь ласка, зачекайте, поки файл ISO буде завантажений'; -$l['dwnldiso_err_down'] = 'Під час завантаження файлу ISO виникли помилки'; -$l['dwnldiso_wait'] = 'Будь ласка, зачекайте, поки файл ISO буде завантажений'; - -// Inhouse Billing langs - prefix: ihb_ -$l['ihb_no_pl'] = 'There are no plans available for this region !'; -$l['ihb_sel_reg'] = 'Selected Region - '; - -// Enduser Backup Servers - prefix : bs_ -$l['bs_heading'] = 'Backup Servers'; -$l['bs_heading_add'] = 'Add Backup Server'; -$l['bs_name'] = 'Name'; -$l['bs_name_exp'] = 'Unique name for the Backup Server'; -$l['bs_hostname'] = 'Hostname'; -$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; -$l['bs_type'] = 'Type'; -$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; -$l['bs_username'] = 'Username'; -$l['bs_username_exp'] = 'Username of the backup server'; -$l['bs_password'] = 'Password'; -$l['bs_password_exp'] = 'Password of the backup server'; -$l['bs_port'] = 'Port'; -$l['bs_port_exp'] = 'Port of the backup server'; -$l['bs_dir'] = 'Directory'; -$l['bs_dir_exp'] = 'The directory where backups will be stored'; -$l['bs_add_server'] = 'Add Backup Server'; -$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; -$l['bs_heading_edit'] = 'Edit Backup Server'; -$l['bs_no_servers'] = 'You do not have any backup servers'; -$l['bs_no_name'] = 'Please specify a unique name for the backup server'; -$l['bs_no_hostname'] = 'Please specify the hostname'; -$l['bs_no_type'] = 'Please specify the Type'; -$l['bs_no_username'] = 'Please specify the username'; -$l['bs_no_password'] = 'Please specify the password'; -$l['bs_no_port'] = 'Please specify the port'; -$l['bs_no_dir'] = 'Please specify the upload directory'; -$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; -$l['bs_done_edit'] = 'The backup server has been saved successfully'; -$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; -$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; -$l['bs_err_name_exists'] = 'A backup server of this name already exists'; -$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; -$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; -$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; -$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; -$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; - -// Billing related -$l['bill_err_delete'] = 'There was an error deleting the invoices'; -$l['bill_done_delete'] = 'The invoice was deleted successfully'; -$l['bill_heading'] = 'Billing'; -$l['bill_no_invoice'] = 'You do not have any invoices yet !'; -$l['bill_invoid'] = 'Invoice ID'; -$l['bill_invodate'] = 'Invoice Date'; -$l['bill_duedate'] = 'Due Date'; -$l['bill_net'] = 'Amount'; -$l['bill_item'] = 'Item'; -$l['bill_status'] = 'Status'; -$l['bill_unpaid'] = 'Unpaid'; -$l['bill_paid'] = 'Paid'; -$l['bill_cancelled'] = 'Cancelled'; -$l['bill_invoice'] = 'Invoice'; -$l['bill_pay_to'] = 'Pay To'; -$l['bill_inv_to'] = 'Invoiced To'; -$l['bill_pay_method'] = 'Payment Method'; -$l['bill_desc'] = 'Description'; -$l['bill_disc'] = 'Discount'; -$l['bill_subtotal'] = 'Sub Total'; -$l['bill_netamt'] = 'Net Amount'; -$l['bill_print'] = 'Print'; -$l['bill_download'] = 'Download'; -$l['bill_tr_date'] = 'Transaction Date'; -$l['bill_tr_gateway'] = 'Gateway'; -$l['bill_tr_token'] = 'Transaction ID'; -$l['bill_tr_amt'] = 'Amount'; -$l['bill_invoices'] = 'Invoices'; -$l['bill_trans'] = 'Transactions'; -$l['bill_make_payment'] = 'Make Payment'; -$l['bill_add_funds'] = 'Add Funds'; -$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['bill_trid'] = 'ID'; -$l['bill_trdate'] = 'Date'; -$l['bill_gateway'] = 'Gateway'; -$l['bill_bal'] = 'Balance'; -$l['bill_charges'] = 'Charges this Month'; -$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; -$l['bill_cur_usage'] = 'Current Usage'; -$l['bill_no_trans'] = 'No transaction were found'; -$l['bill_usage'] = 'Usage'; -$l['bill_billed_usage'] = 'Billed Usage'; -$l['bill_no_usage'] = 'No billing items were found !'; -$l['bill_usid'] = 'ID'; -$l['bill_vps'] = VM_SHORT; -$l['bill_region'] = 'Region'; -$l['bill_type'] = 'Type'; -$l['bill_starttime'] = 'Start Time'; -$l['bill_updatetime'] = 'Update Time'; -$l['bill_charge'] = 'Charge'; -$l['bill_terminated'] = 'Terminated'; -$l['bill_gateway'] = 'Payment Gateway'; -$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['bill_summary'] = 'Summary'; -$l['bill_taxable_val'] = 'Taxable Value'; - -// Payment related -$l['pay_login'] = 'You need to be logged in to make a payment'; -$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; -$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; -$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; -$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; -$l['pay_trans_already'] = 'This transaction has already been recorded'; -$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; -$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; -$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; -$l['pay_payment'] = 'Payment Processor'; -$l['pay_panel'] = 'Control Panel'; -$l['pay_data_missing'] = 'Response Data is missing / invalid'; -$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; -$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; - -// Install Scripts - prefix:webuzo_ -$l['webuzo_ssh_port'] = 'SSH Port'; -$l['webuzo_spasswd'] = 'Root Password for Script'; -$l['webuzo_spasswd_p'] = 'Enter Root Password'; -$l['webuzo_pd'] = 'Primary Domain'; -$l['webuzo_pd_p'] = 'example.com'; -$l['webuzo_appstack'] = 'Choose Stack'; -$l['webuzo_scriptlist'] = 'Select a Script'; -$l['webuzo_submit'] = 'Install'; -$l['webuzo_advanced'] = 'Advanced Options'; -$l['webuzo_ns1'] = 'Nameserver 1'; -$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; -$l['webuzo_ns2'] = 'Nameserver 2'; -$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; -$l['webuzo_apache'] = 'Select Apache Verison'; -$l['webuzo_mysql'] = 'Select MYSQL Version'; -$l['webuzo_php'] = 'Select PHP Version'; -$l['webuzo_os'] = 'Select OS'; -$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; -$l['webuzo_support_err'] = 'Application not supported !'; -$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; -$l['webuzo_spasswd_err'] = 'Please enter the root password'; -$l['webuzo_pd_err'] = 'Please specify a correct domain name'; -$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; -$l['webuzo_stack_err'] = 'Please select a proper stack to install'; -$l['mysql_err'] = 'Please select MySQL version'; -$l['php_err'] = 'Please select PHP version'; -$l['webserver_err'] = 'Please select Apache version'; -$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; -$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; -$l['webuzo_os_err'] = 'Please select an OS you want to install'; -$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; -$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; -$l['webuzo_prim_ip_err'] = 'Unable to get IP'; -$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; -$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; - -// Install applications - prefix : apps_ -$l['apps_heading'] = 'Applications Installations'; -$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; - -// listvs - Search language strings. -$l['vs_type'] = 'Type'; -$l['vs_all'] = 'All'; -$l['vs_suspended'] = 'Suspended'; -$l['vs_unsuspended'] = 'Unsuspended'; -$l['vs_plan'] = 'Plan'; -$l['vs_server_group'] = 'Server Group'; -$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; - -// LetsEncrypt prefix = le_ -$l['lm_letsencrypt'] = 'LetsEncrypt'; -$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; -$l['le_install_cert'] = 'Install Certificate'; -$l['le_renew_cert'] = 'Renew Certificate'; -$l['le_cert_logs'] = 'View Certificate Logs'; -$l['le_config'] = 'SSL Configuration'; -$l['le_crt_details'] = 'SSL Certificate Details'; -$l['le_logs'] = 'Logs'; -$l['le_crt_domain'] = 'Domain'; -$l['le_crt_san'] = 'SAN'; -$l['le_crt_issuer'] = 'Issued By'; -$l['le_crt_serialno'] = 'Serial No.'; -$l['le_crt_valid_from_time'] = 'Valid From'; -$l['le_crt_valid_to_time'] = 'Valid Till'; -$l['le_next_renew'] = 'Next Renew Date'; -$l['le_crt_installed'] = 'Certificate installed'; -$l['le_proceed'] = 'Start Installation'; -$l['le_no_logs'] = 'No Logs available'; -$l['le_confirm_process'] = 'Are you sure you want to process this request?'; -$l['le_primary_domain'] = 'Primary Domain'; -$l['le_contact_email'] = 'Contact Email'; -$l['le_key_size'] = 'Key Size'; -$l['le_renew_days'] = 'Renew Days'; -$l['le_staging'] = 'Staging'; -$l['le_enable_force'] = 'Force'; -$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; -$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; -$l['le_key_size_exp'] = 'Domains certificate private keys length'; -$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; -$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; -$l['le_enable_force_exp'] = 'Force processing certificate'; - -// '.VM_SHORT.' tab menu language string. -$l['vps_overview'] = 'Overview'; -$l['vps_graphs'] = 'Graphs'; -$l['vps_tasks_logs'] = 'Tasks And Logs'; -$l['vps_disk_usage'] = 'Disk Usage'; -$l['vps_statistics'] = 'Statistics'; -$l['vps_info'] = VM_SHORT.' Information'; -$l['vps_install'] = 'Install'; - -// Modal -$l['modal_ok'] = 'Ok'; -$l['modal_cancel'] = 'Cancel'; -$l['modal_success'] = 'Success'; -$l['modal_error'] = 'Error'; - -// Network and upload speed related errors. -$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; -$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; - -$l['del_apikey'] = 'Do you want to delete this API credentails?'; -$l['del_rdns'] = 'Do you want to delete this rDNS record?'; -$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; -$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; -$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; -$l['disk_caching'] = 'Disk Caching'; -$l['available_plans'] = 'Available Plans'; -$l['templates'] = 'Templates'; -$l['no_os_templates'] = 'There are no OS templates available'; -$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; -$l['vm_count'] = VM_SHORT.' Count'; -$l['vm_count_max'] = 'Maximum limit is 10'; -$l['vm_count_min'] = 'Count can not be less than 1'; -$l['disable_icons_cp'] = 'Control panel installation is disabled.'; -$l['list'] = 'List'; -$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; -$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; -$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; -$l['no_vdf'] = 'There are no domain forwarding records found'; -$l['done'] = 'Done'; -$l['ostype_label'] = 'Select your os type'; -$l['rtc_label'] = 'Use local time zone for RTC'; -$l['toggle_theme'] = 'Toggle Light/Dark theme'; -$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; -$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; -$l['total_iops_sec'] = 'Total I/O per sec'; -$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; + Скануйте QR-код або введіть секретний ключ, вказаний нижче, в свій двофакторний додаток перевірки справжності. Після цього додаток надасть Вам унікальний OTP, який Ви маєте ввести в текстове поле для активації дворівневої аутентифікації.'; +$l['twofactauth_secret_key'] = 'Секретний ключ : '; +$l['twofactauth_code_input'] = 'Код підтвердження'; +$l['twofactauth_code_input_exp'] = 'Введіть OTP, отриманий електронною поштою або з додатку APP'; +$l['twofactauth_submit'] = 'Надіслати'; +$l['twofactauth_select_pref'] = 'Оберіть «Перевага»: '; +$l['twofactauth_select_pref_desc'] = 'Оберіть тип перевірки "Дворівнева", а потім введіть код, щоб активувати його.'; +$l['twofactauth_disabled'] = 'Дворівневу аутентифікацію деактивовано'; +$l['twofactauth_enabled'] = 'Дворівнева аутентифікація була активована'; +$l['twofactauth_err_enable'] = 'Невірный введений код'; +$l['twofactauth_email_passcode'] = 'Email код'; +$l['twofactauth_none'] = 'Ні (не рекомендовано!)'; +$l['twofactauth_email_otp'] = 'Email OTP'; +$l['twofactauth_enable_app'] = 'Включити додаток (аутентифікатор Google тощо)'; +$l['twofactauth_no_passcode'] = 'Вкажіть, будь-ласка, OTP'; +$l['twofactauth_changes_saved'] = 'Ваші зміни успішно збережено'; +$l['twofactauth_or'] = 'OR'; +$l['twofactauth_passcode_error'] = 'OTP не може бути згенеровано'; +$l['twofactauth_otp_mail_sub'] = 'Логін OTP'; +$l['twofactauth_reset_key'] = 'Скинути ключ'; +$l['twofactauth_email_sent_to'] = 'OTP буде надіслано за адресою:'; +$l['twofactauth_otp_mail_body'] = 'Вітаємо, + +Запит на доступ було надіслано для Вашого облікового запису в : +{{site_domain}} + +Використовуйте пароль One Time (OTP) для доступа в систему : +{{otp}} + +Regards, +{{sn}}'; +$l['twofactauth_passcode_mail_sub'] = 'Код підтверждення дворівневої аутентифікації '; +$l['twofactauth_passcode_mail_body'] = 'Вітаємо, + +Код підтверждення для включення дворівневої аутентифікації для Вашого облікового запису в {{site_domain}} is : {{passcode}}. + +Regards, +{{sn}}'; +$l['twofactauth_mail_done'] = 'OTP надіслано на адресу Вашої електронної пошти'; +$l['twofactauth_secret_key_conf'] = 'ПОПЕРЕДЖЕННЯ. Якщо Ви скинете секретний ключ, Вам доведеться оновити свої додатки новим. Ви впевнені що хочете продовжувати ?'; +$l['twofactauth_otp_expired'] = 'OTP, який Ви надіслали, сплив!'; +$l['twofactauth_not_allowed'] = 'Ви не можете отримати доступ до цієї сторінки'; + +// adduser lang string - prefix : adu_ +$l['adu_no_user_email'] = 'Ви не вказали ідентифікатор електронної пошти'; +$l['adu_no_user_password'] = 'Ви не вказали пароль'; +$l['adu_invalid_email'] = 'Недійсний ідентифікатор електронної пошти'; +$l['adu_userlimit_exceeded'] = 'Вам не дозволено створювати більше користувачів. Зверніться до адміністратора'; +$l['adu_useradd_error'] = 'Виникла помилка додання користувача. Зверніться до адміністратора'; +$l['adu_page_head'] = 'Додати користувача'; +$l['adu_done'] = 'Користувача додано'; +$l['adu_user_email'] = 'Email'; +$l['adu_user_password'] = 'Пароль'; +$l['adu_user_exists'] = 'Користувач вже існує. Введіть ішну адресу електронної пошти'; + +// changepassword lang string - prefix : cpas_ +$l['cpas_no_new'] = 'Ви не вказали новий пароль.'; +$l['cpas_no_conf'] = 'Відсутній пароль підтвердження.'; +$l['cpas_no_match'] = 'Вказані паролі не співпадають'; +$l['cpas_err_changing'] = 'Виникла помилка змінення пароля.'; +$l['cpas_submit_button'] = 'Змінити пароль'; +$l['cpas_new_pass'] = 'Новий пароль'; +$l['cpas_old_pass'] = 'Старий пароль'; +$l['cpas_retype_pass'] = 'Введіть повторно новий пароль'; +$l['cpas_change_note'] = 'Змінити пароль root'; +$l['cpas_change_final'] = 'Ваш пароль було успішно змінено'; +$l['cpas_change_onboot'] = VM_SHORT.' password will be changed after you SHUTDOWN and START the '.VM_SHORT.' from the panel.'; +$l['cpas_change_notify'] = 'Зміна пароля користувача '.VM_SHORT.' ...'; +$l['cpas_strength_indicator'] = 'Індикатор складності'; +$l['cpas_bad'] = 'Слабкий'; +$l['cpas_good'] = 'Добре'; +$l['cpas_strong'] = 'Надійний'; +$l['cpas_short'] = 'Дуже надійний'; +$l['cpas_weak_pass'] = 'Пароль має містити як мінімум 3 наступних символи: прописна літера, строчна літера, номер або спеціальний символ'; +$l['cpas_pass_match'] = 'Паролі не співпадають'; +$l['cpas_disabled'] = 'Зміну паролю відключено адміністратором'; + +// cloudres lang string - prefix : cr_ +$l['cr_header'] = 'Хмарні ресурси'; +$l['cr_resource_type'] = 'Тип ресурса'; +$l['cr_limit'] = 'Ліміт'; +$l['cr_used'] = 'Використано'; +$l['cr_left'] = 'Доступний'; +$l['cr_unlimited'] = 'Безлімітний'; +$l['cr_num_vs'] = 'Кількість '.VM_SHORT; +$l['cr_num_users'] = 'Кількість користувачів'; +$l['cr_num_space'] = 'Дисковий простір'; +$l['cr_num_ram'] = 'Ram'; +$l['cr_num_bandwidth'] = 'Пропускна здатність'; +$l['cr_num_cores'] = 'Всього ядер'; +$l['cr_max_cores'] = 'Max Cores / '.VM_SHORT; +$l['cr_num_ipv4'] = 'IPv4'; +$l['cr_num_ipv6_subnet'] = 'Підсегменти IPv6'; +$l['cr_num_ipv6'] = 'IPv6'; +$l['cr_cpuinfo'] = 'Інформація про процесор'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial консоль відключена'; +$l['cs_call_failed'] = 'Не вдалося виконати виклик API. Будь-ласка, зв’яжіться з адміністратором'; +$l['cs_heading'] = 'Serial консоль'; +$l['cs_none'] = 'Існуючий сеанс консолі відсутній. Будь-ласка, створіть його!'; +$l['cs_create'] = 'Створити сеанс'; +$l['cs_creating'] = 'Створення сеансу ...'; +$l['cs_destroying'] = 'Завершення сеансу ...'; +$l['cs_details'] = 'Нижче наведено відомості про консоль'; +$l['cs_expires'] = 'Спливає'; +$l['cs_ip'] = 'IP адреса'; +$l['cs_port'] = 'Порт'; +$l['cs_username'] = 'Ім’я користувача'; +$l['cs_password'] = 'Пароль'; +$l['cs_destroy'] = 'Завершити сеанс'; +$l['cs_java_console'] = 'Java консоль'; + +// hostname lang string - prefix : hn_ +$l['hn_no_new'] = 'Вкажіть ім’я хоста, яке необхідно змінити.'; +$l['hn_new_host'] = 'Нове ім’я хоста'; +$l['hn_submit_button'] = 'Змінити ім’я хоста'; +$l['hn_err_changing'] = 'Виникла помилка зміни імені хоста.'; +$l['hn_host_final'] = 'Ім’я хоста успішно змінено'; +$l['hn_invalid_hostname'] = 'Вказане ім’я хоста недійсне'; +$l['hn_change_onboot'] = 'Ім’я хоста буде змінено після перезавантаження '.VM_SHORT; +$l['hn_current_hostname'] = 'Поточне ім’я хоста'; +$l['hn_change_notify'] = 'Зміна імені хоста ...'; +$l['hn_disable_change_hostname'] = 'Зміну хоста відключено адміністратором'; + +// ips lang string - prefix : ips_ +$l['ips_no_ip_sel'] = 'IP-адреса не обрана'; +$l['ips_ip_not_exists'] = 'IP не існує'; +$l['ips_header'] = ' IP-адреса'; +$l['ips_ipinfo'] = 'IP-інформація'; +$l['ips_reorderips'] = 'Встановити первинну IP-адресу'; +$l['ips_done'] = 'Налаштування IP-адреси збережені.'; +$l['ips_change_onboot'] = 'Налаштування IP будуть змінені після перезавантаження '.VM_SHORT; +$l['ips_primary_ip'] = 'Оберіть первинну IP-адресу '; +$l['ips_ipv6_ips_list'] = 'IP-адреси IPV6'; +$l['ips_ipv6_empty'] = 'IPV6 Відстуні'; +$l['ips_change_notify'] = 'Зміна налаштувань IP ...'; + +// monitor lang string - prefix : mon_ +$l['mon_header'] = ' CPU '; +$l['mon_cpuinfo'] = 'CPU інформація'; +$l['mon_totalcpu'] = 'Загальне CPU :'; +$l['mon_cpuutilised'] = 'Використано : '; +$l['mon_poweredby'] = 'Використовується з : '; +$l['mon_graphheader'] = 'Використано CPU'; +$l['mon_trademarks'] = 'Всі відповідні логотипи є товарними знаками або зареєстрованими товарними знаками відповідних компаній.'; +$l['mon_not_supported'] = 'Наразі моніторинг використання ресурсів не підтримується.'; +$l['mon_header_cpu'] = 'CPU'; +$l['mon_header_ram'] = 'RAM'; +$l['mon_header_disk'] = 'Диск'; +$l['mon_header_nodes'] = 'Дескриптор файлів'; +$l['mon_header_io'] = 'Disk I/O'; +$l['mon_header_ntw_speed'] = 'Мережа'; +$l['mon_io_usage'] = 'Average Disk I/O Usage'; +$l['mon_io_read_spd'] = 'I/O Read Speed'; +$l['mon_io_write_spd'] = 'I/O Write Speed'; +$l['mon_ntw_info'] = 'Інформація про мережу'; +$l['mon_ntw_down_spd'] = 'Вхідна швидкість'; +$l['mon_ntw_upld_spd'] = 'Вихідна швидкість'; +$l['mon_disabled'] = 'Опція Monitor відключена адміністратором'; +$l['mon_cpu_usage'] = 'Використання процесора'; +$l['mon_inode_usage'] = 'Використання інодів'; +$l['mon_ram_usage'] = ' Використано RAM '; +$l['mon_disk_usage'] = 'Використано Диску'; +$l['mon_down_speed'] = 'Вхідна швидкість'; +$l['mon_up_speed'] = 'Вихідна швидкість'; +$l['mon_total_speed'] = 'Загальна швидкість'; +$l['mon_cpu_hist'] = 'Історія використання CPU'; +$l['mon_mem_hist'] = 'Історія використання RAM'; +$l['mon_storage'] = 'Використання сховища'; +$l['mon_date_label'] = 'Date mm/dd'; +$l['mon_inode_hist'] = 'Використання інодів'; +$l['mon_net_speed'] = 'Швидкість мережі'; + +// os lang string - prefix : os_ +$l['os_not_selected'] = 'Ви не обрали ОС'; +$l['os_invalid_os'] = 'Обрану ОС не знайдено'; +$l['os_no_new'] = 'Ви не вказали новий пароль.'; +$l['os_no_conf'] = 'Пароль підтвердження відсутній.'; +$l['os_no_match'] = 'Вказані паролі не співпадають'; +$l['os_error_reins'] = 'Виникла помилка перевстановлення ОС'; +$l['os_err_changing'] = 'Винилка помилка встановлення пароля.'; +$l['os_err_log_osreinstall'] = 'Ви перевищили ліміт кількості перевстановлень ОС. Зверніться до адміністратора'; +$l['os_reins_os'] = 'Перевстановлення ОС'; +$l['os_os_reinstall'] = 'Перевстановлення'; +$l['os_new_pass'] = 'Новий пароль'; +$l['os_retype_pass'] = 'Повторіть введення пароля'; +$l['os_genram_psswd'] = 'Згенерувати випадковий пароль'; +$l['os_done'] = 'Процес перевстановлення ОС було запущено в фоновому режимі'; +$l['os_reins_notify'] = 'Перевстановлення операційної системи '.VM_SHORT.' ...'; +$l['os_centos_line1'] = 'CentOS - це дистрибутив Linux корпоративного класу, заснований на джерелах, що вільно надаються широкій публіці відомим північноамериканським корпоративним виробником Linux.'; +$l['os_centos_line2'] = 'CentOS повністю відповідає політиці перерозподілу постачальників та намагається бути сумісним з бінарними версіями на 100%. CentOS в основному змінює пакети, щоб видалити брендінг та художні роботи виробника.'; +$l['os_centos_line3'] = 'CentOS розроблений невеликою, але зростаючою групою розробників. CentOS є безкоштовним.'; +$l['os_fedora_line1'] = 'Fedora - це операційна система на базі Linux, яка демонструє найновіші версії програмного забезпечення з відкритим вихідним кодом. Fedora завжди вільна для тих, хто використовує, модифікує та розповсюджує.'; +$l['os_fedora_line2'] = 'Вона підтримується спільнотою у всьому світі, що працює разом як: проект Fedora. Проект Fedora відкритий, всі бажаючі можуть приєднатися.'; +$l['os_fedora_line3'] = 'Проект Fedora є однією з провідних серед безкоштовних ОС '; +$l['os_suse_line1'] = 'Проект openSUSE - це всесвітня спільнота, що сприяє використанню Linux по всьому світу.'; +$l['os_suse_line2'] = 'OpenSUSE створює один з найкращих в світі дистрибутивів Linux, працюючи разом з відкритим, прозорим та дружелюбним образом в межах спільноти Free та Open Source Software.'; +$l['os_suse_line3'] = 'Проект контролюється його спільнотою та залежить від внеску окремих осіб, що працюють як тестувальники, перекладачі, експерти з юзабіліті, дизайнери та розробники.'; +$l['os_suse_line4'] = 'OpenSUSE - безкоштовна, заснована на Linux операційна система для вашого ПК, ноутбука чи сервера.'; +$l['os_ubuntu_line1'] = 'Ubuntu є частиною сімейства операційних систем Linux Debian, має найбільшу спільноту розробників, причому кожний пакет побудований експертами.'; +$l['os_ubuntu_line2'] = 'Canonical\'s контролює якість, стрес-тестування та дизайн продукту, покращуючи якість Ubuntu Server.'; +$l['os_ubuntu_line3'] = 'Ubuntu - це надійна та інтуітивно зрозуміла операційна система, що забезпечує роботу настільних комп’ютерів, серверів, нетбуків та ноутбуків. Ubuntu є й завжди буде абсолютно безкоштовною.'; +$l['os_debian_line1'] = 'Debian - безкоштовна операційна система (ОС) для Вашого комп’ютера. Операційна система - це набір базових програм та утиліт, які запускають Ваш комп’ютер.'; +$l['os_debian_line2'] = 'Debian використовує ядро Linux (ядро операційної системи), але більшість базових інструментів ОС - це проект GNU; Звідси й назва GNU / Linux.'; +$l['os_debian_line3'] = 'Debian GNU / Linux являє собою більше, ніж чисту ОС: він постачається разом з більш ніж 25000 пакетами, попередньо скомпільованими програмним забезпеченням, що постачається в хорошому форматі для легкого встановлення на Вашому комп’ютері.'; +$l['os_scientific_line1'] = 'Scientific Linux - це дистрибутив Linux, створений Національною лабораторією прискорення Fermi.'; +$l['os_scientific_line2'] = 'Це безкоштовна операційна система з відкритим вихідним кодом, що заснована на Red Hat Enterprise Linux та спрямована на те, щоб бути «якомога ближче до комерціних систем, які можна отримати».'; +$l['os_scientific_line3'] = 'Цей продукт отриманий з безкоштовного програмного забезпечення з відкритим вихідним кодом, який Red Hat, Inc. зробила доступним, але не створюється та не підтримується Red Hat.'; +$l['os_strength_indicator'] = 'Індикатор складності'; +$l['os_strength_indicator'] = 'Індикатор складності'; +$l['os_bad'] = 'слабкий'; +$l['os_good'] = 'середній'; +$l['os_strong'] = 'надійний'; +$l['os_short'] = 'дуже надійний'; +$l['os_weak_pass'] = 'Пароль має містити мінімум 3 наступних символи: прописна літера, строчна літера, номер чи спеціальний символ'; +$l['os_pass_match'] = 'Паролі не співпадают'; +$l['os_reinstall_wait'] = 'Перевстановлення ОС, будь-ласка, зачекайте ...'; +$l['os_reinstall_disabled'] = 'Перевстановлення ОС відключене адміністратором'; +$l['os_no_os'] = 'ОС для перевстановлення відсутні'; +$l['os_rebuild_data_lost_warn'] = 'Ви дійсно хочете повторно створити '.VM_SHORT.'? Попереждення: Існуючі дані '.VM_SHORT.' буде назавжди втрачено.'; +$l['os_select_version'] = 'SELECT VERSION'; +$l['os_select_os'] = 'Select OS:'; +$l['os_other'] = 'Other'; +$l['os_format_primary'] = 'Format Primary Disk Only'; +$l['os_format_primary_exp'] = 'If checked, only the primary disk data will be deleted'; + +// vnc lang string - prefix : vnc_ +$l['vnc_vnc_info'] = 'Інформація про VNC'; +$l['vnc_vnc_ip'] = 'VNC IP'; +$l['vnc_vnc_port'] = 'VNC порт'; +$l['vnc_novnc_button'] = 'Запустити HTML 5 VNC Client'; +$l['vnc_launch_vnc'] = 'Запустити Java VNC Viewer'; +$l['vnc_notice'] = 'VNC буде працювати лише в разі, якщо java встановлено і включено в Вашому браузері'; +$l['vnc_not_enabled'] = 'VNC не включений'; + +// vncpass lang string - prefix : vncpas_ +$l['vncpas_no_new'] = 'Ви не вказали новий пароль.'; +$l['vncpas_no_conf'] = 'Пароль підтверждення відсутній.'; +$l['vncpas_no_match'] = 'Вказані паролі не співпадають'; +$l['vncpas_err_changing'] = 'Виникла помилка зміни пароля'; +$l['vncpas_no_nonalphanumeric'] = 'Відсутні символи, відмінні від літерно-цифрових'; +$l['vncpas_submit_button'] = 'Змінити пароль VNC'; +$l['vncpas_new_pass'] = 'Новий пароль'; +$l['vncpas_old_pass'] = 'Старий пароль'; +$l['vncpas_retype_pass'] = 'Введіть повторно новий пароль'; +$l['vncpas_change_note'] = 'Змінити пароль VNC'; +$l['vncpas_change_final'] = 'Ваш пароль VNC було успішно змінено.'; +$l['vncpas_change_notify'] = 'Зміна пароля VNC ...'; + +// userpassword lang string - prefix : up_ +$l['up_no_new'] = 'Ви не вказали новий пароль'; +$l['up_no_conf'] = 'Пароль підтвердження відсутній.'; +$l['up_no_match'] = 'Вказані паролі не співпадають'; +$l['up_err_changing'] = 'Виникла помилка зміни пароля.'; +$l['up_new_pass'] = 'Новий пароль'; +$l['up_old_pass'] = 'Старий пароль'; +$l['up_retype_pass'] = 'Введіть повторно новий пароль'; +$l['up_page_head'] = 'Змінити пароль'; +$l['up_change_final'] = 'Ваш пароль було успішно змінено'; + +// profile lang string - prefix : pr_ +$l['pr_change_profile'] = 'Змінити профіль'; +$l['pr_no_fname'] = 'Ви не вказали Ім’я'; +$l['pr_no_lname'] = 'Ви не вказали Прізвище'; +$l['pr_firstname'] = 'Ім’я'; +$l['pr_lastname'] = 'Прізвище'; +$l['pr_company'] = 'Company'; +$l['pr_website'] = 'Website'; +$l['pr_address'] = 'Address'; +$l['pr_city'] = 'City'; +$l['pr_state'] = 'State'; +$l['pr_zip'] = 'Zip Code'; +$l['pr_country'] = 'Country'; +$l['pr_phone'] = 'Mobile'; +$l['pr_sys_admin_email'] = 'System Admin Email'; +$l['pr_cc_emails'] = 'Invoice CC Email'; +$l['pr_cc_emails_exp'] = 'Invoice related emails will be sent to these emails. You can add multiple emails comma seperated.'; +$l['pr_soft_error'] = 'There was some error while saving your details. Please contact the support team : '.$globals['support_email']; +$l['pr_done'] = 'Зміни успішно збережено'; + +// services lang string - prefix : ser_ +$l['ser_heading'] = 'Сервіси'; +$l['ser_sstart'] = 'Старт'; +$l['ser_sstop'] = 'Стоп'; +$l['ser_srestart'] = 'Перезавантажити'; +$l['ser_status'] = 'Стан'; +$l['ser_statrun'] = 'Працює'; +$l['ser_statoff'] = 'Вимк'; +$l['ser_staton'] = 'Вкл'; +$l['ser_autostart'] = 'Авто-старт'; +$l['ser_select'] = 'Обрати'; +$l['ser_vps_is_off'] = VM_SHORT.' вимкнений !'; +$l['ser_no_feature'] = 'Ця функція недоступна!'; +$l['ser_notice_start'] = 'Обрана служба (и) запускається..'; +$l['ser_notice_stop'] = 'Обрані служби зупиняються.'; +$l['ser_notice_restart'] = 'Обрані служби перезапускаються.'; + +// processes lang string - prefix : proc_ +$l['proc_heading'] = 'Перелік процесів'; +$l['proc_usr'] = 'Користувач'; +$l['proc_pid'] = 'PID'; +$l['proc_cpu'] = '%CPU'; +$l['proc_mem'] = '%MEM'; +$l['proc_command'] = 'Команда'; +$l['proc_rss'] = 'RSS'; +$l['proc_time'] = 'Час'; +$l['proc_select'] = 'Обрати'; +$l['proc_pstart'] = 'Старт'; +$l['proc_pkill'] = 'Закрити'; +$l['proc_prefresh'] = 'Автооновлення'; +$l['proc_vps_is_off'] = VM_SHORT.' відключено!'; +$l['proc_no_feature'] = 'Ця функція недоступна!'; +$l['proc_notice_pkill'] = 'Зупинка обраного процеса (ів) :'; +$l['proc_with_selected'] = 'З обраними:'; + +// logs lang string - prefix : log_ +$l['log_heading'] = 'Logs'; +$l['log_date'] = 'Дата'; +$l['log_task'] = 'Завдання'; +$l['log_status'] = 'Статус'; +$l['log_ip'] = 'IP'; +$l['log_success'] = 'Успішно'; +$l['log_fail'] = 'Fail'; + +// managesubnets lang string - prefix : mng_ +$l['mng_heading'] = 'Керування підмережами IPv6'; +$l['mng_done'] = 'IP-адреси успішно збережено'; +$l['mng_add_ipv6'] = 'Додати адресу Ipv6'; +$l['mng_add_ip_button'] = 'Додати IP'; +$l['mng_back_button'] = 'Назад'; +$l['mng_save_button'] = 'Зберегти'; +$l['mng_delete_confirm'] = 'Ви дійсно хочете видалити цю IPv6-адресу?'; +$l['mng_ipv6_invalid'] = 'Виникла невідома помилка з адресою IPv6'; +$l['mng_ipv6_address'] = 'Адреса IPv6'; +$l['mng_ipv6_delete'] = 'Видалити'; +$l['mng_ipv6_subnet'] = 'Підмережі IPv6'; +$l['mng_edit_subnet'] = 'Змінити'; +$l['mng_no_vps'] = VM_SHORT.' не знайдено'; +$l['mng_inv_ipaddress'] = 'Вказана IP-адреса не належить Вам'; + +// managezone lang string - prefix : mz_ +$l['mz_page_head'] = 'Керування зоною'; +$l['mz_zone_conf_del'] = 'Ви дійсно хочете видалити сервер PDNS?'; +$l['mz_add_pdns'] = 'Додати сервер PDNS'; +$l['mz_dns_mgmt'] = 'DNS Management'; +$l['mz_zone_add_done'] = 'Зону успішно додано'; +$l['mz_add_zone'] = 'Додати запис зони'; +$l['mz_zone_name'] = 'Назва зони'; +$l['mz_pdns_zones'] = 'Перегляд зон'; +$l['mz_manage_zone'] = 'Керування'; +$l['mz_conf_del'] = 'Ви дійно хочете видалити цей запис?'; +$l['mz_add_done'] = 'Запис було успішно додано'; +$l['mz_edit_done'] = 'Запис успішно відредаговано'; +$l['mz_del_done'] = 'Запис успішно видалено'; +$l['mz_priority'] = 'Черговість'; +$l['mz_ttl'] = 'TTL'; +$l['mz_content'] = 'Content'; +$l['mz_type'] = 'Тип'; +$l['mz_host'] = 'Хост'; +$l['mz_points_to'] = 'Вказує на'; +$l['mz_txt_value'] = 'Значення TXT'; +$l['mz_pdns_name'] = 'Ім’я сервера'; +$l['mz_submit_button'] = 'Додати запис'; +$l['mz_edit_button'] = 'Змінити запис'; +$l['mz_no_domains'] = 'В запису відсутні зони'; +$l['mz_err_addzone'] = 'Виникла помилка додання зони'; +$l['mz_inv_name'] = 'Вказано невірне ім’я хоста'; +$l['mz_inv_ip'] = 'Вказана невірна IP-адреса'; +$l['mz_inv_tld'] = 'Недопустимий домен верхнього рівня'; +$l['mz_inv_ipv6'] = 'Вказана невірна IPv6'; +$l['mz_inv_int'] = 'Недопустиме ціле число'; +$l['mz_err_add'] = 'Виникла помилка додання запису'; +$l['mz_err_del'] = 'Виникла помилка видалення запису'; +$l['mz_err_edit'] = 'Виникла помилка зміни запису'; +$l['mz_err_soa'] = 'Виникла помилка оновлення SOA-серверу'; +$l['mz_rec_exists'] = 'Запис вже існує'; +$l['mz_records_limit'] = 'Додано максимально допустиму кількість записів'; +$l['mz_err_connect'] = 'Під час з’єднання з сервером імен виникла помилка'; +$l['mz_zone_restricted'] = 'Зона, яку Ви намагаєтесь редагувати, недоступна для редагування'; +$l['mz_no_records'] = 'No records present'; +$l['no_record_type'] = 'The record type must be specified.'; +$l['no_content'] = 'The content must be specified.'; +$l['no_ttl'] = 'The ttl must be specified.'; +$l['no_priority'] = 'The Priority must be specified.'; +$l['inv_domainid'] = 'Invalid Domain ID'; + +// pdns lang string - prefix : pdns_ +$l['pdns_conf_del'] = 'Ви дійсно хочете видалити цей домен?'; +$l['pdns_page_head'] = 'Керування DNS'; +$l['pdns_add_done'] = 'Зону успішно додано'; +$l['pdns_delete_done'] = 'Зону видалено успішно'; +$l['pdns_add_zone'] = 'Додати зону'; +$l['pdns_zone_name'] = 'Ім’я зони'; +$l['pdns_manage_zone'] = 'Керування'; +$l['pdns_no_domains'] = 'Записи в зоні відсутні'; +$l['pdns_no_name'] = 'Ім’я домена не вказано'; +$l['pdns_err_addzone'] = 'Виникла помилка додання зони'; +$l['pdns_err_delete'] = 'Не вдалося видалити зону'; +$l['pdns_inv_domain'] = 'Вказане доменне ім’я недійсне.'; +$l['pdns_limit_domains'] = 'Досягнута максимальна кількість доменів, які можна додати.'; +$l['pdns_domain_exists'] = 'Доменне ім’я вже існує'; +$l['pdns_err_connect'] = 'Виникла помилка підключення до серверу'; +$l['pdns_no_dns'] = 'Керування DNS недоступне'; +$l['pdns_invalid_zone'] = 'Недопустима зона DNS, яку Ви намагаєтесь видалити.'; +$l['pdns_primary_nameserver'] = 'Первинний Nameserver'; +$l['pdns_hostmaster_email'] = 'Адреса електронної пошти домена'; +$l['pdns_inv_email'] = 'Недопустима адреса електронної пошти домена.'; +$l['pdns_inv_ns'] = 'Вказаний недопустимий первинний Nameserver'; + +// rdns lang string - prefix : rdns_ +$l['rdns_page_head'] = 'Додати зворотний DNS'; +$l['rdns_zone_name'] = 'Назва зони'; +$l['rdns_exp_zone_name'] = 'Назва зони'; +$l['rdns_ns'] = 'Сервер імен'; +$l['rdns_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_exp_hostmasteremail'] = 'Hostmaster Email'; +$l['rdns_pdns_server'] = 'Обрати сервер'; +$l['rdns_exp_pdns_server'] = 'DNS-сервер, щоб додати запис в'; +$l['rdns_sub_but'] = 'Надіслати'; +$l['rdns_rdns_ip'] = 'IP адреса'; +$l['rdns_exp_rdns_ip'] = 'Введіть IP-адресу віртуальної машини'; +$l['rdns_rdns_domain'] = 'Доменне ім’я'; +$l['rdns_exp_rdns_domain'] = 'Введіть повне доменне ім’я'; +$l['rdns_no_rnds_ip'] = 'Введіть IP-адресу'; +$l['rdns_no_rdns_domain'] = 'Введіть ім’я домена'; +$l['rdns_no_pdnsid'] = 'Недопустимий id'; +$l['rdns_err_zone'] = 'Запис зони RDNS не знайдена. Зверніться до адміністратора'; +$l['rdns_is_rdns'] = 'Зворотний запис DNS вже існує'; +$l['rdns_no_dns'] = 'Адміністратора DNS не було налаштовано DNS-сервером. Зв’яжіться з адміністратором.'; +$l['rdns_no_zone_name'] = 'Ім’я доменної зони не вказано'; +$l['rdns_no_ns'] = 'Необхідно вказати щонайменше два імені'; +$l['rdns_no_hostmasteremail'] = 'Не вказаний email hostmaster'; +$l['rdns_inv_revzone'] = 'Зона зворотного DNS вказана невірно.'; +$l['rdns_inv_ns'] = 'Недопустимі TLD сервера імен'; +$l['rdns_inv_hostemail'] = 'The Hostmaster Email specified is invalid'; +$l['rdns_err_connect'] = 'Не вдалося встановити з’єднання з сервером. Перевірте, чи сервер доступний в мережі'; +$l['rdns_err_save'] = 'Виникла помилка збереження даних'; +$l['rdns_done'] = 'Зону зворотного DNS було успішно додано'; +$l['rdns_zone_exists'] = 'Ця зона вже існує'; +$l['rdns_inv_ipaddress'] = 'Введено невірну IP-адресу'; +$l['rdns_rdns_existing'] = 'Записи rDNS'; +$l['rdns_deleted'] = 'Запис rDNS було видалено'; +$l['rdns_id'] = 'ID'; +$l['rdns_ip'] = 'IP'; +$l['rdns_name'] = 'Ім’я'; +$l['rdns_domain'] = 'Домен'; +$l['rdns_db_conn_failed'] = 'Failed to connect to Reverse DNS server, please contact Administrator'; + +// edituser lang string - prefix : edu_ +$l['edu_no_user_email'] = 'Ви не вказали ідентифікатор електронної пошти'; +$l['edu_no_user_password'] = 'Ви не вказали пароль'; +$l['edu_invalid_email'] = 'Недійсний ідентифікатор електронної пошти'; +$l['edu_uid_not_found'] = 'id користувача не знайдено'; +$l['edu_useradd_error'] = 'Виникла помилка редагування користувача'; +$l['edu_page_head'] = 'Редагувати користувача'; +$l['edu_done'] = 'Користувача відредаговано'; +$l['edu_user_email'] = 'Email'; +$l['edu_user_password'] = 'Пароль'; + +// rescue lang string - prefix : resc_ +$l['resc_err_rescue_enable'] = 'Під час включення безпечного режиму виникли помилки'; +$l['resc_err_rescue_disable'] = 'Під час відключення безпечного режиму виникли помилки'; +$l['resc_err_downloading'] = 'Виникла помилка завантаження шаблону безпечного режиму'; +$l['resc_err_delete_disk'] = 'Під час видалення аварійного диску виникла помилка'; +$l['resc_cant_rescue'] = 'Безпечний режим не дозволен під час використання ISO. Спочатку видаліть ISO'; +$l['resc_heading'] = 'Безпечний режим'; +$l['resc_rescue_exp'] = 'Безпечний режим надає можливість завантажувати невелике середовище Linux з іншого диска, щоб Ви могли зберегти основний '.VM_SHORT.'-файл Linux чи файли резервних копій, що існують на ньому'; +$l['resc_enable_rescue'] = 'Включити безпечний режим'; +$l['resc_rescue_enabled'] = 'Безпечний режим включено'; +$l['resc_disable_rescue'] = 'Вимкнути безпечний режим'; +$l['resc_rescue_disabled'] = 'Безпечний режим вимкнено'; +$l['resc_resuce_enable_success'] = 'Процес включення безпечного режиму запущено в фоні '; +$l['resc_resuce_disable_success'] = 'Процес вимкнення безпечного режиму запущено в фоні'; +$l['resc_rescue_enable_notify'] = 'Безпечний режим включається...'; +$l['resc_rescue_disable_notify'] = 'Безпечний режим вимикається...'; +$l['resc_root_pass'] = 'Root пароль'; +$l['resc_root_pass_conf'] = 'Підтвердіть Пароль'; +$l['resc_disable_rescue_err'] = 'Безпечний режим відключено адміністратором'; +$l['resc_passwords_do_not_match'] = 'Вказані паролі підтвердження не співпадають'; + +// usersettings lang string - prefix : us_ +$l['us_no_lang'] = 'Мову не обрано'; +$l['us_wrong_lang'] = 'Обрана мова не існує.'; +$l['us_no_timezone'] = 'Ви не обрали часовий пояс'; +$l['us_timezone_invalid'] = 'Обраний часовий пояс недійсний'; +$l['us_wrong_theme'] = 'Обрана тема не існує'; +$l['us_page_head'] = 'Налаштування користувача '; +$l['us_change_final'] = 'Ваші налаштування успішно збережено'; +$l['us_choose_lang'] = 'Оберіть мову'; +$l['us_exp_lang'] = 'Оберіть бажану мову'; +$l['us_timezone'] = 'Часовий пояс'; +$l['us_default_timezone'] = 'Сервер за замовчуванням'; +$l['us_edit_settings'] = 'Змінити налаштування'; +$l['us_done'] = 'Ваші налаштування було успішно збережено'; +$l['us_choose_theme'] = 'Оберіть тему'; +$l['us_exp_theme'] = 'Оберіть бажану тему'; +$l['us_no_theme'] = 'Тему не обрано'; +$l['us_logo'] = 'Logo URL'; +$l['us_mob_logo'] = 'Mobile Logo URL'; +$l['us_login_logo'] = 'Login Logo URL'; +$l['us_logo_exp'] = 'Якщо нічого не обрано, буде відображатися порожній логотип за замовчуванням'; +$l['us_vps_bandwidth_threshold'] = VM_SHORT.' Bandwidth Threshold'; +$l['us_vps_bandwidth_threshold_exp'] = 'If set to Zero bandwidth threshold email will be disabled. Value in %'; +$l['us_no_vps_bandwidth_threshold'] = 'You did not enter bandwidth threshold'; +$l['us_invalid_vps_bandwidth_threshold'] = 'Invalid bandwidth threshold value'; +$l['us_dom_name'] = 'User domain name'; +$l['us_dom_exp'] = 'Enter your domain name(eg: www.demo.com)'; +$l['us_favicon_url'] = 'User Favicon URL'; +$l['us_favicon_url_exp'] = 'If empty default Favicon will be displayed'; +$l['us_dom_invalid'] = 'Please enter a valid User domain name'; +$l['us_no_url'] = 'You did not enter a User URL'; +$l['us_logo_url_err'] = 'Please enter a valid Logo URL'; +$l['us_favicon_url_err'] = 'Please enter a valid Favicon URL'; +$l['us_dom_no_blank'] = 'Domain name cannot be empty once set. It can only be changed'; + +//--------------START OF HAProxy Lang------------ +// ManageVDF (haproxy) lang string - prefix : vdf_ +$l['vdf_heading'] = 'Domain Переадресація'; +$l['vdf_serid'] = 'Сервер'; +$l['vdf_vpsid'] = VM_SHORT; +$l['vdf_proto'] = 'Протокол'; +$l['vdf_src_hname'] = 'Джерело Domain/IP'; +$l['vdf_src_dom'] = 'Джерело Domain'; +$l['vdf_src_ip'] = 'Джерело IP'; +$l['vdf_src_port'] = 'Джерело Port'; +$l['vdf_dest_ip'] = 'Місце призначення IP'; +$l['vdf_dest_port'] = 'Місце призначення Port'; + +$l['vdf_add_title'] = 'Нова переадресація домену'; +$l['vdf_sel_proto'] = 'Виберіть Protocol'; +$l['vdf_select_ip'] = 'Виберіть IP'; + +$l['vdf_no_act_sel'] = 'Ніяких дій не вибрано, виберіть та повторіть спробу'; +$l['vdf_success_add'] = 'Успішно додано'; +$l['vdf_success_update'] = 'Дані успішно оновлено'; +$l['vdf_success_save'] = 'Збережені зміни'; +$l['vdf_no_server_found'] = 'Сервер не знайдено'; +$l['vdf_conf_del_entries'] = 'Видалити вибрані записи ?'; +$l['vdf_success_del_entries'] = 'Видалено записи успішно'; +$l['vdf_ser_not_found'] = 'Запитаний сервер не знайдено'; +$l['vps_not_found_on_server'] = 'Запитаний VM_SHORT ({{vpsid}}) не знайдено на вибраному сервері ({{server}})'; +$l['vdf_proto_no_support'] = 'Protocol ID ({{protocolid}}) не підтримується'; +$l['vdf_no_id_found'] = 'VDF ID ({{id}}) не знайдено'; +$l['vdf_no_vps_id_found'] = VM_SHORT.' ID ({{vpsid}}) не знайдено'; +$l['vdf_inv_ipaddress'] = 'Вказаний IP не належить вам'; +$l['vdf_no_vps'] = 'Не знайдено '.VM_SHORT; + +$l['vdf_empty_allowed_src_ips'] = 'Список дозволених джерел IP-адреси порожній, адміністратор повинен встановити цей список IP перед використанням цієї функції'; +$l['vdf_inv_src_port'] = 'Вихідний порт ({{src_port}}) не є дійсним номером порта'; +$l['vdf_in_use_src_port'] = 'Вихідний порт ({{src_port}}) вже використовується'; +$l['vdf_inv_src_hostname'] = 'Вибраний вихідний домен ({{src_hostname}}) не є дійсним доменним ім’ям'; +$l['vdf_inv_src_ip'] = 'Вихідний IP ({{src_ip}}) не є дійсним IP'; +$l['vdf_not_available_src_ip'] = 'Вибраний вихідни IP ({{$src_ip}}) не є дійсним для '.VM_SHORT.' domain переадресації'; +$l['vdf_port_not_supported_tcp'] = 'Вихідний порт ({{src_port}}) не підтримується для вибраного протоколу TCP, він підтримується лише для протоколів: HTTP і HTTPS'; + +$l['vdf_inv_dest_port'] = 'Порт призначення ({{dest_port}}) не є дійсним номером порта'; +$l['vdf_inv_dest_ip'] = 'IP призначення ({{dest_ip}}) не є дійсною IP-адресою або не присвоєно цьому '.VM_SHORT; + +$l['vdf_note_point_domain'] = 'Note: Для роботи переадресації домену, ця vps\'s domain ім’я ({{src_hostname}}) має вказувати на один з цих IPs:'."\n".'{{ips_list}}'; +$l['vdf_err_exist_src_hostname_and_port'] = 'Запис вже існує для домену джерела ({{src_hostname}}) та вихідного порту ({{src_port}})'; + +$l['vdf_db_query_error'] = 'Сталася помилка під час виконання запиту бази даних, не вдалося обробити запит'; +$l['vdf_err_unknown'] = 'Під час обробки запиту сталася невідома помилка'; + +$l['vdf_err_haproxy_port_empty'] = 'Порт джерела порожній'; +$l['vdf_err_haproxy_port_used'] = 'Порт джерела {{src_port}} використовується'; +$l['vdf_in_haproxy_reservedports'] = 'Порт джерела {{src_port}} знаходиться в зарезервованому списку портів'; +$l['vdf_in_haproxy_reservedports_http'] = 'Порт джерела {{src_port}} знаходиться в зарезервованому списку портів, дозволений тільки для протоколу HTTP або HTTPS'; +$l['vdf_notin_haproxy_allowedports'] = 'Порт джерела {{src_port}} не в списку дозволених портів'; + +//VDF Information div lang +$l['vdf_info'] = 'Інформація'; +$l['vdf_info_server'] = 'Сервер'; +$l['vdf_info_reservedports'] = 'Зарезервовані порти'; +$l['vdf_info_allowedports'] = 'Додані порти'; +$l['vdf_info_reservedports_http'] = 'Зарезервовані порти тільки для HTTP/HTTPS'; + +//VDF Admin and '.VM_SHORT.' Log +$l['vdf_domain_forwarding'] = 'Domain Переадресація'; +$l['vdf_source'] = 'Джерело'; +$l['vdf_destination'] = 'Місце призначення'; +$l['vdf_added'] = 'Додано'; +$l['vdf_updated'] = 'Оновлено'; +$l['vdf_removed'] = 'Видалено'; +$l['vdf_removed_multiple'] = 'Видалено масово'; + +// toolt tips for domain forwarding +$l['vdf_tooltip_edit'] = 'Редагувати цей запис'; +$l['vdf_tooltip_save'] = 'Зберегти зміни, внесені в цей запис'; +$l['vdf_tooltip_revert'] = 'Повернути зміни, внесені до цієї запису'; +$l['vdf_tooltip_delete'] = 'Видалити цей запис'; + +$l['vdf_skipped_msg'] = 'Цей запис був пропущений'; +$l['vdf_skipped_haproxy_reservedports'] = 'Порт джерела знаходиться в списку заблокованих портів'; +$l['vdf_skipped_haproxy_reservedports_http'] = 'Порт джерела знаходиться в списку портів, зарезервований лише для HTTP і HTTPS'; +$l['vdf_skipped_haproxy_allowedports'] = 'Порт джерела не знаходиться в списку дозволених портів'; + +//--------------END OF HAProxy Lang------------ + +// create lang string - prefix : li_ +$l['li_no_type'] = 'Вкажіть тип віртуалізації'; +$l['li_num_vs_over'] = 'Ви вже створили максимальну кількість дозволених віртуальних машин'; +$l['li_no_hname'] = 'Вкажіть ім’я хоста'; +$l['li_no_os'] = 'Оберіть ОС для '.VM_SHORT; +$l['li_no_rootpass'] = 'Вкажіть пароль root'; +$l['li_no_disk_space'] = 'Вкажіть розмір дискового простору'; +$l['li_no_ram'] = 'Вкажіть об’єм оперативної пам’яті'; +$l['li_no_vncpass'] = 'Вкажіть пароль VNC'; +$l['li_no_bandwidth'] = 'Вкажіть швидкість канала'; +$l['li_no_cpu_units'] = 'Вкажіть частоту процесора'; +$l['li_no_cpu_cores'] = 'Вкажіть кількість ядер'; +$l['li_cores_max'] = 'Cores Max'; +$l['li_invalid_sg'] = 'Обраний регіон недійсний'; +$l['li_invalid_virt'] = 'Обраний регіон не підтримує обрану віртуалізацію'; +$l['li_no_percent_cpu'] = 'Вкажіть використання CPU у відсотках'; +$l['li_no_swap_ram'] = 'Вкажіть ОЗУ SWAP'; +$l['li_no_burst_ram'] = 'Вкажіть максимальний ліміт RAM'; +$l['li_invalid_os'] = 'Обрана Вами ОС недійсна'; +$l['li_no_ip'] = 'Вкажіть, принаймні, одну IP-адресу для '.VM_SHORT; +$l['li_invalid_uid'] = 'Обраний користувач не існує'; +$l['li_no_user'] = 'Адреса електронної пошти користувача не вказана'; +$l['li_no_user_pass'] = 'Пароль користувача не вказано'; +$l['li_invalid_email'] = 'Недопустима адреса електронної пошти користувача.'; +$l['li_emailexist'] = 'Вказана адреса електронної пошти вже існує'; +$l['li_err_user'] = 'Виникла помилка додання користувача'; +$l['li_invalid_hostname'] = 'Вказане ім’я хоста недісйне'; +$l['li_less_ram'] = 'У Вас недостатньо прав для створення '.VM_SHORT; +$l['li_less_burst'] = 'У Вас недостатньо Burst Ram для створення цього '.VM_SHORT; +$l['li_less_swap'] = 'You don\'t have enough Swap to create this '.VM_SHORT; +$l['li_less_space'] = 'У Вас недостатньо дискового простору для створення цього '.VM_SHORT; +$l['li_less_inodes'] = 'Інодів має бути не менш ніж 50000'; +$l['li_less_vs'] = 'Вам не дозволено створювати більше віртуальних машин'; +$l['li_less_bandwidth'] = 'У Вас недостатньо канала підключення для створення цього '.VM_SHORT; +$l['li_less_network_speed'] = 'You don\'t have enough network speed to create this '.VM_SHORT; +$l['li_less_upload_speed'] = 'You don\'t have enough upload speed to create this '.VM_SHORT; +$l['li_less_ipv4'] = 'У Вас недостатньо IPv4-адрес для створення цього '.VM_SHORT; +$l['li_less_ip_int'] = 'You don\'t have enough Internal IP Address(s) to create this '.VM_SHORT; +$l['li_less_ipv6'] = 'У Вас недостатньо IPv6-адрес для створення цього '.VM_SHORT; +$l['li_less_ipv6_subnet'] = 'У Вас недостатньо IPv6-підмереж для створення цього '.VM_SHORT; +$l['li_max_cores_exceeded'] = 'Вам не дозволено створювати віртуальну машину з такою кількістю ядер'; +$l['li_less_cores'] = 'У Вас недостатньо процесорних ядер для створення цього '.VM_SHORT; +$l['li_invalid_cores'] = 'Invalid Core value'; +$l['li_no_user_resource'] = 'Ви досягли максимальної кількості Користувачів, що можуть створювати'; +$l['li_no_server'] = 'Обраний регіон повністю використовується та не має достатніх ресурсів для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['li_ipv4_over'] = 'Обраний регіон не має достатньої кількості адрес IPv4 для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['li_ipv6_over'] = 'Обраний регіон не має достатньої кількості адрес IPv6 для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['li_ipv6_subnet_over'] = 'Обраний регіон не має достатньої кількості IPv6 Subnet для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['li_no_webuzo_template'] = 'Обраний шаблон ОС не є шаблоном Webuzo'; +$l['li_err_swapsize'] = 'Вказаний розмір SWAP не може бути більшим чи дорівнювати вказаному загальному об’єму диска'; +$l['li_inv_kvm_cache'] = 'Недопустимий Disk Cache диску'; +$l['li_inv_io_mode'] = 'Представлена політика вводу-виводу недійсна.'; +$l['li_inv_vnc_keymap'] = 'Представлена мапа клавіатури VNC недійсна.'; +$l['li_err_vpslimit'] = 'Перевищено ліміт створення '.VM_SHORT; +$l['li_page_head'] = 'Запуск прикладу'; +$l['li_vstype'] = 'Тип'; +$l['li_done'] = 'Віртуальний сервер було створено'; +$l['li_newvs_vpsid'] = VM_SHORT.' ID'; +$l['li_newvs_vps_name'] = VM_SHORT.' Ім’я'; +$l['li_newvs_rootpass'] = 'Root пароль'; +$l['li_newvs_vnc'] = 'VNC Деталі'; +$l['li_newvs_vncpass'] = 'VNC пароль'; +$l['li_newvs_ips'] = 'IP-адреса'; +$l['li_newvs_ips6'] = 'IPv6'; +$l['li_vs_server'] = 'Сервер'; +$l['li_exp_server'] = 'Змінити сервер для '.VM_SHORT; +$l['li_vs_ser_id'] = 'ID'; +$l['li_vs_user'] = 'Користувач'; +$l['li_vs_user_exp'] = 'Оберіть існуючого користувача або додайте колристувача'; +$l['li_user_email'] = 'Email користувача'; +$l['li_user_pass'] = 'Пароль'; +$l['li_add_user'] = 'Додати користувача'; +$l['li_regions'] = 'Region'; +$l['li_virt_type'] = 'Платформа віртуалізації'; +$l['li_os'] = 'Операційна система'; +$l['li_select'] = 'Обрати'; +$l['li_vs_plan'] = 'Обрати тариф'; +$l['li_plan_exp'] = 'Оберіть необхідний тарифний план'; +$l['li_hvm'] = 'Xen HVM'; +$l['li_hvm_exp'] = 'Ви хочете включити повну віртуалізацію для цього '.VM_SHORT.'?'; +$l['li_vsos'] = 'Операційна система'; +$l['li_vsos_exp'] = 'Оберіть операційну систему для '.VM_SHORT; +$l['li_vsiso'] = 'ISO'; +$l['li_vsiso_exp'] = 'Якщо обраний ISO, машина буде завантажена з цього ISO'; +$l['li_sec_vsiso'] = 'ISO для вторинного CDROM '; +$l['li_sec_vsiso_exp'] = 'Оберіть ISO для вторинного CDROM'; +$l['li_none'] = 'Ні'; +$l['li_rootpass'] = VM_SHORT.' Root пароль'; +$l['li_rootpass_exp'] = 'Пароль користувача / адміністратора '.VM_SHORT; +$l['li_randpass'] = 'Згенерувати випадковий пароль'; +$l['li_hostname'] = 'Ім’я хоста'; +$l['li_hostname_exp'] = 'Введіть ім’я хоста для '.VM_SHORT.'. Наприклад, www.domain.com'; +$l['li_ip'] = 'IP адреса'; +$l['li_ips'] = 'IP адреса'; +$l['li_ips_exp'] = 'Ви можете вказати кількість IP-адрес для призначення'; +$l['li_ips6_subnet'] = 'Підмережа IPv6'; +$l['li_ips6_subnet_exp'] = 'Ви можете вказати кількість підмереж IPv6 для призначення'; +$l['li_ips6'] = 'IPv6 адреса'; +$l['li_ips6_exp'] = 'Ви можете вказати кількість IPv6 для призначення'; +$l['li_ips_int'] = 'Internal IP Addresses'; +$l['li_ips_int_exp'] = 'You can specify the number of Internal IPs to assign'; +$l['li_add_ip'] = '+'; +$l['li_remove_ip'] = '-'; +$l['li_add_to_ips'] = '<<'; +$l['li_rem_from_ips'] = 'Видалити цю IP-адресу'; +$l['li_add_dns'] = '+'; +$l['li_hdd'] = 'Дисковий простір'; +$l['li_exp_hdd'] = 'Допустимий дисковий простір для '.VM_SHORT; +$l['li_mac'] = 'MAC-адреса'; +$l['li_exp_mac'] = 'Шість груп з двох шістнадцятирічних цифр, розділених двокрапкою (:), наприклад, 01: 23: 45: 67: 89: ab'; +$l['li_space_gb'] = 'GB'; +$l['li_inodes'] = 'Inodes'; +$l['li_iondisk'] = 'Максимальна кількість Inodes (тобто файлів) дозволено в '.VM_SHORT.'. Рекомендоване значення: 500000+'; +$l['li_gram'] = 'Гарантована RAM'; +$l['li_exp_gram'] = 'Об’єм оперативної пам’яті, яка буде завжди виділена для '.VM_SHORT; +$l['li_ram_mb'] = 'MB'; +$l['li_bram'] = 'Burstable RAM'; +$l['li_exp_bram'] = 'Максимальний об’єм оперативної пам’яті, що може використовувати '.VM_SHORT; +$l['li_swap'] = 'Swap RAM'; +$l['li_exp_swap'] = ''; +$l['li_exp_swap_hvm'] = 'Буде здійснена спроба створити розділ SWAP, якщо буде обрано шаблон ОС'; +$l['li_band'] = 'Трафік'; +$l['li_exp_band'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; +$l['li_band_gb'] = 'GB'; +$l['li_cpunit'] = 'Частота CPU'; +$l['li_cpalloc'] = 'Виділена частота CPU'; +$l['li_cpalloc_xen'] = 'Рекомендоване значення : 256'; +$l['li_cpalloc_openvz'] = 'Рекомендоване значення : 1000'; +$l['li_cpalloc_kvm'] = 'Рекомендоване значення : 1024'; +$l['li_units'] = 'Одиниць'; +$l['li_cores'] = 'CPU ядер'; +$l['li_cpucore_exp'] = 'Рекомендоване значення :'; +$l['li_percent'] = 'CPU %'; +$l['li_cpuperutil'] = 'CPU у відсотках, що відповідає '.VM_SHORT.', не може перевищувати.
Встановіть 0 необмежений. Рекомендоване значення: 40'; +$l['li_io'] = 'I/O пріоритет'; +$l['li_io0-7'] = 'Оберіть пріоритет з 0-7'; +$l['li_na'] = 'Швидкість мережі'; +$l['li_na_exp'] = 'Вкажіть швидкість мережі'; +$l['li_ubcsettings'] = 'Налаштування UBC'; +$l['li_exp_ubc'] = 'Якщо позначку встановлено, Ви будете перенаправлені для редагування налаштувань UBC '.VM_SHORT; +$l['li_submit'] = 'Створити'; +$l['li_addvoption'] = 'Розширені опції'; +$l['li_addvhide'] = 'Повернутися до стандартних опцій'; +$l['li_network_speed'] = 'Швидкічть мережі'; +$l['li_network_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.'; +$l['li_upload_speed'] = 'Швидкість завантаження'; +$l['li_upload_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.'; +$l['li_net_kb'] = 'KB/s'; +$l['li_no_limit'] = 'Необмежено'; +$l['li_shadow'] = 'Shadow Memory'; +$l['li_shadow_exp'] = 'Рекомендоване значення : 8 MB'; +$l['li_vncpass'] = 'VNC пароль'; +$l['li_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Натисніть на значок для генерації випадкового пароля.'; +$l['li_free'] = 'Free'; +$l['li_band_suspend'] = 'Bandwidth призупинено'; +$l['li_exp_band_suspend'] = 'Призупинити '.VM_SHORT.', якщо він перевищує вказаний ліміт трафіка'; +$l['li_tuntap'] = 'Tun/Tap'; +$l['li_ppp'] = 'PPP'; +$l['li_exp_tuntap'] = 'Включити Tun / Tap для '.VM_SHORT; +$l['li_exp_ppp'] = 'Включити PPP (протокол Point to Point) для '.VM_SHORT; +$l['li_osreinstall'] = 'Обмеження кількості перевстановлень ОС'; +$l['li_exp_osreinstall'] = 'Якщо Ви хочете обмежити кількість перевстановлень ОС в місяць.
Наприклад, 0 - необмежено "'; +$l['li_changenic'] = 'Тип віртуального мережевого інтерфейса'; +$l['li_exp_changenic'] = 'Якщо Ви хочете змінити тип мережевого інтерфейсу. Параметри - за замовчуванням або E1000. virtio буде використовуватися як тип віртуального nic, якщо включений virtio '; +$l['li_add_route'] = 'Використовувати маршрутизовану мережу'; +$l['li_exp_add_route'] = 'Якщо позначку встановлено, буде використовуватися маршрутизація.'; +$l['li_nic_default'] = 'Realtek 8139 (за замовчуванням)'; +$l['li_nic_e1000'] = 'Intel E1000'; +$l['li_change_vif_type'] = 'Тип емуляції віртуального мережевого інтерфейсу'; +$l['li_exp_change_vif_type'] = 'Якщо Ви хочете змінити тип емуляції мережевого інтерфейсу. Параметри netfront або ioemu .'; +$l['li_viftype_ioemu'] = 'ioemu'; +$l['li_viftype_netfront'] = 'Netfront (за замовчуванням)'; +$l['li_usevirtio'] = 'Включити virtio'; +$l['li_exp_usevirtio'] = 'Використовуйте virtio в якості віртуалізації IO'; +$l['li_usesec_cdrom'] = 'Включити вторинний CD-ROM'; +$l['li_exp_usesec_cdrom'] = 'Включіть, щоб підключити вторинний ISO до віртуальної машини.'; +$l['li_kvm_cache'] = 'Disk Caching'; +$l['li_exp_kvm_cache'] = 'Керує кешуванням'; +$l['li_io_mode'] = 'Політика I/O'; +$l['li_vnc_keymap'] = 'Клавіатура консолі VNC'; +$l['li_dns'] = 'DNS-сервери імен'; +$l['li_exp_dns'] = 'Якщо не знаєте, використовуйте 4.2.2.1 и 4.2.2.2'; +$l['li_mg'] = 'Media Groups'; +$l['li_mg_exp'] = 'If no Media Group is assigned then all Media will be available to this '.VM_SHORT.'.'; +$l['li_apps'] = 'Додатки'; +$l['li_apps_exp'] = 'Оберіть додаток Webuzo, яке необхідно встановити.'; +$l['li_ploop'] = 'Ploop'; +$l['li_ploop_exp'] = 'Якщо включено, '.VM_SHORT.' буде створено з форматом Ploop'; +$l['li_mac_temp_vncdetails'] = 'MAC-адреса :'; +$l['li_mail_temp_vnctitle'] = 'Деталі VNC : '; +$l['li_mail_temp_vncdetails'] = 'Деталі VNC :'; +$l['li_mail_temp_vncpasswd'] = 'Пароль VNC :'; +$l['li_reinstall'] = 'Перевстановити '.VM_SHORT; +$l['li_space'] = 'Дисковий простір'; +$l['li_space_exp'] = 'Допустимий дисковий простір для '.VM_SHORT; +$l['li_ram'] = 'Гарантована RAM'; +$l['li_ram_exp'] = 'Об’єм оперативної пам’яті, що буде завжди виділений '.VM_SHORT; +$l['li_burst'] = 'Burstable RAM'; +$l['li_burst_exp'] = 'Максимальний об’єм оперативної пам’яті '.VM_SHORT; +$l['li_swap'] = 'Swap RAM'; +$l['li_swap_exp'] = 'Swap RAM'; +$l['li_swap_hvm'] = 'Буде здійснена спроба створити розділ SWAP, якщо буде обрано шаблон ОС'; +$l['li_bandwidth'] = 'Bandwidth'; +$l['li_bandwidth_exp'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; +$l['li_free'] = 'Free'; +$l['li_unlimited'] = 'Необмежений'; +$l['li_submit'] = 'Створити'; +$l['li_weak_pass'] = 'Пароль має містити мінімум 3 наступних символи: прописна літера, строчна літера, номер або спеціальний символ'; +$l['li_usevirtio'] = 'Включити virtio'; +$l['li_usevirtio_exp'] = 'Використовувати virtio як віртуалізацію I/O '; +$l['li_plan_name'] = 'Plan Name'; +$l['li_plan_details'] = 'Plan Details'; +$l['li_new_vps_info'] = 'New '.VM_SHORT; +$l['li_back'] = 'Back'; +$l['li_continue'] = 'Continue'; +$l['li_nic'] = 'Virtual Network Interface Type'; +$l['li_nic_exp'] = 'Choose the Virtual network interface type.'; +$l['li_vif'] = 'Virtual Network Interface Emulation type'; +$l['li_vif_exp'] = 'Choose the network interface emulation type. Options are netfront or ioemu.'; +$l['li_enable_cpu_topology'] = 'CPU Topology'; +$l['li_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['li_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['li_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['li_sockets'] = 'CPU Sockets'; +$l['li_threads'] = 'CPU Threads'; +$l['li_month'] = 'Month'; +$l['li_hour'] = 'Hour'; +$l['li_invalid_plid'] = 'The Plan you submitted is invalid'; +$l['li_no_plid'] = 'No plan is selected. Please select a valid plan'; +$l['li_install_app'] = 'Install Application'; +$l['li_install_app_exp'] = 'NOTE: Webuzo will be installed as a control panel'; +$l['li_insufficient_balance'] = 'You have insufficient balance, please add funds now.'; + +$l['li_cpu_mode'] = 'CPU Mode'; +$l['li_cpu_mode_exp'] = 'CPU mode'; +$l['li_disable_ebtables'] = 'Disable ebtables'; +$l['li_disable_ebtables_exp'] = 'Disable ebtables rules (this rules bind '.VM_SHORT.' IP to MAC address of '.VM_SHORT.' NIC)'; +$l['li_rdp'] = 'Enable RDP'; +$l['li_rdp_exp'] = 'Enable Remote Desktop Connection (For Windows '.VM_SHORT.' only)'; + +// editvm lang string - prefix : ei_ +$l['ei_page_head'] = 'Edit '.VM_SHORT; +$l['ei_vs_user'] = 'Користувач'; +$l['ei_vs_user_exp'] = 'Оберіть існуючого користувача або додайте користувача'; +$l['ei_user_email'] = 'User Email'; +$l['ei_user_pass'] = 'Пароль'; +$l['ei_add_user'] = 'Додати користувача'; +$l['ei_unknown'] = 'Unknown'; +$l['ei_vsos'] = 'Операційна система'; +$l['ei_vsos_exp'] = 'Поточна операційна система '.VM_SHORT; +$l['ei_vsiso'] = 'ISO'; +$l['ei_vsiso_exp'] = 'Якщо обраний ISO, машина буде завантажена з цього ISO'; +$l['ei_none'] = 'Ні'; +$l['ei_hostname'] = 'Ім’я хоста'; +$l['ei_hostname_exp'] = 'Введіть ім’я хоста для '.VM_SHORT.'. Наприклад, www.domain.com'; +$l['ei_rootpass'] = 'Пароль користувача '.VM_SHORT; +$l['ei_rootpass_exp'] = 'Залиште порожнім, якщо не хочете змінювати поточний пароль'; +$l['ei_randpass'] = 'Згенерувати пароль'; +$l['ei_ip'] = 'IP адреса'; +$l['ei_ips_exp'] = 'Ви можете обрати з пула IP, чи вказати інші IP-адреси'; +$l['ei_ips6_subnet'] = 'Підмережі IPv6'; +$l['ei_ips6_subnet_exp'] = 'Ви можете обрати з переліку підмережі IPv6'; +$l['ei_free'] = 'Free'; +$l['ei_ips6'] = 'Адреси IPv6'; +$l['ei_ips6_exp'] = 'You can specify the number of IPv6 to assign'; +$l['ei_space'] = 'Дисковий простір'; +$l['ei_space_exp'] = 'Допустимий дисковий простір для '.VM_SHORT; +$l['ei_ram'] = 'Гарантирована RAM'; +$l['ei_ram_exp'] = 'Об’єм постійної оперативної пам’яті '.VM_SHORT.' '; +$l['ei_burst'] = 'Burstable RAM'; +$l['ei_burst_exp'] = 'Максимальний об’єм оперативної пам’яті '.VM_SHORT; +$l['ei_swap'] = 'Swap RAM'; +$l['ei_swap_exp'] = 'Swap RAM'; +$l['ei_bandwidth'] = 'Bandwidth'; +$l['ei_bandwidth_exp'] = 'Щомісячний трафік '.VM_SHORT.'. 0 (Zero) для необмеженого'; +$l['ei_cores'] = 'кількість ядер CPU'; +$l['ei_cpucore_exp'] = 'Рекомендоване :'; +$l['ei_cores_max'] = 'Cores Max'; +$l['ei_unlimited'] = 'Необмежено'; +$l['ei_network_speed'] = 'Швидкість мережі'; +$l['ei_network_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.
Використовуйте поле вибору для зручності'; +$l['ei_upload_speed'] = 'Upload Speed'; +$l['ei_upload_speed_exp'] = 'Введіть 0 або залиште порожнім для необмеженого.
Використовуйте поле вибору для зручності'; +$l['ei_net_kb'] = 'KB/s'; +$l['ei_no_limit'] = 'Необмежений'; +$l['ei_vncpass'] = 'VNC пароль'; +$l['ei_vncpass_exp'] = 'Пароль VNC для '.VM_SHORT.'. Натисніть на значок для генерації пароля.'; +$l['ei_submit'] = 'Редагувати Server'; +$l['ei_done'] = 'Віртуальний сервер було успішно відредаговано'; +$l['ei_addvoption'] = 'Розширені опції'; +$l['ei_no_uid'] = 'Користувача не обрано'; +$l['ei_no_nonalphanumeric'] = 'Для пароля VNC не допустимі символи, відмінні від літерно-цифрових символів'; +$l['ei_less_space'] = 'У Вас недостатньо дискового простору для створення цього '.VM_SHORT; +$l['ei_less_ram'] = 'У Вас недостатньо RAM для створення цього '.VM_SHORT; +$l['ei_max_cores_exceeded'] = 'Вам не дозволено створювати '.VM_SHORT.' з такою кількістю ядер'; +$l['ei_less_cores'] = 'У Вас недостатньо процесорних ядер для створення цього '.VM_SHORT; +$l['ei_less_burst'] = 'У Вас недостатньо Burst Ram для створення цього '.VM_SHORT; +$l['ei_ipv4_over'] = 'Обраний регіон не має достатньої кількості адрес IPv4 для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['ei_ipv6_over'] = 'Обраний регіон не має достатньої кількості ресурсів IPv6 для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['ei_ipv6_subnet_over'] = 'Обраний регіон не має достатньої кількості IPv6 Subnet (s) для створення цієї віртуальної машини. Повідомте про це адміністратора'; +$l['ei_less_ipv4'] = 'У Вас недостатньо IPv4-адрес для створення цього '.VM_SHORT; +$l['ei_less_ipv6'] = 'У Вас недостатньо IPv6-адрес для створення цього '.VM_SHORT; +$l['ei_less_ipv6_subnet'] = 'У Вас недостатньо IPv6-підмереж для створення цього '.VM_SHORT; +$l['ei_wrong_user'] = 'Ви не можете змінити цього користувача'; +$l['ei_only_user'] = 'В процесі редагування користувача віртуальної машини ресурси не може бути змінено'; +$l['ei_less_swap'] = 'У Вас недостатньо swap ram'; +$l['ei_usevirtio'] = 'Включити virtio'; +$l['ei_usevirtio_exp'] = 'Використовувати virtio як віртуалізацію I/O'; +$l['ei_less_bandwidth'] = 'У Вас недостатньо ресурса Bandwidth для призначення цьому '.VM_SHORT; +$l['ei_enable_cpu_topology'] = 'CPU Topology'; +$l['ei_enable_cpu_topology_exp'] = 'Specify the number of CPU cores, Threads and Sockets to be assigned to the '.VM_SHORT; +$l['ei_inv_topology'] = 'Invalid CPU Topology value(s). All the topology values specified must be greater than zero'; +$l['ei_err_topology_calc'] = 'CPU cores specified should be equal to the topology limit (CPU cores = Sockets x Topology Cores x Threads)'; +$l['ei_sockets'] = 'CPU Sockets'; +$l['ei_threads'] = 'CPU Threads'; +$l['ei_in_plan'] = 'Included in Plan'; +$l['ei_add_pricing'] = 'Additional Pricing'; +$l['ei_plan'] = 'Current Plan'; +$l['ei_plan_exp'] = 'Select the plan you want to change to. Note : If your current resources are more than the new plan, you will be charged additional as per the resource pricing'; +$l['ei_plid_space'] = 'You cannot downgrade to a lower plan'; + +// controlpanel lang string - prefix : cpan_ +$l['cpan_wrong_panel'] = 'Обрана панель недійсна'; +$l['cpan_err_installing'] = 'Виникла помилка встанволення панелі'; +$l['cpan_wrong_os'] = 'Панель керування не може бути встановлена на '; +$l['cpan_confirm'] = 'Are you sure you want to install this panel ? Data on the server will be altered significantly. This process will download and install the selected control panel on your '.VM_SHORT.'. This process can take up-to 90 minutes. You may follow the installation progress via SSH'; +$l['cpan_done'] = 'Встановлення панелі розпочато та невдовзі буде завершено'; +$l['cpan_change_onboot'] = 'Панель буде встановлено по закінченню робіт, потім запускається '.VM_SHORT; +$l['cpan_vps_start'] = 'The '.VM_SHORT.' is not running ! Please start the '.VM_SHORT.' first.'; +$l['cpan_heading'] = 'Панель керування'; +$l['cpan_os_notice'] = 'You are using custom template or the OS which is not supported by following panels'; +$l['cpan_no_file'] = 'JSON file of supported OS for control panel is missing, so diplaying all the panels'; + +// backup2 lang string - prefix : bkup2_ +$l['bkup2_page_head'] = 'Backups'; +$l['bkup2_list_head'] = 'Backups list of '.VM_SHORT.' ID: '; +$l['bkup2_list_exp'] = 'The dates for which backups of this '.VM_SHORT.' are available are listed below. You can restore or delete them accordingly.'; +$l['bkup2_date'] = 'Backup Date'; +$l['bkup2_size'] = 'Size'; +$l['bkup2_action'] = 'Action'; +$l['bkup2_restore'] = 'Restore'; +$l['bkup2_delete'] = 'Delete Backup'; +$l['bkup2_now'] = 'Backup Now'; +$l['bkup2_conf_cbackup'] = 'Are you sure you want to create backup ?'; +$l['bkup2_conf_restore'] = 'Are you sure you want to restore this backup ?'; +$l['bkup2_conf_delete'] = 'Are you sure you want to delete this backup ?'; +$l['bkup2_list'] = 'Backups List'; +$l['bkup2_settings'] = 'Settings'; +$l['bkup2_backup_server'] = 'Backup Server'; +$l['bkup2_backup_server_exp'] = 'If specified backups will be uploaded to backup server'; +$l['bkup2_none'] = 'None'; +$l['bkup2_server'] = 'Server'; +$l['bkup2_no_day'] = 'Please specify a valid day for the backup'; +$l['bkup2_no_date'] = 'Invalid backup date specified'; +$l['bkup2_no_freq'] = 'Please specify a valid frequency for the backup'; +$l['bkup2_no_time'] = 'Please specify a valid time for the backup'; +$l['bkup2_no_bserid'] = 'Please specify a valid backup server'; +$l['bkup2_done_backup'] = 'The '.VM_SHORT.' backup process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_restore'] = 'The '.VM_SHORT.' restore process has been started. Please allow a few minutes for it to complete. You will receive a notification email when its is completed'; +$l['bkup2_done_delete'] = 'The '.VM_SHORT.' backup has been deleted successfully'; +$l['bkup2_done_save_settings'] = 'The backup settings have been saved successfully.'; +$l['bkup2_err_backup'] = 'There was an error while creating the backup'; +$l['bkup2_err_restore'] = 'There was an error while restoring the '.VM_SHORT; +$l['bkup2_err_deletevpsbackup'] = 'There was an error while deleting the backup of the '.VM_SHORT; +$l['bkup2_err_backup_not_allowed'] = 'This '.VM_SHORT.' is not allowed to have backups'; +$l['bkup2_err_task_running'] = 'A Backup or Restore process is already running for this '.VM_SHORT.'. Please wait for it to complete'; +$l['bkup2_err_backup_limit'] = 'You have reached the backup limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_restore_limit'] = 'You have reached the restore limit of this '.VM_SHORT.' for the month.'; +$l['bkup2_err_save_settings'] = 'There was an error while saving the backup settings'; +$l['bkup2_monthly_bkups_used'] = 'Monthly Backups Used:'; +$l['bkup2_monthly_restores_used'] = 'Monthly Restores Used:'; +$l['bkup2_current_cycle'] = 'Current Cycle:'; +$l['bkup2_unlimited'] = 'Unlimited'; + +// hvmsettings lang string - prefix : hvm_ +$l['hvm_virt_error'] = 'Ця віртуалізація не має налаштувань HVM'; +$l['hvm_rescue_enabled'] = VM_SHORT.' знаходиться в безпечному режимі й не може бути змінено'; +$l['hvm_invalid_iso'] = 'Обраний ISO недійсний'; +$l['hvm_err_editing'] = 'Виникла помилка збереження налаштувань'; +$l['hvm_heading'] = 'HVM налаштування'; +$l['hvm_submit_button'] = 'Надіслати'; +$l['hvm_done'] = 'Налаштування успішно збережені'; +$l['hvm_apic'] = 'APIC'; +$l['hvm_acpi'] = 'ACPI'; +$l['hvm_vnc'] = 'VNC'; +$l['hvm_boot_order'] = 'Порядок завантаження'; +$l['hvm_isos'] = 'Оберіть ISO'; +$l['hvm_none'] = 'Ні'; +$l['hvm_tuntap_enable'] = 'Включити Tun/Tap'; +$l['hvm_ppp_enable'] = 'Включити PPP( Point to Point Protocol)'; +$l['hvm_disabled'] = 'Налаштування HVM відкллючені адміністратором'; +$l['hvm_hdd'] = 'Жорсткий диск'; +$l['hvm_cdrom'] = 'CD-привід'; +$l['hvm_vnc_keymap'] = 'Клавіатура консолі VNC'; +$l['hvm_enable_vga'] = 'Включити VGA'; +$l['hvm_enable_acceleration'] = 'Включити прискорення'; +$l['hvm_enable_acceleration_exp'] = 'Якщо позначено, то для '.VM_SHORT.' буде активовано 2D та 3D прискорення'; +$l['hvm_sec_iso'] = 'ISO для вторинного CDROM '; +$l['hvm_sec_iso_exp'] = 'Оберіть ISO для вторинного CDROM'; +$l['hvm_nic_type'] = 'Тип віртуального мережевого інтерфейсу'; +$l['hvm_nic_type_exp'] = 'Якщо Ви хочете змінити тип мережевого інтерфейсу. Параметри - за замовчуванням або E1000. Virtio буде використовуватися як тип віртуального nic, якщо virtio включений'; +$l['nic_default'] = 'Realtek 8139 (за замовчуванням)'; +$l['nic_e1000'] = 'Intel E1000'; +$l['nic_ne2k_pci'] = 'Novell NE2000'; +$l['nic_i82559er'] = 'Intel i82559er'; +$l['nic_pcnet'] = 'AMD PCNET'; +$l['nic_ne2k_isa'] = 'Novell E2000 ISA'; +$l['nic_virtio'] = 'Virtio'; +$l['nic_vmxnet3'] = 'VMware vmxnet3'; +$l['hvm_enable_virtio'] = 'Включити Virtio'; +$l['hvm_fuse'] = 'Увімкнути Fuse у контейнері(ах)'; +$l['hvm_fuse_exp'] = 'Якщо позначено, Fuse буде активовано під час створення нового контейнера(ів).'; +$l['hvm_ipip'] = 'Увімкнути IPIP у контейнері(ах)'; +$l['hvm_ipip_exp'] = 'Якщо позначено, IPIP буде активовано під час створення нового контейнера(ів).'; +$l['hvm_ipgre'] = 'Увімкнути IPGRE у контейнері(ах)'; +$l['hvm_ipgre_exp'] = 'Якщо позначено, IPGRE буде активовано під час створення нового контейнера(ів).'; +$l['hvm_nfs'] = 'Увімкнути NFS у контейнері(ах)'; +$l['hvm_nfs_exp'] = 'Якщо позначено, NFS буде активовано під час створення нового контейнера(ів).'; +$l['hvm_quotaugidlimit'] = 'Увімкнути QUOTAUGIDLIMIT у контейнері(ах)'; +$l['hvm_quotaugidlimit_exp'] = 'Вмикає або вимикає в-контейнері квоти для диска для кожного користувача та групи. Якщо значення встановлено 0 або не встановлено, квоти диска всередині контейнера вимикаються та не враховуються.
+NOTE: Це перезавантажить контейнер.'; +$l['hvm_iolimit'] = 'Встановити IO Bandwidth ліміт для контейнера(ів)'; +$l['hvm_iolimit_exp'] = 'Якщо встановлено, операція IO не буде перевищувати зазначену межу при виконанні операцій ІО.'; +$l['hvm_iopslimit'] = 'Встановити IOPS ліміт для контейнера(ів)'; +$l['hvm_iopslimit_exp'] = 'Якщо встановлено, операції IO в секунду не будуть перевищувати зазначену межу.'; +$l['hvm_admin_iso'] = 'Admin ISOs'; +$l['hvm_user_iso'] = 'User ISOs'; +$l['hvm_addiso'] = 'Add ISO'; +$l['hvm_listiso'] = 'List ISO'; +$l['hvm_timezone'] = 'Select '.VM_SHORT.' Timezone'; + +// cpu lang string - prefix : cpu_ +$l['cpu_header'] = ' CPU '; +$l['cpu_cpuinfo'] = 'CPU інформація'; +$l['cpu_totalcpu'] = 'Всього CPU :'; +$l['cpu_cpuutilised'] = 'Використано : '; +$l['cpu_poweredby'] = 'Powered by : '; +$l['cpu_graphheader'] = 'Використання CPU'; +$l['cpu_trademarks'] = 'Всі відповідні логотипи є товарними знаками або зареєстрованими товарними знаками відповідних компаній.'; +$l['cpu_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; + +// ram lang string - prefix : ram_ +$l['ram_header'] = ' RAM'; +$l['ram_raminfo'] = 'RAM інформація'; +$l['ram_totalram'] = 'RAM : '; +$l['ram_gaurateed'] = 'Гарантована RAM : '; +$l['ram_burstable'] = 'Burstable :'; +$l['ram_swap'] = 'SWAP :'; +$l['ram_utilised'] = 'Використано :'; +$l['ram_percentram'] = 'Використання % :'; +$l['ram_graphheader'] = 'Використання RAM'; +$l['ram_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; + +// disk lang string - prefix : disk_ +$l['disk_header'] = 'Диск'; +$l['disk_diskinfo'] = 'Інформація про диск'; +$l['disk_totaldisk'] = 'Всього диска : '; +$l['disk_diskutilised'] = 'Використано : '; +$l['disk_percentdisk'] = 'Використання % : '; +$l['disk_graphheader'] = 'Використання диска'; +$l['disk_inodesinfo'] ='Інформація інодів'; +$l['disk_inodestotal'] = 'Всього інодів :'; +$l['disk_inodesutilised'] = 'Використано : '; +$l['disk_percent_inodes'] = 'Использование % :'; +$l['disk_inodesheader'] = 'Використання інодів'; +$l['disk_not_supported'] = 'Поточний моніторинг цього ресурса не підтримується.'; + +// bandwidth lang string - prefix : band_ +$l['band_heading'] = 'Bandwidth'; +$l['band_bandwidthinfo'] = 'Інформація про пропускну здатність'; +$l['band_Total_Bandwidth'] = 'Загальна пропускна здатність :'; +$l['band_bandwidth_utilized'] = 'Використано : '; +$l['band_percent_utilized'] = '% використовується : '; +$l['band_graphheader'] = 'Використання канала'; +$l['band_unlimited'] = 'Необмежений'; +$l['band_network_speed'] = 'Швидкість мережі (MB/s)'; +$l['band_prev'] = 'Поперед.Місяць'; +$l['band_next'] = 'Наст.Місяць'; + +// console lang string - prefix : cs_ +$l['cs_disabled'] = 'Serial консоль відключена'; +$l['cs_call_failed'] = 'Не вдалося виконати виклик API. Будь-ласка, зв’яжіться з адміністратором'; +$l['cs_heading'] = 'Serial консоль'; +$l['cs_none'] = 'Існуючий сеанс консолі відсутній. Будь-ласка, створіть його!'; +$l['cs_create'] = 'Створити сеанс'; +$l['cs_creating'] = 'Створення сеанса ...'; +$l['cs_destroying'] = 'Завершення сеанса ...'; +$l['cs_details'] = 'Нижче наведено відомості про консоль'; +$l['cs_expires'] = 'Спливає'; +$l['cs_ip'] = 'IP адреса'; +$l['cs_port'] = 'Port'; +$l['cs_username'] = 'Логін'; +$l['cs_password'] = 'пароль'; +$l['cs_destroy'] = 'Завершити сеанс'; +$l['cs_java_console'] = 'Java Console'; + +// statuslogs lang string - prefix : sts_ +$l['sts_heading'] = 'Журнали стану'; +$l['sts_running'] = 'Активний'; +$l['sts_stopped'] = 'Зупинений'; +$l['sts_sts'] = 'Стан системи'; +$l['sts_time'] = 'Час'; + +// system_alerts lang string - prefix : sysa_ +$l['sysa_alert_heading'] = 'Системні повідомлення'; + +// Tasks lang string - prefix : tasks_ +$l['tasks_heading'] = 'Завдання'; +$l['tasks_task_started'] = 'Запуск завдання'; +$l['tasks_no_tasks'] = 'Для цього користувача відсутні активні завдання'; +$l['tasks_addvs'] = 'Створення '.VM_SHORT; +$l['tasks_create_vps'] = 'Create '.VM_SHORT.' Operation'; +$l['tasks_edit_vps'] = 'Edit '.VM_SHORT.' Operation'; +$l['tasks_addsshkeys'] = 'Adding SSH Keys'; +$l['tasks_reinstall_callback'] = 'Callback for Reinstall'; +$l['tasks_editvzkvs'] = 'Edit Virtuozzo KVM '.VM_SHORT; +$l['tasks_fstrim_handle'] = 'Fstrim Handle'; +$l['tasks_addvs_restore'] = 'Створення '.VM_SHORT.' для відновлення'; +$l['tasks_fstab_handle'] = 'FS Tab Handle'; +$l['tasks_deletevs'] = 'Видалення '.VM_SHORT; +$l['tasks_migrateprog'] = 'Міграція '.VM_SHORT; +$l['tasks_migratedest'] = 'Міграція '.VM_SHORT; +$l['tasks_multivirt'] = 'Включення Multivirt'; +$l['tasks_createtemplate'] = 'Створення шаблону'; +$l['tasks_getos'] = 'Завантаження OS'; +$l['tasks_rebuildvs'] = 'Ребілд '.VM_SHORT; +$l['tasks_resizevps'] = 'Ресайз '.VM_SHORT; +$l['tasks_bandwidth_unsuspend'] = 'Розблокувати Bandwidth'; +$l['tasks_removed_speed_capped'] = 'Відновити network speed'; +$l['tasks_restorevps'] = 'Відновлення '.VM_SHORT; +$l['tasks_vpsbackups'] = 'Backing up '.VM_SHORT; +$l['tasks_restorevps_plan'] = 'Restoring '.VM_SHORT; +$l['tasks_vpsbackups_plan'] = 'Backing up '.VM_SHORT; +$l['tasks_restore'] = 'Відновлення '.VM_SHORT; +$l['tasks_backup'] = 'Backing up '.VM_SHORT; +$l['tasks_change_dnsnameserver'] = 'Зміна DNS Nameserver'; +$l['tasks_changepassword'] = 'Зміна Password'; +$l['tasks_sync_config'] = 'Sync Configuration'; +$l['tasks_install_cp'] = 'Встановлення Control Panel'; +$l['tasks_install_recipe'] = 'Встановлення Recipe'; +$l['tasks_hostname'] = 'Зміна Hostname'; +$l['tasks_editxcpvs'] = 'Редагувати XCP '.VM_SHORT; +$l['tasks_error'] = 'Errored'; +$l['tasks_inprogress'] = 'В процесі'; +$l['tasks_order'] = 'Order'; +$l['tasks_asc'] = 'Ascending'; +$l['tasks_desc'] = 'Descending'; +$l['tasks_submit'] = 'Пошук'; +$l['tasks_progress'] = 'Прогрес'; +$l['tasks_completed'] = 'Завдання завершено'; +$l['tasks_task_notcomplete'] = 'Завдання не може бути завершено.'; +$l['tasks_task_notupdated'] = 'Завдання не оновлено !'; +$l['tasks_task_notupdated_status'] = 'Process Untrackable'; +$l['tasks_migrate_speed'] = 'Швидкість переміщення: '; +$l['tasks_started'] = 'Почато'; +$l['tasks_updated'] = 'Оновлено'; +$l['tasks_ended'] = 'Закінчено'; +$l['tasks_notupdated'] = 'Не оновлено'; +$l['tasks_unslaved'] = 'Unslaved Server'; +$l['tasks_not_started'] = 'Завдання не почато'; +$l['tasks_not_updated'] = 'Завдання не оновлено'; +$l['tasks_not_ended'] = 'Завдання не закінчено'; +$l['tasks_start_vps'] = VM_SHORT.' Start'; +$l['tasks_start_vps_error'] = 'Під час запуску '.VM_SHORT.' сталася помилка'; +$l['tasks_restart_vps'] = VM_SHORT.' Restart'; +$l['tasks_restart_vps_error'] = 'Під час перезавантаження '.VM_SHORT.' сталася помилка'; +$l['tasks_stop_vps'] = VM_SHORT.' Stop'; +$l['tasks_stop_vps_error'] = 'Під час зупинки '.VM_SHORT.' сталася помилка'; +$l['tasks_poweroff_vps'] = VM_SHORT.' Poweroff'; +$l['tasks_poweroff_vps_error'] = 'Під час виключення '.VM_SHORT.' сталася помилка'; +$l['tasks_enable_rescuevs'] = 'Увімкнути Rescue'; +$l['tasks_disable_rescuevs'] = 'Вимкнути Rescue'; +$l['tasks_remotedesktop'] = 'Віддалений Desktop Task'; +$l['tasks_change_vncpass'] = 'Змінити VNC Password'; +$l['tasks_installxentools'] = 'Installing Xenserver Tools'; +$l['tasks_install_script'] = 'Installing Apps'; + +// Register Land Strings - prefix : reg_ +$l['reg_sec_inv'] = 'Security code is invalid'; +$l['reg_no_username'] = 'The Username field was empty'; +$l['reg_no_email']= 'The Email field was empty'; +$l['reg_no_password'] = 'The Password field was empty'; +$l['pr_no_address'] = 'Please specify the Address'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_state'] = 'Please specify the state'; +$l['pr_no_zip'] = 'Please specify the zip code'; +$l['pr_no_country'] = 'Please specify the country'; +$l['pr_no_city'] = 'Please specify the city'; +$l['pr_no_phone'] = 'Please specify the phone number'; +$l['pr_no_sys_admin_email'] = 'Please specify the system admin email'; +$l['reg_inv_email']= 'The Email is invalid'; +$l['reg_pass_short'] = 'The Password field must be greater than '.$globals['user_pass_min_char'].' characters'; +$l['reg_email_exist'] = 'The Email Address you provided already exists'; +$l['reg_soft_error'] = 'There was some error while creating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_done'] = 'Your account has been created. An activation link has been emailed to you. Please use it to verify your email and activate your account'; +$l['reg_recaptcha_invalid'] = 'The reCaptcha input-response is missing or key mismatched'; + +$l['register'] = 'Register'; +$l['reg_acc'] = 'Create Account'; +$l['reg_username'] = 'Username'; +$l['reg_email'] = 'Email'; +$l['reg_pass'] = 'Password'; +$l['reg_resendact'] = 'Resend Activation Code'; +$l['reg_mail_sub'] = 'Activate Account'; +$l['reg_mail_body'] = 'Hi {{email}}, + +Thank you for registering an account at {{sn}}. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; + +$l['reg_val_soft_error'] = 'There was some error while validating your account. Please contact the support team : '.$globals['support_email']; +$l['reg_val_done'] = 'Your account has been activated. You can now login to your account and monitor everything !'; +$l['reg_val_mail_sub'] = 'Welcome to '.$globals['sn']; +$l['reg_val_mail_body'] = 'Congratulations on creating your brand new '.$globals['sn'].' account, {{email}}. + +You may now login to your account at : +'.$globals['cp_url'].'/?#act=login + +Please keep this email for your records, as it contains important information of your account. + +Enjoy! + +The '.$globals['sn'].' Team +'.$globals['cp_url'].' + +User ID: {{uid}} +Activation code: {{activation_code}}'; +$l['reg_mail_admin_sub'] = 'New Cloud user Registered for '.$globals['sn']; +$l['reg_mail_admin_body'] = 'New cloud user registered with email {{email}} + +User details : +User ID : {{uid}} +{{contact_no}} +'; +$l['reg_contact_no'] = 'Mobile Number : '; +$l['reg_val_acc'] = 'User Email Validation'; +$l['reg_val_done_cong'] = 'Congratulations on creating your brand new '.$globals['sn'].' account :'; +$l['reg_val_done_uni'] = 'You may now login to your account at :
+'.$globals['cp_url'].'/?#act=login

+ +Enjoy!

+ +The '.$globals['sn'].' Team
+'.$globals['cp_url'].''; +$l['reg_val_done_uid'] = 'User ID :'; +$l['reg_val_done_act'] = 'Activation Code :'; + +$l['resendact'] = 'Resend Activation'; +$l['reg_res_no_username'] = 'The Email field was empty'; +$l['reg_res_soft_error'] = 'There was some error while resending the activation email. Please contact the support team : '.$globals['support_email']; +$l['reg_res_mail_sub'] = 'Your Activation Code'; +$l['reg_res_mail_body'] = 'Hi {{email}}, + +We have recieved a request to resend you your activation code for your account at '.$globals['sn'].'. + +Before you can use your account you must activate it. +Click on the link below to activate your account: +'.$globals['cp_url'].'/?#act=register&sa=validate&u={{uid}}&code={{activation_code}} + +If the above link does not work, you will need to copy and paste the link into your web browser, or type it in by hand. + +If you are still having problems signing up, please contact us at '.$globals['support_email'].' + +Thank you! + +The {{sn}} Team +'.$globals['cp_url'].' + +Activation code: {{activation_code}} +User ID: {{uid}} +'.$globals['cp_url'].'/?#act=register&sa=validate'; +$l['reg_res_done'] = 'The activation code was resent successfully. Please activate your account now.'; +$l['reg_invalid_access_key'] = 'Invalid Access key'; +$l['reg_invalid_access_uid'] = 'Invalid Access for user'; +$l['reg_opt_expired'] = 'OTP expired. Please try again'; +$l['reg_no_otp'] = 'Please submit valid OTP'; +$l['reg_incorrect_otp'] = 'Wrong OTP entered. Please try again.'; +$l['reg_submit_otp'] = 'Submit OTP'; +$l['reg_enter_otp'] = 'Enter OTP sent to your contact number'; +$l['reg_submit'] = 'Submit'; +$l['reg_sms_sent_err'] = 'There was an error while sending OTP via SMS. Please contact : '.$globals['support_email']; +$l['reg_sms_sent'] = 'Registration SMS'; +$l['reg_sms_resent'] = 'Registration SMS resent'; +$l['reg_otp_verify_done'] = 'OTP verification done. Please check your email for Email verification'; +$l['reg_resendsms'] = 'Resend OTP'; +$l['reg_otp_limit_exceeds'] = 'OTP retry limit exhausted. Please contact : '.$globals['support_email']; +$l['reg_empty_contact'] = 'Please enter mobile number for registration'; +$l['reg_err_country_code'] = 'Please select your country code'; +$l['reg_contact'] = 'Contact number for registration'; +$l['reg_mobile_no'] = 'Enter mobile number for OTP'; +$l['reg_err_key_url'] = 'URL key can not be empty for resending OTP'; +$l['reg_no_url_key'] = 'Could not find the provided URL key'; +$l['reg_contact_err'] = 'Please Enter your 10 digit phone number'; + +// login lang string - prefix : login_ +$l['login_no_username'] = 'Поле "Ім’я користувача" було порожнім'; +$l['login_no_password'] = 'Поле «Пароль» було порожнім'; +$l['login_act_status'] = 'Your account has not been validated. Please validate the email address or contact support for assistance.'; +$l['login_act_inactive'] = 'Your account is deactivated. Please contact support for assistance.'; +$l['login_too_many_attempts'] = 'Ви використали максимальну кількість доступів в систему '.$globals['login_attempts'].' Невдалі спроби! Будь-ласка, зачекайте '.$globals['login_ban_time'].' хвилин, перш ніж повторити спробу.Не забувайте, що пароль чутливий до регістру. Забули пароль? Спробуйтевідновити пароль utility.'; + +$l['login_sign_in'] = 'Вхід в панель керування '.VM_SHORT.'/VDS'; +$l['login_log_user'] = 'Email адреса користувача'; +$l['login_log_pass'] = 'Пароль'; +$l['login'] = 'Login'; +$l['login_sub_but'] = 'Login'; +$l['login_register'] = 'Create Account'; + +$l['login_pass_nomatch'] = 'Невірне ім’я користувача або пароль.'; +$l['login_forgotpass'] = 'Забули пароль'; +$l['login_emailuser'] = 'Email адреса'; +$l['login_enteremail'] = 'Введіть Вашу email адресу'; +$l['login_sub_email'] = 'Надіслати'; +$l['login_no_email'] = 'Ви не надіслали свою адресу електронної пошти'; +$l['login_invalidemail'] = 'Вказана адреса електронної пошти недійсна.'; +$l['login_mail_sub'] = 'Скидання пароля'; +$l['login_mail_body'] = 'Вітаємо, + +Було зроблено запит на скидання пароля. +Якщо Ви не запитували скидання пароля, будь-ласка, проігноруйте цей лист. + +Якщо Ви хочете скинути пароль, перейдіть за URL-посиланням нижче : +https://{{node_ip}}:4083/index.php?#act=login&sa=resetpass&key=&soft-1; + +Зверніть увагу: посилання дійсне лише протягом 24 годин. + +Regards, +'.$globals['sn']; +$l['login_mail_done'] = 'Лист з інформацією щодо скидання пароля надіслано на email'; +$l['login_back_to_login'] = 'Повернутися на сторінку входу'; + +$l['login_resetpass'] = 'Скидання пароля'; +$l['login_log_new_pass'] = 'Новий пароль'; +$l['login_log_reppass'] = 'Підтвердіть пароль'; +$l['login_changepass'] = 'Змінити пароль'; +$l['login_no_key'] = 'Ключ скидання не було надіслано'; +$l['login_invalidkey'] = 'Ви вказали недійсний ключ'; +$l['login_no_new'] = 'Введіть дійсний пароль'; +$l['login_no_reppass'] = 'Введіть пароль підтвердження'; +$l['login_no_match'] = 'Вказані паролі не співпадають'; +$l['login_keyexpire'] = 'Ключ більше не дійсний'; +$l['login_passchanged'] = 'Пароль успішно змінено.'; +$l['login_forgot_pass'] = 'Забули пароль'; +$l['login_goto_login'] = 'Перейти на сторінку входу'; +$l['login_no_2fa_key'] = 'Недопустимий ключ аутентифікації'; +$l['login_inv_user'] = 'Недійсний користувач'; + +// OTP on login +$l['login_twofactit'] = 'Дворівнева аутентифікація'; +$l['login_enterotp'] = 'Введіть одноразовий пароль'; +$l['login_no_otp'] = 'Введіть одноразовий пароль (OTP)'; +$l['login_incorrect_otp'] = 'Невірний код'; + +// listrecipe lang string - prefix : recipe_ +$l['recipe_err_exec'] = 'Помилка виконання завдання'; +$l['recipe_no_selected'] = 'Рецепт не обрано'; +$l['recipe_wrong'] = 'Обрано неправильне завдання'; +$l['recipe_heading'] = 'завдання'; +$l['recipe_choose'] = 'Оберіть рецепт'; +$l['recipe_exp_choose_recipe'] = 'Оберіть завдання, яке Ви хочете застосувати'; +$l['recipe_update'] = 'Створити завдання'; +$l['recipe_none'] = 'None'; +$l['recipe_done'] = 'Завдання створено'; +$l['recipe_exec_onboot'] = 'Завдання буде запущено, коли Ви перезавантажиет '.VM_SHORT; +$l['recipe_group'] = 'Recipe Group'; +$l['recipe_group_exp'] = 'Enter comma separated recipe ID'; +$l['recipe_to_exec_msg'] = 'Recipes to execute'; +$l['recipe_seq_empty_err'] = 'No recipe selected, select recipes from the list to execute'; +$l['recipe_duplicate_err'] = 'Duplicate recipe ID(s) entered. Please enter a unique sequence'; +$l['no_desc'] = 'Опис відсутній'; +$l['ingredients'] = 'Ingredients'; +$l['recipe'] = 'Завдання'; +$l['conf_execute'] = 'Ви впевнені, що хочете створити це завдання?'; +$l['rec_short_desc'] = 'Завдання являють собою зумовлені коди bash'; +$l['no_recipes'] = 'There are no recipes'; +$l['no_pdns'] = 'There are no pDNS records'; +$l['no_rdns'] = 'There are no rDNS records'; + +// ssh lang string - prefix : ssh_ +$l['ssh_disabled'] = 'SSH відключено адміністратором'; + +// Self shutdown - prefix : shutdown_ +$l['sd_confirm_submit'] = 'Ви впевнені, що хочете встановити таймер?'; +$l['sd_confirm_delete'] = 'Ви впевнені, що хочете видалити таймер?'; +$l['sd_date_alert'] = 'Введіть дату в форматі mm / dd / yyyy'; +$l['sd_date_current'] = 'Entered time should be greater than the current time'; +$l['sd_heading'] = 'Встановити таймер'; +$l['sd_action_start'] = 'Старт'; +$l['sd_action_stop'] = 'Стоп'; +$l['sd_action_restart'] = 'Перезавантажити'; +$l['sd_action_poweroff'] = 'Вимкнути'; +$l['sd_action_title'] = 'Дія'; +$l['sd_action_edit_desc'] = 'Для редагування введіть дані та надішліть'; +$l['sd_action_edit_desc'] = 'Для редагування введіть дані та надішліть'; +$l['time_updated'] = 'Оновлена дія'; +$l['time_deleted'] = 'Дію видалено'; +$l['time_added'] = 'Дію додано'; +$l['sd_invalid_action'] = 'Недійсна дія'; + +// Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Сервери'; +$l['bs_heading_add'] = 'Додати Backup Сервер'; +$l['bs_name'] = 'Ім’я'; +$l['bs_name_exp'] = 'Унікальне ім’я резервного сервера'; +$l['bs_hostname'] = 'Хостнейм'; +$l['bs_hostname_exp'] = 'Дійсний TLD або IP-адреса сервера'; +$l['bs_type'] = 'Тип'; +$l['bs_type_exp'] = 'Тип резервного сервера, SSH або FTP'; +$l['bs_username'] = 'Ім’я користувача'; +$l['bs_username_exp'] = 'Ім’я користувача резервного сервера'; +$l['bs_password'] = 'Пароль'; +$l['bs_password_exp'] = 'Пароль сервера резервного копіювання'; +$l['bs_port'] = 'Порт'; +$l['bs_port_exp'] = 'Порт резервного сервера'; +$l['bs_dir'] = 'Директорія'; +$l['bs_dir_exp'] = 'Каталог, де зберігатимуться резервні копії'; +$l['bs_add_server'] = 'Додати Backup Сервер'; +$l['bs_conf_delete'] = 'Ви впевнені, що хочете видалити цей резервний сервер ?'; +$l['bs_heading_edit'] = 'Редагувати Backup Сервер'; +$l['bs_no_servers'] = 'У вас немає серверів резервного копіювання'; + +// SSH Keys - prefix : sshkey_ +$l['sshkey_heading'] = 'SSH Keys'; +$l['sshkey_add'] = 'Add SSH Key'; +$l['sshkey_add_new'] = 'Add New SSH Key'; +$l['sshkey_use'] = 'Use SSH Key'; +$l['sshkey_list'] = 'List SSH Key'; +$l['sshkey_no_keys'] = 'You do not have any SSH Keys'; +$l['sshkey_no_keys_acct'] = 'You do not have any SSH Keys added to your account. Please add an SSH key first by navigating to SSH Keys on the left menu.'; +$l['sshkey_no_keys_acct_whmcs'] = 'You do not have any SSH Keys added to your account.'; +$l['sshkey_uuid'] = 'UUID'; +$l['sshkey_name'] = 'Ім’я'; +$l['sshkey_name_exp'] = 'Унікальне ім’я для ключа SSH'; +$l['sshkey_value'] = 'Public Key'; +$l['sshkey_value_exp'] = 'Значення SSH-ключа у форматі OpenSSH.
(Eg: ssh-rsa AAAAB3Nza...Klj7w== root@example.com)'; +$l['sshkey_heading_add'] = 'Додати SSH Key'; +$l['sshkey_edit'] = 'Редагувати SSH Key'; +$l['sshkey_conf_delete'] = 'Ви впевнені, що хочете видалити цей SSH-ключ ?'; +$l['sshkey_err_delete_key'] = 'Під час видалення ключа SSH сталася помилка'; +$l['sshkey_done_delete_key'] = 'Ключ SSH успішно видалено.'; +$l['sshkey_no_name'] = 'Будь ласка, вкажіть дійсну назву ключа SSH'; +$l['sshkey_no_value'] = 'Будь ласка, вкажіть дійсне значення ключа SSH'; +$l['sshkey_err_name_exists'] = 'SSH-ключ цього імені вже існує'; +$l['sshkey_err_add'] = 'Під час додавання ключа SSH сталася помилка'; +$l['sshkey_done_add'] = 'Ключ SSH успішно додано'; +$l['sshkey_done_edit'] = 'Ключ SSH успішно збеежено'; +$l['sshkey_select_keys'] = 'Select SSH Keys:'; +$l['sshkey_done_addvps'] = 'The SSH key(s) have been added successfully. The changes will take effect on next reboot.'; +$l['sshkey_err_key'] = 'Please select at least one SSH Key.'; +$l['sshkey_not_allowed'] = 'You are not allowed to add/edit SSH Keys'; +$l['sshkey_private'] = 'Private Key'; +$l['sshkey_private_exp'] = 'Please copy the private key to your system'; +$l['sshkey_generate'] = 'Generate keys'; + +// Enduser ISO - prefix : euiso_ +$l['euiso_remove_iso'] = 'Removing ISO'; +$l['euiso_iso_removed'] = 'ISO file removed : '; +$l['euiso_removal_err'] = 'There was an error while removing the ISO'; +$l['euiso_del_done'] = 'The ISO has been removed'; +$l['euiso_heading'] = 'ISO Management'; +$l['euiso_no_iso'] = 'У вас немає ISO. Ви можете додати його зараз'; +$l['euiso_add_iso'] = 'Додати ISO'; +$l['euiso_iso_distro'] = 'Distro'; +$l['euiso_iso_name'] = 'Ім’я файлу'; +$l['euiso_iso_size'] = 'Завантажений розмір'; +$l['euiso_iso_del'] = 'Видалити'; +$l['euiso_iso_status'] = 'Статус'; +$l['euiso_iso_rsize'] = 'Загальний розмір'; +$l['euiso_confirm_iso_del'] = 'Файл ще не завантажено. Ви хочете скасувати завантаження та видалити файл ?'; +$l['euiso_iso_del_confirm'] = 'Ви впевнені, що хочете видалити цей елемент ?'; +$l['euiso_auto_del_alert'] = 'ISO(s) will be automatically deleted after {{eu_iso_del_hr}} Hour from the time the ISO(s) were added'; +$l['euiso_dwnld_time'] = 'Download Time'; +$l['euiso_downloading'] = 'Downloading...'; +$l['euiso_invalid_url'] = 'Invalid URL provided. Use only http, https and ftp protocols'; + +// Enduser ISO - prefix : aiso_ +$l['aiso_err_isofile'] = 'Please specify correct iso file'; +$l['aiso_inv_name'] = 'The ISO Name contains invalid characters'; +$l['aiso_err_size'] = 'Could not determine the size of the ISO file'; +$l['aiso_iso_exist'] = 'ISO File is already present'; +$l['aiso_size_inv'] = 'ISO file exceeds the maximum allowed ISO size'; +$l['aiso_limit_err'] = 'You cannot download more ISO(s). Limit Exceeded'; +$l['aiso_space_err'] = 'You do not have enough space left for these ISO.'; +$l['aiso_download_err'] = 'Error occurred while downloading ISO'; +$l['aiso_done'] = 'The ISO has been successfully added'; +$l['aiso_add_iso'] = 'Add ISO'; +$l['aiso_url'] = 'ISO URL'; +$l['aiso_name'] = 'ISO File Name'; +$l['aiso_page_head'] = 'Add ISO'; +$l['aiso_submit_button'] = 'Add ISO'; +$l['aiso_incomplete'] = 'There was an error which downloading the ISO'; +$l['aiso_started'] = 'The ISO is being downloaded'; +$l['aiso_percent'] = 'Download Progress'; +$l['aiso_complete'] = 'Download Complete'; + +// Enduser download ISO - prefix:dwnldiso_ +$l['dwnldiso_heading'] = 'Додати ISO'; +$l['dwnldiso_iso'] = 'Додати ISO'; +$l['dwnldiso_done'] = 'Будь ласка, зачекайте, поки файл ISO буде завантажений'; +$l['dwnldiso_err_down'] = 'Під час завантаження файлу ISO виникли помилки'; +$l['dwnldiso_wait'] = 'Будь ласка, зачекайте, поки файл ISO буде завантажений'; + +// Inhouse Billing langs - prefix: ihb_ +$l['ihb_no_pl'] = 'There are no plans available for this region !'; +$l['ihb_sel_reg'] = 'Selected Region - '; + +// Enduser Backup Servers - prefix : bs_ +$l['bs_heading'] = 'Backup Servers'; +$l['bs_heading_add'] = 'Add Backup Server'; +$l['bs_name'] = 'Name'; +$l['bs_name_exp'] = 'Unique name for the Backup Server'; +$l['bs_hostname'] = 'Hostname'; +$l['bs_hostname_exp'] = 'Valid TLD or IP Address of the server'; +$l['bs_type'] = 'Type'; +$l['bs_type_exp'] = 'The type of the backup server, SSH or FTP'; +$l['bs_username'] = 'Username'; +$l['bs_username_exp'] = 'Username of the backup server'; +$l['bs_password'] = 'Password'; +$l['bs_password_exp'] = 'Password of the backup server'; +$l['bs_port'] = 'Port'; +$l['bs_port_exp'] = 'Port of the backup server'; +$l['bs_dir'] = 'Directory'; +$l['bs_dir_exp'] = 'The directory where backups will be stored'; +$l['bs_add_server'] = 'Add Backup Server'; +$l['bs_conf_delete'] = 'Are you sure you want to delete this backup server ?'; +$l['bs_heading_edit'] = 'Edit Backup Server'; +$l['bs_no_servers'] = 'You do not have any backup servers'; +$l['bs_no_name'] = 'Please specify a unique name for the backup server'; +$l['bs_no_hostname'] = 'Please specify the hostname'; +$l['bs_no_type'] = 'Please specify the Type'; +$l['bs_no_username'] = 'Please specify the username'; +$l['bs_no_password'] = 'Please specify the password'; +$l['bs_no_port'] = 'Please specify the port'; +$l['bs_no_dir'] = 'Please specify the upload directory'; +$l['bs_done_delete_server'] = 'The backup server was deleted successfully'; +$l['bs_done_edit'] = 'The backup server has been saved successfully'; +$l['bs_err_bs_not_allowed'] = 'Backup servers are disabled by the admin'; +$l['bs_err_invalid_type'] = 'Please enter a valid backup server type'; +$l['bs_err_name_exists'] = 'A backup server of this name already exists'; +$l['bs_err_add_backupserver'] = 'There was an error while adding the backup server'; +$l['bs_err_backup_dir'] = 'Backup directory cannot be empty.'; +$l['bs_err_server_used'] = 'The backup server(s) is being used by {{count}} '.VM_SHORT.'. Please unset it first before deleting.'; +$l['bs_err_delete_server'] = 'There was an error while deleting the backup server'; +$l['bs_err_edit_backupserver'] = 'There was an error while saving the backup server'; + +// Billing related +$l['bill_err_delete'] = 'There was an error deleting the invoices'; +$l['bill_done_delete'] = 'The invoice was deleted successfully'; +$l['bill_heading'] = 'Billing'; +$l['bill_no_invoice'] = 'You do not have any invoices yet !'; +$l['bill_invoid'] = 'Invoice ID'; +$l['bill_invodate'] = 'Invoice Date'; +$l['bill_duedate'] = 'Due Date'; +$l['bill_net'] = 'Amount'; +$l['bill_item'] = 'Item'; +$l['bill_status'] = 'Status'; +$l['bill_unpaid'] = 'Unpaid'; +$l['bill_paid'] = 'Paid'; +$l['bill_cancelled'] = 'Cancelled'; +$l['bill_invoice'] = 'Invoice'; +$l['bill_pay_to'] = 'Pay To'; +$l['bill_inv_to'] = 'Invoiced To'; +$l['bill_pay_method'] = 'Payment Method'; +$l['bill_desc'] = 'Description'; +$l['bill_disc'] = 'Discount'; +$l['bill_subtotal'] = 'Sub Total'; +$l['bill_netamt'] = 'Net Amount'; +$l['bill_print'] = 'Print'; +$l['bill_download'] = 'Download'; +$l['bill_tr_date'] = 'Transaction Date'; +$l['bill_tr_gateway'] = 'Gateway'; +$l['bill_tr_token'] = 'Transaction ID'; +$l['bill_tr_amt'] = 'Amount'; +$l['bill_invoices'] = 'Invoices'; +$l['bill_trans'] = 'Transactions'; +$l['bill_make_payment'] = 'Make Payment'; +$l['bill_add_funds'] = 'Add Funds'; +$l['bill_min_max'] = 'Please provide the amount you would like to add to your account. Min : '.$globals['billing_symbol'].''.$globals['billing_min'].' Max : '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['bill_trid'] = 'ID'; +$l['bill_trdate'] = 'Date'; +$l['bill_gateway'] = 'Gateway'; +$l['bill_bal'] = 'Balance'; +$l['bill_charges'] = 'Charges this Month'; +$l['bill_unpaid_invoices'] = 'Unpaid Invoices'; +$l['bill_cur_usage'] = 'Current Usage'; +$l['bill_no_trans'] = 'No transaction were found'; +$l['bill_usage'] = 'Usage'; +$l['bill_billed_usage'] = 'Billed Usage'; +$l['bill_no_usage'] = 'No billing items were found !'; +$l['bill_usid'] = 'ID'; +$l['bill_vps'] = VM_SHORT; +$l['bill_region'] = 'Region'; +$l['bill_type'] = 'Type'; +$l['bill_starttime'] = 'Start Time'; +$l['bill_updatetime'] = 'Update Time'; +$l['bill_charge'] = 'Charge'; +$l['bill_terminated'] = 'Terminated'; +$l['bill_gateway'] = 'Payment Gateway'; +$l['bill_no_payment_gateway'] = 'No Payment Gateways found. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['bill_summary'] = 'Summary'; +$l['bill_taxable_val'] = 'Taxable Value'; + +// Payment related +$l['pay_login'] = 'You need to be logged in to make a payment'; +$l['pay_min'] = 'The amount cannot be less than '.$globals['billing_symbol'].''.$globals['billing_min']; +$l['pay_max'] = 'The amount cannot be greater than '.$globals['billing_symbol'].''.$globals['billing_max']; +$l['pay_err_ectoken'] = 'There was an error while creating the express checkout payment token.'; +$l['pay_pp_missing'] = 'Some Data was missing when you were redirected from Paypal'; +$l['pay_trans_already'] = 'This transaction has already been recorded'; +$l['pay_pp_connect'] = 'There was some error in connecting to Paypal. Please contact Softaculous at admin@softaculous.com'; +$l['pay_pp_resp'] = 'There was some error in reading the Paypal Data. Please contact '.$globals['sn'].' at '.$globals['support_email']; +$l['pay_success'] = 'Success ! Your payment of '.$globals['billing_symbol'].'{{amt}} was successful.'; +$l['pay_payment'] = 'Payment Processor'; +$l['pay_panel'] = 'Control Panel'; +$l['pay_data_missing'] = 'Response Data is missing / invalid'; +$l['pay_gateway_missing'] = 'Payment Gateway is missing / invalid'; +$l['pay_no_required_function'] = 'Some required function(s) are missing in the selected payment gateway. Please contact the server Admin'; + +// Install Scripts - prefix:webuzo_ +$l['webuzo_ssh_port'] = 'SSH Port'; +$l['webuzo_spasswd'] = 'Root Password for Script'; +$l['webuzo_spasswd_p'] = 'Enter Root Password'; +$l['webuzo_pd'] = 'Primary Domain'; +$l['webuzo_pd_p'] = 'example.com'; +$l['webuzo_appstack'] = 'Choose Stack'; +$l['webuzo_scriptlist'] = 'Select a Script'; +$l['webuzo_submit'] = 'Install'; +$l['webuzo_advanced'] = 'Advanced Options'; +$l['webuzo_ns1'] = 'Nameserver 1'; +$l['webuzo_ns1_p'] = '(Optional) Specify your Nameserver 1'; +$l['webuzo_ns2'] = 'Nameserver 2'; +$l['webuzo_ns2_p'] = '(Optional) Specify your Nameserver 2'; +$l['webuzo_apache'] = 'Select Apache Verison'; +$l['webuzo_mysql'] = 'Select MYSQL Version'; +$l['webuzo_php'] = 'Select PHP Version'; +$l['webuzo_os'] = 'Select OS'; +$l['webuzo_disabled'] = 'Webuzo installation is disabled by Admin'; +$l['webuzo_support_err'] = 'Application not supported !'; +$l['webuzo_sshport_err'] = 'Please enter the SSH Port'; +$l['webuzo_spasswd_err'] = 'Please enter the root password'; +$l['webuzo_pd_err'] = 'Please specify a correct domain name'; +$l['webuzo_script_err'] = 'Selected script not in the list. Please try again.'; +$l['webuzo_stack_err'] = 'Please select a proper stack to install'; +$l['mysql_err'] = 'Please select MySQL version'; +$l['php_err'] = 'Please select PHP version'; +$l['webserver_err'] = 'Please select Apache version'; +$l['webuzo_wmp_err'] = 'You have not selected proper stack versions'; +$l['webuzo_ns1_err'] = $l['webuzo_ns2_err'] = 'Please enter proper NameServer details'; +$l['webuzo_os_err'] = 'Please select an OS you want to install'; +$l['webuzo_install_data_lost_warn'] = 'Are you sure you want to continue with install ? Warning: All data on the '.VM_SHORT.' will be lost permanently.'; +$l['webuzo_app_err'] = 'Error in getting Webuzo Apps'; +$l['webuzo_prim_ip_err'] = 'Unable to get IP'; +$l['webuzo_install_start'] = 'Webzuo installation is started in background. An email will be sent at the given email ID after successfull installation'; +$l['webuzo_dns_err'] = 'Please fill up Nameserver Details'; + +// Install applications - prefix : apps_ +$l['apps_heading'] = 'Applications Installations'; +$l['apps_no_vs'] = 'You do not have any '.VM_SHORT.' with applications installed'; + +// listvs - Search language strings. +$l['vs_type'] = 'Type'; +$l['vs_all'] = 'All'; +$l['vs_suspended'] = 'Suspended'; +$l['vs_unsuspended'] = 'Unsuspended'; +$l['vs_plan'] = 'Plan'; +$l['vs_server_group'] = 'Server Group'; +$l['vs_no_res'] = 'No '.VM_SHORT.' were found'; + +// LetsEncrypt prefix = le_ +$l['lm_letsencrypt'] = 'LetsEncrypt'; +$l['le_no_site_domain'] = 'No Domain configured. Please configure before installing certificate.'; +$l['le_install_cert'] = 'Install Certificate'; +$l['le_renew_cert'] = 'Renew Certificate'; +$l['le_cert_logs'] = 'View Certificate Logs'; +$l['le_config'] = 'SSL Configuration'; +$l['le_crt_details'] = 'SSL Certificate Details'; +$l['le_logs'] = 'Logs'; +$l['le_crt_domain'] = 'Domain'; +$l['le_crt_san'] = 'SAN'; +$l['le_crt_issuer'] = 'Issued By'; +$l['le_crt_serialno'] = 'Serial No.'; +$l['le_crt_valid_from_time'] = 'Valid From'; +$l['le_crt_valid_to_time'] = 'Valid Till'; +$l['le_next_renew'] = 'Next Renew Date'; +$l['le_crt_installed'] = 'Certificate installed'; +$l['le_proceed'] = 'Start Installation'; +$l['le_no_logs'] = 'No Logs available'; +$l['le_confirm_process'] = 'Are you sure you want to process this request?'; +$l['le_primary_domain'] = 'Primary Domain'; +$l['le_contact_email'] = 'Contact Email'; +$l['le_key_size'] = 'Key Size'; +$l['le_renew_days'] = 'Renew Days'; +$l['le_staging'] = 'Staging'; +$l['le_enable_force'] = 'Force'; +$l['le_primary_domain_exp'] = 'Primary Domain name for the certificate'; +$l['le_contact_email_exp'] = 'Email address which will be used by SSL certificate provider to contact domains owner'; +$l['le_key_size_exp'] = 'Domains certificate private keys length'; +$l['le_renew_days_exp'] = 'Minimum days before expiration to automatically renew certificate (must be less than or equal to 80)'; +$l['le_staging_exp'] = 'Use SSL service provider\'s Staging (Testing) server to obtain the certificate'; +$l['le_enable_force_exp'] = 'Force processing certificate'; + +// '.VM_SHORT.' tab menu language string. +$l['vps_overview'] = 'Overview'; +$l['vps_graphs'] = 'Graphs'; +$l['vps_tasks_logs'] = 'Tasks And Logs'; +$l['vps_disk_usage'] = 'Disk Usage'; +$l['vps_statistics'] = 'Statistics'; +$l['vps_info'] = VM_SHORT.' Information'; +$l['vps_install'] = 'Install'; + +// Modal +$l['modal_ok'] = 'Ok'; +$l['modal_cancel'] = 'Cancel'; +$l['modal_success'] = 'Success'; +$l['modal_error'] = 'Error'; + +// Network and upload speed related errors. +$l['err_nw_speed'] = 'Network speed you have entered is greater than allowed Network speed'; +$l['err_upload_speed'] = 'Upload speed you have entered is greater than allowed Upload speed'; + +$l['del_apikey'] = 'Do you want to delete this API credentails?'; +$l['del_rdns'] = 'Do you want to delete this rDNS record?'; +$l['err_cuser_dom_name'] = 'This domain name is already used by some other user'; +$l['os_reins_limit'] = 'You can reinstall Operating System {{counter}} more times.'; +$l['acc_password_err'] = 'You are not allowed to change account password. Please contact administrator.'; +$l['disk_caching'] = 'Disk Caching'; +$l['available_plans'] = 'Available Plans'; +$l['templates'] = 'Templates'; +$l['no_os_templates'] = 'There are no OS templates available'; +$l['stop_start'] = 'Changes will be appplied after STOP and START of the '.VM_SHORT.'. Please do not restart.'; +$l['vm_count'] = VM_SHORT.' Count'; +$l['vm_count_max'] = 'Maximum limit is 10'; +$l['vm_count_min'] = 'Count can not be less than 1'; +$l['disable_icons_cp'] = 'Control panel installation is disabled.'; +$l['list'] = 'List'; +$l['automated_lock_notice'] = 'Please click on refresh button in order to get the current status of the '.VM_SHORT.'.'; +$l['li_less_cpu'] = 'You don\'t have enough CPU Weight to create this '.VM_SHORT; +$l['no_ip'] = 'Please specify atleast one IP for the '.VM_SHORT; +$l['no_vdf'] = 'There are no domain forwarding records found'; +$l['done'] = 'Done'; +$l['ostype_label'] = 'Select your os type'; +$l['rtc_label'] = 'Use local time zone for RTC'; +$l['toggle_theme'] = 'Toggle Light/Dark theme'; +$l['change_hostname_not_allwd'] = 'You are not allowed to change hostname'; +$l['change_rootpswd_not_allwd'] = 'You are not allowed to change password'; +$l['total_iops_sec'] = 'Total I/O per sec'; +$l['read_bytes_sec'] = 'Read Mega Bytes per sec'; $l['write_bytes_sec'] = 'Write Mega Bytes per sec'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/index_lang.php b/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/index_lang.php index 9f3dff9..96a7977 100644 --- a/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/index_lang.php +++ b/whmcs/modules/servers/virtualizor_cloud/languages/ukraine/index_lang.php @@ -1,441 +1,441 @@ -Today at ';//The today string for showing todays post time - -$l['init_theme_error_t'] = 'Помилка теми';//Title -$l['init_theme_error'] = 'Не вдалося завантажити файл теми - & soft-1 ;.'; - -$l['init_theme_func_error_t'] = 'Помилка функції теми';//Title -$l['init_theme_func_error'] = 'Неможливо завантажити функції теми & soft-1 ;.'; - -$l['load_theme_settings_error'] = 'Не вдалося завантажити файл налаштувань тем.'; - - -//Error Handle Function -$l['following_errors_occured'] = 'Виявлено наступні помилки:'; - -//Success Message Function -$l['following_message'] = 'Надіслано наступне повідодмлення:'; - -//Major Error Function -$l['fatal_error'] = 'Критична помилка'; -$l['following_fatal_error'] = 'Виникла наступна критична помилка:'; - -//Message Function -$l['soft_message'] = 'Повідомлення'; -$l['following_soft_message'] = 'Було надіслано наступне повідомлення:'; - -$l['err_user_head'] = 'Помилка'; -$l['err_user'] = 'Не вдалося визначити тип користувача'; - -//Update Softaculous -$l['getting_info'] = 'Запит інформації ......'; -$l['error_getting_latest'] = 'Не вдалося отримати інформацію ... В доступі відмовлено'; -$l['got_info'] = 'Got information'; -$l['manual_mode'] = 'Нова версія Softaculous вимагає ручного втручання ...... Відмова від відповідальності'; -$l['no_updates'] = 'Поточна версія - остання версія ...... Продовження'; -$l['fetch_upgrade'] = 'Fetching Upgrade......'; -$l['error_fetch_upgrade'] = 'Не вдалося отримати файл оновлення ...'; -$l['error_save_upgrade'] = 'Не вдалося зберегти файл оновлення ... Відмовитись'; -$l['got_upgrade'] = 'Файл оновлення збережено'; -$l['unzip_upgrade'] = 'Розпакування файлів......'; -$l['error_unzip_upgrade'] = 'Помилка розпакування ... Відмова'; -$l['unzipped_upgrade'] = 'Розпаковано успішно'; -$l['running_upgrade'] = 'Запуск оновлення ......'; -$l['succ_upgrade'] = 'Завершено'; -$l['error_upgrade'] = 'В процесі оновлення виникли наступні помилки:'; - -//MySQL Errors -$l['err_selectmy'] = 'База даних MySQL не може бути обрана.'; -$l['err_myconn'] = 'Не вдалося встановити з’єднання MySQL.'; -$l['err_makequery'] = 'Не вдалося виконати запит з номером'; -$l['err_mynum'] = 'Помилки MySQL відсутні'; -$l['err_myerr'] = 'Помилка MySQL'; - -//hf_theme.php -$l['welcome'] = 'Ласкаво просимо'; -$l['logout'] = 'Вийти'; -$l['page_time'] = 'Сторінка, створена в'; -$l['times_are'] = 'Часовий пояс: GMT'; -$l['time_is'] = 'The time now is'; -$l['load_start'] = 'Старт'; -$l['load_stop'] = 'Зупинка'; -$l['load_restart'] = 'Рестарт'; -$l['load_poweroff'] = 'Вимкнення'; - -//The Category Language Variables -$l['dock_restart'] = 'Перезапустити контейнер'; -$l['dock_stop'] = 'Зупинити контейнер'; -$l['dock_start'] = 'Запустити контейнер'; -$l['dock_poweroff'] = 'Вимкнути контейнер'; -$l['dock_home'] = 'Додому'; -$l['dock_settings'] = 'Змінити налаштування'; -$l['dock_help'] = 'Допомога та підтримка'; -$l['dock_sync'] = 'Синхронізація з іншими автоналаштуваннями'; -$l['go_home'] = 'Додому'; -$l['dock_user'] = 'Профіль користувача'; -$l['dock_password'] = 'Змінити пароль'; -$l['dock_vps'] = 'Перелік '.VM_SHORT; - -// Left Menu -$l['lm_file_mgr'] = 'Файловий менеджер'; -$l['lm_res'] = 'Ресурси'; -$l['lm_performance'] = 'Server Monitoring'; -$l['lm_disk_health'] ='Raid Health'; -$l['lm_process'] = 'Процеси'; -$l['lm_service'] = 'Сервіси'; -$l['lm_firewall'] = 'Брандмауер'; -$l['lm_ssh'] = 'SSH'; -$l['lm_vnc'] = 'VNC'; -$l['lm_vncpass'] = 'VNC пароль'; -$l['lm_statusc'] = 'Журнал подій'; -$l['lm_res_a'] = 'Системні оповіщення'; -$l['lm_logs'] = 'Журнали завдань'; -$l['lm_bandwidth'] = 'Пропускна здатність'; -$l['lm_accountpass'] = 'Пароль від аккаунта'; -$l['lm_changepass'] = 'Змінити пароль'; -$l['lm_controlpanel'] = 'Панель керування'; -$l['lm_recipes'] = 'Завдання'; -$l['lm_disk'] = 'Disk'; -$l['lm_ostemp'] ='Перевстановлення ОС'; -$l['lm_cpu'] = 'CPU'; -$l['lm_ram'] = 'RAM'; -$l['lm_host'] = 'Hostname'; -$l['lm_logs'] = 'Логи'; -$l['lm_ips'] = 'IP-адреса'; -$l['lm_hvmsettings'] = VM_SHORT.' налаштування'; -$l['lm_apikey'] = 'Облікові дані API'; -$l['lm_pdns'] = 'DNS'; -$l['lm_rdns'] = 'Зворотний DNS'; -$l['lm_support'] = 'Підтримка'; -$l['lm_self_shutdown'] = 'Автозапуск'; -$l['lm_tasks'] = 'Перелік дій'; -$l['lm_twofactauth'] = 'Налаштування безпеки'; -$l['lm_backup2'] = 'Backups'; -$l['lm_backupservers'] = 'Backup Servers'; -$l['lm_sshkeys'] = 'SSH Keys'; -$l['lm_installapps'] = 'Applications'; -$l['lm_billing'] = 'Billing'; - - -// Users left menu -$l['lm_vs'] = 'Перелік '.VM_SHORT; -$l['lm_addvs'] = 'Launch '.VM_SHORT; -$l['lm_resources'] = 'Cloud Resources'; -$l['lm_users'] = 'Users'; -$l['lm_usr_settings'] = 'Налаштування'; -$l['lm_profile'] = 'Профіль'; -$l['lm_euiso'] = 'ISO'; -$l['you_are_admin'] = 'Ви увійшли як адміністратор'; -$l['lmapps'] = 'Applications'; - -// Page Jump Related : -$l['page_jump_title'] = 'Введіть стрінку, щоб перейти до'; -$l['page_page'] = 'сторінка'; -$l['page_of'] = 'з'; -$l['page_go'] = 'далі'; - -// Create '.VM_SHORT.' related for Kernel -$l['build_no_vs'] = VM_SHORT.' не знайдений в базі даних'; -$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; -$l['build_no_os'] = 'Шаблон ОС не знайдено'; -$l['build_no_ip'] = 'Первинна IP відсутня для '.VM_SHORT; -$l['build_no_os_iso'] = 'Шаблон ОС або файла ISO не знайдено'; - -// Wrong and Right Kernel -$l['wrong_kernel'] = 'Завантаження у неправильне ядро - '; -$l['correct_kernel'] = 'Виконайте перезавантаження у правильне ядро.'; -$l['kvm_module'] = 'Модуль Linux-KVM не завантажено.'; -$l['kvm_network'] = 'The '.$globals['bridge'].'Не запускається. Запустіть запуск служби virtnetwork '; -$l['temp_exists'] = 'Файл шаблона вже існує'; -$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; -$l['wrong_xm'] = 'Модуль XEN завантажено неправильно'; -$l['lxc_module'] = 'LXC не встановлено.'; - -// Xen '.VM_SHORT.' Creation errors -$l['xen_err_lvm'] = 'Виникла помилка створення LVM '.VM_SHORT; -$l['xen_err_swap'] = 'Виникла помилка створення SWAP '.VM_SHORT; -$l['xen_err_tmp'] = 'Помилка під час створення точки монтування'; -$l['xen_err_mount'] = 'Виникла помилка створення '.VM_SHORT.' LVM'; -$l['xen_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; -$l['xen_err_dd'] = 'Під час операції копіювання диску виникла помилка'; -$l['xen_err_mkfs'] = 'Під час форматування '.VM_SHORT.' виникла помилка'; -$l['xen_err_mkswap'] = 'Під час форматування SWAP '.VM_SHORT.' виникла помилка'; -$l['xen_err_untar'] = 'Під час вилученння образу ОС виникла помилка'; -$l['xen_err_part'] = 'Під час сторення розділів диску виникла помилка'; -$l['xen_err_kpart'] = 'В процесі відображення розділа (-ів) виникла помилка'; -$l['xen_err_resizefs'] = 'Під час зміни розміру файлової системи виникла помилка'; - -// XCP '.VM_SHORT.' Creation errors -$l['xcp_err_vdi'] = 'Під час створення VDI віртуальної машини винилка помилка'; -$l['xcp_err_iso'] = 'В процесі завантаження ISO виникла помилка'; -$l['xcp_err_vif'] = 'Під час створення VIF для '.VM_SHORT.' винилка помилка'; -$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; - -// KVM '.VM_SHORT.' Creation errors -$l['kvm_err_lvm'] = 'Виникла помилка створення LVM '.VM_SHORT; -$l['kvm_err_mount'] = 'Виникла помилка встановлення '.VM_SHORT.' LVM'; -$l['kvm_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; -$l['kvm_err_dd'] = 'Під час операції копіювання диску виникла помилка'; -$l['kvm_err_resizefs'] = 'В процесі зміни розміру файлової системи виникла помилка' ; -$l['kvm_err_part'] = 'Виникла помилка створення розділу диску'; -$l['kvm_err_kpart'] = 'Виникла помилка відображення розділа (-ів)'; -$l['kvm_err_mkswap'] = 'Виникла помилка форматування SWAP '.VM_SHORT; -$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; -$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; -$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; -$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; - -// LXC '.VM_SHORT.' Creation errors -$l['lxc_err_untar'] = 'Виникла помилка вилучення шаблона ОС'; -$l['lxc_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; -$l['lxc_err_resizefs'] = 'Виникла помилка зміни розміру файлової системи'; -$l['lxc_network'] = 'The '.$globals['bridge'].' Не запускається. Запустіть запуск служби virtnetwork '; -$l['lxc_err_mount'] = 'Виникла помилка встановлення '.VM_SHORT.' LVM'; - -// Virtuozzo '.VM_SHORT.' Creation errors -$l['virtuzo_create_error'] = 'Виникла помилка створення '.VM_SHORT; -$l['err_vncpass'] = 'Виникла помилка налаштування пароля VNC'; -$l['err_set_iso'] = 'ISO до '.VM_SHORT.' було приєднано'; -$l['err_disk_create'] = 'Виникла помилка створення диску '.VM_SHORT; -$l['err_set_boot_order'] = 'Виникла помилка встановлення порядку завантаження'; -$l['err_set_ram'] = 'Виникла помилка встановлення ОЗУ'; -$l['err_set_pinning'] = 'Виникла помилка встанволення CPU Affinity'; -$l['err_install_tools'] = 'Виникла помилка встановлення гостьових інструментів'; - -//Backup errors -$l['backup_err_mount'] = 'Виникла помилка встановлення LVM для тимчасового сховища'; -$l['backup_err_lvm'] = 'Виникла помилка створення LVM тимчасового сховища.'; -$l['backup_err_mkfs'] = 'Виникла помилка форматування тимчасового сховища'; -$l['backup_err_mkdir'] = 'Виникла помилка створення каталога точок монтування тимчасового сховища'; -$l['kvm_err_tar'] = 'Виникла помилка стиснення архіву'; -$l['xen_err_tar'] = 'Виникла помилка стиснення архіву'; -$l['kvm_err_untar'] = 'Виникла помилка розпакування архіву'; -$l['backup_err_untar'] = 'Виникла помилка в процесі розпакування архіву'; -$l['err_vzdump'] = 'Виникла помилка інструменту резервного копіювання'; -$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; -$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; -$l['err_backup_command_fail'] = 'Не вдалося створити резервний образ. Код повернення: '; -$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; -$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; -$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; -$l['vg_space_arr'] = 'There is not enough space in '; - -// OpenVZ '.VM_SHORT.' Creation errors -$l['openvz_err_ubc'] = 'Помилка збереження налаштувань UBC'; -$l['openvz_err_ostemplate'] = 'Помилка встановлення шаблона ОС'; -$l['openvz_err_space'] = 'Помилка встановлення дискового простору'; -$l['openvz_err_inodes'] = 'Помилка встановлення дискового простору'; -$l['openvz_err_hostname'] = 'Помилка встановлення імені хоста'; -$l['openvz_err_ip'] = 'Помилка IP-адреси'; -$l['openvz_err_dns'] = 'Помилка DNS.'; -$l['openvz_err_cpu'] = 'Помилка встановлення модулів CPU'; -$l['openvz_err_cpulim'] = 'Помилка встановлення ліміту CPU'; -$l['openvz_err_cores'] = 'Помилка в налаштуваннях ядра CPU'; -$l['openvz_err_ioprio'] = 'Помилка встановлення пріоритету IO'; -$l['openvz_err_create'] = 'Помилка створення контейнера'; -$l['vswap_error'] = 'Виникла помилка налаштування параметрів VSwap'; - -// Rescue Disk Errors -$l['err_downloading'] = 'There was an error downloading the rescue template'; -$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; - -// Enduser '.VM_SHORT.' status column -$l['lm_status_online'] = 'Працює'; -$l['lm_status_offline'] = 'Вимкнений'; -$l['lm_status_suspended'] = 'Призупинений'; -$l['vps_is_suspended'] = 'Цей '.VM_SHORT.' заблоковано. Ви не можете виконувати жодних операцій з '.VM_SHORT.'!'; -$l['suspend_reason_bw'] = 'Цей '.VM_SHORT.' призупинено через перевищення лімітів каналу. Вы не можете виконувати жодних операцій для '.VM_SHORT.'!'; - -$l['unknown'] = 'Unknown'; -$l['change_onboot'] = 'Зміни вступлять в дію після повторного завантаження '.VM_SHORT.'.'; -$l['completed'] = 'Completed'; -$l['vpsdisk_resize_err'] = 'Виникла помилка створення зміни розміру дисків'; -$l['mount_undetermined'] = 'Розділ Linux не виявлено у '.VM_SHORT; -$l['disk_destroy_err'] = 'Виникла помилка видалення дисків'; -$l['started'] = 'Started'; -$l['ended'] = 'Ended'; -$l['updated'] = 'Updated'; -$l['edit_xcperror'] = 'Виникла помилка при спробі редагування '.VM_SHORT; -$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; -$l['bandwidth_threshold_mail_message'] = 'Hi, - -Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['bandwidth_mail_sub'] = VM_SHORT.' призупиняється через використання трафіка понад ліміт'; -$l['bandwidth_mail_message'] = 'Доброго дня, - -Your '.VM_SHORT.' `{{hostname}}` було призупинено через перевищення визначеної граничної межі пропускної здатності. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; -$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; - -$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; -$l['speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; -$l['removed_speed_capped_mail_message'] = 'Hi, - -The network speed of your '.VM_SHORT.' {{hostname}} has been restored. - -The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. - -Regards, -{{sn}}'; - -// Power cron Notification -$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; -$l['self_shutdown_body'] = 'Доброго дня - -Ваш VM_SHORT {{vpsid}} був {{дія}} у відповідності з встановленим часом ({{час}}) -'; - -$l['self_shutdown_start'] = 'Запустити'; -$l['self_shutdown_stop'] = 'Призупинити'; -$l['self_shutdown_restart'] = 'Перезапустити'; -$l['self_shutdown_poweroff'] = 'Вимкнути'; - -$l['self_shutdown_start_failed'] = 'Помилка старту'; -$l['self_shutdown_stop_failed'] = 'Помилка зупинки'; -$l['self_shutdown_restart_failed'] = 'Помилка перезапуску'; -$l['self_shutdown_poweroff_failed'] = 'Помилка вимкнення'; - -//Proxmox kernel errors -$l['failed_connect_proxmox'] = 'Не вдалося виконати запит proxmox api. Будь-лакса, введіть дінв проксі-мода в Конфігурація -> Налаштування додаткового пристрою'; - -// Speed cap messages and label: -$l['speed_cap_down']= 'Capped Download Speed '; -$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; -$l['speed_cap_up']= 'Capped Upload Speed '; -$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; - -// ISO Related -$l['admin_iso'] = 'Admin ISOs'; -$l['eu_iso'] = 'Enduser ISOs'; - -$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; - -// Webuzo Script Categories -$l['cat_php_forums'] = 'Forums'; -$l['cat_php_blogs'] = 'Blogs'; -$l['cat_php_cms'] = 'Portals/CMS'; -$l['cat_php_galleries'] = 'Image Galleries'; -$l['cat_php_wikis'] = 'Wikis'; -$l['cat_php_admanager'] = 'Ad Management'; -$l['cat_php_calendars'] = 'Calendars'; -$l['cat_php_games'] = 'Gaming'; -$l['cat_php_mail'] = 'Mails'; -$l['cat_php_polls'] = 'Polls and Surveys'; -$l['cat_php_projectman'] = 'Project Management'; -$l['cat_php_ecommerce'] = 'E-Commerce'; -$l['cat_php_guestbooks'] = 'Guest Books'; -$l['cat_php_customersupport'] = 'Customer Support'; -$l['cat_php_others'] = 'Others'; -$l['cat_php_music'] = 'Music'; -$l['cat_php_video'] = 'Video'; -$l['cat_php_rss'] = 'RSS'; -$l['cat_php_socialnetworking'] = 'Social Networking'; -$l['cat_php_microblogs'] = 'Micro Blogs'; -$l['cat_php_frameworks'] = 'Frameworks'; -$l['cat_php_educational'] = 'Educational'; -$l['cat_php_erp'] = 'ERP'; -$l['cat_php_dbtools'] = 'DB Tools'; -$l['cat_php_files'] = 'File Management'; - -$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; -$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; -$l['success'] = 'success'; -$l['failed'] = 'failed'; - -// For universal search -$l['unisear_hdr_res'] = 'Search Results'; -$l['unisear_no_res'] = 'No search results!'; -$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; -$l['unisear_show_all'] = 'Show all'; -$l['unisear_res'] = 'results >>'; -$l['unisear_matched'] = 'Matched'; -$l['unisear_in'] = 'in'; -$l['unisear_for'] = 'for'; -$l['unisear_list'] = 'list'; -$l['unisear_vps'] = VM_SHORT; -$l['unisear_user'] = 'User'; -$l['unisear_ips'] = 'IP'; -$l['unisear_vps_name'] = VM_SHORT.' name'; -$l['unisear_vpsid'] = VM_SHORT.' ID'; -$l['unisear_hostname'] = 'Hostname'; -$l['unisear_server'] = 'Server'; -$l['unisear_virt'] = 'Virt type'; -$l['unisear_os_name'] = 'OS name'; -$l['unisear_iso'] = 'ISO'; -$l['unisear_free_ips'] = 'IP (free)'; -$l['unisear_storage'] = 'Storage'; -$l['unisear_st_uuid'] = 'UUID'; -$l['unisear_st_name'] = 'Name'; - -//Tun Tap Handle -$l['tuntap_handle'] = 'Tun/Tap Handle'; -$l['enable_tuntap'] = 'Enabling Tun/Tap'; -$l['disable_tuntap'] = 'Disabling Tun/Tap'; -$l['server_ram_threshold'] = 'RAM threshold level reached'; -$l['server_disk_threshold'] = 'Disk threshold level reached'; -$l['vm_locked_backup'] = VM_SHORT.' backup is running'; -$l['vm_locked_restore'] = VM_SHORT.' restore is running'; - -$l['reinstall_callback'] = 'Callback for Reinstall'; +Today at ';//The today string for showing todays post time + +$l['init_theme_error_t'] = 'Помилка теми';//Title +$l['init_theme_error'] = 'Не вдалося завантажити файл теми - & soft-1 ;.'; + +$l['init_theme_func_error_t'] = 'Помилка функції теми';//Title +$l['init_theme_func_error'] = 'Неможливо завантажити функції теми & soft-1 ;.'; + +$l['load_theme_settings_error'] = 'Не вдалося завантажити файл налаштувань тем.'; + + +//Error Handle Function +$l['following_errors_occured'] = 'Виявлено наступні помилки:'; + +//Success Message Function +$l['following_message'] = 'Надіслано наступне повідодмлення:'; + +//Major Error Function +$l['fatal_error'] = 'Критична помилка'; +$l['following_fatal_error'] = 'Виникла наступна критична помилка:'; + +//Message Function +$l['soft_message'] = 'Повідомлення'; +$l['following_soft_message'] = 'Було надіслано наступне повідомлення:'; + +$l['err_user_head'] = 'Помилка'; +$l['err_user'] = 'Не вдалося визначити тип користувача'; + +//Update Softaculous +$l['getting_info'] = 'Запит інформації ......'; +$l['error_getting_latest'] = 'Не вдалося отримати інформацію ... В доступі відмовлено'; +$l['got_info'] = 'Got information'; +$l['manual_mode'] = 'Нова версія Softaculous вимагає ручного втручання ...... Відмова від відповідальності'; +$l['no_updates'] = 'Поточна версія - остання версія ...... Продовження'; +$l['fetch_upgrade'] = 'Fetching Upgrade......'; +$l['error_fetch_upgrade'] = 'Не вдалося отримати файл оновлення ...'; +$l['error_save_upgrade'] = 'Не вдалося зберегти файл оновлення ... Відмовитись'; +$l['got_upgrade'] = 'Файл оновлення збережено'; +$l['unzip_upgrade'] = 'Розпакування файлів......'; +$l['error_unzip_upgrade'] = 'Помилка розпакування ... Відмова'; +$l['unzipped_upgrade'] = 'Розпаковано успішно'; +$l['running_upgrade'] = 'Запуск оновлення ......'; +$l['succ_upgrade'] = 'Завершено'; +$l['error_upgrade'] = 'В процесі оновлення виникли наступні помилки:'; + +//MySQL Errors +$l['err_selectmy'] = 'База даних MySQL не може бути обрана.'; +$l['err_myconn'] = 'Не вдалося встановити з’єднання MySQL.'; +$l['err_makequery'] = 'Не вдалося виконати запит з номером'; +$l['err_mynum'] = 'Помилки MySQL відсутні'; +$l['err_myerr'] = 'Помилка MySQL'; + +//hf_theme.php +$l['welcome'] = 'Ласкаво просимо'; +$l['logout'] = 'Вийти'; +$l['page_time'] = 'Сторінка, створена в'; +$l['times_are'] = 'Часовий пояс: GMT'; +$l['time_is'] = 'The time now is'; +$l['load_start'] = 'Старт'; +$l['load_stop'] = 'Зупинка'; +$l['load_restart'] = 'Рестарт'; +$l['load_poweroff'] = 'Вимкнення'; + +//The Category Language Variables +$l['dock_restart'] = 'Перезапустити контейнер'; +$l['dock_stop'] = 'Зупинити контейнер'; +$l['dock_start'] = 'Запустити контейнер'; +$l['dock_poweroff'] = 'Вимкнути контейнер'; +$l['dock_home'] = 'Додому'; +$l['dock_settings'] = 'Змінити налаштування'; +$l['dock_help'] = 'Допомога та підтримка'; +$l['dock_sync'] = 'Синхронізація з іншими автоналаштуваннями'; +$l['go_home'] = 'Додому'; +$l['dock_user'] = 'Профіль користувача'; +$l['dock_password'] = 'Змінити пароль'; +$l['dock_vps'] = 'Перелік '.VM_SHORT; + +// Left Menu +$l['lm_file_mgr'] = 'Файловий менеджер'; +$l['lm_res'] = 'Ресурси'; +$l['lm_performance'] = 'Server Monitoring'; +$l['lm_disk_health'] ='Raid Health'; +$l['lm_process'] = 'Процеси'; +$l['lm_service'] = 'Сервіси'; +$l['lm_firewall'] = 'Брандмауер'; +$l['lm_ssh'] = 'SSH'; +$l['lm_vnc'] = 'VNC'; +$l['lm_vncpass'] = 'VNC пароль'; +$l['lm_statusc'] = 'Журнал подій'; +$l['lm_res_a'] = 'Системні оповіщення'; +$l['lm_logs'] = 'Журнали завдань'; +$l['lm_bandwidth'] = 'Пропускна здатність'; +$l['lm_accountpass'] = 'Пароль від аккаунта'; +$l['lm_changepass'] = 'Змінити пароль'; +$l['lm_controlpanel'] = 'Панель керування'; +$l['lm_recipes'] = 'Завдання'; +$l['lm_disk'] = 'Disk'; +$l['lm_ostemp'] ='Перевстановлення ОС'; +$l['lm_cpu'] = 'CPU'; +$l['lm_ram'] = 'RAM'; +$l['lm_host'] = 'Hostname'; +$l['lm_logs'] = 'Логи'; +$l['lm_ips'] = 'IP-адреса'; +$l['lm_hvmsettings'] = VM_SHORT.' налаштування'; +$l['lm_apikey'] = 'Облікові дані API'; +$l['lm_pdns'] = 'DNS'; +$l['lm_rdns'] = 'Зворотний DNS'; +$l['lm_support'] = 'Підтримка'; +$l['lm_self_shutdown'] = 'Автозапуск'; +$l['lm_tasks'] = 'Перелік дій'; +$l['lm_twofactauth'] = 'Налаштування безпеки'; +$l['lm_backup2'] = 'Backups'; +$l['lm_backupservers'] = 'Backup Servers'; +$l['lm_sshkeys'] = 'SSH Keys'; +$l['lm_installapps'] = 'Applications'; +$l['lm_billing'] = 'Billing'; + + +// Users left menu +$l['lm_vs'] = 'Перелік '.VM_SHORT; +$l['lm_addvs'] = 'Launch '.VM_SHORT; +$l['lm_resources'] = 'Cloud Resources'; +$l['lm_users'] = 'Users'; +$l['lm_usr_settings'] = 'Налаштування'; +$l['lm_profile'] = 'Профіль'; +$l['lm_euiso'] = 'ISO'; +$l['you_are_admin'] = 'Ви увійшли як адміністратор'; +$l['lmapps'] = 'Applications'; + +// Page Jump Related : +$l['page_jump_title'] = 'Введіть стрінку, щоб перейти до'; +$l['page_page'] = 'сторінка'; +$l['page_of'] = 'з'; +$l['page_go'] = 'далі'; + +// Create '.VM_SHORT.' related for Kernel +$l['build_no_vs'] = VM_SHORT.' не знайдений в базі даних'; +$l['rescue_not_synced'] = 'It seems that rescue was called but as per DB rescue is not enabled. This might happen if the Master DB is not synced with slave server.'; +$l['build_no_os'] = 'Шаблон ОС не знайдено'; +$l['build_no_ip'] = 'Первинна IP відсутня для '.VM_SHORT; +$l['build_no_os_iso'] = 'Шаблон ОС або файла ISO не знайдено'; + +// Wrong and Right Kernel +$l['wrong_kernel'] = 'Завантаження у неправильне ядро - '; +$l['correct_kernel'] = 'Виконайте перезавантаження у правильне ядро.'; +$l['kvm_module'] = 'Модуль Linux-KVM не завантажено.'; +$l['kvm_network'] = 'The '.$globals['bridge'].'Не запускається. Запустіть запуск служби virtnetwork '; +$l['temp_exists'] = 'Файл шаблона вже існує'; +$l['temp_snap_err'] = 'The Snapshot could not be created and hence the template creation failed. The snapshot creation generally fails because of less space'; +$l['wrong_xm'] = 'Модуль XEN завантажено неправильно'; +$l['lxc_module'] = 'LXC не встановлено.'; + +// Xen '.VM_SHORT.' Creation errors +$l['xen_err_lvm'] = 'Виникла помилка створення LVM '.VM_SHORT; +$l['xen_err_swap'] = 'Виникла помилка створення SWAP '.VM_SHORT; +$l['xen_err_tmp'] = 'Помилка під час створення точки монтування'; +$l['xen_err_mount'] = 'Виникла помилка створення '.VM_SHORT.' LVM'; +$l['xen_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; +$l['xen_err_dd'] = 'Під час операції копіювання диску виникла помилка'; +$l['xen_err_mkfs'] = 'Під час форматування '.VM_SHORT.' виникла помилка'; +$l['xen_err_mkswap'] = 'Під час форматування SWAP '.VM_SHORT.' виникла помилка'; +$l['xen_err_untar'] = 'Під час вилученння образу ОС виникла помилка'; +$l['xen_err_part'] = 'Під час сторення розділів диску виникла помилка'; +$l['xen_err_kpart'] = 'В процесі відображення розділа (-ів) виникла помилка'; +$l['xen_err_resizefs'] = 'Під час зміни розміру файлової системи виникла помилка'; + +// XCP '.VM_SHORT.' Creation errors +$l['xcp_err_vdi'] = 'Під час створення VDI віртуальної машини винилка помилка'; +$l['xcp_err_iso'] = 'В процесі завантаження ISO виникла помилка'; +$l['xcp_err_vif'] = 'Під час створення VIF для '.VM_SHORT.' винилка помилка'; +$l['xcp_xentools_missing'] = 'Could not find the Xentools ISO'; + +// KVM '.VM_SHORT.' Creation errors +$l['kvm_err_lvm'] = 'Виникла помилка створення LVM '.VM_SHORT; +$l['kvm_err_mount'] = 'Виникла помилка встановлення '.VM_SHORT.' LVM'; +$l['kvm_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; +$l['kvm_err_dd'] = 'Під час операції копіювання диску виникла помилка'; +$l['kvm_err_resizefs'] = 'В процесі зміни розміру файлової системи виникла помилка' ; +$l['kvm_err_part'] = 'Виникла помилка створення розділу диску'; +$l['kvm_err_kpart'] = 'Виникла помилка відображення розділа (-ів)'; +$l['kvm_err_mkswap'] = 'Виникла помилка форматування SWAP '.VM_SHORT; +$l['kvm_err_ceph_block'] = 'There was an error creating the CEPH block device'; +$l['kvm_err_ceph_block_map'] = 'There was an error mapping the CEPH block device'; +$l['kvm_err_ceph_block_rmmap'] = 'There was an error in deleting the map of the CEPH block device'; +$l['kvm_err_ceph_block_rm'] = 'There was an error in delete of the CEPH block device'; + +// LXC '.VM_SHORT.' Creation errors +$l['lxc_err_untar'] = 'Виникла помилка вилучення шаблона ОС'; +$l['lxc_err_unmount'] = 'Виникла помилка розмонтування '.VM_SHORT.' LVM'; +$l['lxc_err_resizefs'] = 'Виникла помилка зміни розміру файлової системи'; +$l['lxc_network'] = 'The '.$globals['bridge'].' Не запускається. Запустіть запуск служби virtnetwork '; +$l['lxc_err_mount'] = 'Виникла помилка встановлення '.VM_SHORT.' LVM'; + +// Virtuozzo '.VM_SHORT.' Creation errors +$l['virtuzo_create_error'] = 'Виникла помилка створення '.VM_SHORT; +$l['err_vncpass'] = 'Виникла помилка налаштування пароля VNC'; +$l['err_set_iso'] = 'ISO до '.VM_SHORT.' було приєднано'; +$l['err_disk_create'] = 'Виникла помилка створення диску '.VM_SHORT; +$l['err_set_boot_order'] = 'Виникла помилка встановлення порядку завантаження'; +$l['err_set_ram'] = 'Виникла помилка встановлення ОЗУ'; +$l['err_set_pinning'] = 'Виникла помилка встанволення CPU Affinity'; +$l['err_install_tools'] = 'Виникла помилка встановлення гостьових інструментів'; + +//Backup errors +$l['backup_err_mount'] = 'Виникла помилка встановлення LVM для тимчасового сховища'; +$l['backup_err_lvm'] = 'Виникла помилка створення LVM тимчасового сховища.'; +$l['backup_err_mkfs'] = 'Виникла помилка форматування тимчасового сховища'; +$l['backup_err_mkdir'] = 'Виникла помилка створення каталога точок монтування тимчасового сховища'; +$l['kvm_err_tar'] = 'Виникла помилка стиснення архіву'; +$l['xen_err_tar'] = 'Виникла помилка стиснення архіву'; +$l['kvm_err_untar'] = 'Виникла помилка розпакування архіву'; +$l['backup_err_untar'] = 'Виникла помилка в процесі розпакування архіву'; +$l['err_vzdump'] = 'Виникла помилка інструменту резервного копіювання'; +$l['err_create_backup_folder'] = 'There was an error while creating the backup directory'; +$l['err_create_backup_date_folder'] = 'There was an error while creating the backup date directory'; +$l['err_backup_command_fail'] = 'Не вдалося створити резервний образ. Код повернення: '; +$l['backup_err_snap_switch'] = 'There was an error while reverting to the snapshot'; +$l['backup_err_snap_del'] = 'There was an error while deleting the snapshot'; +$l['vps_uuid_empty'] = VM_SHORT.' UUID is empty!'; +$l['vg_space_arr'] = 'There is not enough space in '; + +// OpenVZ '.VM_SHORT.' Creation errors +$l['openvz_err_ubc'] = 'Помилка збереження налаштувань UBC'; +$l['openvz_err_ostemplate'] = 'Помилка встановлення шаблона ОС'; +$l['openvz_err_space'] = 'Помилка встановлення дискового простору'; +$l['openvz_err_inodes'] = 'Помилка встановлення дискового простору'; +$l['openvz_err_hostname'] = 'Помилка встановлення імені хоста'; +$l['openvz_err_ip'] = 'Помилка IP-адреси'; +$l['openvz_err_dns'] = 'Помилка DNS.'; +$l['openvz_err_cpu'] = 'Помилка встановлення модулів CPU'; +$l['openvz_err_cpulim'] = 'Помилка встановлення ліміту CPU'; +$l['openvz_err_cores'] = 'Помилка в налаштуваннях ядра CPU'; +$l['openvz_err_ioprio'] = 'Помилка встановлення пріоритету IO'; +$l['openvz_err_create'] = 'Помилка створення контейнера'; +$l['vswap_error'] = 'Виникла помилка налаштування параметрів VSwap'; + +// Rescue Disk Errors +$l['err_downloading'] = 'There was an error downloading the rescue template'; +$l['err_delete_disk'] = 'There was an error while deleting the rescue disk'; + +// Enduser '.VM_SHORT.' status column +$l['lm_status_online'] = 'Працює'; +$l['lm_status_offline'] = 'Вимкнений'; +$l['lm_status_suspended'] = 'Призупинений'; +$l['vps_is_suspended'] = 'Цей '.VM_SHORT.' заблоковано. Ви не можете виконувати жодних операцій з '.VM_SHORT.'!'; +$l['suspend_reason_bw'] = 'Цей '.VM_SHORT.' призупинено через перевищення лімітів каналу. Вы не можете виконувати жодних операцій для '.VM_SHORT.'!'; + +$l['unknown'] = 'Unknown'; +$l['change_onboot'] = 'Зміни вступлять в дію після повторного завантаження '.VM_SHORT.'.'; +$l['completed'] = 'Completed'; +$l['vpsdisk_resize_err'] = 'Виникла помилка створення зміни розміру дисків'; +$l['mount_undetermined'] = 'Розділ Linux не виявлено у '.VM_SHORT; +$l['disk_destroy_err'] = 'Виникла помилка видалення дисків'; +$l['started'] = 'Started'; +$l['ended'] = 'Ended'; +$l['updated'] = 'Updated'; +$l['edit_xcperror'] = 'Виникла помилка при спробі редагування '.VM_SHORT; +$l['bandwidth_threshold_mail_sub'] = 'Bandwidth threshold exceeded'; +$l['bandwidth_threshold_mail_message'] = 'Hi, + +Your '.VM_SHORT.' {{hostname}} has exceeded {{vps_bandwidth_threshold}} % of the bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['bandwidth_mail_sub'] = VM_SHORT.' призупиняється через використання трафіка понад ліміт'; +$l['bandwidth_mail_message'] = 'Доброго дня, + +Your '.VM_SHORT.' `{{hostname}}` було призупинено через перевищення визначеної граничної межі пропускної здатності. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth but it was allowed only {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['temp_vps_net_speed_capped'] = VM_SHORT.' Network Speed Capped'; +$l['temp_vps_net_speed_capped_restore'] = VM_SHORT.' Network Speed Restored'; + +$l['speed_capped_mail_sub'] = VM_SHORT.' network speed capped due to bandwidth overuse'; +$l['speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been capped because it has reached its assigned bandwidth limit. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +$l['removed_speed_capped_mail_sub'] = VM_SHORT.' network speed has been restored'; +$l['removed_speed_capped_mail_message'] = 'Hi, + +The network speed of your '.VM_SHORT.' {{hostname}} has been restored. + +The '.VM_SHORT.' has used {{used_gb}} GB of bandwidth out of allowed {{limit_gb}} GB. + +Regards, +{{sn}}'; + +// Power cron Notification +$l['self_shutdown_sub'] = VM_SHORT.' {{action}}'; +$l['self_shutdown_body'] = 'Доброго дня + +Ваш VM_SHORT {{vpsid}} був {{дія}} у відповідності з встановленим часом ({{час}}) +'; + +$l['self_shutdown_start'] = 'Запустити'; +$l['self_shutdown_stop'] = 'Призупинити'; +$l['self_shutdown_restart'] = 'Перезапустити'; +$l['self_shutdown_poweroff'] = 'Вимкнути'; + +$l['self_shutdown_start_failed'] = 'Помилка старту'; +$l['self_shutdown_stop_failed'] = 'Помилка зупинки'; +$l['self_shutdown_restart_failed'] = 'Помилка перезапуску'; +$l['self_shutdown_poweroff_failed'] = 'Помилка вимкнення'; + +//Proxmox kernel errors +$l['failed_connect_proxmox'] = 'Не вдалося виконати запит proxmox api. Будь-лакса, введіть дінв проксі-мода в Конфігурація -> Налаштування додаткового пристрою'; + +// Speed cap messages and label: +$l['speed_cap_down']= 'Capped Download Speed '; +$l['exp_speed_cap_down'] = 'Download speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; +$l['speed_cap_up']= 'Capped Upload Speed '; +$l['exp_speed_cap_up'] = 'Upload speed after the bandwidth is overused for a '.VM_SHORT.', 0 or emtpy value indicates no capping'; + +// ISO Related +$l['admin_iso'] = 'Admin ISOs'; +$l['eu_iso'] = 'Enduser ISOs'; + +$l['enable_billing'] = 'The Billing setting is disabled. Please enable that first from the Billing Settings.'; + +// Webuzo Script Categories +$l['cat_php_forums'] = 'Forums'; +$l['cat_php_blogs'] = 'Blogs'; +$l['cat_php_cms'] = 'Portals/CMS'; +$l['cat_php_galleries'] = 'Image Galleries'; +$l['cat_php_wikis'] = 'Wikis'; +$l['cat_php_admanager'] = 'Ad Management'; +$l['cat_php_calendars'] = 'Calendars'; +$l['cat_php_games'] = 'Gaming'; +$l['cat_php_mail'] = 'Mails'; +$l['cat_php_polls'] = 'Polls and Surveys'; +$l['cat_php_projectman'] = 'Project Management'; +$l['cat_php_ecommerce'] = 'E-Commerce'; +$l['cat_php_guestbooks'] = 'Guest Books'; +$l['cat_php_customersupport'] = 'Customer Support'; +$l['cat_php_others'] = 'Others'; +$l['cat_php_music'] = 'Music'; +$l['cat_php_video'] = 'Video'; +$l['cat_php_rss'] = 'RSS'; +$l['cat_php_socialnetworking'] = 'Social Networking'; +$l['cat_php_microblogs'] = 'Micro Blogs'; +$l['cat_php_frameworks'] = 'Frameworks'; +$l['cat_php_educational'] = 'Educational'; +$l['cat_php_erp'] = 'ERP'; +$l['cat_php_dbtools'] = 'DB Tools'; +$l['cat_php_files'] = 'File Management'; + +$l['inv_winpass_chars'] = 'Allowed special characters for windows VM_SHORT root password are :'; +$l['invalid_transaction'] = 'Transaction Failed/Invalid. Please try again'; +$l['success'] = 'success'; +$l['failed'] = 'failed'; + +// For universal search +$l['unisear_hdr_res'] = 'Search Results'; +$l['unisear_no_res'] = 'No search results!'; +$l['unisear_placeholder'] = 'Search '.VM_SHORT.', User, IPs'; +$l['unisear_show_all'] = 'Show all'; +$l['unisear_res'] = 'results >>'; +$l['unisear_matched'] = 'Matched'; +$l['unisear_in'] = 'in'; +$l['unisear_for'] = 'for'; +$l['unisear_list'] = 'list'; +$l['unisear_vps'] = VM_SHORT; +$l['unisear_user'] = 'User'; +$l['unisear_ips'] = 'IP'; +$l['unisear_vps_name'] = VM_SHORT.' name'; +$l['unisear_vpsid'] = VM_SHORT.' ID'; +$l['unisear_hostname'] = 'Hostname'; +$l['unisear_server'] = 'Server'; +$l['unisear_virt'] = 'Virt type'; +$l['unisear_os_name'] = 'OS name'; +$l['unisear_iso'] = 'ISO'; +$l['unisear_free_ips'] = 'IP (free)'; +$l['unisear_storage'] = 'Storage'; +$l['unisear_st_uuid'] = 'UUID'; +$l['unisear_st_name'] = 'Name'; + +//Tun Tap Handle +$l['tuntap_handle'] = 'Tun/Tap Handle'; +$l['enable_tuntap'] = 'Enabling Tun/Tap'; +$l['disable_tuntap'] = 'Disabling Tun/Tap'; +$l['server_ram_threshold'] = 'RAM threshold level reached'; +$l['server_disk_threshold'] = 'Disk threshold level reached'; +$l['vm_locked_backup'] = VM_SHORT.' backup is running'; +$l['vm_locked_restore'] = VM_SHORT.' restore is running'; + +$l['reinstall_callback'] = 'Callback for Reinstall'; $l['no_timezone'] = 'None'; \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/.gitignore b/whmcs/modules/servers/virtualizor_cloud/novnc/.gitignore index c178dba..33b9061 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/.gitignore +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/.gitignore @@ -1,12 +1,12 @@ -*.pyc -*.o -tests/data_*.js -utils/rebind.so -utils/websockify -/node_modules -/build -/lib -recordings -*.swp -*~ -noVNC-*.tgz +*.pyc +*.o +tests/data_*.js +utils/rebind.so +utils/websockify +/node_modules +/build +/lib +recordings +*.swp +*~ +noVNC-*.tgz diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/.npmignore b/whmcs/modules/servers/virtualizor_cloud/novnc/.npmignore index c335c33..0a5fde0 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/.npmignore +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/.npmignore @@ -1,37 +1,37 @@ -# infra JS -/build/ -/node_modules/ -/tests/ -/utils/ -/recordings/ -/vendor/sinon.js - -# noVNC application files -/app -/vendor/browser-es-module-loader -/vendor/promise.js -/vnc.html -/vnc_lite.html - -# raw translation files -/po - -# config files -/.travis.yml -/karma.conf.js - -# various other files -/.gitmodules -.* -*~ -*.swp -*.swo - -# documentation (except licenses) -/docs/notes -/docs/links -/docs/release.txt -/docs/rfb_notes -/docs/*.pdf -/docs/flash_policy.txt -/CONTRIBUTING.md +# infra JS +/build/ +/node_modules/ +/tests/ +/utils/ +/recordings/ +/vendor/sinon.js + +# noVNC application files +/app +/vendor/browser-es-module-loader +/vendor/promise.js +/vnc.html +/vnc_lite.html + +# raw translation files +/po + +# config files +/.travis.yml +/karma.conf.js + +# various other files +/.gitmodules +.* +*~ +*.swp +*.swo + +# documentation (except licenses) +/docs/notes +/docs/links +/docs/release.txt +/docs/rfb_notes +/docs/*.pdf +/docs/flash_policy.txt +/CONTRIBUTING.md diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/.travis.yml b/whmcs/modules/servers/virtualizor_cloud/novnc/.travis.yml index 5798781..06b1fa0 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/.travis.yml +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/.travis.yml @@ -1,38 +1,38 @@ -language: node_js -sudo: false -cache: - directories: - - node_modules -node_js: - - 6 -env: - matrix: - - TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 10,Linux,OS X 10.11' - - TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10,Linux,OS X 10.11' - - TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10' - - TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.11' -before_script: npm install -g karma-cli -addons: - sauce_connect: - username: "directxman12" - jwt: - secure: "d3ekMYslpn6R4f0ajtRMt9SUFmNGDiItHpqaXC5T4KI0KMEsxgvEOfJot5PiFFJWg1DSpJZH6oaW2UxGZ3duJLZrXIEd/JePY8a6NtT35BNgiDPgcp+eu2Bu3rhrSNg7/HEsD1ma+JeUTnv18Ai5oMFfCCQJx2J6osIxyl/ZVxA=" -stages: -- test -- name: deploy - if: tag is PRESENT -jobs: - include: - - stage: deploy - script: skip - before_script: skip - deploy: - provider: npm - email: directxman12+npm@gmail.com - api_key: - secure: cIidkFmvkdmdwWsqBpxyPUCzBqgK8LhPiNxTrIfhwbUunMsJep9MiiBJtv8poVYG2Y4yfiZmqGn4nfetUdc/LDctd73j+/EM4Z/NUDexVAhJ+9/qCogvpJsSQ96VQo7yBceW4E1fBM3WCU0kcGToYIVSSrwvvRDtJfeYJf2Qqw0= - on: - tags: true - repo: novnc/noVNC - - +language: node_js +sudo: false +cache: + directories: + - node_modules +node_js: + - 6 +env: + matrix: + - TEST_BROWSER_NAME=chrome TEST_BROWSER_OS='Windows 10,Linux,OS X 10.11' + - TEST_BROWSER_NAME=firefox TEST_BROWSER_OS='Windows 10,Linux,OS X 10.11' + - TEST_BROWSER_NAME='internet explorer' TEST_BROWSER_OS='Windows 10' + - TEST_BROWSER_NAME=safari TEST_BROWSER_OS='OS X 10.11' +before_script: npm install -g karma-cli +addons: + sauce_connect: + username: "directxman12" + jwt: + secure: "d3ekMYslpn6R4f0ajtRMt9SUFmNGDiItHpqaXC5T4KI0KMEsxgvEOfJot5PiFFJWg1DSpJZH6oaW2UxGZ3duJLZrXIEd/JePY8a6NtT35BNgiDPgcp+eu2Bu3rhrSNg7/HEsD1ma+JeUTnv18Ai5oMFfCCQJx2J6osIxyl/ZVxA=" +stages: +- test +- name: deploy + if: tag is PRESENT +jobs: + include: + - stage: deploy + script: skip + before_script: skip + deploy: + provider: npm + email: directxman12+npm@gmail.com + api_key: + secure: cIidkFmvkdmdwWsqBpxyPUCzBqgK8LhPiNxTrIfhwbUunMsJep9MiiBJtv8poVYG2Y4yfiZmqGn4nfetUdc/LDctd73j+/EM4Z/NUDexVAhJ+9/qCogvpJsSQ96VQo7yBceW4E1fBM3WCU0kcGToYIVSSrwvvRDtJfeYJf2Qqw0= + on: + tags: true + repo: novnc/noVNC + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/LICENSE.txt b/whmcs/modules/servers/virtualizor_cloud/novnc/LICENSE.txt index ed6b657..140073a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/LICENSE.txt +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/LICENSE.txt @@ -1,68 +1,68 @@ -noVNC is Copyright (C) 2019 The noVNC Authors -(./AUTHORS) - -The noVNC core library files are licensed under the MPL 2.0 (Mozilla -Public License 2.0). The noVNC core library is composed of the -Javascript code necessary for full noVNC operation. This includes (but -is not limited to): - - core/**/*.js - app/*.js - test/playback.js - -The HTML, CSS, font and images files that included with the noVNC -source distibution (or repository) are not considered part of the -noVNC core library and are licensed under more permissive licenses. -The intent is to allow easy integration of noVNC into existing web -sites and web applications. - -The HTML, CSS, font and image files are licensed as follows: - - *.html : 2-Clause BSD license - - app/styles/*.css : 2-Clause BSD license - - app/styles/Orbitron* : SIL Open Font License 1.1 - (Copyright 2009 Matt McInerney) - - app/images/ : Creative Commons Attribution-ShareAlike - http://creativecommons.org/licenses/by-sa/3.0/ - -Some portions of noVNC are copyright to their individual authors. -Please refer to the individual source files and/or to the noVNC commit -history: https://github.com/novnc/noVNC/commits/master - -The are several files and projects that have been incorporated into -the noVNC core library. Here is a list of those files and the original -licenses (all MPL 2.0 compatible): - - core/base64.js : MPL 2.0 - - core/des.js : Various BSD style licenses - - vendor/pako/ : MIT - - vendor/browser-es-module-loader/src/ : MIT - - vendor/browser-es-module-loader/dist/ : Various BSD style licenses - - vendor/promise.js : MIT - -Any other files not mentioned above are typically marked with -a copyright/license header at the top of the file. The default noVNC -license is MPL-2.0. - -The following license texts are included: - - docs/LICENSE.MPL-2.0 - docs/LICENSE.OFL-1.1 - docs/LICENSE.BSD-3-Clause (New BSD) - docs/LICENSE.BSD-2-Clause (Simplified BSD / FreeBSD) - vendor/pako/LICENSE (MIT) - -Or alternatively the license texts may be found here: - - http://www.mozilla.org/MPL/2.0/ - http://scripts.sil.org/OFL - http://en.wikipedia.org/wiki/BSD_licenses - https://opensource.org/licenses/MIT +noVNC is Copyright (C) 2019 The noVNC Authors +(./AUTHORS) + +The noVNC core library files are licensed under the MPL 2.0 (Mozilla +Public License 2.0). The noVNC core library is composed of the +Javascript code necessary for full noVNC operation. This includes (but +is not limited to): + + core/**/*.js + app/*.js + test/playback.js + +The HTML, CSS, font and images files that included with the noVNC +source distibution (or repository) are not considered part of the +noVNC core library and are licensed under more permissive licenses. +The intent is to allow easy integration of noVNC into existing web +sites and web applications. + +The HTML, CSS, font and image files are licensed as follows: + + *.html : 2-Clause BSD license + + app/styles/*.css : 2-Clause BSD license + + app/styles/Orbitron* : SIL Open Font License 1.1 + (Copyright 2009 Matt McInerney) + + app/images/ : Creative Commons Attribution-ShareAlike + http://creativecommons.org/licenses/by-sa/3.0/ + +Some portions of noVNC are copyright to their individual authors. +Please refer to the individual source files and/or to the noVNC commit +history: https://github.com/novnc/noVNC/commits/master + +The are several files and projects that have been incorporated into +the noVNC core library. Here is a list of those files and the original +licenses (all MPL 2.0 compatible): + + core/base64.js : MPL 2.0 + + core/des.js : Various BSD style licenses + + vendor/pako/ : MIT + + vendor/browser-es-module-loader/src/ : MIT + + vendor/browser-es-module-loader/dist/ : Various BSD style licenses + + vendor/promise.js : MIT + +Any other files not mentioned above are typically marked with +a copyright/license header at the top of the file. The default noVNC +license is MPL-2.0. + +The following license texts are included: + + docs/LICENSE.MPL-2.0 + docs/LICENSE.OFL-1.1 + docs/LICENSE.BSD-3-Clause (New BSD) + docs/LICENSE.BSD-2-Clause (Simplified BSD / FreeBSD) + vendor/pako/LICENSE (MIT) + +Or alternatively the license texts may be found here: + + http://www.mozilla.org/MPL/2.0/ + http://scripts.sil.org/OFL + http://en.wikipedia.org/wiki/BSD_licenses + https://opensource.org/licenses/MIT diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/error-handler.js b/whmcs/modules/servers/virtualizor_cloud/novnc/app/error-handler.js index 81a6cba..7d7a5c2 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/error-handler.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/error-handler.js @@ -1,66 +1,66 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -// NB: this should *not* be included as a module until we have -// native support in the browsers, so that our error handler -// can catch script-loading errors. - -// No ES6 can be used in this file since it's used for the translation -/* eslint-disable prefer-arrow-callback */ - -(function _scope() { - "use strict"; - - // Fallback for all uncought errors - function handleError(event, err) { - try { - const msg = document.getElementById('noVNC_fallback_errormsg'); - - // Only show the initial error - if (msg.hasChildNodes()) { - return false; - } - - let div = document.createElement("div"); - div.classList.add('noVNC_message'); - div.appendChild(document.createTextNode(event.message)); - msg.appendChild(div); - - if (event.filename) { - div = document.createElement("div"); - div.className = 'noVNC_location'; - let text = event.filename; - if (event.lineno !== undefined) { - text += ":" + event.lineno; - if (event.colno !== undefined) { - text += ":" + event.colno; - } - } - div.appendChild(document.createTextNode(text)); - msg.appendChild(div); - } - - if (err && err.stack) { - div = document.createElement("div"); - div.className = 'noVNC_stack'; - div.appendChild(document.createTextNode(err.stack)); - msg.appendChild(div); - } - - document.getElementById('noVNC_fallback_error') - .classList.add("noVNC_open"); - } catch (exc) { - document.write("noVNC encountered an error."); - } - // Don't return true since this would prevent the error - // from being printed to the browser console. - return false; - } - window.addEventListener('error', function onerror(evt) { handleError(evt, evt.error); }); - window.addEventListener('unhandledrejection', function onreject(evt) { handleError(evt.reason, evt.reason); }); -})(); +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +// NB: this should *not* be included as a module until we have +// native support in the browsers, so that our error handler +// can catch script-loading errors. + +// No ES6 can be used in this file since it's used for the translation +/* eslint-disable prefer-arrow-callback */ + +(function _scope() { + "use strict"; + + // Fallback for all uncought errors + function handleError(event, err) { + try { + const msg = document.getElementById('noVNC_fallback_errormsg'); + + // Only show the initial error + if (msg.hasChildNodes()) { + return false; + } + + let div = document.createElement("div"); + div.classList.add('noVNC_message'); + div.appendChild(document.createTextNode(event.message)); + msg.appendChild(div); + + if (event.filename) { + div = document.createElement("div"); + div.className = 'noVNC_location'; + let text = event.filename; + if (event.lineno !== undefined) { + text += ":" + event.lineno; + if (event.colno !== undefined) { + text += ":" + event.colno; + } + } + div.appendChild(document.createTextNode(text)); + msg.appendChild(div); + } + + if (err && err.stack) { + div = document.createElement("div"); + div.className = 'noVNC_stack'; + div.appendChild(document.createTextNode(err.stack)); + msg.appendChild(div); + } + + document.getElementById('noVNC_fallback_error') + .classList.add("noVNC_open"); + } catch (exc) { + document.write("noVNC encountered an error."); + } + // Don't return true since this would prevent the error + // from being printed to the browser console. + return false; + } + window.addEventListener('error', function onerror(evt) { handleError(evt, evt.error); }); + window.addEventListener('unhandledrejection', function onreject(evt) { handleError(evt.reason, evt.reason); }); +})(); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/alt.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/alt.svg index e5bb461..de53de7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/alt.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/alt.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/clipboard.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/clipboard.svg index 79af275..7548c4c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/clipboard.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/clipboard.svg @@ -1,106 +1,106 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/connect.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/connect.svg index 56cde41..7b66a25 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/connect.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/connect.svg @@ -1,96 +1,96 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrl.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrl.svg index 856e939..e234ac7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrl.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrl.svg @@ -1,96 +1,96 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrlaltdel.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrlaltdel.svg index d7744ea..7a9e8d8 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrlaltdel.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/ctrlaltdel.svg @@ -1,100 +1,100 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/disconnect.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/disconnect.svg index 6be7d18..1b9a0b9 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/disconnect.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/disconnect.svg @@ -1,94 +1,94 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/drag.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/drag.svg index 139caf9..d47e5b0 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/drag.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/drag.svg @@ -1,76 +1,76 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/error.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/error.svg index 8356d3f..154413a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/error.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/error.svg @@ -1,81 +1,81 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/esc.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/esc.svg index 830152b..a51f5dc 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/esc.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/esc.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/expander.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/expander.svg index e163535..13d1914 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/expander.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/expander.svg @@ -1,69 +1,69 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/fullscreen.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/fullscreen.svg index 29bd05d..9b1f2dd 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/fullscreen.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/fullscreen.svg @@ -1,93 +1,93 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle.svg index 4a7a126..28d3c94 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle.svg @@ -1,82 +1,82 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle_bg.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle_bg.svg index 7579c42..ec4b811 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle_bg.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/handle_bg.svg @@ -1,172 +1,172 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/Makefile b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/Makefile index be564b4..1da1d71 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/Makefile +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/Makefile @@ -1,42 +1,42 @@ -ICONS := \ - novnc-16x16.png \ - novnc-24x24.png \ - novnc-32x32.png \ - novnc-48x48.png \ - novnc-64x64.png - -ANDROID_LAUNCHER := \ - novnc-48x48.png \ - novnc-72x72.png \ - novnc-96x96.png \ - novnc-144x144.png \ - novnc-192x192.png - -IPHONE_LAUNCHER := \ - novnc-60x60.png \ - novnc-120x120.png - -IPAD_LAUNCHER := \ - novnc-76x76.png \ - novnc-152x152.png - -ALL_ICONS := $(ICONS) $(ANDROID_LAUNCHER) $(IPHONE_LAUNCHER) $(IPAD_LAUNCHER) - -all: $(ALL_ICONS) - -novnc-16x16.png: novnc-icon-sm.svg - convert -density 90 \ - -background transparent "$<" "$@" -novnc-24x24.png: novnc-icon-sm.svg - convert -density 135 \ - -background transparent "$<" "$@" -novnc-32x32.png: novnc-icon-sm.svg - convert -density 180 \ - -background transparent "$<" "$@" - -novnc-%.png: novnc-icon.svg - convert -density $$[`echo $* | cut -d x -f 1` * 90 / 48] \ - -background transparent "$<" "$@" - -clean: - rm -f *.png +ICONS := \ + novnc-16x16.png \ + novnc-24x24.png \ + novnc-32x32.png \ + novnc-48x48.png \ + novnc-64x64.png + +ANDROID_LAUNCHER := \ + novnc-48x48.png \ + novnc-72x72.png \ + novnc-96x96.png \ + novnc-144x144.png \ + novnc-192x192.png + +IPHONE_LAUNCHER := \ + novnc-60x60.png \ + novnc-120x120.png + +IPAD_LAUNCHER := \ + novnc-76x76.png \ + novnc-152x152.png + +ALL_ICONS := $(ICONS) $(ANDROID_LAUNCHER) $(IPHONE_LAUNCHER) $(IPAD_LAUNCHER) + +all: $(ALL_ICONS) + +novnc-16x16.png: novnc-icon-sm.svg + convert -density 90 \ + -background transparent "$<" "$@" +novnc-24x24.png: novnc-icon-sm.svg + convert -density 135 \ + -background transparent "$<" "$@" +novnc-32x32.png: novnc-icon-sm.svg + convert -density 180 \ + -background transparent "$<" "$@" + +novnc-%.png: novnc-icon.svg + convert -density $$[`echo $* | cut -d x -f 1` * 90 / 48] \ + -background transparent "$<" "$@" + +clean: + rm -f *.png diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon-sm.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon-sm.svg index aa1c6f1..8a2a918 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon-sm.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon-sm.svg @@ -1,163 +1,163 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon.svg index 1efff91..bdb1872 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/icons/novnc-icon.svg @@ -1,163 +1,163 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/info.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/info.svg index 557b772..941c1a8 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/info.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/info.svg @@ -1,81 +1,81 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/keyboard.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/keyboard.svg index 137b350..00cdc25 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/keyboard.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/keyboard.svg @@ -1,88 +1,88 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_left.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_left.svg index ce4cca4..a23a8ea 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_left.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_left.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_middle.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_middle.svg index 6603425..8f704ec 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_middle.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_middle.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_none.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_none.svg index 3e0f838..4d0da02 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_none.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_none.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_right.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_right.svg index f4bad76..3e85ec8 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_right.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/mouse_right.svg @@ -1,92 +1,92 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/power.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/power.svg index 4925d3e..03cbc60 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/power.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/power.svg @@ -1,87 +1,87 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/settings.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/settings.svg index dbb2e80..63043d5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/settings.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/settings.svg @@ -1,76 +1,76 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/tab.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/tab.svg index 1ccb322..9129eba 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/tab.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/tab.svg @@ -1,86 +1,86 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/toggleextrakeys.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/toggleextrakeys.svg index b578c0d..f13c134 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/toggleextrakeys.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/toggleextrakeys.svg @@ -1,90 +1,90 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/warning.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/warning.svg index 7114f9b..c7ec6d0 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/warning.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/warning.svg @@ -1,81 +1,81 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - + + + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/windows.svg b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/windows.svg index ad5eec3..0514a33 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/windows.svg +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/images/windows.svg @@ -1,65 +1,65 @@ - - - -image/svg+xml - - - + + +image/svg+xml + + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/locale/README b/whmcs/modules/servers/virtualizor_cloud/novnc/app/locale/README index ca4f548..1c0cdf2 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/locale/README +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/locale/README @@ -1 +1 @@ -DO NOT MODIFY THE FILES IN THIS FOLDER, THEY ARE AUTOMATICALLY GENERATED FROM THE PO-FILES. +DO NOT MODIFY THE FILES IN THIS FOLDER, THEY ARE AUTOMATICALLY GENERATED FROM THE PO-FILES. diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/localization.js b/whmcs/modules/servers/virtualizor_cloud/novnc/app/localization.js index 100901c..4b60532 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/localization.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/localization.js @@ -1,172 +1,172 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -/* - * Localization Utilities - */ - -export class Localizer { - constructor() { - // Currently configured language - this.language = 'en'; - - // Current dictionary of translations - this.dictionary = undefined; - } - - // Configure suitable language based on user preferences - setup(supportedLanguages) { - this.language = 'en'; // Default: US English - - /* - * Navigator.languages only available in Chrome (32+) and FireFox (32+) - * Fall back to navigator.language for other browsers - */ - let userLanguages; - if (typeof window.navigator.languages == 'object') { - userLanguages = window.navigator.languages; - } else { - userLanguages = [navigator.language || navigator.userLanguage]; - } - - for (let i = 0;i < userLanguages.length;i++) { - const userLang = userLanguages[i] - .toLowerCase() - .replace("_", "-") - .split("-"); - - // Built-in default? - if ((userLang[0] === 'en') && - ((userLang[1] === undefined) || (userLang[1] === 'us'))) { - return; - } - - // First pass: perfect match - for (let j = 0; j < supportedLanguages.length; j++) { - const supLang = supportedLanguages[j] - .toLowerCase() - .replace("_", "-") - .split("-"); - - if (userLang[0] !== supLang[0]) { - continue; - } - if (userLang[1] !== supLang[1]) { - continue; - } - - this.language = supportedLanguages[j]; - return; - } - - // Second pass: fallback - for (let j = 0;j < supportedLanguages.length;j++) { - const supLang = supportedLanguages[j] - .toLowerCase() - .replace("_", "-") - .split("-"); - - if (userLang[0] !== supLang[0]) { - continue; - } - if (supLang[1] !== undefined) { - continue; - } - - this.language = supportedLanguages[j]; - return; - } - } - } - - // Retrieve localised text - get(id) { - if (typeof this.dictionary !== 'undefined' && this.dictionary[id]) { - return this.dictionary[id]; - } else { - return id; - } - } - - // Traverses the DOM and translates relevant fields - // See https://html.spec.whatwg.org/multipage/dom.html#attr-translate - translateDOM() { - const self = this; - - function process(elem, enabled) { - function isAnyOf(searchElement, items) { - return items.indexOf(searchElement) !== -1; - } - - function translateAttribute(elem, attr) { - const str = self.get(elem.getAttribute(attr)); - elem.setAttribute(attr, str); - } - - function translateTextNode(node) { - const str = self.get(node.data.trim()); - node.data = str; - } - - if (elem.hasAttribute("translate")) { - if (isAnyOf(elem.getAttribute("translate"), ["", "yes"])) { - enabled = true; - } else if (isAnyOf(elem.getAttribute("translate"), ["no"])) { - enabled = false; - } - } - - if (enabled) { - if (elem.hasAttribute("abbr") && - elem.tagName === "TH") { - translateAttribute(elem, "abbr"); - } - if (elem.hasAttribute("alt") && - isAnyOf(elem.tagName, ["AREA", "IMG", "INPUT"])) { - translateAttribute(elem, "alt"); - } - if (elem.hasAttribute("download") && - isAnyOf(elem.tagName, ["A", "AREA"])) { - translateAttribute(elem, "download"); - } - if (elem.hasAttribute("label") && - isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP", - "OPTION", "TRACK"])) { - translateAttribute(elem, "label"); - } - // FIXME: Should update "lang" - if (elem.hasAttribute("placeholder") && - isAnyOf(elem.tagName, ["INPUT", "TEXTAREA"])) { - translateAttribute(elem, "placeholder"); - } - if (elem.hasAttribute("title")) { - translateAttribute(elem, "title"); - } - if (elem.hasAttribute("value") && - elem.tagName === "INPUT" && - isAnyOf(elem.getAttribute("type"), ["reset", "button", "submit"])) { - translateAttribute(elem, "value"); - } - } - - for (let i = 0; i < elem.childNodes.length; i++) { - const node = elem.childNodes[i]; - if (node.nodeType === node.ELEMENT_NODE) { - process(node, enabled); - } else if (node.nodeType === node.TEXT_NODE && enabled) { - translateTextNode(node); - } - } - } - - process(document.body, true); - } -} - -export const l10n = new Localizer(); -export default l10n.get.bind(l10n); +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +/* + * Localization Utilities + */ + +export class Localizer { + constructor() { + // Currently configured language + this.language = 'en'; + + // Current dictionary of translations + this.dictionary = undefined; + } + + // Configure suitable language based on user preferences + setup(supportedLanguages) { + this.language = 'en'; // Default: US English + + /* + * Navigator.languages only available in Chrome (32+) and FireFox (32+) + * Fall back to navigator.language for other browsers + */ + let userLanguages; + if (typeof window.navigator.languages == 'object') { + userLanguages = window.navigator.languages; + } else { + userLanguages = [navigator.language || navigator.userLanguage]; + } + + for (let i = 0;i < userLanguages.length;i++) { + const userLang = userLanguages[i] + .toLowerCase() + .replace("_", "-") + .split("-"); + + // Built-in default? + if ((userLang[0] === 'en') && + ((userLang[1] === undefined) || (userLang[1] === 'us'))) { + return; + } + + // First pass: perfect match + for (let j = 0; j < supportedLanguages.length; j++) { + const supLang = supportedLanguages[j] + .toLowerCase() + .replace("_", "-") + .split("-"); + + if (userLang[0] !== supLang[0]) { + continue; + } + if (userLang[1] !== supLang[1]) { + continue; + } + + this.language = supportedLanguages[j]; + return; + } + + // Second pass: fallback + for (let j = 0;j < supportedLanguages.length;j++) { + const supLang = supportedLanguages[j] + .toLowerCase() + .replace("_", "-") + .split("-"); + + if (userLang[0] !== supLang[0]) { + continue; + } + if (supLang[1] !== undefined) { + continue; + } + + this.language = supportedLanguages[j]; + return; + } + } + } + + // Retrieve localised text + get(id) { + if (typeof this.dictionary !== 'undefined' && this.dictionary[id]) { + return this.dictionary[id]; + } else { + return id; + } + } + + // Traverses the DOM and translates relevant fields + // See https://html.spec.whatwg.org/multipage/dom.html#attr-translate + translateDOM() { + const self = this; + + function process(elem, enabled) { + function isAnyOf(searchElement, items) { + return items.indexOf(searchElement) !== -1; + } + + function translateAttribute(elem, attr) { + const str = self.get(elem.getAttribute(attr)); + elem.setAttribute(attr, str); + } + + function translateTextNode(node) { + const str = self.get(node.data.trim()); + node.data = str; + } + + if (elem.hasAttribute("translate")) { + if (isAnyOf(elem.getAttribute("translate"), ["", "yes"])) { + enabled = true; + } else if (isAnyOf(elem.getAttribute("translate"), ["no"])) { + enabled = false; + } + } + + if (enabled) { + if (elem.hasAttribute("abbr") && + elem.tagName === "TH") { + translateAttribute(elem, "abbr"); + } + if (elem.hasAttribute("alt") && + isAnyOf(elem.tagName, ["AREA", "IMG", "INPUT"])) { + translateAttribute(elem, "alt"); + } + if (elem.hasAttribute("download") && + isAnyOf(elem.tagName, ["A", "AREA"])) { + translateAttribute(elem, "download"); + } + if (elem.hasAttribute("label") && + isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP", + "OPTION", "TRACK"])) { + translateAttribute(elem, "label"); + } + // FIXME: Should update "lang" + if (elem.hasAttribute("placeholder") && + isAnyOf(elem.tagName, ["INPUT", "TEXTAREA"])) { + translateAttribute(elem, "placeholder"); + } + if (elem.hasAttribute("title")) { + translateAttribute(elem, "title"); + } + if (elem.hasAttribute("value") && + elem.tagName === "INPUT" && + isAnyOf(elem.getAttribute("type"), ["reset", "button", "submit"])) { + translateAttribute(elem, "value"); + } + } + + for (let i = 0; i < elem.childNodes.length; i++) { + const node = elem.childNodes[i]; + if (node.nodeType === node.ELEMENT_NODE) { + process(node, enabled); + } else if (node.nodeType === node.TEXT_NODE && enabled) { + translateTextNode(node); + } + } + } + + process(document.body, true); + } +} + +export const l10n = new Localizer(); +export default l10n.get.bind(l10n); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/sounds/CREDITS b/whmcs/modules/servers/virtualizor_cloud/novnc/app/sounds/CREDITS index ec1fb55..9b293b0 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/sounds/CREDITS +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/sounds/CREDITS @@ -1,4 +1,4 @@ -bell - Copyright: Dr. Richard Boulanger et al - URL: http://www.archive.org/details/Berklee44v12 - License: CC-BY Attribution 3.0 Unported +bell + Copyright: Dr. Richard Boulanger et al + URL: http://www.archive.org/details/Berklee44v12 + License: CC-BY Attribution 3.0 Unported diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/base.css b/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/base.css index fd78b79..eac7957 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/base.css +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/base.css @@ -1,970 +1,970 @@ -/* - * noVNC base CSS - * Copyright (C) 2019 The noVNC Authors - * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) - * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). - */ - -/* - * Z index layers: - * - * 0: Main screen - * 10: Control bar - * 50: Transition blocker - * 60: Connection popups - * 100: Status bar - * ... - * 1000: Javascript crash - * ... - * 10000: Max (used for polyfills) - */ - -body { - margin:0; - padding:0; - font-family: Helvetica; - /*Background image with light grey curve.*/ - background-color:#494949; - background-repeat:no-repeat; - background-position:right bottom; - height:100%; - touch-action: none; -} - -html { - height:100%; -} - -.noVNC_only_touch.noVNC_hidden { - display: none; -} - -.noVNC_disabled { - color: rgb(128, 128, 128); -} - -/* ---------------------------------------- - * Spinner - * ---------------------------------------- - */ - -.noVNC_spinner { - position: relative; -} -.noVNC_spinner, .noVNC_spinner::before, .noVNC_spinner::after { - width: 10px; - height: 10px; - border-radius: 2px; - box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); - animation: noVNC_spinner 1.0s linear infinite; -} -.noVNC_spinner::before { - content: ""; - position: absolute; - left: 0px; - top: 0px; - animation-delay: -0.1s; -} -.noVNC_spinner::after { - content: ""; - position: absolute; - top: 0px; - left: 0px; - animation-delay: 0.1s; -} -@keyframes noVNC_spinner { - 0% { box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); width: 20px; } - 25% { box-shadow: 20px 10px 0 rgba(255, 255, 255, 1); width: 10px; } - 50% { box-shadow: 60px 10px 0 rgba(255, 255, 255, 0); width: 10px; } -} - -/* ---------------------------------------- - * Input Elements - * ---------------------------------------- - */ - -input:not([type]), -input[type=date], -input[type=datetime-local], -input[type=email], -input[type=month], -input[type=number], -input[type=password], -input[type=search], -input[type=tel], -input[type=text], -input[type=time], -input[type=url], -input[type=week], -textarea { - /* Disable default rendering */ - -webkit-appearance: none; - -moz-appearance: none; - background: none; - - margin: 2px; - padding: 2px; - border: 1px solid rgb(192, 192, 192); - border-radius: 5px; - color: black; - background: linear-gradient(to top, rgb(255, 255, 255) 80%, rgb(240, 240, 240)); -} - -input[type=button], -input[type=color], -input[type=reset], -input[type=submit], -select { - /* Disable default rendering */ - -webkit-appearance: none; - -moz-appearance: none; - background: none; - - margin: 2px; - padding: 2px; - border: 1px solid rgb(192, 192, 192); - border-bottom-width: 2px; - border-radius: 5px; - color: black; - background: linear-gradient(to top, rgb(255, 255, 255), rgb(240, 240, 240)); - - /* This avoids it jumping around when :active */ - vertical-align: middle; -} - -input[type=button], -input[type=color], -input[type=reset], -input[type=submit] { - padding-left: 20px; - padding-right: 20px; -} - -option { - color: black; - background: white; -} - -input:not([type]):focus, -input[type=button]:focus, -input[type=color]:focus, -input[type=date]:focus, -input[type=datetime-local]:focus, -input[type=email]:focus, -input[type=month]:focus, -input[type=number]:focus, -input[type=password]:focus, -input[type=reset]:focus, -input[type=search]:focus, -input[type=submit]:focus, -input[type=tel]:focus, -input[type=text]:focus, -input[type=time]:focus, -input[type=url]:focus, -input[type=week]:focus, -select:focus, -textarea:focus { - box-shadow: 0px 0px 3px rgba(74, 144, 217, 0.5); - border-color: rgb(74, 144, 217); - outline: none; -} - -input[type=button]::-moz-focus-inner, -input[type=color]::-moz-focus-inner, -input[type=reset]::-moz-focus-inner, -input[type=submit]::-moz-focus-inner { - border: none; -} - -input:not([type]):disabled, -input[type=button]:disabled, -input[type=color]:disabled, -input[type=date]:disabled, -input[type=datetime-local]:disabled, -input[type=email]:disabled, -input[type=month]:disabled, -input[type=number]:disabled, -input[type=password]:disabled, -input[type=reset]:disabled, -input[type=search]:disabled, -input[type=submit]:disabled, -input[type=tel]:disabled, -input[type=text]:disabled, -input[type=time]:disabled, -input[type=url]:disabled, -input[type=week]:disabled, -select:disabled, -textarea:disabled { - color: rgb(128, 128, 128); - background: rgb(240, 240, 240); -} - -input[type=button]:active, -input[type=color]:active, -input[type=reset]:active, -input[type=submit]:active, -select:active { - border-bottom-width: 1px; - margin-top: 3px; -} - -:root:not(.noVNC_touch) input[type=button]:hover:not(:disabled), -:root:not(.noVNC_touch) input[type=color]:hover:not(:disabled), -:root:not(.noVNC_touch) input[type=reset]:hover:not(:disabled), -:root:not(.noVNC_touch) input[type=submit]:hover:not(:disabled), -:root:not(.noVNC_touch) select:hover:not(:disabled) { - background: linear-gradient(to top, rgb(255, 255, 255), rgb(250, 250, 250)); -} - -/* ---------------------------------------- - * WebKit centering hacks - * ---------------------------------------- - */ - -.noVNC_center { - /* - * This is a workaround because webkit misrenders transforms and - * uses non-integer coordinates, resulting in blurry content. - * Ideally we'd use "top: 50%; transform: translateY(-50%);" on - * the objects instead. - */ - display: flex; - align-items: center; - justify-content: center; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - pointer-events: none; -} -.noVNC_center > * { - pointer-events: auto; -} -.noVNC_vcenter { - display: flex; - flex-direction: column; - justify-content: center; - position: fixed; - top: 0; - left: 0; - height: 100%; - pointer-events: none; -} -.noVNC_vcenter > * { - pointer-events: auto; -} - -/* ---------------------------------------- - * Layering - * ---------------------------------------- - */ - -.noVNC_connect_layer { - z-index: 60; -} - -/* ---------------------------------------- - * Fallback error - * ---------------------------------------- - */ - -#noVNC_fallback_error { - z-index: 1000; - visibility: hidden; -} -#noVNC_fallback_error.noVNC_open { - visibility: visible; -} - -#noVNC_fallback_error > div { - max-width: 90%; - padding: 15px; - - transition: 0.5s ease-in-out; - - transform: translateY(-50px); - opacity: 0; - - text-align: center; - font-weight: bold; - color: #fff; - - border-radius: 10px; - box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); - background: rgba(200,55,55,0.8); -} -#noVNC_fallback_error.noVNC_open > div { - transform: translateY(0); - opacity: 1; -} - -#noVNC_fallback_errormsg { - font-weight: normal; -} - -#noVNC_fallback_errormsg .noVNC_message { - display: inline-block; - text-align: left; - font-family: monospace; - white-space: pre-wrap; -} - -#noVNC_fallback_error .noVNC_location { - font-style: italic; - font-size: 0.8em; - color: rgba(255, 255, 255, 0.8); -} - -#noVNC_fallback_error .noVNC_stack { - max-height: 50vh; - padding: 10px; - margin: 10px; - font-size: 0.8em; - text-align: left; - font-family: monospace; - white-space: pre; - border: 1px solid rgba(0, 0, 0, 0.5); - background: rgba(0, 0, 0, 0.2); - overflow: auto; -} - -/* ---------------------------------------- - * Control Bar - * ---------------------------------------- - */ - -#noVNC_control_bar_anchor { - /* The anchor is needed to get z-stacking to work */ - position: fixed; - z-index: 10; - - transition: 0.5s ease-in-out; - - /* Edge misrenders animations wihthout this */ - transform: translateX(0); -} -:root.noVNC_connected #noVNC_control_bar_anchor.noVNC_idle { - opacity: 0.8; -} -#noVNC_control_bar_anchor.noVNC_right { - left: auto; - right: 0; -} - -#noVNC_control_bar { - position: relative; - left: -100%; - - transition: 0.5s ease-in-out; - - background-color: rgb(110, 132, 163); - border-radius: 0 10px 10px 0; - -} -#noVNC_control_bar.noVNC_open { - box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); - left: 0; -} -#noVNC_control_bar::before { - /* This extra element is to get a proper shadow */ - content: ""; - position: absolute; - z-index: -1; - height: 100%; - width: 30px; - left: -30px; - transition: box-shadow 0.5s ease-in-out; -} -#noVNC_control_bar.noVNC_open::before { - box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); -} -.noVNC_right #noVNC_control_bar { - left: 100%; - border-radius: 10px 0 0 10px; -} -.noVNC_right #noVNC_control_bar.noVNC_open { - left: 0; -} -.noVNC_right #noVNC_control_bar::before { - visibility: hidden; -} - -#noVNC_control_bar_handle { - position: absolute; - left: -15px; - top: 0; - transform: translateY(35px); - width: calc(100% + 30px); - height: 50px; - z-index: -1; - cursor: pointer; - border-radius: 5px; - background-color: rgb(83, 99, 122); - background-image: url("../images/handle_bg.svg"); - background-repeat: no-repeat; - background-position: right; - box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5); -} -#noVNC_control_bar_handle:after { - content: ""; - transition: transform 0.5s ease-in-out; - background: url("../images/handle.svg"); - position: absolute; - top: 22px; /* (50px-6px)/2 */ - right: 5px; - width: 5px; - height: 6px; -} -#noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { - transform: translateX(1px) rotate(180deg); -} -:root:not(.noVNC_connected) #noVNC_control_bar_handle { - display: none; -} -.noVNC_right #noVNC_control_bar_handle { - background-position: left; -} -.noVNC_right #noVNC_control_bar_handle:after { - left: 5px; - right: 0; - transform: translateX(1px) rotate(180deg); -} -.noVNC_right #noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { - transform: none; -} -#noVNC_control_bar_handle div { - position: absolute; - right: -35px; - top: 0; - width: 50px; - height: 50px; -} -:root:not(.noVNC_touch) #noVNC_control_bar_handle div { - display: none; -} -.noVNC_right #noVNC_control_bar_handle div { - left: -35px; - right: auto; -} - -#noVNC_control_bar .noVNC_scroll { - max-height: 100vh; /* Chrome is buggy with 100% */ - overflow-x: hidden; - overflow-y: auto; - padding: 0 10px 0 5px; -} -.noVNC_right #noVNC_control_bar .noVNC_scroll { - padding: 0 5px 0 10px; -} - -/* Control bar hint */ -#noVNC_control_bar_hint { - position: fixed; - left: calc(100vw - 50px); - right: auto; - top: 50%; - transform: translateY(-50%) scale(0); - width: 100px; - height: 50%; - max-height: 600px; - - visibility: hidden; - opacity: 0; - transition: 0.2s ease-in-out; - background: transparent; - box-shadow: 0 0 10px black, inset 0 0 10px 10px rgba(110, 132, 163, 0.8); - border-radius: 10px; - transition-delay: 0s; -} -#noVNC_control_bar_anchor.noVNC_right #noVNC_control_bar_hint{ - left: auto; - right: calc(100vw - 50px); -} -#noVNC_control_bar_hint.noVNC_active { - visibility: visible; - opacity: 1; - transition-delay: 0.2s; - transform: translateY(-50%) scale(1); -} - -/* General button style */ -.noVNC_button { - display: block; - padding: 4px 4px; - margin: 10px 0; - vertical-align: middle; - border:1px solid rgba(255, 255, 255, 0.2); - border-radius: 6px; -} -.noVNC_button.noVNC_selected { - border-color: rgba(0, 0, 0, 0.8); - background: rgba(0, 0, 0, 0.5); -} -.noVNC_button:disabled { - opacity: 0.4; -} -.noVNC_button:focus { - outline: none; -} -.noVNC_button:active { - padding-top: 5px; - padding-bottom: 3px; -} -/* Android browsers don't properly update hover state if touch events - * are intercepted, but focus should be safe to display */ -:root:not(.noVNC_touch) .noVNC_button.noVNC_selected:hover, -.noVNC_button.noVNC_selected:focus { - border-color: rgba(0, 0, 0, 0.4); - background: rgba(0, 0, 0, 0.2); -} -:root:not(.noVNC_touch) .noVNC_button:hover, -.noVNC_button:focus { - background: rgba(255, 255, 255, 0.2); -} -.noVNC_button.noVNC_hidden { - display: none; -} - -/* Panels */ -.noVNC_panel { - transform: translateX(25px); - - transition: 0.5s ease-in-out; - - max-height: 100vh; /* Chrome is buggy with 100% */ - overflow-x: hidden; - overflow-y: auto; - - visibility: hidden; - opacity: 0; - - padding: 15px; - - background: #fff; - border-radius: 10px; - color: #000; - border: 2px solid #E0E0E0; - box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); -} -.noVNC_panel.noVNC_open { - visibility: visible; - opacity: 1; - transform: translateX(75px); -} -.noVNC_right .noVNC_vcenter { - left: auto; - right: 0; -} -.noVNC_right .noVNC_panel { - transform: translateX(-25px); -} -.noVNC_right .noVNC_panel.noVNC_open { - transform: translateX(-75px); -} - -.noVNC_panel hr { - border: none; - border-top: 1px solid rgb(192, 192, 192); -} - -.noVNC_panel label { - display: block; - white-space: nowrap; -} - -.noVNC_panel .noVNC_heading { - background-color: rgb(110, 132, 163); - border-radius: 5px; - padding: 5px; - /* Compensate for padding in image */ - padding-right: 8px; - color: white; - font-size: 20px; - margin-bottom: 10px; - white-space: nowrap; -} -.noVNC_panel .noVNC_heading img { - vertical-align: bottom; -} - -.noVNC_submit { - float: right; -} - -/* Expanders */ -.noVNC_expander { - cursor: pointer; -} -.noVNC_expander::before { - content: url("../images/expander.svg"); - display: inline-block; - margin-right: 5px; - transition: 0.2s ease-in-out; -} -.noVNC_expander.noVNC_open::before { - transform: rotateZ(90deg); -} -.noVNC_expander ~ * { - margin: 5px; - margin-left: 10px; - padding: 5px; - background: rgba(0, 0, 0, 0.05); - border-radius: 5px; -} -.noVNC_expander:not(.noVNC_open) ~ * { - display: none; -} - -/* Control bar content */ - -#noVNC_control_bar .noVNC_logo { - font-size: 13px; -} - -:root:not(.noVNC_connected) #noVNC_view_drag_button { - display: none; -} - -/* noVNC Touch Device only buttons */ -:root:not(.noVNC_connected) #noVNC_mobile_buttons { - display: none; -} -:root:not(.noVNC_touch) #noVNC_mobile_buttons { - display: none; -} - -/* Extra manual keys */ -:root:not(.noVNC_connected) #noVNC_toggle_extra_keys_button { - display: none; -} - -#noVNC_modifiers { - background-color: rgb(92, 92, 92); - border: none; - padding: 0 10px; -} - -/* Shutdown/Reboot */ -:root:not(.noVNC_connected) #noVNC_power_button { - display: none; -} -#noVNC_power { -} -#noVNC_power_buttons { - display: none; -} - -#noVNC_power input[type=button] { - width: 100%; -} - -/* Clipboard */ -:root:not(.noVNC_connected) #noVNC_clipboard_button { - display: none; -} -#noVNC_clipboard { - /* Full screen, minus padding and left and right margins */ - max-width: calc(100vw - 2*15px - 75px - 25px); -} -#noVNC_clipboard_text { - width: 500px; - max-width: 100%; -} - -/* Settings */ -#noVNC_settings { -} -#noVNC_settings ul { - list-style: none; - margin: 0px; - padding: 0px; -} -#noVNC_setting_port { - width: 80px; -} -#noVNC_setting_path { - width: 100px; -} - -/* Version */ - -.noVNC_version_wrapper { - font-size: small; -} - -.noVNC_version { - margin-left: 1rem; -} - -/* Connection Controls */ -:root:not(.noVNC_connected) #noVNC_disconnect_button { - display: none; -} - -/* ---------------------------------------- - * Status Dialog - * ---------------------------------------- - */ - -#noVNC_status { - position: fixed; - top: 0; - left: 0; - width: 100%; - z-index: 100; - transform: translateY(-100%); - - cursor: pointer; - - transition: 0.5s ease-in-out; - - visibility: hidden; - opacity: 0; - - padding: 5px; - - display: flex; - flex-direction: row; - justify-content: center; - align-content: center; - - line-height: 25px; - word-wrap: break-word; - color: #fff; - - border-bottom: 1px solid rgba(0, 0, 0, 0.9); -} -#noVNC_status.noVNC_open { - transform: translateY(0); - visibility: visible; - opacity: 1; -} - -#noVNC_status::before { - content: ""; - display: inline-block; - width: 25px; - height: 25px; - margin-right: 5px; -} - -#noVNC_status.noVNC_status_normal { - background: rgba(128,128,128,0.9); -} -#noVNC_status.noVNC_status_normal::before { - content: url("../images/info.svg") " "; -} -#noVNC_status.noVNC_status_error { - background: rgba(200,55,55,0.9); -} -#noVNC_status.noVNC_status_error::before { - content: url("../images/error.svg") " "; -} -#noVNC_status.noVNC_status_warn { - background: rgba(180,180,30,0.9); -} -#noVNC_status.noVNC_status_warn::before { - content: url("../images/warning.svg") " "; -} - -/* ---------------------------------------- - * Connect Dialog - * ---------------------------------------- - */ - -#noVNC_connect_dlg { - transition: 0.5s ease-in-out; - - transform: scale(0, 0); - visibility: hidden; - opacity: 0; -} -#noVNC_connect_dlg.noVNC_open { - transform: scale(1, 1); - visibility: visible; - opacity: 1; -} -#noVNC_connect_dlg .noVNC_logo { - transition: 0.5s ease-in-out; - padding: 10px; - margin-bottom: 10px; - - font-size: 80px; - text-align: center; - - border-radius: 5px; -} -@media (max-width: 440px) { - #noVNC_connect_dlg { - max-width: calc(100vw - 100px); - } - #noVNC_connect_dlg .noVNC_logo { - font-size: calc(25vw - 30px); - } -} -#noVNC_connect_button { - cursor: pointer; - - padding: 10px; - - color: white; - background-color: rgb(110, 132, 163); - border-radius: 12px; - - text-align: center; - font-size: 20px; - - box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); -} -#noVNC_connect_button div { - margin: 2px; - padding: 5px 30px; - border: 1px solid rgb(83, 99, 122); - border-bottom-width: 2px; - border-radius: 5px; - background: linear-gradient(to top, rgb(110, 132, 163), rgb(99, 119, 147)); - - /* This avoids it jumping around when :active */ - vertical-align: middle; -} -#noVNC_connect_button div:active { - border-bottom-width: 1px; - margin-top: 3px; -} -:root:not(.noVNC_touch) #noVNC_connect_button div:hover { - background: linear-gradient(to top, rgb(110, 132, 163), rgb(105, 125, 155)); -} - -#noVNC_connect_button img { - vertical-align: bottom; - height: 1.3em; -} - -/* ---------------------------------------- - * Password Dialog - * ---------------------------------------- - */ - -#noVNC_credentials_dlg { - position: relative; - - transform: translateY(-50px); -} -#noVNC_credentials_dlg.noVNC_open { - transform: translateY(0); -} -#noVNC_credentials_dlg ul { - list-style: none; - margin: 0px; - padding: 0px; -} -.noVNC_hidden { - display: none; -} - - -/* ---------------------------------------- - * Main Area - * ---------------------------------------- - */ - -/* Transition screen */ -#noVNC_transition { - display: none; - - position: fixed; - top: 0; - left: 0; - bottom: 0; - right: 0; - - color: white; - background: rgba(0, 0, 0, 0.5); - z-index: 50; - - /*display: flex;*/ - align-items: center; - justify-content: center; - flex-direction: column; -} -:root.noVNC_loading #noVNC_transition, -:root.noVNC_connecting #noVNC_transition, -:root.noVNC_disconnecting #noVNC_transition, -:root.noVNC_reconnecting #noVNC_transition { - display: flex; -} -:root:not(.noVNC_reconnecting) #noVNC_cancel_reconnect_button { - display: none; -} -#noVNC_transition_text { - font-size: 1.5em; -} - -/* Main container */ -#noVNC_container { - width: 100%; - height: 100%; - background-color: #313131; - border-bottom-right-radius: 800px 600px; - /*border-top-left-radius: 800px 600px;*/ -} - -#noVNC_keyboardinput { - width: 1px; - height: 1px; - background-color: #fff; - color: #fff; - border: 0; - position: absolute; - left: -40px; - z-index: -1; - ime-mode: disabled; -} - -/*Default noVNC logo.*/ -/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */ -@font-face { - font-family: 'Orbitron'; - font-style: normal; - font-weight: 700; - src: local('?'), url('Orbitron700.woff') format('woff'), - url('Orbitron700.ttf') format('truetype'); -} - -.noVNC_logo { - color:yellow; - font-family: 'Orbitron', 'OrbitronTTF', sans-serif; - line-height:90%; - text-shadow: 0.1em 0.1em 0 black; -} -.noVNC_logo span{ - color:green; -} - -#noVNC_bell { - display: none; -} - -/* ---------------------------------------- - * Media sizing - * ---------------------------------------- - */ - -@media screen and (max-width: 640px){ - #noVNC_logo { - font-size: 150px; - } -} - -@media screen and (min-width: 321px) and (max-width: 480px) { - #noVNC_logo { - font-size: 110px; - } -} - -@media screen and (max-width: 320px) { - #noVNC_logo { - font-size: 90px; - } -} +/* + * noVNC base CSS + * Copyright (C) 2019 The noVNC Authors + * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) + * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). + */ + +/* + * Z index layers: + * + * 0: Main screen + * 10: Control bar + * 50: Transition blocker + * 60: Connection popups + * 100: Status bar + * ... + * 1000: Javascript crash + * ... + * 10000: Max (used for polyfills) + */ + +body { + margin:0; + padding:0; + font-family: Helvetica; + /*Background image with light grey curve.*/ + background-color:#494949; + background-repeat:no-repeat; + background-position:right bottom; + height:100%; + touch-action: none; +} + +html { + height:100%; +} + +.noVNC_only_touch.noVNC_hidden { + display: none; +} + +.noVNC_disabled { + color: rgb(128, 128, 128); +} + +/* ---------------------------------------- + * Spinner + * ---------------------------------------- + */ + +.noVNC_spinner { + position: relative; +} +.noVNC_spinner, .noVNC_spinner::before, .noVNC_spinner::after { + width: 10px; + height: 10px; + border-radius: 2px; + box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); + animation: noVNC_spinner 1.0s linear infinite; +} +.noVNC_spinner::before { + content: ""; + position: absolute; + left: 0px; + top: 0px; + animation-delay: -0.1s; +} +.noVNC_spinner::after { + content: ""; + position: absolute; + top: 0px; + left: 0px; + animation-delay: 0.1s; +} +@keyframes noVNC_spinner { + 0% { box-shadow: -60px 10px 0 rgba(255, 255, 255, 0); width: 20px; } + 25% { box-shadow: 20px 10px 0 rgba(255, 255, 255, 1); width: 10px; } + 50% { box-shadow: 60px 10px 0 rgba(255, 255, 255, 0); width: 10px; } +} + +/* ---------------------------------------- + * Input Elements + * ---------------------------------------- + */ + +input:not([type]), +input[type=date], +input[type=datetime-local], +input[type=email], +input[type=month], +input[type=number], +input[type=password], +input[type=search], +input[type=tel], +input[type=text], +input[type=time], +input[type=url], +input[type=week], +textarea { + /* Disable default rendering */ + -webkit-appearance: none; + -moz-appearance: none; + background: none; + + margin: 2px; + padding: 2px; + border: 1px solid rgb(192, 192, 192); + border-radius: 5px; + color: black; + background: linear-gradient(to top, rgb(255, 255, 255) 80%, rgb(240, 240, 240)); +} + +input[type=button], +input[type=color], +input[type=reset], +input[type=submit], +select { + /* Disable default rendering */ + -webkit-appearance: none; + -moz-appearance: none; + background: none; + + margin: 2px; + padding: 2px; + border: 1px solid rgb(192, 192, 192); + border-bottom-width: 2px; + border-radius: 5px; + color: black; + background: linear-gradient(to top, rgb(255, 255, 255), rgb(240, 240, 240)); + + /* This avoids it jumping around when :active */ + vertical-align: middle; +} + +input[type=button], +input[type=color], +input[type=reset], +input[type=submit] { + padding-left: 20px; + padding-right: 20px; +} + +option { + color: black; + background: white; +} + +input:not([type]):focus, +input[type=button]:focus, +input[type=color]:focus, +input[type=date]:focus, +input[type=datetime-local]:focus, +input[type=email]:focus, +input[type=month]:focus, +input[type=number]:focus, +input[type=password]:focus, +input[type=reset]:focus, +input[type=search]:focus, +input[type=submit]:focus, +input[type=tel]:focus, +input[type=text]:focus, +input[type=time]:focus, +input[type=url]:focus, +input[type=week]:focus, +select:focus, +textarea:focus { + box-shadow: 0px 0px 3px rgba(74, 144, 217, 0.5); + border-color: rgb(74, 144, 217); + outline: none; +} + +input[type=button]::-moz-focus-inner, +input[type=color]::-moz-focus-inner, +input[type=reset]::-moz-focus-inner, +input[type=submit]::-moz-focus-inner { + border: none; +} + +input:not([type]):disabled, +input[type=button]:disabled, +input[type=color]:disabled, +input[type=date]:disabled, +input[type=datetime-local]:disabled, +input[type=email]:disabled, +input[type=month]:disabled, +input[type=number]:disabled, +input[type=password]:disabled, +input[type=reset]:disabled, +input[type=search]:disabled, +input[type=submit]:disabled, +input[type=tel]:disabled, +input[type=text]:disabled, +input[type=time]:disabled, +input[type=url]:disabled, +input[type=week]:disabled, +select:disabled, +textarea:disabled { + color: rgb(128, 128, 128); + background: rgb(240, 240, 240); +} + +input[type=button]:active, +input[type=color]:active, +input[type=reset]:active, +input[type=submit]:active, +select:active { + border-bottom-width: 1px; + margin-top: 3px; +} + +:root:not(.noVNC_touch) input[type=button]:hover:not(:disabled), +:root:not(.noVNC_touch) input[type=color]:hover:not(:disabled), +:root:not(.noVNC_touch) input[type=reset]:hover:not(:disabled), +:root:not(.noVNC_touch) input[type=submit]:hover:not(:disabled), +:root:not(.noVNC_touch) select:hover:not(:disabled) { + background: linear-gradient(to top, rgb(255, 255, 255), rgb(250, 250, 250)); +} + +/* ---------------------------------------- + * WebKit centering hacks + * ---------------------------------------- + */ + +.noVNC_center { + /* + * This is a workaround because webkit misrenders transforms and + * uses non-integer coordinates, resulting in blurry content. + * Ideally we'd use "top: 50%; transform: translateY(-50%);" on + * the objects instead. + */ + display: flex; + align-items: center; + justify-content: center; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; +} +.noVNC_center > * { + pointer-events: auto; +} +.noVNC_vcenter { + display: flex; + flex-direction: column; + justify-content: center; + position: fixed; + top: 0; + left: 0; + height: 100%; + pointer-events: none; +} +.noVNC_vcenter > * { + pointer-events: auto; +} + +/* ---------------------------------------- + * Layering + * ---------------------------------------- + */ + +.noVNC_connect_layer { + z-index: 60; +} + +/* ---------------------------------------- + * Fallback error + * ---------------------------------------- + */ + +#noVNC_fallback_error { + z-index: 1000; + visibility: hidden; +} +#noVNC_fallback_error.noVNC_open { + visibility: visible; +} + +#noVNC_fallback_error > div { + max-width: 90%; + padding: 15px; + + transition: 0.5s ease-in-out; + + transform: translateY(-50px); + opacity: 0; + + text-align: center; + font-weight: bold; + color: #fff; + + border-radius: 10px; + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); + background: rgba(200,55,55,0.8); +} +#noVNC_fallback_error.noVNC_open > div { + transform: translateY(0); + opacity: 1; +} + +#noVNC_fallback_errormsg { + font-weight: normal; +} + +#noVNC_fallback_errormsg .noVNC_message { + display: inline-block; + text-align: left; + font-family: monospace; + white-space: pre-wrap; +} + +#noVNC_fallback_error .noVNC_location { + font-style: italic; + font-size: 0.8em; + color: rgba(255, 255, 255, 0.8); +} + +#noVNC_fallback_error .noVNC_stack { + max-height: 50vh; + padding: 10px; + margin: 10px; + font-size: 0.8em; + text-align: left; + font-family: monospace; + white-space: pre; + border: 1px solid rgba(0, 0, 0, 0.5); + background: rgba(0, 0, 0, 0.2); + overflow: auto; +} + +/* ---------------------------------------- + * Control Bar + * ---------------------------------------- + */ + +#noVNC_control_bar_anchor { + /* The anchor is needed to get z-stacking to work */ + position: fixed; + z-index: 10; + + transition: 0.5s ease-in-out; + + /* Edge misrenders animations wihthout this */ + transform: translateX(0); +} +:root.noVNC_connected #noVNC_control_bar_anchor.noVNC_idle { + opacity: 0.8; +} +#noVNC_control_bar_anchor.noVNC_right { + left: auto; + right: 0; +} + +#noVNC_control_bar { + position: relative; + left: -100%; + + transition: 0.5s ease-in-out; + + background-color: rgb(110, 132, 163); + border-radius: 0 10px 10px 0; + +} +#noVNC_control_bar.noVNC_open { + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); + left: 0; +} +#noVNC_control_bar::before { + /* This extra element is to get a proper shadow */ + content: ""; + position: absolute; + z-index: -1; + height: 100%; + width: 30px; + left: -30px; + transition: box-shadow 0.5s ease-in-out; +} +#noVNC_control_bar.noVNC_open::before { + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} +.noVNC_right #noVNC_control_bar { + left: 100%; + border-radius: 10px 0 0 10px; +} +.noVNC_right #noVNC_control_bar.noVNC_open { + left: 0; +} +.noVNC_right #noVNC_control_bar::before { + visibility: hidden; +} + +#noVNC_control_bar_handle { + position: absolute; + left: -15px; + top: 0; + transform: translateY(35px); + width: calc(100% + 30px); + height: 50px; + z-index: -1; + cursor: pointer; + border-radius: 5px; + background-color: rgb(83, 99, 122); + background-image: url("../images/handle_bg.svg"); + background-repeat: no-repeat; + background-position: right; + box-shadow: 3px 3px 0px rgba(0, 0, 0, 0.5); +} +#noVNC_control_bar_handle:after { + content: ""; + transition: transform 0.5s ease-in-out; + background: url("../images/handle.svg"); + position: absolute; + top: 22px; /* (50px-6px)/2 */ + right: 5px; + width: 5px; + height: 6px; +} +#noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { + transform: translateX(1px) rotate(180deg); +} +:root:not(.noVNC_connected) #noVNC_control_bar_handle { + display: none; +} +.noVNC_right #noVNC_control_bar_handle { + background-position: left; +} +.noVNC_right #noVNC_control_bar_handle:after { + left: 5px; + right: 0; + transform: translateX(1px) rotate(180deg); +} +.noVNC_right #noVNC_control_bar.noVNC_open #noVNC_control_bar_handle:after { + transform: none; +} +#noVNC_control_bar_handle div { + position: absolute; + right: -35px; + top: 0; + width: 50px; + height: 50px; +} +:root:not(.noVNC_touch) #noVNC_control_bar_handle div { + display: none; +} +.noVNC_right #noVNC_control_bar_handle div { + left: -35px; + right: auto; +} + +#noVNC_control_bar .noVNC_scroll { + max-height: 100vh; /* Chrome is buggy with 100% */ + overflow-x: hidden; + overflow-y: auto; + padding: 0 10px 0 5px; +} +.noVNC_right #noVNC_control_bar .noVNC_scroll { + padding: 0 5px 0 10px; +} + +/* Control bar hint */ +#noVNC_control_bar_hint { + position: fixed; + left: calc(100vw - 50px); + right: auto; + top: 50%; + transform: translateY(-50%) scale(0); + width: 100px; + height: 50%; + max-height: 600px; + + visibility: hidden; + opacity: 0; + transition: 0.2s ease-in-out; + background: transparent; + box-shadow: 0 0 10px black, inset 0 0 10px 10px rgba(110, 132, 163, 0.8); + border-radius: 10px; + transition-delay: 0s; +} +#noVNC_control_bar_anchor.noVNC_right #noVNC_control_bar_hint{ + left: auto; + right: calc(100vw - 50px); +} +#noVNC_control_bar_hint.noVNC_active { + visibility: visible; + opacity: 1; + transition-delay: 0.2s; + transform: translateY(-50%) scale(1); +} + +/* General button style */ +.noVNC_button { + display: block; + padding: 4px 4px; + margin: 10px 0; + vertical-align: middle; + border:1px solid rgba(255, 255, 255, 0.2); + border-radius: 6px; +} +.noVNC_button.noVNC_selected { + border-color: rgba(0, 0, 0, 0.8); + background: rgba(0, 0, 0, 0.5); +} +.noVNC_button:disabled { + opacity: 0.4; +} +.noVNC_button:focus { + outline: none; +} +.noVNC_button:active { + padding-top: 5px; + padding-bottom: 3px; +} +/* Android browsers don't properly update hover state if touch events + * are intercepted, but focus should be safe to display */ +:root:not(.noVNC_touch) .noVNC_button.noVNC_selected:hover, +.noVNC_button.noVNC_selected:focus { + border-color: rgba(0, 0, 0, 0.4); + background: rgba(0, 0, 0, 0.2); +} +:root:not(.noVNC_touch) .noVNC_button:hover, +.noVNC_button:focus { + background: rgba(255, 255, 255, 0.2); +} +.noVNC_button.noVNC_hidden { + display: none; +} + +/* Panels */ +.noVNC_panel { + transform: translateX(25px); + + transition: 0.5s ease-in-out; + + max-height: 100vh; /* Chrome is buggy with 100% */ + overflow-x: hidden; + overflow-y: auto; + + visibility: hidden; + opacity: 0; + + padding: 15px; + + background: #fff; + border-radius: 10px; + color: #000; + border: 2px solid #E0E0E0; + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} +.noVNC_panel.noVNC_open { + visibility: visible; + opacity: 1; + transform: translateX(75px); +} +.noVNC_right .noVNC_vcenter { + left: auto; + right: 0; +} +.noVNC_right .noVNC_panel { + transform: translateX(-25px); +} +.noVNC_right .noVNC_panel.noVNC_open { + transform: translateX(-75px); +} + +.noVNC_panel hr { + border: none; + border-top: 1px solid rgb(192, 192, 192); +} + +.noVNC_panel label { + display: block; + white-space: nowrap; +} + +.noVNC_panel .noVNC_heading { + background-color: rgb(110, 132, 163); + border-radius: 5px; + padding: 5px; + /* Compensate for padding in image */ + padding-right: 8px; + color: white; + font-size: 20px; + margin-bottom: 10px; + white-space: nowrap; +} +.noVNC_panel .noVNC_heading img { + vertical-align: bottom; +} + +.noVNC_submit { + float: right; +} + +/* Expanders */ +.noVNC_expander { + cursor: pointer; +} +.noVNC_expander::before { + content: url("../images/expander.svg"); + display: inline-block; + margin-right: 5px; + transition: 0.2s ease-in-out; +} +.noVNC_expander.noVNC_open::before { + transform: rotateZ(90deg); +} +.noVNC_expander ~ * { + margin: 5px; + margin-left: 10px; + padding: 5px; + background: rgba(0, 0, 0, 0.05); + border-radius: 5px; +} +.noVNC_expander:not(.noVNC_open) ~ * { + display: none; +} + +/* Control bar content */ + +#noVNC_control_bar .noVNC_logo { + font-size: 13px; +} + +:root:not(.noVNC_connected) #noVNC_view_drag_button { + display: none; +} + +/* noVNC Touch Device only buttons */ +:root:not(.noVNC_connected) #noVNC_mobile_buttons { + display: none; +} +:root:not(.noVNC_touch) #noVNC_mobile_buttons { + display: none; +} + +/* Extra manual keys */ +:root:not(.noVNC_connected) #noVNC_toggle_extra_keys_button { + display: none; +} + +#noVNC_modifiers { + background-color: rgb(92, 92, 92); + border: none; + padding: 0 10px; +} + +/* Shutdown/Reboot */ +:root:not(.noVNC_connected) #noVNC_power_button { + display: none; +} +#noVNC_power { +} +#noVNC_power_buttons { + display: none; +} + +#noVNC_power input[type=button] { + width: 100%; +} + +/* Clipboard */ +:root:not(.noVNC_connected) #noVNC_clipboard_button { + display: none; +} +#noVNC_clipboard { + /* Full screen, minus padding and left and right margins */ + max-width: calc(100vw - 2*15px - 75px - 25px); +} +#noVNC_clipboard_text { + width: 500px; + max-width: 100%; +} + +/* Settings */ +#noVNC_settings { +} +#noVNC_settings ul { + list-style: none; + margin: 0px; + padding: 0px; +} +#noVNC_setting_port { + width: 80px; +} +#noVNC_setting_path { + width: 100px; +} + +/* Version */ + +.noVNC_version_wrapper { + font-size: small; +} + +.noVNC_version { + margin-left: 1rem; +} + +/* Connection Controls */ +:root:not(.noVNC_connected) #noVNC_disconnect_button { + display: none; +} + +/* ---------------------------------------- + * Status Dialog + * ---------------------------------------- + */ + +#noVNC_status { + position: fixed; + top: 0; + left: 0; + width: 100%; + z-index: 100; + transform: translateY(-100%); + + cursor: pointer; + + transition: 0.5s ease-in-out; + + visibility: hidden; + opacity: 0; + + padding: 5px; + + display: flex; + flex-direction: row; + justify-content: center; + align-content: center; + + line-height: 25px; + word-wrap: break-word; + color: #fff; + + border-bottom: 1px solid rgba(0, 0, 0, 0.9); +} +#noVNC_status.noVNC_open { + transform: translateY(0); + visibility: visible; + opacity: 1; +} + +#noVNC_status::before { + content: ""; + display: inline-block; + width: 25px; + height: 25px; + margin-right: 5px; +} + +#noVNC_status.noVNC_status_normal { + background: rgba(128,128,128,0.9); +} +#noVNC_status.noVNC_status_normal::before { + content: url("../images/info.svg") " "; +} +#noVNC_status.noVNC_status_error { + background: rgba(200,55,55,0.9); +} +#noVNC_status.noVNC_status_error::before { + content: url("../images/error.svg") " "; +} +#noVNC_status.noVNC_status_warn { + background: rgba(180,180,30,0.9); +} +#noVNC_status.noVNC_status_warn::before { + content: url("../images/warning.svg") " "; +} + +/* ---------------------------------------- + * Connect Dialog + * ---------------------------------------- + */ + +#noVNC_connect_dlg { + transition: 0.5s ease-in-out; + + transform: scale(0, 0); + visibility: hidden; + opacity: 0; +} +#noVNC_connect_dlg.noVNC_open { + transform: scale(1, 1); + visibility: visible; + opacity: 1; +} +#noVNC_connect_dlg .noVNC_logo { + transition: 0.5s ease-in-out; + padding: 10px; + margin-bottom: 10px; + + font-size: 80px; + text-align: center; + + border-radius: 5px; +} +@media (max-width: 440px) { + #noVNC_connect_dlg { + max-width: calc(100vw - 100px); + } + #noVNC_connect_dlg .noVNC_logo { + font-size: calc(25vw - 30px); + } +} +#noVNC_connect_button { + cursor: pointer; + + padding: 10px; + + color: white; + background-color: rgb(110, 132, 163); + border-radius: 12px; + + text-align: center; + font-size: 20px; + + box-shadow: 6px 6px 0px rgba(0, 0, 0, 0.5); +} +#noVNC_connect_button div { + margin: 2px; + padding: 5px 30px; + border: 1px solid rgb(83, 99, 122); + border-bottom-width: 2px; + border-radius: 5px; + background: linear-gradient(to top, rgb(110, 132, 163), rgb(99, 119, 147)); + + /* This avoids it jumping around when :active */ + vertical-align: middle; +} +#noVNC_connect_button div:active { + border-bottom-width: 1px; + margin-top: 3px; +} +:root:not(.noVNC_touch) #noVNC_connect_button div:hover { + background: linear-gradient(to top, rgb(110, 132, 163), rgb(105, 125, 155)); +} + +#noVNC_connect_button img { + vertical-align: bottom; + height: 1.3em; +} + +/* ---------------------------------------- + * Password Dialog + * ---------------------------------------- + */ + +#noVNC_credentials_dlg { + position: relative; + + transform: translateY(-50px); +} +#noVNC_credentials_dlg.noVNC_open { + transform: translateY(0); +} +#noVNC_credentials_dlg ul { + list-style: none; + margin: 0px; + padding: 0px; +} +.noVNC_hidden { + display: none; +} + + +/* ---------------------------------------- + * Main Area + * ---------------------------------------- + */ + +/* Transition screen */ +#noVNC_transition { + display: none; + + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + + color: white; + background: rgba(0, 0, 0, 0.5); + z-index: 50; + + /*display: flex;*/ + align-items: center; + justify-content: center; + flex-direction: column; +} +:root.noVNC_loading #noVNC_transition, +:root.noVNC_connecting #noVNC_transition, +:root.noVNC_disconnecting #noVNC_transition, +:root.noVNC_reconnecting #noVNC_transition { + display: flex; +} +:root:not(.noVNC_reconnecting) #noVNC_cancel_reconnect_button { + display: none; +} +#noVNC_transition_text { + font-size: 1.5em; +} + +/* Main container */ +#noVNC_container { + width: 100%; + height: 100%; + background-color: #313131; + border-bottom-right-radius: 800px 600px; + /*border-top-left-radius: 800px 600px;*/ +} + +#noVNC_keyboardinput { + width: 1px; + height: 1px; + background-color: #fff; + color: #fff; + border: 0; + position: absolute; + left: -40px; + z-index: -1; + ime-mode: disabled; +} + +/*Default noVNC logo.*/ +/* From: http://fonts.googleapis.com/css?family=Orbitron:700 */ +@font-face { + font-family: 'Orbitron'; + font-style: normal; + font-weight: 700; + src: local('?'), url('Orbitron700.woff') format('woff'), + url('Orbitron700.ttf') format('truetype'); +} + +.noVNC_logo { + color:yellow; + font-family: 'Orbitron', 'OrbitronTTF', sans-serif; + line-height:90%; + text-shadow: 0.1em 0.1em 0 black; +} +.noVNC_logo span{ + color:green; +} + +#noVNC_bell { + display: none; +} + +/* ---------------------------------------- + * Media sizing + * ---------------------------------------- + */ + +@media screen and (max-width: 640px){ + #noVNC_logo { + font-size: 150px; + } +} + +@media screen and (min-width: 321px) and (max-width: 480px) { + #noVNC_logo { + font-size: 110px; + } +} + +@media screen and (max-width: 320px) { + #noVNC_logo { + font-size: 90px; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/lite.css b/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/lite.css index 13e11c7..596ff1c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/lite.css +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/styles/lite.css @@ -1,63 +1,63 @@ -/* - * noVNC auto CSS - * Copyright (C) 2012 Joel Martin - * Copyright (C) 2017 Samuel Mannehed for Cendio AB - * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) - * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). - */ - -body { - margin:0; - background-color:#313131; - border-bottom-right-radius: 800px 600px; - height:100%; - display: flex; - flex-direction: column; -} - -html { - background-color:#494949; - height:100%; -} - -#noVNC_status_bar { - width: 100%; - display:flex; - justify-content: space-between; -} - -#noVNC_status { - color: #fff; - font: bold 12px Helvetica; - margin: auto; -} - -.noVNC_status_normal { - background: linear-gradient(#b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); -} - -.noVNC_status_error { - background: linear-gradient(#c83737 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); -} - -.noVNC_status_warn { - background: linear-gradient(#b4b41e 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); -} - -.noNVC_shown { - display: inline; -} -.noVNC_hidden { - display: none; -} - -#noVNC_left_dummy_elem { - flex: 1; -} - -#noVNC_buttons { - padding: 1px; - flex: 1; - display: flex; - justify-content: flex-end; -} +/* + * noVNC auto CSS + * Copyright (C) 2012 Joel Martin + * Copyright (C) 2017 Samuel Mannehed for Cendio AB + * noVNC is licensed under the MPL 2.0 (see LICENSE.txt) + * This file is licensed under the 2-Clause BSD license (see LICENSE.txt). + */ + +body { + margin:0; + background-color:#313131; + border-bottom-right-radius: 800px 600px; + height:100%; + display: flex; + flex-direction: column; +} + +html { + background-color:#494949; + height:100%; +} + +#noVNC_status_bar { + width: 100%; + display:flex; + justify-content: space-between; +} + +#noVNC_status { + color: #fff; + font: bold 12px Helvetica; + margin: auto; +} + +.noVNC_status_normal { + background: linear-gradient(#b2bdcd 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); +} + +.noVNC_status_error { + background: linear-gradient(#c83737 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); +} + +.noVNC_status_warn { + background: linear-gradient(#b4b41e 0%,#899cb3 49%,#7e93af 51%,#6e84a3 100%); +} + +.noNVC_shown { + display: inline; +} +.noVNC_hidden { + display: none; +} + +#noVNC_left_dummy_elem { + flex: 1; +} + +#noVNC_buttons { + padding: 1px; + flex: 1; + display: flex; + justify-content: flex-end; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/ui.js b/whmcs/modules/servers/virtualizor_cloud/novnc/app/ui.js index 940e933..2ee049a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/ui.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/ui.js @@ -1,1724 +1,1724 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -import * as Log from '../core/util/logging.js'; -import _, { l10n } from '../app/localization.js'; -import { isTouchDevice, isSafari, hasScrollbarGutter, dragThreshold } - from '../core/util/browser.js'; -import { setCapture, getPointerEvent } from '../core/util/events.js'; -import KeyTable from "../core/input/keysym.js"; -import keysyms from "../core/input/keysymdef.js"; -import Keyboard from "../core/input/keyboard.js"; -import RFB from "../core/rfb.js"; -import Display from "../core/display.js"; -import * as WebUtil from "../app/webutil.js"; - -const PAGE_TITLE = "noVNC"; - -const UI = { - - connected: false, - desktopName: "", - - statusTimeout: null, - hideKeyboardTimeout: null, - idleControlbarTimeout: null, - closeControlbarTimeout: null, - - controlbarGrabbed: false, - controlbarDrag: false, - controlbarMouseDownClientY: 0, - controlbarMouseDownOffsetY: 0, - - lastKeyboardinput: null, - defaultKeyboardinputLen: 100, - - inhibitReconnect: true, - reconnectCallback: null, - reconnectPassword: null, - - prime() { - return WebUtil.initSettings().then(() => { - if (document.readyState === "interactive" || document.readyState === "complete") { - return UI.start(); - } - - return new Promise((resolve, reject) => { - document.addEventListener('DOMContentLoaded', () => UI.start().then(resolve).catch(reject)); - }); - }); - }, - - // Render default UI and initialize settings menu - start() { - - UI.initSettings(); - - // Translate the DOM - l10n.translateDOM(); - - WebUtil.fetchJSON('./package.json') - .then((packageInfo) => { - Array.from(document.getElementsByClassName('noVNC_version')).forEach(el => el.innerText = packageInfo.version); - }) - .catch((err) => { - Log.Error("Couldn't fetch package.json: " + err); - Array.from(document.getElementsByClassName('noVNC_version_wrapper')) - .concat(Array.from(document.getElementsByClassName('noVNC_version_separator'))) - .forEach(el => el.style.display = 'none'); - }); - - // Adapt the interface for touch screen devices - if (isTouchDevice) { - document.documentElement.classList.add("noVNC_touch"); - // Remove the address bar - setTimeout(() => window.scrollTo(0, 1), 100); - } - - // Restore control bar position - if (WebUtil.readSetting('controlbar_pos') === 'right') { - UI.toggleControlbarSide(); - } - - UI.initFullscreen(); - - // Setup event handlers - UI.addControlbarHandlers(); - UI.addTouchSpecificHandlers(); - UI.addExtraKeysHandlers(); - UI.addMachineHandlers(); - UI.addConnectionControlHandlers(); - UI.addClipboardHandlers(); - UI.addSettingsHandlers(); - document.getElementById("noVNC_status") - .addEventListener('click', UI.hideStatus); - - // Bootstrap fallback input handler - UI.keyboardinputReset(); - - UI.openControlbar(); - - UI.updateVisualState('init'); - - document.documentElement.classList.remove("noVNC_loading"); - - let autoconnect = WebUtil.getConfigVar('autoconnect', true); - if (autoconnect === 'true' || autoconnect == '1') { - autoconnect = true; - UI.connect(); - } else { - autoconnect = false; - // Show the connect panel on first load unless autoconnecting - UI.openConnectPanel(); - } - - return Promise.resolve(UI.rfb); - }, - - initFullscreen() { - // Only show the button if fullscreen is properly supported - // * Safari doesn't support alphanumerical input while in fullscreen - if (!isSafari() && - (document.documentElement.requestFullscreen || - document.documentElement.mozRequestFullScreen || - document.documentElement.webkitRequestFullscreen || - document.body.msRequestFullscreen)) { - document.getElementById('noVNC_fullscreen_button') - .classList.remove("noVNC_hidden"); - UI.addFullscreenHandlers(); - } - }, - - initSettings() { - // Logging selection dropdown - const llevels = ['error', 'warn', 'info', 'debug']; - for (let i = 0; i < llevels.length; i += 1) { - UI.addOption(document.getElementById('noVNC_setting_logging'), llevels[i], llevels[i]); - } - - // Settings with immediate effects - UI.initSetting('logging', 'warn'); - UI.updateLogging(); - - // if port == 80 (or 443) then it won't be present and should be - // set manually - let port = window.location.port; - if (!port) { - if (window.location.protocol.substring(0, 5) == 'https') { - port = 443; - } else if (window.location.protocol.substring(0, 4) == 'http') { - port = 80; - } - } - - /* Populate the controls if defaults are provided in the URL */ - UI.initSetting('host', document.getElementById('noVNC_setting_host').value); - UI.initSetting('port', document.getElementById('noVNC_setting_port').value); - UI.initSetting('encrypt', (window.location.protocol === "https:")); - UI.initSetting('view_clip', false); - UI.initSetting('resize', 'off'); - UI.initSetting('quality', 6); - UI.initSetting('compression', 2); - UI.initSetting('shared', true); - UI.initSetting('view_only', false); - UI.initSetting('show_dot', false); - UI.initSetting('path', document.getElementById('noVNC_setting_path').value); - UI.initSetting('repeaterID', ''); - UI.initSetting('reconnect', false); - UI.initSetting('reconnect_delay', 5000); - UI.initSetting('password', document.getElementById('noVNC_setting_password').value); - UI.setupSettingLabels(); - }, - // Adds a link to the label elements on the corresponding input elements - setupSettingLabels() { - const labels = document.getElementsByTagName('LABEL'); - for (let i = 0; i < labels.length; i++) { - const htmlFor = labels[i].htmlFor; - if (htmlFor != '') { - const elem = document.getElementById(htmlFor); - if (elem) elem.label = labels[i]; - } else { - // If 'for' isn't set, use the first input element child - const children = labels[i].children; - for (let j = 0; j < children.length; j++) { - if (children[j].form !== undefined) { - children[j].label = labels[i]; - break; - } - } - } - } - }, - -/* ------^------- -* /INIT -* ============== -* EVENT HANDLERS -* ------v------*/ - - addControlbarHandlers() { - document.getElementById("noVNC_control_bar") - .addEventListener('mousemove', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('mouseup', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('mousedown', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('keydown', UI.activateControlbar); - - document.getElementById("noVNC_control_bar") - .addEventListener('mousedown', UI.keepControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('keydown', UI.keepControlbar); - - document.getElementById("noVNC_view_drag_button") - .addEventListener('click', UI.toggleViewDrag); - - document.getElementById("noVNC_control_bar_handle") - .addEventListener('mousedown', UI.controlbarHandleMouseDown); - document.getElementById("noVNC_control_bar_handle") - .addEventListener('mouseup', UI.controlbarHandleMouseUp); - document.getElementById("noVNC_control_bar_handle") - .addEventListener('mousemove', UI.dragControlbarHandle); - // resize events aren't available for elements - window.addEventListener('resize', UI.updateControlbarHandle); - - const exps = document.getElementsByClassName("noVNC_expander"); - for (let i = 0;i < exps.length;i++) { - exps[i].addEventListener('click', UI.toggleExpander); - } - }, - - addTouchSpecificHandlers() { - document.getElementById("noVNC_keyboard_button") - .addEventListener('click', UI.toggleVirtualKeyboard); - - UI.touchKeyboard = new Keyboard(document.getElementById('noVNC_keyboardinput')); - UI.touchKeyboard.onkeyevent = UI.keyEvent; - UI.touchKeyboard.grab(); - document.getElementById("noVNC_keyboardinput") - .addEventListener('input', UI.keyInput); - document.getElementById("noVNC_keyboardinput") - .addEventListener('focus', UI.onfocusVirtualKeyboard); - document.getElementById("noVNC_keyboardinput") - .addEventListener('blur', UI.onblurVirtualKeyboard); - document.getElementById("noVNC_keyboardinput") - .addEventListener('submit', () => false); - - document.documentElement - .addEventListener('mousedown', UI.keepVirtualKeyboard, true); - - document.getElementById("noVNC_control_bar") - .addEventListener('touchstart', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('touchmove', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('touchend', UI.activateControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('input', UI.activateControlbar); - - document.getElementById("noVNC_control_bar") - .addEventListener('touchstart', UI.keepControlbar); - document.getElementById("noVNC_control_bar") - .addEventListener('input', UI.keepControlbar); - - document.getElementById("noVNC_control_bar_handle") - .addEventListener('touchstart', UI.controlbarHandleMouseDown); - document.getElementById("noVNC_control_bar_handle") - .addEventListener('touchend', UI.controlbarHandleMouseUp); - document.getElementById("noVNC_control_bar_handle") - .addEventListener('touchmove', UI.dragControlbarHandle); - }, - - addExtraKeysHandlers() { - document.getElementById("noVNC_toggle_extra_keys_button") - .addEventListener('click', UI.toggleExtraKeys); - document.getElementById("noVNC_toggle_ctrl_button") - .addEventListener('click', UI.toggleCtrl); - document.getElementById("noVNC_toggle_windows_button") - .addEventListener('click', UI.toggleWindows); - document.getElementById("noVNC_toggle_alt_button") - .addEventListener('click', UI.toggleAlt); - document.getElementById("noVNC_send_tab_button") - .addEventListener('click', UI.sendTab); - document.getElementById("noVNC_send_esc_button") - .addEventListener('click', UI.sendEsc); - document.getElementById("noVNC_send_ctrl_alt_del_button") - .addEventListener('click', UI.sendCtrlAltDel); - }, - - addMachineHandlers() { - document.getElementById("noVNC_shutdown_button") - .addEventListener('click', () => UI.rfb.machineShutdown()); - document.getElementById("noVNC_reboot_button") - .addEventListener('click', () => UI.rfb.machineReboot()); - document.getElementById("noVNC_reset_button") - .addEventListener('click', () => UI.rfb.machineReset()); - document.getElementById("noVNC_power_button") - .addEventListener('click', UI.togglePowerPanel); - }, - - addConnectionControlHandlers() { - document.getElementById("noVNC_disconnect_button") - .addEventListener('click', UI.disconnect); - document.getElementById("noVNC_connect_button") - .addEventListener('click', UI.connect); - document.getElementById("noVNC_cancel_reconnect_button") - .addEventListener('click', UI.cancelReconnect); - - document.getElementById("noVNC_credentials_button") - .addEventListener('click', UI.setCredentials); - }, - - addClipboardHandlers() { - document.getElementById("noVNC_clipboard_button") - .addEventListener('click', UI.toggleClipboardPanel); - document.getElementById("noVNC_clipboard_text") - .addEventListener('change', UI.clipboardSend); - document.getElementById("noVNC_clipboard_clear_button") - .addEventListener('click', UI.clipboardClear); - }, - - // Add a call to save settings when the element changes, - // unless the optional parameter changeFunc is used instead. - addSettingChangeHandler(name, changeFunc) { - const settingElem = document.getElementById("noVNC_setting_" + name); - if (changeFunc === undefined) { - changeFunc = () => UI.saveSetting(name); - } - settingElem.addEventListener('change', changeFunc); - }, - - addSettingsHandlers() { - document.getElementById("noVNC_settings_button") - .addEventListener('click', UI.toggleSettingsPanel); - - UI.addSettingChangeHandler('encrypt'); - UI.addSettingChangeHandler('resize'); - UI.addSettingChangeHandler('resize', UI.applyResizeMode); - UI.addSettingChangeHandler('resize', UI.updateViewClip); - UI.addSettingChangeHandler('quality'); - UI.addSettingChangeHandler('quality', UI.updateQuality); - UI.addSettingChangeHandler('compression'); - UI.addSettingChangeHandler('compression', UI.updateCompression); - UI.addSettingChangeHandler('view_clip'); - UI.addSettingChangeHandler('view_clip', UI.updateViewClip); - UI.addSettingChangeHandler('shared'); - UI.addSettingChangeHandler('view_only'); - UI.addSettingChangeHandler('view_only', UI.updateViewOnly); - UI.addSettingChangeHandler('show_dot'); - UI.addSettingChangeHandler('show_dot', UI.updateShowDotCursor); - UI.addSettingChangeHandler('host'); - UI.addSettingChangeHandler('port'); - UI.addSettingChangeHandler('path'); - UI.addSettingChangeHandler('repeaterID'); - UI.addSettingChangeHandler('logging'); - UI.addSettingChangeHandler('logging', UI.updateLogging); - UI.addSettingChangeHandler('reconnect'); - UI.addSettingChangeHandler('reconnect_delay'); - }, - - addFullscreenHandlers() { - document.getElementById("noVNC_fullscreen_button") - .addEventListener('click', UI.toggleFullscreen); - - window.addEventListener('fullscreenchange', UI.updateFullscreenButton); - window.addEventListener('mozfullscreenchange', UI.updateFullscreenButton); - window.addEventListener('webkitfullscreenchange', UI.updateFullscreenButton); - window.addEventListener('msfullscreenchange', UI.updateFullscreenButton); - }, - -/* ------^------- - * /EVENT HANDLERS - * ============== - * VISUAL - * ------v------*/ - - // Disable/enable controls depending on connection state - updateVisualState(state) { - - document.documentElement.classList.remove("noVNC_connecting"); - document.documentElement.classList.remove("noVNC_connected"); - document.documentElement.classList.remove("noVNC_disconnecting"); - document.documentElement.classList.remove("noVNC_reconnecting"); - - const transitionElem = document.getElementById("noVNC_transition_text"); - switch (state) { - case 'init': - break; - case 'connecting': - transitionElem.textContent = _("Connecting..."); - document.documentElement.classList.add("noVNC_connecting"); - break; - case 'connected': - document.documentElement.classList.add("noVNC_connected"); - break; - case 'disconnecting': - transitionElem.textContent = _("Disconnecting..."); - document.documentElement.classList.add("noVNC_disconnecting"); - break; - case 'disconnected': - break; - case 'reconnecting': - transitionElem.textContent = _("Reconnecting..."); - document.documentElement.classList.add("noVNC_reconnecting"); - break; - default: - Log.Error("Invalid visual state: " + state); - UI.showStatus(_("Internal error"), 'error'); - return; - } - - if (UI.connected) { - UI.updateViewClip(); - - UI.disableSetting('encrypt'); - UI.disableSetting('shared'); - UI.disableSetting('host'); - UI.disableSetting('port'); - UI.disableSetting('path'); - UI.disableSetting('repeaterID'); - - // Hide the controlbar after 2 seconds - UI.closeControlbarTimeout = setTimeout(UI.closeControlbar, 2000); - } else { - UI.enableSetting('encrypt'); - UI.enableSetting('shared'); - UI.enableSetting('host'); - UI.enableSetting('port'); - UI.enableSetting('path'); - UI.enableSetting('repeaterID'); - UI.updatePowerButton(); - UI.keepControlbar(); - } - - // State change closes dialogs as they may not be relevant - // anymore - UI.closeAllPanels(); - document.getElementById('noVNC_credentials_dlg') - .classList.remove('noVNC_open'); - }, - - showStatus(text, statusType, time) { - const statusElem = document.getElementById('noVNC_status'); - - if (typeof statusType === 'undefined') { - statusType = 'normal'; - } - - // Don't overwrite more severe visible statuses and never - // errors. Only shows the first error. - if (statusElem.classList.contains("noVNC_open")) { - if (statusElem.classList.contains("noVNC_status_error")) { - return; - } - if (statusElem.classList.contains("noVNC_status_warn") && - statusType === 'normal') { - return; - } - } - - clearTimeout(UI.statusTimeout); - - switch (statusType) { - case 'error': - statusElem.classList.remove("noVNC_status_warn"); - statusElem.classList.remove("noVNC_status_normal"); - statusElem.classList.add("noVNC_status_error"); - break; - case 'warning': - case 'warn': - statusElem.classList.remove("noVNC_status_error"); - statusElem.classList.remove("noVNC_status_normal"); - statusElem.classList.add("noVNC_status_warn"); - break; - case 'normal': - case 'info': - default: - statusElem.classList.remove("noVNC_status_error"); - statusElem.classList.remove("noVNC_status_warn"); - statusElem.classList.add("noVNC_status_normal"); - break; - } - - statusElem.textContent = text; - statusElem.classList.add("noVNC_open"); - - // If no time was specified, show the status for 1.5 seconds - if (typeof time === 'undefined') { - time = 1500; - } - - // Error messages do not timeout - if (statusType !== 'error') { - UI.statusTimeout = window.setTimeout(UI.hideStatus, time); - } - }, - - hideStatus() { - clearTimeout(UI.statusTimeout); - document.getElementById('noVNC_status').classList.remove("noVNC_open"); - }, - - activateControlbar(event) { - clearTimeout(UI.idleControlbarTimeout); - // We manipulate the anchor instead of the actual control - // bar in order to avoid creating new a stacking group - document.getElementById('noVNC_control_bar_anchor') - .classList.remove("noVNC_idle"); - UI.idleControlbarTimeout = window.setTimeout(UI.idleControlbar, 2000); - }, - - idleControlbar() { - // Don't fade if a child of the control bar has focus - if (document.getElementById('noVNC_control_bar') - .contains(document.activeElement) && document.hasFocus()) { - UI.activateControlbar(); - return; - } - - document.getElementById('noVNC_control_bar_anchor') - .classList.add("noVNC_idle"); - }, - - keepControlbar() { - clearTimeout(UI.closeControlbarTimeout); - }, - - openControlbar() { - document.getElementById('noVNC_control_bar') - .classList.add("noVNC_open"); - }, - - closeControlbar() { - UI.closeAllPanels(); - document.getElementById('noVNC_control_bar') - .classList.remove("noVNC_open"); - UI.rfb.focus(); - }, - - toggleControlbar() { - if (document.getElementById('noVNC_control_bar') - .classList.contains("noVNC_open")) { - UI.closeControlbar(); - } else { - UI.openControlbar(); - } - }, - - toggleControlbarSide() { - // Temporarily disable animation, if bar is displayed, to avoid weird - // movement. The transitionend-event will not fire when display=none. - const bar = document.getElementById('noVNC_control_bar'); - const barDisplayStyle = window.getComputedStyle(bar).display; - if (barDisplayStyle !== 'none') { - bar.style.transitionDuration = '0s'; - bar.addEventListener('transitionend', () => bar.style.transitionDuration = ''); - } - - const anchor = document.getElementById('noVNC_control_bar_anchor'); - if (anchor.classList.contains("noVNC_right")) { - WebUtil.writeSetting('controlbar_pos', 'left'); - anchor.classList.remove("noVNC_right"); - } else { - WebUtil.writeSetting('controlbar_pos', 'right'); - anchor.classList.add("noVNC_right"); - } - - // Consider this a movement of the handle - UI.controlbarDrag = true; - }, - - showControlbarHint(show) { - const hint = document.getElementById('noVNC_control_bar_hint'); - if (show) { - hint.classList.add("noVNC_active"); - } else { - hint.classList.remove("noVNC_active"); - } - }, - - dragControlbarHandle(e) { - if (!UI.controlbarGrabbed) return; - - const ptr = getPointerEvent(e); - - const anchor = document.getElementById('noVNC_control_bar_anchor'); - if (ptr.clientX < (window.innerWidth * 0.1)) { - if (anchor.classList.contains("noVNC_right")) { - UI.toggleControlbarSide(); - } - } else if (ptr.clientX > (window.innerWidth * 0.9)) { - if (!anchor.classList.contains("noVNC_right")) { - UI.toggleControlbarSide(); - } - } - - if (!UI.controlbarDrag) { - const dragDistance = Math.abs(ptr.clientY - UI.controlbarMouseDownClientY); - - if (dragDistance < dragThreshold) return; - - UI.controlbarDrag = true; - } - - const eventY = ptr.clientY - UI.controlbarMouseDownOffsetY; - - UI.moveControlbarHandle(eventY); - - e.preventDefault(); - e.stopPropagation(); - UI.keepControlbar(); - UI.activateControlbar(); - }, - - // Move the handle but don't allow any position outside the bounds - moveControlbarHandle(viewportRelativeY) { - const handle = document.getElementById("noVNC_control_bar_handle"); - const handleHeight = handle.getBoundingClientRect().height; - const controlbarBounds = document.getElementById("noVNC_control_bar") - .getBoundingClientRect(); - const margin = 10; - - // These heights need to be non-zero for the below logic to work - if (handleHeight === 0 || controlbarBounds.height === 0) { - return; - } - - let newY = viewportRelativeY; - - // Check if the coordinates are outside the control bar - if (newY < controlbarBounds.top + margin) { - // Force coordinates to be below the top of the control bar - newY = controlbarBounds.top + margin; - - } else if (newY > controlbarBounds.top + - controlbarBounds.height - handleHeight - margin) { - // Force coordinates to be above the bottom of the control bar - newY = controlbarBounds.top + - controlbarBounds.height - handleHeight - margin; - } - - // Corner case: control bar too small for stable position - if (controlbarBounds.height < (handleHeight + margin * 2)) { - newY = controlbarBounds.top + - (controlbarBounds.height - handleHeight) / 2; - } - - // The transform needs coordinates that are relative to the parent - const parentRelativeY = newY - controlbarBounds.top; - handle.style.transform = "translateY(" + parentRelativeY + "px)"; - }, - - updateControlbarHandle() { - // Since the control bar is fixed on the viewport and not the page, - // the move function expects coordinates relative the the viewport. - const handle = document.getElementById("noVNC_control_bar_handle"); - const handleBounds = handle.getBoundingClientRect(); - UI.moveControlbarHandle(handleBounds.top); - }, - - controlbarHandleMouseUp(e) { - if ((e.type == "mouseup") && (e.button != 0)) return; - - // mouseup and mousedown on the same place toggles the controlbar - if (UI.controlbarGrabbed && !UI.controlbarDrag) { - UI.toggleControlbar(); - e.preventDefault(); - e.stopPropagation(); - UI.keepControlbar(); - UI.activateControlbar(); - } - UI.controlbarGrabbed = false; - UI.showControlbarHint(false); - }, - - controlbarHandleMouseDown(e) { - if ((e.type == "mousedown") && (e.button != 0)) return; - - const ptr = getPointerEvent(e); - - const handle = document.getElementById("noVNC_control_bar_handle"); - const bounds = handle.getBoundingClientRect(); - - // Touch events have implicit capture - if (e.type === "mousedown") { - setCapture(handle); - } - - UI.controlbarGrabbed = true; - UI.controlbarDrag = false; - - UI.showControlbarHint(true); - - UI.controlbarMouseDownClientY = ptr.clientY; - UI.controlbarMouseDownOffsetY = ptr.clientY - bounds.top; - e.preventDefault(); - e.stopPropagation(); - UI.keepControlbar(); - UI.activateControlbar(); - }, - - toggleExpander(e) { - if (this.classList.contains("noVNC_open")) { - this.classList.remove("noVNC_open"); - } else { - this.classList.add("noVNC_open"); - } - }, - -/* ------^------- - * /VISUAL - * ============== - * SETTINGS - * ------v------*/ - - // Initial page load read/initialization of settings - initSetting(name, defVal) { - // Check Query string followed by cookie - let val = WebUtil.getConfigVar(name); - if (val === null) { - val = WebUtil.readSetting(name, defVal); - } - WebUtil.setSetting(name, val); - UI.updateSetting(name); - return val; - }, - - // Set the new value, update and disable form control setting - forceSetting(name, val) { - WebUtil.setSetting(name, val); - UI.updateSetting(name); - UI.disableSetting(name); - }, - - // Update cookie and form control setting. If value is not set, then - // updates from control to current cookie setting. - updateSetting(name) { - - // Update the settings control - let value = UI.getSetting(name); - - const ctrl = document.getElementById('noVNC_setting_' + name); - if (ctrl.type === 'checkbox') { - ctrl.checked = value; - - } else if (typeof ctrl.options !== 'undefined') { - for (let i = 0; i < ctrl.options.length; i += 1) { - if (ctrl.options[i].value === value) { - ctrl.selectedIndex = i; - break; - } - } - } else { - /*Weird IE9 error leads to 'null' appearring - in textboxes instead of ''.*/ - if (value === null) { - value = ""; - } - ctrl.value = value; - } - }, - - // Save control setting to cookie - saveSetting(name) { - const ctrl = document.getElementById('noVNC_setting_' + name); - let val; - if (ctrl.type === 'checkbox') { - val = ctrl.checked; - } else if (typeof ctrl.options !== 'undefined') { - val = ctrl.options[ctrl.selectedIndex].value; - } else { - val = ctrl.value; - } - WebUtil.writeSetting(name, val); - //Log.Debug("Setting saved '" + name + "=" + val + "'"); - return val; - }, - - // Read form control compatible setting from cookie - getSetting(name) { - const ctrl = document.getElementById('noVNC_setting_' + name); - let val = WebUtil.readSetting(name); - if (typeof val !== 'undefined' && val !== null && ctrl.type === 'checkbox') { - if (val.toString().toLowerCase() in {'0': 1, 'no': 1, 'false': 1}) { - val = false; - } else { - val = true; - } - } - return val; - }, - - // These helpers compensate for the lack of parent-selectors and - // previous-sibling-selectors in CSS which are needed when we want to - // disable the labels that belong to disabled input elements. - disableSetting(name) { - const ctrl = document.getElementById('noVNC_setting_' + name); - ctrl.disabled = true; - ctrl.label.classList.add('noVNC_disabled'); - }, - - enableSetting(name) { - const ctrl = document.getElementById('noVNC_setting_' + name); - ctrl.disabled = false; - ctrl.label.classList.remove('noVNC_disabled'); - }, - -/* ------^------- - * /SETTINGS - * ============== - * PANELS - * ------v------*/ - - closeAllPanels() { - UI.closeSettingsPanel(); - UI.closePowerPanel(); - UI.closeClipboardPanel(); - UI.closeExtraKeys(); - }, - -/* ------^------- - * /PANELS - * ============== - * SETTINGS (panel) - * ------v------*/ - - openSettingsPanel() { - UI.closeAllPanels(); - UI.openControlbar(); - - // Refresh UI elements from saved cookies - UI.updateSetting('encrypt'); - UI.updateSetting('view_clip'); - UI.updateSetting('resize'); - UI.updateSetting('quality'); - UI.updateSetting('compression'); - UI.updateSetting('shared'); - UI.updateSetting('view_only'); - UI.updateSetting('path'); - UI.updateSetting('repeaterID'); - UI.updateSetting('logging'); - UI.updateSetting('reconnect'); - UI.updateSetting('reconnect_delay'); - - document.getElementById('noVNC_settings') - .classList.add("noVNC_open"); - document.getElementById('noVNC_settings_button') - .classList.add("noVNC_selected"); - }, - - closeSettingsPanel() { - document.getElementById('noVNC_settings') - .classList.remove("noVNC_open"); - document.getElementById('noVNC_settings_button') - .classList.remove("noVNC_selected"); - }, - - toggleSettingsPanel() { - if (document.getElementById('noVNC_settings') - .classList.contains("noVNC_open")) { - UI.closeSettingsPanel(); - } else { - UI.openSettingsPanel(); - } - }, - -/* ------^------- - * /SETTINGS - * ============== - * POWER - * ------v------*/ - - openPowerPanel() { - UI.closeAllPanels(); - UI.openControlbar(); - - document.getElementById('noVNC_power') - .classList.add("noVNC_open"); - document.getElementById('noVNC_power_button') - .classList.add("noVNC_selected"); - }, - - closePowerPanel() { - document.getElementById('noVNC_power') - .classList.remove("noVNC_open"); - document.getElementById('noVNC_power_button') - .classList.remove("noVNC_selected"); - }, - - togglePowerPanel() { - if (document.getElementById('noVNC_power') - .classList.contains("noVNC_open")) { - UI.closePowerPanel(); - } else { - UI.openPowerPanel(); - } - }, - - // Disable/enable power button - updatePowerButton() { - if (UI.connected && - UI.rfb.capabilities.power && - !UI.rfb.viewOnly) { - document.getElementById('noVNC_power_button') - .classList.remove("noVNC_hidden"); - } else { - document.getElementById('noVNC_power_button') - .classList.add("noVNC_hidden"); - // Close power panel if open - UI.closePowerPanel(); - } - }, - -/* ------^------- - * /POWER - * ============== - * CLIPBOARD - * ------v------*/ - - openClipboardPanel() { - UI.closeAllPanels(); - UI.openControlbar(); - - document.getElementById('noVNC_clipboard') - .classList.add("noVNC_open"); - document.getElementById('noVNC_clipboard_button') - .classList.add("noVNC_selected"); - }, - - closeClipboardPanel() { - document.getElementById('noVNC_clipboard') - .classList.remove("noVNC_open"); - document.getElementById('noVNC_clipboard_button') - .classList.remove("noVNC_selected"); - }, - - toggleClipboardPanel() { - if (document.getElementById('noVNC_clipboard') - .classList.contains("noVNC_open")) { - UI.closeClipboardPanel(); - } else { - UI.openClipboardPanel(); - } - }, - - clipboardReceive(e) { - Log.Debug(">> UI.clipboardReceive: " + e.detail.text.substr(0, 40) + "..."); - document.getElementById('noVNC_clipboard_text').value = e.detail.text; - Log.Debug("<< UI.clipboardReceive"); - }, - - clipboardClear() { - document.getElementById('noVNC_clipboard_text').value = ""; - UI.rfb.clipboardPasteFrom(""); - }, - - clipboardSend() { - const text = document.getElementById('noVNC_clipboard_text').value; - Log.Debug(">> UI.clipboardSend: " + text.substr(0, 40) + "..."); - UI.rfb.clipboardPasteFrom(text); - Log.Debug("<< UI.clipboardSend"); - }, - -/* ------^------- - * /CLIPBOARD - * ============== - * CONNECTION - * ------v------*/ - - openConnectPanel() { - document.getElementById('noVNC_connect_dlg') - .classList.add("noVNC_open"); - }, - - closeConnectPanel() { - document.getElementById('noVNC_connect_dlg') - .classList.remove("noVNC_open"); - }, - - register_paste_event(){ - - document.getElementById('noVNC_clipboard_paste_button').onclick = function() { - UI.rfb.sendString(document.getElementById('noVNC_clipboard_text').value); - } - - /*window.addEventListener('paste', evt => { - var clip = evt.clipboardData.getData("Text"); - UI.rfb.sendString(clip); - });*/ - - }, - - connect(event, password) { - - // Ignore when rfb already exists - if (typeof UI.rfb !== 'undefined') { - return; - } - - const host = UI.getSetting('host'); - const port = UI.getSetting('port'); - const path = UI.getSetting('path'); - password = UI.getSetting('password'); - if (typeof password === 'undefined') { - password = WebUtil.getConfigVar('password'); - UI.reconnectPassword = password; - } - - if (password === null) { - password = undefined; - } - - UI.hideStatus(); - - if (!host) { - Log.Error("Can't connect when host is: " + host); - UI.showStatus(_("Must set host"), 'error'); - return; - } - - UI.closeConnectPanel(); - - UI.updateVisualState('connecting'); - - let url; - - url = UI.getSetting('encrypt') ? 'wss' : 'ws'; - - url += '://' + host; - if (port) { - url += ':' + port; - } - url += '/' + path; - - if(UI.rfb == undefined){ - UI.rfb = new RFB(document.getElementById('noVNC_container'), url, - { shared: UI.getSetting('shared'), - repeaterID: UI.getSetting('repeaterID'), - credentials: { password: password } }); - } - UI.rfb.addEventListener("connect", UI.connectFinished); - UI.rfb.addEventListener("disconnect", UI.disconnectFinished); - UI.rfb.addEventListener("credentialsrequired", UI.credentials); - UI.rfb.addEventListener("securityfailure", UI.securityFailed); - UI.rfb.addEventListener("capabilities", UI.updatePowerButton); - UI.rfb.addEventListener("clipboard", UI.clipboardReceive); - UI.rfb.addEventListener("bell", UI.bell); - UI.rfb.addEventListener("desktopname", UI.updateDesktopName); - UI.rfb.clipViewport = UI.getSetting('view_clip'); - UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; - UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; - UI.rfb.qualityLevel = parseInt(UI.getSetting('quality')); - UI.rfb.compressionLevel = parseInt(UI.getSetting('compression')); - UI.rfb.showDotCursor = UI.getSetting('show_dot'); - UI.register_paste_event(); - UI.updateViewOnly(); // requires UI.rfb - }, - - disconnect() { - UI.rfb.disconnect(); - - UI.connected = false; - - // Disable automatic reconnecting - UI.inhibitReconnect = true; - - UI.updateVisualState('disconnecting'); - - // Don't display the connection settings until we're actually disconnected - }, - - reconnect() { - UI.reconnectCallback = null; - - // if reconnect has been disabled in the meantime, do nothing. - if (UI.inhibitReconnect) { - return; - } - - UI.connect(null, UI.reconnectPassword); - }, - - cancelReconnect() { - if (UI.reconnectCallback !== null) { - clearTimeout(UI.reconnectCallback); - UI.reconnectCallback = null; - } - - UI.updateVisualState('disconnected'); - - UI.openControlbar(); - UI.openConnectPanel(); - }, - - connectFinished(e) { - UI.connected = true; - UI.inhibitReconnect = false; - - let msg; - if (UI.getSetting('encrypt')) { - msg = _("Connected (encrypted) to ") + UI.desktopName; - } else { - msg = _("Connected (unencrypted) to ") + UI.desktopName; - } - UI.showStatus(msg); - UI.updateVisualState('connected'); - - // Do this last because it can only be used on rendered elements - UI.rfb.focus(); - }, - - disconnectFinished(e) { - const wasConnected = UI.connected; - - // This variable is ideally set when disconnection starts, but - // when the disconnection isn't clean or if it is initiated by - // the server, we need to do it here as well since - // UI.disconnect() won't be used in those cases. - UI.connected = false; - - UI.rfb = undefined; - - if (!e.detail.clean) { - UI.updateVisualState('disconnected'); - if (wasConnected) { - UI.showStatus(_("Something went wrong, connection is closed"), - 'error'); - } else { - UI.showStatus(_("Failed to connect to server"), 'error'); - } - } else if (UI.getSetting('reconnect', false) === true && !UI.inhibitReconnect) { - UI.updateVisualState('reconnecting'); - - const delay = parseInt(UI.getSetting('reconnect_delay')); - UI.reconnectCallback = setTimeout(UI.reconnect, delay); - return; - } else { - UI.updateVisualState('disconnected'); - UI.showStatus(_("Disconnected"), 'normal'); - } - - document.title = PAGE_TITLE; - - UI.openControlbar(); - UI.openConnectPanel(); - }, - - securityFailed(e) { - let msg = ""; - // On security failures we might get a string with a reason - // directly from the server. Note that we can't control if - // this string is translated or not. - if ('reason' in e.detail) { - msg = _("New connection has been rejected with reason: ") + - e.detail.reason; - } else { - msg = _("New connection has been rejected"); - } - UI.showStatus(msg, 'error'); - }, - -/* ------^------- - * /CONNECTION - * ============== - * PASSWORD - * ------v------*/ - - credentials(e) { - // FIXME: handle more types - - document.getElementById("noVNC_username_block").classList.remove("noVNC_hidden"); - document.getElementById("noVNC_password_block").classList.remove("noVNC_hidden"); - - let inputFocus = "none"; - if (e.detail.types.indexOf("username") === -1) { - document.getElementById("noVNC_username_block").classList.add("noVNC_hidden"); - } else { - inputFocus = inputFocus === "none" ? "noVNC_username_input" : inputFocus; - } - if (e.detail.types.indexOf("password") === -1) { - document.getElementById("noVNC_password_block").classList.add("noVNC_hidden"); - } else { - inputFocus = inputFocus === "none" ? "noVNC_password_input" : inputFocus; - } - document.getElementById('noVNC_credentials_dlg') - .classList.add('noVNC_open'); - - setTimeout(() => document - .getElementById(inputFocus).focus(), 100); - - Log.Warn("Server asked for credentials"); - UI.showStatus(_("Credentials are required"), "warning"); - }, - - setCredentials(e) { - // Prevent actually submitting the form - e.preventDefault(); - - let inputElemUsername = document.getElementById('noVNC_username_input'); - const username = inputElemUsername.value; - - let inputElemPassword = document.getElementById('noVNC_password_input'); - const password = inputElemPassword.value; - // Clear the input after reading the password - inputElemPassword.value = ""; - - UI.rfb.sendCredentials({ username: username, password: password }); - UI.reconnectPassword = password; - document.getElementById('noVNC_credentials_dlg') - .classList.remove('noVNC_open'); - }, - -/* ------^------- - * /PASSWORD - * ============== - * FULLSCREEN - * ------v------*/ - - toggleFullscreen() { - if (document.fullscreenElement || // alternative standard method - document.mozFullScreenElement || // currently working methods - document.webkitFullscreenElement || - document.msFullscreenElement) { - if (document.exitFullscreen) { - document.exitFullscreen(); - } else if (document.mozCancelFullScreen) { - document.mozCancelFullScreen(); - } else if (document.webkitExitFullscreen) { - document.webkitExitFullscreen(); - } else if (document.msExitFullscreen) { - document.msExitFullscreen(); - } - } else { - if (document.documentElement.requestFullscreen) { - document.documentElement.requestFullscreen(); - } else if (document.documentElement.mozRequestFullScreen) { - document.documentElement.mozRequestFullScreen(); - } else if (document.documentElement.webkitRequestFullscreen) { - document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); - } else if (document.body.msRequestFullscreen) { - document.body.msRequestFullscreen(); - } - } - UI.updateFullscreenButton(); - }, - - updateFullscreenButton() { - if (document.fullscreenElement || // alternative standard method - document.mozFullScreenElement || // currently working methods - document.webkitFullscreenElement || - document.msFullscreenElement ) { - document.getElementById('noVNC_fullscreen_button') - .classList.add("noVNC_selected"); - } else { - document.getElementById('noVNC_fullscreen_button') - .classList.remove("noVNC_selected"); - } - }, - -/* ------^------- - * /FULLSCREEN - * ============== - * RESIZE - * ------v------*/ - - // Apply remote resizing or local scaling - applyResizeMode() { - if (!UI.rfb) return; - - UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; - UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; - }, - -/* ------^------- - * /RESIZE - * ============== - * VIEW CLIPPING - * ------v------*/ - - // Update viewport clipping property for the connection. The normal - // case is to get the value from the setting. There are special cases - // for when the viewport is scaled or when a touch device is used. - updateViewClip() { - if (!UI.rfb) return; - - const scaling = UI.getSetting('resize') === 'scale'; - - if (scaling) { - // Can't be clipping if viewport is scaled to fit - UI.forceSetting('view_clip', false); - UI.rfb.clipViewport = false; - } else if (!hasScrollbarGutter) { - // Some platforms have scrollbars that are difficult - // to use in our case, so we always use our own panning - UI.forceSetting('view_clip', true); - UI.rfb.clipViewport = true; - } else { - UI.enableSetting('view_clip'); - UI.rfb.clipViewport = UI.getSetting('view_clip'); - } - - // Changing the viewport may change the state of - // the dragging button - UI.updateViewDrag(); - }, - -/* ------^------- - * /VIEW CLIPPING - * ============== - * VIEWDRAG - * ------v------*/ - - toggleViewDrag() { - if (!UI.rfb) return; - - UI.rfb.dragViewport = !UI.rfb.dragViewport; - UI.updateViewDrag(); - }, - - updateViewDrag() { - if (!UI.connected) return; - - const viewDragButton = document.getElementById('noVNC_view_drag_button'); - - if (!UI.rfb.clipViewport && UI.rfb.dragViewport) { - // We are no longer clipping the viewport. Make sure - // viewport drag isn't active when it can't be used. - UI.rfb.dragViewport = false; - } - - if (UI.rfb.dragViewport) { - viewDragButton.classList.add("noVNC_selected"); - } else { - viewDragButton.classList.remove("noVNC_selected"); - } - - if (UI.rfb.clipViewport) { - viewDragButton.classList.remove("noVNC_hidden"); - } else { - viewDragButton.classList.add("noVNC_hidden"); - } - }, - -/* ------^------- - * /VIEWDRAG - * ============== - * QUALITY - * ------v------*/ - - updateQuality() { - if (!UI.rfb) return; - - UI.rfb.qualityLevel = parseInt(UI.getSetting('quality')); - }, - -/* ------^------- - * /QUALITY - * ============== - * COMPRESSION - * ------v------*/ - - updateCompression() { - if (!UI.rfb) return; - - UI.rfb.compressionLevel = parseInt(UI.getSetting('compression')); - }, - -/* ------^------- - * /COMPRESSION - * ============== - * KEYBOARD - * ------v------*/ - - showVirtualKeyboard() { - if (!isTouchDevice) return; - - const input = document.getElementById('noVNC_keyboardinput'); - - if (document.activeElement == input) return; - - input.focus(); - - try { - const l = input.value.length; - // Move the caret to the end - input.setSelectionRange(l, l); - } catch (err) { - // setSelectionRange is undefined in Google Chrome - } - }, - - hideVirtualKeyboard() { - if (!isTouchDevice) return; - - const input = document.getElementById('noVNC_keyboardinput'); - - if (document.activeElement != input) return; - - input.blur(); - }, - - toggleVirtualKeyboard() { - if (document.getElementById('noVNC_keyboard_button') - .classList.contains("noVNC_selected")) { - UI.hideVirtualKeyboard(); - } else { - UI.showVirtualKeyboard(); - } - }, - - onfocusVirtualKeyboard(event) { - document.getElementById('noVNC_keyboard_button') - .classList.add("noVNC_selected"); - if (UI.rfb) { - UI.rfb.focusOnClick = false; - } - }, - - onblurVirtualKeyboard(event) { - document.getElementById('noVNC_keyboard_button') - .classList.remove("noVNC_selected"); - if (UI.rfb) { - UI.rfb.focusOnClick = true; - } - }, - - keepVirtualKeyboard(event) { - const input = document.getElementById('noVNC_keyboardinput'); - - // Only prevent focus change if the virtual keyboard is active - if (document.activeElement != input) { - return; - } - - // Only allow focus to move to other elements that need - // focus to function properly - if (event.target.form !== undefined) { - switch (event.target.type) { - case 'text': - case 'email': - case 'search': - case 'password': - case 'tel': - case 'url': - case 'textarea': - case 'select-one': - case 'select-multiple': - return; - } - } - - event.preventDefault(); - }, - - keyboardinputReset() { - const kbi = document.getElementById('noVNC_keyboardinput'); - kbi.value = new Array(UI.defaultKeyboardinputLen).join("_"); - UI.lastKeyboardinput = kbi.value; - }, - - keyEvent(keysym, code, down) { - if (!UI.rfb) return; - - UI.rfb.sendKey(keysym, code, down); - }, - - // When normal keyboard events are left uncought, use the input events from - // the keyboardinput element instead and generate the corresponding key events. - // This code is required since some browsers on Android are inconsistent in - // sending keyCodes in the normal keyboard events when using on screen keyboards. - keyInput(event) { - - if (!UI.rfb) return; - - const newValue = event.target.value; - - if (!UI.lastKeyboardinput) { - UI.keyboardinputReset(); - } - const oldValue = UI.lastKeyboardinput; - - let newLen; - try { - // Try to check caret position since whitespace at the end - // will not be considered by value.length in some browsers - newLen = Math.max(event.target.selectionStart, newValue.length); - } catch (err) { - // selectionStart is undefined in Google Chrome - newLen = newValue.length; - } - const oldLen = oldValue.length; - - let inputs = newLen - oldLen; - let backspaces = inputs < 0 ? -inputs : 0; - - // Compare the old string with the new to account for - // text-corrections or other input that modify existing text - for (let i = 0; i < Math.min(oldLen, newLen); i++) { - if (newValue.charAt(i) != oldValue.charAt(i)) { - inputs = newLen - i; - backspaces = oldLen - i; - break; - } - } - - // Send the key events - for (let i = 0; i < backspaces; i++) { - UI.rfb.sendKey(KeyTable.XK_BackSpace, "Backspace"); - } - for (let i = newLen - inputs; i < newLen; i++) { - UI.rfb.sendKey(keysyms.lookup(newValue.charCodeAt(i))); - } - - // Control the text content length in the keyboardinput element - if (newLen > 2 * UI.defaultKeyboardinputLen) { - UI.keyboardinputReset(); - } else if (newLen < 1) { - // There always have to be some text in the keyboardinput - // element with which backspace can interact. - UI.keyboardinputReset(); - // This sometimes causes the keyboard to disappear for a second - // but it is required for the android keyboard to recognize that - // text has been added to the field - event.target.blur(); - // This has to be ran outside of the input handler in order to work - setTimeout(event.target.focus.bind(event.target), 0); - } else { - UI.lastKeyboardinput = newValue; - } - }, - -/* ------^------- - * /KEYBOARD - * ============== - * EXTRA KEYS - * ------v------*/ - - openExtraKeys() { - UI.closeAllPanels(); - UI.openControlbar(); - - document.getElementById('noVNC_modifiers') - .classList.add("noVNC_open"); - document.getElementById('noVNC_toggle_extra_keys_button') - .classList.add("noVNC_selected"); - }, - - closeExtraKeys() { - document.getElementById('noVNC_modifiers') - .classList.remove("noVNC_open"); - document.getElementById('noVNC_toggle_extra_keys_button') - .classList.remove("noVNC_selected"); - }, - - toggleExtraKeys() { - if (document.getElementById('noVNC_modifiers') - .classList.contains("noVNC_open")) { - UI.closeExtraKeys(); - } else { - UI.openExtraKeys(); - } - }, - - sendEsc() { - UI.sendKey(KeyTable.XK_Escape, "Escape"); - }, - - sendTab() { - UI.sendKey(KeyTable.XK_Tab, "Tab"); - }, - - toggleCtrl() { - const btn = document.getElementById('noVNC_toggle_ctrl_button'); - if (btn.classList.contains("noVNC_selected")) { - UI.sendKey(KeyTable.XK_Control_L, "ControlLeft", false); - btn.classList.remove("noVNC_selected"); - } else { - UI.sendKey(KeyTable.XK_Control_L, "ControlLeft", true); - btn.classList.add("noVNC_selected"); - } - }, - - toggleWindows() { - const btn = document.getElementById('noVNC_toggle_windows_button'); - if (btn.classList.contains("noVNC_selected")) { - UI.sendKey(KeyTable.XK_Super_L, "MetaLeft", false); - btn.classList.remove("noVNC_selected"); - } else { - UI.sendKey(KeyTable.XK_Super_L, "MetaLeft", true); - btn.classList.add("noVNC_selected"); - } - }, - - toggleAlt() { - const btn = document.getElementById('noVNC_toggle_alt_button'); - if (btn.classList.contains("noVNC_selected")) { - UI.sendKey(KeyTable.XK_Alt_L, "AltLeft", false); - btn.classList.remove("noVNC_selected"); - } else { - UI.sendKey(KeyTable.XK_Alt_L, "AltLeft", true); - btn.classList.add("noVNC_selected"); - } - }, - - sendCtrlAltDel() { - UI.rfb.sendCtrlAltDel(); - // See below - UI.rfb.focus(); - UI.idleControlbar(); - }, - - sendKey(keysym, code, down) { - UI.rfb.sendKey(keysym, code, down); - - // Move focus to the screen in order to be able to use the - // keyboard right after these extra keys. - // The exception is when a virtual keyboard is used, because - // if we focus the screen the virtual keyboard would be closed. - // In this case we focus our special virtual keyboard input - // element instead. - if (document.getElementById('noVNC_keyboard_button') - .classList.contains("noVNC_selected")) { - document.getElementById('noVNC_keyboardinput').focus(); - } else { - UI.rfb.focus(); - } - // fade out the controlbar to highlight that - // the focus has been moved to the screen - UI.idleControlbar(); - }, - -/* ------^------- - * /EXTRA KEYS - * ============== - * MISC - * ------v------*/ - - updateViewOnly() { - if (!UI.rfb) return; - UI.rfb.viewOnly = UI.getSetting('view_only'); - - // Hide input related buttons in view only mode - if (UI.rfb.viewOnly) { - document.getElementById('noVNC_keyboard_button') - .classList.add('noVNC_hidden'); - document.getElementById('noVNC_toggle_extra_keys_button') - .classList.add('noVNC_hidden'); - document.getElementById('noVNC_clipboard_button') - .classList.add('noVNC_hidden'); - } else { - document.getElementById('noVNC_keyboard_button') - .classList.remove('noVNC_hidden'); - document.getElementById('noVNC_toggle_extra_keys_button') - .classList.remove('noVNC_hidden'); - document.getElementById('noVNC_clipboard_button') - .classList.remove('noVNC_hidden'); - } - }, - - updateShowDotCursor() { - if (!UI.rfb) return; - UI.rfb.showDotCursor = UI.getSetting('show_dot'); - }, - - updateLogging() { - WebUtil.initLogging(UI.getSetting('logging')); - }, - - updateDesktopName(e) { - UI.desktopName = e.detail.name; - // Display the desktop name in the document title - document.title = e.detail.name + " - " + PAGE_TITLE; - }, - - bell(e) { - if (WebUtil.getConfigVar('bell', 'on') === 'on') { - const promise = document.getElementById('noVNC_bell').play(); - // The standards disagree on the return value here - if (promise) { - promise.catch((e) => { - if (e.name === "NotAllowedError") { - // Ignore when the browser doesn't let us play audio. - // It is common that the browsers require audio to be - // initiated from a user action. - } else { - Log.Error("Unable to play bell: " + e); - } - }); - } - } - }, - - //Helper to add options to dropdown. - addOption(selectbox, text, value) { - const optn = document.createElement("OPTION"); - optn.text = text; - optn.value = value; - selectbox.options.add(optn); - }, - -/* ------^------- - * /MISC - * ============== - */ -}; - -// Set up translations -const LINGUAS = ["cs", "de", "el", "es", "ja", "ko", "nl", "pl", "ru", "sv", "tr", "zh_CN", "zh_TW"]; -l10n.setup(LINGUAS); -if (l10n.language === "en" || l10n.dictionary !== undefined) { - UI.prime(); -} else { - WebUtil.fetchJSON('app/locale/' + l10n.language + '.json') - .then((translations) => { l10n.dictionary = translations; }) - .catch(err => Log.Error("Failed to load translations: " + err)) - .then(UI.prime); -} - -export default UI; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +import * as Log from '../core/util/logging.js'; +import _, { l10n } from '../app/localization.js'; +import { isTouchDevice, isSafari, hasScrollbarGutter, dragThreshold } + from '../core/util/browser.js'; +import { setCapture, getPointerEvent } from '../core/util/events.js'; +import KeyTable from "../core/input/keysym.js"; +import keysyms from "../core/input/keysymdef.js"; +import Keyboard from "../core/input/keyboard.js"; +import RFB from "../core/rfb.js"; +import Display from "../core/display.js"; +import * as WebUtil from "../app/webutil.js"; + +const PAGE_TITLE = "noVNC"; + +const UI = { + + connected: false, + desktopName: "", + + statusTimeout: null, + hideKeyboardTimeout: null, + idleControlbarTimeout: null, + closeControlbarTimeout: null, + + controlbarGrabbed: false, + controlbarDrag: false, + controlbarMouseDownClientY: 0, + controlbarMouseDownOffsetY: 0, + + lastKeyboardinput: null, + defaultKeyboardinputLen: 100, + + inhibitReconnect: true, + reconnectCallback: null, + reconnectPassword: null, + + prime() { + return WebUtil.initSettings().then(() => { + if (document.readyState === "interactive" || document.readyState === "complete") { + return UI.start(); + } + + return new Promise((resolve, reject) => { + document.addEventListener('DOMContentLoaded', () => UI.start().then(resolve).catch(reject)); + }); + }); + }, + + // Render default UI and initialize settings menu + start() { + + UI.initSettings(); + + // Translate the DOM + l10n.translateDOM(); + + WebUtil.fetchJSON('./package.json') + .then((packageInfo) => { + Array.from(document.getElementsByClassName('noVNC_version')).forEach(el => el.innerText = packageInfo.version); + }) + .catch((err) => { + Log.Error("Couldn't fetch package.json: " + err); + Array.from(document.getElementsByClassName('noVNC_version_wrapper')) + .concat(Array.from(document.getElementsByClassName('noVNC_version_separator'))) + .forEach(el => el.style.display = 'none'); + }); + + // Adapt the interface for touch screen devices + if (isTouchDevice) { + document.documentElement.classList.add("noVNC_touch"); + // Remove the address bar + setTimeout(() => window.scrollTo(0, 1), 100); + } + + // Restore control bar position + if (WebUtil.readSetting('controlbar_pos') === 'right') { + UI.toggleControlbarSide(); + } + + UI.initFullscreen(); + + // Setup event handlers + UI.addControlbarHandlers(); + UI.addTouchSpecificHandlers(); + UI.addExtraKeysHandlers(); + UI.addMachineHandlers(); + UI.addConnectionControlHandlers(); + UI.addClipboardHandlers(); + UI.addSettingsHandlers(); + document.getElementById("noVNC_status") + .addEventListener('click', UI.hideStatus); + + // Bootstrap fallback input handler + UI.keyboardinputReset(); + + UI.openControlbar(); + + UI.updateVisualState('init'); + + document.documentElement.classList.remove("noVNC_loading"); + + let autoconnect = WebUtil.getConfigVar('autoconnect', true); + if (autoconnect === 'true' || autoconnect == '1') { + autoconnect = true; + UI.connect(); + } else { + autoconnect = false; + // Show the connect panel on first load unless autoconnecting + UI.openConnectPanel(); + } + + return Promise.resolve(UI.rfb); + }, + + initFullscreen() { + // Only show the button if fullscreen is properly supported + // * Safari doesn't support alphanumerical input while in fullscreen + if (!isSafari() && + (document.documentElement.requestFullscreen || + document.documentElement.mozRequestFullScreen || + document.documentElement.webkitRequestFullscreen || + document.body.msRequestFullscreen)) { + document.getElementById('noVNC_fullscreen_button') + .classList.remove("noVNC_hidden"); + UI.addFullscreenHandlers(); + } + }, + + initSettings() { + // Logging selection dropdown + const llevels = ['error', 'warn', 'info', 'debug']; + for (let i = 0; i < llevels.length; i += 1) { + UI.addOption(document.getElementById('noVNC_setting_logging'), llevels[i], llevels[i]); + } + + // Settings with immediate effects + UI.initSetting('logging', 'warn'); + UI.updateLogging(); + + // if port == 80 (or 443) then it won't be present and should be + // set manually + let port = window.location.port; + if (!port) { + if (window.location.protocol.substring(0, 5) == 'https') { + port = 443; + } else if (window.location.protocol.substring(0, 4) == 'http') { + port = 80; + } + } + + /* Populate the controls if defaults are provided in the URL */ + UI.initSetting('host', document.getElementById('noVNC_setting_host').value); + UI.initSetting('port', document.getElementById('noVNC_setting_port').value); + UI.initSetting('encrypt', (window.location.protocol === "https:")); + UI.initSetting('view_clip', false); + UI.initSetting('resize', 'off'); + UI.initSetting('quality', 6); + UI.initSetting('compression', 2); + UI.initSetting('shared', true); + UI.initSetting('view_only', false); + UI.initSetting('show_dot', false); + UI.initSetting('path', document.getElementById('noVNC_setting_path').value); + UI.initSetting('repeaterID', ''); + UI.initSetting('reconnect', false); + UI.initSetting('reconnect_delay', 5000); + UI.initSetting('password', document.getElementById('noVNC_setting_password').value); + UI.setupSettingLabels(); + }, + // Adds a link to the label elements on the corresponding input elements + setupSettingLabels() { + const labels = document.getElementsByTagName('LABEL'); + for (let i = 0; i < labels.length; i++) { + const htmlFor = labels[i].htmlFor; + if (htmlFor != '') { + const elem = document.getElementById(htmlFor); + if (elem) elem.label = labels[i]; + } else { + // If 'for' isn't set, use the first input element child + const children = labels[i].children; + for (let j = 0; j < children.length; j++) { + if (children[j].form !== undefined) { + children[j].label = labels[i]; + break; + } + } + } + } + }, + +/* ------^------- +* /INIT +* ============== +* EVENT HANDLERS +* ------v------*/ + + addControlbarHandlers() { + document.getElementById("noVNC_control_bar") + .addEventListener('mousemove', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('mouseup', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('mousedown', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('keydown', UI.activateControlbar); + + document.getElementById("noVNC_control_bar") + .addEventListener('mousedown', UI.keepControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('keydown', UI.keepControlbar); + + document.getElementById("noVNC_view_drag_button") + .addEventListener('click', UI.toggleViewDrag); + + document.getElementById("noVNC_control_bar_handle") + .addEventListener('mousedown', UI.controlbarHandleMouseDown); + document.getElementById("noVNC_control_bar_handle") + .addEventListener('mouseup', UI.controlbarHandleMouseUp); + document.getElementById("noVNC_control_bar_handle") + .addEventListener('mousemove', UI.dragControlbarHandle); + // resize events aren't available for elements + window.addEventListener('resize', UI.updateControlbarHandle); + + const exps = document.getElementsByClassName("noVNC_expander"); + for (let i = 0;i < exps.length;i++) { + exps[i].addEventListener('click', UI.toggleExpander); + } + }, + + addTouchSpecificHandlers() { + document.getElementById("noVNC_keyboard_button") + .addEventListener('click', UI.toggleVirtualKeyboard); + + UI.touchKeyboard = new Keyboard(document.getElementById('noVNC_keyboardinput')); + UI.touchKeyboard.onkeyevent = UI.keyEvent; + UI.touchKeyboard.grab(); + document.getElementById("noVNC_keyboardinput") + .addEventListener('input', UI.keyInput); + document.getElementById("noVNC_keyboardinput") + .addEventListener('focus', UI.onfocusVirtualKeyboard); + document.getElementById("noVNC_keyboardinput") + .addEventListener('blur', UI.onblurVirtualKeyboard); + document.getElementById("noVNC_keyboardinput") + .addEventListener('submit', () => false); + + document.documentElement + .addEventListener('mousedown', UI.keepVirtualKeyboard, true); + + document.getElementById("noVNC_control_bar") + .addEventListener('touchstart', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('touchmove', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('touchend', UI.activateControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('input', UI.activateControlbar); + + document.getElementById("noVNC_control_bar") + .addEventListener('touchstart', UI.keepControlbar); + document.getElementById("noVNC_control_bar") + .addEventListener('input', UI.keepControlbar); + + document.getElementById("noVNC_control_bar_handle") + .addEventListener('touchstart', UI.controlbarHandleMouseDown); + document.getElementById("noVNC_control_bar_handle") + .addEventListener('touchend', UI.controlbarHandleMouseUp); + document.getElementById("noVNC_control_bar_handle") + .addEventListener('touchmove', UI.dragControlbarHandle); + }, + + addExtraKeysHandlers() { + document.getElementById("noVNC_toggle_extra_keys_button") + .addEventListener('click', UI.toggleExtraKeys); + document.getElementById("noVNC_toggle_ctrl_button") + .addEventListener('click', UI.toggleCtrl); + document.getElementById("noVNC_toggle_windows_button") + .addEventListener('click', UI.toggleWindows); + document.getElementById("noVNC_toggle_alt_button") + .addEventListener('click', UI.toggleAlt); + document.getElementById("noVNC_send_tab_button") + .addEventListener('click', UI.sendTab); + document.getElementById("noVNC_send_esc_button") + .addEventListener('click', UI.sendEsc); + document.getElementById("noVNC_send_ctrl_alt_del_button") + .addEventListener('click', UI.sendCtrlAltDel); + }, + + addMachineHandlers() { + document.getElementById("noVNC_shutdown_button") + .addEventListener('click', () => UI.rfb.machineShutdown()); + document.getElementById("noVNC_reboot_button") + .addEventListener('click', () => UI.rfb.machineReboot()); + document.getElementById("noVNC_reset_button") + .addEventListener('click', () => UI.rfb.machineReset()); + document.getElementById("noVNC_power_button") + .addEventListener('click', UI.togglePowerPanel); + }, + + addConnectionControlHandlers() { + document.getElementById("noVNC_disconnect_button") + .addEventListener('click', UI.disconnect); + document.getElementById("noVNC_connect_button") + .addEventListener('click', UI.connect); + document.getElementById("noVNC_cancel_reconnect_button") + .addEventListener('click', UI.cancelReconnect); + + document.getElementById("noVNC_credentials_button") + .addEventListener('click', UI.setCredentials); + }, + + addClipboardHandlers() { + document.getElementById("noVNC_clipboard_button") + .addEventListener('click', UI.toggleClipboardPanel); + document.getElementById("noVNC_clipboard_text") + .addEventListener('change', UI.clipboardSend); + document.getElementById("noVNC_clipboard_clear_button") + .addEventListener('click', UI.clipboardClear); + }, + + // Add a call to save settings when the element changes, + // unless the optional parameter changeFunc is used instead. + addSettingChangeHandler(name, changeFunc) { + const settingElem = document.getElementById("noVNC_setting_" + name); + if (changeFunc === undefined) { + changeFunc = () => UI.saveSetting(name); + } + settingElem.addEventListener('change', changeFunc); + }, + + addSettingsHandlers() { + document.getElementById("noVNC_settings_button") + .addEventListener('click', UI.toggleSettingsPanel); + + UI.addSettingChangeHandler('encrypt'); + UI.addSettingChangeHandler('resize'); + UI.addSettingChangeHandler('resize', UI.applyResizeMode); + UI.addSettingChangeHandler('resize', UI.updateViewClip); + UI.addSettingChangeHandler('quality'); + UI.addSettingChangeHandler('quality', UI.updateQuality); + UI.addSettingChangeHandler('compression'); + UI.addSettingChangeHandler('compression', UI.updateCompression); + UI.addSettingChangeHandler('view_clip'); + UI.addSettingChangeHandler('view_clip', UI.updateViewClip); + UI.addSettingChangeHandler('shared'); + UI.addSettingChangeHandler('view_only'); + UI.addSettingChangeHandler('view_only', UI.updateViewOnly); + UI.addSettingChangeHandler('show_dot'); + UI.addSettingChangeHandler('show_dot', UI.updateShowDotCursor); + UI.addSettingChangeHandler('host'); + UI.addSettingChangeHandler('port'); + UI.addSettingChangeHandler('path'); + UI.addSettingChangeHandler('repeaterID'); + UI.addSettingChangeHandler('logging'); + UI.addSettingChangeHandler('logging', UI.updateLogging); + UI.addSettingChangeHandler('reconnect'); + UI.addSettingChangeHandler('reconnect_delay'); + }, + + addFullscreenHandlers() { + document.getElementById("noVNC_fullscreen_button") + .addEventListener('click', UI.toggleFullscreen); + + window.addEventListener('fullscreenchange', UI.updateFullscreenButton); + window.addEventListener('mozfullscreenchange', UI.updateFullscreenButton); + window.addEventListener('webkitfullscreenchange', UI.updateFullscreenButton); + window.addEventListener('msfullscreenchange', UI.updateFullscreenButton); + }, + +/* ------^------- + * /EVENT HANDLERS + * ============== + * VISUAL + * ------v------*/ + + // Disable/enable controls depending on connection state + updateVisualState(state) { + + document.documentElement.classList.remove("noVNC_connecting"); + document.documentElement.classList.remove("noVNC_connected"); + document.documentElement.classList.remove("noVNC_disconnecting"); + document.documentElement.classList.remove("noVNC_reconnecting"); + + const transitionElem = document.getElementById("noVNC_transition_text"); + switch (state) { + case 'init': + break; + case 'connecting': + transitionElem.textContent = _("Connecting..."); + document.documentElement.classList.add("noVNC_connecting"); + break; + case 'connected': + document.documentElement.classList.add("noVNC_connected"); + break; + case 'disconnecting': + transitionElem.textContent = _("Disconnecting..."); + document.documentElement.classList.add("noVNC_disconnecting"); + break; + case 'disconnected': + break; + case 'reconnecting': + transitionElem.textContent = _("Reconnecting..."); + document.documentElement.classList.add("noVNC_reconnecting"); + break; + default: + Log.Error("Invalid visual state: " + state); + UI.showStatus(_("Internal error"), 'error'); + return; + } + + if (UI.connected) { + UI.updateViewClip(); + + UI.disableSetting('encrypt'); + UI.disableSetting('shared'); + UI.disableSetting('host'); + UI.disableSetting('port'); + UI.disableSetting('path'); + UI.disableSetting('repeaterID'); + + // Hide the controlbar after 2 seconds + UI.closeControlbarTimeout = setTimeout(UI.closeControlbar, 2000); + } else { + UI.enableSetting('encrypt'); + UI.enableSetting('shared'); + UI.enableSetting('host'); + UI.enableSetting('port'); + UI.enableSetting('path'); + UI.enableSetting('repeaterID'); + UI.updatePowerButton(); + UI.keepControlbar(); + } + + // State change closes dialogs as they may not be relevant + // anymore + UI.closeAllPanels(); + document.getElementById('noVNC_credentials_dlg') + .classList.remove('noVNC_open'); + }, + + showStatus(text, statusType, time) { + const statusElem = document.getElementById('noVNC_status'); + + if (typeof statusType === 'undefined') { + statusType = 'normal'; + } + + // Don't overwrite more severe visible statuses and never + // errors. Only shows the first error. + if (statusElem.classList.contains("noVNC_open")) { + if (statusElem.classList.contains("noVNC_status_error")) { + return; + } + if (statusElem.classList.contains("noVNC_status_warn") && + statusType === 'normal') { + return; + } + } + + clearTimeout(UI.statusTimeout); + + switch (statusType) { + case 'error': + statusElem.classList.remove("noVNC_status_warn"); + statusElem.classList.remove("noVNC_status_normal"); + statusElem.classList.add("noVNC_status_error"); + break; + case 'warning': + case 'warn': + statusElem.classList.remove("noVNC_status_error"); + statusElem.classList.remove("noVNC_status_normal"); + statusElem.classList.add("noVNC_status_warn"); + break; + case 'normal': + case 'info': + default: + statusElem.classList.remove("noVNC_status_error"); + statusElem.classList.remove("noVNC_status_warn"); + statusElem.classList.add("noVNC_status_normal"); + break; + } + + statusElem.textContent = text; + statusElem.classList.add("noVNC_open"); + + // If no time was specified, show the status for 1.5 seconds + if (typeof time === 'undefined') { + time = 1500; + } + + // Error messages do not timeout + if (statusType !== 'error') { + UI.statusTimeout = window.setTimeout(UI.hideStatus, time); + } + }, + + hideStatus() { + clearTimeout(UI.statusTimeout); + document.getElementById('noVNC_status').classList.remove("noVNC_open"); + }, + + activateControlbar(event) { + clearTimeout(UI.idleControlbarTimeout); + // We manipulate the anchor instead of the actual control + // bar in order to avoid creating new a stacking group + document.getElementById('noVNC_control_bar_anchor') + .classList.remove("noVNC_idle"); + UI.idleControlbarTimeout = window.setTimeout(UI.idleControlbar, 2000); + }, + + idleControlbar() { + // Don't fade if a child of the control bar has focus + if (document.getElementById('noVNC_control_bar') + .contains(document.activeElement) && document.hasFocus()) { + UI.activateControlbar(); + return; + } + + document.getElementById('noVNC_control_bar_anchor') + .classList.add("noVNC_idle"); + }, + + keepControlbar() { + clearTimeout(UI.closeControlbarTimeout); + }, + + openControlbar() { + document.getElementById('noVNC_control_bar') + .classList.add("noVNC_open"); + }, + + closeControlbar() { + UI.closeAllPanels(); + document.getElementById('noVNC_control_bar') + .classList.remove("noVNC_open"); + UI.rfb.focus(); + }, + + toggleControlbar() { + if (document.getElementById('noVNC_control_bar') + .classList.contains("noVNC_open")) { + UI.closeControlbar(); + } else { + UI.openControlbar(); + } + }, + + toggleControlbarSide() { + // Temporarily disable animation, if bar is displayed, to avoid weird + // movement. The transitionend-event will not fire when display=none. + const bar = document.getElementById('noVNC_control_bar'); + const barDisplayStyle = window.getComputedStyle(bar).display; + if (barDisplayStyle !== 'none') { + bar.style.transitionDuration = '0s'; + bar.addEventListener('transitionend', () => bar.style.transitionDuration = ''); + } + + const anchor = document.getElementById('noVNC_control_bar_anchor'); + if (anchor.classList.contains("noVNC_right")) { + WebUtil.writeSetting('controlbar_pos', 'left'); + anchor.classList.remove("noVNC_right"); + } else { + WebUtil.writeSetting('controlbar_pos', 'right'); + anchor.classList.add("noVNC_right"); + } + + // Consider this a movement of the handle + UI.controlbarDrag = true; + }, + + showControlbarHint(show) { + const hint = document.getElementById('noVNC_control_bar_hint'); + if (show) { + hint.classList.add("noVNC_active"); + } else { + hint.classList.remove("noVNC_active"); + } + }, + + dragControlbarHandle(e) { + if (!UI.controlbarGrabbed) return; + + const ptr = getPointerEvent(e); + + const anchor = document.getElementById('noVNC_control_bar_anchor'); + if (ptr.clientX < (window.innerWidth * 0.1)) { + if (anchor.classList.contains("noVNC_right")) { + UI.toggleControlbarSide(); + } + } else if (ptr.clientX > (window.innerWidth * 0.9)) { + if (!anchor.classList.contains("noVNC_right")) { + UI.toggleControlbarSide(); + } + } + + if (!UI.controlbarDrag) { + const dragDistance = Math.abs(ptr.clientY - UI.controlbarMouseDownClientY); + + if (dragDistance < dragThreshold) return; + + UI.controlbarDrag = true; + } + + const eventY = ptr.clientY - UI.controlbarMouseDownOffsetY; + + UI.moveControlbarHandle(eventY); + + e.preventDefault(); + e.stopPropagation(); + UI.keepControlbar(); + UI.activateControlbar(); + }, + + // Move the handle but don't allow any position outside the bounds + moveControlbarHandle(viewportRelativeY) { + const handle = document.getElementById("noVNC_control_bar_handle"); + const handleHeight = handle.getBoundingClientRect().height; + const controlbarBounds = document.getElementById("noVNC_control_bar") + .getBoundingClientRect(); + const margin = 10; + + // These heights need to be non-zero for the below logic to work + if (handleHeight === 0 || controlbarBounds.height === 0) { + return; + } + + let newY = viewportRelativeY; + + // Check if the coordinates are outside the control bar + if (newY < controlbarBounds.top + margin) { + // Force coordinates to be below the top of the control bar + newY = controlbarBounds.top + margin; + + } else if (newY > controlbarBounds.top + + controlbarBounds.height - handleHeight - margin) { + // Force coordinates to be above the bottom of the control bar + newY = controlbarBounds.top + + controlbarBounds.height - handleHeight - margin; + } + + // Corner case: control bar too small for stable position + if (controlbarBounds.height < (handleHeight + margin * 2)) { + newY = controlbarBounds.top + + (controlbarBounds.height - handleHeight) / 2; + } + + // The transform needs coordinates that are relative to the parent + const parentRelativeY = newY - controlbarBounds.top; + handle.style.transform = "translateY(" + parentRelativeY + "px)"; + }, + + updateControlbarHandle() { + // Since the control bar is fixed on the viewport and not the page, + // the move function expects coordinates relative the the viewport. + const handle = document.getElementById("noVNC_control_bar_handle"); + const handleBounds = handle.getBoundingClientRect(); + UI.moveControlbarHandle(handleBounds.top); + }, + + controlbarHandleMouseUp(e) { + if ((e.type == "mouseup") && (e.button != 0)) return; + + // mouseup and mousedown on the same place toggles the controlbar + if (UI.controlbarGrabbed && !UI.controlbarDrag) { + UI.toggleControlbar(); + e.preventDefault(); + e.stopPropagation(); + UI.keepControlbar(); + UI.activateControlbar(); + } + UI.controlbarGrabbed = false; + UI.showControlbarHint(false); + }, + + controlbarHandleMouseDown(e) { + if ((e.type == "mousedown") && (e.button != 0)) return; + + const ptr = getPointerEvent(e); + + const handle = document.getElementById("noVNC_control_bar_handle"); + const bounds = handle.getBoundingClientRect(); + + // Touch events have implicit capture + if (e.type === "mousedown") { + setCapture(handle); + } + + UI.controlbarGrabbed = true; + UI.controlbarDrag = false; + + UI.showControlbarHint(true); + + UI.controlbarMouseDownClientY = ptr.clientY; + UI.controlbarMouseDownOffsetY = ptr.clientY - bounds.top; + e.preventDefault(); + e.stopPropagation(); + UI.keepControlbar(); + UI.activateControlbar(); + }, + + toggleExpander(e) { + if (this.classList.contains("noVNC_open")) { + this.classList.remove("noVNC_open"); + } else { + this.classList.add("noVNC_open"); + } + }, + +/* ------^------- + * /VISUAL + * ============== + * SETTINGS + * ------v------*/ + + // Initial page load read/initialization of settings + initSetting(name, defVal) { + // Check Query string followed by cookie + let val = WebUtil.getConfigVar(name); + if (val === null) { + val = WebUtil.readSetting(name, defVal); + } + WebUtil.setSetting(name, val); + UI.updateSetting(name); + return val; + }, + + // Set the new value, update and disable form control setting + forceSetting(name, val) { + WebUtil.setSetting(name, val); + UI.updateSetting(name); + UI.disableSetting(name); + }, + + // Update cookie and form control setting. If value is not set, then + // updates from control to current cookie setting. + updateSetting(name) { + + // Update the settings control + let value = UI.getSetting(name); + + const ctrl = document.getElementById('noVNC_setting_' + name); + if (ctrl.type === 'checkbox') { + ctrl.checked = value; + + } else if (typeof ctrl.options !== 'undefined') { + for (let i = 0; i < ctrl.options.length; i += 1) { + if (ctrl.options[i].value === value) { + ctrl.selectedIndex = i; + break; + } + } + } else { + /*Weird IE9 error leads to 'null' appearring + in textboxes instead of ''.*/ + if (value === null) { + value = ""; + } + ctrl.value = value; + } + }, + + // Save control setting to cookie + saveSetting(name) { + const ctrl = document.getElementById('noVNC_setting_' + name); + let val; + if (ctrl.type === 'checkbox') { + val = ctrl.checked; + } else if (typeof ctrl.options !== 'undefined') { + val = ctrl.options[ctrl.selectedIndex].value; + } else { + val = ctrl.value; + } + WebUtil.writeSetting(name, val); + //Log.Debug("Setting saved '" + name + "=" + val + "'"); + return val; + }, + + // Read form control compatible setting from cookie + getSetting(name) { + const ctrl = document.getElementById('noVNC_setting_' + name); + let val = WebUtil.readSetting(name); + if (typeof val !== 'undefined' && val !== null && ctrl.type === 'checkbox') { + if (val.toString().toLowerCase() in {'0': 1, 'no': 1, 'false': 1}) { + val = false; + } else { + val = true; + } + } + return val; + }, + + // These helpers compensate for the lack of parent-selectors and + // previous-sibling-selectors in CSS which are needed when we want to + // disable the labels that belong to disabled input elements. + disableSetting(name) { + const ctrl = document.getElementById('noVNC_setting_' + name); + ctrl.disabled = true; + ctrl.label.classList.add('noVNC_disabled'); + }, + + enableSetting(name) { + const ctrl = document.getElementById('noVNC_setting_' + name); + ctrl.disabled = false; + ctrl.label.classList.remove('noVNC_disabled'); + }, + +/* ------^------- + * /SETTINGS + * ============== + * PANELS + * ------v------*/ + + closeAllPanels() { + UI.closeSettingsPanel(); + UI.closePowerPanel(); + UI.closeClipboardPanel(); + UI.closeExtraKeys(); + }, + +/* ------^------- + * /PANELS + * ============== + * SETTINGS (panel) + * ------v------*/ + + openSettingsPanel() { + UI.closeAllPanels(); + UI.openControlbar(); + + // Refresh UI elements from saved cookies + UI.updateSetting('encrypt'); + UI.updateSetting('view_clip'); + UI.updateSetting('resize'); + UI.updateSetting('quality'); + UI.updateSetting('compression'); + UI.updateSetting('shared'); + UI.updateSetting('view_only'); + UI.updateSetting('path'); + UI.updateSetting('repeaterID'); + UI.updateSetting('logging'); + UI.updateSetting('reconnect'); + UI.updateSetting('reconnect_delay'); + + document.getElementById('noVNC_settings') + .classList.add("noVNC_open"); + document.getElementById('noVNC_settings_button') + .classList.add("noVNC_selected"); + }, + + closeSettingsPanel() { + document.getElementById('noVNC_settings') + .classList.remove("noVNC_open"); + document.getElementById('noVNC_settings_button') + .classList.remove("noVNC_selected"); + }, + + toggleSettingsPanel() { + if (document.getElementById('noVNC_settings') + .classList.contains("noVNC_open")) { + UI.closeSettingsPanel(); + } else { + UI.openSettingsPanel(); + } + }, + +/* ------^------- + * /SETTINGS + * ============== + * POWER + * ------v------*/ + + openPowerPanel() { + UI.closeAllPanels(); + UI.openControlbar(); + + document.getElementById('noVNC_power') + .classList.add("noVNC_open"); + document.getElementById('noVNC_power_button') + .classList.add("noVNC_selected"); + }, + + closePowerPanel() { + document.getElementById('noVNC_power') + .classList.remove("noVNC_open"); + document.getElementById('noVNC_power_button') + .classList.remove("noVNC_selected"); + }, + + togglePowerPanel() { + if (document.getElementById('noVNC_power') + .classList.contains("noVNC_open")) { + UI.closePowerPanel(); + } else { + UI.openPowerPanel(); + } + }, + + // Disable/enable power button + updatePowerButton() { + if (UI.connected && + UI.rfb.capabilities.power && + !UI.rfb.viewOnly) { + document.getElementById('noVNC_power_button') + .classList.remove("noVNC_hidden"); + } else { + document.getElementById('noVNC_power_button') + .classList.add("noVNC_hidden"); + // Close power panel if open + UI.closePowerPanel(); + } + }, + +/* ------^------- + * /POWER + * ============== + * CLIPBOARD + * ------v------*/ + + openClipboardPanel() { + UI.closeAllPanels(); + UI.openControlbar(); + + document.getElementById('noVNC_clipboard') + .classList.add("noVNC_open"); + document.getElementById('noVNC_clipboard_button') + .classList.add("noVNC_selected"); + }, + + closeClipboardPanel() { + document.getElementById('noVNC_clipboard') + .classList.remove("noVNC_open"); + document.getElementById('noVNC_clipboard_button') + .classList.remove("noVNC_selected"); + }, + + toggleClipboardPanel() { + if (document.getElementById('noVNC_clipboard') + .classList.contains("noVNC_open")) { + UI.closeClipboardPanel(); + } else { + UI.openClipboardPanel(); + } + }, + + clipboardReceive(e) { + Log.Debug(">> UI.clipboardReceive: " + e.detail.text.substr(0, 40) + "..."); + document.getElementById('noVNC_clipboard_text').value = e.detail.text; + Log.Debug("<< UI.clipboardReceive"); + }, + + clipboardClear() { + document.getElementById('noVNC_clipboard_text').value = ""; + UI.rfb.clipboardPasteFrom(""); + }, + + clipboardSend() { + const text = document.getElementById('noVNC_clipboard_text').value; + Log.Debug(">> UI.clipboardSend: " + text.substr(0, 40) + "..."); + UI.rfb.clipboardPasteFrom(text); + Log.Debug("<< UI.clipboardSend"); + }, + +/* ------^------- + * /CLIPBOARD + * ============== + * CONNECTION + * ------v------*/ + + openConnectPanel() { + document.getElementById('noVNC_connect_dlg') + .classList.add("noVNC_open"); + }, + + closeConnectPanel() { + document.getElementById('noVNC_connect_dlg') + .classList.remove("noVNC_open"); + }, + + register_paste_event(){ + + document.getElementById('noVNC_clipboard_paste_button').onclick = function() { + UI.rfb.sendString(document.getElementById('noVNC_clipboard_text').value); + } + + /*window.addEventListener('paste', evt => { + var clip = evt.clipboardData.getData("Text"); + UI.rfb.sendString(clip); + });*/ + + }, + + connect(event, password) { + + // Ignore when rfb already exists + if (typeof UI.rfb !== 'undefined') { + return; + } + + const host = UI.getSetting('host'); + const port = UI.getSetting('port'); + const path = UI.getSetting('path'); + password = UI.getSetting('password'); + if (typeof password === 'undefined') { + password = WebUtil.getConfigVar('password'); + UI.reconnectPassword = password; + } + + if (password === null) { + password = undefined; + } + + UI.hideStatus(); + + if (!host) { + Log.Error("Can't connect when host is: " + host); + UI.showStatus(_("Must set host"), 'error'); + return; + } + + UI.closeConnectPanel(); + + UI.updateVisualState('connecting'); + + let url; + + url = UI.getSetting('encrypt') ? 'wss' : 'ws'; + + url += '://' + host; + if (port) { + url += ':' + port; + } + url += '/' + path; + + if(UI.rfb == undefined){ + UI.rfb = new RFB(document.getElementById('noVNC_container'), url, + { shared: UI.getSetting('shared'), + repeaterID: UI.getSetting('repeaterID'), + credentials: { password: password } }); + } + UI.rfb.addEventListener("connect", UI.connectFinished); + UI.rfb.addEventListener("disconnect", UI.disconnectFinished); + UI.rfb.addEventListener("credentialsrequired", UI.credentials); + UI.rfb.addEventListener("securityfailure", UI.securityFailed); + UI.rfb.addEventListener("capabilities", UI.updatePowerButton); + UI.rfb.addEventListener("clipboard", UI.clipboardReceive); + UI.rfb.addEventListener("bell", UI.bell); + UI.rfb.addEventListener("desktopname", UI.updateDesktopName); + UI.rfb.clipViewport = UI.getSetting('view_clip'); + UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; + UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; + UI.rfb.qualityLevel = parseInt(UI.getSetting('quality')); + UI.rfb.compressionLevel = parseInt(UI.getSetting('compression')); + UI.rfb.showDotCursor = UI.getSetting('show_dot'); + UI.register_paste_event(); + UI.updateViewOnly(); // requires UI.rfb + }, + + disconnect() { + UI.rfb.disconnect(); + + UI.connected = false; + + // Disable automatic reconnecting + UI.inhibitReconnect = true; + + UI.updateVisualState('disconnecting'); + + // Don't display the connection settings until we're actually disconnected + }, + + reconnect() { + UI.reconnectCallback = null; + + // if reconnect has been disabled in the meantime, do nothing. + if (UI.inhibitReconnect) { + return; + } + + UI.connect(null, UI.reconnectPassword); + }, + + cancelReconnect() { + if (UI.reconnectCallback !== null) { + clearTimeout(UI.reconnectCallback); + UI.reconnectCallback = null; + } + + UI.updateVisualState('disconnected'); + + UI.openControlbar(); + UI.openConnectPanel(); + }, + + connectFinished(e) { + UI.connected = true; + UI.inhibitReconnect = false; + + let msg; + if (UI.getSetting('encrypt')) { + msg = _("Connected (encrypted) to ") + UI.desktopName; + } else { + msg = _("Connected (unencrypted) to ") + UI.desktopName; + } + UI.showStatus(msg); + UI.updateVisualState('connected'); + + // Do this last because it can only be used on rendered elements + UI.rfb.focus(); + }, + + disconnectFinished(e) { + const wasConnected = UI.connected; + + // This variable is ideally set when disconnection starts, but + // when the disconnection isn't clean or if it is initiated by + // the server, we need to do it here as well since + // UI.disconnect() won't be used in those cases. + UI.connected = false; + + UI.rfb = undefined; + + if (!e.detail.clean) { + UI.updateVisualState('disconnected'); + if (wasConnected) { + UI.showStatus(_("Something went wrong, connection is closed"), + 'error'); + } else { + UI.showStatus(_("Failed to connect to server"), 'error'); + } + } else if (UI.getSetting('reconnect', false) === true && !UI.inhibitReconnect) { + UI.updateVisualState('reconnecting'); + + const delay = parseInt(UI.getSetting('reconnect_delay')); + UI.reconnectCallback = setTimeout(UI.reconnect, delay); + return; + } else { + UI.updateVisualState('disconnected'); + UI.showStatus(_("Disconnected"), 'normal'); + } + + document.title = PAGE_TITLE; + + UI.openControlbar(); + UI.openConnectPanel(); + }, + + securityFailed(e) { + let msg = ""; + // On security failures we might get a string with a reason + // directly from the server. Note that we can't control if + // this string is translated or not. + if ('reason' in e.detail) { + msg = _("New connection has been rejected with reason: ") + + e.detail.reason; + } else { + msg = _("New connection has been rejected"); + } + UI.showStatus(msg, 'error'); + }, + +/* ------^------- + * /CONNECTION + * ============== + * PASSWORD + * ------v------*/ + + credentials(e) { + // FIXME: handle more types + + document.getElementById("noVNC_username_block").classList.remove("noVNC_hidden"); + document.getElementById("noVNC_password_block").classList.remove("noVNC_hidden"); + + let inputFocus = "none"; + if (e.detail.types.indexOf("username") === -1) { + document.getElementById("noVNC_username_block").classList.add("noVNC_hidden"); + } else { + inputFocus = inputFocus === "none" ? "noVNC_username_input" : inputFocus; + } + if (e.detail.types.indexOf("password") === -1) { + document.getElementById("noVNC_password_block").classList.add("noVNC_hidden"); + } else { + inputFocus = inputFocus === "none" ? "noVNC_password_input" : inputFocus; + } + document.getElementById('noVNC_credentials_dlg') + .classList.add('noVNC_open'); + + setTimeout(() => document + .getElementById(inputFocus).focus(), 100); + + Log.Warn("Server asked for credentials"); + UI.showStatus(_("Credentials are required"), "warning"); + }, + + setCredentials(e) { + // Prevent actually submitting the form + e.preventDefault(); + + let inputElemUsername = document.getElementById('noVNC_username_input'); + const username = inputElemUsername.value; + + let inputElemPassword = document.getElementById('noVNC_password_input'); + const password = inputElemPassword.value; + // Clear the input after reading the password + inputElemPassword.value = ""; + + UI.rfb.sendCredentials({ username: username, password: password }); + UI.reconnectPassword = password; + document.getElementById('noVNC_credentials_dlg') + .classList.remove('noVNC_open'); + }, + +/* ------^------- + * /PASSWORD + * ============== + * FULLSCREEN + * ------v------*/ + + toggleFullscreen() { + if (document.fullscreenElement || // alternative standard method + document.mozFullScreenElement || // currently working methods + document.webkitFullscreenElement || + document.msFullscreenElement) { + if (document.exitFullscreen) { + document.exitFullscreen(); + } else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } else if (document.webkitExitFullscreen) { + document.webkitExitFullscreen(); + } else if (document.msExitFullscreen) { + document.msExitFullscreen(); + } + } else { + if (document.documentElement.requestFullscreen) { + document.documentElement.requestFullscreen(); + } else if (document.documentElement.mozRequestFullScreen) { + document.documentElement.mozRequestFullScreen(); + } else if (document.documentElement.webkitRequestFullscreen) { + document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); + } else if (document.body.msRequestFullscreen) { + document.body.msRequestFullscreen(); + } + } + UI.updateFullscreenButton(); + }, + + updateFullscreenButton() { + if (document.fullscreenElement || // alternative standard method + document.mozFullScreenElement || // currently working methods + document.webkitFullscreenElement || + document.msFullscreenElement ) { + document.getElementById('noVNC_fullscreen_button') + .classList.add("noVNC_selected"); + } else { + document.getElementById('noVNC_fullscreen_button') + .classList.remove("noVNC_selected"); + } + }, + +/* ------^------- + * /FULLSCREEN + * ============== + * RESIZE + * ------v------*/ + + // Apply remote resizing or local scaling + applyResizeMode() { + if (!UI.rfb) return; + + UI.rfb.scaleViewport = UI.getSetting('resize') === 'scale'; + UI.rfb.resizeSession = UI.getSetting('resize') === 'remote'; + }, + +/* ------^------- + * /RESIZE + * ============== + * VIEW CLIPPING + * ------v------*/ + + // Update viewport clipping property for the connection. The normal + // case is to get the value from the setting. There are special cases + // for when the viewport is scaled or when a touch device is used. + updateViewClip() { + if (!UI.rfb) return; + + const scaling = UI.getSetting('resize') === 'scale'; + + if (scaling) { + // Can't be clipping if viewport is scaled to fit + UI.forceSetting('view_clip', false); + UI.rfb.clipViewport = false; + } else if (!hasScrollbarGutter) { + // Some platforms have scrollbars that are difficult + // to use in our case, so we always use our own panning + UI.forceSetting('view_clip', true); + UI.rfb.clipViewport = true; + } else { + UI.enableSetting('view_clip'); + UI.rfb.clipViewport = UI.getSetting('view_clip'); + } + + // Changing the viewport may change the state of + // the dragging button + UI.updateViewDrag(); + }, + +/* ------^------- + * /VIEW CLIPPING + * ============== + * VIEWDRAG + * ------v------*/ + + toggleViewDrag() { + if (!UI.rfb) return; + + UI.rfb.dragViewport = !UI.rfb.dragViewport; + UI.updateViewDrag(); + }, + + updateViewDrag() { + if (!UI.connected) return; + + const viewDragButton = document.getElementById('noVNC_view_drag_button'); + + if (!UI.rfb.clipViewport && UI.rfb.dragViewport) { + // We are no longer clipping the viewport. Make sure + // viewport drag isn't active when it can't be used. + UI.rfb.dragViewport = false; + } + + if (UI.rfb.dragViewport) { + viewDragButton.classList.add("noVNC_selected"); + } else { + viewDragButton.classList.remove("noVNC_selected"); + } + + if (UI.rfb.clipViewport) { + viewDragButton.classList.remove("noVNC_hidden"); + } else { + viewDragButton.classList.add("noVNC_hidden"); + } + }, + +/* ------^------- + * /VIEWDRAG + * ============== + * QUALITY + * ------v------*/ + + updateQuality() { + if (!UI.rfb) return; + + UI.rfb.qualityLevel = parseInt(UI.getSetting('quality')); + }, + +/* ------^------- + * /QUALITY + * ============== + * COMPRESSION + * ------v------*/ + + updateCompression() { + if (!UI.rfb) return; + + UI.rfb.compressionLevel = parseInt(UI.getSetting('compression')); + }, + +/* ------^------- + * /COMPRESSION + * ============== + * KEYBOARD + * ------v------*/ + + showVirtualKeyboard() { + if (!isTouchDevice) return; + + const input = document.getElementById('noVNC_keyboardinput'); + + if (document.activeElement == input) return; + + input.focus(); + + try { + const l = input.value.length; + // Move the caret to the end + input.setSelectionRange(l, l); + } catch (err) { + // setSelectionRange is undefined in Google Chrome + } + }, + + hideVirtualKeyboard() { + if (!isTouchDevice) return; + + const input = document.getElementById('noVNC_keyboardinput'); + + if (document.activeElement != input) return; + + input.blur(); + }, + + toggleVirtualKeyboard() { + if (document.getElementById('noVNC_keyboard_button') + .classList.contains("noVNC_selected")) { + UI.hideVirtualKeyboard(); + } else { + UI.showVirtualKeyboard(); + } + }, + + onfocusVirtualKeyboard(event) { + document.getElementById('noVNC_keyboard_button') + .classList.add("noVNC_selected"); + if (UI.rfb) { + UI.rfb.focusOnClick = false; + } + }, + + onblurVirtualKeyboard(event) { + document.getElementById('noVNC_keyboard_button') + .classList.remove("noVNC_selected"); + if (UI.rfb) { + UI.rfb.focusOnClick = true; + } + }, + + keepVirtualKeyboard(event) { + const input = document.getElementById('noVNC_keyboardinput'); + + // Only prevent focus change if the virtual keyboard is active + if (document.activeElement != input) { + return; + } + + // Only allow focus to move to other elements that need + // focus to function properly + if (event.target.form !== undefined) { + switch (event.target.type) { + case 'text': + case 'email': + case 'search': + case 'password': + case 'tel': + case 'url': + case 'textarea': + case 'select-one': + case 'select-multiple': + return; + } + } + + event.preventDefault(); + }, + + keyboardinputReset() { + const kbi = document.getElementById('noVNC_keyboardinput'); + kbi.value = new Array(UI.defaultKeyboardinputLen).join("_"); + UI.lastKeyboardinput = kbi.value; + }, + + keyEvent(keysym, code, down) { + if (!UI.rfb) return; + + UI.rfb.sendKey(keysym, code, down); + }, + + // When normal keyboard events are left uncought, use the input events from + // the keyboardinput element instead and generate the corresponding key events. + // This code is required since some browsers on Android are inconsistent in + // sending keyCodes in the normal keyboard events when using on screen keyboards. + keyInput(event) { + + if (!UI.rfb) return; + + const newValue = event.target.value; + + if (!UI.lastKeyboardinput) { + UI.keyboardinputReset(); + } + const oldValue = UI.lastKeyboardinput; + + let newLen; + try { + // Try to check caret position since whitespace at the end + // will not be considered by value.length in some browsers + newLen = Math.max(event.target.selectionStart, newValue.length); + } catch (err) { + // selectionStart is undefined in Google Chrome + newLen = newValue.length; + } + const oldLen = oldValue.length; + + let inputs = newLen - oldLen; + let backspaces = inputs < 0 ? -inputs : 0; + + // Compare the old string with the new to account for + // text-corrections or other input that modify existing text + for (let i = 0; i < Math.min(oldLen, newLen); i++) { + if (newValue.charAt(i) != oldValue.charAt(i)) { + inputs = newLen - i; + backspaces = oldLen - i; + break; + } + } + + // Send the key events + for (let i = 0; i < backspaces; i++) { + UI.rfb.sendKey(KeyTable.XK_BackSpace, "Backspace"); + } + for (let i = newLen - inputs; i < newLen; i++) { + UI.rfb.sendKey(keysyms.lookup(newValue.charCodeAt(i))); + } + + // Control the text content length in the keyboardinput element + if (newLen > 2 * UI.defaultKeyboardinputLen) { + UI.keyboardinputReset(); + } else if (newLen < 1) { + // There always have to be some text in the keyboardinput + // element with which backspace can interact. + UI.keyboardinputReset(); + // This sometimes causes the keyboard to disappear for a second + // but it is required for the android keyboard to recognize that + // text has been added to the field + event.target.blur(); + // This has to be ran outside of the input handler in order to work + setTimeout(event.target.focus.bind(event.target), 0); + } else { + UI.lastKeyboardinput = newValue; + } + }, + +/* ------^------- + * /KEYBOARD + * ============== + * EXTRA KEYS + * ------v------*/ + + openExtraKeys() { + UI.closeAllPanels(); + UI.openControlbar(); + + document.getElementById('noVNC_modifiers') + .classList.add("noVNC_open"); + document.getElementById('noVNC_toggle_extra_keys_button') + .classList.add("noVNC_selected"); + }, + + closeExtraKeys() { + document.getElementById('noVNC_modifiers') + .classList.remove("noVNC_open"); + document.getElementById('noVNC_toggle_extra_keys_button') + .classList.remove("noVNC_selected"); + }, + + toggleExtraKeys() { + if (document.getElementById('noVNC_modifiers') + .classList.contains("noVNC_open")) { + UI.closeExtraKeys(); + } else { + UI.openExtraKeys(); + } + }, + + sendEsc() { + UI.sendKey(KeyTable.XK_Escape, "Escape"); + }, + + sendTab() { + UI.sendKey(KeyTable.XK_Tab, "Tab"); + }, + + toggleCtrl() { + const btn = document.getElementById('noVNC_toggle_ctrl_button'); + if (btn.classList.contains("noVNC_selected")) { + UI.sendKey(KeyTable.XK_Control_L, "ControlLeft", false); + btn.classList.remove("noVNC_selected"); + } else { + UI.sendKey(KeyTable.XK_Control_L, "ControlLeft", true); + btn.classList.add("noVNC_selected"); + } + }, + + toggleWindows() { + const btn = document.getElementById('noVNC_toggle_windows_button'); + if (btn.classList.contains("noVNC_selected")) { + UI.sendKey(KeyTable.XK_Super_L, "MetaLeft", false); + btn.classList.remove("noVNC_selected"); + } else { + UI.sendKey(KeyTable.XK_Super_L, "MetaLeft", true); + btn.classList.add("noVNC_selected"); + } + }, + + toggleAlt() { + const btn = document.getElementById('noVNC_toggle_alt_button'); + if (btn.classList.contains("noVNC_selected")) { + UI.sendKey(KeyTable.XK_Alt_L, "AltLeft", false); + btn.classList.remove("noVNC_selected"); + } else { + UI.sendKey(KeyTable.XK_Alt_L, "AltLeft", true); + btn.classList.add("noVNC_selected"); + } + }, + + sendCtrlAltDel() { + UI.rfb.sendCtrlAltDel(); + // See below + UI.rfb.focus(); + UI.idleControlbar(); + }, + + sendKey(keysym, code, down) { + UI.rfb.sendKey(keysym, code, down); + + // Move focus to the screen in order to be able to use the + // keyboard right after these extra keys. + // The exception is when a virtual keyboard is used, because + // if we focus the screen the virtual keyboard would be closed. + // In this case we focus our special virtual keyboard input + // element instead. + if (document.getElementById('noVNC_keyboard_button') + .classList.contains("noVNC_selected")) { + document.getElementById('noVNC_keyboardinput').focus(); + } else { + UI.rfb.focus(); + } + // fade out the controlbar to highlight that + // the focus has been moved to the screen + UI.idleControlbar(); + }, + +/* ------^------- + * /EXTRA KEYS + * ============== + * MISC + * ------v------*/ + + updateViewOnly() { + if (!UI.rfb) return; + UI.rfb.viewOnly = UI.getSetting('view_only'); + + // Hide input related buttons in view only mode + if (UI.rfb.viewOnly) { + document.getElementById('noVNC_keyboard_button') + .classList.add('noVNC_hidden'); + document.getElementById('noVNC_toggle_extra_keys_button') + .classList.add('noVNC_hidden'); + document.getElementById('noVNC_clipboard_button') + .classList.add('noVNC_hidden'); + } else { + document.getElementById('noVNC_keyboard_button') + .classList.remove('noVNC_hidden'); + document.getElementById('noVNC_toggle_extra_keys_button') + .classList.remove('noVNC_hidden'); + document.getElementById('noVNC_clipboard_button') + .classList.remove('noVNC_hidden'); + } + }, + + updateShowDotCursor() { + if (!UI.rfb) return; + UI.rfb.showDotCursor = UI.getSetting('show_dot'); + }, + + updateLogging() { + WebUtil.initLogging(UI.getSetting('logging')); + }, + + updateDesktopName(e) { + UI.desktopName = e.detail.name; + // Display the desktop name in the document title + document.title = e.detail.name + " - " + PAGE_TITLE; + }, + + bell(e) { + if (WebUtil.getConfigVar('bell', 'on') === 'on') { + const promise = document.getElementById('noVNC_bell').play(); + // The standards disagree on the return value here + if (promise) { + promise.catch((e) => { + if (e.name === "NotAllowedError") { + // Ignore when the browser doesn't let us play audio. + // It is common that the browsers require audio to be + // initiated from a user action. + } else { + Log.Error("Unable to play bell: " + e); + } + }); + } + } + }, + + //Helper to add options to dropdown. + addOption(selectbox, text, value) { + const optn = document.createElement("OPTION"); + optn.text = text; + optn.value = value; + selectbox.options.add(optn); + }, + +/* ------^------- + * /MISC + * ============== + */ +}; + +// Set up translations +const LINGUAS = ["cs", "de", "el", "es", "ja", "ko", "nl", "pl", "ru", "sv", "tr", "zh_CN", "zh_TW"]; +l10n.setup(LINGUAS); +if (l10n.language === "en" || l10n.dictionary !== undefined) { + UI.prime(); +} else { + WebUtil.fetchJSON('app/locale/' + l10n.language + '.json') + .then((translations) => { l10n.dictionary = translations; }) + .catch(err => Log.Error("Failed to load translations: " + err)) + .then(UI.prime); +} + +export default UI; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/app/webutil.js b/whmcs/modules/servers/virtualizor_cloud/novnc/app/webutil.js index a099f9d..32dbedb 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/app/webutil.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/app/webutil.js @@ -1,239 +1,239 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -import { initLogging as mainInitLogging } from '../core/util/logging.js'; - -// init log level reading the logging HTTP param -export function initLogging(level) { - "use strict"; - if (typeof level !== "undefined") { - mainInitLogging(level); - } else { - const param = document.location.href.match(/logging=([A-Za-z0-9._-]*)/); - mainInitLogging(param || undefined); - } -} - -// Read a query string variable -export function getQueryVar(name, defVal) { - "use strict"; - const re = new RegExp('.*[?&]' + name + '=([^&#]*)'), - match = document.location.href.match(re); - if (typeof defVal === 'undefined') { defVal = null; } - - if (match) { - return decodeURIComponent(match[1]); - } - - return defVal; -} - -// Read a hash fragment variable -export function getHashVar(name, defVal) { - "use strict"; - const re = new RegExp('.*[&#]' + name + '=([^&]*)'), - match = document.location.hash.match(re); - if (typeof defVal === 'undefined') { defVal = null; } - - if (match) { - return decodeURIComponent(match[1]); - } - - return defVal; -} - -// Read a variable from the fragment or the query string -// Fragment takes precedence -export function getConfigVar(name, defVal) { - "use strict"; - const val = getHashVar(name); - - if (val === null) { - return getQueryVar(name, defVal); - } - - return val; -} - -/* - * Cookie handling. Dervied from: http://www.quirksmode.org/js/cookies.html - */ - -// No days means only for this browser session -export function createCookie(name, value, days) { - "use strict"; - let date, expires; - if (days) { - date = new Date(); - date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); - expires = "; expires=" + date.toGMTString(); - } else { - expires = ""; - } - - let secure; - if (document.location.protocol === "https:") { - secure = "; secure"; - } else { - secure = ""; - } - document.cookie = name + "=" + value + expires + "; path=/" + secure; -} - -export function readCookie(name, defaultValue) { - "use strict"; - const nameEQ = name + "="; - const ca = document.cookie.split(';'); - - for (let i = 0; i < ca.length; i += 1) { - let c = ca[i]; - while (c.charAt(0) === ' ') { - c = c.substring(1, c.length); - } - if (c.indexOf(nameEQ) === 0) { - return c.substring(nameEQ.length, c.length); - } - } - - return (typeof defaultValue !== 'undefined') ? defaultValue : null; -} - -export function eraseCookie(name) { - "use strict"; - createCookie(name, "", -1); -} - -/* - * Setting handling. - */ - -let settings = {}; - -export function initSettings() { - if (!window.chrome || !window.chrome.storage) { - settings = {}; - return Promise.resolve(); - } - - return new Promise(resolve => window.chrome.storage.sync.get(resolve)) - .then((cfg) => { settings = cfg; }); -} - -// Update the settings cache, but do not write to permanent storage -export function setSetting(name, value) { - settings[name] = value; -} - -// No days means only for this browser session -export function writeSetting(name, value) { - "use strict"; - if (settings[name] === value) return; - settings[name] = value; - if (window.chrome && window.chrome.storage) { - window.chrome.storage.sync.set(settings); - } else { - localStorage.setItem(name, value); - } -} - -export function readSetting(name, defaultValue) { - "use strict"; - let value; - if ((name in settings) || (window.chrome && window.chrome.storage)) { - value = settings[name]; - } else { - value = localStorage.getItem(name); - settings[name] = value; - } - if (typeof value === "undefined") { - value = null; - } - - if (value === null && typeof defaultValue !== "undefined") { - return defaultValue; - } - - return value; -} - -export function eraseSetting(name) { - "use strict"; - // Deleting here means that next time the setting is read when using local - // storage, it will be pulled from local storage again. - // If the setting in local storage is changed (e.g. in another tab) - // between this delete and the next read, it could lead to an unexpected - // value change. - delete settings[name]; - if (window.chrome && window.chrome.storage) { - window.chrome.storage.sync.remove(name); - } else { - localStorage.removeItem(name); - } -} - -export function injectParamIfMissing(path, param, value) { - // force pretend that we're dealing with a relative path - // (assume that we wanted an extra if we pass one in) - path = "/" + path; - - const elem = document.createElement('a'); - elem.href = path; - - const paramEq = encodeURIComponent(param) + "="; - let query; - if (elem.search) { - query = elem.search.slice(1).split('&'); - } else { - query = []; - } - - if (!query.some(v => v.startsWith(paramEq))) { - query.push(paramEq + encodeURIComponent(value)); - elem.search = "?" + query.join("&"); - } - - // some browsers (e.g. IE11) may occasionally omit the leading slash - // in the elem.pathname string. Handle that case gracefully. - if (elem.pathname.charAt(0) == "/") { - return elem.pathname.slice(1) + elem.search + elem.hash; - } - - return elem.pathname + elem.search + elem.hash; -} - -// sadly, we can't use the Fetch API until we decide to drop -// IE11 support or polyfill promises and fetch in IE11. -// resolve will receive an object on success, while reject -// will receive either an event or an error on failure. -export function fetchJSON(path) { - return new Promise((resolve, reject) => { - // NB: IE11 doesn't support JSON as a responseType - const req = new XMLHttpRequest(); - req.open('GET', path); - - req.onload = () => { - if (req.status === 200) { - let resObj; - try { - resObj = JSON.parse(req.responseText); - } catch (err) { - reject(err); - } - resolve(resObj); - } else { - reject(new Error("XHR got non-200 status while trying to load '" + path + "': " + req.status)); - } - }; - - req.onerror = evt => reject(new Error("XHR encountered an error while trying to load '" + path + "': " + evt.message)); - - req.ontimeout = evt => reject(new Error("XHR timed out while trying to load '" + path + "'")); - - req.send(); - }); -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +import { initLogging as mainInitLogging } from '../core/util/logging.js'; + +// init log level reading the logging HTTP param +export function initLogging(level) { + "use strict"; + if (typeof level !== "undefined") { + mainInitLogging(level); + } else { + const param = document.location.href.match(/logging=([A-Za-z0-9._-]*)/); + mainInitLogging(param || undefined); + } +} + +// Read a query string variable +export function getQueryVar(name, defVal) { + "use strict"; + const re = new RegExp('.*[?&]' + name + '=([^&#]*)'), + match = document.location.href.match(re); + if (typeof defVal === 'undefined') { defVal = null; } + + if (match) { + return decodeURIComponent(match[1]); + } + + return defVal; +} + +// Read a hash fragment variable +export function getHashVar(name, defVal) { + "use strict"; + const re = new RegExp('.*[&#]' + name + '=([^&]*)'), + match = document.location.hash.match(re); + if (typeof defVal === 'undefined') { defVal = null; } + + if (match) { + return decodeURIComponent(match[1]); + } + + return defVal; +} + +// Read a variable from the fragment or the query string +// Fragment takes precedence +export function getConfigVar(name, defVal) { + "use strict"; + const val = getHashVar(name); + + if (val === null) { + return getQueryVar(name, defVal); + } + + return val; +} + +/* + * Cookie handling. Dervied from: http://www.quirksmode.org/js/cookies.html + */ + +// No days means only for this browser session +export function createCookie(name, value, days) { + "use strict"; + let date, expires; + if (days) { + date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toGMTString(); + } else { + expires = ""; + } + + let secure; + if (document.location.protocol === "https:") { + secure = "; secure"; + } else { + secure = ""; + } + document.cookie = name + "=" + value + expires + "; path=/" + secure; +} + +export function readCookie(name, defaultValue) { + "use strict"; + const nameEQ = name + "="; + const ca = document.cookie.split(';'); + + for (let i = 0; i < ca.length; i += 1) { + let c = ca[i]; + while (c.charAt(0) === ' ') { + c = c.substring(1, c.length); + } + if (c.indexOf(nameEQ) === 0) { + return c.substring(nameEQ.length, c.length); + } + } + + return (typeof defaultValue !== 'undefined') ? defaultValue : null; +} + +export function eraseCookie(name) { + "use strict"; + createCookie(name, "", -1); +} + +/* + * Setting handling. + */ + +let settings = {}; + +export function initSettings() { + if (!window.chrome || !window.chrome.storage) { + settings = {}; + return Promise.resolve(); + } + + return new Promise(resolve => window.chrome.storage.sync.get(resolve)) + .then((cfg) => { settings = cfg; }); +} + +// Update the settings cache, but do not write to permanent storage +export function setSetting(name, value) { + settings[name] = value; +} + +// No days means only for this browser session +export function writeSetting(name, value) { + "use strict"; + if (settings[name] === value) return; + settings[name] = value; + if (window.chrome && window.chrome.storage) { + window.chrome.storage.sync.set(settings); + } else { + localStorage.setItem(name, value); + } +} + +export function readSetting(name, defaultValue) { + "use strict"; + let value; + if ((name in settings) || (window.chrome && window.chrome.storage)) { + value = settings[name]; + } else { + value = localStorage.getItem(name); + settings[name] = value; + } + if (typeof value === "undefined") { + value = null; + } + + if (value === null && typeof defaultValue !== "undefined") { + return defaultValue; + } + + return value; +} + +export function eraseSetting(name) { + "use strict"; + // Deleting here means that next time the setting is read when using local + // storage, it will be pulled from local storage again. + // If the setting in local storage is changed (e.g. in another tab) + // between this delete and the next read, it could lead to an unexpected + // value change. + delete settings[name]; + if (window.chrome && window.chrome.storage) { + window.chrome.storage.sync.remove(name); + } else { + localStorage.removeItem(name); + } +} + +export function injectParamIfMissing(path, param, value) { + // force pretend that we're dealing with a relative path + // (assume that we wanted an extra if we pass one in) + path = "/" + path; + + const elem = document.createElement('a'); + elem.href = path; + + const paramEq = encodeURIComponent(param) + "="; + let query; + if (elem.search) { + query = elem.search.slice(1).split('&'); + } else { + query = []; + } + + if (!query.some(v => v.startsWith(paramEq))) { + query.push(paramEq + encodeURIComponent(value)); + elem.search = "?" + query.join("&"); + } + + // some browsers (e.g. IE11) may occasionally omit the leading slash + // in the elem.pathname string. Handle that case gracefully. + if (elem.pathname.charAt(0) == "/") { + return elem.pathname.slice(1) + elem.search + elem.hash; + } + + return elem.pathname + elem.search + elem.hash; +} + +// sadly, we can't use the Fetch API until we decide to drop +// IE11 support or polyfill promises and fetch in IE11. +// resolve will receive an object on success, while reject +// will receive either an event or an error on failure. +export function fetchJSON(path) { + return new Promise((resolve, reject) => { + // NB: IE11 doesn't support JSON as a responseType + const req = new XMLHttpRequest(); + req.open('GET', path); + + req.onload = () => { + if (req.status === 200) { + let resObj; + try { + resObj = JSON.parse(req.responseText); + } catch (err) { + reject(err); + } + resolve(resObj); + } else { + reject(new Error("XHR got non-200 status while trying to load '" + path + "': " + req.status)); + } + }; + + req.onerror = evt => reject(new Error("XHR encountered an error while trying to load '" + path + "': " + evt.message)); + + req.ontimeout = evt => reject(new Error("XHR timed out while trying to load '" + path + "'")); + + req.send(); + }); +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/base64.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/base64.js index db572c2..17c5ed3 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/base64.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/base64.js @@ -1,104 +1,104 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -// From: http://hg.mozilla.org/mozilla-central/raw-file/ec10630b1a54/js/src/devtools/jint/sunspider/string-base64.js - -import * as Log from './util/logging.js'; - -export default { - /* Convert data (an array of integers) to a Base64 string. */ - toBase64Table: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split(''), - base64Pad: '=', - - encode(data) { - "use strict"; - let result = ''; - const length = data.length; - const lengthpad = (length % 3); - // Convert every three bytes to 4 ascii characters. - - for (let i = 0; i < (length - 2); i += 3) { - result += this.toBase64Table[data[i] >> 2]; - result += this.toBase64Table[((data[i] & 0x03) << 4) + (data[i + 1] >> 4)]; - result += this.toBase64Table[((data[i + 1] & 0x0f) << 2) + (data[i + 2] >> 6)]; - result += this.toBase64Table[data[i + 2] & 0x3f]; - } - - // Convert the remaining 1 or 2 bytes, pad out to 4 characters. - const j = length - lengthpad; - if (lengthpad === 2) { - result += this.toBase64Table[data[j] >> 2]; - result += this.toBase64Table[((data[j] & 0x03) << 4) + (data[j + 1] >> 4)]; - result += this.toBase64Table[(data[j + 1] & 0x0f) << 2]; - result += this.toBase64Table[64]; - } else if (lengthpad === 1) { - result += this.toBase64Table[data[j] >> 2]; - result += this.toBase64Table[(data[j] & 0x03) << 4]; - result += this.toBase64Table[64]; - result += this.toBase64Table[64]; - } - - return result; - }, - - /* Convert Base64 data to a string */ - /* eslint-disable comma-spacing */ - toBinaryTable: [ - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, - -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, - 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1, - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14, - 15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1, - -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40, - 41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1 - ], - /* eslint-enable comma-spacing */ - - decode(data, offset = 0) { - let dataLength = data.indexOf('=') - offset; - if (dataLength < 0) { dataLength = data.length - offset; } - - /* Every four characters is 3 resulting numbers */ - const resultLength = (dataLength >> 2) * 3 + Math.floor((dataLength % 4) / 1.5); - const result = new Array(resultLength); - - // Convert one by one. - - let leftbits = 0; // number of bits decoded, but yet to be appended - let leftdata = 0; // bits decoded, but yet to be appended - for (let idx = 0, i = offset; i < data.length; i++) { - const c = this.toBinaryTable[data.charCodeAt(i) & 0x7f]; - const padding = (data.charAt(i) === this.base64Pad); - // Skip illegal characters and whitespace - if (c === -1) { - Log.Error("Illegal character code " + data.charCodeAt(i) + " at position " + i); - continue; - } - - // Collect data into leftdata, update bitcount - leftdata = (leftdata << 6) | c; - leftbits += 6; - - // If we have 8 or more bits, append 8 bits to the result - if (leftbits >= 8) { - leftbits -= 8; - // Append if not padding. - if (!padding) { - result[idx++] = (leftdata >> leftbits) & 0xff; - } - leftdata &= (1 << leftbits) - 1; - } - } - - // If there are any bits left, the base64 string was corrupted - if (leftbits) { - const err = new Error('Corrupted base64 string'); - err.name = 'Base64-Error'; - throw err; - } - - return result; - } -}; /* End of Base64 namespace */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// From: http://hg.mozilla.org/mozilla-central/raw-file/ec10630b1a54/js/src/devtools/jint/sunspider/string-base64.js + +import * as Log from './util/logging.js'; + +export default { + /* Convert data (an array of integers) to a Base64 string. */ + toBase64Table: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='.split(''), + base64Pad: '=', + + encode(data) { + "use strict"; + let result = ''; + const length = data.length; + const lengthpad = (length % 3); + // Convert every three bytes to 4 ascii characters. + + for (let i = 0; i < (length - 2); i += 3) { + result += this.toBase64Table[data[i] >> 2]; + result += this.toBase64Table[((data[i] & 0x03) << 4) + (data[i + 1] >> 4)]; + result += this.toBase64Table[((data[i + 1] & 0x0f) << 2) + (data[i + 2] >> 6)]; + result += this.toBase64Table[data[i + 2] & 0x3f]; + } + + // Convert the remaining 1 or 2 bytes, pad out to 4 characters. + const j = length - lengthpad; + if (lengthpad === 2) { + result += this.toBase64Table[data[j] >> 2]; + result += this.toBase64Table[((data[j] & 0x03) << 4) + (data[j + 1] >> 4)]; + result += this.toBase64Table[(data[j + 1] & 0x0f) << 2]; + result += this.toBase64Table[64]; + } else if (lengthpad === 1) { + result += this.toBase64Table[data[j] >> 2]; + result += this.toBase64Table[(data[j] & 0x03) << 4]; + result += this.toBase64Table[64]; + result += this.toBase64Table[64]; + } + + return result; + }, + + /* Convert Base64 data to a string */ + /* eslint-disable comma-spacing */ + toBinaryTable: [ + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,-1, + -1,-1,-1,-1, -1,-1,-1,-1, -1,-1,-1,62, -1,-1,-1,63, + 52,53,54,55, 56,57,58,59, 60,61,-1,-1, -1, 0,-1,-1, + -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14, + 15,16,17,18, 19,20,21,22, 23,24,25,-1, -1,-1,-1,-1, + -1,26,27,28, 29,30,31,32, 33,34,35,36, 37,38,39,40, + 41,42,43,44, 45,46,47,48, 49,50,51,-1, -1,-1,-1,-1 + ], + /* eslint-enable comma-spacing */ + + decode(data, offset = 0) { + let dataLength = data.indexOf('=') - offset; + if (dataLength < 0) { dataLength = data.length - offset; } + + /* Every four characters is 3 resulting numbers */ + const resultLength = (dataLength >> 2) * 3 + Math.floor((dataLength % 4) / 1.5); + const result = new Array(resultLength); + + // Convert one by one. + + let leftbits = 0; // number of bits decoded, but yet to be appended + let leftdata = 0; // bits decoded, but yet to be appended + for (let idx = 0, i = offset; i < data.length; i++) { + const c = this.toBinaryTable[data.charCodeAt(i) & 0x7f]; + const padding = (data.charAt(i) === this.base64Pad); + // Skip illegal characters and whitespace + if (c === -1) { + Log.Error("Illegal character code " + data.charCodeAt(i) + " at position " + i); + continue; + } + + // Collect data into leftdata, update bitcount + leftdata = (leftdata << 6) | c; + leftbits += 6; + + // If we have 8 or more bits, append 8 bits to the result + if (leftbits >= 8) { + leftbits -= 8; + // Append if not padding. + if (!padding) { + result[idx++] = (leftdata >> leftbits) & 0xff; + } + leftdata &= (1 << leftbits) - 1; + } + } + + // If there are any bits left, the base64 string was corrupted + if (leftbits) { + const err = new Error('Corrupted base64 string'); + err.name = 'Base64-Error'; + throw err; + } + + return result; + } +}; /* End of Base64 namespace */ diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/copyrect.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/copyrect.js index 9e6391a..104579a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/copyrect.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/copyrect.js @@ -1,27 +1,27 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -export default class CopyRectDecoder { - decodeRect(x, y, width, height, sock, display, depth) { - if (sock.rQwait("COPYRECT", 4)) { - return false; - } - - let deltaX = sock.rQshift16(); - let deltaY = sock.rQshift16(); - - if ((width === 0) || (height === 0)) { - return true; - } - - display.copyImage(deltaX, deltaY, x, y, width, height); - - return true; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +export default class CopyRectDecoder { + decodeRect(x, y, width, height, sock, display, depth) { + if (sock.rQwait("COPYRECT", 4)) { + return false; + } + + let deltaX = sock.rQshift16(); + let deltaY = sock.rQshift16(); + + if ((width === 0) || (height === 0)) { + return true; + } + + display.copyImage(deltaX, deltaY, x, y, width, height); + + return true; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/hextile.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/hextile.js index ac21eff..9f681a3 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/hextile.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/hextile.js @@ -1,191 +1,191 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -import * as Log from '../util/logging.js'; - -export default class HextileDecoder { - constructor() { - this._tiles = 0; - this._lastsubencoding = 0; - this._tileBuffer = new Uint8Array(16 * 16 * 4); - } - - decodeRect(x, y, width, height, sock, display, depth) { - if (this._tiles === 0) { - this._tilesX = Math.ceil(width / 16); - this._tilesY = Math.ceil(height / 16); - this._totalTiles = this._tilesX * this._tilesY; - this._tiles = this._totalTiles; - } - - while (this._tiles > 0) { - let bytes = 1; - - if (sock.rQwait("HEXTILE", bytes)) { - return false; - } - - let rQ = sock.rQ; - let rQi = sock.rQi; - - let subencoding = rQ[rQi]; // Peek - if (subencoding > 30) { // Raw - throw new Error("Illegal hextile subencoding (subencoding: " + - subencoding + ")"); - } - - const currTile = this._totalTiles - this._tiles; - const tileX = currTile % this._tilesX; - const tileY = Math.floor(currTile / this._tilesX); - const tx = x + tileX * 16; - const ty = y + tileY * 16; - const tw = Math.min(16, (x + width) - tx); - const th = Math.min(16, (y + height) - ty); - - // Figure out how much we are expecting - if (subencoding & 0x01) { // Raw - bytes += tw * th * 4; - } else { - if (subencoding & 0x02) { // Background - bytes += 4; - } - if (subencoding & 0x04) { // Foreground - bytes += 4; - } - if (subencoding & 0x08) { // AnySubrects - bytes++; // Since we aren't shifting it off - - if (sock.rQwait("HEXTILE", bytes)) { - return false; - } - - let subrects = rQ[rQi + bytes - 1]; // Peek - if (subencoding & 0x10) { // SubrectsColoured - bytes += subrects * (4 + 2); - } else { - bytes += subrects * 2; - } - } - } - - if (sock.rQwait("HEXTILE", bytes)) { - return false; - } - - // We know the encoding and have a whole tile - rQi++; - if (subencoding === 0) { - if (this._lastsubencoding & 0x01) { - // Weird: ignore blanks are RAW - Log.Debug(" Ignoring blank after RAW"); - } else { - display.fillRect(tx, ty, tw, th, this._background); - } - } else if (subencoding & 0x01) { // Raw - let pixels = tw * th; - // Max sure the image is fully opaque - for (let i = 0;i < pixels;i++) { - rQ[rQi + i * 4 + 3] = 255; - } - display.blitImage(tx, ty, tw, th, rQ, rQi); - rQi += bytes - 1; - } else { - if (subencoding & 0x02) { // Background - this._background = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; - rQi += 4; - } - if (subencoding & 0x04) { // Foreground - this._foreground = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; - rQi += 4; - } - - this._startTile(tx, ty, tw, th, this._background); - if (subencoding & 0x08) { // AnySubrects - let subrects = rQ[rQi]; - rQi++; - - for (let s = 0; s < subrects; s++) { - let color; - if (subencoding & 0x10) { // SubrectsColoured - color = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; - rQi += 4; - } else { - color = this._foreground; - } - const xy = rQ[rQi]; - rQi++; - const sx = (xy >> 4); - const sy = (xy & 0x0f); - - const wh = rQ[rQi]; - rQi++; - const sw = (wh >> 4) + 1; - const sh = (wh & 0x0f) + 1; - - this._subTile(sx, sy, sw, sh, color); - } - } - this._finishTile(display); - } - sock.rQi = rQi; - this._lastsubencoding = subencoding; - this._tiles--; - } - - return true; - } - - // start updating a tile - _startTile(x, y, width, height, color) { - this._tileX = x; - this._tileY = y; - this._tileW = width; - this._tileH = height; - - const red = color[0]; - const green = color[1]; - const blue = color[2]; - - const data = this._tileBuffer; - for (let i = 0; i < width * height * 4; i += 4) { - data[i] = red; - data[i + 1] = green; - data[i + 2] = blue; - data[i + 3] = 255; - } - } - - // update sub-rectangle of the current tile - _subTile(x, y, w, h, color) { - const red = color[0]; - const green = color[1]; - const blue = color[2]; - const xend = x + w; - const yend = y + h; - - const data = this._tileBuffer; - const width = this._tileW; - for (let j = y; j < yend; j++) { - for (let i = x; i < xend; i++) { - const p = (i + (j * width)) * 4; - data[p] = red; - data[p + 1] = green; - data[p + 2] = blue; - data[p + 3] = 255; - } - } - } - - // draw the current tile to the screen - _finishTile(display) { - display.blitImage(this._tileX, this._tileY, - this._tileW, this._tileH, - this._tileBuffer, 0); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +import * as Log from '../util/logging.js'; + +export default class HextileDecoder { + constructor() { + this._tiles = 0; + this._lastsubencoding = 0; + this._tileBuffer = new Uint8Array(16 * 16 * 4); + } + + decodeRect(x, y, width, height, sock, display, depth) { + if (this._tiles === 0) { + this._tilesX = Math.ceil(width / 16); + this._tilesY = Math.ceil(height / 16); + this._totalTiles = this._tilesX * this._tilesY; + this._tiles = this._totalTiles; + } + + while (this._tiles > 0) { + let bytes = 1; + + if (sock.rQwait("HEXTILE", bytes)) { + return false; + } + + let rQ = sock.rQ; + let rQi = sock.rQi; + + let subencoding = rQ[rQi]; // Peek + if (subencoding > 30) { // Raw + throw new Error("Illegal hextile subencoding (subencoding: " + + subencoding + ")"); + } + + const currTile = this._totalTiles - this._tiles; + const tileX = currTile % this._tilesX; + const tileY = Math.floor(currTile / this._tilesX); + const tx = x + tileX * 16; + const ty = y + tileY * 16; + const tw = Math.min(16, (x + width) - tx); + const th = Math.min(16, (y + height) - ty); + + // Figure out how much we are expecting + if (subencoding & 0x01) { // Raw + bytes += tw * th * 4; + } else { + if (subencoding & 0x02) { // Background + bytes += 4; + } + if (subencoding & 0x04) { // Foreground + bytes += 4; + } + if (subencoding & 0x08) { // AnySubrects + bytes++; // Since we aren't shifting it off + + if (sock.rQwait("HEXTILE", bytes)) { + return false; + } + + let subrects = rQ[rQi + bytes - 1]; // Peek + if (subencoding & 0x10) { // SubrectsColoured + bytes += subrects * (4 + 2); + } else { + bytes += subrects * 2; + } + } + } + + if (sock.rQwait("HEXTILE", bytes)) { + return false; + } + + // We know the encoding and have a whole tile + rQi++; + if (subencoding === 0) { + if (this._lastsubencoding & 0x01) { + // Weird: ignore blanks are RAW + Log.Debug(" Ignoring blank after RAW"); + } else { + display.fillRect(tx, ty, tw, th, this._background); + } + } else if (subencoding & 0x01) { // Raw + let pixels = tw * th; + // Max sure the image is fully opaque + for (let i = 0;i < pixels;i++) { + rQ[rQi + i * 4 + 3] = 255; + } + display.blitImage(tx, ty, tw, th, rQ, rQi); + rQi += bytes - 1; + } else { + if (subencoding & 0x02) { // Background + this._background = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; + rQi += 4; + } + if (subencoding & 0x04) { // Foreground + this._foreground = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; + rQi += 4; + } + + this._startTile(tx, ty, tw, th, this._background); + if (subencoding & 0x08) { // AnySubrects + let subrects = rQ[rQi]; + rQi++; + + for (let s = 0; s < subrects; s++) { + let color; + if (subencoding & 0x10) { // SubrectsColoured + color = [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2], rQ[rQi + 3]]; + rQi += 4; + } else { + color = this._foreground; + } + const xy = rQ[rQi]; + rQi++; + const sx = (xy >> 4); + const sy = (xy & 0x0f); + + const wh = rQ[rQi]; + rQi++; + const sw = (wh >> 4) + 1; + const sh = (wh & 0x0f) + 1; + + this._subTile(sx, sy, sw, sh, color); + } + } + this._finishTile(display); + } + sock.rQi = rQi; + this._lastsubencoding = subencoding; + this._tiles--; + } + + return true; + } + + // start updating a tile + _startTile(x, y, width, height, color) { + this._tileX = x; + this._tileY = y; + this._tileW = width; + this._tileH = height; + + const red = color[0]; + const green = color[1]; + const blue = color[2]; + + const data = this._tileBuffer; + for (let i = 0; i < width * height * 4; i += 4) { + data[i] = red; + data[i + 1] = green; + data[i + 2] = blue; + data[i + 3] = 255; + } + } + + // update sub-rectangle of the current tile + _subTile(x, y, w, h, color) { + const red = color[0]; + const green = color[1]; + const blue = color[2]; + const xend = x + w; + const yend = y + h; + + const data = this._tileBuffer; + const width = this._tileW; + for (let j = y; j < yend; j++) { + for (let i = x; i < xend; i++) { + const p = (i + (j * width)) * 4; + data[p] = red; + data[p + 1] = green; + data[p + 2] = blue; + data[p + 3] = 255; + } + } + } + + // draw the current tile to the screen + _finishTile(display) { + display.blitImage(this._tileX, this._tileY, + this._tileW, this._tileH, + this._tileBuffer, 0); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/raw.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/raw.js index e8ea178..06e5e91 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/raw.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/raw.js @@ -1,66 +1,66 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -export default class RawDecoder { - constructor() { - this._lines = 0; - } - - decodeRect(x, y, width, height, sock, display, depth) { - if ((width === 0) || (height === 0)) { - return true; - } - - if (this._lines === 0) { - this._lines = height; - } - - const pixelSize = depth == 8 ? 1 : 4; - const bytesPerLine = width * pixelSize; - - if (sock.rQwait("RAW", bytesPerLine)) { - return false; - } - - const curY = y + (height - this._lines); - const currHeight = Math.min(this._lines, - Math.floor(sock.rQlen / bytesPerLine)); - const pixels = width * currHeight; - - let data = sock.rQ; - let index = sock.rQi; - - // Convert data if needed - if (depth == 8) { - const newdata = new Uint8Array(pixels * 4); - for (let i = 0; i < pixels; i++) { - newdata[i * 4 + 0] = ((data[index + i] >> 0) & 0x3) * 255 / 3; - newdata[i * 4 + 1] = ((data[index + i] >> 2) & 0x3) * 255 / 3; - newdata[i * 4 + 2] = ((data[index + i] >> 4) & 0x3) * 255 / 3; - newdata[i * 4 + 3] = 255; - } - data = newdata; - index = 0; - } - - // Max sure the image is fully opaque - for (let i = 0; i < pixels; i++) { - data[i * 4 + 3] = 255; - } - - display.blitImage(x, curY, width, currHeight, data, index); - sock.rQskipBytes(currHeight * bytesPerLine); - this._lines -= currHeight; - if (this._lines > 0) { - return false; - } - - return true; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +export default class RawDecoder { + constructor() { + this._lines = 0; + } + + decodeRect(x, y, width, height, sock, display, depth) { + if ((width === 0) || (height === 0)) { + return true; + } + + if (this._lines === 0) { + this._lines = height; + } + + const pixelSize = depth == 8 ? 1 : 4; + const bytesPerLine = width * pixelSize; + + if (sock.rQwait("RAW", bytesPerLine)) { + return false; + } + + const curY = y + (height - this._lines); + const currHeight = Math.min(this._lines, + Math.floor(sock.rQlen / bytesPerLine)); + const pixels = width * currHeight; + + let data = sock.rQ; + let index = sock.rQi; + + // Convert data if needed + if (depth == 8) { + const newdata = new Uint8Array(pixels * 4); + for (let i = 0; i < pixels; i++) { + newdata[i * 4 + 0] = ((data[index + i] >> 0) & 0x3) * 255 / 3; + newdata[i * 4 + 1] = ((data[index + i] >> 2) & 0x3) * 255 / 3; + newdata[i * 4 + 2] = ((data[index + i] >> 4) & 0x3) * 255 / 3; + newdata[i * 4 + 3] = 255; + } + data = newdata; + index = 0; + } + + // Max sure the image is fully opaque + for (let i = 0; i < pixels; i++) { + data[i * 4 + 3] = 255; + } + + display.blitImage(x, curY, width, currHeight, data, index); + sock.rQskipBytes(currHeight * bytesPerLine); + this._lines -= currHeight; + if (this._lines > 0) { + return false; + } + + return true; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/rre.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/rre.js index 6219369..52fc67c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/rre.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/rre.js @@ -1,44 +1,44 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -export default class RREDecoder { - constructor() { - this._subrects = 0; - } - - decodeRect(x, y, width, height, sock, display, depth) { - if (this._subrects === 0) { - if (sock.rQwait("RRE", 4 + 4)) { - return false; - } - - this._subrects = sock.rQshift32(); - - let color = sock.rQshiftBytes(4); // Background - display.fillRect(x, y, width, height, color); - } - - while (this._subrects > 0) { - if (sock.rQwait("RRE", 4 + 8)) { - return false; - } - - let color = sock.rQshiftBytes(4); - let sx = sock.rQshift16(); - let sy = sock.rQshift16(); - let swidth = sock.rQshift16(); - let sheight = sock.rQshift16(); - display.fillRect(x + sx, y + sy, swidth, sheight, color); - - this._subrects--; - } - - return true; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +export default class RREDecoder { + constructor() { + this._subrects = 0; + } + + decodeRect(x, y, width, height, sock, display, depth) { + if (this._subrects === 0) { + if (sock.rQwait("RRE", 4 + 4)) { + return false; + } + + this._subrects = sock.rQshift32(); + + let color = sock.rQshiftBytes(4); // Background + display.fillRect(x, y, width, height, color); + } + + while (this._subrects > 0) { + if (sock.rQwait("RRE", 4 + 8)) { + return false; + } + + let color = sock.rQshiftBytes(4); + let sx = sock.rQshift16(); + let sy = sock.rQshift16(); + let swidth = sock.rQshift16(); + let sheight = sock.rQshift16(); + display.fillRect(x + sx, y + sy, swidth, sheight, color); + + this._subrects--; + } + + return true; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tight.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tight.js index 7952707..09cc0f2 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tight.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tight.js @@ -1,331 +1,331 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * (c) 2012 Michael Tinglof, Joe Balaz, Les Piech (Mercuri.ca) - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -import * as Log from '../util/logging.js'; -import Inflator from "../inflator.js"; - -export default class TightDecoder { - constructor() { - this._ctl = null; - this._filter = null; - this._numColors = 0; - this._palette = new Uint8Array(1024); // 256 * 4 (max palette size * max bytes-per-pixel) - this._len = 0; - - this._zlibs = []; - for (let i = 0; i < 4; i++) { - this._zlibs[i] = new Inflator(); - } - } - - decodeRect(x, y, width, height, sock, display, depth) { - if (this._ctl === null) { - if (sock.rQwait("TIGHT compression-control", 1)) { - return false; - } - - this._ctl = sock.rQshift8(); - - // Reset streams if the server requests it - for (let i = 0; i < 4; i++) { - if ((this._ctl >> i) & 1) { - this._zlibs[i].reset(); - Log.Info("Reset zlib stream " + i); - } - } - - // Figure out filter - this._ctl = this._ctl >> 4; - } - - let ret; - - if (this._ctl === 0x08) { - ret = this._fillRect(x, y, width, height, - sock, display, depth); - } else if (this._ctl === 0x09) { - ret = this._jpegRect(x, y, width, height, - sock, display, depth); - } else if (this._ctl === 0x0A) { - ret = this._pngRect(x, y, width, height, - sock, display, depth); - } else if ((this._ctl & 0x08) == 0) { - ret = this._basicRect(this._ctl, x, y, width, height, - sock, display, depth); - } else { - throw new Error("Illegal tight compression received (ctl: " + - this._ctl + ")"); - } - - if (ret) { - this._ctl = null; - } - - return ret; - } - - _fillRect(x, y, width, height, sock, display, depth) { - if (sock.rQwait("TIGHT", 3)) { - return false; - } - - const rQi = sock.rQi; - const rQ = sock.rQ; - - display.fillRect(x, y, width, height, - [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2]], false); - sock.rQskipBytes(3); - - return true; - } - - _jpegRect(x, y, width, height, sock, display, depth) { - let data = this._readData(sock); - if (data === null) { - return false; - } - - display.imageRect(x, y, width, height, "image/jpeg", data); - - return true; - } - - _pngRect(x, y, width, height, sock, display, depth) { - throw new Error("PNG received in standard Tight rect"); - } - - _basicRect(ctl, x, y, width, height, sock, display, depth) { - if (this._filter === null) { - if (ctl & 0x4) { - if (sock.rQwait("TIGHT", 1)) { - return false; - } - - this._filter = sock.rQshift8(); - } else { - // Implicit CopyFilter - this._filter = 0; - } - } - - let streamId = ctl & 0x3; - - let ret; - - switch (this._filter) { - case 0: // CopyFilter - ret = this._copyFilter(streamId, x, y, width, height, - sock, display, depth); - break; - case 1: // PaletteFilter - ret = this._paletteFilter(streamId, x, y, width, height, - sock, display, depth); - break; - case 2: // GradientFilter - ret = this._gradientFilter(streamId, x, y, width, height, - sock, display, depth); - break; - default: - throw new Error("Illegal tight filter received (ctl: " + - this._filter + ")"); - } - - if (ret) { - this._filter = null; - } - - return ret; - } - - _copyFilter(streamId, x, y, width, height, sock, display, depth) { - const uncompressedSize = width * height * 3; - let data; - - if (uncompressedSize === 0) { - return true; - } - - if (uncompressedSize < 12) { - if (sock.rQwait("TIGHT", uncompressedSize)) { - return false; - } - - data = sock.rQshiftBytes(uncompressedSize); - } else { - data = this._readData(sock); - if (data === null) { - return false; - } - - this._zlibs[streamId].setInput(data); - data = this._zlibs[streamId].inflate(uncompressedSize); - this._zlibs[streamId].setInput(null); - } - - let rgbx = new Uint8Array(width * height * 4); - for (let i = 0, j = 0; i < width * height * 4; i += 4, j += 3) { - rgbx[i] = data[j]; - rgbx[i + 1] = data[j + 1]; - rgbx[i + 2] = data[j + 2]; - rgbx[i + 3] = 255; // Alpha - } - - display.blitImage(x, y, width, height, rgbx, 0, false); - - return true; - } - - _paletteFilter(streamId, x, y, width, height, sock, display, depth) { - if (this._numColors === 0) { - if (sock.rQwait("TIGHT palette", 1)) { - return false; - } - - const numColors = sock.rQpeek8() + 1; - const paletteSize = numColors * 3; - - if (sock.rQwait("TIGHT palette", 1 + paletteSize)) { - return false; - } - - this._numColors = numColors; - sock.rQskipBytes(1); - - sock.rQshiftTo(this._palette, paletteSize); - } - - const bpp = (this._numColors <= 2) ? 1 : 8; - const rowSize = Math.floor((width * bpp + 7) / 8); - const uncompressedSize = rowSize * height; - - let data; - - if (uncompressedSize === 0) { - return true; - } - - if (uncompressedSize < 12) { - if (sock.rQwait("TIGHT", uncompressedSize)) { - return false; - } - - data = sock.rQshiftBytes(uncompressedSize); - } else { - data = this._readData(sock); - if (data === null) { - return false; - } - - this._zlibs[streamId].setInput(data); - data = this._zlibs[streamId].inflate(uncompressedSize); - this._zlibs[streamId].setInput(null); - } - - // Convert indexed (palette based) image data to RGB - if (this._numColors == 2) { - this._monoRect(x, y, width, height, data, this._palette, display); - } else { - this._paletteRect(x, y, width, height, data, this._palette, display); - } - - this._numColors = 0; - - return true; - } - - _monoRect(x, y, width, height, data, palette, display) { - // Convert indexed (palette based) image data to RGB - // TODO: reduce number of calculations inside loop - const dest = this._getScratchBuffer(width * height * 4); - const w = Math.floor((width + 7) / 8); - const w1 = Math.floor(width / 8); - - for (let y = 0; y < height; y++) { - let dp, sp, x; - for (x = 0; x < w1; x++) { - for (let b = 7; b >= 0; b--) { - dp = (y * width + x * 8 + 7 - b) * 4; - sp = (data[y * w + x] >> b & 1) * 3; - dest[dp] = palette[sp]; - dest[dp + 1] = palette[sp + 1]; - dest[dp + 2] = palette[sp + 2]; - dest[dp + 3] = 255; - } - } - - for (let b = 7; b >= 8 - width % 8; b--) { - dp = (y * width + x * 8 + 7 - b) * 4; - sp = (data[y * w + x] >> b & 1) * 3; - dest[dp] = palette[sp]; - dest[dp + 1] = palette[sp + 1]; - dest[dp + 2] = palette[sp + 2]; - dest[dp + 3] = 255; - } - } - - display.blitImage(x, y, width, height, dest, 0, false); - } - - _paletteRect(x, y, width, height, data, palette, display) { - // Convert indexed (palette based) image data to RGB - const dest = this._getScratchBuffer(width * height * 4); - const total = width * height * 4; - for (let i = 0, j = 0; i < total; i += 4, j++) { - const sp = data[j] * 3; - dest[i] = palette[sp]; - dest[i + 1] = palette[sp + 1]; - dest[i + 2] = palette[sp + 2]; - dest[i + 3] = 255; - } - - display.blitImage(x, y, width, height, dest, 0, false); - } - - _gradientFilter(streamId, x, y, width, height, sock, display, depth) { - throw new Error("Gradient filter not implemented"); - } - - _readData(sock) { - if (this._len === 0) { - if (sock.rQwait("TIGHT", 3)) { - return null; - } - - let byte; - - byte = sock.rQshift8(); - this._len = byte & 0x7f; - if (byte & 0x80) { - byte = sock.rQshift8(); - this._len |= (byte & 0x7f) << 7; - if (byte & 0x80) { - byte = sock.rQshift8(); - this._len |= byte << 14; - } - } - } - - if (sock.rQwait("TIGHT", this._len)) { - return null; - } - - let data = sock.rQshiftBytes(this._len); - this._len = 0; - - return data; - } - - _getScratchBuffer(size) { - if (!this._scratchBuffer || (this._scratchBuffer.length < size)) { - this._scratchBuffer = new Uint8Array(size); - } - return this._scratchBuffer; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * (c) 2012 Michael Tinglof, Joe Balaz, Les Piech (Mercuri.ca) + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +import * as Log from '../util/logging.js'; +import Inflator from "../inflator.js"; + +export default class TightDecoder { + constructor() { + this._ctl = null; + this._filter = null; + this._numColors = 0; + this._palette = new Uint8Array(1024); // 256 * 4 (max palette size * max bytes-per-pixel) + this._len = 0; + + this._zlibs = []; + for (let i = 0; i < 4; i++) { + this._zlibs[i] = new Inflator(); + } + } + + decodeRect(x, y, width, height, sock, display, depth) { + if (this._ctl === null) { + if (sock.rQwait("TIGHT compression-control", 1)) { + return false; + } + + this._ctl = sock.rQshift8(); + + // Reset streams if the server requests it + for (let i = 0; i < 4; i++) { + if ((this._ctl >> i) & 1) { + this._zlibs[i].reset(); + Log.Info("Reset zlib stream " + i); + } + } + + // Figure out filter + this._ctl = this._ctl >> 4; + } + + let ret; + + if (this._ctl === 0x08) { + ret = this._fillRect(x, y, width, height, + sock, display, depth); + } else if (this._ctl === 0x09) { + ret = this._jpegRect(x, y, width, height, + sock, display, depth); + } else if (this._ctl === 0x0A) { + ret = this._pngRect(x, y, width, height, + sock, display, depth); + } else if ((this._ctl & 0x08) == 0) { + ret = this._basicRect(this._ctl, x, y, width, height, + sock, display, depth); + } else { + throw new Error("Illegal tight compression received (ctl: " + + this._ctl + ")"); + } + + if (ret) { + this._ctl = null; + } + + return ret; + } + + _fillRect(x, y, width, height, sock, display, depth) { + if (sock.rQwait("TIGHT", 3)) { + return false; + } + + const rQi = sock.rQi; + const rQ = sock.rQ; + + display.fillRect(x, y, width, height, + [rQ[rQi], rQ[rQi + 1], rQ[rQi + 2]], false); + sock.rQskipBytes(3); + + return true; + } + + _jpegRect(x, y, width, height, sock, display, depth) { + let data = this._readData(sock); + if (data === null) { + return false; + } + + display.imageRect(x, y, width, height, "image/jpeg", data); + + return true; + } + + _pngRect(x, y, width, height, sock, display, depth) { + throw new Error("PNG received in standard Tight rect"); + } + + _basicRect(ctl, x, y, width, height, sock, display, depth) { + if (this._filter === null) { + if (ctl & 0x4) { + if (sock.rQwait("TIGHT", 1)) { + return false; + } + + this._filter = sock.rQshift8(); + } else { + // Implicit CopyFilter + this._filter = 0; + } + } + + let streamId = ctl & 0x3; + + let ret; + + switch (this._filter) { + case 0: // CopyFilter + ret = this._copyFilter(streamId, x, y, width, height, + sock, display, depth); + break; + case 1: // PaletteFilter + ret = this._paletteFilter(streamId, x, y, width, height, + sock, display, depth); + break; + case 2: // GradientFilter + ret = this._gradientFilter(streamId, x, y, width, height, + sock, display, depth); + break; + default: + throw new Error("Illegal tight filter received (ctl: " + + this._filter + ")"); + } + + if (ret) { + this._filter = null; + } + + return ret; + } + + _copyFilter(streamId, x, y, width, height, sock, display, depth) { + const uncompressedSize = width * height * 3; + let data; + + if (uncompressedSize === 0) { + return true; + } + + if (uncompressedSize < 12) { + if (sock.rQwait("TIGHT", uncompressedSize)) { + return false; + } + + data = sock.rQshiftBytes(uncompressedSize); + } else { + data = this._readData(sock); + if (data === null) { + return false; + } + + this._zlibs[streamId].setInput(data); + data = this._zlibs[streamId].inflate(uncompressedSize); + this._zlibs[streamId].setInput(null); + } + + let rgbx = new Uint8Array(width * height * 4); + for (let i = 0, j = 0; i < width * height * 4; i += 4, j += 3) { + rgbx[i] = data[j]; + rgbx[i + 1] = data[j + 1]; + rgbx[i + 2] = data[j + 2]; + rgbx[i + 3] = 255; // Alpha + } + + display.blitImage(x, y, width, height, rgbx, 0, false); + + return true; + } + + _paletteFilter(streamId, x, y, width, height, sock, display, depth) { + if (this._numColors === 0) { + if (sock.rQwait("TIGHT palette", 1)) { + return false; + } + + const numColors = sock.rQpeek8() + 1; + const paletteSize = numColors * 3; + + if (sock.rQwait("TIGHT palette", 1 + paletteSize)) { + return false; + } + + this._numColors = numColors; + sock.rQskipBytes(1); + + sock.rQshiftTo(this._palette, paletteSize); + } + + const bpp = (this._numColors <= 2) ? 1 : 8; + const rowSize = Math.floor((width * bpp + 7) / 8); + const uncompressedSize = rowSize * height; + + let data; + + if (uncompressedSize === 0) { + return true; + } + + if (uncompressedSize < 12) { + if (sock.rQwait("TIGHT", uncompressedSize)) { + return false; + } + + data = sock.rQshiftBytes(uncompressedSize); + } else { + data = this._readData(sock); + if (data === null) { + return false; + } + + this._zlibs[streamId].setInput(data); + data = this._zlibs[streamId].inflate(uncompressedSize); + this._zlibs[streamId].setInput(null); + } + + // Convert indexed (palette based) image data to RGB + if (this._numColors == 2) { + this._monoRect(x, y, width, height, data, this._palette, display); + } else { + this._paletteRect(x, y, width, height, data, this._palette, display); + } + + this._numColors = 0; + + return true; + } + + _monoRect(x, y, width, height, data, palette, display) { + // Convert indexed (palette based) image data to RGB + // TODO: reduce number of calculations inside loop + const dest = this._getScratchBuffer(width * height * 4); + const w = Math.floor((width + 7) / 8); + const w1 = Math.floor(width / 8); + + for (let y = 0; y < height; y++) { + let dp, sp, x; + for (x = 0; x < w1; x++) { + for (let b = 7; b >= 0; b--) { + dp = (y * width + x * 8 + 7 - b) * 4; + sp = (data[y * w + x] >> b & 1) * 3; + dest[dp] = palette[sp]; + dest[dp + 1] = palette[sp + 1]; + dest[dp + 2] = palette[sp + 2]; + dest[dp + 3] = 255; + } + } + + for (let b = 7; b >= 8 - width % 8; b--) { + dp = (y * width + x * 8 + 7 - b) * 4; + sp = (data[y * w + x] >> b & 1) * 3; + dest[dp] = palette[sp]; + dest[dp + 1] = palette[sp + 1]; + dest[dp + 2] = palette[sp + 2]; + dest[dp + 3] = 255; + } + } + + display.blitImage(x, y, width, height, dest, 0, false); + } + + _paletteRect(x, y, width, height, data, palette, display) { + // Convert indexed (palette based) image data to RGB + const dest = this._getScratchBuffer(width * height * 4); + const total = width * height * 4; + for (let i = 0, j = 0; i < total; i += 4, j++) { + const sp = data[j] * 3; + dest[i] = palette[sp]; + dest[i + 1] = palette[sp + 1]; + dest[i + 2] = palette[sp + 2]; + dest[i + 3] = 255; + } + + display.blitImage(x, y, width, height, dest, 0, false); + } + + _gradientFilter(streamId, x, y, width, height, sock, display, depth) { + throw new Error("Gradient filter not implemented"); + } + + _readData(sock) { + if (this._len === 0) { + if (sock.rQwait("TIGHT", 3)) { + return null; + } + + let byte; + + byte = sock.rQshift8(); + this._len = byte & 0x7f; + if (byte & 0x80) { + byte = sock.rQshift8(); + this._len |= (byte & 0x7f) << 7; + if (byte & 0x80) { + byte = sock.rQshift8(); + this._len |= byte << 14; + } + } + } + + if (sock.rQwait("TIGHT", this._len)) { + return null; + } + + let data = sock.rQshiftBytes(this._len); + this._len = 0; + + return data; + } + + _getScratchBuffer(size) { + if (!this._scratchBuffer || (this._scratchBuffer.length < size)) { + this._scratchBuffer = new Uint8Array(size); + } + return this._scratchBuffer; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tightpng.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tightpng.js index 82f492d..e082e44 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tightpng.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/decoders/tightpng.js @@ -1,27 +1,27 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -import TightDecoder from './tight.js'; - -export default class TightPNGDecoder extends TightDecoder { - _pngRect(x, y, width, height, sock, display, depth) { - let data = this._readData(sock); - if (data === null) { - return false; - } - - display.imageRect(x, y, width, height, "image/png", data); - - return true; - } - - _basicRect(ctl, x, y, width, height, sock, display, depth) { - throw new Error("BasicCompression received in TightPNG rect"); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +import TightDecoder from './tight.js'; + +export default class TightPNGDecoder extends TightDecoder { + _pngRect(x, y, width, height, sock, display, depth) { + let data = this._readData(sock); + if (data === null) { + return false; + } + + display.imageRect(x, y, width, height, "image/png", data); + + return true; + } + + _basicRect(ctl, x, y, width, height, sock, display, depth) { + throw new Error("BasicCompression received in TightPNG rect"); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/deflator.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/deflator.js index fe2a8f7..f09953a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/deflator.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/deflator.js @@ -1,85 +1,85 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -import { deflateInit, deflate } from "../vendor/pako/lib/zlib/deflate.js"; -import { Z_FULL_FLUSH } from "../vendor/pako/lib/zlib/deflate.js"; -import ZStream from "../vendor/pako/lib/zlib/zstream.js"; - -export default class Deflator { - constructor() { - this.strm = new ZStream(); - this.chunkSize = 1024 * 10 * 10; - this.outputBuffer = new Uint8Array(this.chunkSize); - this.windowBits = 5; - - deflateInit(this.strm, this.windowBits); - } - - deflate(inData) { - /* eslint-disable camelcase */ - this.strm.input = inData; - this.strm.avail_in = this.strm.input.length; - this.strm.next_in = 0; - this.strm.output = this.outputBuffer; - this.strm.avail_out = this.chunkSize; - this.strm.next_out = 0; - /* eslint-enable camelcase */ - - let lastRet = deflate(this.strm, Z_FULL_FLUSH); - let outData = new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); - - if (lastRet < 0) { - throw new Error("zlib deflate failed"); - } - - if (this.strm.avail_in > 0) { - // Read chunks until done - - let chunks = [outData]; - let totalLen = outData.length; - do { - /* eslint-disable camelcase */ - this.strm.output = new Uint8Array(this.chunkSize); - this.strm.next_out = 0; - this.strm.avail_out = this.chunkSize; - /* eslint-enable camelcase */ - - lastRet = deflate(this.strm, Z_FULL_FLUSH); - - if (lastRet < 0) { - throw new Error("zlib deflate failed"); - } - - let chunk = new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); - totalLen += chunk.length; - chunks.push(chunk); - } while (this.strm.avail_in > 0); - - // Combine chunks into a single data - - let newData = new Uint8Array(totalLen); - let offset = 0; - - for (let i = 0; i < chunks.length; i++) { - newData.set(chunks[i], offset); - offset += chunks[i].length; - } - - outData = newData; - } - - /* eslint-disable camelcase */ - this.strm.input = null; - this.strm.avail_in = 0; - this.strm.next_in = 0; - /* eslint-enable camelcase */ - - return outData; - } - -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +import { deflateInit, deflate } from "../vendor/pako/lib/zlib/deflate.js"; +import { Z_FULL_FLUSH } from "../vendor/pako/lib/zlib/deflate.js"; +import ZStream from "../vendor/pako/lib/zlib/zstream.js"; + +export default class Deflator { + constructor() { + this.strm = new ZStream(); + this.chunkSize = 1024 * 10 * 10; + this.outputBuffer = new Uint8Array(this.chunkSize); + this.windowBits = 5; + + deflateInit(this.strm, this.windowBits); + } + + deflate(inData) { + /* eslint-disable camelcase */ + this.strm.input = inData; + this.strm.avail_in = this.strm.input.length; + this.strm.next_in = 0; + this.strm.output = this.outputBuffer; + this.strm.avail_out = this.chunkSize; + this.strm.next_out = 0; + /* eslint-enable camelcase */ + + let lastRet = deflate(this.strm, Z_FULL_FLUSH); + let outData = new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); + + if (lastRet < 0) { + throw new Error("zlib deflate failed"); + } + + if (this.strm.avail_in > 0) { + // Read chunks until done + + let chunks = [outData]; + let totalLen = outData.length; + do { + /* eslint-disable camelcase */ + this.strm.output = new Uint8Array(this.chunkSize); + this.strm.next_out = 0; + this.strm.avail_out = this.chunkSize; + /* eslint-enable camelcase */ + + lastRet = deflate(this.strm, Z_FULL_FLUSH); + + if (lastRet < 0) { + throw new Error("zlib deflate failed"); + } + + let chunk = new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); + totalLen += chunk.length; + chunks.push(chunk); + } while (this.strm.avail_in > 0); + + // Combine chunks into a single data + + let newData = new Uint8Array(totalLen); + let offset = 0; + + for (let i = 0; i < chunks.length; i++) { + newData.set(chunks[i], offset); + offset += chunks[i].length; + } + + outData = newData; + } + + /* eslint-disable camelcase */ + this.strm.input = null; + this.strm.avail_in = 0; + this.strm.next_in = 0; + /* eslint-enable camelcase */ + + return outData; + } + +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/des.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/des.js index d2f807b..7a64937 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/des.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/des.js @@ -1,266 +1,266 @@ -/* - * Ported from Flashlight VNC ActionScript implementation: - * http://www.wizhelp.com/flashlight-vnc/ - * - * Full attribution follows: - * - * ------------------------------------------------------------------------- - * - * This DES class has been extracted from package Acme.Crypto for use in VNC. - * The unnecessary odd parity code has been removed. - * - * These changes are: - * Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - - * DesCipher - the DES encryption method - * - * The meat of this code is by Dave Zimmerman , and is: - * - * Copyright (c) 1996 Widget Workshop, Inc. All Rights Reserved. - * - * Permission to use, copy, modify, and distribute this software - * and its documentation for NON-COMMERCIAL or COMMERCIAL purposes and - * without fee is hereby granted, provided that this copyright notice is kept - * intact. - * - * WIDGET WORKSHOP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY - * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED - * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A - * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WIDGET WORKSHOP SHALL NOT BE LIABLE - * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR - * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. - * - * THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE - * CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE - * PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT - * NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE - * SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE - * SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE - * PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). WIDGET WORKSHOP - * SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR - * HIGH RISK ACTIVITIES. - * - * - * The rest is: - * - * Copyright (C) 1996 by Jef Poskanzer . All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * Visit the ACME Labs Java page for up-to-date versions of this and other - * fine Java utilities: http://www.acme.com/java/ - */ - -/* eslint-disable comma-spacing */ - -// Tables, permutations, S-boxes, etc. -const PC2 = [13,16,10,23, 0, 4, 2,27,14, 5,20, 9,22,18,11, 3, - 25, 7,15, 6,26,19,12, 1,40,51,30,36,46,54,29,39, - 50,44,32,47,43,48,38,55,33,52,45,41,49,35,28,31 ], - totrot = [ 1, 2, 4, 6, 8,10,12,14,15,17,19,21,23,25,27,28]; - -const z = 0x0; -let a,b,c,d,e,f; -a=1<<16; b=1<<24; c=a|b; d=1<<2; e=1<<10; f=d|e; -const SP1 = [c|e,z|z,a|z,c|f,c|d,a|f,z|d,a|z,z|e,c|e,c|f,z|e,b|f,c|d,b|z,z|d, - z|f,b|e,b|e,a|e,a|e,c|z,c|z,b|f,a|d,b|d,b|d,a|d,z|z,z|f,a|f,b|z, - a|z,c|f,z|d,c|z,c|e,b|z,b|z,z|e,c|d,a|z,a|e,b|d,z|e,z|d,b|f,a|f, - c|f,a|d,c|z,b|f,b|d,z|f,a|f,c|e,z|f,b|e,b|e,z|z,a|d,a|e,z|z,c|d]; -a=1<<20; b=1<<31; c=a|b; d=1<<5; e=1<<15; f=d|e; -const SP2 = [c|f,b|e,z|e,a|f,a|z,z|d,c|d,b|f,b|d,c|f,c|e,b|z,b|e,a|z,z|d,c|d, - a|e,a|d,b|f,z|z,b|z,z|e,a|f,c|z,a|d,b|d,z|z,a|e,z|f,c|e,c|z,z|f, - z|z,a|f,c|d,a|z,b|f,c|z,c|e,z|e,c|z,b|e,z|d,c|f,a|f,z|d,z|e,b|z, - z|f,c|e,a|z,b|d,a|d,b|f,b|d,a|d,a|e,z|z,b|e,z|f,b|z,c|d,c|f,a|e]; -a=1<<17; b=1<<27; c=a|b; d=1<<3; e=1<<9; f=d|e; -const SP3 = [z|f,c|e,z|z,c|d,b|e,z|z,a|f,b|e,a|d,b|d,b|d,a|z,c|f,a|d,c|z,z|f, - b|z,z|d,c|e,z|e,a|e,c|z,c|d,a|f,b|f,a|e,a|z,b|f,z|d,c|f,z|e,b|z, - c|e,b|z,a|d,z|f,a|z,c|e,b|e,z|z,z|e,a|d,c|f,b|e,b|d,z|e,z|z,c|d, - b|f,a|z,b|z,c|f,z|d,a|f,a|e,b|d,c|z,b|f,z|f,c|z,a|f,z|d,c|d,a|e]; -a=1<<13; b=1<<23; c=a|b; d=1<<0; e=1<<7; f=d|e; -const SP4 = [c|d,a|f,a|f,z|e,c|e,b|f,b|d,a|d,z|z,c|z,c|z,c|f,z|f,z|z,b|e,b|d, - z|d,a|z,b|z,c|d,z|e,b|z,a|d,a|e,b|f,z|d,a|e,b|e,a|z,c|e,c|f,z|f, - b|e,b|d,c|z,c|f,z|f,z|z,z|z,c|z,a|e,b|e,b|f,z|d,c|d,a|f,a|f,z|e, - c|f,z|f,z|d,a|z,b|d,a|d,c|e,b|f,a|d,a|e,b|z,c|d,z|e,b|z,a|z,c|e]; -a=1<<25; b=1<<30; c=a|b; d=1<<8; e=1<<19; f=d|e; -const SP5 = [z|d,a|f,a|e,c|d,z|e,z|d,b|z,a|e,b|f,z|e,a|d,b|f,c|d,c|e,z|f,b|z, - a|z,b|e,b|e,z|z,b|d,c|f,c|f,a|d,c|e,b|d,z|z,c|z,a|f,a|z,c|z,z|f, - z|e,c|d,z|d,a|z,b|z,a|e,c|d,b|f,a|d,b|z,c|e,a|f,b|f,z|d,a|z,c|e, - c|f,z|f,c|z,c|f,a|e,z|z,b|e,c|z,z|f,a|d,b|d,z|e,z|z,b|e,a|f,b|d]; -a=1<<22; b=1<<29; c=a|b; d=1<<4; e=1<<14; f=d|e; -const SP6 = [b|d,c|z,z|e,c|f,c|z,z|d,c|f,a|z,b|e,a|f,a|z,b|d,a|d,b|e,b|z,z|f, - z|z,a|d,b|f,z|e,a|e,b|f,z|d,c|d,c|d,z|z,a|f,c|e,z|f,a|e,c|e,b|z, - b|e,z|d,c|d,a|e,c|f,a|z,z|f,b|d,a|z,b|e,b|z,z|f,b|d,c|f,a|e,c|z, - a|f,c|e,z|z,c|d,z|d,z|e,c|z,a|f,z|e,a|d,b|f,z|z,c|e,b|z,a|d,b|f]; -a=1<<21; b=1<<26; c=a|b; d=1<<1; e=1<<11; f=d|e; -const SP7 = [a|z,c|d,b|f,z|z,z|e,b|f,a|f,c|e,c|f,a|z,z|z,b|d,z|d,b|z,c|d,z|f, - b|e,a|f,a|d,b|e,b|d,c|z,c|e,a|d,c|z,z|e,z|f,c|f,a|e,z|d,b|z,a|e, - b|z,a|e,a|z,b|f,b|f,c|d,c|d,z|d,a|d,b|z,b|e,a|z,c|e,z|f,a|f,c|e, - z|f,b|d,c|f,c|z,a|e,z|z,z|d,c|f,z|z,a|f,c|z,z|e,b|d,b|e,z|e,a|d]; -a=1<<18; b=1<<28; c=a|b; d=1<<6; e=1<<12; f=d|e; -const SP8 = [b|f,z|e,a|z,c|f,b|z,b|f,z|d,b|z,a|d,c|z,c|f,a|e,c|e,a|f,z|e,z|d, - c|z,b|d,b|e,z|f,a|e,a|d,c|d,c|e,z|f,z|z,z|z,c|d,b|d,b|e,a|f,a|z, - a|f,a|z,c|e,z|e,z|d,c|d,z|e,a|f,b|e,z|d,b|d,c|z,c|d,b|z,a|z,b|f, - z|z,c|f,a|d,b|d,c|z,b|e,b|f,z|z,c|f,a|e,a|e,z|f,z|f,a|d,b|z,c|e]; - -/* eslint-enable comma-spacing */ - -export default class DES { - constructor(password) { - this.keys = []; - - // Set the key. - const pc1m = [], pcr = [], kn = []; - - for (let j = 0, l = 56; j < 56; ++j, l -= 8) { - l += l < -5 ? 65 : l < -3 ? 31 : l < -1 ? 63 : l === 27 ? 35 : 0; // PC1 - const m = l & 0x7; - pc1m[j] = ((password[l >>> 3] & (1<>> 10; - this.keys[KnLi] |= (raw1 & 0x00000fc0) >>> 6; - ++KnLi; - this.keys[KnLi] = (raw0 & 0x0003f000) << 12; - this.keys[KnLi] |= (raw0 & 0x0000003f) << 16; - this.keys[KnLi] |= (raw1 & 0x0003f000) >>> 4; - this.keys[KnLi] |= (raw1 & 0x0000003f); - ++KnLi; - } - } - - // Encrypt 8 bytes of text - enc8(text) { - const b = text.slice(); - let i = 0, l, r, x; // left, right, accumulator - - // Squash 8 bytes to 2 ints - l = b[i++]<<24 | b[i++]<<16 | b[i++]<<8 | b[i++]; - r = b[i++]<<24 | b[i++]<<16 | b[i++]<<8 | b[i++]; - - x = ((l >>> 4) ^ r) & 0x0f0f0f0f; - r ^= x; - l ^= (x << 4); - x = ((l >>> 16) ^ r) & 0x0000ffff; - r ^= x; - l ^= (x << 16); - x = ((r >>> 2) ^ l) & 0x33333333; - l ^= x; - r ^= (x << 2); - x = ((r >>> 8) ^ l) & 0x00ff00ff; - l ^= x; - r ^= (x << 8); - r = (r << 1) | ((r >>> 31) & 1); - x = (l ^ r) & 0xaaaaaaaa; - l ^= x; - r ^= x; - l = (l << 1) | ((l >>> 31) & 1); - - for (let i = 0, keysi = 0; i < 8; ++i) { - x = (r << 28) | (r >>> 4); - x ^= this.keys[keysi++]; - let fval = SP7[x & 0x3f]; - fval |= SP5[(x >>> 8) & 0x3f]; - fval |= SP3[(x >>> 16) & 0x3f]; - fval |= SP1[(x >>> 24) & 0x3f]; - x = r ^ this.keys[keysi++]; - fval |= SP8[x & 0x3f]; - fval |= SP6[(x >>> 8) & 0x3f]; - fval |= SP4[(x >>> 16) & 0x3f]; - fval |= SP2[(x >>> 24) & 0x3f]; - l ^= fval; - x = (l << 28) | (l >>> 4); - x ^= this.keys[keysi++]; - fval = SP7[x & 0x3f]; - fval |= SP5[(x >>> 8) & 0x3f]; - fval |= SP3[(x >>> 16) & 0x3f]; - fval |= SP1[(x >>> 24) & 0x3f]; - x = l ^ this.keys[keysi++]; - fval |= SP8[x & 0x0000003f]; - fval |= SP6[(x >>> 8) & 0x3f]; - fval |= SP4[(x >>> 16) & 0x3f]; - fval |= SP2[(x >>> 24) & 0x3f]; - r ^= fval; - } - - r = (r << 31) | (r >>> 1); - x = (l ^ r) & 0xaaaaaaaa; - l ^= x; - r ^= x; - l = (l << 31) | (l >>> 1); - x = ((l >>> 8) ^ r) & 0x00ff00ff; - r ^= x; - l ^= (x << 8); - x = ((l >>> 2) ^ r) & 0x33333333; - r ^= x; - l ^= (x << 2); - x = ((r >>> 16) ^ l) & 0x0000ffff; - l ^= x; - r ^= (x << 16); - x = ((r >>> 4) ^ l) & 0x0f0f0f0f; - l ^= x; - r ^= (x << 4); - - // Spread ints to bytes - x = [r, l]; - for (i = 0; i < 8; i++) { - b[i] = (x[i>>>2] >>> (8 * (3 - (i % 4)))) % 256; - if (b[i] < 0) { b[i] += 256; } // unsigned - } - return b; - } - - // Encrypt 16 bytes of text using passwd as key - encrypt(t) { - return this.enc8(t.slice(0, 8)).concat(this.enc8(t.slice(8, 16))); - } -} +/* + * Ported from Flashlight VNC ActionScript implementation: + * http://www.wizhelp.com/flashlight-vnc/ + * + * Full attribution follows: + * + * ------------------------------------------------------------------------- + * + * This DES class has been extracted from package Acme.Crypto for use in VNC. + * The unnecessary odd parity code has been removed. + * + * These changes are: + * Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + + * DesCipher - the DES encryption method + * + * The meat of this code is by Dave Zimmerman , and is: + * + * Copyright (c) 1996 Widget Workshop, Inc. All Rights Reserved. + * + * Permission to use, copy, modify, and distribute this software + * and its documentation for NON-COMMERCIAL or COMMERCIAL purposes and + * without fee is hereby granted, provided that this copyright notice is kept + * intact. + * + * WIDGET WORKSHOP MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY + * OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED + * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A + * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. WIDGET WORKSHOP SHALL NOT BE LIABLE + * FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR + * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. + * + * THIS SOFTWARE IS NOT DESIGNED OR INTENDED FOR USE OR RESALE AS ON-LINE + * CONTROL EQUIPMENT IN HAZARDOUS ENVIRONMENTS REQUIRING FAIL-SAFE + * PERFORMANCE, SUCH AS IN THE OPERATION OF NUCLEAR FACILITIES, AIRCRAFT + * NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL, DIRECT LIFE + * SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH THE FAILURE OF THE + * SOFTWARE COULD LEAD DIRECTLY TO DEATH, PERSONAL INJURY, OR SEVERE + * PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH RISK ACTIVITIES"). WIDGET WORKSHOP + * SPECIFICALLY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR + * HIGH RISK ACTIVITIES. + * + * + * The rest is: + * + * Copyright (C) 1996 by Jef Poskanzer . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * Visit the ACME Labs Java page for up-to-date versions of this and other + * fine Java utilities: http://www.acme.com/java/ + */ + +/* eslint-disable comma-spacing */ + +// Tables, permutations, S-boxes, etc. +const PC2 = [13,16,10,23, 0, 4, 2,27,14, 5,20, 9,22,18,11, 3, + 25, 7,15, 6,26,19,12, 1,40,51,30,36,46,54,29,39, + 50,44,32,47,43,48,38,55,33,52,45,41,49,35,28,31 ], + totrot = [ 1, 2, 4, 6, 8,10,12,14,15,17,19,21,23,25,27,28]; + +const z = 0x0; +let a,b,c,d,e,f; +a=1<<16; b=1<<24; c=a|b; d=1<<2; e=1<<10; f=d|e; +const SP1 = [c|e,z|z,a|z,c|f,c|d,a|f,z|d,a|z,z|e,c|e,c|f,z|e,b|f,c|d,b|z,z|d, + z|f,b|e,b|e,a|e,a|e,c|z,c|z,b|f,a|d,b|d,b|d,a|d,z|z,z|f,a|f,b|z, + a|z,c|f,z|d,c|z,c|e,b|z,b|z,z|e,c|d,a|z,a|e,b|d,z|e,z|d,b|f,a|f, + c|f,a|d,c|z,b|f,b|d,z|f,a|f,c|e,z|f,b|e,b|e,z|z,a|d,a|e,z|z,c|d]; +a=1<<20; b=1<<31; c=a|b; d=1<<5; e=1<<15; f=d|e; +const SP2 = [c|f,b|e,z|e,a|f,a|z,z|d,c|d,b|f,b|d,c|f,c|e,b|z,b|e,a|z,z|d,c|d, + a|e,a|d,b|f,z|z,b|z,z|e,a|f,c|z,a|d,b|d,z|z,a|e,z|f,c|e,c|z,z|f, + z|z,a|f,c|d,a|z,b|f,c|z,c|e,z|e,c|z,b|e,z|d,c|f,a|f,z|d,z|e,b|z, + z|f,c|e,a|z,b|d,a|d,b|f,b|d,a|d,a|e,z|z,b|e,z|f,b|z,c|d,c|f,a|e]; +a=1<<17; b=1<<27; c=a|b; d=1<<3; e=1<<9; f=d|e; +const SP3 = [z|f,c|e,z|z,c|d,b|e,z|z,a|f,b|e,a|d,b|d,b|d,a|z,c|f,a|d,c|z,z|f, + b|z,z|d,c|e,z|e,a|e,c|z,c|d,a|f,b|f,a|e,a|z,b|f,z|d,c|f,z|e,b|z, + c|e,b|z,a|d,z|f,a|z,c|e,b|e,z|z,z|e,a|d,c|f,b|e,b|d,z|e,z|z,c|d, + b|f,a|z,b|z,c|f,z|d,a|f,a|e,b|d,c|z,b|f,z|f,c|z,a|f,z|d,c|d,a|e]; +a=1<<13; b=1<<23; c=a|b; d=1<<0; e=1<<7; f=d|e; +const SP4 = [c|d,a|f,a|f,z|e,c|e,b|f,b|d,a|d,z|z,c|z,c|z,c|f,z|f,z|z,b|e,b|d, + z|d,a|z,b|z,c|d,z|e,b|z,a|d,a|e,b|f,z|d,a|e,b|e,a|z,c|e,c|f,z|f, + b|e,b|d,c|z,c|f,z|f,z|z,z|z,c|z,a|e,b|e,b|f,z|d,c|d,a|f,a|f,z|e, + c|f,z|f,z|d,a|z,b|d,a|d,c|e,b|f,a|d,a|e,b|z,c|d,z|e,b|z,a|z,c|e]; +a=1<<25; b=1<<30; c=a|b; d=1<<8; e=1<<19; f=d|e; +const SP5 = [z|d,a|f,a|e,c|d,z|e,z|d,b|z,a|e,b|f,z|e,a|d,b|f,c|d,c|e,z|f,b|z, + a|z,b|e,b|e,z|z,b|d,c|f,c|f,a|d,c|e,b|d,z|z,c|z,a|f,a|z,c|z,z|f, + z|e,c|d,z|d,a|z,b|z,a|e,c|d,b|f,a|d,b|z,c|e,a|f,b|f,z|d,a|z,c|e, + c|f,z|f,c|z,c|f,a|e,z|z,b|e,c|z,z|f,a|d,b|d,z|e,z|z,b|e,a|f,b|d]; +a=1<<22; b=1<<29; c=a|b; d=1<<4; e=1<<14; f=d|e; +const SP6 = [b|d,c|z,z|e,c|f,c|z,z|d,c|f,a|z,b|e,a|f,a|z,b|d,a|d,b|e,b|z,z|f, + z|z,a|d,b|f,z|e,a|e,b|f,z|d,c|d,c|d,z|z,a|f,c|e,z|f,a|e,c|e,b|z, + b|e,z|d,c|d,a|e,c|f,a|z,z|f,b|d,a|z,b|e,b|z,z|f,b|d,c|f,a|e,c|z, + a|f,c|e,z|z,c|d,z|d,z|e,c|z,a|f,z|e,a|d,b|f,z|z,c|e,b|z,a|d,b|f]; +a=1<<21; b=1<<26; c=a|b; d=1<<1; e=1<<11; f=d|e; +const SP7 = [a|z,c|d,b|f,z|z,z|e,b|f,a|f,c|e,c|f,a|z,z|z,b|d,z|d,b|z,c|d,z|f, + b|e,a|f,a|d,b|e,b|d,c|z,c|e,a|d,c|z,z|e,z|f,c|f,a|e,z|d,b|z,a|e, + b|z,a|e,a|z,b|f,b|f,c|d,c|d,z|d,a|d,b|z,b|e,a|z,c|e,z|f,a|f,c|e, + z|f,b|d,c|f,c|z,a|e,z|z,z|d,c|f,z|z,a|f,c|z,z|e,b|d,b|e,z|e,a|d]; +a=1<<18; b=1<<28; c=a|b; d=1<<6; e=1<<12; f=d|e; +const SP8 = [b|f,z|e,a|z,c|f,b|z,b|f,z|d,b|z,a|d,c|z,c|f,a|e,c|e,a|f,z|e,z|d, + c|z,b|d,b|e,z|f,a|e,a|d,c|d,c|e,z|f,z|z,z|z,c|d,b|d,b|e,a|f,a|z, + a|f,a|z,c|e,z|e,z|d,c|d,z|e,a|f,b|e,z|d,b|d,c|z,c|d,b|z,a|z,b|f, + z|z,c|f,a|d,b|d,c|z,b|e,b|f,z|z,c|f,a|e,a|e,z|f,z|f,a|d,b|z,c|e]; + +/* eslint-enable comma-spacing */ + +export default class DES { + constructor(password) { + this.keys = []; + + // Set the key. + const pc1m = [], pcr = [], kn = []; + + for (let j = 0, l = 56; j < 56; ++j, l -= 8) { + l += l < -5 ? 65 : l < -3 ? 31 : l < -1 ? 63 : l === 27 ? 35 : 0; // PC1 + const m = l & 0x7; + pc1m[j] = ((password[l >>> 3] & (1<>> 10; + this.keys[KnLi] |= (raw1 & 0x00000fc0) >>> 6; + ++KnLi; + this.keys[KnLi] = (raw0 & 0x0003f000) << 12; + this.keys[KnLi] |= (raw0 & 0x0000003f) << 16; + this.keys[KnLi] |= (raw1 & 0x0003f000) >>> 4; + this.keys[KnLi] |= (raw1 & 0x0000003f); + ++KnLi; + } + } + + // Encrypt 8 bytes of text + enc8(text) { + const b = text.slice(); + let i = 0, l, r, x; // left, right, accumulator + + // Squash 8 bytes to 2 ints + l = b[i++]<<24 | b[i++]<<16 | b[i++]<<8 | b[i++]; + r = b[i++]<<24 | b[i++]<<16 | b[i++]<<8 | b[i++]; + + x = ((l >>> 4) ^ r) & 0x0f0f0f0f; + r ^= x; + l ^= (x << 4); + x = ((l >>> 16) ^ r) & 0x0000ffff; + r ^= x; + l ^= (x << 16); + x = ((r >>> 2) ^ l) & 0x33333333; + l ^= x; + r ^= (x << 2); + x = ((r >>> 8) ^ l) & 0x00ff00ff; + l ^= x; + r ^= (x << 8); + r = (r << 1) | ((r >>> 31) & 1); + x = (l ^ r) & 0xaaaaaaaa; + l ^= x; + r ^= x; + l = (l << 1) | ((l >>> 31) & 1); + + for (let i = 0, keysi = 0; i < 8; ++i) { + x = (r << 28) | (r >>> 4); + x ^= this.keys[keysi++]; + let fval = SP7[x & 0x3f]; + fval |= SP5[(x >>> 8) & 0x3f]; + fval |= SP3[(x >>> 16) & 0x3f]; + fval |= SP1[(x >>> 24) & 0x3f]; + x = r ^ this.keys[keysi++]; + fval |= SP8[x & 0x3f]; + fval |= SP6[(x >>> 8) & 0x3f]; + fval |= SP4[(x >>> 16) & 0x3f]; + fval |= SP2[(x >>> 24) & 0x3f]; + l ^= fval; + x = (l << 28) | (l >>> 4); + x ^= this.keys[keysi++]; + fval = SP7[x & 0x3f]; + fval |= SP5[(x >>> 8) & 0x3f]; + fval |= SP3[(x >>> 16) & 0x3f]; + fval |= SP1[(x >>> 24) & 0x3f]; + x = l ^ this.keys[keysi++]; + fval |= SP8[x & 0x0000003f]; + fval |= SP6[(x >>> 8) & 0x3f]; + fval |= SP4[(x >>> 16) & 0x3f]; + fval |= SP2[(x >>> 24) & 0x3f]; + r ^= fval; + } + + r = (r << 31) | (r >>> 1); + x = (l ^ r) & 0xaaaaaaaa; + l ^= x; + r ^= x; + l = (l << 31) | (l >>> 1); + x = ((l >>> 8) ^ r) & 0x00ff00ff; + r ^= x; + l ^= (x << 8); + x = ((l >>> 2) ^ r) & 0x33333333; + r ^= x; + l ^= (x << 2); + x = ((r >>> 16) ^ l) & 0x0000ffff; + l ^= x; + r ^= (x << 16); + x = ((r >>> 4) ^ l) & 0x0f0f0f0f; + l ^= x; + r ^= (x << 4); + + // Spread ints to bytes + x = [r, l]; + for (i = 0; i < 8; i++) { + b[i] = (x[i>>>2] >>> (8 * (3 - (i % 4)))) % 256; + if (b[i] < 0) { b[i] += 256; } // unsigned + } + return b; + } + + // Encrypt 16 bytes of text using passwd as key + encrypt(t) { + return this.enc8(t.slice(0, 8)).concat(this.enc8(t.slice(8, 16))); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/display.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/display.js index 8eaa800..9c2f98b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/display.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/display.js @@ -1,526 +1,526 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -import * as Log from './util/logging.js'; -import Base64 from "./base64.js"; -import { supportsImageMetadata } from './util/browser.js'; -import { toSigned32bit } from './util/int.js'; - -export default class Display { - constructor(target) { - this._drawCtx = null; - - this._renderQ = []; // queue drawing actions for in-oder rendering - this._flushing = false; - - // the full frame buffer (logical canvas) size - this._fbWidth = 0; - this._fbHeight = 0; - - this._prevDrawStyle = ""; - - Log.Debug(">> Display.constructor"); - - // The visible canvas - this._target = target; - - if (!this._target) { - throw new Error("Target must be set"); - } - - if (typeof this._target === 'string') { - throw new Error('target must be a DOM element'); - } - - if (!this._target.getContext) { - throw new Error("no getContext method"); - } - - this._targetCtx = this._target.getContext('2d'); - - // the visible canvas viewport (i.e. what actually gets seen) - this._viewportLoc = { 'x': 0, 'y': 0, 'w': this._target.width, 'h': this._target.height }; - - // The hidden canvas, where we do the actual rendering - this._backbuffer = document.createElement('canvas'); - this._drawCtx = this._backbuffer.getContext('2d'); - - this._damageBounds = { left: 0, top: 0, - right: this._backbuffer.width, - bottom: this._backbuffer.height }; - - Log.Debug("User Agent: " + navigator.userAgent); - - // Check canvas features - if (!('createImageData' in this._drawCtx)) { - throw new Error("Canvas does not support createImageData"); - } - - Log.Debug("<< Display.constructor"); - - // ===== PROPERTIES ===== - - this._scale = 1.0; - this._clipViewport = false; - - // ===== EVENT HANDLERS ===== - - this.onflush = () => {}; // A flush request has finished - } - - // ===== PROPERTIES ===== - - get scale() { return this._scale; } - set scale(scale) { - this._rescale(scale); - } - - get clipViewport() { return this._clipViewport; } - set clipViewport(viewport) { - this._clipViewport = viewport; - // May need to readjust the viewport dimensions - const vp = this._viewportLoc; - this.viewportChangeSize(vp.w, vp.h); - this.viewportChangePos(0, 0); - } - - get width() { - return this._fbWidth; - } - - get height() { - return this._fbHeight; - } - - // ===== PUBLIC METHODS ===== - - viewportChangePos(deltaX, deltaY) { - const vp = this._viewportLoc; - deltaX = Math.floor(deltaX); - deltaY = Math.floor(deltaY); - - if (!this._clipViewport) { - deltaX = -vp.w; // clamped later of out of bounds - deltaY = -vp.h; - } - - const vx2 = vp.x + vp.w - 1; - const vy2 = vp.y + vp.h - 1; - - // Position change - - if (deltaX < 0 && vp.x + deltaX < 0) { - deltaX = -vp.x; - } - if (vx2 + deltaX >= this._fbWidth) { - deltaX -= vx2 + deltaX - this._fbWidth + 1; - } - - if (vp.y + deltaY < 0) { - deltaY = -vp.y; - } - if (vy2 + deltaY >= this._fbHeight) { - deltaY -= (vy2 + deltaY - this._fbHeight + 1); - } - - if (deltaX === 0 && deltaY === 0) { - return; - } - Log.Debug("viewportChange deltaX: " + deltaX + ", deltaY: " + deltaY); - - vp.x += deltaX; - vp.y += deltaY; - - this._damage(vp.x, vp.y, vp.w, vp.h); - - this.flip(); - } - - viewportChangeSize(width, height) { - - if (!this._clipViewport || - typeof(width) === "undefined" || - typeof(height) === "undefined") { - - Log.Debug("Setting viewport to full display region"); - width = this._fbWidth; - height = this._fbHeight; - } - - width = Math.floor(width); - height = Math.floor(height); - - if (width > this._fbWidth) { - width = this._fbWidth; - } - if (height > this._fbHeight) { - height = this._fbHeight; - } - - const vp = this._viewportLoc; - if (vp.w !== width || vp.h !== height) { - vp.w = width; - vp.h = height; - - const canvas = this._target; - canvas.width = width; - canvas.height = height; - - // The position might need to be updated if we've grown - this.viewportChangePos(0, 0); - - this._damage(vp.x, vp.y, vp.w, vp.h); - this.flip(); - - // Update the visible size of the target canvas - this._rescale(this._scale); - } - } - - absX(x) { - if (this._scale === 0) { - return 0; - } - return toSigned32bit(x / this._scale + this._viewportLoc.x); - } - - absY(y) { - if (this._scale === 0) { - return 0; - } - return toSigned32bit(y / this._scale + this._viewportLoc.y); - } - - resize(width, height) { - this._prevDrawStyle = ""; - - this._fbWidth = width; - this._fbHeight = height; - - const canvas = this._backbuffer; - if (canvas.width !== width || canvas.height !== height) { - - // We have to save the canvas data since changing the size will clear it - let saveImg = null; - if (canvas.width > 0 && canvas.height > 0) { - saveImg = this._drawCtx.getImageData(0, 0, canvas.width, canvas.height); - } - - if (canvas.width !== width) { - canvas.width = width; - } - if (canvas.height !== height) { - canvas.height = height; - } - - if (saveImg) { - this._drawCtx.putImageData(saveImg, 0, 0); - } - } - - // Readjust the viewport as it may be incorrectly sized - // and positioned - const vp = this._viewportLoc; - this.viewportChangeSize(vp.w, vp.h); - this.viewportChangePos(0, 0); - } - - // Track what parts of the visible canvas that need updating - _damage(x, y, w, h) { - if (x < this._damageBounds.left) { - this._damageBounds.left = x; - } - if (y < this._damageBounds.top) { - this._damageBounds.top = y; - } - if ((x + w) > this._damageBounds.right) { - this._damageBounds.right = x + w; - } - if ((y + h) > this._damageBounds.bottom) { - this._damageBounds.bottom = y + h; - } - } - - // Update the visible canvas with the contents of the - // rendering canvas - flip(fromQueue) { - if (this._renderQ.length !== 0 && !fromQueue) { - this._renderQPush({ - 'type': 'flip' - }); - } else { - let x = this._damageBounds.left; - let y = this._damageBounds.top; - let w = this._damageBounds.right - x; - let h = this._damageBounds.bottom - y; - - let vx = x - this._viewportLoc.x; - let vy = y - this._viewportLoc.y; - - if (vx < 0) { - w += vx; - x -= vx; - vx = 0; - } - if (vy < 0) { - h += vy; - y -= vy; - vy = 0; - } - - if ((vx + w) > this._viewportLoc.w) { - w = this._viewportLoc.w - vx; - } - if ((vy + h) > this._viewportLoc.h) { - h = this._viewportLoc.h - vy; - } - - if ((w > 0) && (h > 0)) { - // FIXME: We may need to disable image smoothing here - // as well (see copyImage()), but we haven't - // noticed any problem yet. - this._targetCtx.drawImage(this._backbuffer, - x, y, w, h, - vx, vy, w, h); - } - - this._damageBounds.left = this._damageBounds.top = 65535; - this._damageBounds.right = this._damageBounds.bottom = 0; - } - } - - pending() { - return this._renderQ.length > 0; - } - - flush() { - if (this._renderQ.length === 0) { - this.onflush(); - } else { - this._flushing = true; - } - } - - fillRect(x, y, width, height, color, fromQueue) { - if (this._renderQ.length !== 0 && !fromQueue) { - this._renderQPush({ - 'type': 'fill', - 'x': x, - 'y': y, - 'width': width, - 'height': height, - 'color': color - }); - } else { - this._setFillColor(color); - this._drawCtx.fillRect(x, y, width, height); - this._damage(x, y, width, height); - } - } - - copyImage(oldX, oldY, newX, newY, w, h, fromQueue) { - if (this._renderQ.length !== 0 && !fromQueue) { - this._renderQPush({ - 'type': 'copy', - 'oldX': oldX, - 'oldY': oldY, - 'x': newX, - 'y': newY, - 'width': w, - 'height': h, - }); - } else { - // Due to this bug among others [1] we need to disable the image-smoothing to - // avoid getting a blur effect when copying data. - // - // 1. https://bugzilla.mozilla.org/show_bug.cgi?id=1194719 - // - // We need to set these every time since all properties are reset - // when the the size is changed - this._drawCtx.mozImageSmoothingEnabled = false; - this._drawCtx.webkitImageSmoothingEnabled = false; - this._drawCtx.msImageSmoothingEnabled = false; - this._drawCtx.imageSmoothingEnabled = false; - - this._drawCtx.drawImage(this._backbuffer, - oldX, oldY, w, h, - newX, newY, w, h); - this._damage(newX, newY, w, h); - } - } - - imageRect(x, y, width, height, mime, arr) { - /* The internal logic cannot handle empty images, so bail early */ - if ((width === 0) || (height === 0)) { - return; - } - - const img = new Image(); - img.src = "data: " + mime + ";base64," + Base64.encode(arr); - - this._renderQPush({ - 'type': 'img', - 'img': img, - 'x': x, - 'y': y, - 'width': width, - 'height': height - }); - } - - blitImage(x, y, width, height, arr, offset, fromQueue) { - if (this._renderQ.length !== 0 && !fromQueue) { - // NB(directxman12): it's technically more performant here to use preallocated arrays, - // but it's a lot of extra work for not a lot of payoff -- if we're using the render queue, - // this probably isn't getting called *nearly* as much - const newArr = new Uint8Array(width * height * 4); - newArr.set(new Uint8Array(arr.buffer, 0, newArr.length)); - this._renderQPush({ - 'type': 'blit', - 'data': newArr, - 'x': x, - 'y': y, - 'width': width, - 'height': height, - }); - } else { - // NB(directxman12): arr must be an Type Array view - let data = new Uint8ClampedArray(arr.buffer, - arr.byteOffset + offset, - width * height * 4); - let img; - if (supportsImageMetadata) { - img = new ImageData(data, width, height); - } else { - img = this._drawCtx.createImageData(width, height); - img.data.set(data); - } - this._drawCtx.putImageData(img, x, y); - this._damage(x, y, width, height); - } - } - - drawImage(img, x, y) { - this._drawCtx.drawImage(img, x, y); - this._damage(x, y, img.width, img.height); - } - - autoscale(containerWidth, containerHeight) { - let scaleRatio; - - if (containerWidth === 0 || containerHeight === 0) { - scaleRatio = 0; - - } else { - - const vp = this._viewportLoc; - const targetAspectRatio = containerWidth / containerHeight; - const fbAspectRatio = vp.w / vp.h; - - if (fbAspectRatio >= targetAspectRatio) { - scaleRatio = containerWidth / vp.w; - } else { - scaleRatio = containerHeight / vp.h; - } - } - - this._rescale(scaleRatio); - } - - // ===== PRIVATE METHODS ===== - - _rescale(factor) { - this._scale = factor; - const vp = this._viewportLoc; - - // NB(directxman12): If you set the width directly, or set the - // style width to a number, the canvas is cleared. - // However, if you set the style width to a string - // ('NNNpx'), the canvas is scaled without clearing. - const width = factor * vp.w + 'px'; - const height = factor * vp.h + 'px'; - - if ((this._target.style.width !== width) || - (this._target.style.height !== height)) { - this._target.style.width = width; - this._target.style.height = height; - } - } - - _setFillColor(color) { - const newStyle = 'rgb(' + color[0] + ',' + color[1] + ',' + color[2] + ')'; - if (newStyle !== this._prevDrawStyle) { - this._drawCtx.fillStyle = newStyle; - this._prevDrawStyle = newStyle; - } - } - - _renderQPush(action) { - this._renderQ.push(action); - if (this._renderQ.length === 1) { - // If this can be rendered immediately it will be, otherwise - // the scanner will wait for the relevant event - this._scanRenderQ(); - } - } - - _resumeRenderQ() { - // "this" is the object that is ready, not the - // display object - this.removeEventListener('load', this._noVNCDisplay._resumeRenderQ); - this._noVNCDisplay._scanRenderQ(); - } - - _scanRenderQ() { - let ready = true; - while (ready && this._renderQ.length > 0) { - const a = this._renderQ[0]; - switch (a.type) { - case 'flip': - this.flip(true); - break; - case 'copy': - this.copyImage(a.oldX, a.oldY, a.x, a.y, a.width, a.height, true); - break; - case 'fill': - this.fillRect(a.x, a.y, a.width, a.height, a.color, true); - break; - case 'blit': - this.blitImage(a.x, a.y, a.width, a.height, a.data, 0, true); - break; - case 'img': - /* IE tends to set "complete" prematurely, so check dimensions */ - if (a.img.complete && (a.img.width !== 0) && (a.img.height !== 0)) { - if (a.img.width !== a.width || a.img.height !== a.height) { - Log.Error("Decoded image has incorrect dimensions. Got " + - a.img.width + "x" + a.img.height + ". Expected " + - a.width + "x" + a.height + "."); - return; - } - this.drawImage(a.img, a.x, a.y); - } else { - a.img._noVNCDisplay = this; - a.img.addEventListener('load', this._resumeRenderQ); - // We need to wait for this image to 'load' - // to keep things in-order - ready = false; - } - break; - } - - if (ready) { - this._renderQ.shift(); - } - } - - if (this._renderQ.length === 0 && this._flushing) { - this._flushing = false; - this.onflush(); - } - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +import * as Log from './util/logging.js'; +import Base64 from "./base64.js"; +import { supportsImageMetadata } from './util/browser.js'; +import { toSigned32bit } from './util/int.js'; + +export default class Display { + constructor(target) { + this._drawCtx = null; + + this._renderQ = []; // queue drawing actions for in-oder rendering + this._flushing = false; + + // the full frame buffer (logical canvas) size + this._fbWidth = 0; + this._fbHeight = 0; + + this._prevDrawStyle = ""; + + Log.Debug(">> Display.constructor"); + + // The visible canvas + this._target = target; + + if (!this._target) { + throw new Error("Target must be set"); + } + + if (typeof this._target === 'string') { + throw new Error('target must be a DOM element'); + } + + if (!this._target.getContext) { + throw new Error("no getContext method"); + } + + this._targetCtx = this._target.getContext('2d'); + + // the visible canvas viewport (i.e. what actually gets seen) + this._viewportLoc = { 'x': 0, 'y': 0, 'w': this._target.width, 'h': this._target.height }; + + // The hidden canvas, where we do the actual rendering + this._backbuffer = document.createElement('canvas'); + this._drawCtx = this._backbuffer.getContext('2d'); + + this._damageBounds = { left: 0, top: 0, + right: this._backbuffer.width, + bottom: this._backbuffer.height }; + + Log.Debug("User Agent: " + navigator.userAgent); + + // Check canvas features + if (!('createImageData' in this._drawCtx)) { + throw new Error("Canvas does not support createImageData"); + } + + Log.Debug("<< Display.constructor"); + + // ===== PROPERTIES ===== + + this._scale = 1.0; + this._clipViewport = false; + + // ===== EVENT HANDLERS ===== + + this.onflush = () => {}; // A flush request has finished + } + + // ===== PROPERTIES ===== + + get scale() { return this._scale; } + set scale(scale) { + this._rescale(scale); + } + + get clipViewport() { return this._clipViewport; } + set clipViewport(viewport) { + this._clipViewport = viewport; + // May need to readjust the viewport dimensions + const vp = this._viewportLoc; + this.viewportChangeSize(vp.w, vp.h); + this.viewportChangePos(0, 0); + } + + get width() { + return this._fbWidth; + } + + get height() { + return this._fbHeight; + } + + // ===== PUBLIC METHODS ===== + + viewportChangePos(deltaX, deltaY) { + const vp = this._viewportLoc; + deltaX = Math.floor(deltaX); + deltaY = Math.floor(deltaY); + + if (!this._clipViewport) { + deltaX = -vp.w; // clamped later of out of bounds + deltaY = -vp.h; + } + + const vx2 = vp.x + vp.w - 1; + const vy2 = vp.y + vp.h - 1; + + // Position change + + if (deltaX < 0 && vp.x + deltaX < 0) { + deltaX = -vp.x; + } + if (vx2 + deltaX >= this._fbWidth) { + deltaX -= vx2 + deltaX - this._fbWidth + 1; + } + + if (vp.y + deltaY < 0) { + deltaY = -vp.y; + } + if (vy2 + deltaY >= this._fbHeight) { + deltaY -= (vy2 + deltaY - this._fbHeight + 1); + } + + if (deltaX === 0 && deltaY === 0) { + return; + } + Log.Debug("viewportChange deltaX: " + deltaX + ", deltaY: " + deltaY); + + vp.x += deltaX; + vp.y += deltaY; + + this._damage(vp.x, vp.y, vp.w, vp.h); + + this.flip(); + } + + viewportChangeSize(width, height) { + + if (!this._clipViewport || + typeof(width) === "undefined" || + typeof(height) === "undefined") { + + Log.Debug("Setting viewport to full display region"); + width = this._fbWidth; + height = this._fbHeight; + } + + width = Math.floor(width); + height = Math.floor(height); + + if (width > this._fbWidth) { + width = this._fbWidth; + } + if (height > this._fbHeight) { + height = this._fbHeight; + } + + const vp = this._viewportLoc; + if (vp.w !== width || vp.h !== height) { + vp.w = width; + vp.h = height; + + const canvas = this._target; + canvas.width = width; + canvas.height = height; + + // The position might need to be updated if we've grown + this.viewportChangePos(0, 0); + + this._damage(vp.x, vp.y, vp.w, vp.h); + this.flip(); + + // Update the visible size of the target canvas + this._rescale(this._scale); + } + } + + absX(x) { + if (this._scale === 0) { + return 0; + } + return toSigned32bit(x / this._scale + this._viewportLoc.x); + } + + absY(y) { + if (this._scale === 0) { + return 0; + } + return toSigned32bit(y / this._scale + this._viewportLoc.y); + } + + resize(width, height) { + this._prevDrawStyle = ""; + + this._fbWidth = width; + this._fbHeight = height; + + const canvas = this._backbuffer; + if (canvas.width !== width || canvas.height !== height) { + + // We have to save the canvas data since changing the size will clear it + let saveImg = null; + if (canvas.width > 0 && canvas.height > 0) { + saveImg = this._drawCtx.getImageData(0, 0, canvas.width, canvas.height); + } + + if (canvas.width !== width) { + canvas.width = width; + } + if (canvas.height !== height) { + canvas.height = height; + } + + if (saveImg) { + this._drawCtx.putImageData(saveImg, 0, 0); + } + } + + // Readjust the viewport as it may be incorrectly sized + // and positioned + const vp = this._viewportLoc; + this.viewportChangeSize(vp.w, vp.h); + this.viewportChangePos(0, 0); + } + + // Track what parts of the visible canvas that need updating + _damage(x, y, w, h) { + if (x < this._damageBounds.left) { + this._damageBounds.left = x; + } + if (y < this._damageBounds.top) { + this._damageBounds.top = y; + } + if ((x + w) > this._damageBounds.right) { + this._damageBounds.right = x + w; + } + if ((y + h) > this._damageBounds.bottom) { + this._damageBounds.bottom = y + h; + } + } + + // Update the visible canvas with the contents of the + // rendering canvas + flip(fromQueue) { + if (this._renderQ.length !== 0 && !fromQueue) { + this._renderQPush({ + 'type': 'flip' + }); + } else { + let x = this._damageBounds.left; + let y = this._damageBounds.top; + let w = this._damageBounds.right - x; + let h = this._damageBounds.bottom - y; + + let vx = x - this._viewportLoc.x; + let vy = y - this._viewportLoc.y; + + if (vx < 0) { + w += vx; + x -= vx; + vx = 0; + } + if (vy < 0) { + h += vy; + y -= vy; + vy = 0; + } + + if ((vx + w) > this._viewportLoc.w) { + w = this._viewportLoc.w - vx; + } + if ((vy + h) > this._viewportLoc.h) { + h = this._viewportLoc.h - vy; + } + + if ((w > 0) && (h > 0)) { + // FIXME: We may need to disable image smoothing here + // as well (see copyImage()), but we haven't + // noticed any problem yet. + this._targetCtx.drawImage(this._backbuffer, + x, y, w, h, + vx, vy, w, h); + } + + this._damageBounds.left = this._damageBounds.top = 65535; + this._damageBounds.right = this._damageBounds.bottom = 0; + } + } + + pending() { + return this._renderQ.length > 0; + } + + flush() { + if (this._renderQ.length === 0) { + this.onflush(); + } else { + this._flushing = true; + } + } + + fillRect(x, y, width, height, color, fromQueue) { + if (this._renderQ.length !== 0 && !fromQueue) { + this._renderQPush({ + 'type': 'fill', + 'x': x, + 'y': y, + 'width': width, + 'height': height, + 'color': color + }); + } else { + this._setFillColor(color); + this._drawCtx.fillRect(x, y, width, height); + this._damage(x, y, width, height); + } + } + + copyImage(oldX, oldY, newX, newY, w, h, fromQueue) { + if (this._renderQ.length !== 0 && !fromQueue) { + this._renderQPush({ + 'type': 'copy', + 'oldX': oldX, + 'oldY': oldY, + 'x': newX, + 'y': newY, + 'width': w, + 'height': h, + }); + } else { + // Due to this bug among others [1] we need to disable the image-smoothing to + // avoid getting a blur effect when copying data. + // + // 1. https://bugzilla.mozilla.org/show_bug.cgi?id=1194719 + // + // We need to set these every time since all properties are reset + // when the the size is changed + this._drawCtx.mozImageSmoothingEnabled = false; + this._drawCtx.webkitImageSmoothingEnabled = false; + this._drawCtx.msImageSmoothingEnabled = false; + this._drawCtx.imageSmoothingEnabled = false; + + this._drawCtx.drawImage(this._backbuffer, + oldX, oldY, w, h, + newX, newY, w, h); + this._damage(newX, newY, w, h); + } + } + + imageRect(x, y, width, height, mime, arr) { + /* The internal logic cannot handle empty images, so bail early */ + if ((width === 0) || (height === 0)) { + return; + } + + const img = new Image(); + img.src = "data: " + mime + ";base64," + Base64.encode(arr); + + this._renderQPush({ + 'type': 'img', + 'img': img, + 'x': x, + 'y': y, + 'width': width, + 'height': height + }); + } + + blitImage(x, y, width, height, arr, offset, fromQueue) { + if (this._renderQ.length !== 0 && !fromQueue) { + // NB(directxman12): it's technically more performant here to use preallocated arrays, + // but it's a lot of extra work for not a lot of payoff -- if we're using the render queue, + // this probably isn't getting called *nearly* as much + const newArr = new Uint8Array(width * height * 4); + newArr.set(new Uint8Array(arr.buffer, 0, newArr.length)); + this._renderQPush({ + 'type': 'blit', + 'data': newArr, + 'x': x, + 'y': y, + 'width': width, + 'height': height, + }); + } else { + // NB(directxman12): arr must be an Type Array view + let data = new Uint8ClampedArray(arr.buffer, + arr.byteOffset + offset, + width * height * 4); + let img; + if (supportsImageMetadata) { + img = new ImageData(data, width, height); + } else { + img = this._drawCtx.createImageData(width, height); + img.data.set(data); + } + this._drawCtx.putImageData(img, x, y); + this._damage(x, y, width, height); + } + } + + drawImage(img, x, y) { + this._drawCtx.drawImage(img, x, y); + this._damage(x, y, img.width, img.height); + } + + autoscale(containerWidth, containerHeight) { + let scaleRatio; + + if (containerWidth === 0 || containerHeight === 0) { + scaleRatio = 0; + + } else { + + const vp = this._viewportLoc; + const targetAspectRatio = containerWidth / containerHeight; + const fbAspectRatio = vp.w / vp.h; + + if (fbAspectRatio >= targetAspectRatio) { + scaleRatio = containerWidth / vp.w; + } else { + scaleRatio = containerHeight / vp.h; + } + } + + this._rescale(scaleRatio); + } + + // ===== PRIVATE METHODS ===== + + _rescale(factor) { + this._scale = factor; + const vp = this._viewportLoc; + + // NB(directxman12): If you set the width directly, or set the + // style width to a number, the canvas is cleared. + // However, if you set the style width to a string + // ('NNNpx'), the canvas is scaled without clearing. + const width = factor * vp.w + 'px'; + const height = factor * vp.h + 'px'; + + if ((this._target.style.width !== width) || + (this._target.style.height !== height)) { + this._target.style.width = width; + this._target.style.height = height; + } + } + + _setFillColor(color) { + const newStyle = 'rgb(' + color[0] + ',' + color[1] + ',' + color[2] + ')'; + if (newStyle !== this._prevDrawStyle) { + this._drawCtx.fillStyle = newStyle; + this._prevDrawStyle = newStyle; + } + } + + _renderQPush(action) { + this._renderQ.push(action); + if (this._renderQ.length === 1) { + // If this can be rendered immediately it will be, otherwise + // the scanner will wait for the relevant event + this._scanRenderQ(); + } + } + + _resumeRenderQ() { + // "this" is the object that is ready, not the + // display object + this.removeEventListener('load', this._noVNCDisplay._resumeRenderQ); + this._noVNCDisplay._scanRenderQ(); + } + + _scanRenderQ() { + let ready = true; + while (ready && this._renderQ.length > 0) { + const a = this._renderQ[0]; + switch (a.type) { + case 'flip': + this.flip(true); + break; + case 'copy': + this.copyImage(a.oldX, a.oldY, a.x, a.y, a.width, a.height, true); + break; + case 'fill': + this.fillRect(a.x, a.y, a.width, a.height, a.color, true); + break; + case 'blit': + this.blitImage(a.x, a.y, a.width, a.height, a.data, 0, true); + break; + case 'img': + /* IE tends to set "complete" prematurely, so check dimensions */ + if (a.img.complete && (a.img.width !== 0) && (a.img.height !== 0)) { + if (a.img.width !== a.width || a.img.height !== a.height) { + Log.Error("Decoded image has incorrect dimensions. Got " + + a.img.width + "x" + a.img.height + ". Expected " + + a.width + "x" + a.height + "."); + return; + } + this.drawImage(a.img, a.x, a.y); + } else { + a.img._noVNCDisplay = this; + a.img.addEventListener('load', this._resumeRenderQ); + // We need to wait for this image to 'load' + // to keep things in-order + ready = false; + } + break; + } + + if (ready) { + this._renderQ.shift(); + } + } + + if (this._renderQ.length === 0 && this._flushing) { + this._flushing = false; + this.onflush(); + } + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/encodings.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/encodings.js index 51c0992..bd7fea7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/encodings.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/encodings.js @@ -1,44 +1,44 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -export const encodings = { - encodingRaw: 0, - encodingCopyRect: 1, - encodingRRE: 2, - encodingHextile: 5, - encodingTight: 7, - encodingTightPNG: -260, - - pseudoEncodingQualityLevel9: -23, - pseudoEncodingQualityLevel0: -32, - pseudoEncodingDesktopSize: -223, - pseudoEncodingLastRect: -224, - pseudoEncodingCursor: -239, - pseudoEncodingQEMUExtendedKeyEvent: -258, - pseudoEncodingDesktopName: -307, - pseudoEncodingExtendedDesktopSize: -308, - pseudoEncodingXvp: -309, - pseudoEncodingFence: -312, - pseudoEncodingContinuousUpdates: -313, - pseudoEncodingCompressLevel9: -247, - pseudoEncodingCompressLevel0: -256, - pseudoEncodingVMwareCursor: 0x574d5664, - pseudoEncodingExtendedClipboard: 0xc0a1e5ce -}; - -export function encodingName(num) { - switch (num) { - case encodings.encodingRaw: return "Raw"; - case encodings.encodingCopyRect: return "CopyRect"; - case encodings.encodingRRE: return "RRE"; - case encodings.encodingHextile: return "Hextile"; - case encodings.encodingTight: return "Tight"; - case encodings.encodingTightPNG: return "TightPNG"; - default: return "[unknown encoding " + num + "]"; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +export const encodings = { + encodingRaw: 0, + encodingCopyRect: 1, + encodingRRE: 2, + encodingHextile: 5, + encodingTight: 7, + encodingTightPNG: -260, + + pseudoEncodingQualityLevel9: -23, + pseudoEncodingQualityLevel0: -32, + pseudoEncodingDesktopSize: -223, + pseudoEncodingLastRect: -224, + pseudoEncodingCursor: -239, + pseudoEncodingQEMUExtendedKeyEvent: -258, + pseudoEncodingDesktopName: -307, + pseudoEncodingExtendedDesktopSize: -308, + pseudoEncodingXvp: -309, + pseudoEncodingFence: -312, + pseudoEncodingContinuousUpdates: -313, + pseudoEncodingCompressLevel9: -247, + pseudoEncodingCompressLevel0: -256, + pseudoEncodingVMwareCursor: 0x574d5664, + pseudoEncodingExtendedClipboard: 0xc0a1e5ce +}; + +export function encodingName(num) { + switch (num) { + case encodings.encodingRaw: return "Raw"; + case encodings.encodingCopyRect: return "CopyRect"; + case encodings.encodingRRE: return "RRE"; + case encodings.encodingHextile: return "Hextile"; + case encodings.encodingTight: return "Tight"; + case encodings.encodingTightPNG: return "TightPNG"; + default: return "[unknown encoding " + num + "]"; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/inflator.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/inflator.js index 4b33760..5c4ddb7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/inflator.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/inflator.js @@ -1,66 +1,66 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -import { inflateInit, inflate, inflateReset } from "../vendor/pako/lib/zlib/inflate.js"; -import ZStream from "../vendor/pako/lib/zlib/zstream.js"; - -export default class Inflate { - constructor() { - this.strm = new ZStream(); - this.chunkSize = 1024 * 10 * 10; - this.strm.output = new Uint8Array(this.chunkSize); - this.windowBits = 5; - - inflateInit(this.strm, this.windowBits); - } - - setInput(data) { - if (!data) { - //FIXME: flush remaining data. - /* eslint-disable camelcase */ - this.strm.input = null; - this.strm.avail_in = 0; - this.strm.next_in = 0; - } else { - this.strm.input = data; - this.strm.avail_in = this.strm.input.length; - this.strm.next_in = 0; - /* eslint-enable camelcase */ - } - } - - inflate(expected) { - // resize our output buffer if it's too small - // (we could just use multiple chunks, but that would cause an extra - // allocation each time to flatten the chunks) - if (expected > this.chunkSize) { - this.chunkSize = expected; - this.strm.output = new Uint8Array(this.chunkSize); - } - - /* eslint-disable camelcase */ - this.strm.next_out = 0; - this.strm.avail_out = expected; - /* eslint-enable camelcase */ - - let ret = inflate(this.strm, 0); // Flush argument not used. - if (ret < 0) { - throw new Error("zlib inflate failed"); - } - - if (this.strm.next_out != expected) { - throw new Error("Incomplete zlib block"); - } - - return new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); - } - - reset() { - inflateReset(this.strm); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +import { inflateInit, inflate, inflateReset } from "../vendor/pako/lib/zlib/inflate.js"; +import ZStream from "../vendor/pako/lib/zlib/zstream.js"; + +export default class Inflate { + constructor() { + this.strm = new ZStream(); + this.chunkSize = 1024 * 10 * 10; + this.strm.output = new Uint8Array(this.chunkSize); + this.windowBits = 5; + + inflateInit(this.strm, this.windowBits); + } + + setInput(data) { + if (!data) { + //FIXME: flush remaining data. + /* eslint-disable camelcase */ + this.strm.input = null; + this.strm.avail_in = 0; + this.strm.next_in = 0; + } else { + this.strm.input = data; + this.strm.avail_in = this.strm.input.length; + this.strm.next_in = 0; + /* eslint-enable camelcase */ + } + } + + inflate(expected) { + // resize our output buffer if it's too small + // (we could just use multiple chunks, but that would cause an extra + // allocation each time to flatten the chunks) + if (expected > this.chunkSize) { + this.chunkSize = expected; + this.strm.output = new Uint8Array(this.chunkSize); + } + + /* eslint-disable camelcase */ + this.strm.next_out = 0; + this.strm.avail_out = expected; + /* eslint-enable camelcase */ + + let ret = inflate(this.strm, 0); // Flush argument not used. + if (ret < 0) { + throw new Error("zlib inflate failed"); + } + + if (this.strm.next_out != expected) { + throw new Error("Incomplete zlib block"); + } + + return new Uint8Array(this.strm.output.buffer, 0, this.strm.next_out); + } + + reset() { + inflateReset(this.strm); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/domkeytable.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/domkeytable.js index b84ad45..5b83df8 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/domkeytable.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/domkeytable.js @@ -1,307 +1,307 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -import KeyTable from "./keysym.js"; - -/* - * Mapping between HTML key values and VNC/X11 keysyms for "special" - * keys that cannot be handled via their Unicode codepoint. - * - * See https://www.w3.org/TR/uievents-key/ for possible values. - */ - -const DOMKeyTable = {}; - -function addStandard(key, standard) { - if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); - if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); - DOMKeyTable[key] = [standard, standard, standard, standard]; -} - -function addLeftRight(key, left, right) { - if (left === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); - if (right === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); - if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); - DOMKeyTable[key] = [left, left, right, left]; -} - -function addNumpad(key, standard, numpad) { - if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); - if (numpad === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); - if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); - DOMKeyTable[key] = [standard, standard, standard, numpad]; -} - -// 2.2. Modifier Keys - -addLeftRight("Alt", KeyTable.XK_Alt_L, KeyTable.XK_Alt_R); -addStandard("AltGraph", KeyTable.XK_ISO_Level3_Shift); -addStandard("CapsLock", KeyTable.XK_Caps_Lock); -addLeftRight("Control", KeyTable.XK_Control_L, KeyTable.XK_Control_R); -// - Fn -// - FnLock -addLeftRight("Meta", KeyTable.XK_Super_L, KeyTable.XK_Super_R); -addStandard("NumLock", KeyTable.XK_Num_Lock); -addStandard("ScrollLock", KeyTable.XK_Scroll_Lock); -addLeftRight("Shift", KeyTable.XK_Shift_L, KeyTable.XK_Shift_R); -// - Symbol -// - SymbolLock - -// 2.3. Whitespace Keys - -addNumpad("Enter", KeyTable.XK_Return, KeyTable.XK_KP_Enter); -addStandard("Tab", KeyTable.XK_Tab); -addNumpad(" ", KeyTable.XK_space, KeyTable.XK_KP_Space); - -// 2.4. Navigation Keys - -addNumpad("ArrowDown", KeyTable.XK_Down, KeyTable.XK_KP_Down); -addNumpad("ArrowUp", KeyTable.XK_Up, KeyTable.XK_KP_Up); -addNumpad("ArrowLeft", KeyTable.XK_Left, KeyTable.XK_KP_Left); -addNumpad("ArrowRight", KeyTable.XK_Right, KeyTable.XK_KP_Right); -addNumpad("End", KeyTable.XK_End, KeyTable.XK_KP_End); -addNumpad("Home", KeyTable.XK_Home, KeyTable.XK_KP_Home); -addNumpad("PageDown", KeyTable.XK_Next, KeyTable.XK_KP_Next); -addNumpad("PageUp", KeyTable.XK_Prior, KeyTable.XK_KP_Prior); - -// 2.5. Editing Keys - -addStandard("Backspace", KeyTable.XK_BackSpace); -// Browsers send "Clear" for the numpad 5 without NumLock because -// Windows uses VK_Clear for that key. But Unix expects KP_Begin for -// that scenario. -addNumpad("Clear", KeyTable.XK_Clear, KeyTable.XK_KP_Begin); -addStandard("Copy", KeyTable.XF86XK_Copy); -// - CrSel -addStandard("Cut", KeyTable.XF86XK_Cut); -addNumpad("Delete", KeyTable.XK_Delete, KeyTable.XK_KP_Delete); -// - EraseEof -// - ExSel -addNumpad("Insert", KeyTable.XK_Insert, KeyTable.XK_KP_Insert); -addStandard("Paste", KeyTable.XF86XK_Paste); -addStandard("Redo", KeyTable.XK_Redo); -addStandard("Undo", KeyTable.XK_Undo); - -// 2.6. UI Keys - -// - Accept -// - Again (could just be XK_Redo) -// - Attn -addStandard("Cancel", KeyTable.XK_Cancel); -addStandard("ContextMenu", KeyTable.XK_Menu); -addStandard("Escape", KeyTable.XK_Escape); -addStandard("Execute", KeyTable.XK_Execute); -addStandard("Find", KeyTable.XK_Find); -addStandard("Help", KeyTable.XK_Help); -addStandard("Pause", KeyTable.XK_Pause); -// - Play -// - Props -addStandard("Select", KeyTable.XK_Select); -addStandard("ZoomIn", KeyTable.XF86XK_ZoomIn); -addStandard("ZoomOut", KeyTable.XF86XK_ZoomOut); - -// 2.7. Device Keys - -addStandard("BrightnessDown", KeyTable.XF86XK_MonBrightnessDown); -addStandard("BrightnessUp", KeyTable.XF86XK_MonBrightnessUp); -addStandard("Eject", KeyTable.XF86XK_Eject); -addStandard("LogOff", KeyTable.XF86XK_LogOff); -addStandard("Power", KeyTable.XF86XK_PowerOff); -addStandard("PowerOff", KeyTable.XF86XK_PowerDown); -addStandard("PrintScreen", KeyTable.XK_Print); -addStandard("Hibernate", KeyTable.XF86XK_Hibernate); -addStandard("Standby", KeyTable.XF86XK_Standby); -addStandard("WakeUp", KeyTable.XF86XK_WakeUp); - -// 2.8. IME and Composition Keys - -addStandard("AllCandidates", KeyTable.XK_MultipleCandidate); -addStandard("Alphanumeric", KeyTable.XK_Eisu_Shift); // could also be _Eisu_Toggle -addStandard("CodeInput", KeyTable.XK_Codeinput); -addStandard("Compose", KeyTable.XK_Multi_key); -addStandard("Convert", KeyTable.XK_Henkan); -// - Dead -// - FinalMode -addStandard("GroupFirst", KeyTable.XK_ISO_First_Group); -addStandard("GroupLast", KeyTable.XK_ISO_Last_Group); -addStandard("GroupNext", KeyTable.XK_ISO_Next_Group); -addStandard("GroupPrevious", KeyTable.XK_ISO_Prev_Group); -// - ModeChange (XK_Mode_switch is often used for AltGr) -// - NextCandidate -addStandard("NonConvert", KeyTable.XK_Muhenkan); -addStandard("PreviousCandidate", KeyTable.XK_PreviousCandidate); -// - Process -addStandard("SingleCandidate", KeyTable.XK_SingleCandidate); -addStandard("HangulMode", KeyTable.XK_Hangul); -addStandard("HanjaMode", KeyTable.XK_Hangul_Hanja); -addStandard("JunjuaMode", KeyTable.XK_Hangul_Jeonja); -addStandard("Eisu", KeyTable.XK_Eisu_toggle); -addStandard("Hankaku", KeyTable.XK_Hankaku); -addStandard("Hiragana", KeyTable.XK_Hiragana); -addStandard("HiraganaKatakana", KeyTable.XK_Hiragana_Katakana); -addStandard("KanaMode", KeyTable.XK_Kana_Shift); // could also be _Kana_Lock -addStandard("KanjiMode", KeyTable.XK_Kanji); -addStandard("Katakana", KeyTable.XK_Katakana); -addStandard("Romaji", KeyTable.XK_Romaji); -addStandard("Zenkaku", KeyTable.XK_Zenkaku); -addStandard("ZenkakuHanaku", KeyTable.XK_Zenkaku_Hankaku); - -// 2.9. General-Purpose Function Keys - -addStandard("F1", KeyTable.XK_F1); -addStandard("F2", KeyTable.XK_F2); -addStandard("F3", KeyTable.XK_F3); -addStandard("F4", KeyTable.XK_F4); -addStandard("F5", KeyTable.XK_F5); -addStandard("F6", KeyTable.XK_F6); -addStandard("F7", KeyTable.XK_F7); -addStandard("F8", KeyTable.XK_F8); -addStandard("F9", KeyTable.XK_F9); -addStandard("F10", KeyTable.XK_F10); -addStandard("F11", KeyTable.XK_F11); -addStandard("F12", KeyTable.XK_F12); -addStandard("F13", KeyTable.XK_F13); -addStandard("F14", KeyTable.XK_F14); -addStandard("F15", KeyTable.XK_F15); -addStandard("F16", KeyTable.XK_F16); -addStandard("F17", KeyTable.XK_F17); -addStandard("F18", KeyTable.XK_F18); -addStandard("F19", KeyTable.XK_F19); -addStandard("F20", KeyTable.XK_F20); -addStandard("F21", KeyTable.XK_F21); -addStandard("F22", KeyTable.XK_F22); -addStandard("F23", KeyTable.XK_F23); -addStandard("F24", KeyTable.XK_F24); -addStandard("F25", KeyTable.XK_F25); -addStandard("F26", KeyTable.XK_F26); -addStandard("F27", KeyTable.XK_F27); -addStandard("F28", KeyTable.XK_F28); -addStandard("F29", KeyTable.XK_F29); -addStandard("F30", KeyTable.XK_F30); -addStandard("F31", KeyTable.XK_F31); -addStandard("F32", KeyTable.XK_F32); -addStandard("F33", KeyTable.XK_F33); -addStandard("F34", KeyTable.XK_F34); -addStandard("F35", KeyTable.XK_F35); -// - Soft1... - -// 2.10. Multimedia Keys - -// - ChannelDown -// - ChannelUp -addStandard("Close", KeyTable.XF86XK_Close); -addStandard("MailForward", KeyTable.XF86XK_MailForward); -addStandard("MailReply", KeyTable.XF86XK_Reply); -addStandard("MailSend", KeyTable.XF86XK_Send); -// - MediaClose -addStandard("MediaFastForward", KeyTable.XF86XK_AudioForward); -addStandard("MediaPause", KeyTable.XF86XK_AudioPause); -addStandard("MediaPlay", KeyTable.XF86XK_AudioPlay); -addStandard("MediaRecord", KeyTable.XF86XK_AudioRecord); -addStandard("MediaRewind", KeyTable.XF86XK_AudioRewind); -addStandard("MediaStop", KeyTable.XF86XK_AudioStop); -addStandard("MediaTrackNext", KeyTable.XF86XK_AudioNext); -addStandard("MediaTrackPrevious", KeyTable.XF86XK_AudioPrev); -addStandard("New", KeyTable.XF86XK_New); -addStandard("Open", KeyTable.XF86XK_Open); -addStandard("Print", KeyTable.XK_Print); -addStandard("Save", KeyTable.XF86XK_Save); -addStandard("SpellCheck", KeyTable.XF86XK_Spell); - -// 2.11. Multimedia Numpad Keys - -// - Key11 -// - Key12 - -// 2.12. Audio Keys - -// - AudioBalanceLeft -// - AudioBalanceRight -// - AudioBassBoostDown -// - AudioBassBoostToggle -// - AudioBassBoostUp -// - AudioFaderFront -// - AudioFaderRear -// - AudioSurroundModeNext -// - AudioTrebleDown -// - AudioTrebleUp -addStandard("AudioVolumeDown", KeyTable.XF86XK_AudioLowerVolume); -addStandard("AudioVolumeUp", KeyTable.XF86XK_AudioRaiseVolume); -addStandard("AudioVolumeMute", KeyTable.XF86XK_AudioMute); -// - MicrophoneToggle -// - MicrophoneVolumeDown -// - MicrophoneVolumeUp -addStandard("MicrophoneVolumeMute", KeyTable.XF86XK_AudioMicMute); - -// 2.13. Speech Keys - -// - SpeechCorrectionList -// - SpeechInputToggle - -// 2.14. Application Keys - -addStandard("LaunchApplication1", KeyTable.XF86XK_MyComputer); -addStandard("LaunchApplication2", KeyTable.XF86XK_Calculator); -addStandard("LaunchCalendar", KeyTable.XF86XK_Calendar); -addStandard("LaunchMail", KeyTable.XF86XK_Mail); -addStandard("LaunchMediaPlayer", KeyTable.XF86XK_AudioMedia); -addStandard("LaunchMusicPlayer", KeyTable.XF86XK_Music); -addStandard("LaunchPhone", KeyTable.XF86XK_Phone); -addStandard("LaunchScreenSaver", KeyTable.XF86XK_ScreenSaver); -addStandard("LaunchSpreadsheet", KeyTable.XF86XK_Excel); -addStandard("LaunchWebBrowser", KeyTable.XF86XK_WWW); -addStandard("LaunchWebCam", KeyTable.XF86XK_WebCam); -addStandard("LaunchWordProcessor", KeyTable.XF86XK_Word); - -// 2.15. Browser Keys - -addStandard("BrowserBack", KeyTable.XF86XK_Back); -addStandard("BrowserFavorites", KeyTable.XF86XK_Favorites); -addStandard("BrowserForward", KeyTable.XF86XK_Forward); -addStandard("BrowserHome", KeyTable.XF86XK_HomePage); -addStandard("BrowserRefresh", KeyTable.XF86XK_Refresh); -addStandard("BrowserSearch", KeyTable.XF86XK_Search); -addStandard("BrowserStop", KeyTable.XF86XK_Stop); - -// 2.16. Mobile Phone Keys - -// - A whole bunch... - -// 2.17. TV Keys - -// - A whole bunch... - -// 2.18. Media Controller Keys - -// - A whole bunch... -addStandard("Dimmer", KeyTable.XF86XK_BrightnessAdjust); -addStandard("MediaAudioTrack", KeyTable.XF86XK_AudioCycleTrack); -addStandard("RandomToggle", KeyTable.XF86XK_AudioRandomPlay); -addStandard("SplitScreenToggle", KeyTable.XF86XK_SplitScreen); -addStandard("Subtitle", KeyTable.XF86XK_Subtitle); -addStandard("VideoModeNext", KeyTable.XF86XK_Next_VMode); - -// Extra: Numpad - -addNumpad("=", KeyTable.XK_equal, KeyTable.XK_KP_Equal); -addNumpad("+", KeyTable.XK_plus, KeyTable.XK_KP_Add); -addNumpad("-", KeyTable.XK_minus, KeyTable.XK_KP_Subtract); -addNumpad("*", KeyTable.XK_asterisk, KeyTable.XK_KP_Multiply); -addNumpad("/", KeyTable.XK_slash, KeyTable.XK_KP_Divide); -addNumpad(".", KeyTable.XK_period, KeyTable.XK_KP_Decimal); -addNumpad(",", KeyTable.XK_comma, KeyTable.XK_KP_Separator); -addNumpad("0", KeyTable.XK_0, KeyTable.XK_KP_0); -addNumpad("1", KeyTable.XK_1, KeyTable.XK_KP_1); -addNumpad("2", KeyTable.XK_2, KeyTable.XK_KP_2); -addNumpad("3", KeyTable.XK_3, KeyTable.XK_KP_3); -addNumpad("4", KeyTable.XK_4, KeyTable.XK_KP_4); -addNumpad("5", KeyTable.XK_5, KeyTable.XK_KP_5); -addNumpad("6", KeyTable.XK_6, KeyTable.XK_KP_6); -addNumpad("7", KeyTable.XK_7, KeyTable.XK_KP_7); -addNumpad("8", KeyTable.XK_8, KeyTable.XK_KP_8); -addNumpad("9", KeyTable.XK_9, KeyTable.XK_KP_9); - -export default DOMKeyTable; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +import KeyTable from "./keysym.js"; + +/* + * Mapping between HTML key values and VNC/X11 keysyms for "special" + * keys that cannot be handled via their Unicode codepoint. + * + * See https://www.w3.org/TR/uievents-key/ for possible values. + */ + +const DOMKeyTable = {}; + +function addStandard(key, standard) { + if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); + if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); + DOMKeyTable[key] = [standard, standard, standard, standard]; +} + +function addLeftRight(key, left, right) { + if (left === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); + if (right === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); + if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); + DOMKeyTable[key] = [left, left, right, left]; +} + +function addNumpad(key, standard, numpad) { + if (standard === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); + if (numpad === undefined) throw new Error("Undefined keysym for key \"" + key + "\""); + if (key in DOMKeyTable) throw new Error("Duplicate entry for key \"" + key + "\""); + DOMKeyTable[key] = [standard, standard, standard, numpad]; +} + +// 2.2. Modifier Keys + +addLeftRight("Alt", KeyTable.XK_Alt_L, KeyTable.XK_Alt_R); +addStandard("AltGraph", KeyTable.XK_ISO_Level3_Shift); +addStandard("CapsLock", KeyTable.XK_Caps_Lock); +addLeftRight("Control", KeyTable.XK_Control_L, KeyTable.XK_Control_R); +// - Fn +// - FnLock +addLeftRight("Meta", KeyTable.XK_Super_L, KeyTable.XK_Super_R); +addStandard("NumLock", KeyTable.XK_Num_Lock); +addStandard("ScrollLock", KeyTable.XK_Scroll_Lock); +addLeftRight("Shift", KeyTable.XK_Shift_L, KeyTable.XK_Shift_R); +// - Symbol +// - SymbolLock + +// 2.3. Whitespace Keys + +addNumpad("Enter", KeyTable.XK_Return, KeyTable.XK_KP_Enter); +addStandard("Tab", KeyTable.XK_Tab); +addNumpad(" ", KeyTable.XK_space, KeyTable.XK_KP_Space); + +// 2.4. Navigation Keys + +addNumpad("ArrowDown", KeyTable.XK_Down, KeyTable.XK_KP_Down); +addNumpad("ArrowUp", KeyTable.XK_Up, KeyTable.XK_KP_Up); +addNumpad("ArrowLeft", KeyTable.XK_Left, KeyTable.XK_KP_Left); +addNumpad("ArrowRight", KeyTable.XK_Right, KeyTable.XK_KP_Right); +addNumpad("End", KeyTable.XK_End, KeyTable.XK_KP_End); +addNumpad("Home", KeyTable.XK_Home, KeyTable.XK_KP_Home); +addNumpad("PageDown", KeyTable.XK_Next, KeyTable.XK_KP_Next); +addNumpad("PageUp", KeyTable.XK_Prior, KeyTable.XK_KP_Prior); + +// 2.5. Editing Keys + +addStandard("Backspace", KeyTable.XK_BackSpace); +// Browsers send "Clear" for the numpad 5 without NumLock because +// Windows uses VK_Clear for that key. But Unix expects KP_Begin for +// that scenario. +addNumpad("Clear", KeyTable.XK_Clear, KeyTable.XK_KP_Begin); +addStandard("Copy", KeyTable.XF86XK_Copy); +// - CrSel +addStandard("Cut", KeyTable.XF86XK_Cut); +addNumpad("Delete", KeyTable.XK_Delete, KeyTable.XK_KP_Delete); +// - EraseEof +// - ExSel +addNumpad("Insert", KeyTable.XK_Insert, KeyTable.XK_KP_Insert); +addStandard("Paste", KeyTable.XF86XK_Paste); +addStandard("Redo", KeyTable.XK_Redo); +addStandard("Undo", KeyTable.XK_Undo); + +// 2.6. UI Keys + +// - Accept +// - Again (could just be XK_Redo) +// - Attn +addStandard("Cancel", KeyTable.XK_Cancel); +addStandard("ContextMenu", KeyTable.XK_Menu); +addStandard("Escape", KeyTable.XK_Escape); +addStandard("Execute", KeyTable.XK_Execute); +addStandard("Find", KeyTable.XK_Find); +addStandard("Help", KeyTable.XK_Help); +addStandard("Pause", KeyTable.XK_Pause); +// - Play +// - Props +addStandard("Select", KeyTable.XK_Select); +addStandard("ZoomIn", KeyTable.XF86XK_ZoomIn); +addStandard("ZoomOut", KeyTable.XF86XK_ZoomOut); + +// 2.7. Device Keys + +addStandard("BrightnessDown", KeyTable.XF86XK_MonBrightnessDown); +addStandard("BrightnessUp", KeyTable.XF86XK_MonBrightnessUp); +addStandard("Eject", KeyTable.XF86XK_Eject); +addStandard("LogOff", KeyTable.XF86XK_LogOff); +addStandard("Power", KeyTable.XF86XK_PowerOff); +addStandard("PowerOff", KeyTable.XF86XK_PowerDown); +addStandard("PrintScreen", KeyTable.XK_Print); +addStandard("Hibernate", KeyTable.XF86XK_Hibernate); +addStandard("Standby", KeyTable.XF86XK_Standby); +addStandard("WakeUp", KeyTable.XF86XK_WakeUp); + +// 2.8. IME and Composition Keys + +addStandard("AllCandidates", KeyTable.XK_MultipleCandidate); +addStandard("Alphanumeric", KeyTable.XK_Eisu_Shift); // could also be _Eisu_Toggle +addStandard("CodeInput", KeyTable.XK_Codeinput); +addStandard("Compose", KeyTable.XK_Multi_key); +addStandard("Convert", KeyTable.XK_Henkan); +// - Dead +// - FinalMode +addStandard("GroupFirst", KeyTable.XK_ISO_First_Group); +addStandard("GroupLast", KeyTable.XK_ISO_Last_Group); +addStandard("GroupNext", KeyTable.XK_ISO_Next_Group); +addStandard("GroupPrevious", KeyTable.XK_ISO_Prev_Group); +// - ModeChange (XK_Mode_switch is often used for AltGr) +// - NextCandidate +addStandard("NonConvert", KeyTable.XK_Muhenkan); +addStandard("PreviousCandidate", KeyTable.XK_PreviousCandidate); +// - Process +addStandard("SingleCandidate", KeyTable.XK_SingleCandidate); +addStandard("HangulMode", KeyTable.XK_Hangul); +addStandard("HanjaMode", KeyTable.XK_Hangul_Hanja); +addStandard("JunjuaMode", KeyTable.XK_Hangul_Jeonja); +addStandard("Eisu", KeyTable.XK_Eisu_toggle); +addStandard("Hankaku", KeyTable.XK_Hankaku); +addStandard("Hiragana", KeyTable.XK_Hiragana); +addStandard("HiraganaKatakana", KeyTable.XK_Hiragana_Katakana); +addStandard("KanaMode", KeyTable.XK_Kana_Shift); // could also be _Kana_Lock +addStandard("KanjiMode", KeyTable.XK_Kanji); +addStandard("Katakana", KeyTable.XK_Katakana); +addStandard("Romaji", KeyTable.XK_Romaji); +addStandard("Zenkaku", KeyTable.XK_Zenkaku); +addStandard("ZenkakuHanaku", KeyTable.XK_Zenkaku_Hankaku); + +// 2.9. General-Purpose Function Keys + +addStandard("F1", KeyTable.XK_F1); +addStandard("F2", KeyTable.XK_F2); +addStandard("F3", KeyTable.XK_F3); +addStandard("F4", KeyTable.XK_F4); +addStandard("F5", KeyTable.XK_F5); +addStandard("F6", KeyTable.XK_F6); +addStandard("F7", KeyTable.XK_F7); +addStandard("F8", KeyTable.XK_F8); +addStandard("F9", KeyTable.XK_F9); +addStandard("F10", KeyTable.XK_F10); +addStandard("F11", KeyTable.XK_F11); +addStandard("F12", KeyTable.XK_F12); +addStandard("F13", KeyTable.XK_F13); +addStandard("F14", KeyTable.XK_F14); +addStandard("F15", KeyTable.XK_F15); +addStandard("F16", KeyTable.XK_F16); +addStandard("F17", KeyTable.XK_F17); +addStandard("F18", KeyTable.XK_F18); +addStandard("F19", KeyTable.XK_F19); +addStandard("F20", KeyTable.XK_F20); +addStandard("F21", KeyTable.XK_F21); +addStandard("F22", KeyTable.XK_F22); +addStandard("F23", KeyTable.XK_F23); +addStandard("F24", KeyTable.XK_F24); +addStandard("F25", KeyTable.XK_F25); +addStandard("F26", KeyTable.XK_F26); +addStandard("F27", KeyTable.XK_F27); +addStandard("F28", KeyTable.XK_F28); +addStandard("F29", KeyTable.XK_F29); +addStandard("F30", KeyTable.XK_F30); +addStandard("F31", KeyTable.XK_F31); +addStandard("F32", KeyTable.XK_F32); +addStandard("F33", KeyTable.XK_F33); +addStandard("F34", KeyTable.XK_F34); +addStandard("F35", KeyTable.XK_F35); +// - Soft1... + +// 2.10. Multimedia Keys + +// - ChannelDown +// - ChannelUp +addStandard("Close", KeyTable.XF86XK_Close); +addStandard("MailForward", KeyTable.XF86XK_MailForward); +addStandard("MailReply", KeyTable.XF86XK_Reply); +addStandard("MailSend", KeyTable.XF86XK_Send); +// - MediaClose +addStandard("MediaFastForward", KeyTable.XF86XK_AudioForward); +addStandard("MediaPause", KeyTable.XF86XK_AudioPause); +addStandard("MediaPlay", KeyTable.XF86XK_AudioPlay); +addStandard("MediaRecord", KeyTable.XF86XK_AudioRecord); +addStandard("MediaRewind", KeyTable.XF86XK_AudioRewind); +addStandard("MediaStop", KeyTable.XF86XK_AudioStop); +addStandard("MediaTrackNext", KeyTable.XF86XK_AudioNext); +addStandard("MediaTrackPrevious", KeyTable.XF86XK_AudioPrev); +addStandard("New", KeyTable.XF86XK_New); +addStandard("Open", KeyTable.XF86XK_Open); +addStandard("Print", KeyTable.XK_Print); +addStandard("Save", KeyTable.XF86XK_Save); +addStandard("SpellCheck", KeyTable.XF86XK_Spell); + +// 2.11. Multimedia Numpad Keys + +// - Key11 +// - Key12 + +// 2.12. Audio Keys + +// - AudioBalanceLeft +// - AudioBalanceRight +// - AudioBassBoostDown +// - AudioBassBoostToggle +// - AudioBassBoostUp +// - AudioFaderFront +// - AudioFaderRear +// - AudioSurroundModeNext +// - AudioTrebleDown +// - AudioTrebleUp +addStandard("AudioVolumeDown", KeyTable.XF86XK_AudioLowerVolume); +addStandard("AudioVolumeUp", KeyTable.XF86XK_AudioRaiseVolume); +addStandard("AudioVolumeMute", KeyTable.XF86XK_AudioMute); +// - MicrophoneToggle +// - MicrophoneVolumeDown +// - MicrophoneVolumeUp +addStandard("MicrophoneVolumeMute", KeyTable.XF86XK_AudioMicMute); + +// 2.13. Speech Keys + +// - SpeechCorrectionList +// - SpeechInputToggle + +// 2.14. Application Keys + +addStandard("LaunchApplication1", KeyTable.XF86XK_MyComputer); +addStandard("LaunchApplication2", KeyTable.XF86XK_Calculator); +addStandard("LaunchCalendar", KeyTable.XF86XK_Calendar); +addStandard("LaunchMail", KeyTable.XF86XK_Mail); +addStandard("LaunchMediaPlayer", KeyTable.XF86XK_AudioMedia); +addStandard("LaunchMusicPlayer", KeyTable.XF86XK_Music); +addStandard("LaunchPhone", KeyTable.XF86XK_Phone); +addStandard("LaunchScreenSaver", KeyTable.XF86XK_ScreenSaver); +addStandard("LaunchSpreadsheet", KeyTable.XF86XK_Excel); +addStandard("LaunchWebBrowser", KeyTable.XF86XK_WWW); +addStandard("LaunchWebCam", KeyTable.XF86XK_WebCam); +addStandard("LaunchWordProcessor", KeyTable.XF86XK_Word); + +// 2.15. Browser Keys + +addStandard("BrowserBack", KeyTable.XF86XK_Back); +addStandard("BrowserFavorites", KeyTable.XF86XK_Favorites); +addStandard("BrowserForward", KeyTable.XF86XK_Forward); +addStandard("BrowserHome", KeyTable.XF86XK_HomePage); +addStandard("BrowserRefresh", KeyTable.XF86XK_Refresh); +addStandard("BrowserSearch", KeyTable.XF86XK_Search); +addStandard("BrowserStop", KeyTable.XF86XK_Stop); + +// 2.16. Mobile Phone Keys + +// - A whole bunch... + +// 2.17. TV Keys + +// - A whole bunch... + +// 2.18. Media Controller Keys + +// - A whole bunch... +addStandard("Dimmer", KeyTable.XF86XK_BrightnessAdjust); +addStandard("MediaAudioTrack", KeyTable.XF86XK_AudioCycleTrack); +addStandard("RandomToggle", KeyTable.XF86XK_AudioRandomPlay); +addStandard("SplitScreenToggle", KeyTable.XF86XK_SplitScreen); +addStandard("Subtitle", KeyTable.XF86XK_Subtitle); +addStandard("VideoModeNext", KeyTable.XF86XK_Next_VMode); + +// Extra: Numpad + +addNumpad("=", KeyTable.XK_equal, KeyTable.XK_KP_Equal); +addNumpad("+", KeyTable.XK_plus, KeyTable.XK_KP_Add); +addNumpad("-", KeyTable.XK_minus, KeyTable.XK_KP_Subtract); +addNumpad("*", KeyTable.XK_asterisk, KeyTable.XK_KP_Multiply); +addNumpad("/", KeyTable.XK_slash, KeyTable.XK_KP_Divide); +addNumpad(".", KeyTable.XK_period, KeyTable.XK_KP_Decimal); +addNumpad(",", KeyTable.XK_comma, KeyTable.XK_KP_Separator); +addNumpad("0", KeyTable.XK_0, KeyTable.XK_KP_0); +addNumpad("1", KeyTable.XK_1, KeyTable.XK_KP_1); +addNumpad("2", KeyTable.XK_2, KeyTable.XK_KP_2); +addNumpad("3", KeyTable.XK_3, KeyTable.XK_KP_3); +addNumpad("4", KeyTable.XK_4, KeyTable.XK_KP_4); +addNumpad("5", KeyTable.XK_5, KeyTable.XK_KP_5); +addNumpad("6", KeyTable.XK_6, KeyTable.XK_KP_6); +addNumpad("7", KeyTable.XK_7, KeyTable.XK_KP_7); +addNumpad("8", KeyTable.XK_8, KeyTable.XK_KP_8); +addNumpad("9", KeyTable.XK_9, KeyTable.XK_KP_9); + +export default DOMKeyTable; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/fixedkeys.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/fixedkeys.js index 4d09f2f..2c2b775 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/fixedkeys.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/fixedkeys.js @@ -1,129 +1,129 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -/* - * Fallback mapping between HTML key codes (physical keys) and - * HTML key values. This only works for keys that don't vary - * between layouts. We also omit those who manage fine by mapping the - * Unicode representation. - * - * See https://www.w3.org/TR/uievents-code/ for possible codes. - * See https://www.w3.org/TR/uievents-key/ for possible values. - */ - -/* eslint-disable key-spacing */ - -export default { - -// 3.1.1.1. Writing System Keys - - 'Backspace': 'Backspace', - -// 3.1.1.2. Functional Keys - - 'AltLeft': 'Alt', - 'AltRight': 'Alt', // This could also be 'AltGraph' - 'CapsLock': 'CapsLock', - 'ContextMenu': 'ContextMenu', - 'ControlLeft': 'Control', - 'ControlRight': 'Control', - 'Enter': 'Enter', - 'MetaLeft': 'Meta', - 'MetaRight': 'Meta', - 'ShiftLeft': 'Shift', - 'ShiftRight': 'Shift', - 'Tab': 'Tab', - // FIXME: Japanese/Korean keys - -// 3.1.2. Control Pad Section - - 'Delete': 'Delete', - 'End': 'End', - 'Help': 'Help', - 'Home': 'Home', - 'Insert': 'Insert', - 'PageDown': 'PageDown', - 'PageUp': 'PageUp', - -// 3.1.3. Arrow Pad Section - - 'ArrowDown': 'ArrowDown', - 'ArrowLeft': 'ArrowLeft', - 'ArrowRight': 'ArrowRight', - 'ArrowUp': 'ArrowUp', - -// 3.1.4. Numpad Section - - 'NumLock': 'NumLock', - 'NumpadBackspace': 'Backspace', - 'NumpadClear': 'Clear', - -// 3.1.5. Function Section - - 'Escape': 'Escape', - 'F1': 'F1', - 'F2': 'F2', - 'F3': 'F3', - 'F4': 'F4', - 'F5': 'F5', - 'F6': 'F6', - 'F7': 'F7', - 'F8': 'F8', - 'F9': 'F9', - 'F10': 'F10', - 'F11': 'F11', - 'F12': 'F12', - 'F13': 'F13', - 'F14': 'F14', - 'F15': 'F15', - 'F16': 'F16', - 'F17': 'F17', - 'F18': 'F18', - 'F19': 'F19', - 'F20': 'F20', - 'F21': 'F21', - 'F22': 'F22', - 'F23': 'F23', - 'F24': 'F24', - 'F25': 'F25', - 'F26': 'F26', - 'F27': 'F27', - 'F28': 'F28', - 'F29': 'F29', - 'F30': 'F30', - 'F31': 'F31', - 'F32': 'F32', - 'F33': 'F33', - 'F34': 'F34', - 'F35': 'F35', - 'PrintScreen': 'PrintScreen', - 'ScrollLock': 'ScrollLock', - 'Pause': 'Pause', - -// 3.1.6. Media Keys - - 'BrowserBack': 'BrowserBack', - 'BrowserFavorites': 'BrowserFavorites', - 'BrowserForward': 'BrowserForward', - 'BrowserHome': 'BrowserHome', - 'BrowserRefresh': 'BrowserRefresh', - 'BrowserSearch': 'BrowserSearch', - 'BrowserStop': 'BrowserStop', - 'Eject': 'Eject', - 'LaunchApp1': 'LaunchMyComputer', - 'LaunchApp2': 'LaunchCalendar', - 'LaunchMail': 'LaunchMail', - 'MediaPlayPause': 'MediaPlay', - 'MediaStop': 'MediaStop', - 'MediaTrackNext': 'MediaTrackNext', - 'MediaTrackPrevious': 'MediaTrackPrevious', - 'Power': 'Power', - 'Sleep': 'Sleep', - 'AudioVolumeDown': 'AudioVolumeDown', - 'AudioVolumeMute': 'AudioVolumeMute', - 'AudioVolumeUp': 'AudioVolumeUp', - 'WakeUp': 'WakeUp', -}; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +/* + * Fallback mapping between HTML key codes (physical keys) and + * HTML key values. This only works for keys that don't vary + * between layouts. We also omit those who manage fine by mapping the + * Unicode representation. + * + * See https://www.w3.org/TR/uievents-code/ for possible codes. + * See https://www.w3.org/TR/uievents-key/ for possible values. + */ + +/* eslint-disable key-spacing */ + +export default { + +// 3.1.1.1. Writing System Keys + + 'Backspace': 'Backspace', + +// 3.1.1.2. Functional Keys + + 'AltLeft': 'Alt', + 'AltRight': 'Alt', // This could also be 'AltGraph' + 'CapsLock': 'CapsLock', + 'ContextMenu': 'ContextMenu', + 'ControlLeft': 'Control', + 'ControlRight': 'Control', + 'Enter': 'Enter', + 'MetaLeft': 'Meta', + 'MetaRight': 'Meta', + 'ShiftLeft': 'Shift', + 'ShiftRight': 'Shift', + 'Tab': 'Tab', + // FIXME: Japanese/Korean keys + +// 3.1.2. Control Pad Section + + 'Delete': 'Delete', + 'End': 'End', + 'Help': 'Help', + 'Home': 'Home', + 'Insert': 'Insert', + 'PageDown': 'PageDown', + 'PageUp': 'PageUp', + +// 3.1.3. Arrow Pad Section + + 'ArrowDown': 'ArrowDown', + 'ArrowLeft': 'ArrowLeft', + 'ArrowRight': 'ArrowRight', + 'ArrowUp': 'ArrowUp', + +// 3.1.4. Numpad Section + + 'NumLock': 'NumLock', + 'NumpadBackspace': 'Backspace', + 'NumpadClear': 'Clear', + +// 3.1.5. Function Section + + 'Escape': 'Escape', + 'F1': 'F1', + 'F2': 'F2', + 'F3': 'F3', + 'F4': 'F4', + 'F5': 'F5', + 'F6': 'F6', + 'F7': 'F7', + 'F8': 'F8', + 'F9': 'F9', + 'F10': 'F10', + 'F11': 'F11', + 'F12': 'F12', + 'F13': 'F13', + 'F14': 'F14', + 'F15': 'F15', + 'F16': 'F16', + 'F17': 'F17', + 'F18': 'F18', + 'F19': 'F19', + 'F20': 'F20', + 'F21': 'F21', + 'F22': 'F22', + 'F23': 'F23', + 'F24': 'F24', + 'F25': 'F25', + 'F26': 'F26', + 'F27': 'F27', + 'F28': 'F28', + 'F29': 'F29', + 'F30': 'F30', + 'F31': 'F31', + 'F32': 'F32', + 'F33': 'F33', + 'F34': 'F34', + 'F35': 'F35', + 'PrintScreen': 'PrintScreen', + 'ScrollLock': 'ScrollLock', + 'Pause': 'Pause', + +// 3.1.6. Media Keys + + 'BrowserBack': 'BrowserBack', + 'BrowserFavorites': 'BrowserFavorites', + 'BrowserForward': 'BrowserForward', + 'BrowserHome': 'BrowserHome', + 'BrowserRefresh': 'BrowserRefresh', + 'BrowserSearch': 'BrowserSearch', + 'BrowserStop': 'BrowserStop', + 'Eject': 'Eject', + 'LaunchApp1': 'LaunchMyComputer', + 'LaunchApp2': 'LaunchCalendar', + 'LaunchMail': 'LaunchMail', + 'MediaPlayPause': 'MediaPlay', + 'MediaStop': 'MediaStop', + 'MediaTrackNext': 'MediaTrackNext', + 'MediaTrackPrevious': 'MediaTrackPrevious', + 'Power': 'Power', + 'Sleep': 'Sleep', + 'AudioVolumeDown': 'AudioVolumeDown', + 'AudioVolumeMute': 'AudioVolumeMute', + 'AudioVolumeUp': 'AudioVolumeUp', + 'WakeUp': 'WakeUp', +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/gesturehandler.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/gesturehandler.js index 6fa72d2..ba9e052 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/gesturehandler.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/gesturehandler.js @@ -1,567 +1,567 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -const GH_NOGESTURE = 0; -const GH_ONETAP = 1; -const GH_TWOTAP = 2; -const GH_THREETAP = 4; -const GH_DRAG = 8; -const GH_LONGPRESS = 16; -const GH_TWODRAG = 32; -const GH_PINCH = 64; - -const GH_INITSTATE = 127; - -const GH_MOVE_THRESHOLD = 50; -const GH_ANGLE_THRESHOLD = 90; // Degrees - -// Timeout when waiting for gestures (ms) -const GH_MULTITOUCH_TIMEOUT = 250; - -// Maximum time between press and release for a tap (ms) -const GH_TAP_TIMEOUT = 1000; - -// Timeout when waiting for longpress (ms) -const GH_LONGPRESS_TIMEOUT = 1000; - -// Timeout when waiting to decide between PINCH and TWODRAG (ms) -const GH_TWOTOUCH_TIMEOUT = 50; - -export default class GestureHandler { - constructor() { - this._target = null; - - this._state = GH_INITSTATE; - - this._tracked = []; - this._ignored = []; - - this._waitingRelease = false; - this._releaseStart = 0.0; - - this._longpressTimeoutId = null; - this._twoTouchTimeoutId = null; - - this._boundEventHandler = this._eventHandler.bind(this); - } - - attach(target) { - this.detach(); - - this._target = target; - this._target.addEventListener('touchstart', - this._boundEventHandler); - this._target.addEventListener('touchmove', - this._boundEventHandler); - this._target.addEventListener('touchend', - this._boundEventHandler); - this._target.addEventListener('touchcancel', - this._boundEventHandler); - } - - detach() { - if (!this._target) { - return; - } - - this._stopLongpressTimeout(); - this._stopTwoTouchTimeout(); - - this._target.removeEventListener('touchstart', - this._boundEventHandler); - this._target.removeEventListener('touchmove', - this._boundEventHandler); - this._target.removeEventListener('touchend', - this._boundEventHandler); - this._target.removeEventListener('touchcancel', - this._boundEventHandler); - this._target = null; - } - - _eventHandler(e) { - let fn; - - e.stopPropagation(); - e.preventDefault(); - - switch (e.type) { - case 'touchstart': - fn = this._touchStart; - break; - case 'touchmove': - fn = this._touchMove; - break; - case 'touchend': - case 'touchcancel': - fn = this._touchEnd; - break; - } - - for (let i = 0; i < e.changedTouches.length; i++) { - let touch = e.changedTouches[i]; - fn.call(this, touch.identifier, touch.clientX, touch.clientY); - } - } - - _touchStart(id, x, y) { - // Ignore any new touches if there is already an active gesture, - // or we're in a cleanup state - if (this._hasDetectedGesture() || (this._state === GH_NOGESTURE)) { - this._ignored.push(id); - return; - } - - // Did it take too long between touches that we should no longer - // consider this a single gesture? - if ((this._tracked.length > 0) && - ((Date.now() - this._tracked[0].started) > GH_MULTITOUCH_TIMEOUT)) { - this._state = GH_NOGESTURE; - this._ignored.push(id); - return; - } - - // If we're waiting for fingers to release then we should no longer - // recognize new touches - if (this._waitingRelease) { - this._state = GH_NOGESTURE; - this._ignored.push(id); - return; - } - - this._tracked.push({ - id: id, - started: Date.now(), - active: true, - firstX: x, - firstY: y, - lastX: x, - lastY: y, - angle: 0 - }); - - switch (this._tracked.length) { - case 1: - this._startLongpressTimeout(); - break; - - case 2: - this._state &= ~(GH_ONETAP | GH_DRAG | GH_LONGPRESS); - this._stopLongpressTimeout(); - break; - - case 3: - this._state &= ~(GH_TWOTAP | GH_TWODRAG | GH_PINCH); - break; - - default: - this._state = GH_NOGESTURE; - } - } - - _touchMove(id, x, y) { - let touch = this._tracked.find(t => t.id === id); - - // If this is an update for a touch we're not tracking, ignore it - if (touch === undefined) { - return; - } - - // Update the touches last position with the event coordinates - touch.lastX = x; - touch.lastY = y; - - let deltaX = x - touch.firstX; - let deltaY = y - touch.firstY; - - // Update angle when the touch has moved - if ((touch.firstX !== touch.lastX) || - (touch.firstY !== touch.lastY)) { - touch.angle = Math.atan2(deltaY, deltaX) * 180 / Math.PI; - } - - if (!this._hasDetectedGesture()) { - // Ignore moves smaller than the minimum threshold - if (Math.hypot(deltaX, deltaY) < GH_MOVE_THRESHOLD) { - return; - } - - // Can't be a tap or long press as we've seen movement - this._state &= ~(GH_ONETAP | GH_TWOTAP | GH_THREETAP | GH_LONGPRESS); - this._stopLongpressTimeout(); - - if (this._tracked.length !== 1) { - this._state &= ~(GH_DRAG); - } - if (this._tracked.length !== 2) { - this._state &= ~(GH_TWODRAG | GH_PINCH); - } - - // We need to figure out which of our different two touch gestures - // this might be - if (this._tracked.length === 2) { - - // The other touch is the one where the id doesn't match - let prevTouch = this._tracked.find(t => t.id !== id); - - // How far the previous touch point has moved since start - let prevDeltaMove = Math.hypot(prevTouch.firstX - prevTouch.lastX, - prevTouch.firstY - prevTouch.lastY); - - // We know that the current touch moved far enough, - // but unless both touches moved further than their - // threshold we don't want to disqualify any gestures - if (prevDeltaMove > GH_MOVE_THRESHOLD) { - - // The angle difference between the direction of the touch points - let deltaAngle = Math.abs(touch.angle - prevTouch.angle); - deltaAngle = Math.abs(((deltaAngle + 180) % 360) - 180); - - // PINCH or TWODRAG can be eliminated depending on the angle - if (deltaAngle > GH_ANGLE_THRESHOLD) { - this._state &= ~GH_TWODRAG; - } else { - this._state &= ~GH_PINCH; - } - - if (this._isTwoTouchTimeoutRunning()) { - this._stopTwoTouchTimeout(); - } - } else if (!this._isTwoTouchTimeoutRunning()) { - // We can't determine the gesture right now, let's - // wait and see if more events are on their way - this._startTwoTouchTimeout(); - } - } - - if (!this._hasDetectedGesture()) { - return; - } - - this._pushEvent('gesturestart'); - } - - this._pushEvent('gesturemove'); - } - - _touchEnd(id, x, y) { - // Check if this is an ignored touch - if (this._ignored.indexOf(id) !== -1) { - // Remove this touch from ignored - this._ignored.splice(this._ignored.indexOf(id), 1); - - // And reset the state if there are no more touches - if ((this._ignored.length === 0) && - (this._tracked.length === 0)) { - this._state = GH_INITSTATE; - this._waitingRelease = false; - } - return; - } - - // We got a touchend before the timer triggered, - // this cannot result in a gesture anymore. - if (!this._hasDetectedGesture() && - this._isTwoTouchTimeoutRunning()) { - this._stopTwoTouchTimeout(); - this._state = GH_NOGESTURE; - } - - // Some gestures don't trigger until a touch is released - if (!this._hasDetectedGesture()) { - // Can't be a gesture that relies on movement - this._state &= ~(GH_DRAG | GH_TWODRAG | GH_PINCH); - // Or something that relies on more time - this._state &= ~GH_LONGPRESS; - this._stopLongpressTimeout(); - - if (!this._waitingRelease) { - this._releaseStart = Date.now(); - this._waitingRelease = true; - - // Can't be a tap that requires more touches than we current have - switch (this._tracked.length) { - case 1: - this._state &= ~(GH_TWOTAP | GH_THREETAP); - break; - - case 2: - this._state &= ~(GH_ONETAP | GH_THREETAP); - break; - } - } - } - - // Waiting for all touches to release? (i.e. some tap) - if (this._waitingRelease) { - // Were all touches released at roughly the same time? - if ((Date.now() - this._releaseStart) > GH_MULTITOUCH_TIMEOUT) { - this._state = GH_NOGESTURE; - } - - // Did too long time pass between press and release? - if (this._tracked.some(t => (Date.now() - t.started) > GH_TAP_TIMEOUT)) { - this._state = GH_NOGESTURE; - } - - let touch = this._tracked.find(t => t.id === id); - touch.active = false; - - // Are we still waiting for more releases? - if (this._hasDetectedGesture()) { - this._pushEvent('gesturestart'); - } else { - // Have we reached a dead end? - if (this._state !== GH_NOGESTURE) { - return; - } - } - } - - if (this._hasDetectedGesture()) { - this._pushEvent('gestureend'); - } - - // Ignore any remaining touches until they are ended - for (let i = 0; i < this._tracked.length; i++) { - if (this._tracked[i].active) { - this._ignored.push(this._tracked[i].id); - } - } - this._tracked = []; - - this._state = GH_NOGESTURE; - - // Remove this touch from ignored if it's in there - if (this._ignored.indexOf(id) !== -1) { - this._ignored.splice(this._ignored.indexOf(id), 1); - } - - // We reset the state if ignored is empty - if ((this._ignored.length === 0)) { - this._state = GH_INITSTATE; - this._waitingRelease = false; - } - } - - _hasDetectedGesture() { - if (this._state === GH_NOGESTURE) { - return false; - } - // Check to see if the bitmask value is a power of 2 - // (i.e. only one bit set). If it is, we have a state. - if (this._state & (this._state - 1)) { - return false; - } - - // For taps we also need to have all touches released - // before we've fully detected the gesture - if (this._state & (GH_ONETAP | GH_TWOTAP | GH_THREETAP)) { - if (this._tracked.some(t => t.active)) { - return false; - } - } - - return true; - } - - _startLongpressTimeout() { - this._stopLongpressTimeout(); - this._longpressTimeoutId = setTimeout(() => this._longpressTimeout(), - GH_LONGPRESS_TIMEOUT); - } - - _stopLongpressTimeout() { - clearTimeout(this._longpressTimeoutId); - this._longpressTimeoutId = null; - } - - _longpressTimeout() { - if (this._hasDetectedGesture()) { - throw new Error("A longpress gesture failed, conflict with a different gesture"); - } - - this._state = GH_LONGPRESS; - this._pushEvent('gesturestart'); - } - - _startTwoTouchTimeout() { - this._stopTwoTouchTimeout(); - this._twoTouchTimeoutId = setTimeout(() => this._twoTouchTimeout(), - GH_TWOTOUCH_TIMEOUT); - } - - _stopTwoTouchTimeout() { - clearTimeout(this._twoTouchTimeoutId); - this._twoTouchTimeoutId = null; - } - - _isTwoTouchTimeoutRunning() { - return this._twoTouchTimeoutId !== null; - } - - _twoTouchTimeout() { - if (this._tracked.length === 0) { - throw new Error("A pinch or two drag gesture failed, no tracked touches"); - } - - // How far each touch point has moved since start - let avgM = this._getAverageMovement(); - let avgMoveH = Math.abs(avgM.x); - let avgMoveV = Math.abs(avgM.y); - - // The difference in the distance between where - // the touch points started and where they are now - let avgD = this._getAverageDistance(); - let deltaTouchDistance = Math.abs(Math.hypot(avgD.first.x, avgD.first.y) - - Math.hypot(avgD.last.x, avgD.last.y)); - - if ((avgMoveV < deltaTouchDistance) && - (avgMoveH < deltaTouchDistance)) { - this._state = GH_PINCH; - } else { - this._state = GH_TWODRAG; - } - - this._pushEvent('gesturestart'); - this._pushEvent('gesturemove'); - } - - _pushEvent(type) { - let detail = { type: this._stateToGesture(this._state) }; - - // For most gesture events the current (average) position is the - // most useful - let avg = this._getPosition(); - let pos = avg.last; - - // However we have a slight distance to detect gestures, so for the - // first gesture event we want to use the first positions we saw - if (type === 'gesturestart') { - pos = avg.first; - } - - // For these gestures, we always want the event coordinates - // to be where the gesture began, not the current touch location. - switch (this._state) { - case GH_TWODRAG: - case GH_PINCH: - pos = avg.first; - break; - } - - detail['clientX'] = pos.x; - detail['clientY'] = pos.y; - - // FIXME: other coordinates? - - // Some gestures also have a magnitude - if (this._state === GH_PINCH) { - let distance = this._getAverageDistance(); - if (type === 'gesturestart') { - detail['magnitudeX'] = distance.first.x; - detail['magnitudeY'] = distance.first.y; - } else { - detail['magnitudeX'] = distance.last.x; - detail['magnitudeY'] = distance.last.y; - } - } else if (this._state === GH_TWODRAG) { - if (type === 'gesturestart') { - detail['magnitudeX'] = 0.0; - detail['magnitudeY'] = 0.0; - } else { - let movement = this._getAverageMovement(); - detail['magnitudeX'] = movement.x; - detail['magnitudeY'] = movement.y; - } - } - - let gev = new CustomEvent(type, { detail: detail }); - this._target.dispatchEvent(gev); - } - - _stateToGesture(state) { - switch (state) { - case GH_ONETAP: - return 'onetap'; - case GH_TWOTAP: - return 'twotap'; - case GH_THREETAP: - return 'threetap'; - case GH_DRAG: - return 'drag'; - case GH_LONGPRESS: - return 'longpress'; - case GH_TWODRAG: - return 'twodrag'; - case GH_PINCH: - return 'pinch'; - } - - throw new Error("Unknown gesture state: " + state); - } - - _getPosition() { - if (this._tracked.length === 0) { - throw new Error("Failed to get gesture position, no tracked touches"); - } - - let size = this._tracked.length; - let fx = 0, fy = 0, lx = 0, ly = 0; - - for (let i = 0; i < this._tracked.length; i++) { - fx += this._tracked[i].firstX; - fy += this._tracked[i].firstY; - lx += this._tracked[i].lastX; - ly += this._tracked[i].lastY; - } - - return { first: { x: fx / size, - y: fy / size }, - last: { x: lx / size, - y: ly / size } }; - } - - _getAverageMovement() { - if (this._tracked.length === 0) { - throw new Error("Failed to get gesture movement, no tracked touches"); - } - - let totalH, totalV; - totalH = totalV = 0; - let size = this._tracked.length; - - for (let i = 0; i < this._tracked.length; i++) { - totalH += this._tracked[i].lastX - this._tracked[i].firstX; - totalV += this._tracked[i].lastY - this._tracked[i].firstY; - } - - return { x: totalH / size, - y: totalV / size }; - } - - _getAverageDistance() { - if (this._tracked.length === 0) { - throw new Error("Failed to get gesture distance, no tracked touches"); - } - - // Distance between the first and last tracked touches - - let first = this._tracked[0]; - let last = this._tracked[this._tracked.length - 1]; - - let fdx = Math.abs(last.firstX - first.firstX); - let fdy = Math.abs(last.firstY - first.firstY); - - let ldx = Math.abs(last.lastX - first.lastX); - let ldy = Math.abs(last.lastY - first.lastY); - - return { first: { x: fdx, y: fdy }, - last: { x: ldx, y: ldy } }; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +const GH_NOGESTURE = 0; +const GH_ONETAP = 1; +const GH_TWOTAP = 2; +const GH_THREETAP = 4; +const GH_DRAG = 8; +const GH_LONGPRESS = 16; +const GH_TWODRAG = 32; +const GH_PINCH = 64; + +const GH_INITSTATE = 127; + +const GH_MOVE_THRESHOLD = 50; +const GH_ANGLE_THRESHOLD = 90; // Degrees + +// Timeout when waiting for gestures (ms) +const GH_MULTITOUCH_TIMEOUT = 250; + +// Maximum time between press and release for a tap (ms) +const GH_TAP_TIMEOUT = 1000; + +// Timeout when waiting for longpress (ms) +const GH_LONGPRESS_TIMEOUT = 1000; + +// Timeout when waiting to decide between PINCH and TWODRAG (ms) +const GH_TWOTOUCH_TIMEOUT = 50; + +export default class GestureHandler { + constructor() { + this._target = null; + + this._state = GH_INITSTATE; + + this._tracked = []; + this._ignored = []; + + this._waitingRelease = false; + this._releaseStart = 0.0; + + this._longpressTimeoutId = null; + this._twoTouchTimeoutId = null; + + this._boundEventHandler = this._eventHandler.bind(this); + } + + attach(target) { + this.detach(); + + this._target = target; + this._target.addEventListener('touchstart', + this._boundEventHandler); + this._target.addEventListener('touchmove', + this._boundEventHandler); + this._target.addEventListener('touchend', + this._boundEventHandler); + this._target.addEventListener('touchcancel', + this._boundEventHandler); + } + + detach() { + if (!this._target) { + return; + } + + this._stopLongpressTimeout(); + this._stopTwoTouchTimeout(); + + this._target.removeEventListener('touchstart', + this._boundEventHandler); + this._target.removeEventListener('touchmove', + this._boundEventHandler); + this._target.removeEventListener('touchend', + this._boundEventHandler); + this._target.removeEventListener('touchcancel', + this._boundEventHandler); + this._target = null; + } + + _eventHandler(e) { + let fn; + + e.stopPropagation(); + e.preventDefault(); + + switch (e.type) { + case 'touchstart': + fn = this._touchStart; + break; + case 'touchmove': + fn = this._touchMove; + break; + case 'touchend': + case 'touchcancel': + fn = this._touchEnd; + break; + } + + for (let i = 0; i < e.changedTouches.length; i++) { + let touch = e.changedTouches[i]; + fn.call(this, touch.identifier, touch.clientX, touch.clientY); + } + } + + _touchStart(id, x, y) { + // Ignore any new touches if there is already an active gesture, + // or we're in a cleanup state + if (this._hasDetectedGesture() || (this._state === GH_NOGESTURE)) { + this._ignored.push(id); + return; + } + + // Did it take too long between touches that we should no longer + // consider this a single gesture? + if ((this._tracked.length > 0) && + ((Date.now() - this._tracked[0].started) > GH_MULTITOUCH_TIMEOUT)) { + this._state = GH_NOGESTURE; + this._ignored.push(id); + return; + } + + // If we're waiting for fingers to release then we should no longer + // recognize new touches + if (this._waitingRelease) { + this._state = GH_NOGESTURE; + this._ignored.push(id); + return; + } + + this._tracked.push({ + id: id, + started: Date.now(), + active: true, + firstX: x, + firstY: y, + lastX: x, + lastY: y, + angle: 0 + }); + + switch (this._tracked.length) { + case 1: + this._startLongpressTimeout(); + break; + + case 2: + this._state &= ~(GH_ONETAP | GH_DRAG | GH_LONGPRESS); + this._stopLongpressTimeout(); + break; + + case 3: + this._state &= ~(GH_TWOTAP | GH_TWODRAG | GH_PINCH); + break; + + default: + this._state = GH_NOGESTURE; + } + } + + _touchMove(id, x, y) { + let touch = this._tracked.find(t => t.id === id); + + // If this is an update for a touch we're not tracking, ignore it + if (touch === undefined) { + return; + } + + // Update the touches last position with the event coordinates + touch.lastX = x; + touch.lastY = y; + + let deltaX = x - touch.firstX; + let deltaY = y - touch.firstY; + + // Update angle when the touch has moved + if ((touch.firstX !== touch.lastX) || + (touch.firstY !== touch.lastY)) { + touch.angle = Math.atan2(deltaY, deltaX) * 180 / Math.PI; + } + + if (!this._hasDetectedGesture()) { + // Ignore moves smaller than the minimum threshold + if (Math.hypot(deltaX, deltaY) < GH_MOVE_THRESHOLD) { + return; + } + + // Can't be a tap or long press as we've seen movement + this._state &= ~(GH_ONETAP | GH_TWOTAP | GH_THREETAP | GH_LONGPRESS); + this._stopLongpressTimeout(); + + if (this._tracked.length !== 1) { + this._state &= ~(GH_DRAG); + } + if (this._tracked.length !== 2) { + this._state &= ~(GH_TWODRAG | GH_PINCH); + } + + // We need to figure out which of our different two touch gestures + // this might be + if (this._tracked.length === 2) { + + // The other touch is the one where the id doesn't match + let prevTouch = this._tracked.find(t => t.id !== id); + + // How far the previous touch point has moved since start + let prevDeltaMove = Math.hypot(prevTouch.firstX - prevTouch.lastX, + prevTouch.firstY - prevTouch.lastY); + + // We know that the current touch moved far enough, + // but unless both touches moved further than their + // threshold we don't want to disqualify any gestures + if (prevDeltaMove > GH_MOVE_THRESHOLD) { + + // The angle difference between the direction of the touch points + let deltaAngle = Math.abs(touch.angle - prevTouch.angle); + deltaAngle = Math.abs(((deltaAngle + 180) % 360) - 180); + + // PINCH or TWODRAG can be eliminated depending on the angle + if (deltaAngle > GH_ANGLE_THRESHOLD) { + this._state &= ~GH_TWODRAG; + } else { + this._state &= ~GH_PINCH; + } + + if (this._isTwoTouchTimeoutRunning()) { + this._stopTwoTouchTimeout(); + } + } else if (!this._isTwoTouchTimeoutRunning()) { + // We can't determine the gesture right now, let's + // wait and see if more events are on their way + this._startTwoTouchTimeout(); + } + } + + if (!this._hasDetectedGesture()) { + return; + } + + this._pushEvent('gesturestart'); + } + + this._pushEvent('gesturemove'); + } + + _touchEnd(id, x, y) { + // Check if this is an ignored touch + if (this._ignored.indexOf(id) !== -1) { + // Remove this touch from ignored + this._ignored.splice(this._ignored.indexOf(id), 1); + + // And reset the state if there are no more touches + if ((this._ignored.length === 0) && + (this._tracked.length === 0)) { + this._state = GH_INITSTATE; + this._waitingRelease = false; + } + return; + } + + // We got a touchend before the timer triggered, + // this cannot result in a gesture anymore. + if (!this._hasDetectedGesture() && + this._isTwoTouchTimeoutRunning()) { + this._stopTwoTouchTimeout(); + this._state = GH_NOGESTURE; + } + + // Some gestures don't trigger until a touch is released + if (!this._hasDetectedGesture()) { + // Can't be a gesture that relies on movement + this._state &= ~(GH_DRAG | GH_TWODRAG | GH_PINCH); + // Or something that relies on more time + this._state &= ~GH_LONGPRESS; + this._stopLongpressTimeout(); + + if (!this._waitingRelease) { + this._releaseStart = Date.now(); + this._waitingRelease = true; + + // Can't be a tap that requires more touches than we current have + switch (this._tracked.length) { + case 1: + this._state &= ~(GH_TWOTAP | GH_THREETAP); + break; + + case 2: + this._state &= ~(GH_ONETAP | GH_THREETAP); + break; + } + } + } + + // Waiting for all touches to release? (i.e. some tap) + if (this._waitingRelease) { + // Were all touches released at roughly the same time? + if ((Date.now() - this._releaseStart) > GH_MULTITOUCH_TIMEOUT) { + this._state = GH_NOGESTURE; + } + + // Did too long time pass between press and release? + if (this._tracked.some(t => (Date.now() - t.started) > GH_TAP_TIMEOUT)) { + this._state = GH_NOGESTURE; + } + + let touch = this._tracked.find(t => t.id === id); + touch.active = false; + + // Are we still waiting for more releases? + if (this._hasDetectedGesture()) { + this._pushEvent('gesturestart'); + } else { + // Have we reached a dead end? + if (this._state !== GH_NOGESTURE) { + return; + } + } + } + + if (this._hasDetectedGesture()) { + this._pushEvent('gestureend'); + } + + // Ignore any remaining touches until they are ended + for (let i = 0; i < this._tracked.length; i++) { + if (this._tracked[i].active) { + this._ignored.push(this._tracked[i].id); + } + } + this._tracked = []; + + this._state = GH_NOGESTURE; + + // Remove this touch from ignored if it's in there + if (this._ignored.indexOf(id) !== -1) { + this._ignored.splice(this._ignored.indexOf(id), 1); + } + + // We reset the state if ignored is empty + if ((this._ignored.length === 0)) { + this._state = GH_INITSTATE; + this._waitingRelease = false; + } + } + + _hasDetectedGesture() { + if (this._state === GH_NOGESTURE) { + return false; + } + // Check to see if the bitmask value is a power of 2 + // (i.e. only one bit set). If it is, we have a state. + if (this._state & (this._state - 1)) { + return false; + } + + // For taps we also need to have all touches released + // before we've fully detected the gesture + if (this._state & (GH_ONETAP | GH_TWOTAP | GH_THREETAP)) { + if (this._tracked.some(t => t.active)) { + return false; + } + } + + return true; + } + + _startLongpressTimeout() { + this._stopLongpressTimeout(); + this._longpressTimeoutId = setTimeout(() => this._longpressTimeout(), + GH_LONGPRESS_TIMEOUT); + } + + _stopLongpressTimeout() { + clearTimeout(this._longpressTimeoutId); + this._longpressTimeoutId = null; + } + + _longpressTimeout() { + if (this._hasDetectedGesture()) { + throw new Error("A longpress gesture failed, conflict with a different gesture"); + } + + this._state = GH_LONGPRESS; + this._pushEvent('gesturestart'); + } + + _startTwoTouchTimeout() { + this._stopTwoTouchTimeout(); + this._twoTouchTimeoutId = setTimeout(() => this._twoTouchTimeout(), + GH_TWOTOUCH_TIMEOUT); + } + + _stopTwoTouchTimeout() { + clearTimeout(this._twoTouchTimeoutId); + this._twoTouchTimeoutId = null; + } + + _isTwoTouchTimeoutRunning() { + return this._twoTouchTimeoutId !== null; + } + + _twoTouchTimeout() { + if (this._tracked.length === 0) { + throw new Error("A pinch or two drag gesture failed, no tracked touches"); + } + + // How far each touch point has moved since start + let avgM = this._getAverageMovement(); + let avgMoveH = Math.abs(avgM.x); + let avgMoveV = Math.abs(avgM.y); + + // The difference in the distance between where + // the touch points started and where they are now + let avgD = this._getAverageDistance(); + let deltaTouchDistance = Math.abs(Math.hypot(avgD.first.x, avgD.first.y) - + Math.hypot(avgD.last.x, avgD.last.y)); + + if ((avgMoveV < deltaTouchDistance) && + (avgMoveH < deltaTouchDistance)) { + this._state = GH_PINCH; + } else { + this._state = GH_TWODRAG; + } + + this._pushEvent('gesturestart'); + this._pushEvent('gesturemove'); + } + + _pushEvent(type) { + let detail = { type: this._stateToGesture(this._state) }; + + // For most gesture events the current (average) position is the + // most useful + let avg = this._getPosition(); + let pos = avg.last; + + // However we have a slight distance to detect gestures, so for the + // first gesture event we want to use the first positions we saw + if (type === 'gesturestart') { + pos = avg.first; + } + + // For these gestures, we always want the event coordinates + // to be where the gesture began, not the current touch location. + switch (this._state) { + case GH_TWODRAG: + case GH_PINCH: + pos = avg.first; + break; + } + + detail['clientX'] = pos.x; + detail['clientY'] = pos.y; + + // FIXME: other coordinates? + + // Some gestures also have a magnitude + if (this._state === GH_PINCH) { + let distance = this._getAverageDistance(); + if (type === 'gesturestart') { + detail['magnitudeX'] = distance.first.x; + detail['magnitudeY'] = distance.first.y; + } else { + detail['magnitudeX'] = distance.last.x; + detail['magnitudeY'] = distance.last.y; + } + } else if (this._state === GH_TWODRAG) { + if (type === 'gesturestart') { + detail['magnitudeX'] = 0.0; + detail['magnitudeY'] = 0.0; + } else { + let movement = this._getAverageMovement(); + detail['magnitudeX'] = movement.x; + detail['magnitudeY'] = movement.y; + } + } + + let gev = new CustomEvent(type, { detail: detail }); + this._target.dispatchEvent(gev); + } + + _stateToGesture(state) { + switch (state) { + case GH_ONETAP: + return 'onetap'; + case GH_TWOTAP: + return 'twotap'; + case GH_THREETAP: + return 'threetap'; + case GH_DRAG: + return 'drag'; + case GH_LONGPRESS: + return 'longpress'; + case GH_TWODRAG: + return 'twodrag'; + case GH_PINCH: + return 'pinch'; + } + + throw new Error("Unknown gesture state: " + state); + } + + _getPosition() { + if (this._tracked.length === 0) { + throw new Error("Failed to get gesture position, no tracked touches"); + } + + let size = this._tracked.length; + let fx = 0, fy = 0, lx = 0, ly = 0; + + for (let i = 0; i < this._tracked.length; i++) { + fx += this._tracked[i].firstX; + fy += this._tracked[i].firstY; + lx += this._tracked[i].lastX; + ly += this._tracked[i].lastY; + } + + return { first: { x: fx / size, + y: fy / size }, + last: { x: lx / size, + y: ly / size } }; + } + + _getAverageMovement() { + if (this._tracked.length === 0) { + throw new Error("Failed to get gesture movement, no tracked touches"); + } + + let totalH, totalV; + totalH = totalV = 0; + let size = this._tracked.length; + + for (let i = 0; i < this._tracked.length; i++) { + totalH += this._tracked[i].lastX - this._tracked[i].firstX; + totalV += this._tracked[i].lastY - this._tracked[i].firstY; + } + + return { x: totalH / size, + y: totalV / size }; + } + + _getAverageDistance() { + if (this._tracked.length === 0) { + throw new Error("Failed to get gesture distance, no tracked touches"); + } + + // Distance between the first and last tracked touches + + let first = this._tracked[0]; + let last = this._tracked[this._tracked.length - 1]; + + let fdx = Math.abs(last.firstX - first.firstX); + let fdy = Math.abs(last.firstY - first.firstY); + + let ldx = Math.abs(last.lastX - first.lastX); + let ldy = Math.abs(last.lastY - first.lastY); + + return { first: { x: fdx, y: fdy }, + last: { x: ldx, y: ldy } }; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keyboard.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keyboard.js index 3ffa6e7..dd97f23 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keyboard.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keyboard.js @@ -1,342 +1,342 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -import * as Log from '../util/logging.js'; -import { stopEvent } from '../util/events.js'; -import * as KeyboardUtil from "./util.js"; -import KeyTable from "./keysym.js"; -import * as browser from "../util/browser.js"; - -// -// Keyboard event handler -// - -export default class Keyboard { - constructor(target) { - this._target = target || null; - - this._keyDownList = {}; // List of depressed keys - // (even if they are happy) - this._pendingKey = null; // Key waiting for keypress - this._altGrArmed = false; // Windows AltGr detection - - // keep these here so we can refer to them later - this._eventHandlers = { - 'keyup': this._handleKeyUp.bind(this), - 'keydown': this._handleKeyDown.bind(this), - 'keypress': this._handleKeyPress.bind(this), - 'blur': this._allKeysUp.bind(this), - }; - - // ===== EVENT HANDLERS ===== - - this.onkeyevent = () => {}; // Handler for key press/release - } - - // ===== PRIVATE METHODS ===== - - _sendKeyEvent(keysym, code, down) { - if (down) { - this._keyDownList[code] = keysym; - } else { - // Do we really think this key is down? - if (!(code in this._keyDownList)) { - return; - } - delete this._keyDownList[code]; - } - - Log.Debug("onkeyevent " + (down ? "down" : "up") + - ", keysym: " + keysym, ", code: " + code); - this.onkeyevent(keysym, code, down); - } - - _getKeyCode(e) { - const code = KeyboardUtil.getKeycode(e); - if (code !== 'Unidentified') { - return code; - } - - // Unstable, but we don't have anything else to go on - // (don't use it for 'keypress' events thought since - // WebKit sets it to the same as charCode) - if (e.keyCode && (e.type !== 'keypress')) { - // 229 is used for composition events - if (e.keyCode !== 229) { - return 'Platform' + e.keyCode; - } - } - - // A precursor to the final DOM3 standard. Unfortunately it - // is not layout independent, so it is as bad as using keyCode - if (e.keyIdentifier) { - // Non-character key? - if (e.keyIdentifier.substr(0, 2) !== 'U+') { - return e.keyIdentifier; - } - - const codepoint = parseInt(e.keyIdentifier.substr(2), 16); - const char = String.fromCharCode(codepoint).toUpperCase(); - - return 'Platform' + char.charCodeAt(); - } - - return 'Unidentified'; - } - - _handleKeyDown(e) { - const code = this._getKeyCode(e); - let keysym = KeyboardUtil.getKeysym(e); - - // Windows doesn't have a proper AltGr, but handles it using - // fake Ctrl+Alt. However the remote end might not be Windows, - // so we need to merge those in to a single AltGr event. We - // detect this case by seeing the two key events directly after - // each other with a very short time between them (<50ms). - if (this._altGrArmed) { - this._altGrArmed = false; - clearTimeout(this._altGrTimeout); - - if ((code === "AltRight") && - ((e.timeStamp - this._altGrCtrlTime) < 50)) { - // FIXME: We fail to detect this if either Ctrl key is - // first manually pressed as Windows then no - // longer sends the fake Ctrl down event. It - // does however happily send real Ctrl events - // even when AltGr is already down. Some - // browsers detect this for us though and set the - // key to "AltGraph". - keysym = KeyTable.XK_ISO_Level3_Shift; - } else { - this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); - } - } - - // We cannot handle keys we cannot track, but we also need - // to deal with virtual keyboards which omit key info - if (code === 'Unidentified') { - if (keysym) { - // If it's a virtual keyboard then it should be - // sufficient to just send press and release right - // after each other - this._sendKeyEvent(keysym, code, true); - this._sendKeyEvent(keysym, code, false); - } - - stopEvent(e); - return; - } - - // Alt behaves more like AltGraph on macOS, so shuffle the - // keys around a bit to make things more sane for the remote - // server. This method is used by RealVNC and TigerVNC (and - // possibly others). - if (browser.isMac() || browser.isIOS()) { - switch (keysym) { - case KeyTable.XK_Super_L: - keysym = KeyTable.XK_Alt_L; - break; - case KeyTable.XK_Super_R: - keysym = KeyTable.XK_Super_L; - break; - case KeyTable.XK_Alt_L: - keysym = KeyTable.XK_Mode_switch; - break; - case KeyTable.XK_Alt_R: - keysym = KeyTable.XK_ISO_Level3_Shift; - break; - } - } - - // Is this key already pressed? If so, then we must use the - // same keysym or we'll confuse the server - if (code in this._keyDownList) { - keysym = this._keyDownList[code]; - } - - // macOS doesn't send proper key events for modifiers, only - // state change events. That gets extra confusing for CapsLock - // which toggles on each press, but not on release. So pretend - // it was a quick press and release of the button. - if ((browser.isMac() || browser.isIOS()) && (code === 'CapsLock')) { - this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', true); - this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', false); - stopEvent(e); - return; - } - - // If this is a legacy browser then we'll need to wait for - // a keypress event as well - // (IE and Edge has a broken KeyboardEvent.key, so we can't - // just check for the presence of that field) - if (!keysym && (!e.key || browser.isIE() || browser.isEdge())) { - this._pendingKey = code; - // However we might not get a keypress event if the key - // is non-printable, which needs some special fallback - // handling - setTimeout(this._handleKeyPressTimeout.bind(this), 10, e); - return; - } - - this._pendingKey = null; - stopEvent(e); - - // Possible start of AltGr sequence? (see above) - if ((code === "ControlLeft") && browser.isWindows() && - !("ControlLeft" in this._keyDownList)) { - this._altGrArmed = true; - this._altGrTimeout = setTimeout(this._handleAltGrTimeout.bind(this), 100); - this._altGrCtrlTime = e.timeStamp; - return; - } - - this._sendKeyEvent(keysym, code, true); - } - - // Legacy event for browsers without code/key - _handleKeyPress(e) { - stopEvent(e); - - // Are we expecting a keypress? - if (this._pendingKey === null) { - return; - } - - let code = this._getKeyCode(e); - const keysym = KeyboardUtil.getKeysym(e); - - // The key we were waiting for? - if ((code !== 'Unidentified') && (code != this._pendingKey)) { - return; - } - - code = this._pendingKey; - this._pendingKey = null; - - if (!keysym) { - Log.Info('keypress with no keysym:', e); - return; - } - - this._sendKeyEvent(keysym, code, true); - } - - _handleKeyPressTimeout(e) { - // Did someone manage to sort out the key already? - if (this._pendingKey === null) { - return; - } - - let keysym; - - const code = this._pendingKey; - this._pendingKey = null; - - // We have no way of knowing the proper keysym with the - // information given, but the following are true for most - // layouts - if ((e.keyCode >= 0x30) && (e.keyCode <= 0x39)) { - // Digit - keysym = e.keyCode; - } else if ((e.keyCode >= 0x41) && (e.keyCode <= 0x5a)) { - // Character (A-Z) - let char = String.fromCharCode(e.keyCode); - // A feeble attempt at the correct case - if (e.shiftKey) { - char = char.toUpperCase(); - } else { - char = char.toLowerCase(); - } - keysym = char.charCodeAt(); - } else { - // Unknown, give up - keysym = 0; - } - - this._sendKeyEvent(keysym, code, true); - } - - _handleKeyUp(e) { - stopEvent(e); - - const code = this._getKeyCode(e); - - // We can't get a release in the middle of an AltGr sequence, so - // abort that detection - if (this._altGrArmed) { - this._altGrArmed = false; - clearTimeout(this._altGrTimeout); - this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); - } - - // See comment in _handleKeyDown() - if ((browser.isMac() || browser.isIOS()) && (code === 'CapsLock')) { - this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', true); - this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', false); - return; - } - - this._sendKeyEvent(this._keyDownList[code], code, false); - - // Windows has a rather nasty bug where it won't send key - // release events for a Shift button if the other Shift is still - // pressed - if (browser.isWindows() && ((code === 'ShiftLeft') || - (code === 'ShiftRight'))) { - if ('ShiftRight' in this._keyDownList) { - this._sendKeyEvent(this._keyDownList['ShiftRight'], - 'ShiftRight', false); - } - if ('ShiftLeft' in this._keyDownList) { - this._sendKeyEvent(this._keyDownList['ShiftLeft'], - 'ShiftLeft', false); - } - } - } - - _handleAltGrTimeout() { - this._altGrArmed = false; - clearTimeout(this._altGrTimeout); - this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); - } - - _allKeysUp() { - Log.Debug(">> Keyboard.allKeysUp"); - for (let code in this._keyDownList) { - this._sendKeyEvent(this._keyDownList[code], code, false); - } - Log.Debug("<< Keyboard.allKeysUp"); - } - - // ===== PUBLIC METHODS ===== - - grab() { - //Log.Debug(">> Keyboard.grab"); - - this._target.addEventListener('keydown', this._eventHandlers.keydown); - this._target.addEventListener('keyup', this._eventHandlers.keyup); - this._target.addEventListener('keypress', this._eventHandlers.keypress); - - // Release (key up) if window loses focus - window.addEventListener('blur', this._eventHandlers.blur); - - //Log.Debug("<< Keyboard.grab"); - } - - ungrab() { - //Log.Debug(">> Keyboard.ungrab"); - - this._target.removeEventListener('keydown', this._eventHandlers.keydown); - this._target.removeEventListener('keyup', this._eventHandlers.keyup); - this._target.removeEventListener('keypress', this._eventHandlers.keypress); - window.removeEventListener('blur', this._eventHandlers.blur); - - // Release (key up) all keys that are in a down state - this._allKeysUp(); - - //Log.Debug(">> Keyboard.ungrab"); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +import * as Log from '../util/logging.js'; +import { stopEvent } from '../util/events.js'; +import * as KeyboardUtil from "./util.js"; +import KeyTable from "./keysym.js"; +import * as browser from "../util/browser.js"; + +// +// Keyboard event handler +// + +export default class Keyboard { + constructor(target) { + this._target = target || null; + + this._keyDownList = {}; // List of depressed keys + // (even if they are happy) + this._pendingKey = null; // Key waiting for keypress + this._altGrArmed = false; // Windows AltGr detection + + // keep these here so we can refer to them later + this._eventHandlers = { + 'keyup': this._handleKeyUp.bind(this), + 'keydown': this._handleKeyDown.bind(this), + 'keypress': this._handleKeyPress.bind(this), + 'blur': this._allKeysUp.bind(this), + }; + + // ===== EVENT HANDLERS ===== + + this.onkeyevent = () => {}; // Handler for key press/release + } + + // ===== PRIVATE METHODS ===== + + _sendKeyEvent(keysym, code, down) { + if (down) { + this._keyDownList[code] = keysym; + } else { + // Do we really think this key is down? + if (!(code in this._keyDownList)) { + return; + } + delete this._keyDownList[code]; + } + + Log.Debug("onkeyevent " + (down ? "down" : "up") + + ", keysym: " + keysym, ", code: " + code); + this.onkeyevent(keysym, code, down); + } + + _getKeyCode(e) { + const code = KeyboardUtil.getKeycode(e); + if (code !== 'Unidentified') { + return code; + } + + // Unstable, but we don't have anything else to go on + // (don't use it for 'keypress' events thought since + // WebKit sets it to the same as charCode) + if (e.keyCode && (e.type !== 'keypress')) { + // 229 is used for composition events + if (e.keyCode !== 229) { + return 'Platform' + e.keyCode; + } + } + + // A precursor to the final DOM3 standard. Unfortunately it + // is not layout independent, so it is as bad as using keyCode + if (e.keyIdentifier) { + // Non-character key? + if (e.keyIdentifier.substr(0, 2) !== 'U+') { + return e.keyIdentifier; + } + + const codepoint = parseInt(e.keyIdentifier.substr(2), 16); + const char = String.fromCharCode(codepoint).toUpperCase(); + + return 'Platform' + char.charCodeAt(); + } + + return 'Unidentified'; + } + + _handleKeyDown(e) { + const code = this._getKeyCode(e); + let keysym = KeyboardUtil.getKeysym(e); + + // Windows doesn't have a proper AltGr, but handles it using + // fake Ctrl+Alt. However the remote end might not be Windows, + // so we need to merge those in to a single AltGr event. We + // detect this case by seeing the two key events directly after + // each other with a very short time between them (<50ms). + if (this._altGrArmed) { + this._altGrArmed = false; + clearTimeout(this._altGrTimeout); + + if ((code === "AltRight") && + ((e.timeStamp - this._altGrCtrlTime) < 50)) { + // FIXME: We fail to detect this if either Ctrl key is + // first manually pressed as Windows then no + // longer sends the fake Ctrl down event. It + // does however happily send real Ctrl events + // even when AltGr is already down. Some + // browsers detect this for us though and set the + // key to "AltGraph". + keysym = KeyTable.XK_ISO_Level3_Shift; + } else { + this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); + } + } + + // We cannot handle keys we cannot track, but we also need + // to deal with virtual keyboards which omit key info + if (code === 'Unidentified') { + if (keysym) { + // If it's a virtual keyboard then it should be + // sufficient to just send press and release right + // after each other + this._sendKeyEvent(keysym, code, true); + this._sendKeyEvent(keysym, code, false); + } + + stopEvent(e); + return; + } + + // Alt behaves more like AltGraph on macOS, so shuffle the + // keys around a bit to make things more sane for the remote + // server. This method is used by RealVNC and TigerVNC (and + // possibly others). + if (browser.isMac() || browser.isIOS()) { + switch (keysym) { + case KeyTable.XK_Super_L: + keysym = KeyTable.XK_Alt_L; + break; + case KeyTable.XK_Super_R: + keysym = KeyTable.XK_Super_L; + break; + case KeyTable.XK_Alt_L: + keysym = KeyTable.XK_Mode_switch; + break; + case KeyTable.XK_Alt_R: + keysym = KeyTable.XK_ISO_Level3_Shift; + break; + } + } + + // Is this key already pressed? If so, then we must use the + // same keysym or we'll confuse the server + if (code in this._keyDownList) { + keysym = this._keyDownList[code]; + } + + // macOS doesn't send proper key events for modifiers, only + // state change events. That gets extra confusing for CapsLock + // which toggles on each press, but not on release. So pretend + // it was a quick press and release of the button. + if ((browser.isMac() || browser.isIOS()) && (code === 'CapsLock')) { + this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', true); + this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', false); + stopEvent(e); + return; + } + + // If this is a legacy browser then we'll need to wait for + // a keypress event as well + // (IE and Edge has a broken KeyboardEvent.key, so we can't + // just check for the presence of that field) + if (!keysym && (!e.key || browser.isIE() || browser.isEdge())) { + this._pendingKey = code; + // However we might not get a keypress event if the key + // is non-printable, which needs some special fallback + // handling + setTimeout(this._handleKeyPressTimeout.bind(this), 10, e); + return; + } + + this._pendingKey = null; + stopEvent(e); + + // Possible start of AltGr sequence? (see above) + if ((code === "ControlLeft") && browser.isWindows() && + !("ControlLeft" in this._keyDownList)) { + this._altGrArmed = true; + this._altGrTimeout = setTimeout(this._handleAltGrTimeout.bind(this), 100); + this._altGrCtrlTime = e.timeStamp; + return; + } + + this._sendKeyEvent(keysym, code, true); + } + + // Legacy event for browsers without code/key + _handleKeyPress(e) { + stopEvent(e); + + // Are we expecting a keypress? + if (this._pendingKey === null) { + return; + } + + let code = this._getKeyCode(e); + const keysym = KeyboardUtil.getKeysym(e); + + // The key we were waiting for? + if ((code !== 'Unidentified') && (code != this._pendingKey)) { + return; + } + + code = this._pendingKey; + this._pendingKey = null; + + if (!keysym) { + Log.Info('keypress with no keysym:', e); + return; + } + + this._sendKeyEvent(keysym, code, true); + } + + _handleKeyPressTimeout(e) { + // Did someone manage to sort out the key already? + if (this._pendingKey === null) { + return; + } + + let keysym; + + const code = this._pendingKey; + this._pendingKey = null; + + // We have no way of knowing the proper keysym with the + // information given, but the following are true for most + // layouts + if ((e.keyCode >= 0x30) && (e.keyCode <= 0x39)) { + // Digit + keysym = e.keyCode; + } else if ((e.keyCode >= 0x41) && (e.keyCode <= 0x5a)) { + // Character (A-Z) + let char = String.fromCharCode(e.keyCode); + // A feeble attempt at the correct case + if (e.shiftKey) { + char = char.toUpperCase(); + } else { + char = char.toLowerCase(); + } + keysym = char.charCodeAt(); + } else { + // Unknown, give up + keysym = 0; + } + + this._sendKeyEvent(keysym, code, true); + } + + _handleKeyUp(e) { + stopEvent(e); + + const code = this._getKeyCode(e); + + // We can't get a release in the middle of an AltGr sequence, so + // abort that detection + if (this._altGrArmed) { + this._altGrArmed = false; + clearTimeout(this._altGrTimeout); + this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); + } + + // See comment in _handleKeyDown() + if ((browser.isMac() || browser.isIOS()) && (code === 'CapsLock')) { + this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', true); + this._sendKeyEvent(KeyTable.XK_Caps_Lock, 'CapsLock', false); + return; + } + + this._sendKeyEvent(this._keyDownList[code], code, false); + + // Windows has a rather nasty bug where it won't send key + // release events for a Shift button if the other Shift is still + // pressed + if (browser.isWindows() && ((code === 'ShiftLeft') || + (code === 'ShiftRight'))) { + if ('ShiftRight' in this._keyDownList) { + this._sendKeyEvent(this._keyDownList['ShiftRight'], + 'ShiftRight', false); + } + if ('ShiftLeft' in this._keyDownList) { + this._sendKeyEvent(this._keyDownList['ShiftLeft'], + 'ShiftLeft', false); + } + } + } + + _handleAltGrTimeout() { + this._altGrArmed = false; + clearTimeout(this._altGrTimeout); + this._sendKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); + } + + _allKeysUp() { + Log.Debug(">> Keyboard.allKeysUp"); + for (let code in this._keyDownList) { + this._sendKeyEvent(this._keyDownList[code], code, false); + } + Log.Debug("<< Keyboard.allKeysUp"); + } + + // ===== PUBLIC METHODS ===== + + grab() { + //Log.Debug(">> Keyboard.grab"); + + this._target.addEventListener('keydown', this._eventHandlers.keydown); + this._target.addEventListener('keyup', this._eventHandlers.keyup); + this._target.addEventListener('keypress', this._eventHandlers.keypress); + + // Release (key up) if window loses focus + window.addEventListener('blur', this._eventHandlers.blur); + + //Log.Debug("<< Keyboard.grab"); + } + + ungrab() { + //Log.Debug(">> Keyboard.ungrab"); + + this._target.removeEventListener('keydown', this._eventHandlers.keydown); + this._target.removeEventListener('keyup', this._eventHandlers.keyup); + this._target.removeEventListener('keypress', this._eventHandlers.keypress); + window.removeEventListener('blur', this._eventHandlers.blur); + + // Release (key up) all keys that are in a down state + this._allKeysUp(); + + //Log.Debug(">> Keyboard.ungrab"); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysym.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysym.js index 22ba058..f344e17 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysym.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysym.js @@ -1,616 +1,616 @@ -/* eslint-disable key-spacing */ - -export default { - XK_VoidSymbol: 0xffffff, /* Void symbol */ - - XK_BackSpace: 0xff08, /* Back space, back char */ - XK_Tab: 0xff09, - XK_Linefeed: 0xff0a, /* Linefeed, LF */ - XK_Clear: 0xff0b, - XK_Return: 0xff0d, /* Return, enter */ - XK_Pause: 0xff13, /* Pause, hold */ - XK_Scroll_Lock: 0xff14, - XK_Sys_Req: 0xff15, - XK_Escape: 0xff1b, - XK_Delete: 0xffff, /* Delete, rubout */ - - /* International & multi-key character composition */ - - XK_Multi_key: 0xff20, /* Multi-key character compose */ - XK_Codeinput: 0xff37, - XK_SingleCandidate: 0xff3c, - XK_MultipleCandidate: 0xff3d, - XK_PreviousCandidate: 0xff3e, - - /* Japanese keyboard support */ - - XK_Kanji: 0xff21, /* Kanji, Kanji convert */ - XK_Muhenkan: 0xff22, /* Cancel Conversion */ - XK_Henkan_Mode: 0xff23, /* Start/Stop Conversion */ - XK_Henkan: 0xff23, /* Alias for Henkan_Mode */ - XK_Romaji: 0xff24, /* to Romaji */ - XK_Hiragana: 0xff25, /* to Hiragana */ - XK_Katakana: 0xff26, /* to Katakana */ - XK_Hiragana_Katakana: 0xff27, /* Hiragana/Katakana toggle */ - XK_Zenkaku: 0xff28, /* to Zenkaku */ - XK_Hankaku: 0xff29, /* to Hankaku */ - XK_Zenkaku_Hankaku: 0xff2a, /* Zenkaku/Hankaku toggle */ - XK_Touroku: 0xff2b, /* Add to Dictionary */ - XK_Massyo: 0xff2c, /* Delete from Dictionary */ - XK_Kana_Lock: 0xff2d, /* Kana Lock */ - XK_Kana_Shift: 0xff2e, /* Kana Shift */ - XK_Eisu_Shift: 0xff2f, /* Alphanumeric Shift */ - XK_Eisu_toggle: 0xff30, /* Alphanumeric toggle */ - XK_Kanji_Bangou: 0xff37, /* Codeinput */ - XK_Zen_Koho: 0xff3d, /* Multiple/All Candidate(s) */ - XK_Mae_Koho: 0xff3e, /* Previous Candidate */ - - /* Cursor control & motion */ - - XK_Home: 0xff50, - XK_Left: 0xff51, /* Move left, left arrow */ - XK_Up: 0xff52, /* Move up, up arrow */ - XK_Right: 0xff53, /* Move right, right arrow */ - XK_Down: 0xff54, /* Move down, down arrow */ - XK_Prior: 0xff55, /* Prior, previous */ - XK_Page_Up: 0xff55, - XK_Next: 0xff56, /* Next */ - XK_Page_Down: 0xff56, - XK_End: 0xff57, /* EOL */ - XK_Begin: 0xff58, /* BOL */ - - - /* Misc functions */ - - XK_Select: 0xff60, /* Select, mark */ - XK_Print: 0xff61, - XK_Execute: 0xff62, /* Execute, run, do */ - XK_Insert: 0xff63, /* Insert, insert here */ - XK_Undo: 0xff65, - XK_Redo: 0xff66, /* Redo, again */ - XK_Menu: 0xff67, - XK_Find: 0xff68, /* Find, search */ - XK_Cancel: 0xff69, /* Cancel, stop, abort, exit */ - XK_Help: 0xff6a, /* Help */ - XK_Break: 0xff6b, - XK_Mode_switch: 0xff7e, /* Character set switch */ - XK_script_switch: 0xff7e, /* Alias for mode_switch */ - XK_Num_Lock: 0xff7f, - - /* Keypad functions, keypad numbers cleverly chosen to map to ASCII */ - - XK_KP_Space: 0xff80, /* Space */ - XK_KP_Tab: 0xff89, - XK_KP_Enter: 0xff8d, /* Enter */ - XK_KP_F1: 0xff91, /* PF1, KP_A, ... */ - XK_KP_F2: 0xff92, - XK_KP_F3: 0xff93, - XK_KP_F4: 0xff94, - XK_KP_Home: 0xff95, - XK_KP_Left: 0xff96, - XK_KP_Up: 0xff97, - XK_KP_Right: 0xff98, - XK_KP_Down: 0xff99, - XK_KP_Prior: 0xff9a, - XK_KP_Page_Up: 0xff9a, - XK_KP_Next: 0xff9b, - XK_KP_Page_Down: 0xff9b, - XK_KP_End: 0xff9c, - XK_KP_Begin: 0xff9d, - XK_KP_Insert: 0xff9e, - XK_KP_Delete: 0xff9f, - XK_KP_Equal: 0xffbd, /* Equals */ - XK_KP_Multiply: 0xffaa, - XK_KP_Add: 0xffab, - XK_KP_Separator: 0xffac, /* Separator, often comma */ - XK_KP_Subtract: 0xffad, - XK_KP_Decimal: 0xffae, - XK_KP_Divide: 0xffaf, - - XK_KP_0: 0xffb0, - XK_KP_1: 0xffb1, - XK_KP_2: 0xffb2, - XK_KP_3: 0xffb3, - XK_KP_4: 0xffb4, - XK_KP_5: 0xffb5, - XK_KP_6: 0xffb6, - XK_KP_7: 0xffb7, - XK_KP_8: 0xffb8, - XK_KP_9: 0xffb9, - - /* - * Auxiliary functions; note the duplicate definitions for left and right - * function keys; Sun keyboards and a few other manufacturers have such - * function key groups on the left and/or right sides of the keyboard. - * We've not found a keyboard with more than 35 function keys total. - */ - - XK_F1: 0xffbe, - XK_F2: 0xffbf, - XK_F3: 0xffc0, - XK_F4: 0xffc1, - XK_F5: 0xffc2, - XK_F6: 0xffc3, - XK_F7: 0xffc4, - XK_F8: 0xffc5, - XK_F9: 0xffc6, - XK_F10: 0xffc7, - XK_F11: 0xffc8, - XK_L1: 0xffc8, - XK_F12: 0xffc9, - XK_L2: 0xffc9, - XK_F13: 0xffca, - XK_L3: 0xffca, - XK_F14: 0xffcb, - XK_L4: 0xffcb, - XK_F15: 0xffcc, - XK_L5: 0xffcc, - XK_F16: 0xffcd, - XK_L6: 0xffcd, - XK_F17: 0xffce, - XK_L7: 0xffce, - XK_F18: 0xffcf, - XK_L8: 0xffcf, - XK_F19: 0xffd0, - XK_L9: 0xffd0, - XK_F20: 0xffd1, - XK_L10: 0xffd1, - XK_F21: 0xffd2, - XK_R1: 0xffd2, - XK_F22: 0xffd3, - XK_R2: 0xffd3, - XK_F23: 0xffd4, - XK_R3: 0xffd4, - XK_F24: 0xffd5, - XK_R4: 0xffd5, - XK_F25: 0xffd6, - XK_R5: 0xffd6, - XK_F26: 0xffd7, - XK_R6: 0xffd7, - XK_F27: 0xffd8, - XK_R7: 0xffd8, - XK_F28: 0xffd9, - XK_R8: 0xffd9, - XK_F29: 0xffda, - XK_R9: 0xffda, - XK_F30: 0xffdb, - XK_R10: 0xffdb, - XK_F31: 0xffdc, - XK_R11: 0xffdc, - XK_F32: 0xffdd, - XK_R12: 0xffdd, - XK_F33: 0xffde, - XK_R13: 0xffde, - XK_F34: 0xffdf, - XK_R14: 0xffdf, - XK_F35: 0xffe0, - XK_R15: 0xffe0, - - /* Modifiers */ - - XK_Shift_L: 0xffe1, /* Left shift */ - XK_Shift_R: 0xffe2, /* Right shift */ - XK_Control_L: 0xffe3, /* Left control */ - XK_Control_R: 0xffe4, /* Right control */ - XK_Caps_Lock: 0xffe5, /* Caps lock */ - XK_Shift_Lock: 0xffe6, /* Shift lock */ - - XK_Meta_L: 0xffe7, /* Left meta */ - XK_Meta_R: 0xffe8, /* Right meta */ - XK_Alt_L: 0xffe9, /* Left alt */ - XK_Alt_R: 0xffea, /* Right alt */ - XK_Super_L: 0xffeb, /* Left super */ - XK_Super_R: 0xffec, /* Right super */ - XK_Hyper_L: 0xffed, /* Left hyper */ - XK_Hyper_R: 0xffee, /* Right hyper */ - - /* - * Keyboard (XKB) Extension function and modifier keys - * (from Appendix C of "The X Keyboard Extension: Protocol Specification") - * Byte 3 = 0xfe - */ - - XK_ISO_Level3_Shift: 0xfe03, /* AltGr */ - XK_ISO_Next_Group: 0xfe08, - XK_ISO_Prev_Group: 0xfe0a, - XK_ISO_First_Group: 0xfe0c, - XK_ISO_Last_Group: 0xfe0e, - - /* - * Latin 1 - * (ISO/IEC 8859-1: Unicode U+0020..U+00FF) - * Byte 3: 0 - */ - - XK_space: 0x0020, /* U+0020 SPACE */ - XK_exclam: 0x0021, /* U+0021 EXCLAMATION MARK */ - XK_quotedbl: 0x0022, /* U+0022 QUOTATION MARK */ - XK_numbersign: 0x0023, /* U+0023 NUMBER SIGN */ - XK_dollar: 0x0024, /* U+0024 DOLLAR SIGN */ - XK_percent: 0x0025, /* U+0025 PERCENT SIGN */ - XK_ampersand: 0x0026, /* U+0026 AMPERSAND */ - XK_apostrophe: 0x0027, /* U+0027 APOSTROPHE */ - XK_quoteright: 0x0027, /* deprecated */ - XK_parenleft: 0x0028, /* U+0028 LEFT PARENTHESIS */ - XK_parenright: 0x0029, /* U+0029 RIGHT PARENTHESIS */ - XK_asterisk: 0x002a, /* U+002A ASTERISK */ - XK_plus: 0x002b, /* U+002B PLUS SIGN */ - XK_comma: 0x002c, /* U+002C COMMA */ - XK_minus: 0x002d, /* U+002D HYPHEN-MINUS */ - XK_period: 0x002e, /* U+002E FULL STOP */ - XK_slash: 0x002f, /* U+002F SOLIDUS */ - XK_0: 0x0030, /* U+0030 DIGIT ZERO */ - XK_1: 0x0031, /* U+0031 DIGIT ONE */ - XK_2: 0x0032, /* U+0032 DIGIT TWO */ - XK_3: 0x0033, /* U+0033 DIGIT THREE */ - XK_4: 0x0034, /* U+0034 DIGIT FOUR */ - XK_5: 0x0035, /* U+0035 DIGIT FIVE */ - XK_6: 0x0036, /* U+0036 DIGIT SIX */ - XK_7: 0x0037, /* U+0037 DIGIT SEVEN */ - XK_8: 0x0038, /* U+0038 DIGIT EIGHT */ - XK_9: 0x0039, /* U+0039 DIGIT NINE */ - XK_colon: 0x003a, /* U+003A COLON */ - XK_semicolon: 0x003b, /* U+003B SEMICOLON */ - XK_less: 0x003c, /* U+003C LESS-THAN SIGN */ - XK_equal: 0x003d, /* U+003D EQUALS SIGN */ - XK_greater: 0x003e, /* U+003E GREATER-THAN SIGN */ - XK_question: 0x003f, /* U+003F QUESTION MARK */ - XK_at: 0x0040, /* U+0040 COMMERCIAL AT */ - XK_A: 0x0041, /* U+0041 LATIN CAPITAL LETTER A */ - XK_B: 0x0042, /* U+0042 LATIN CAPITAL LETTER B */ - XK_C: 0x0043, /* U+0043 LATIN CAPITAL LETTER C */ - XK_D: 0x0044, /* U+0044 LATIN CAPITAL LETTER D */ - XK_E: 0x0045, /* U+0045 LATIN CAPITAL LETTER E */ - XK_F: 0x0046, /* U+0046 LATIN CAPITAL LETTER F */ - XK_G: 0x0047, /* U+0047 LATIN CAPITAL LETTER G */ - XK_H: 0x0048, /* U+0048 LATIN CAPITAL LETTER H */ - XK_I: 0x0049, /* U+0049 LATIN CAPITAL LETTER I */ - XK_J: 0x004a, /* U+004A LATIN CAPITAL LETTER J */ - XK_K: 0x004b, /* U+004B LATIN CAPITAL LETTER K */ - XK_L: 0x004c, /* U+004C LATIN CAPITAL LETTER L */ - XK_M: 0x004d, /* U+004D LATIN CAPITAL LETTER M */ - XK_N: 0x004e, /* U+004E LATIN CAPITAL LETTER N */ - XK_O: 0x004f, /* U+004F LATIN CAPITAL LETTER O */ - XK_P: 0x0050, /* U+0050 LATIN CAPITAL LETTER P */ - XK_Q: 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */ - XK_R: 0x0052, /* U+0052 LATIN CAPITAL LETTER R */ - XK_S: 0x0053, /* U+0053 LATIN CAPITAL LETTER S */ - XK_T: 0x0054, /* U+0054 LATIN CAPITAL LETTER T */ - XK_U: 0x0055, /* U+0055 LATIN CAPITAL LETTER U */ - XK_V: 0x0056, /* U+0056 LATIN CAPITAL LETTER V */ - XK_W: 0x0057, /* U+0057 LATIN CAPITAL LETTER W */ - XK_X: 0x0058, /* U+0058 LATIN CAPITAL LETTER X */ - XK_Y: 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */ - XK_Z: 0x005a, /* U+005A LATIN CAPITAL LETTER Z */ - XK_bracketleft: 0x005b, /* U+005B LEFT SQUARE BRACKET */ - XK_backslash: 0x005c, /* U+005C REVERSE SOLIDUS */ - XK_bracketright: 0x005d, /* U+005D RIGHT SQUARE BRACKET */ - XK_asciicircum: 0x005e, /* U+005E CIRCUMFLEX ACCENT */ - XK_underscore: 0x005f, /* U+005F LOW LINE */ - XK_grave: 0x0060, /* U+0060 GRAVE ACCENT */ - XK_quoteleft: 0x0060, /* deprecated */ - XK_a: 0x0061, /* U+0061 LATIN SMALL LETTER A */ - XK_b: 0x0062, /* U+0062 LATIN SMALL LETTER B */ - XK_c: 0x0063, /* U+0063 LATIN SMALL LETTER C */ - XK_d: 0x0064, /* U+0064 LATIN SMALL LETTER D */ - XK_e: 0x0065, /* U+0065 LATIN SMALL LETTER E */ - XK_f: 0x0066, /* U+0066 LATIN SMALL LETTER F */ - XK_g: 0x0067, /* U+0067 LATIN SMALL LETTER G */ - XK_h: 0x0068, /* U+0068 LATIN SMALL LETTER H */ - XK_i: 0x0069, /* U+0069 LATIN SMALL LETTER I */ - XK_j: 0x006a, /* U+006A LATIN SMALL LETTER J */ - XK_k: 0x006b, /* U+006B LATIN SMALL LETTER K */ - XK_l: 0x006c, /* U+006C LATIN SMALL LETTER L */ - XK_m: 0x006d, /* U+006D LATIN SMALL LETTER M */ - XK_n: 0x006e, /* U+006E LATIN SMALL LETTER N */ - XK_o: 0x006f, /* U+006F LATIN SMALL LETTER O */ - XK_p: 0x0070, /* U+0070 LATIN SMALL LETTER P */ - XK_q: 0x0071, /* U+0071 LATIN SMALL LETTER Q */ - XK_r: 0x0072, /* U+0072 LATIN SMALL LETTER R */ - XK_s: 0x0073, /* U+0073 LATIN SMALL LETTER S */ - XK_t: 0x0074, /* U+0074 LATIN SMALL LETTER T */ - XK_u: 0x0075, /* U+0075 LATIN SMALL LETTER U */ - XK_v: 0x0076, /* U+0076 LATIN SMALL LETTER V */ - XK_w: 0x0077, /* U+0077 LATIN SMALL LETTER W */ - XK_x: 0x0078, /* U+0078 LATIN SMALL LETTER X */ - XK_y: 0x0079, /* U+0079 LATIN SMALL LETTER Y */ - XK_z: 0x007a, /* U+007A LATIN SMALL LETTER Z */ - XK_braceleft: 0x007b, /* U+007B LEFT CURLY BRACKET */ - XK_bar: 0x007c, /* U+007C VERTICAL LINE */ - XK_braceright: 0x007d, /* U+007D RIGHT CURLY BRACKET */ - XK_asciitilde: 0x007e, /* U+007E TILDE */ - - XK_nobreakspace: 0x00a0, /* U+00A0 NO-BREAK SPACE */ - XK_exclamdown: 0x00a1, /* U+00A1 INVERTED EXCLAMATION MARK */ - XK_cent: 0x00a2, /* U+00A2 CENT SIGN */ - XK_sterling: 0x00a3, /* U+00A3 POUND SIGN */ - XK_currency: 0x00a4, /* U+00A4 CURRENCY SIGN */ - XK_yen: 0x00a5, /* U+00A5 YEN SIGN */ - XK_brokenbar: 0x00a6, /* U+00A6 BROKEN BAR */ - XK_section: 0x00a7, /* U+00A7 SECTION SIGN */ - XK_diaeresis: 0x00a8, /* U+00A8 DIAERESIS */ - XK_copyright: 0x00a9, /* U+00A9 COPYRIGHT SIGN */ - XK_ordfeminine: 0x00aa, /* U+00AA FEMININE ORDINAL INDICATOR */ - XK_guillemotleft: 0x00ab, /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ - XK_notsign: 0x00ac, /* U+00AC NOT SIGN */ - XK_hyphen: 0x00ad, /* U+00AD SOFT HYPHEN */ - XK_registered: 0x00ae, /* U+00AE REGISTERED SIGN */ - XK_macron: 0x00af, /* U+00AF MACRON */ - XK_degree: 0x00b0, /* U+00B0 DEGREE SIGN */ - XK_plusminus: 0x00b1, /* U+00B1 PLUS-MINUS SIGN */ - XK_twosuperior: 0x00b2, /* U+00B2 SUPERSCRIPT TWO */ - XK_threesuperior: 0x00b3, /* U+00B3 SUPERSCRIPT THREE */ - XK_acute: 0x00b4, /* U+00B4 ACUTE ACCENT */ - XK_mu: 0x00b5, /* U+00B5 MICRO SIGN */ - XK_paragraph: 0x00b6, /* U+00B6 PILCROW SIGN */ - XK_periodcentered: 0x00b7, /* U+00B7 MIDDLE DOT */ - XK_cedilla: 0x00b8, /* U+00B8 CEDILLA */ - XK_onesuperior: 0x00b9, /* U+00B9 SUPERSCRIPT ONE */ - XK_masculine: 0x00ba, /* U+00BA MASCULINE ORDINAL INDICATOR */ - XK_guillemotright: 0x00bb, /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ - XK_onequarter: 0x00bc, /* U+00BC VULGAR FRACTION ONE QUARTER */ - XK_onehalf: 0x00bd, /* U+00BD VULGAR FRACTION ONE HALF */ - XK_threequarters: 0x00be, /* U+00BE VULGAR FRACTION THREE QUARTERS */ - XK_questiondown: 0x00bf, /* U+00BF INVERTED QUESTION MARK */ - XK_Agrave: 0x00c0, /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */ - XK_Aacute: 0x00c1, /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */ - XK_Acircumflex: 0x00c2, /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ - XK_Atilde: 0x00c3, /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */ - XK_Adiaeresis: 0x00c4, /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ - XK_Aring: 0x00c5, /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ - XK_AE: 0x00c6, /* U+00C6 LATIN CAPITAL LETTER AE */ - XK_Ccedilla: 0x00c7, /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */ - XK_Egrave: 0x00c8, /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */ - XK_Eacute: 0x00c9, /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ - XK_Ecircumflex: 0x00ca, /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ - XK_Ediaeresis: 0x00cb, /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */ - XK_Igrave: 0x00cc, /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */ - XK_Iacute: 0x00cd, /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */ - XK_Icircumflex: 0x00ce, /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ - XK_Idiaeresis: 0x00cf, /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */ - XK_ETH: 0x00d0, /* U+00D0 LATIN CAPITAL LETTER ETH */ - XK_Eth: 0x00d0, /* deprecated */ - XK_Ntilde: 0x00d1, /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */ - XK_Ograve: 0x00d2, /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */ - XK_Oacute: 0x00d3, /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */ - XK_Ocircumflex: 0x00d4, /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ - XK_Otilde: 0x00d5, /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */ - XK_Odiaeresis: 0x00d6, /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ - XK_multiply: 0x00d7, /* U+00D7 MULTIPLICATION SIGN */ - XK_Oslash: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ - XK_Ooblique: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ - XK_Ugrave: 0x00d9, /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */ - XK_Uacute: 0x00da, /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */ - XK_Ucircumflex: 0x00db, /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ - XK_Udiaeresis: 0x00dc, /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ - XK_Yacute: 0x00dd, /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */ - XK_THORN: 0x00de, /* U+00DE LATIN CAPITAL LETTER THORN */ - XK_Thorn: 0x00de, /* deprecated */ - XK_ssharp: 0x00df, /* U+00DF LATIN SMALL LETTER SHARP S */ - XK_agrave: 0x00e0, /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ - XK_aacute: 0x00e1, /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */ - XK_acircumflex: 0x00e2, /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */ - XK_atilde: 0x00e3, /* U+00E3 LATIN SMALL LETTER A WITH TILDE */ - XK_adiaeresis: 0x00e4, /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ - XK_aring: 0x00e5, /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ - XK_ae: 0x00e6, /* U+00E6 LATIN SMALL LETTER AE */ - XK_ccedilla: 0x00e7, /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ - XK_egrave: 0x00e8, /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ - XK_eacute: 0x00e9, /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ - XK_ecircumflex: 0x00ea, /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ - XK_ediaeresis: 0x00eb, /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */ - XK_igrave: 0x00ec, /* U+00EC LATIN SMALL LETTER I WITH GRAVE */ - XK_iacute: 0x00ed, /* U+00ED LATIN SMALL LETTER I WITH ACUTE */ - XK_icircumflex: 0x00ee, /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ - XK_idiaeresis: 0x00ef, /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */ - XK_eth: 0x00f0, /* U+00F0 LATIN SMALL LETTER ETH */ - XK_ntilde: 0x00f1, /* U+00F1 LATIN SMALL LETTER N WITH TILDE */ - XK_ograve: 0x00f2, /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */ - XK_oacute: 0x00f3, /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */ - XK_ocircumflex: 0x00f4, /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ - XK_otilde: 0x00f5, /* U+00F5 LATIN SMALL LETTER O WITH TILDE */ - XK_odiaeresis: 0x00f6, /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ - XK_division: 0x00f7, /* U+00F7 DIVISION SIGN */ - XK_oslash: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ - XK_ooblique: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ - XK_ugrave: 0x00f9, /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ - XK_uacute: 0x00fa, /* U+00FA LATIN SMALL LETTER U WITH ACUTE */ - XK_ucircumflex: 0x00fb, /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ - XK_udiaeresis: 0x00fc, /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ - XK_yacute: 0x00fd, /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */ - XK_thorn: 0x00fe, /* U+00FE LATIN SMALL LETTER THORN */ - XK_ydiaeresis: 0x00ff, /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ - - /* - * Korean - * Byte 3 = 0x0e - */ - - XK_Hangul: 0xff31, /* Hangul start/stop(toggle) */ - XK_Hangul_Hanja: 0xff34, /* Start Hangul->Hanja Conversion */ - XK_Hangul_Jeonja: 0xff38, /* Jeonja mode */ - - /* - * XFree86 vendor specific keysyms. - * - * The XFree86 keysym range is 0x10080001 - 0x1008FFFF. - */ - - XF86XK_ModeLock: 0x1008FF01, - XF86XK_MonBrightnessUp: 0x1008FF02, - XF86XK_MonBrightnessDown: 0x1008FF03, - XF86XK_KbdLightOnOff: 0x1008FF04, - XF86XK_KbdBrightnessUp: 0x1008FF05, - XF86XK_KbdBrightnessDown: 0x1008FF06, - XF86XK_Standby: 0x1008FF10, - XF86XK_AudioLowerVolume: 0x1008FF11, - XF86XK_AudioMute: 0x1008FF12, - XF86XK_AudioRaiseVolume: 0x1008FF13, - XF86XK_AudioPlay: 0x1008FF14, - XF86XK_AudioStop: 0x1008FF15, - XF86XK_AudioPrev: 0x1008FF16, - XF86XK_AudioNext: 0x1008FF17, - XF86XK_HomePage: 0x1008FF18, - XF86XK_Mail: 0x1008FF19, - XF86XK_Start: 0x1008FF1A, - XF86XK_Search: 0x1008FF1B, - XF86XK_AudioRecord: 0x1008FF1C, - XF86XK_Calculator: 0x1008FF1D, - XF86XK_Memo: 0x1008FF1E, - XF86XK_ToDoList: 0x1008FF1F, - XF86XK_Calendar: 0x1008FF20, - XF86XK_PowerDown: 0x1008FF21, - XF86XK_ContrastAdjust: 0x1008FF22, - XF86XK_RockerUp: 0x1008FF23, - XF86XK_RockerDown: 0x1008FF24, - XF86XK_RockerEnter: 0x1008FF25, - XF86XK_Back: 0x1008FF26, - XF86XK_Forward: 0x1008FF27, - XF86XK_Stop: 0x1008FF28, - XF86XK_Refresh: 0x1008FF29, - XF86XK_PowerOff: 0x1008FF2A, - XF86XK_WakeUp: 0x1008FF2B, - XF86XK_Eject: 0x1008FF2C, - XF86XK_ScreenSaver: 0x1008FF2D, - XF86XK_WWW: 0x1008FF2E, - XF86XK_Sleep: 0x1008FF2F, - XF86XK_Favorites: 0x1008FF30, - XF86XK_AudioPause: 0x1008FF31, - XF86XK_AudioMedia: 0x1008FF32, - XF86XK_MyComputer: 0x1008FF33, - XF86XK_VendorHome: 0x1008FF34, - XF86XK_LightBulb: 0x1008FF35, - XF86XK_Shop: 0x1008FF36, - XF86XK_History: 0x1008FF37, - XF86XK_OpenURL: 0x1008FF38, - XF86XK_AddFavorite: 0x1008FF39, - XF86XK_HotLinks: 0x1008FF3A, - XF86XK_BrightnessAdjust: 0x1008FF3B, - XF86XK_Finance: 0x1008FF3C, - XF86XK_Community: 0x1008FF3D, - XF86XK_AudioRewind: 0x1008FF3E, - XF86XK_BackForward: 0x1008FF3F, - XF86XK_Launch0: 0x1008FF40, - XF86XK_Launch1: 0x1008FF41, - XF86XK_Launch2: 0x1008FF42, - XF86XK_Launch3: 0x1008FF43, - XF86XK_Launch4: 0x1008FF44, - XF86XK_Launch5: 0x1008FF45, - XF86XK_Launch6: 0x1008FF46, - XF86XK_Launch7: 0x1008FF47, - XF86XK_Launch8: 0x1008FF48, - XF86XK_Launch9: 0x1008FF49, - XF86XK_LaunchA: 0x1008FF4A, - XF86XK_LaunchB: 0x1008FF4B, - XF86XK_LaunchC: 0x1008FF4C, - XF86XK_LaunchD: 0x1008FF4D, - XF86XK_LaunchE: 0x1008FF4E, - XF86XK_LaunchF: 0x1008FF4F, - XF86XK_ApplicationLeft: 0x1008FF50, - XF86XK_ApplicationRight: 0x1008FF51, - XF86XK_Book: 0x1008FF52, - XF86XK_CD: 0x1008FF53, - XF86XK_Calculater: 0x1008FF54, - XF86XK_Clear: 0x1008FF55, - XF86XK_Close: 0x1008FF56, - XF86XK_Copy: 0x1008FF57, - XF86XK_Cut: 0x1008FF58, - XF86XK_Display: 0x1008FF59, - XF86XK_DOS: 0x1008FF5A, - XF86XK_Documents: 0x1008FF5B, - XF86XK_Excel: 0x1008FF5C, - XF86XK_Explorer: 0x1008FF5D, - XF86XK_Game: 0x1008FF5E, - XF86XK_Go: 0x1008FF5F, - XF86XK_iTouch: 0x1008FF60, - XF86XK_LogOff: 0x1008FF61, - XF86XK_Market: 0x1008FF62, - XF86XK_Meeting: 0x1008FF63, - XF86XK_MenuKB: 0x1008FF65, - XF86XK_MenuPB: 0x1008FF66, - XF86XK_MySites: 0x1008FF67, - XF86XK_New: 0x1008FF68, - XF86XK_News: 0x1008FF69, - XF86XK_OfficeHome: 0x1008FF6A, - XF86XK_Open: 0x1008FF6B, - XF86XK_Option: 0x1008FF6C, - XF86XK_Paste: 0x1008FF6D, - XF86XK_Phone: 0x1008FF6E, - XF86XK_Q: 0x1008FF70, - XF86XK_Reply: 0x1008FF72, - XF86XK_Reload: 0x1008FF73, - XF86XK_RotateWindows: 0x1008FF74, - XF86XK_RotationPB: 0x1008FF75, - XF86XK_RotationKB: 0x1008FF76, - XF86XK_Save: 0x1008FF77, - XF86XK_ScrollUp: 0x1008FF78, - XF86XK_ScrollDown: 0x1008FF79, - XF86XK_ScrollClick: 0x1008FF7A, - XF86XK_Send: 0x1008FF7B, - XF86XK_Spell: 0x1008FF7C, - XF86XK_SplitScreen: 0x1008FF7D, - XF86XK_Support: 0x1008FF7E, - XF86XK_TaskPane: 0x1008FF7F, - XF86XK_Terminal: 0x1008FF80, - XF86XK_Tools: 0x1008FF81, - XF86XK_Travel: 0x1008FF82, - XF86XK_UserPB: 0x1008FF84, - XF86XK_User1KB: 0x1008FF85, - XF86XK_User2KB: 0x1008FF86, - XF86XK_Video: 0x1008FF87, - XF86XK_WheelButton: 0x1008FF88, - XF86XK_Word: 0x1008FF89, - XF86XK_Xfer: 0x1008FF8A, - XF86XK_ZoomIn: 0x1008FF8B, - XF86XK_ZoomOut: 0x1008FF8C, - XF86XK_Away: 0x1008FF8D, - XF86XK_Messenger: 0x1008FF8E, - XF86XK_WebCam: 0x1008FF8F, - XF86XK_MailForward: 0x1008FF90, - XF86XK_Pictures: 0x1008FF91, - XF86XK_Music: 0x1008FF92, - XF86XK_Battery: 0x1008FF93, - XF86XK_Bluetooth: 0x1008FF94, - XF86XK_WLAN: 0x1008FF95, - XF86XK_UWB: 0x1008FF96, - XF86XK_AudioForward: 0x1008FF97, - XF86XK_AudioRepeat: 0x1008FF98, - XF86XK_AudioRandomPlay: 0x1008FF99, - XF86XK_Subtitle: 0x1008FF9A, - XF86XK_AudioCycleTrack: 0x1008FF9B, - XF86XK_CycleAngle: 0x1008FF9C, - XF86XK_FrameBack: 0x1008FF9D, - XF86XK_FrameForward: 0x1008FF9E, - XF86XK_Time: 0x1008FF9F, - XF86XK_Select: 0x1008FFA0, - XF86XK_View: 0x1008FFA1, - XF86XK_TopMenu: 0x1008FFA2, - XF86XK_Red: 0x1008FFA3, - XF86XK_Green: 0x1008FFA4, - XF86XK_Yellow: 0x1008FFA5, - XF86XK_Blue: 0x1008FFA6, - XF86XK_Suspend: 0x1008FFA7, - XF86XK_Hibernate: 0x1008FFA8, - XF86XK_TouchpadToggle: 0x1008FFA9, - XF86XK_TouchpadOn: 0x1008FFB0, - XF86XK_TouchpadOff: 0x1008FFB1, - XF86XK_AudioMicMute: 0x1008FFB2, - XF86XK_Switch_VT_1: 0x1008FE01, - XF86XK_Switch_VT_2: 0x1008FE02, - XF86XK_Switch_VT_3: 0x1008FE03, - XF86XK_Switch_VT_4: 0x1008FE04, - XF86XK_Switch_VT_5: 0x1008FE05, - XF86XK_Switch_VT_6: 0x1008FE06, - XF86XK_Switch_VT_7: 0x1008FE07, - XF86XK_Switch_VT_8: 0x1008FE08, - XF86XK_Switch_VT_9: 0x1008FE09, - XF86XK_Switch_VT_10: 0x1008FE0A, - XF86XK_Switch_VT_11: 0x1008FE0B, - XF86XK_Switch_VT_12: 0x1008FE0C, - XF86XK_Ungrab: 0x1008FE20, - XF86XK_ClearGrab: 0x1008FE21, - XF86XK_Next_VMode: 0x1008FE22, - XF86XK_Prev_VMode: 0x1008FE23, - XF86XK_LogWindowTree: 0x1008FE24, - XF86XK_LogGrabInfo: 0x1008FE25, -}; +/* eslint-disable key-spacing */ + +export default { + XK_VoidSymbol: 0xffffff, /* Void symbol */ + + XK_BackSpace: 0xff08, /* Back space, back char */ + XK_Tab: 0xff09, + XK_Linefeed: 0xff0a, /* Linefeed, LF */ + XK_Clear: 0xff0b, + XK_Return: 0xff0d, /* Return, enter */ + XK_Pause: 0xff13, /* Pause, hold */ + XK_Scroll_Lock: 0xff14, + XK_Sys_Req: 0xff15, + XK_Escape: 0xff1b, + XK_Delete: 0xffff, /* Delete, rubout */ + + /* International & multi-key character composition */ + + XK_Multi_key: 0xff20, /* Multi-key character compose */ + XK_Codeinput: 0xff37, + XK_SingleCandidate: 0xff3c, + XK_MultipleCandidate: 0xff3d, + XK_PreviousCandidate: 0xff3e, + + /* Japanese keyboard support */ + + XK_Kanji: 0xff21, /* Kanji, Kanji convert */ + XK_Muhenkan: 0xff22, /* Cancel Conversion */ + XK_Henkan_Mode: 0xff23, /* Start/Stop Conversion */ + XK_Henkan: 0xff23, /* Alias for Henkan_Mode */ + XK_Romaji: 0xff24, /* to Romaji */ + XK_Hiragana: 0xff25, /* to Hiragana */ + XK_Katakana: 0xff26, /* to Katakana */ + XK_Hiragana_Katakana: 0xff27, /* Hiragana/Katakana toggle */ + XK_Zenkaku: 0xff28, /* to Zenkaku */ + XK_Hankaku: 0xff29, /* to Hankaku */ + XK_Zenkaku_Hankaku: 0xff2a, /* Zenkaku/Hankaku toggle */ + XK_Touroku: 0xff2b, /* Add to Dictionary */ + XK_Massyo: 0xff2c, /* Delete from Dictionary */ + XK_Kana_Lock: 0xff2d, /* Kana Lock */ + XK_Kana_Shift: 0xff2e, /* Kana Shift */ + XK_Eisu_Shift: 0xff2f, /* Alphanumeric Shift */ + XK_Eisu_toggle: 0xff30, /* Alphanumeric toggle */ + XK_Kanji_Bangou: 0xff37, /* Codeinput */ + XK_Zen_Koho: 0xff3d, /* Multiple/All Candidate(s) */ + XK_Mae_Koho: 0xff3e, /* Previous Candidate */ + + /* Cursor control & motion */ + + XK_Home: 0xff50, + XK_Left: 0xff51, /* Move left, left arrow */ + XK_Up: 0xff52, /* Move up, up arrow */ + XK_Right: 0xff53, /* Move right, right arrow */ + XK_Down: 0xff54, /* Move down, down arrow */ + XK_Prior: 0xff55, /* Prior, previous */ + XK_Page_Up: 0xff55, + XK_Next: 0xff56, /* Next */ + XK_Page_Down: 0xff56, + XK_End: 0xff57, /* EOL */ + XK_Begin: 0xff58, /* BOL */ + + + /* Misc functions */ + + XK_Select: 0xff60, /* Select, mark */ + XK_Print: 0xff61, + XK_Execute: 0xff62, /* Execute, run, do */ + XK_Insert: 0xff63, /* Insert, insert here */ + XK_Undo: 0xff65, + XK_Redo: 0xff66, /* Redo, again */ + XK_Menu: 0xff67, + XK_Find: 0xff68, /* Find, search */ + XK_Cancel: 0xff69, /* Cancel, stop, abort, exit */ + XK_Help: 0xff6a, /* Help */ + XK_Break: 0xff6b, + XK_Mode_switch: 0xff7e, /* Character set switch */ + XK_script_switch: 0xff7e, /* Alias for mode_switch */ + XK_Num_Lock: 0xff7f, + + /* Keypad functions, keypad numbers cleverly chosen to map to ASCII */ + + XK_KP_Space: 0xff80, /* Space */ + XK_KP_Tab: 0xff89, + XK_KP_Enter: 0xff8d, /* Enter */ + XK_KP_F1: 0xff91, /* PF1, KP_A, ... */ + XK_KP_F2: 0xff92, + XK_KP_F3: 0xff93, + XK_KP_F4: 0xff94, + XK_KP_Home: 0xff95, + XK_KP_Left: 0xff96, + XK_KP_Up: 0xff97, + XK_KP_Right: 0xff98, + XK_KP_Down: 0xff99, + XK_KP_Prior: 0xff9a, + XK_KP_Page_Up: 0xff9a, + XK_KP_Next: 0xff9b, + XK_KP_Page_Down: 0xff9b, + XK_KP_End: 0xff9c, + XK_KP_Begin: 0xff9d, + XK_KP_Insert: 0xff9e, + XK_KP_Delete: 0xff9f, + XK_KP_Equal: 0xffbd, /* Equals */ + XK_KP_Multiply: 0xffaa, + XK_KP_Add: 0xffab, + XK_KP_Separator: 0xffac, /* Separator, often comma */ + XK_KP_Subtract: 0xffad, + XK_KP_Decimal: 0xffae, + XK_KP_Divide: 0xffaf, + + XK_KP_0: 0xffb0, + XK_KP_1: 0xffb1, + XK_KP_2: 0xffb2, + XK_KP_3: 0xffb3, + XK_KP_4: 0xffb4, + XK_KP_5: 0xffb5, + XK_KP_6: 0xffb6, + XK_KP_7: 0xffb7, + XK_KP_8: 0xffb8, + XK_KP_9: 0xffb9, + + /* + * Auxiliary functions; note the duplicate definitions for left and right + * function keys; Sun keyboards and a few other manufacturers have such + * function key groups on the left and/or right sides of the keyboard. + * We've not found a keyboard with more than 35 function keys total. + */ + + XK_F1: 0xffbe, + XK_F2: 0xffbf, + XK_F3: 0xffc0, + XK_F4: 0xffc1, + XK_F5: 0xffc2, + XK_F6: 0xffc3, + XK_F7: 0xffc4, + XK_F8: 0xffc5, + XK_F9: 0xffc6, + XK_F10: 0xffc7, + XK_F11: 0xffc8, + XK_L1: 0xffc8, + XK_F12: 0xffc9, + XK_L2: 0xffc9, + XK_F13: 0xffca, + XK_L3: 0xffca, + XK_F14: 0xffcb, + XK_L4: 0xffcb, + XK_F15: 0xffcc, + XK_L5: 0xffcc, + XK_F16: 0xffcd, + XK_L6: 0xffcd, + XK_F17: 0xffce, + XK_L7: 0xffce, + XK_F18: 0xffcf, + XK_L8: 0xffcf, + XK_F19: 0xffd0, + XK_L9: 0xffd0, + XK_F20: 0xffd1, + XK_L10: 0xffd1, + XK_F21: 0xffd2, + XK_R1: 0xffd2, + XK_F22: 0xffd3, + XK_R2: 0xffd3, + XK_F23: 0xffd4, + XK_R3: 0xffd4, + XK_F24: 0xffd5, + XK_R4: 0xffd5, + XK_F25: 0xffd6, + XK_R5: 0xffd6, + XK_F26: 0xffd7, + XK_R6: 0xffd7, + XK_F27: 0xffd8, + XK_R7: 0xffd8, + XK_F28: 0xffd9, + XK_R8: 0xffd9, + XK_F29: 0xffda, + XK_R9: 0xffda, + XK_F30: 0xffdb, + XK_R10: 0xffdb, + XK_F31: 0xffdc, + XK_R11: 0xffdc, + XK_F32: 0xffdd, + XK_R12: 0xffdd, + XK_F33: 0xffde, + XK_R13: 0xffde, + XK_F34: 0xffdf, + XK_R14: 0xffdf, + XK_F35: 0xffe0, + XK_R15: 0xffe0, + + /* Modifiers */ + + XK_Shift_L: 0xffe1, /* Left shift */ + XK_Shift_R: 0xffe2, /* Right shift */ + XK_Control_L: 0xffe3, /* Left control */ + XK_Control_R: 0xffe4, /* Right control */ + XK_Caps_Lock: 0xffe5, /* Caps lock */ + XK_Shift_Lock: 0xffe6, /* Shift lock */ + + XK_Meta_L: 0xffe7, /* Left meta */ + XK_Meta_R: 0xffe8, /* Right meta */ + XK_Alt_L: 0xffe9, /* Left alt */ + XK_Alt_R: 0xffea, /* Right alt */ + XK_Super_L: 0xffeb, /* Left super */ + XK_Super_R: 0xffec, /* Right super */ + XK_Hyper_L: 0xffed, /* Left hyper */ + XK_Hyper_R: 0xffee, /* Right hyper */ + + /* + * Keyboard (XKB) Extension function and modifier keys + * (from Appendix C of "The X Keyboard Extension: Protocol Specification") + * Byte 3 = 0xfe + */ + + XK_ISO_Level3_Shift: 0xfe03, /* AltGr */ + XK_ISO_Next_Group: 0xfe08, + XK_ISO_Prev_Group: 0xfe0a, + XK_ISO_First_Group: 0xfe0c, + XK_ISO_Last_Group: 0xfe0e, + + /* + * Latin 1 + * (ISO/IEC 8859-1: Unicode U+0020..U+00FF) + * Byte 3: 0 + */ + + XK_space: 0x0020, /* U+0020 SPACE */ + XK_exclam: 0x0021, /* U+0021 EXCLAMATION MARK */ + XK_quotedbl: 0x0022, /* U+0022 QUOTATION MARK */ + XK_numbersign: 0x0023, /* U+0023 NUMBER SIGN */ + XK_dollar: 0x0024, /* U+0024 DOLLAR SIGN */ + XK_percent: 0x0025, /* U+0025 PERCENT SIGN */ + XK_ampersand: 0x0026, /* U+0026 AMPERSAND */ + XK_apostrophe: 0x0027, /* U+0027 APOSTROPHE */ + XK_quoteright: 0x0027, /* deprecated */ + XK_parenleft: 0x0028, /* U+0028 LEFT PARENTHESIS */ + XK_parenright: 0x0029, /* U+0029 RIGHT PARENTHESIS */ + XK_asterisk: 0x002a, /* U+002A ASTERISK */ + XK_plus: 0x002b, /* U+002B PLUS SIGN */ + XK_comma: 0x002c, /* U+002C COMMA */ + XK_minus: 0x002d, /* U+002D HYPHEN-MINUS */ + XK_period: 0x002e, /* U+002E FULL STOP */ + XK_slash: 0x002f, /* U+002F SOLIDUS */ + XK_0: 0x0030, /* U+0030 DIGIT ZERO */ + XK_1: 0x0031, /* U+0031 DIGIT ONE */ + XK_2: 0x0032, /* U+0032 DIGIT TWO */ + XK_3: 0x0033, /* U+0033 DIGIT THREE */ + XK_4: 0x0034, /* U+0034 DIGIT FOUR */ + XK_5: 0x0035, /* U+0035 DIGIT FIVE */ + XK_6: 0x0036, /* U+0036 DIGIT SIX */ + XK_7: 0x0037, /* U+0037 DIGIT SEVEN */ + XK_8: 0x0038, /* U+0038 DIGIT EIGHT */ + XK_9: 0x0039, /* U+0039 DIGIT NINE */ + XK_colon: 0x003a, /* U+003A COLON */ + XK_semicolon: 0x003b, /* U+003B SEMICOLON */ + XK_less: 0x003c, /* U+003C LESS-THAN SIGN */ + XK_equal: 0x003d, /* U+003D EQUALS SIGN */ + XK_greater: 0x003e, /* U+003E GREATER-THAN SIGN */ + XK_question: 0x003f, /* U+003F QUESTION MARK */ + XK_at: 0x0040, /* U+0040 COMMERCIAL AT */ + XK_A: 0x0041, /* U+0041 LATIN CAPITAL LETTER A */ + XK_B: 0x0042, /* U+0042 LATIN CAPITAL LETTER B */ + XK_C: 0x0043, /* U+0043 LATIN CAPITAL LETTER C */ + XK_D: 0x0044, /* U+0044 LATIN CAPITAL LETTER D */ + XK_E: 0x0045, /* U+0045 LATIN CAPITAL LETTER E */ + XK_F: 0x0046, /* U+0046 LATIN CAPITAL LETTER F */ + XK_G: 0x0047, /* U+0047 LATIN CAPITAL LETTER G */ + XK_H: 0x0048, /* U+0048 LATIN CAPITAL LETTER H */ + XK_I: 0x0049, /* U+0049 LATIN CAPITAL LETTER I */ + XK_J: 0x004a, /* U+004A LATIN CAPITAL LETTER J */ + XK_K: 0x004b, /* U+004B LATIN CAPITAL LETTER K */ + XK_L: 0x004c, /* U+004C LATIN CAPITAL LETTER L */ + XK_M: 0x004d, /* U+004D LATIN CAPITAL LETTER M */ + XK_N: 0x004e, /* U+004E LATIN CAPITAL LETTER N */ + XK_O: 0x004f, /* U+004F LATIN CAPITAL LETTER O */ + XK_P: 0x0050, /* U+0050 LATIN CAPITAL LETTER P */ + XK_Q: 0x0051, /* U+0051 LATIN CAPITAL LETTER Q */ + XK_R: 0x0052, /* U+0052 LATIN CAPITAL LETTER R */ + XK_S: 0x0053, /* U+0053 LATIN CAPITAL LETTER S */ + XK_T: 0x0054, /* U+0054 LATIN CAPITAL LETTER T */ + XK_U: 0x0055, /* U+0055 LATIN CAPITAL LETTER U */ + XK_V: 0x0056, /* U+0056 LATIN CAPITAL LETTER V */ + XK_W: 0x0057, /* U+0057 LATIN CAPITAL LETTER W */ + XK_X: 0x0058, /* U+0058 LATIN CAPITAL LETTER X */ + XK_Y: 0x0059, /* U+0059 LATIN CAPITAL LETTER Y */ + XK_Z: 0x005a, /* U+005A LATIN CAPITAL LETTER Z */ + XK_bracketleft: 0x005b, /* U+005B LEFT SQUARE BRACKET */ + XK_backslash: 0x005c, /* U+005C REVERSE SOLIDUS */ + XK_bracketright: 0x005d, /* U+005D RIGHT SQUARE BRACKET */ + XK_asciicircum: 0x005e, /* U+005E CIRCUMFLEX ACCENT */ + XK_underscore: 0x005f, /* U+005F LOW LINE */ + XK_grave: 0x0060, /* U+0060 GRAVE ACCENT */ + XK_quoteleft: 0x0060, /* deprecated */ + XK_a: 0x0061, /* U+0061 LATIN SMALL LETTER A */ + XK_b: 0x0062, /* U+0062 LATIN SMALL LETTER B */ + XK_c: 0x0063, /* U+0063 LATIN SMALL LETTER C */ + XK_d: 0x0064, /* U+0064 LATIN SMALL LETTER D */ + XK_e: 0x0065, /* U+0065 LATIN SMALL LETTER E */ + XK_f: 0x0066, /* U+0066 LATIN SMALL LETTER F */ + XK_g: 0x0067, /* U+0067 LATIN SMALL LETTER G */ + XK_h: 0x0068, /* U+0068 LATIN SMALL LETTER H */ + XK_i: 0x0069, /* U+0069 LATIN SMALL LETTER I */ + XK_j: 0x006a, /* U+006A LATIN SMALL LETTER J */ + XK_k: 0x006b, /* U+006B LATIN SMALL LETTER K */ + XK_l: 0x006c, /* U+006C LATIN SMALL LETTER L */ + XK_m: 0x006d, /* U+006D LATIN SMALL LETTER M */ + XK_n: 0x006e, /* U+006E LATIN SMALL LETTER N */ + XK_o: 0x006f, /* U+006F LATIN SMALL LETTER O */ + XK_p: 0x0070, /* U+0070 LATIN SMALL LETTER P */ + XK_q: 0x0071, /* U+0071 LATIN SMALL LETTER Q */ + XK_r: 0x0072, /* U+0072 LATIN SMALL LETTER R */ + XK_s: 0x0073, /* U+0073 LATIN SMALL LETTER S */ + XK_t: 0x0074, /* U+0074 LATIN SMALL LETTER T */ + XK_u: 0x0075, /* U+0075 LATIN SMALL LETTER U */ + XK_v: 0x0076, /* U+0076 LATIN SMALL LETTER V */ + XK_w: 0x0077, /* U+0077 LATIN SMALL LETTER W */ + XK_x: 0x0078, /* U+0078 LATIN SMALL LETTER X */ + XK_y: 0x0079, /* U+0079 LATIN SMALL LETTER Y */ + XK_z: 0x007a, /* U+007A LATIN SMALL LETTER Z */ + XK_braceleft: 0x007b, /* U+007B LEFT CURLY BRACKET */ + XK_bar: 0x007c, /* U+007C VERTICAL LINE */ + XK_braceright: 0x007d, /* U+007D RIGHT CURLY BRACKET */ + XK_asciitilde: 0x007e, /* U+007E TILDE */ + + XK_nobreakspace: 0x00a0, /* U+00A0 NO-BREAK SPACE */ + XK_exclamdown: 0x00a1, /* U+00A1 INVERTED EXCLAMATION MARK */ + XK_cent: 0x00a2, /* U+00A2 CENT SIGN */ + XK_sterling: 0x00a3, /* U+00A3 POUND SIGN */ + XK_currency: 0x00a4, /* U+00A4 CURRENCY SIGN */ + XK_yen: 0x00a5, /* U+00A5 YEN SIGN */ + XK_brokenbar: 0x00a6, /* U+00A6 BROKEN BAR */ + XK_section: 0x00a7, /* U+00A7 SECTION SIGN */ + XK_diaeresis: 0x00a8, /* U+00A8 DIAERESIS */ + XK_copyright: 0x00a9, /* U+00A9 COPYRIGHT SIGN */ + XK_ordfeminine: 0x00aa, /* U+00AA FEMININE ORDINAL INDICATOR */ + XK_guillemotleft: 0x00ab, /* U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ + XK_notsign: 0x00ac, /* U+00AC NOT SIGN */ + XK_hyphen: 0x00ad, /* U+00AD SOFT HYPHEN */ + XK_registered: 0x00ae, /* U+00AE REGISTERED SIGN */ + XK_macron: 0x00af, /* U+00AF MACRON */ + XK_degree: 0x00b0, /* U+00B0 DEGREE SIGN */ + XK_plusminus: 0x00b1, /* U+00B1 PLUS-MINUS SIGN */ + XK_twosuperior: 0x00b2, /* U+00B2 SUPERSCRIPT TWO */ + XK_threesuperior: 0x00b3, /* U+00B3 SUPERSCRIPT THREE */ + XK_acute: 0x00b4, /* U+00B4 ACUTE ACCENT */ + XK_mu: 0x00b5, /* U+00B5 MICRO SIGN */ + XK_paragraph: 0x00b6, /* U+00B6 PILCROW SIGN */ + XK_periodcentered: 0x00b7, /* U+00B7 MIDDLE DOT */ + XK_cedilla: 0x00b8, /* U+00B8 CEDILLA */ + XK_onesuperior: 0x00b9, /* U+00B9 SUPERSCRIPT ONE */ + XK_masculine: 0x00ba, /* U+00BA MASCULINE ORDINAL INDICATOR */ + XK_guillemotright: 0x00bb, /* U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ + XK_onequarter: 0x00bc, /* U+00BC VULGAR FRACTION ONE QUARTER */ + XK_onehalf: 0x00bd, /* U+00BD VULGAR FRACTION ONE HALF */ + XK_threequarters: 0x00be, /* U+00BE VULGAR FRACTION THREE QUARTERS */ + XK_questiondown: 0x00bf, /* U+00BF INVERTED QUESTION MARK */ + XK_Agrave: 0x00c0, /* U+00C0 LATIN CAPITAL LETTER A WITH GRAVE */ + XK_Aacute: 0x00c1, /* U+00C1 LATIN CAPITAL LETTER A WITH ACUTE */ + XK_Acircumflex: 0x00c2, /* U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX */ + XK_Atilde: 0x00c3, /* U+00C3 LATIN CAPITAL LETTER A WITH TILDE */ + XK_Adiaeresis: 0x00c4, /* U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS */ + XK_Aring: 0x00c5, /* U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE */ + XK_AE: 0x00c6, /* U+00C6 LATIN CAPITAL LETTER AE */ + XK_Ccedilla: 0x00c7, /* U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA */ + XK_Egrave: 0x00c8, /* U+00C8 LATIN CAPITAL LETTER E WITH GRAVE */ + XK_Eacute: 0x00c9, /* U+00C9 LATIN CAPITAL LETTER E WITH ACUTE */ + XK_Ecircumflex: 0x00ca, /* U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX */ + XK_Ediaeresis: 0x00cb, /* U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS */ + XK_Igrave: 0x00cc, /* U+00CC LATIN CAPITAL LETTER I WITH GRAVE */ + XK_Iacute: 0x00cd, /* U+00CD LATIN CAPITAL LETTER I WITH ACUTE */ + XK_Icircumflex: 0x00ce, /* U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX */ + XK_Idiaeresis: 0x00cf, /* U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS */ + XK_ETH: 0x00d0, /* U+00D0 LATIN CAPITAL LETTER ETH */ + XK_Eth: 0x00d0, /* deprecated */ + XK_Ntilde: 0x00d1, /* U+00D1 LATIN CAPITAL LETTER N WITH TILDE */ + XK_Ograve: 0x00d2, /* U+00D2 LATIN CAPITAL LETTER O WITH GRAVE */ + XK_Oacute: 0x00d3, /* U+00D3 LATIN CAPITAL LETTER O WITH ACUTE */ + XK_Ocircumflex: 0x00d4, /* U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX */ + XK_Otilde: 0x00d5, /* U+00D5 LATIN CAPITAL LETTER O WITH TILDE */ + XK_Odiaeresis: 0x00d6, /* U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS */ + XK_multiply: 0x00d7, /* U+00D7 MULTIPLICATION SIGN */ + XK_Oslash: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ + XK_Ooblique: 0x00d8, /* U+00D8 LATIN CAPITAL LETTER O WITH STROKE */ + XK_Ugrave: 0x00d9, /* U+00D9 LATIN CAPITAL LETTER U WITH GRAVE */ + XK_Uacute: 0x00da, /* U+00DA LATIN CAPITAL LETTER U WITH ACUTE */ + XK_Ucircumflex: 0x00db, /* U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX */ + XK_Udiaeresis: 0x00dc, /* U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS */ + XK_Yacute: 0x00dd, /* U+00DD LATIN CAPITAL LETTER Y WITH ACUTE */ + XK_THORN: 0x00de, /* U+00DE LATIN CAPITAL LETTER THORN */ + XK_Thorn: 0x00de, /* deprecated */ + XK_ssharp: 0x00df, /* U+00DF LATIN SMALL LETTER SHARP S */ + XK_agrave: 0x00e0, /* U+00E0 LATIN SMALL LETTER A WITH GRAVE */ + XK_aacute: 0x00e1, /* U+00E1 LATIN SMALL LETTER A WITH ACUTE */ + XK_acircumflex: 0x00e2, /* U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX */ + XK_atilde: 0x00e3, /* U+00E3 LATIN SMALL LETTER A WITH TILDE */ + XK_adiaeresis: 0x00e4, /* U+00E4 LATIN SMALL LETTER A WITH DIAERESIS */ + XK_aring: 0x00e5, /* U+00E5 LATIN SMALL LETTER A WITH RING ABOVE */ + XK_ae: 0x00e6, /* U+00E6 LATIN SMALL LETTER AE */ + XK_ccedilla: 0x00e7, /* U+00E7 LATIN SMALL LETTER C WITH CEDILLA */ + XK_egrave: 0x00e8, /* U+00E8 LATIN SMALL LETTER E WITH GRAVE */ + XK_eacute: 0x00e9, /* U+00E9 LATIN SMALL LETTER E WITH ACUTE */ + XK_ecircumflex: 0x00ea, /* U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX */ + XK_ediaeresis: 0x00eb, /* U+00EB LATIN SMALL LETTER E WITH DIAERESIS */ + XK_igrave: 0x00ec, /* U+00EC LATIN SMALL LETTER I WITH GRAVE */ + XK_iacute: 0x00ed, /* U+00ED LATIN SMALL LETTER I WITH ACUTE */ + XK_icircumflex: 0x00ee, /* U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX */ + XK_idiaeresis: 0x00ef, /* U+00EF LATIN SMALL LETTER I WITH DIAERESIS */ + XK_eth: 0x00f0, /* U+00F0 LATIN SMALL LETTER ETH */ + XK_ntilde: 0x00f1, /* U+00F1 LATIN SMALL LETTER N WITH TILDE */ + XK_ograve: 0x00f2, /* U+00F2 LATIN SMALL LETTER O WITH GRAVE */ + XK_oacute: 0x00f3, /* U+00F3 LATIN SMALL LETTER O WITH ACUTE */ + XK_ocircumflex: 0x00f4, /* U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX */ + XK_otilde: 0x00f5, /* U+00F5 LATIN SMALL LETTER O WITH TILDE */ + XK_odiaeresis: 0x00f6, /* U+00F6 LATIN SMALL LETTER O WITH DIAERESIS */ + XK_division: 0x00f7, /* U+00F7 DIVISION SIGN */ + XK_oslash: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ + XK_ooblique: 0x00f8, /* U+00F8 LATIN SMALL LETTER O WITH STROKE */ + XK_ugrave: 0x00f9, /* U+00F9 LATIN SMALL LETTER U WITH GRAVE */ + XK_uacute: 0x00fa, /* U+00FA LATIN SMALL LETTER U WITH ACUTE */ + XK_ucircumflex: 0x00fb, /* U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX */ + XK_udiaeresis: 0x00fc, /* U+00FC LATIN SMALL LETTER U WITH DIAERESIS */ + XK_yacute: 0x00fd, /* U+00FD LATIN SMALL LETTER Y WITH ACUTE */ + XK_thorn: 0x00fe, /* U+00FE LATIN SMALL LETTER THORN */ + XK_ydiaeresis: 0x00ff, /* U+00FF LATIN SMALL LETTER Y WITH DIAERESIS */ + + /* + * Korean + * Byte 3 = 0x0e + */ + + XK_Hangul: 0xff31, /* Hangul start/stop(toggle) */ + XK_Hangul_Hanja: 0xff34, /* Start Hangul->Hanja Conversion */ + XK_Hangul_Jeonja: 0xff38, /* Jeonja mode */ + + /* + * XFree86 vendor specific keysyms. + * + * The XFree86 keysym range is 0x10080001 - 0x1008FFFF. + */ + + XF86XK_ModeLock: 0x1008FF01, + XF86XK_MonBrightnessUp: 0x1008FF02, + XF86XK_MonBrightnessDown: 0x1008FF03, + XF86XK_KbdLightOnOff: 0x1008FF04, + XF86XK_KbdBrightnessUp: 0x1008FF05, + XF86XK_KbdBrightnessDown: 0x1008FF06, + XF86XK_Standby: 0x1008FF10, + XF86XK_AudioLowerVolume: 0x1008FF11, + XF86XK_AudioMute: 0x1008FF12, + XF86XK_AudioRaiseVolume: 0x1008FF13, + XF86XK_AudioPlay: 0x1008FF14, + XF86XK_AudioStop: 0x1008FF15, + XF86XK_AudioPrev: 0x1008FF16, + XF86XK_AudioNext: 0x1008FF17, + XF86XK_HomePage: 0x1008FF18, + XF86XK_Mail: 0x1008FF19, + XF86XK_Start: 0x1008FF1A, + XF86XK_Search: 0x1008FF1B, + XF86XK_AudioRecord: 0x1008FF1C, + XF86XK_Calculator: 0x1008FF1D, + XF86XK_Memo: 0x1008FF1E, + XF86XK_ToDoList: 0x1008FF1F, + XF86XK_Calendar: 0x1008FF20, + XF86XK_PowerDown: 0x1008FF21, + XF86XK_ContrastAdjust: 0x1008FF22, + XF86XK_RockerUp: 0x1008FF23, + XF86XK_RockerDown: 0x1008FF24, + XF86XK_RockerEnter: 0x1008FF25, + XF86XK_Back: 0x1008FF26, + XF86XK_Forward: 0x1008FF27, + XF86XK_Stop: 0x1008FF28, + XF86XK_Refresh: 0x1008FF29, + XF86XK_PowerOff: 0x1008FF2A, + XF86XK_WakeUp: 0x1008FF2B, + XF86XK_Eject: 0x1008FF2C, + XF86XK_ScreenSaver: 0x1008FF2D, + XF86XK_WWW: 0x1008FF2E, + XF86XK_Sleep: 0x1008FF2F, + XF86XK_Favorites: 0x1008FF30, + XF86XK_AudioPause: 0x1008FF31, + XF86XK_AudioMedia: 0x1008FF32, + XF86XK_MyComputer: 0x1008FF33, + XF86XK_VendorHome: 0x1008FF34, + XF86XK_LightBulb: 0x1008FF35, + XF86XK_Shop: 0x1008FF36, + XF86XK_History: 0x1008FF37, + XF86XK_OpenURL: 0x1008FF38, + XF86XK_AddFavorite: 0x1008FF39, + XF86XK_HotLinks: 0x1008FF3A, + XF86XK_BrightnessAdjust: 0x1008FF3B, + XF86XK_Finance: 0x1008FF3C, + XF86XK_Community: 0x1008FF3D, + XF86XK_AudioRewind: 0x1008FF3E, + XF86XK_BackForward: 0x1008FF3F, + XF86XK_Launch0: 0x1008FF40, + XF86XK_Launch1: 0x1008FF41, + XF86XK_Launch2: 0x1008FF42, + XF86XK_Launch3: 0x1008FF43, + XF86XK_Launch4: 0x1008FF44, + XF86XK_Launch5: 0x1008FF45, + XF86XK_Launch6: 0x1008FF46, + XF86XK_Launch7: 0x1008FF47, + XF86XK_Launch8: 0x1008FF48, + XF86XK_Launch9: 0x1008FF49, + XF86XK_LaunchA: 0x1008FF4A, + XF86XK_LaunchB: 0x1008FF4B, + XF86XK_LaunchC: 0x1008FF4C, + XF86XK_LaunchD: 0x1008FF4D, + XF86XK_LaunchE: 0x1008FF4E, + XF86XK_LaunchF: 0x1008FF4F, + XF86XK_ApplicationLeft: 0x1008FF50, + XF86XK_ApplicationRight: 0x1008FF51, + XF86XK_Book: 0x1008FF52, + XF86XK_CD: 0x1008FF53, + XF86XK_Calculater: 0x1008FF54, + XF86XK_Clear: 0x1008FF55, + XF86XK_Close: 0x1008FF56, + XF86XK_Copy: 0x1008FF57, + XF86XK_Cut: 0x1008FF58, + XF86XK_Display: 0x1008FF59, + XF86XK_DOS: 0x1008FF5A, + XF86XK_Documents: 0x1008FF5B, + XF86XK_Excel: 0x1008FF5C, + XF86XK_Explorer: 0x1008FF5D, + XF86XK_Game: 0x1008FF5E, + XF86XK_Go: 0x1008FF5F, + XF86XK_iTouch: 0x1008FF60, + XF86XK_LogOff: 0x1008FF61, + XF86XK_Market: 0x1008FF62, + XF86XK_Meeting: 0x1008FF63, + XF86XK_MenuKB: 0x1008FF65, + XF86XK_MenuPB: 0x1008FF66, + XF86XK_MySites: 0x1008FF67, + XF86XK_New: 0x1008FF68, + XF86XK_News: 0x1008FF69, + XF86XK_OfficeHome: 0x1008FF6A, + XF86XK_Open: 0x1008FF6B, + XF86XK_Option: 0x1008FF6C, + XF86XK_Paste: 0x1008FF6D, + XF86XK_Phone: 0x1008FF6E, + XF86XK_Q: 0x1008FF70, + XF86XK_Reply: 0x1008FF72, + XF86XK_Reload: 0x1008FF73, + XF86XK_RotateWindows: 0x1008FF74, + XF86XK_RotationPB: 0x1008FF75, + XF86XK_RotationKB: 0x1008FF76, + XF86XK_Save: 0x1008FF77, + XF86XK_ScrollUp: 0x1008FF78, + XF86XK_ScrollDown: 0x1008FF79, + XF86XK_ScrollClick: 0x1008FF7A, + XF86XK_Send: 0x1008FF7B, + XF86XK_Spell: 0x1008FF7C, + XF86XK_SplitScreen: 0x1008FF7D, + XF86XK_Support: 0x1008FF7E, + XF86XK_TaskPane: 0x1008FF7F, + XF86XK_Terminal: 0x1008FF80, + XF86XK_Tools: 0x1008FF81, + XF86XK_Travel: 0x1008FF82, + XF86XK_UserPB: 0x1008FF84, + XF86XK_User1KB: 0x1008FF85, + XF86XK_User2KB: 0x1008FF86, + XF86XK_Video: 0x1008FF87, + XF86XK_WheelButton: 0x1008FF88, + XF86XK_Word: 0x1008FF89, + XF86XK_Xfer: 0x1008FF8A, + XF86XK_ZoomIn: 0x1008FF8B, + XF86XK_ZoomOut: 0x1008FF8C, + XF86XK_Away: 0x1008FF8D, + XF86XK_Messenger: 0x1008FF8E, + XF86XK_WebCam: 0x1008FF8F, + XF86XK_MailForward: 0x1008FF90, + XF86XK_Pictures: 0x1008FF91, + XF86XK_Music: 0x1008FF92, + XF86XK_Battery: 0x1008FF93, + XF86XK_Bluetooth: 0x1008FF94, + XF86XK_WLAN: 0x1008FF95, + XF86XK_UWB: 0x1008FF96, + XF86XK_AudioForward: 0x1008FF97, + XF86XK_AudioRepeat: 0x1008FF98, + XF86XK_AudioRandomPlay: 0x1008FF99, + XF86XK_Subtitle: 0x1008FF9A, + XF86XK_AudioCycleTrack: 0x1008FF9B, + XF86XK_CycleAngle: 0x1008FF9C, + XF86XK_FrameBack: 0x1008FF9D, + XF86XK_FrameForward: 0x1008FF9E, + XF86XK_Time: 0x1008FF9F, + XF86XK_Select: 0x1008FFA0, + XF86XK_View: 0x1008FFA1, + XF86XK_TopMenu: 0x1008FFA2, + XF86XK_Red: 0x1008FFA3, + XF86XK_Green: 0x1008FFA4, + XF86XK_Yellow: 0x1008FFA5, + XF86XK_Blue: 0x1008FFA6, + XF86XK_Suspend: 0x1008FFA7, + XF86XK_Hibernate: 0x1008FFA8, + XF86XK_TouchpadToggle: 0x1008FFA9, + XF86XK_TouchpadOn: 0x1008FFB0, + XF86XK_TouchpadOff: 0x1008FFB1, + XF86XK_AudioMicMute: 0x1008FFB2, + XF86XK_Switch_VT_1: 0x1008FE01, + XF86XK_Switch_VT_2: 0x1008FE02, + XF86XK_Switch_VT_3: 0x1008FE03, + XF86XK_Switch_VT_4: 0x1008FE04, + XF86XK_Switch_VT_5: 0x1008FE05, + XF86XK_Switch_VT_6: 0x1008FE06, + XF86XK_Switch_VT_7: 0x1008FE07, + XF86XK_Switch_VT_8: 0x1008FE08, + XF86XK_Switch_VT_9: 0x1008FE09, + XF86XK_Switch_VT_10: 0x1008FE0A, + XF86XK_Switch_VT_11: 0x1008FE0B, + XF86XK_Switch_VT_12: 0x1008FE0C, + XF86XK_Ungrab: 0x1008FE20, + XF86XK_ClearGrab: 0x1008FE21, + XF86XK_Next_VMode: 0x1008FE22, + XF86XK_Prev_VMode: 0x1008FE23, + XF86XK_LogWindowTree: 0x1008FE24, + XF86XK_LogGrabInfo: 0x1008FE25, +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysymdef.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysymdef.js index 951caca..31f43d5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysymdef.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/keysymdef.js @@ -1,688 +1,688 @@ -/* - * Mapping from Unicode codepoints to X11/RFB keysyms - * - * This file was automatically generated from keysymdef.h - * DO NOT EDIT! - */ - -/* Functions at the bottom */ - -const codepoints = { - 0x0100: 0x03c0, // XK_Amacron - 0x0101: 0x03e0, // XK_amacron - 0x0102: 0x01c3, // XK_Abreve - 0x0103: 0x01e3, // XK_abreve - 0x0104: 0x01a1, // XK_Aogonek - 0x0105: 0x01b1, // XK_aogonek - 0x0106: 0x01c6, // XK_Cacute - 0x0107: 0x01e6, // XK_cacute - 0x0108: 0x02c6, // XK_Ccircumflex - 0x0109: 0x02e6, // XK_ccircumflex - 0x010a: 0x02c5, // XK_Cabovedot - 0x010b: 0x02e5, // XK_cabovedot - 0x010c: 0x01c8, // XK_Ccaron - 0x010d: 0x01e8, // XK_ccaron - 0x010e: 0x01cf, // XK_Dcaron - 0x010f: 0x01ef, // XK_dcaron - 0x0110: 0x01d0, // XK_Dstroke - 0x0111: 0x01f0, // XK_dstroke - 0x0112: 0x03aa, // XK_Emacron - 0x0113: 0x03ba, // XK_emacron - 0x0116: 0x03cc, // XK_Eabovedot - 0x0117: 0x03ec, // XK_eabovedot - 0x0118: 0x01ca, // XK_Eogonek - 0x0119: 0x01ea, // XK_eogonek - 0x011a: 0x01cc, // XK_Ecaron - 0x011b: 0x01ec, // XK_ecaron - 0x011c: 0x02d8, // XK_Gcircumflex - 0x011d: 0x02f8, // XK_gcircumflex - 0x011e: 0x02ab, // XK_Gbreve - 0x011f: 0x02bb, // XK_gbreve - 0x0120: 0x02d5, // XK_Gabovedot - 0x0121: 0x02f5, // XK_gabovedot - 0x0122: 0x03ab, // XK_Gcedilla - 0x0123: 0x03bb, // XK_gcedilla - 0x0124: 0x02a6, // XK_Hcircumflex - 0x0125: 0x02b6, // XK_hcircumflex - 0x0126: 0x02a1, // XK_Hstroke - 0x0127: 0x02b1, // XK_hstroke - 0x0128: 0x03a5, // XK_Itilde - 0x0129: 0x03b5, // XK_itilde - 0x012a: 0x03cf, // XK_Imacron - 0x012b: 0x03ef, // XK_imacron - 0x012e: 0x03c7, // XK_Iogonek - 0x012f: 0x03e7, // XK_iogonek - 0x0130: 0x02a9, // XK_Iabovedot - 0x0131: 0x02b9, // XK_idotless - 0x0134: 0x02ac, // XK_Jcircumflex - 0x0135: 0x02bc, // XK_jcircumflex - 0x0136: 0x03d3, // XK_Kcedilla - 0x0137: 0x03f3, // XK_kcedilla - 0x0138: 0x03a2, // XK_kra - 0x0139: 0x01c5, // XK_Lacute - 0x013a: 0x01e5, // XK_lacute - 0x013b: 0x03a6, // XK_Lcedilla - 0x013c: 0x03b6, // XK_lcedilla - 0x013d: 0x01a5, // XK_Lcaron - 0x013e: 0x01b5, // XK_lcaron - 0x0141: 0x01a3, // XK_Lstroke - 0x0142: 0x01b3, // XK_lstroke - 0x0143: 0x01d1, // XK_Nacute - 0x0144: 0x01f1, // XK_nacute - 0x0145: 0x03d1, // XK_Ncedilla - 0x0146: 0x03f1, // XK_ncedilla - 0x0147: 0x01d2, // XK_Ncaron - 0x0148: 0x01f2, // XK_ncaron - 0x014a: 0x03bd, // XK_ENG - 0x014b: 0x03bf, // XK_eng - 0x014c: 0x03d2, // XK_Omacron - 0x014d: 0x03f2, // XK_omacron - 0x0150: 0x01d5, // XK_Odoubleacute - 0x0151: 0x01f5, // XK_odoubleacute - 0x0152: 0x13bc, // XK_OE - 0x0153: 0x13bd, // XK_oe - 0x0154: 0x01c0, // XK_Racute - 0x0155: 0x01e0, // XK_racute - 0x0156: 0x03a3, // XK_Rcedilla - 0x0157: 0x03b3, // XK_rcedilla - 0x0158: 0x01d8, // XK_Rcaron - 0x0159: 0x01f8, // XK_rcaron - 0x015a: 0x01a6, // XK_Sacute - 0x015b: 0x01b6, // XK_sacute - 0x015c: 0x02de, // XK_Scircumflex - 0x015d: 0x02fe, // XK_scircumflex - 0x015e: 0x01aa, // XK_Scedilla - 0x015f: 0x01ba, // XK_scedilla - 0x0160: 0x01a9, // XK_Scaron - 0x0161: 0x01b9, // XK_scaron - 0x0162: 0x01de, // XK_Tcedilla - 0x0163: 0x01fe, // XK_tcedilla - 0x0164: 0x01ab, // XK_Tcaron - 0x0165: 0x01bb, // XK_tcaron - 0x0166: 0x03ac, // XK_Tslash - 0x0167: 0x03bc, // XK_tslash - 0x0168: 0x03dd, // XK_Utilde - 0x0169: 0x03fd, // XK_utilde - 0x016a: 0x03de, // XK_Umacron - 0x016b: 0x03fe, // XK_umacron - 0x016c: 0x02dd, // XK_Ubreve - 0x016d: 0x02fd, // XK_ubreve - 0x016e: 0x01d9, // XK_Uring - 0x016f: 0x01f9, // XK_uring - 0x0170: 0x01db, // XK_Udoubleacute - 0x0171: 0x01fb, // XK_udoubleacute - 0x0172: 0x03d9, // XK_Uogonek - 0x0173: 0x03f9, // XK_uogonek - 0x0178: 0x13be, // XK_Ydiaeresis - 0x0179: 0x01ac, // XK_Zacute - 0x017a: 0x01bc, // XK_zacute - 0x017b: 0x01af, // XK_Zabovedot - 0x017c: 0x01bf, // XK_zabovedot - 0x017d: 0x01ae, // XK_Zcaron - 0x017e: 0x01be, // XK_zcaron - 0x0192: 0x08f6, // XK_function - 0x01d2: 0x10001d1, // XK_Ocaron - 0x02c7: 0x01b7, // XK_caron - 0x02d8: 0x01a2, // XK_breve - 0x02d9: 0x01ff, // XK_abovedot - 0x02db: 0x01b2, // XK_ogonek - 0x02dd: 0x01bd, // XK_doubleacute - 0x0385: 0x07ae, // XK_Greek_accentdieresis - 0x0386: 0x07a1, // XK_Greek_ALPHAaccent - 0x0388: 0x07a2, // XK_Greek_EPSILONaccent - 0x0389: 0x07a3, // XK_Greek_ETAaccent - 0x038a: 0x07a4, // XK_Greek_IOTAaccent - 0x038c: 0x07a7, // XK_Greek_OMICRONaccent - 0x038e: 0x07a8, // XK_Greek_UPSILONaccent - 0x038f: 0x07ab, // XK_Greek_OMEGAaccent - 0x0390: 0x07b6, // XK_Greek_iotaaccentdieresis - 0x0391: 0x07c1, // XK_Greek_ALPHA - 0x0392: 0x07c2, // XK_Greek_BETA - 0x0393: 0x07c3, // XK_Greek_GAMMA - 0x0394: 0x07c4, // XK_Greek_DELTA - 0x0395: 0x07c5, // XK_Greek_EPSILON - 0x0396: 0x07c6, // XK_Greek_ZETA - 0x0397: 0x07c7, // XK_Greek_ETA - 0x0398: 0x07c8, // XK_Greek_THETA - 0x0399: 0x07c9, // XK_Greek_IOTA - 0x039a: 0x07ca, // XK_Greek_KAPPA - 0x039b: 0x07cb, // XK_Greek_LAMDA - 0x039c: 0x07cc, // XK_Greek_MU - 0x039d: 0x07cd, // XK_Greek_NU - 0x039e: 0x07ce, // XK_Greek_XI - 0x039f: 0x07cf, // XK_Greek_OMICRON - 0x03a0: 0x07d0, // XK_Greek_PI - 0x03a1: 0x07d1, // XK_Greek_RHO - 0x03a3: 0x07d2, // XK_Greek_SIGMA - 0x03a4: 0x07d4, // XK_Greek_TAU - 0x03a5: 0x07d5, // XK_Greek_UPSILON - 0x03a6: 0x07d6, // XK_Greek_PHI - 0x03a7: 0x07d7, // XK_Greek_CHI - 0x03a8: 0x07d8, // XK_Greek_PSI - 0x03a9: 0x07d9, // XK_Greek_OMEGA - 0x03aa: 0x07a5, // XK_Greek_IOTAdieresis - 0x03ab: 0x07a9, // XK_Greek_UPSILONdieresis - 0x03ac: 0x07b1, // XK_Greek_alphaaccent - 0x03ad: 0x07b2, // XK_Greek_epsilonaccent - 0x03ae: 0x07b3, // XK_Greek_etaaccent - 0x03af: 0x07b4, // XK_Greek_iotaaccent - 0x03b0: 0x07ba, // XK_Greek_upsilonaccentdieresis - 0x03b1: 0x07e1, // XK_Greek_alpha - 0x03b2: 0x07e2, // XK_Greek_beta - 0x03b3: 0x07e3, // XK_Greek_gamma - 0x03b4: 0x07e4, // XK_Greek_delta - 0x03b5: 0x07e5, // XK_Greek_epsilon - 0x03b6: 0x07e6, // XK_Greek_zeta - 0x03b7: 0x07e7, // XK_Greek_eta - 0x03b8: 0x07e8, // XK_Greek_theta - 0x03b9: 0x07e9, // XK_Greek_iota - 0x03ba: 0x07ea, // XK_Greek_kappa - 0x03bb: 0x07eb, // XK_Greek_lamda - 0x03bc: 0x07ec, // XK_Greek_mu - 0x03bd: 0x07ed, // XK_Greek_nu - 0x03be: 0x07ee, // XK_Greek_xi - 0x03bf: 0x07ef, // XK_Greek_omicron - 0x03c0: 0x07f0, // XK_Greek_pi - 0x03c1: 0x07f1, // XK_Greek_rho - 0x03c2: 0x07f3, // XK_Greek_finalsmallsigma - 0x03c3: 0x07f2, // XK_Greek_sigma - 0x03c4: 0x07f4, // XK_Greek_tau - 0x03c5: 0x07f5, // XK_Greek_upsilon - 0x03c6: 0x07f6, // XK_Greek_phi - 0x03c7: 0x07f7, // XK_Greek_chi - 0x03c8: 0x07f8, // XK_Greek_psi - 0x03c9: 0x07f9, // XK_Greek_omega - 0x03ca: 0x07b5, // XK_Greek_iotadieresis - 0x03cb: 0x07b9, // XK_Greek_upsilondieresis - 0x03cc: 0x07b7, // XK_Greek_omicronaccent - 0x03cd: 0x07b8, // XK_Greek_upsilonaccent - 0x03ce: 0x07bb, // XK_Greek_omegaaccent - 0x0401: 0x06b3, // XK_Cyrillic_IO - 0x0402: 0x06b1, // XK_Serbian_DJE - 0x0403: 0x06b2, // XK_Macedonia_GJE - 0x0404: 0x06b4, // XK_Ukrainian_IE - 0x0405: 0x06b5, // XK_Macedonia_DSE - 0x0406: 0x06b6, // XK_Ukrainian_I - 0x0407: 0x06b7, // XK_Ukrainian_YI - 0x0408: 0x06b8, // XK_Cyrillic_JE - 0x0409: 0x06b9, // XK_Cyrillic_LJE - 0x040a: 0x06ba, // XK_Cyrillic_NJE - 0x040b: 0x06bb, // XK_Serbian_TSHE - 0x040c: 0x06bc, // XK_Macedonia_KJE - 0x040e: 0x06be, // XK_Byelorussian_SHORTU - 0x040f: 0x06bf, // XK_Cyrillic_DZHE - 0x0410: 0x06e1, // XK_Cyrillic_A - 0x0411: 0x06e2, // XK_Cyrillic_BE - 0x0412: 0x06f7, // XK_Cyrillic_VE - 0x0413: 0x06e7, // XK_Cyrillic_GHE - 0x0414: 0x06e4, // XK_Cyrillic_DE - 0x0415: 0x06e5, // XK_Cyrillic_IE - 0x0416: 0x06f6, // XK_Cyrillic_ZHE - 0x0417: 0x06fa, // XK_Cyrillic_ZE - 0x0418: 0x06e9, // XK_Cyrillic_I - 0x0419: 0x06ea, // XK_Cyrillic_SHORTI - 0x041a: 0x06eb, // XK_Cyrillic_KA - 0x041b: 0x06ec, // XK_Cyrillic_EL - 0x041c: 0x06ed, // XK_Cyrillic_EM - 0x041d: 0x06ee, // XK_Cyrillic_EN - 0x041e: 0x06ef, // XK_Cyrillic_O - 0x041f: 0x06f0, // XK_Cyrillic_PE - 0x0420: 0x06f2, // XK_Cyrillic_ER - 0x0421: 0x06f3, // XK_Cyrillic_ES - 0x0422: 0x06f4, // XK_Cyrillic_TE - 0x0423: 0x06f5, // XK_Cyrillic_U - 0x0424: 0x06e6, // XK_Cyrillic_EF - 0x0425: 0x06e8, // XK_Cyrillic_HA - 0x0426: 0x06e3, // XK_Cyrillic_TSE - 0x0427: 0x06fe, // XK_Cyrillic_CHE - 0x0428: 0x06fb, // XK_Cyrillic_SHA - 0x0429: 0x06fd, // XK_Cyrillic_SHCHA - 0x042a: 0x06ff, // XK_Cyrillic_HARDSIGN - 0x042b: 0x06f9, // XK_Cyrillic_YERU - 0x042c: 0x06f8, // XK_Cyrillic_SOFTSIGN - 0x042d: 0x06fc, // XK_Cyrillic_E - 0x042e: 0x06e0, // XK_Cyrillic_YU - 0x042f: 0x06f1, // XK_Cyrillic_YA - 0x0430: 0x06c1, // XK_Cyrillic_a - 0x0431: 0x06c2, // XK_Cyrillic_be - 0x0432: 0x06d7, // XK_Cyrillic_ve - 0x0433: 0x06c7, // XK_Cyrillic_ghe - 0x0434: 0x06c4, // XK_Cyrillic_de - 0x0435: 0x06c5, // XK_Cyrillic_ie - 0x0436: 0x06d6, // XK_Cyrillic_zhe - 0x0437: 0x06da, // XK_Cyrillic_ze - 0x0438: 0x06c9, // XK_Cyrillic_i - 0x0439: 0x06ca, // XK_Cyrillic_shorti - 0x043a: 0x06cb, // XK_Cyrillic_ka - 0x043b: 0x06cc, // XK_Cyrillic_el - 0x043c: 0x06cd, // XK_Cyrillic_em - 0x043d: 0x06ce, // XK_Cyrillic_en - 0x043e: 0x06cf, // XK_Cyrillic_o - 0x043f: 0x06d0, // XK_Cyrillic_pe - 0x0440: 0x06d2, // XK_Cyrillic_er - 0x0441: 0x06d3, // XK_Cyrillic_es - 0x0442: 0x06d4, // XK_Cyrillic_te - 0x0443: 0x06d5, // XK_Cyrillic_u - 0x0444: 0x06c6, // XK_Cyrillic_ef - 0x0445: 0x06c8, // XK_Cyrillic_ha - 0x0446: 0x06c3, // XK_Cyrillic_tse - 0x0447: 0x06de, // XK_Cyrillic_che - 0x0448: 0x06db, // XK_Cyrillic_sha - 0x0449: 0x06dd, // XK_Cyrillic_shcha - 0x044a: 0x06df, // XK_Cyrillic_hardsign - 0x044b: 0x06d9, // XK_Cyrillic_yeru - 0x044c: 0x06d8, // XK_Cyrillic_softsign - 0x044d: 0x06dc, // XK_Cyrillic_e - 0x044e: 0x06c0, // XK_Cyrillic_yu - 0x044f: 0x06d1, // XK_Cyrillic_ya - 0x0451: 0x06a3, // XK_Cyrillic_io - 0x0452: 0x06a1, // XK_Serbian_dje - 0x0453: 0x06a2, // XK_Macedonia_gje - 0x0454: 0x06a4, // XK_Ukrainian_ie - 0x0455: 0x06a5, // XK_Macedonia_dse - 0x0456: 0x06a6, // XK_Ukrainian_i - 0x0457: 0x06a7, // XK_Ukrainian_yi - 0x0458: 0x06a8, // XK_Cyrillic_je - 0x0459: 0x06a9, // XK_Cyrillic_lje - 0x045a: 0x06aa, // XK_Cyrillic_nje - 0x045b: 0x06ab, // XK_Serbian_tshe - 0x045c: 0x06ac, // XK_Macedonia_kje - 0x045e: 0x06ae, // XK_Byelorussian_shortu - 0x045f: 0x06af, // XK_Cyrillic_dzhe - 0x0490: 0x06bd, // XK_Ukrainian_GHE_WITH_UPTURN - 0x0491: 0x06ad, // XK_Ukrainian_ghe_with_upturn - 0x05d0: 0x0ce0, // XK_hebrew_aleph - 0x05d1: 0x0ce1, // XK_hebrew_bet - 0x05d2: 0x0ce2, // XK_hebrew_gimel - 0x05d3: 0x0ce3, // XK_hebrew_dalet - 0x05d4: 0x0ce4, // XK_hebrew_he - 0x05d5: 0x0ce5, // XK_hebrew_waw - 0x05d6: 0x0ce6, // XK_hebrew_zain - 0x05d7: 0x0ce7, // XK_hebrew_chet - 0x05d8: 0x0ce8, // XK_hebrew_tet - 0x05d9: 0x0ce9, // XK_hebrew_yod - 0x05da: 0x0cea, // XK_hebrew_finalkaph - 0x05db: 0x0ceb, // XK_hebrew_kaph - 0x05dc: 0x0cec, // XK_hebrew_lamed - 0x05dd: 0x0ced, // XK_hebrew_finalmem - 0x05de: 0x0cee, // XK_hebrew_mem - 0x05df: 0x0cef, // XK_hebrew_finalnun - 0x05e0: 0x0cf0, // XK_hebrew_nun - 0x05e1: 0x0cf1, // XK_hebrew_samech - 0x05e2: 0x0cf2, // XK_hebrew_ayin - 0x05e3: 0x0cf3, // XK_hebrew_finalpe - 0x05e4: 0x0cf4, // XK_hebrew_pe - 0x05e5: 0x0cf5, // XK_hebrew_finalzade - 0x05e6: 0x0cf6, // XK_hebrew_zade - 0x05e7: 0x0cf7, // XK_hebrew_qoph - 0x05e8: 0x0cf8, // XK_hebrew_resh - 0x05e9: 0x0cf9, // XK_hebrew_shin - 0x05ea: 0x0cfa, // XK_hebrew_taw - 0x060c: 0x05ac, // XK_Arabic_comma - 0x061b: 0x05bb, // XK_Arabic_semicolon - 0x061f: 0x05bf, // XK_Arabic_question_mark - 0x0621: 0x05c1, // XK_Arabic_hamza - 0x0622: 0x05c2, // XK_Arabic_maddaonalef - 0x0623: 0x05c3, // XK_Arabic_hamzaonalef - 0x0624: 0x05c4, // XK_Arabic_hamzaonwaw - 0x0625: 0x05c5, // XK_Arabic_hamzaunderalef - 0x0626: 0x05c6, // XK_Arabic_hamzaonyeh - 0x0627: 0x05c7, // XK_Arabic_alef - 0x0628: 0x05c8, // XK_Arabic_beh - 0x0629: 0x05c9, // XK_Arabic_tehmarbuta - 0x062a: 0x05ca, // XK_Arabic_teh - 0x062b: 0x05cb, // XK_Arabic_theh - 0x062c: 0x05cc, // XK_Arabic_jeem - 0x062d: 0x05cd, // XK_Arabic_hah - 0x062e: 0x05ce, // XK_Arabic_khah - 0x062f: 0x05cf, // XK_Arabic_dal - 0x0630: 0x05d0, // XK_Arabic_thal - 0x0631: 0x05d1, // XK_Arabic_ra - 0x0632: 0x05d2, // XK_Arabic_zain - 0x0633: 0x05d3, // XK_Arabic_seen - 0x0634: 0x05d4, // XK_Arabic_sheen - 0x0635: 0x05d5, // XK_Arabic_sad - 0x0636: 0x05d6, // XK_Arabic_dad - 0x0637: 0x05d7, // XK_Arabic_tah - 0x0638: 0x05d8, // XK_Arabic_zah - 0x0639: 0x05d9, // XK_Arabic_ain - 0x063a: 0x05da, // XK_Arabic_ghain - 0x0640: 0x05e0, // XK_Arabic_tatweel - 0x0641: 0x05e1, // XK_Arabic_feh - 0x0642: 0x05e2, // XK_Arabic_qaf - 0x0643: 0x05e3, // XK_Arabic_kaf - 0x0644: 0x05e4, // XK_Arabic_lam - 0x0645: 0x05e5, // XK_Arabic_meem - 0x0646: 0x05e6, // XK_Arabic_noon - 0x0647: 0x05e7, // XK_Arabic_ha - 0x0648: 0x05e8, // XK_Arabic_waw - 0x0649: 0x05e9, // XK_Arabic_alefmaksura - 0x064a: 0x05ea, // XK_Arabic_yeh - 0x064b: 0x05eb, // XK_Arabic_fathatan - 0x064c: 0x05ec, // XK_Arabic_dammatan - 0x064d: 0x05ed, // XK_Arabic_kasratan - 0x064e: 0x05ee, // XK_Arabic_fatha - 0x064f: 0x05ef, // XK_Arabic_damma - 0x0650: 0x05f0, // XK_Arabic_kasra - 0x0651: 0x05f1, // XK_Arabic_shadda - 0x0652: 0x05f2, // XK_Arabic_sukun - 0x0e01: 0x0da1, // XK_Thai_kokai - 0x0e02: 0x0da2, // XK_Thai_khokhai - 0x0e03: 0x0da3, // XK_Thai_khokhuat - 0x0e04: 0x0da4, // XK_Thai_khokhwai - 0x0e05: 0x0da5, // XK_Thai_khokhon - 0x0e06: 0x0da6, // XK_Thai_khorakhang - 0x0e07: 0x0da7, // XK_Thai_ngongu - 0x0e08: 0x0da8, // XK_Thai_chochan - 0x0e09: 0x0da9, // XK_Thai_choching - 0x0e0a: 0x0daa, // XK_Thai_chochang - 0x0e0b: 0x0dab, // XK_Thai_soso - 0x0e0c: 0x0dac, // XK_Thai_chochoe - 0x0e0d: 0x0dad, // XK_Thai_yoying - 0x0e0e: 0x0dae, // XK_Thai_dochada - 0x0e0f: 0x0daf, // XK_Thai_topatak - 0x0e10: 0x0db0, // XK_Thai_thothan - 0x0e11: 0x0db1, // XK_Thai_thonangmontho - 0x0e12: 0x0db2, // XK_Thai_thophuthao - 0x0e13: 0x0db3, // XK_Thai_nonen - 0x0e14: 0x0db4, // XK_Thai_dodek - 0x0e15: 0x0db5, // XK_Thai_totao - 0x0e16: 0x0db6, // XK_Thai_thothung - 0x0e17: 0x0db7, // XK_Thai_thothahan - 0x0e18: 0x0db8, // XK_Thai_thothong - 0x0e19: 0x0db9, // XK_Thai_nonu - 0x0e1a: 0x0dba, // XK_Thai_bobaimai - 0x0e1b: 0x0dbb, // XK_Thai_popla - 0x0e1c: 0x0dbc, // XK_Thai_phophung - 0x0e1d: 0x0dbd, // XK_Thai_fofa - 0x0e1e: 0x0dbe, // XK_Thai_phophan - 0x0e1f: 0x0dbf, // XK_Thai_fofan - 0x0e20: 0x0dc0, // XK_Thai_phosamphao - 0x0e21: 0x0dc1, // XK_Thai_moma - 0x0e22: 0x0dc2, // XK_Thai_yoyak - 0x0e23: 0x0dc3, // XK_Thai_rorua - 0x0e24: 0x0dc4, // XK_Thai_ru - 0x0e25: 0x0dc5, // XK_Thai_loling - 0x0e26: 0x0dc6, // XK_Thai_lu - 0x0e27: 0x0dc7, // XK_Thai_wowaen - 0x0e28: 0x0dc8, // XK_Thai_sosala - 0x0e29: 0x0dc9, // XK_Thai_sorusi - 0x0e2a: 0x0dca, // XK_Thai_sosua - 0x0e2b: 0x0dcb, // XK_Thai_hohip - 0x0e2c: 0x0dcc, // XK_Thai_lochula - 0x0e2d: 0x0dcd, // XK_Thai_oang - 0x0e2e: 0x0dce, // XK_Thai_honokhuk - 0x0e2f: 0x0dcf, // XK_Thai_paiyannoi - 0x0e30: 0x0dd0, // XK_Thai_saraa - 0x0e31: 0x0dd1, // XK_Thai_maihanakat - 0x0e32: 0x0dd2, // XK_Thai_saraaa - 0x0e33: 0x0dd3, // XK_Thai_saraam - 0x0e34: 0x0dd4, // XK_Thai_sarai - 0x0e35: 0x0dd5, // XK_Thai_saraii - 0x0e36: 0x0dd6, // XK_Thai_saraue - 0x0e37: 0x0dd7, // XK_Thai_sarauee - 0x0e38: 0x0dd8, // XK_Thai_sarau - 0x0e39: 0x0dd9, // XK_Thai_sarauu - 0x0e3a: 0x0dda, // XK_Thai_phinthu - 0x0e3f: 0x0ddf, // XK_Thai_baht - 0x0e40: 0x0de0, // XK_Thai_sarae - 0x0e41: 0x0de1, // XK_Thai_saraae - 0x0e42: 0x0de2, // XK_Thai_sarao - 0x0e43: 0x0de3, // XK_Thai_saraaimaimuan - 0x0e44: 0x0de4, // XK_Thai_saraaimaimalai - 0x0e45: 0x0de5, // XK_Thai_lakkhangyao - 0x0e46: 0x0de6, // XK_Thai_maiyamok - 0x0e47: 0x0de7, // XK_Thai_maitaikhu - 0x0e48: 0x0de8, // XK_Thai_maiek - 0x0e49: 0x0de9, // XK_Thai_maitho - 0x0e4a: 0x0dea, // XK_Thai_maitri - 0x0e4b: 0x0deb, // XK_Thai_maichattawa - 0x0e4c: 0x0dec, // XK_Thai_thanthakhat - 0x0e4d: 0x0ded, // XK_Thai_nikhahit - 0x0e50: 0x0df0, // XK_Thai_leksun - 0x0e51: 0x0df1, // XK_Thai_leknung - 0x0e52: 0x0df2, // XK_Thai_leksong - 0x0e53: 0x0df3, // XK_Thai_leksam - 0x0e54: 0x0df4, // XK_Thai_leksi - 0x0e55: 0x0df5, // XK_Thai_lekha - 0x0e56: 0x0df6, // XK_Thai_lekhok - 0x0e57: 0x0df7, // XK_Thai_lekchet - 0x0e58: 0x0df8, // XK_Thai_lekpaet - 0x0e59: 0x0df9, // XK_Thai_lekkao - 0x2002: 0x0aa2, // XK_enspace - 0x2003: 0x0aa1, // XK_emspace - 0x2004: 0x0aa3, // XK_em3space - 0x2005: 0x0aa4, // XK_em4space - 0x2007: 0x0aa5, // XK_digitspace - 0x2008: 0x0aa6, // XK_punctspace - 0x2009: 0x0aa7, // XK_thinspace - 0x200a: 0x0aa8, // XK_hairspace - 0x2012: 0x0abb, // XK_figdash - 0x2013: 0x0aaa, // XK_endash - 0x2014: 0x0aa9, // XK_emdash - 0x2015: 0x07af, // XK_Greek_horizbar - 0x2017: 0x0cdf, // XK_hebrew_doublelowline - 0x2018: 0x0ad0, // XK_leftsinglequotemark - 0x2019: 0x0ad1, // XK_rightsinglequotemark - 0x201a: 0x0afd, // XK_singlelowquotemark - 0x201c: 0x0ad2, // XK_leftdoublequotemark - 0x201d: 0x0ad3, // XK_rightdoublequotemark - 0x201e: 0x0afe, // XK_doublelowquotemark - 0x2020: 0x0af1, // XK_dagger - 0x2021: 0x0af2, // XK_doubledagger - 0x2022: 0x0ae6, // XK_enfilledcircbullet - 0x2025: 0x0aaf, // XK_doubbaselinedot - 0x2026: 0x0aae, // XK_ellipsis - 0x2030: 0x0ad5, // XK_permille - 0x2032: 0x0ad6, // XK_minutes - 0x2033: 0x0ad7, // XK_seconds - 0x2038: 0x0afc, // XK_caret - 0x203e: 0x047e, // XK_overline - 0x20a9: 0x0eff, // XK_Korean_Won - 0x20ac: 0x20ac, // XK_EuroSign - 0x2105: 0x0ab8, // XK_careof - 0x2116: 0x06b0, // XK_numerosign - 0x2117: 0x0afb, // XK_phonographcopyright - 0x211e: 0x0ad4, // XK_prescription - 0x2122: 0x0ac9, // XK_trademark - 0x2153: 0x0ab0, // XK_onethird - 0x2154: 0x0ab1, // XK_twothirds - 0x2155: 0x0ab2, // XK_onefifth - 0x2156: 0x0ab3, // XK_twofifths - 0x2157: 0x0ab4, // XK_threefifths - 0x2158: 0x0ab5, // XK_fourfifths - 0x2159: 0x0ab6, // XK_onesixth - 0x215a: 0x0ab7, // XK_fivesixths - 0x215b: 0x0ac3, // XK_oneeighth - 0x215c: 0x0ac4, // XK_threeeighths - 0x215d: 0x0ac5, // XK_fiveeighths - 0x215e: 0x0ac6, // XK_seveneighths - 0x2190: 0x08fb, // XK_leftarrow - 0x2191: 0x08fc, // XK_uparrow - 0x2192: 0x08fd, // XK_rightarrow - 0x2193: 0x08fe, // XK_downarrow - 0x21d2: 0x08ce, // XK_implies - 0x21d4: 0x08cd, // XK_ifonlyif - 0x2202: 0x08ef, // XK_partialderivative - 0x2207: 0x08c5, // XK_nabla - 0x2218: 0x0bca, // XK_jot - 0x221a: 0x08d6, // XK_radical - 0x221d: 0x08c1, // XK_variation - 0x221e: 0x08c2, // XK_infinity - 0x2227: 0x08de, // XK_logicaland - 0x2228: 0x08df, // XK_logicalor - 0x2229: 0x08dc, // XK_intersection - 0x222a: 0x08dd, // XK_union - 0x222b: 0x08bf, // XK_integral - 0x2234: 0x08c0, // XK_therefore - 0x223c: 0x08c8, // XK_approximate - 0x2243: 0x08c9, // XK_similarequal - 0x2245: 0x1002248, // XK_approxeq - 0x2260: 0x08bd, // XK_notequal - 0x2261: 0x08cf, // XK_identical - 0x2264: 0x08bc, // XK_lessthanequal - 0x2265: 0x08be, // XK_greaterthanequal - 0x2282: 0x08da, // XK_includedin - 0x2283: 0x08db, // XK_includes - 0x22a2: 0x0bfc, // XK_righttack - 0x22a3: 0x0bdc, // XK_lefttack - 0x22a4: 0x0bc2, // XK_downtack - 0x22a5: 0x0bce, // XK_uptack - 0x2308: 0x0bd3, // XK_upstile - 0x230a: 0x0bc4, // XK_downstile - 0x2315: 0x0afa, // XK_telephonerecorder - 0x2320: 0x08a4, // XK_topintegral - 0x2321: 0x08a5, // XK_botintegral - 0x2395: 0x0bcc, // XK_quad - 0x239b: 0x08ab, // XK_topleftparens - 0x239d: 0x08ac, // XK_botleftparens - 0x239e: 0x08ad, // XK_toprightparens - 0x23a0: 0x08ae, // XK_botrightparens - 0x23a1: 0x08a7, // XK_topleftsqbracket - 0x23a3: 0x08a8, // XK_botleftsqbracket - 0x23a4: 0x08a9, // XK_toprightsqbracket - 0x23a6: 0x08aa, // XK_botrightsqbracket - 0x23a8: 0x08af, // XK_leftmiddlecurlybrace - 0x23ac: 0x08b0, // XK_rightmiddlecurlybrace - 0x23b7: 0x08a1, // XK_leftradical - 0x23ba: 0x09ef, // XK_horizlinescan1 - 0x23bb: 0x09f0, // XK_horizlinescan3 - 0x23bc: 0x09f2, // XK_horizlinescan7 - 0x23bd: 0x09f3, // XK_horizlinescan9 - 0x2409: 0x09e2, // XK_ht - 0x240a: 0x09e5, // XK_lf - 0x240b: 0x09e9, // XK_vt - 0x240c: 0x09e3, // XK_ff - 0x240d: 0x09e4, // XK_cr - 0x2423: 0x0aac, // XK_signifblank - 0x2424: 0x09e8, // XK_nl - 0x2500: 0x08a3, // XK_horizconnector - 0x2502: 0x08a6, // XK_vertconnector - 0x250c: 0x08a2, // XK_topleftradical - 0x2510: 0x09eb, // XK_uprightcorner - 0x2514: 0x09ed, // XK_lowleftcorner - 0x2518: 0x09ea, // XK_lowrightcorner - 0x251c: 0x09f4, // XK_leftt - 0x2524: 0x09f5, // XK_rightt - 0x252c: 0x09f7, // XK_topt - 0x2534: 0x09f6, // XK_bott - 0x253c: 0x09ee, // XK_crossinglines - 0x2592: 0x09e1, // XK_checkerboard - 0x25aa: 0x0ae7, // XK_enfilledsqbullet - 0x25ab: 0x0ae1, // XK_enopensquarebullet - 0x25ac: 0x0adb, // XK_filledrectbullet - 0x25ad: 0x0ae2, // XK_openrectbullet - 0x25ae: 0x0adf, // XK_emfilledrect - 0x25af: 0x0acf, // XK_emopenrectangle - 0x25b2: 0x0ae8, // XK_filledtribulletup - 0x25b3: 0x0ae3, // XK_opentribulletup - 0x25b6: 0x0add, // XK_filledrighttribullet - 0x25b7: 0x0acd, // XK_rightopentriangle - 0x25bc: 0x0ae9, // XK_filledtribulletdown - 0x25bd: 0x0ae4, // XK_opentribulletdown - 0x25c0: 0x0adc, // XK_filledlefttribullet - 0x25c1: 0x0acc, // XK_leftopentriangle - 0x25c6: 0x09e0, // XK_soliddiamond - 0x25cb: 0x0ace, // XK_emopencircle - 0x25cf: 0x0ade, // XK_emfilledcircle - 0x25e6: 0x0ae0, // XK_enopencircbullet - 0x2606: 0x0ae5, // XK_openstar - 0x260e: 0x0af9, // XK_telephone - 0x2613: 0x0aca, // XK_signaturemark - 0x261c: 0x0aea, // XK_leftpointer - 0x261e: 0x0aeb, // XK_rightpointer - 0x2640: 0x0af8, // XK_femalesymbol - 0x2642: 0x0af7, // XK_malesymbol - 0x2663: 0x0aec, // XK_club - 0x2665: 0x0aee, // XK_heart - 0x2666: 0x0aed, // XK_diamond - 0x266d: 0x0af6, // XK_musicalflat - 0x266f: 0x0af5, // XK_musicalsharp - 0x2713: 0x0af3, // XK_checkmark - 0x2717: 0x0af4, // XK_ballotcross - 0x271d: 0x0ad9, // XK_latincross - 0x2720: 0x0af0, // XK_maltesecross - 0x27e8: 0x0abc, // XK_leftanglebracket - 0x27e9: 0x0abe, // XK_rightanglebracket - 0x3001: 0x04a4, // XK_kana_comma - 0x3002: 0x04a1, // XK_kana_fullstop - 0x300c: 0x04a2, // XK_kana_openingbracket - 0x300d: 0x04a3, // XK_kana_closingbracket - 0x309b: 0x04de, // XK_voicedsound - 0x309c: 0x04df, // XK_semivoicedsound - 0x30a1: 0x04a7, // XK_kana_a - 0x30a2: 0x04b1, // XK_kana_A - 0x30a3: 0x04a8, // XK_kana_i - 0x30a4: 0x04b2, // XK_kana_I - 0x30a5: 0x04a9, // XK_kana_u - 0x30a6: 0x04b3, // XK_kana_U - 0x30a7: 0x04aa, // XK_kana_e - 0x30a8: 0x04b4, // XK_kana_E - 0x30a9: 0x04ab, // XK_kana_o - 0x30aa: 0x04b5, // XK_kana_O - 0x30ab: 0x04b6, // XK_kana_KA - 0x30ad: 0x04b7, // XK_kana_KI - 0x30af: 0x04b8, // XK_kana_KU - 0x30b1: 0x04b9, // XK_kana_KE - 0x30b3: 0x04ba, // XK_kana_KO - 0x30b5: 0x04bb, // XK_kana_SA - 0x30b7: 0x04bc, // XK_kana_SHI - 0x30b9: 0x04bd, // XK_kana_SU - 0x30bb: 0x04be, // XK_kana_SE - 0x30bd: 0x04bf, // XK_kana_SO - 0x30bf: 0x04c0, // XK_kana_TA - 0x30c1: 0x04c1, // XK_kana_CHI - 0x30c3: 0x04af, // XK_kana_tsu - 0x30c4: 0x04c2, // XK_kana_TSU - 0x30c6: 0x04c3, // XK_kana_TE - 0x30c8: 0x04c4, // XK_kana_TO - 0x30ca: 0x04c5, // XK_kana_NA - 0x30cb: 0x04c6, // XK_kana_NI - 0x30cc: 0x04c7, // XK_kana_NU - 0x30cd: 0x04c8, // XK_kana_NE - 0x30ce: 0x04c9, // XK_kana_NO - 0x30cf: 0x04ca, // XK_kana_HA - 0x30d2: 0x04cb, // XK_kana_HI - 0x30d5: 0x04cc, // XK_kana_FU - 0x30d8: 0x04cd, // XK_kana_HE - 0x30db: 0x04ce, // XK_kana_HO - 0x30de: 0x04cf, // XK_kana_MA - 0x30df: 0x04d0, // XK_kana_MI - 0x30e0: 0x04d1, // XK_kana_MU - 0x30e1: 0x04d2, // XK_kana_ME - 0x30e2: 0x04d3, // XK_kana_MO - 0x30e3: 0x04ac, // XK_kana_ya - 0x30e4: 0x04d4, // XK_kana_YA - 0x30e5: 0x04ad, // XK_kana_yu - 0x30e6: 0x04d5, // XK_kana_YU - 0x30e7: 0x04ae, // XK_kana_yo - 0x30e8: 0x04d6, // XK_kana_YO - 0x30e9: 0x04d7, // XK_kana_RA - 0x30ea: 0x04d8, // XK_kana_RI - 0x30eb: 0x04d9, // XK_kana_RU - 0x30ec: 0x04da, // XK_kana_RE - 0x30ed: 0x04db, // XK_kana_RO - 0x30ef: 0x04dc, // XK_kana_WA - 0x30f2: 0x04a6, // XK_kana_WO - 0x30f3: 0x04dd, // XK_kana_N - 0x30fb: 0x04a5, // XK_kana_conjunctive - 0x30fc: 0x04b0, // XK_prolongedsound -}; - -export default { - lookup(u) { - // Latin-1 is one-to-one mapping - if ((u >= 0x20) && (u <= 0xff)) { - return u; - } - - // Lookup table (fairly random) - const keysym = codepoints[u]; - if (keysym !== undefined) { - return keysym; - } - - // General mapping as final fallback - return 0x01000000 | u; - }, -}; +/* + * Mapping from Unicode codepoints to X11/RFB keysyms + * + * This file was automatically generated from keysymdef.h + * DO NOT EDIT! + */ + +/* Functions at the bottom */ + +const codepoints = { + 0x0100: 0x03c0, // XK_Amacron + 0x0101: 0x03e0, // XK_amacron + 0x0102: 0x01c3, // XK_Abreve + 0x0103: 0x01e3, // XK_abreve + 0x0104: 0x01a1, // XK_Aogonek + 0x0105: 0x01b1, // XK_aogonek + 0x0106: 0x01c6, // XK_Cacute + 0x0107: 0x01e6, // XK_cacute + 0x0108: 0x02c6, // XK_Ccircumflex + 0x0109: 0x02e6, // XK_ccircumflex + 0x010a: 0x02c5, // XK_Cabovedot + 0x010b: 0x02e5, // XK_cabovedot + 0x010c: 0x01c8, // XK_Ccaron + 0x010d: 0x01e8, // XK_ccaron + 0x010e: 0x01cf, // XK_Dcaron + 0x010f: 0x01ef, // XK_dcaron + 0x0110: 0x01d0, // XK_Dstroke + 0x0111: 0x01f0, // XK_dstroke + 0x0112: 0x03aa, // XK_Emacron + 0x0113: 0x03ba, // XK_emacron + 0x0116: 0x03cc, // XK_Eabovedot + 0x0117: 0x03ec, // XK_eabovedot + 0x0118: 0x01ca, // XK_Eogonek + 0x0119: 0x01ea, // XK_eogonek + 0x011a: 0x01cc, // XK_Ecaron + 0x011b: 0x01ec, // XK_ecaron + 0x011c: 0x02d8, // XK_Gcircumflex + 0x011d: 0x02f8, // XK_gcircumflex + 0x011e: 0x02ab, // XK_Gbreve + 0x011f: 0x02bb, // XK_gbreve + 0x0120: 0x02d5, // XK_Gabovedot + 0x0121: 0x02f5, // XK_gabovedot + 0x0122: 0x03ab, // XK_Gcedilla + 0x0123: 0x03bb, // XK_gcedilla + 0x0124: 0x02a6, // XK_Hcircumflex + 0x0125: 0x02b6, // XK_hcircumflex + 0x0126: 0x02a1, // XK_Hstroke + 0x0127: 0x02b1, // XK_hstroke + 0x0128: 0x03a5, // XK_Itilde + 0x0129: 0x03b5, // XK_itilde + 0x012a: 0x03cf, // XK_Imacron + 0x012b: 0x03ef, // XK_imacron + 0x012e: 0x03c7, // XK_Iogonek + 0x012f: 0x03e7, // XK_iogonek + 0x0130: 0x02a9, // XK_Iabovedot + 0x0131: 0x02b9, // XK_idotless + 0x0134: 0x02ac, // XK_Jcircumflex + 0x0135: 0x02bc, // XK_jcircumflex + 0x0136: 0x03d3, // XK_Kcedilla + 0x0137: 0x03f3, // XK_kcedilla + 0x0138: 0x03a2, // XK_kra + 0x0139: 0x01c5, // XK_Lacute + 0x013a: 0x01e5, // XK_lacute + 0x013b: 0x03a6, // XK_Lcedilla + 0x013c: 0x03b6, // XK_lcedilla + 0x013d: 0x01a5, // XK_Lcaron + 0x013e: 0x01b5, // XK_lcaron + 0x0141: 0x01a3, // XK_Lstroke + 0x0142: 0x01b3, // XK_lstroke + 0x0143: 0x01d1, // XK_Nacute + 0x0144: 0x01f1, // XK_nacute + 0x0145: 0x03d1, // XK_Ncedilla + 0x0146: 0x03f1, // XK_ncedilla + 0x0147: 0x01d2, // XK_Ncaron + 0x0148: 0x01f2, // XK_ncaron + 0x014a: 0x03bd, // XK_ENG + 0x014b: 0x03bf, // XK_eng + 0x014c: 0x03d2, // XK_Omacron + 0x014d: 0x03f2, // XK_omacron + 0x0150: 0x01d5, // XK_Odoubleacute + 0x0151: 0x01f5, // XK_odoubleacute + 0x0152: 0x13bc, // XK_OE + 0x0153: 0x13bd, // XK_oe + 0x0154: 0x01c0, // XK_Racute + 0x0155: 0x01e0, // XK_racute + 0x0156: 0x03a3, // XK_Rcedilla + 0x0157: 0x03b3, // XK_rcedilla + 0x0158: 0x01d8, // XK_Rcaron + 0x0159: 0x01f8, // XK_rcaron + 0x015a: 0x01a6, // XK_Sacute + 0x015b: 0x01b6, // XK_sacute + 0x015c: 0x02de, // XK_Scircumflex + 0x015d: 0x02fe, // XK_scircumflex + 0x015e: 0x01aa, // XK_Scedilla + 0x015f: 0x01ba, // XK_scedilla + 0x0160: 0x01a9, // XK_Scaron + 0x0161: 0x01b9, // XK_scaron + 0x0162: 0x01de, // XK_Tcedilla + 0x0163: 0x01fe, // XK_tcedilla + 0x0164: 0x01ab, // XK_Tcaron + 0x0165: 0x01bb, // XK_tcaron + 0x0166: 0x03ac, // XK_Tslash + 0x0167: 0x03bc, // XK_tslash + 0x0168: 0x03dd, // XK_Utilde + 0x0169: 0x03fd, // XK_utilde + 0x016a: 0x03de, // XK_Umacron + 0x016b: 0x03fe, // XK_umacron + 0x016c: 0x02dd, // XK_Ubreve + 0x016d: 0x02fd, // XK_ubreve + 0x016e: 0x01d9, // XK_Uring + 0x016f: 0x01f9, // XK_uring + 0x0170: 0x01db, // XK_Udoubleacute + 0x0171: 0x01fb, // XK_udoubleacute + 0x0172: 0x03d9, // XK_Uogonek + 0x0173: 0x03f9, // XK_uogonek + 0x0178: 0x13be, // XK_Ydiaeresis + 0x0179: 0x01ac, // XK_Zacute + 0x017a: 0x01bc, // XK_zacute + 0x017b: 0x01af, // XK_Zabovedot + 0x017c: 0x01bf, // XK_zabovedot + 0x017d: 0x01ae, // XK_Zcaron + 0x017e: 0x01be, // XK_zcaron + 0x0192: 0x08f6, // XK_function + 0x01d2: 0x10001d1, // XK_Ocaron + 0x02c7: 0x01b7, // XK_caron + 0x02d8: 0x01a2, // XK_breve + 0x02d9: 0x01ff, // XK_abovedot + 0x02db: 0x01b2, // XK_ogonek + 0x02dd: 0x01bd, // XK_doubleacute + 0x0385: 0x07ae, // XK_Greek_accentdieresis + 0x0386: 0x07a1, // XK_Greek_ALPHAaccent + 0x0388: 0x07a2, // XK_Greek_EPSILONaccent + 0x0389: 0x07a3, // XK_Greek_ETAaccent + 0x038a: 0x07a4, // XK_Greek_IOTAaccent + 0x038c: 0x07a7, // XK_Greek_OMICRONaccent + 0x038e: 0x07a8, // XK_Greek_UPSILONaccent + 0x038f: 0x07ab, // XK_Greek_OMEGAaccent + 0x0390: 0x07b6, // XK_Greek_iotaaccentdieresis + 0x0391: 0x07c1, // XK_Greek_ALPHA + 0x0392: 0x07c2, // XK_Greek_BETA + 0x0393: 0x07c3, // XK_Greek_GAMMA + 0x0394: 0x07c4, // XK_Greek_DELTA + 0x0395: 0x07c5, // XK_Greek_EPSILON + 0x0396: 0x07c6, // XK_Greek_ZETA + 0x0397: 0x07c7, // XK_Greek_ETA + 0x0398: 0x07c8, // XK_Greek_THETA + 0x0399: 0x07c9, // XK_Greek_IOTA + 0x039a: 0x07ca, // XK_Greek_KAPPA + 0x039b: 0x07cb, // XK_Greek_LAMDA + 0x039c: 0x07cc, // XK_Greek_MU + 0x039d: 0x07cd, // XK_Greek_NU + 0x039e: 0x07ce, // XK_Greek_XI + 0x039f: 0x07cf, // XK_Greek_OMICRON + 0x03a0: 0x07d0, // XK_Greek_PI + 0x03a1: 0x07d1, // XK_Greek_RHO + 0x03a3: 0x07d2, // XK_Greek_SIGMA + 0x03a4: 0x07d4, // XK_Greek_TAU + 0x03a5: 0x07d5, // XK_Greek_UPSILON + 0x03a6: 0x07d6, // XK_Greek_PHI + 0x03a7: 0x07d7, // XK_Greek_CHI + 0x03a8: 0x07d8, // XK_Greek_PSI + 0x03a9: 0x07d9, // XK_Greek_OMEGA + 0x03aa: 0x07a5, // XK_Greek_IOTAdieresis + 0x03ab: 0x07a9, // XK_Greek_UPSILONdieresis + 0x03ac: 0x07b1, // XK_Greek_alphaaccent + 0x03ad: 0x07b2, // XK_Greek_epsilonaccent + 0x03ae: 0x07b3, // XK_Greek_etaaccent + 0x03af: 0x07b4, // XK_Greek_iotaaccent + 0x03b0: 0x07ba, // XK_Greek_upsilonaccentdieresis + 0x03b1: 0x07e1, // XK_Greek_alpha + 0x03b2: 0x07e2, // XK_Greek_beta + 0x03b3: 0x07e3, // XK_Greek_gamma + 0x03b4: 0x07e4, // XK_Greek_delta + 0x03b5: 0x07e5, // XK_Greek_epsilon + 0x03b6: 0x07e6, // XK_Greek_zeta + 0x03b7: 0x07e7, // XK_Greek_eta + 0x03b8: 0x07e8, // XK_Greek_theta + 0x03b9: 0x07e9, // XK_Greek_iota + 0x03ba: 0x07ea, // XK_Greek_kappa + 0x03bb: 0x07eb, // XK_Greek_lamda + 0x03bc: 0x07ec, // XK_Greek_mu + 0x03bd: 0x07ed, // XK_Greek_nu + 0x03be: 0x07ee, // XK_Greek_xi + 0x03bf: 0x07ef, // XK_Greek_omicron + 0x03c0: 0x07f0, // XK_Greek_pi + 0x03c1: 0x07f1, // XK_Greek_rho + 0x03c2: 0x07f3, // XK_Greek_finalsmallsigma + 0x03c3: 0x07f2, // XK_Greek_sigma + 0x03c4: 0x07f4, // XK_Greek_tau + 0x03c5: 0x07f5, // XK_Greek_upsilon + 0x03c6: 0x07f6, // XK_Greek_phi + 0x03c7: 0x07f7, // XK_Greek_chi + 0x03c8: 0x07f8, // XK_Greek_psi + 0x03c9: 0x07f9, // XK_Greek_omega + 0x03ca: 0x07b5, // XK_Greek_iotadieresis + 0x03cb: 0x07b9, // XK_Greek_upsilondieresis + 0x03cc: 0x07b7, // XK_Greek_omicronaccent + 0x03cd: 0x07b8, // XK_Greek_upsilonaccent + 0x03ce: 0x07bb, // XK_Greek_omegaaccent + 0x0401: 0x06b3, // XK_Cyrillic_IO + 0x0402: 0x06b1, // XK_Serbian_DJE + 0x0403: 0x06b2, // XK_Macedonia_GJE + 0x0404: 0x06b4, // XK_Ukrainian_IE + 0x0405: 0x06b5, // XK_Macedonia_DSE + 0x0406: 0x06b6, // XK_Ukrainian_I + 0x0407: 0x06b7, // XK_Ukrainian_YI + 0x0408: 0x06b8, // XK_Cyrillic_JE + 0x0409: 0x06b9, // XK_Cyrillic_LJE + 0x040a: 0x06ba, // XK_Cyrillic_NJE + 0x040b: 0x06bb, // XK_Serbian_TSHE + 0x040c: 0x06bc, // XK_Macedonia_KJE + 0x040e: 0x06be, // XK_Byelorussian_SHORTU + 0x040f: 0x06bf, // XK_Cyrillic_DZHE + 0x0410: 0x06e1, // XK_Cyrillic_A + 0x0411: 0x06e2, // XK_Cyrillic_BE + 0x0412: 0x06f7, // XK_Cyrillic_VE + 0x0413: 0x06e7, // XK_Cyrillic_GHE + 0x0414: 0x06e4, // XK_Cyrillic_DE + 0x0415: 0x06e5, // XK_Cyrillic_IE + 0x0416: 0x06f6, // XK_Cyrillic_ZHE + 0x0417: 0x06fa, // XK_Cyrillic_ZE + 0x0418: 0x06e9, // XK_Cyrillic_I + 0x0419: 0x06ea, // XK_Cyrillic_SHORTI + 0x041a: 0x06eb, // XK_Cyrillic_KA + 0x041b: 0x06ec, // XK_Cyrillic_EL + 0x041c: 0x06ed, // XK_Cyrillic_EM + 0x041d: 0x06ee, // XK_Cyrillic_EN + 0x041e: 0x06ef, // XK_Cyrillic_O + 0x041f: 0x06f0, // XK_Cyrillic_PE + 0x0420: 0x06f2, // XK_Cyrillic_ER + 0x0421: 0x06f3, // XK_Cyrillic_ES + 0x0422: 0x06f4, // XK_Cyrillic_TE + 0x0423: 0x06f5, // XK_Cyrillic_U + 0x0424: 0x06e6, // XK_Cyrillic_EF + 0x0425: 0x06e8, // XK_Cyrillic_HA + 0x0426: 0x06e3, // XK_Cyrillic_TSE + 0x0427: 0x06fe, // XK_Cyrillic_CHE + 0x0428: 0x06fb, // XK_Cyrillic_SHA + 0x0429: 0x06fd, // XK_Cyrillic_SHCHA + 0x042a: 0x06ff, // XK_Cyrillic_HARDSIGN + 0x042b: 0x06f9, // XK_Cyrillic_YERU + 0x042c: 0x06f8, // XK_Cyrillic_SOFTSIGN + 0x042d: 0x06fc, // XK_Cyrillic_E + 0x042e: 0x06e0, // XK_Cyrillic_YU + 0x042f: 0x06f1, // XK_Cyrillic_YA + 0x0430: 0x06c1, // XK_Cyrillic_a + 0x0431: 0x06c2, // XK_Cyrillic_be + 0x0432: 0x06d7, // XK_Cyrillic_ve + 0x0433: 0x06c7, // XK_Cyrillic_ghe + 0x0434: 0x06c4, // XK_Cyrillic_de + 0x0435: 0x06c5, // XK_Cyrillic_ie + 0x0436: 0x06d6, // XK_Cyrillic_zhe + 0x0437: 0x06da, // XK_Cyrillic_ze + 0x0438: 0x06c9, // XK_Cyrillic_i + 0x0439: 0x06ca, // XK_Cyrillic_shorti + 0x043a: 0x06cb, // XK_Cyrillic_ka + 0x043b: 0x06cc, // XK_Cyrillic_el + 0x043c: 0x06cd, // XK_Cyrillic_em + 0x043d: 0x06ce, // XK_Cyrillic_en + 0x043e: 0x06cf, // XK_Cyrillic_o + 0x043f: 0x06d0, // XK_Cyrillic_pe + 0x0440: 0x06d2, // XK_Cyrillic_er + 0x0441: 0x06d3, // XK_Cyrillic_es + 0x0442: 0x06d4, // XK_Cyrillic_te + 0x0443: 0x06d5, // XK_Cyrillic_u + 0x0444: 0x06c6, // XK_Cyrillic_ef + 0x0445: 0x06c8, // XK_Cyrillic_ha + 0x0446: 0x06c3, // XK_Cyrillic_tse + 0x0447: 0x06de, // XK_Cyrillic_che + 0x0448: 0x06db, // XK_Cyrillic_sha + 0x0449: 0x06dd, // XK_Cyrillic_shcha + 0x044a: 0x06df, // XK_Cyrillic_hardsign + 0x044b: 0x06d9, // XK_Cyrillic_yeru + 0x044c: 0x06d8, // XK_Cyrillic_softsign + 0x044d: 0x06dc, // XK_Cyrillic_e + 0x044e: 0x06c0, // XK_Cyrillic_yu + 0x044f: 0x06d1, // XK_Cyrillic_ya + 0x0451: 0x06a3, // XK_Cyrillic_io + 0x0452: 0x06a1, // XK_Serbian_dje + 0x0453: 0x06a2, // XK_Macedonia_gje + 0x0454: 0x06a4, // XK_Ukrainian_ie + 0x0455: 0x06a5, // XK_Macedonia_dse + 0x0456: 0x06a6, // XK_Ukrainian_i + 0x0457: 0x06a7, // XK_Ukrainian_yi + 0x0458: 0x06a8, // XK_Cyrillic_je + 0x0459: 0x06a9, // XK_Cyrillic_lje + 0x045a: 0x06aa, // XK_Cyrillic_nje + 0x045b: 0x06ab, // XK_Serbian_tshe + 0x045c: 0x06ac, // XK_Macedonia_kje + 0x045e: 0x06ae, // XK_Byelorussian_shortu + 0x045f: 0x06af, // XK_Cyrillic_dzhe + 0x0490: 0x06bd, // XK_Ukrainian_GHE_WITH_UPTURN + 0x0491: 0x06ad, // XK_Ukrainian_ghe_with_upturn + 0x05d0: 0x0ce0, // XK_hebrew_aleph + 0x05d1: 0x0ce1, // XK_hebrew_bet + 0x05d2: 0x0ce2, // XK_hebrew_gimel + 0x05d3: 0x0ce3, // XK_hebrew_dalet + 0x05d4: 0x0ce4, // XK_hebrew_he + 0x05d5: 0x0ce5, // XK_hebrew_waw + 0x05d6: 0x0ce6, // XK_hebrew_zain + 0x05d7: 0x0ce7, // XK_hebrew_chet + 0x05d8: 0x0ce8, // XK_hebrew_tet + 0x05d9: 0x0ce9, // XK_hebrew_yod + 0x05da: 0x0cea, // XK_hebrew_finalkaph + 0x05db: 0x0ceb, // XK_hebrew_kaph + 0x05dc: 0x0cec, // XK_hebrew_lamed + 0x05dd: 0x0ced, // XK_hebrew_finalmem + 0x05de: 0x0cee, // XK_hebrew_mem + 0x05df: 0x0cef, // XK_hebrew_finalnun + 0x05e0: 0x0cf0, // XK_hebrew_nun + 0x05e1: 0x0cf1, // XK_hebrew_samech + 0x05e2: 0x0cf2, // XK_hebrew_ayin + 0x05e3: 0x0cf3, // XK_hebrew_finalpe + 0x05e4: 0x0cf4, // XK_hebrew_pe + 0x05e5: 0x0cf5, // XK_hebrew_finalzade + 0x05e6: 0x0cf6, // XK_hebrew_zade + 0x05e7: 0x0cf7, // XK_hebrew_qoph + 0x05e8: 0x0cf8, // XK_hebrew_resh + 0x05e9: 0x0cf9, // XK_hebrew_shin + 0x05ea: 0x0cfa, // XK_hebrew_taw + 0x060c: 0x05ac, // XK_Arabic_comma + 0x061b: 0x05bb, // XK_Arabic_semicolon + 0x061f: 0x05bf, // XK_Arabic_question_mark + 0x0621: 0x05c1, // XK_Arabic_hamza + 0x0622: 0x05c2, // XK_Arabic_maddaonalef + 0x0623: 0x05c3, // XK_Arabic_hamzaonalef + 0x0624: 0x05c4, // XK_Arabic_hamzaonwaw + 0x0625: 0x05c5, // XK_Arabic_hamzaunderalef + 0x0626: 0x05c6, // XK_Arabic_hamzaonyeh + 0x0627: 0x05c7, // XK_Arabic_alef + 0x0628: 0x05c8, // XK_Arabic_beh + 0x0629: 0x05c9, // XK_Arabic_tehmarbuta + 0x062a: 0x05ca, // XK_Arabic_teh + 0x062b: 0x05cb, // XK_Arabic_theh + 0x062c: 0x05cc, // XK_Arabic_jeem + 0x062d: 0x05cd, // XK_Arabic_hah + 0x062e: 0x05ce, // XK_Arabic_khah + 0x062f: 0x05cf, // XK_Arabic_dal + 0x0630: 0x05d0, // XK_Arabic_thal + 0x0631: 0x05d1, // XK_Arabic_ra + 0x0632: 0x05d2, // XK_Arabic_zain + 0x0633: 0x05d3, // XK_Arabic_seen + 0x0634: 0x05d4, // XK_Arabic_sheen + 0x0635: 0x05d5, // XK_Arabic_sad + 0x0636: 0x05d6, // XK_Arabic_dad + 0x0637: 0x05d7, // XK_Arabic_tah + 0x0638: 0x05d8, // XK_Arabic_zah + 0x0639: 0x05d9, // XK_Arabic_ain + 0x063a: 0x05da, // XK_Arabic_ghain + 0x0640: 0x05e0, // XK_Arabic_tatweel + 0x0641: 0x05e1, // XK_Arabic_feh + 0x0642: 0x05e2, // XK_Arabic_qaf + 0x0643: 0x05e3, // XK_Arabic_kaf + 0x0644: 0x05e4, // XK_Arabic_lam + 0x0645: 0x05e5, // XK_Arabic_meem + 0x0646: 0x05e6, // XK_Arabic_noon + 0x0647: 0x05e7, // XK_Arabic_ha + 0x0648: 0x05e8, // XK_Arabic_waw + 0x0649: 0x05e9, // XK_Arabic_alefmaksura + 0x064a: 0x05ea, // XK_Arabic_yeh + 0x064b: 0x05eb, // XK_Arabic_fathatan + 0x064c: 0x05ec, // XK_Arabic_dammatan + 0x064d: 0x05ed, // XK_Arabic_kasratan + 0x064e: 0x05ee, // XK_Arabic_fatha + 0x064f: 0x05ef, // XK_Arabic_damma + 0x0650: 0x05f0, // XK_Arabic_kasra + 0x0651: 0x05f1, // XK_Arabic_shadda + 0x0652: 0x05f2, // XK_Arabic_sukun + 0x0e01: 0x0da1, // XK_Thai_kokai + 0x0e02: 0x0da2, // XK_Thai_khokhai + 0x0e03: 0x0da3, // XK_Thai_khokhuat + 0x0e04: 0x0da4, // XK_Thai_khokhwai + 0x0e05: 0x0da5, // XK_Thai_khokhon + 0x0e06: 0x0da6, // XK_Thai_khorakhang + 0x0e07: 0x0da7, // XK_Thai_ngongu + 0x0e08: 0x0da8, // XK_Thai_chochan + 0x0e09: 0x0da9, // XK_Thai_choching + 0x0e0a: 0x0daa, // XK_Thai_chochang + 0x0e0b: 0x0dab, // XK_Thai_soso + 0x0e0c: 0x0dac, // XK_Thai_chochoe + 0x0e0d: 0x0dad, // XK_Thai_yoying + 0x0e0e: 0x0dae, // XK_Thai_dochada + 0x0e0f: 0x0daf, // XK_Thai_topatak + 0x0e10: 0x0db0, // XK_Thai_thothan + 0x0e11: 0x0db1, // XK_Thai_thonangmontho + 0x0e12: 0x0db2, // XK_Thai_thophuthao + 0x0e13: 0x0db3, // XK_Thai_nonen + 0x0e14: 0x0db4, // XK_Thai_dodek + 0x0e15: 0x0db5, // XK_Thai_totao + 0x0e16: 0x0db6, // XK_Thai_thothung + 0x0e17: 0x0db7, // XK_Thai_thothahan + 0x0e18: 0x0db8, // XK_Thai_thothong + 0x0e19: 0x0db9, // XK_Thai_nonu + 0x0e1a: 0x0dba, // XK_Thai_bobaimai + 0x0e1b: 0x0dbb, // XK_Thai_popla + 0x0e1c: 0x0dbc, // XK_Thai_phophung + 0x0e1d: 0x0dbd, // XK_Thai_fofa + 0x0e1e: 0x0dbe, // XK_Thai_phophan + 0x0e1f: 0x0dbf, // XK_Thai_fofan + 0x0e20: 0x0dc0, // XK_Thai_phosamphao + 0x0e21: 0x0dc1, // XK_Thai_moma + 0x0e22: 0x0dc2, // XK_Thai_yoyak + 0x0e23: 0x0dc3, // XK_Thai_rorua + 0x0e24: 0x0dc4, // XK_Thai_ru + 0x0e25: 0x0dc5, // XK_Thai_loling + 0x0e26: 0x0dc6, // XK_Thai_lu + 0x0e27: 0x0dc7, // XK_Thai_wowaen + 0x0e28: 0x0dc8, // XK_Thai_sosala + 0x0e29: 0x0dc9, // XK_Thai_sorusi + 0x0e2a: 0x0dca, // XK_Thai_sosua + 0x0e2b: 0x0dcb, // XK_Thai_hohip + 0x0e2c: 0x0dcc, // XK_Thai_lochula + 0x0e2d: 0x0dcd, // XK_Thai_oang + 0x0e2e: 0x0dce, // XK_Thai_honokhuk + 0x0e2f: 0x0dcf, // XK_Thai_paiyannoi + 0x0e30: 0x0dd0, // XK_Thai_saraa + 0x0e31: 0x0dd1, // XK_Thai_maihanakat + 0x0e32: 0x0dd2, // XK_Thai_saraaa + 0x0e33: 0x0dd3, // XK_Thai_saraam + 0x0e34: 0x0dd4, // XK_Thai_sarai + 0x0e35: 0x0dd5, // XK_Thai_saraii + 0x0e36: 0x0dd6, // XK_Thai_saraue + 0x0e37: 0x0dd7, // XK_Thai_sarauee + 0x0e38: 0x0dd8, // XK_Thai_sarau + 0x0e39: 0x0dd9, // XK_Thai_sarauu + 0x0e3a: 0x0dda, // XK_Thai_phinthu + 0x0e3f: 0x0ddf, // XK_Thai_baht + 0x0e40: 0x0de0, // XK_Thai_sarae + 0x0e41: 0x0de1, // XK_Thai_saraae + 0x0e42: 0x0de2, // XK_Thai_sarao + 0x0e43: 0x0de3, // XK_Thai_saraaimaimuan + 0x0e44: 0x0de4, // XK_Thai_saraaimaimalai + 0x0e45: 0x0de5, // XK_Thai_lakkhangyao + 0x0e46: 0x0de6, // XK_Thai_maiyamok + 0x0e47: 0x0de7, // XK_Thai_maitaikhu + 0x0e48: 0x0de8, // XK_Thai_maiek + 0x0e49: 0x0de9, // XK_Thai_maitho + 0x0e4a: 0x0dea, // XK_Thai_maitri + 0x0e4b: 0x0deb, // XK_Thai_maichattawa + 0x0e4c: 0x0dec, // XK_Thai_thanthakhat + 0x0e4d: 0x0ded, // XK_Thai_nikhahit + 0x0e50: 0x0df0, // XK_Thai_leksun + 0x0e51: 0x0df1, // XK_Thai_leknung + 0x0e52: 0x0df2, // XK_Thai_leksong + 0x0e53: 0x0df3, // XK_Thai_leksam + 0x0e54: 0x0df4, // XK_Thai_leksi + 0x0e55: 0x0df5, // XK_Thai_lekha + 0x0e56: 0x0df6, // XK_Thai_lekhok + 0x0e57: 0x0df7, // XK_Thai_lekchet + 0x0e58: 0x0df8, // XK_Thai_lekpaet + 0x0e59: 0x0df9, // XK_Thai_lekkao + 0x2002: 0x0aa2, // XK_enspace + 0x2003: 0x0aa1, // XK_emspace + 0x2004: 0x0aa3, // XK_em3space + 0x2005: 0x0aa4, // XK_em4space + 0x2007: 0x0aa5, // XK_digitspace + 0x2008: 0x0aa6, // XK_punctspace + 0x2009: 0x0aa7, // XK_thinspace + 0x200a: 0x0aa8, // XK_hairspace + 0x2012: 0x0abb, // XK_figdash + 0x2013: 0x0aaa, // XK_endash + 0x2014: 0x0aa9, // XK_emdash + 0x2015: 0x07af, // XK_Greek_horizbar + 0x2017: 0x0cdf, // XK_hebrew_doublelowline + 0x2018: 0x0ad0, // XK_leftsinglequotemark + 0x2019: 0x0ad1, // XK_rightsinglequotemark + 0x201a: 0x0afd, // XK_singlelowquotemark + 0x201c: 0x0ad2, // XK_leftdoublequotemark + 0x201d: 0x0ad3, // XK_rightdoublequotemark + 0x201e: 0x0afe, // XK_doublelowquotemark + 0x2020: 0x0af1, // XK_dagger + 0x2021: 0x0af2, // XK_doubledagger + 0x2022: 0x0ae6, // XK_enfilledcircbullet + 0x2025: 0x0aaf, // XK_doubbaselinedot + 0x2026: 0x0aae, // XK_ellipsis + 0x2030: 0x0ad5, // XK_permille + 0x2032: 0x0ad6, // XK_minutes + 0x2033: 0x0ad7, // XK_seconds + 0x2038: 0x0afc, // XK_caret + 0x203e: 0x047e, // XK_overline + 0x20a9: 0x0eff, // XK_Korean_Won + 0x20ac: 0x20ac, // XK_EuroSign + 0x2105: 0x0ab8, // XK_careof + 0x2116: 0x06b0, // XK_numerosign + 0x2117: 0x0afb, // XK_phonographcopyright + 0x211e: 0x0ad4, // XK_prescription + 0x2122: 0x0ac9, // XK_trademark + 0x2153: 0x0ab0, // XK_onethird + 0x2154: 0x0ab1, // XK_twothirds + 0x2155: 0x0ab2, // XK_onefifth + 0x2156: 0x0ab3, // XK_twofifths + 0x2157: 0x0ab4, // XK_threefifths + 0x2158: 0x0ab5, // XK_fourfifths + 0x2159: 0x0ab6, // XK_onesixth + 0x215a: 0x0ab7, // XK_fivesixths + 0x215b: 0x0ac3, // XK_oneeighth + 0x215c: 0x0ac4, // XK_threeeighths + 0x215d: 0x0ac5, // XK_fiveeighths + 0x215e: 0x0ac6, // XK_seveneighths + 0x2190: 0x08fb, // XK_leftarrow + 0x2191: 0x08fc, // XK_uparrow + 0x2192: 0x08fd, // XK_rightarrow + 0x2193: 0x08fe, // XK_downarrow + 0x21d2: 0x08ce, // XK_implies + 0x21d4: 0x08cd, // XK_ifonlyif + 0x2202: 0x08ef, // XK_partialderivative + 0x2207: 0x08c5, // XK_nabla + 0x2218: 0x0bca, // XK_jot + 0x221a: 0x08d6, // XK_radical + 0x221d: 0x08c1, // XK_variation + 0x221e: 0x08c2, // XK_infinity + 0x2227: 0x08de, // XK_logicaland + 0x2228: 0x08df, // XK_logicalor + 0x2229: 0x08dc, // XK_intersection + 0x222a: 0x08dd, // XK_union + 0x222b: 0x08bf, // XK_integral + 0x2234: 0x08c0, // XK_therefore + 0x223c: 0x08c8, // XK_approximate + 0x2243: 0x08c9, // XK_similarequal + 0x2245: 0x1002248, // XK_approxeq + 0x2260: 0x08bd, // XK_notequal + 0x2261: 0x08cf, // XK_identical + 0x2264: 0x08bc, // XK_lessthanequal + 0x2265: 0x08be, // XK_greaterthanequal + 0x2282: 0x08da, // XK_includedin + 0x2283: 0x08db, // XK_includes + 0x22a2: 0x0bfc, // XK_righttack + 0x22a3: 0x0bdc, // XK_lefttack + 0x22a4: 0x0bc2, // XK_downtack + 0x22a5: 0x0bce, // XK_uptack + 0x2308: 0x0bd3, // XK_upstile + 0x230a: 0x0bc4, // XK_downstile + 0x2315: 0x0afa, // XK_telephonerecorder + 0x2320: 0x08a4, // XK_topintegral + 0x2321: 0x08a5, // XK_botintegral + 0x2395: 0x0bcc, // XK_quad + 0x239b: 0x08ab, // XK_topleftparens + 0x239d: 0x08ac, // XK_botleftparens + 0x239e: 0x08ad, // XK_toprightparens + 0x23a0: 0x08ae, // XK_botrightparens + 0x23a1: 0x08a7, // XK_topleftsqbracket + 0x23a3: 0x08a8, // XK_botleftsqbracket + 0x23a4: 0x08a9, // XK_toprightsqbracket + 0x23a6: 0x08aa, // XK_botrightsqbracket + 0x23a8: 0x08af, // XK_leftmiddlecurlybrace + 0x23ac: 0x08b0, // XK_rightmiddlecurlybrace + 0x23b7: 0x08a1, // XK_leftradical + 0x23ba: 0x09ef, // XK_horizlinescan1 + 0x23bb: 0x09f0, // XK_horizlinescan3 + 0x23bc: 0x09f2, // XK_horizlinescan7 + 0x23bd: 0x09f3, // XK_horizlinescan9 + 0x2409: 0x09e2, // XK_ht + 0x240a: 0x09e5, // XK_lf + 0x240b: 0x09e9, // XK_vt + 0x240c: 0x09e3, // XK_ff + 0x240d: 0x09e4, // XK_cr + 0x2423: 0x0aac, // XK_signifblank + 0x2424: 0x09e8, // XK_nl + 0x2500: 0x08a3, // XK_horizconnector + 0x2502: 0x08a6, // XK_vertconnector + 0x250c: 0x08a2, // XK_topleftradical + 0x2510: 0x09eb, // XK_uprightcorner + 0x2514: 0x09ed, // XK_lowleftcorner + 0x2518: 0x09ea, // XK_lowrightcorner + 0x251c: 0x09f4, // XK_leftt + 0x2524: 0x09f5, // XK_rightt + 0x252c: 0x09f7, // XK_topt + 0x2534: 0x09f6, // XK_bott + 0x253c: 0x09ee, // XK_crossinglines + 0x2592: 0x09e1, // XK_checkerboard + 0x25aa: 0x0ae7, // XK_enfilledsqbullet + 0x25ab: 0x0ae1, // XK_enopensquarebullet + 0x25ac: 0x0adb, // XK_filledrectbullet + 0x25ad: 0x0ae2, // XK_openrectbullet + 0x25ae: 0x0adf, // XK_emfilledrect + 0x25af: 0x0acf, // XK_emopenrectangle + 0x25b2: 0x0ae8, // XK_filledtribulletup + 0x25b3: 0x0ae3, // XK_opentribulletup + 0x25b6: 0x0add, // XK_filledrighttribullet + 0x25b7: 0x0acd, // XK_rightopentriangle + 0x25bc: 0x0ae9, // XK_filledtribulletdown + 0x25bd: 0x0ae4, // XK_opentribulletdown + 0x25c0: 0x0adc, // XK_filledlefttribullet + 0x25c1: 0x0acc, // XK_leftopentriangle + 0x25c6: 0x09e0, // XK_soliddiamond + 0x25cb: 0x0ace, // XK_emopencircle + 0x25cf: 0x0ade, // XK_emfilledcircle + 0x25e6: 0x0ae0, // XK_enopencircbullet + 0x2606: 0x0ae5, // XK_openstar + 0x260e: 0x0af9, // XK_telephone + 0x2613: 0x0aca, // XK_signaturemark + 0x261c: 0x0aea, // XK_leftpointer + 0x261e: 0x0aeb, // XK_rightpointer + 0x2640: 0x0af8, // XK_femalesymbol + 0x2642: 0x0af7, // XK_malesymbol + 0x2663: 0x0aec, // XK_club + 0x2665: 0x0aee, // XK_heart + 0x2666: 0x0aed, // XK_diamond + 0x266d: 0x0af6, // XK_musicalflat + 0x266f: 0x0af5, // XK_musicalsharp + 0x2713: 0x0af3, // XK_checkmark + 0x2717: 0x0af4, // XK_ballotcross + 0x271d: 0x0ad9, // XK_latincross + 0x2720: 0x0af0, // XK_maltesecross + 0x27e8: 0x0abc, // XK_leftanglebracket + 0x27e9: 0x0abe, // XK_rightanglebracket + 0x3001: 0x04a4, // XK_kana_comma + 0x3002: 0x04a1, // XK_kana_fullstop + 0x300c: 0x04a2, // XK_kana_openingbracket + 0x300d: 0x04a3, // XK_kana_closingbracket + 0x309b: 0x04de, // XK_voicedsound + 0x309c: 0x04df, // XK_semivoicedsound + 0x30a1: 0x04a7, // XK_kana_a + 0x30a2: 0x04b1, // XK_kana_A + 0x30a3: 0x04a8, // XK_kana_i + 0x30a4: 0x04b2, // XK_kana_I + 0x30a5: 0x04a9, // XK_kana_u + 0x30a6: 0x04b3, // XK_kana_U + 0x30a7: 0x04aa, // XK_kana_e + 0x30a8: 0x04b4, // XK_kana_E + 0x30a9: 0x04ab, // XK_kana_o + 0x30aa: 0x04b5, // XK_kana_O + 0x30ab: 0x04b6, // XK_kana_KA + 0x30ad: 0x04b7, // XK_kana_KI + 0x30af: 0x04b8, // XK_kana_KU + 0x30b1: 0x04b9, // XK_kana_KE + 0x30b3: 0x04ba, // XK_kana_KO + 0x30b5: 0x04bb, // XK_kana_SA + 0x30b7: 0x04bc, // XK_kana_SHI + 0x30b9: 0x04bd, // XK_kana_SU + 0x30bb: 0x04be, // XK_kana_SE + 0x30bd: 0x04bf, // XK_kana_SO + 0x30bf: 0x04c0, // XK_kana_TA + 0x30c1: 0x04c1, // XK_kana_CHI + 0x30c3: 0x04af, // XK_kana_tsu + 0x30c4: 0x04c2, // XK_kana_TSU + 0x30c6: 0x04c3, // XK_kana_TE + 0x30c8: 0x04c4, // XK_kana_TO + 0x30ca: 0x04c5, // XK_kana_NA + 0x30cb: 0x04c6, // XK_kana_NI + 0x30cc: 0x04c7, // XK_kana_NU + 0x30cd: 0x04c8, // XK_kana_NE + 0x30ce: 0x04c9, // XK_kana_NO + 0x30cf: 0x04ca, // XK_kana_HA + 0x30d2: 0x04cb, // XK_kana_HI + 0x30d5: 0x04cc, // XK_kana_FU + 0x30d8: 0x04cd, // XK_kana_HE + 0x30db: 0x04ce, // XK_kana_HO + 0x30de: 0x04cf, // XK_kana_MA + 0x30df: 0x04d0, // XK_kana_MI + 0x30e0: 0x04d1, // XK_kana_MU + 0x30e1: 0x04d2, // XK_kana_ME + 0x30e2: 0x04d3, // XK_kana_MO + 0x30e3: 0x04ac, // XK_kana_ya + 0x30e4: 0x04d4, // XK_kana_YA + 0x30e5: 0x04ad, // XK_kana_yu + 0x30e6: 0x04d5, // XK_kana_YU + 0x30e7: 0x04ae, // XK_kana_yo + 0x30e8: 0x04d6, // XK_kana_YO + 0x30e9: 0x04d7, // XK_kana_RA + 0x30ea: 0x04d8, // XK_kana_RI + 0x30eb: 0x04d9, // XK_kana_RU + 0x30ec: 0x04da, // XK_kana_RE + 0x30ed: 0x04db, // XK_kana_RO + 0x30ef: 0x04dc, // XK_kana_WA + 0x30f2: 0x04a6, // XK_kana_WO + 0x30f3: 0x04dd, // XK_kana_N + 0x30fb: 0x04a5, // XK_kana_conjunctive + 0x30fc: 0x04b0, // XK_prolongedsound +}; + +export default { + lookup(u) { + // Latin-1 is one-to-one mapping + if ((u >= 0x20) && (u <= 0xff)) { + return u; + } + + // Lookup table (fairly random) + const keysym = codepoints[u]; + if (keysym !== undefined) { + return keysym; + } + + // General mapping as final fallback + return 0x01000000 | u; + }, +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/mouse.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/mouse.js index 524b065..47892b5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/mouse.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/mouse.js @@ -1,280 +1,280 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2012 Joel Martin - * Copyright (C) 2013 Samuel Mannehed for Cendio AB - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -import * as Log from '../util/logging.js'; -import { isTouchDevice } from '../util/browser.js'; -import { setCapture, stopEvent, getPointerEvent } from '../util/events.js'; - -var WHEEL_STEP = 10; // Delta threshold for a mouse wheel step -var WHEEL_STEP_TIMEOUT = 50; // ms -var WHEEL_LINE_HEIGHT = 19; - -export default function Mouse(target) { - this._target = target || document; - - this._doubleClickTimer = null; - this._lastTouchPos = null; - - this._pos = null; - this._wheelStepXTimer = null; - this._wheelStepYTimer = null; - this._accumulatedWheelDeltaX = 0; - this._accumulatedWheelDeltaY = 0; - - this._eventHandlers = { - 'mousedown': this._handleMouseDown.bind(this), - 'mouseup': this._handleMouseUp.bind(this), - 'mousemove': this._handleMouseMove.bind(this), - 'mousewheel': this._handleMouseWheel.bind(this), - 'mousedisable': this._handleMouseDisable.bind(this) - }; -}; - -Mouse.prototype = { - // ===== PROPERTIES ===== - - touchButton: 1, // Button mask (1, 2, 4) for touch devices (0 means ignore clicks) - - // ===== EVENT HANDLERS ===== - - onmousebutton: function () {}, // Handler for mouse button click/release - onmousemove: function () {}, // Handler for mouse movement - - // ===== PRIVATE METHODS ===== - - _resetDoubleClickTimer: function () { - this._doubleClickTimer = null; - }, - - _handleMouseButton: function (e, down) { - this._updateMousePosition(e); - var pos = this._pos; - - var bmask; - if (e.touches || e.changedTouches) { - // Touch device - - // When two touches occur within 500 ms of each other and are - // close enough together a double click is triggered. - if (down == 1) { - if (this._doubleClickTimer === null) { - this._lastTouchPos = pos; - } else { - clearTimeout(this._doubleClickTimer); - - // When the distance between the two touches is small enough - // force the position of the latter touch to the position of - // the first. - - var xs = this._lastTouchPos.x - pos.x; - var ys = this._lastTouchPos.y - pos.y; - var d = Math.sqrt((xs * xs) + (ys * ys)); - - // The goal is to trigger on a certain physical width, the - // devicePixelRatio brings us a bit closer but is not optimal. - var threshold = 20 * (window.devicePixelRatio || 1); - if (d < threshold) { - pos = this._lastTouchPos; - } - } - this._doubleClickTimer = setTimeout(this._resetDoubleClickTimer.bind(this), 500); - } - bmask = this.touchButton; - // If bmask is set - } else if (e.which) { - /* everything except IE */ - bmask = 1 << e.button; - } else { - /* IE including 9 */ - bmask = (e.button & 0x1) + // Left - (e.button & 0x2) * 2 + // Right - (e.button & 0x4) / 2; // Middle - } - - Log.Debug("onmousebutton " + (down ? "down" : "up") + - ", x: " + pos.x + ", y: " + pos.y + ", bmask: " + bmask); - this.onmousebutton(pos.x, pos.y, down, bmask); - - stopEvent(e); - }, - - _handleMouseDown: function (e) { - // Touch events have implicit capture - if (e.type === "mousedown") { - setCapture(this._target); - } - - this._handleMouseButton(e, 1); - }, - - _handleMouseUp: function (e) { - this._handleMouseButton(e, 0); - }, - - // Mouse wheel events are sent in steps over VNC. This means that the VNC - // protocol can't handle a wheel event with specific distance or speed. - // Therefor, if we get a lot of small mouse wheel events we combine them. - _generateWheelStepX: function () { - - if (this._accumulatedWheelDeltaX < 0) { - this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 5); - this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 5); - } else if (this._accumulatedWheelDeltaX > 0) { - this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 6); - this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 6); - } - - this._accumulatedWheelDeltaX = 0; - }, - - _generateWheelStepY: function () { - - if (this._accumulatedWheelDeltaY < 0) { - this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 3); - this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 3); - } else if (this._accumulatedWheelDeltaY > 0) { - this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 4); - this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 4); - } - - this._accumulatedWheelDeltaY = 0; - }, - - _resetWheelStepTimers: function () { - window.clearTimeout(this._wheelStepXTimer); - window.clearTimeout(this._wheelStepYTimer); - this._wheelStepXTimer = null; - this._wheelStepYTimer = null; - }, - - _handleMouseWheel: function (e) { - this._resetWheelStepTimers(); - - this._updateMousePosition(e); - - var dX = e.deltaX; - var dY = e.deltaY; - - // Pixel units unless it's non-zero. - // Note that if deltamode is line or page won't matter since we aren't - // sending the mouse wheel delta to the server anyway. - // The difference between pixel and line can be important however since - // we have a threshold that can be smaller than the line height. - if (e.deltaMode !== 0) { - dX *= WHEEL_LINE_HEIGHT; - dY *= WHEEL_LINE_HEIGHT; - } - - this._accumulatedWheelDeltaX += dX; - this._accumulatedWheelDeltaY += dY; - - // Generate a mouse wheel step event when the accumulated delta - // for one of the axes is large enough. - // Small delta events that do not pass the threshold get sent - // after a timeout. - if (Math.abs(this._accumulatedWheelDeltaX) > WHEEL_STEP) { - this._generateWheelStepX(); - } else { - this._wheelStepXTimer = - window.setTimeout(this._generateWheelStepX.bind(this), - WHEEL_STEP_TIMEOUT); - } - if (Math.abs(this._accumulatedWheelDeltaY) > WHEEL_STEP) { - this._generateWheelStepY(); - } else { - this._wheelStepYTimer = - window.setTimeout(this._generateWheelStepY.bind(this), - WHEEL_STEP_TIMEOUT); - } - - stopEvent(e); - }, - - _handleMouseMove: function (e) { - this._updateMousePosition(e); - this.onmousemove(this._pos.x, this._pos.y); - stopEvent(e); - }, - - _handleMouseDisable: function (e) { - /* - * Stop propagation if inside canvas area - * Note: This is only needed for the 'click' event as it fails - * to fire properly for the target element so we have - * to listen on the document element instead. - */ - if (e.target == this._target) { - stopEvent(e); - } - }, - - // Update coordinates relative to target - _updateMousePosition: function(e) { - e = getPointerEvent(e); - var bounds = this._target.getBoundingClientRect(); - var x, y; - // Clip to target bounds - if (e.clientX < bounds.left) { - x = 0; - } else if (e.clientX >= bounds.right) { - x = bounds.width - 1; - } else { - x = e.clientX - bounds.left; - } - if (e.clientY < bounds.top) { - y = 0; - } else if (e.clientY >= bounds.bottom) { - y = bounds.height - 1; - } else { - y = e.clientY - bounds.top; - } - this._pos = {x:x, y:y}; - }, - - // ===== PUBLIC METHODS ===== - - grab: function () { - var c = this._target; - - if (isTouchDevice) { - c.addEventListener('touchstart', this._eventHandlers.mousedown); - c.addEventListener('touchend', this._eventHandlers.mouseup); - c.addEventListener('touchmove', this._eventHandlers.mousemove); - } - c.addEventListener('mousedown', this._eventHandlers.mousedown); - c.addEventListener('mouseup', this._eventHandlers.mouseup); - c.addEventListener('mousemove', this._eventHandlers.mousemove); - c.addEventListener('wheel', this._eventHandlers.mousewheel); - - /* Prevent middle-click pasting (see above for why we bind to document) */ - document.addEventListener('click', this._eventHandlers.mousedisable); - - /* preventDefault() on mousedown doesn't stop this event for some - reason so we have to explicitly block it */ - c.addEventListener('contextmenu', this._eventHandlers.mousedisable); - }, - - ungrab: function () { - var c = this._target; - - this._resetWheelStepTimers(); - - if (isTouchDevice) { - c.removeEventListener('touchstart', this._eventHandlers.mousedown); - c.removeEventListener('touchend', this._eventHandlers.mouseup); - c.removeEventListener('touchmove', this._eventHandlers.mousemove); - } - c.removeEventListener('mousedown', this._eventHandlers.mousedown); - c.removeEventListener('mouseup', this._eventHandlers.mouseup); - c.removeEventListener('mousemove', this._eventHandlers.mousemove); - c.removeEventListener('wheel', this._eventHandlers.mousewheel); - - document.removeEventListener('click', this._eventHandlers.mousedisable); - - c.removeEventListener('contextmenu', this._eventHandlers.mousedisable); - } -}; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2012 Joel Martin + * Copyright (C) 2013 Samuel Mannehed for Cendio AB + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +import * as Log from '../util/logging.js'; +import { isTouchDevice } from '../util/browser.js'; +import { setCapture, stopEvent, getPointerEvent } from '../util/events.js'; + +var WHEEL_STEP = 10; // Delta threshold for a mouse wheel step +var WHEEL_STEP_TIMEOUT = 50; // ms +var WHEEL_LINE_HEIGHT = 19; + +export default function Mouse(target) { + this._target = target || document; + + this._doubleClickTimer = null; + this._lastTouchPos = null; + + this._pos = null; + this._wheelStepXTimer = null; + this._wheelStepYTimer = null; + this._accumulatedWheelDeltaX = 0; + this._accumulatedWheelDeltaY = 0; + + this._eventHandlers = { + 'mousedown': this._handleMouseDown.bind(this), + 'mouseup': this._handleMouseUp.bind(this), + 'mousemove': this._handleMouseMove.bind(this), + 'mousewheel': this._handleMouseWheel.bind(this), + 'mousedisable': this._handleMouseDisable.bind(this) + }; +}; + +Mouse.prototype = { + // ===== PROPERTIES ===== + + touchButton: 1, // Button mask (1, 2, 4) for touch devices (0 means ignore clicks) + + // ===== EVENT HANDLERS ===== + + onmousebutton: function () {}, // Handler for mouse button click/release + onmousemove: function () {}, // Handler for mouse movement + + // ===== PRIVATE METHODS ===== + + _resetDoubleClickTimer: function () { + this._doubleClickTimer = null; + }, + + _handleMouseButton: function (e, down) { + this._updateMousePosition(e); + var pos = this._pos; + + var bmask; + if (e.touches || e.changedTouches) { + // Touch device + + // When two touches occur within 500 ms of each other and are + // close enough together a double click is triggered. + if (down == 1) { + if (this._doubleClickTimer === null) { + this._lastTouchPos = pos; + } else { + clearTimeout(this._doubleClickTimer); + + // When the distance between the two touches is small enough + // force the position of the latter touch to the position of + // the first. + + var xs = this._lastTouchPos.x - pos.x; + var ys = this._lastTouchPos.y - pos.y; + var d = Math.sqrt((xs * xs) + (ys * ys)); + + // The goal is to trigger on a certain physical width, the + // devicePixelRatio brings us a bit closer but is not optimal. + var threshold = 20 * (window.devicePixelRatio || 1); + if (d < threshold) { + pos = this._lastTouchPos; + } + } + this._doubleClickTimer = setTimeout(this._resetDoubleClickTimer.bind(this), 500); + } + bmask = this.touchButton; + // If bmask is set + } else if (e.which) { + /* everything except IE */ + bmask = 1 << e.button; + } else { + /* IE including 9 */ + bmask = (e.button & 0x1) + // Left + (e.button & 0x2) * 2 + // Right + (e.button & 0x4) / 2; // Middle + } + + Log.Debug("onmousebutton " + (down ? "down" : "up") + + ", x: " + pos.x + ", y: " + pos.y + ", bmask: " + bmask); + this.onmousebutton(pos.x, pos.y, down, bmask); + + stopEvent(e); + }, + + _handleMouseDown: function (e) { + // Touch events have implicit capture + if (e.type === "mousedown") { + setCapture(this._target); + } + + this._handleMouseButton(e, 1); + }, + + _handleMouseUp: function (e) { + this._handleMouseButton(e, 0); + }, + + // Mouse wheel events are sent in steps over VNC. This means that the VNC + // protocol can't handle a wheel event with specific distance or speed. + // Therefor, if we get a lot of small mouse wheel events we combine them. + _generateWheelStepX: function () { + + if (this._accumulatedWheelDeltaX < 0) { + this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 5); + this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 5); + } else if (this._accumulatedWheelDeltaX > 0) { + this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 6); + this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 6); + } + + this._accumulatedWheelDeltaX = 0; + }, + + _generateWheelStepY: function () { + + if (this._accumulatedWheelDeltaY < 0) { + this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 3); + this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 3); + } else if (this._accumulatedWheelDeltaY > 0) { + this.onmousebutton(this._pos.x, this._pos.y, 1, 1 << 4); + this.onmousebutton(this._pos.x, this._pos.y, 0, 1 << 4); + } + + this._accumulatedWheelDeltaY = 0; + }, + + _resetWheelStepTimers: function () { + window.clearTimeout(this._wheelStepXTimer); + window.clearTimeout(this._wheelStepYTimer); + this._wheelStepXTimer = null; + this._wheelStepYTimer = null; + }, + + _handleMouseWheel: function (e) { + this._resetWheelStepTimers(); + + this._updateMousePosition(e); + + var dX = e.deltaX; + var dY = e.deltaY; + + // Pixel units unless it's non-zero. + // Note that if deltamode is line or page won't matter since we aren't + // sending the mouse wheel delta to the server anyway. + // The difference between pixel and line can be important however since + // we have a threshold that can be smaller than the line height. + if (e.deltaMode !== 0) { + dX *= WHEEL_LINE_HEIGHT; + dY *= WHEEL_LINE_HEIGHT; + } + + this._accumulatedWheelDeltaX += dX; + this._accumulatedWheelDeltaY += dY; + + // Generate a mouse wheel step event when the accumulated delta + // for one of the axes is large enough. + // Small delta events that do not pass the threshold get sent + // after a timeout. + if (Math.abs(this._accumulatedWheelDeltaX) > WHEEL_STEP) { + this._generateWheelStepX(); + } else { + this._wheelStepXTimer = + window.setTimeout(this._generateWheelStepX.bind(this), + WHEEL_STEP_TIMEOUT); + } + if (Math.abs(this._accumulatedWheelDeltaY) > WHEEL_STEP) { + this._generateWheelStepY(); + } else { + this._wheelStepYTimer = + window.setTimeout(this._generateWheelStepY.bind(this), + WHEEL_STEP_TIMEOUT); + } + + stopEvent(e); + }, + + _handleMouseMove: function (e) { + this._updateMousePosition(e); + this.onmousemove(this._pos.x, this._pos.y); + stopEvent(e); + }, + + _handleMouseDisable: function (e) { + /* + * Stop propagation if inside canvas area + * Note: This is only needed for the 'click' event as it fails + * to fire properly for the target element so we have + * to listen on the document element instead. + */ + if (e.target == this._target) { + stopEvent(e); + } + }, + + // Update coordinates relative to target + _updateMousePosition: function(e) { + e = getPointerEvent(e); + var bounds = this._target.getBoundingClientRect(); + var x, y; + // Clip to target bounds + if (e.clientX < bounds.left) { + x = 0; + } else if (e.clientX >= bounds.right) { + x = bounds.width - 1; + } else { + x = e.clientX - bounds.left; + } + if (e.clientY < bounds.top) { + y = 0; + } else if (e.clientY >= bounds.bottom) { + y = bounds.height - 1; + } else { + y = e.clientY - bounds.top; + } + this._pos = {x:x, y:y}; + }, + + // ===== PUBLIC METHODS ===== + + grab: function () { + var c = this._target; + + if (isTouchDevice) { + c.addEventListener('touchstart', this._eventHandlers.mousedown); + c.addEventListener('touchend', this._eventHandlers.mouseup); + c.addEventListener('touchmove', this._eventHandlers.mousemove); + } + c.addEventListener('mousedown', this._eventHandlers.mousedown); + c.addEventListener('mouseup', this._eventHandlers.mouseup); + c.addEventListener('mousemove', this._eventHandlers.mousemove); + c.addEventListener('wheel', this._eventHandlers.mousewheel); + + /* Prevent middle-click pasting (see above for why we bind to document) */ + document.addEventListener('click', this._eventHandlers.mousedisable); + + /* preventDefault() on mousedown doesn't stop this event for some + reason so we have to explicitly block it */ + c.addEventListener('contextmenu', this._eventHandlers.mousedisable); + }, + + ungrab: function () { + var c = this._target; + + this._resetWheelStepTimers(); + + if (isTouchDevice) { + c.removeEventListener('touchstart', this._eventHandlers.mousedown); + c.removeEventListener('touchend', this._eventHandlers.mouseup); + c.removeEventListener('touchmove', this._eventHandlers.mousemove); + } + c.removeEventListener('mousedown', this._eventHandlers.mousedown); + c.removeEventListener('mouseup', this._eventHandlers.mouseup); + c.removeEventListener('mousemove', this._eventHandlers.mousemove); + c.removeEventListener('wheel', this._eventHandlers.mousewheel); + + document.removeEventListener('click', this._eventHandlers.mousedisable); + + c.removeEventListener('contextmenu', this._eventHandlers.mousedisable); + } +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/util.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/util.js index 1b98040..e2536de 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/util.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/util.js @@ -1,208 +1,208 @@ -import KeyTable from "./keysym.js"; -import keysyms from "./keysymdef.js"; -import vkeys from "./vkeys.js"; -import fixedkeys from "./fixedkeys.js"; -import DOMKeyTable from "./domkeytable.js"; -import * as browser from "../util/browser.js"; - -// Get 'KeyboardEvent.code', handling legacy browsers -export function getKeycode(evt) { - // Are we getting proper key identifiers? - // (unfortunately Firefox and Chrome are crappy here and gives - // us an empty string on some platforms, rather than leaving it - // undefined) - if (evt.code) { - // Mozilla isn't fully in sync with the spec yet - switch (evt.code) { - case 'OSLeft': return 'MetaLeft'; - case 'OSRight': return 'MetaRight'; - } - - return evt.code; - } - - // The de-facto standard is to use Windows Virtual-Key codes - // in the 'keyCode' field for non-printable characters. However - // Webkit sets it to the same as charCode in 'keypress' events. - if ((evt.type !== 'keypress') && (evt.keyCode in vkeys)) { - let code = vkeys[evt.keyCode]; - - // macOS has messed up this code for some reason - if (browser.isMac() && (code === 'ContextMenu')) { - code = 'MetaRight'; - } - - // The keyCode doesn't distinguish between left and right - // for the standard modifiers - if (evt.location === 2) { - switch (code) { - case 'ShiftLeft': return 'ShiftRight'; - case 'ControlLeft': return 'ControlRight'; - case 'AltLeft': return 'AltRight'; - } - } - - // Nor a bunch of the numpad keys - if (evt.location === 3) { - switch (code) { - case 'Delete': return 'NumpadDecimal'; - case 'Insert': return 'Numpad0'; - case 'End': return 'Numpad1'; - case 'ArrowDown': return 'Numpad2'; - case 'PageDown': return 'Numpad3'; - case 'ArrowLeft': return 'Numpad4'; - case 'ArrowRight': return 'Numpad6'; - case 'Home': return 'Numpad7'; - case 'ArrowUp': return 'Numpad8'; - case 'PageUp': return 'Numpad9'; - case 'Enter': return 'NumpadEnter'; - } - } - - return code; - } - - return 'Unidentified'; -} - -// Get 'KeyboardEvent.key', handling legacy browsers -export function getKey(evt) { - // Are we getting a proper key value? - if (evt.key !== undefined) { - // IE and Edge use some ancient version of the spec - // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/ - switch (evt.key) { - case 'Spacebar': return ' '; - case 'Esc': return 'Escape'; - case 'Scroll': return 'ScrollLock'; - case 'Win': return 'Meta'; - case 'Apps': return 'ContextMenu'; - case 'Up': return 'ArrowUp'; - case 'Left': return 'ArrowLeft'; - case 'Right': return 'ArrowRight'; - case 'Down': return 'ArrowDown'; - case 'Del': return 'Delete'; - case 'Divide': return '/'; - case 'Multiply': return '*'; - case 'Subtract': return '-'; - case 'Add': return '+'; - case 'Decimal': return evt.char; - } - - // Mozilla isn't fully in sync with the spec yet - switch (evt.key) { - case 'OS': return 'Meta'; - case 'LaunchMyComputer': return 'LaunchApplication1'; - case 'LaunchCalculator': return 'LaunchApplication2'; - } - - // iOS leaks some OS names - switch (evt.key) { - case 'UIKeyInputUpArrow': return 'ArrowUp'; - case 'UIKeyInputDownArrow': return 'ArrowDown'; - case 'UIKeyInputLeftArrow': return 'ArrowLeft'; - case 'UIKeyInputRightArrow': return 'ArrowRight'; - case 'UIKeyInputEscape': return 'Escape'; - } - - // Broken behaviour in Chrome - if ((evt.key === '\x00') && (evt.code === 'NumpadDecimal')) { - return 'Delete'; - } - - // IE and Edge need special handling, but for everyone else we - // can trust the value provided - if (!browser.isIE() && !browser.isEdge()) { - return evt.key; - } - - // IE and Edge have broken handling of AltGraph so we can only - // trust them for non-printable characters (and unfortunately - // they also specify 'Unidentified' for some problem keys) - if ((evt.key.length !== 1) && (evt.key !== 'Unidentified')) { - return evt.key; - } - } - - // Try to deduce it based on the physical key - const code = getKeycode(evt); - if (code in fixedkeys) { - return fixedkeys[code]; - } - - // If that failed, then see if we have a printable character - if (evt.charCode) { - return String.fromCharCode(evt.charCode); - } - - // At this point we have nothing left to go on - return 'Unidentified'; -} - -// Get the most reliable keysym value we can get from a key event -export function getKeysym(evt) { - const key = getKey(evt); - - if (key === 'Unidentified') { - return null; - } - - // First look up special keys - if (key in DOMKeyTable) { - let location = evt.location; - - // Safari screws up location for the right cmd key - if ((key === 'Meta') && (location === 0)) { - location = 2; - } - - // And for Clear - if ((key === 'Clear') && (location === 3)) { - let code = getKeycode(evt); - if (code === 'NumLock') { - location = 0; - } - } - - if ((location === undefined) || (location > 3)) { - location = 0; - } - - // The original Meta key now gets confused with the Windows key - // https://bugs.chromium.org/p/chromium/issues/detail?id=1020141 - // https://bugzilla.mozilla.org/show_bug.cgi?id=1232918 - if (key === 'Meta') { - let code = getKeycode(evt); - if (code === 'AltLeft') { - return KeyTable.XK_Meta_L; - } else if (code === 'AltRight') { - return KeyTable.XK_Meta_R; - } - } - - // macOS has Clear instead of NumLock, but the remote system is - // probably not macOS, so lying here is probably best... - if (key === 'Clear') { - let code = getKeycode(evt); - if (code === 'NumLock') { - return KeyTable.XK_Num_Lock; - } - } - - return DOMKeyTable[key][location]; - } - - // Now we need to look at the Unicode symbol instead - - // Special key? (FIXME: Should have been caught earlier) - if (key.length !== 1) { - return null; - } - - const codepoint = key.charCodeAt(); - if (codepoint) { - return keysyms.lookup(codepoint); - } - - return null; -} +import KeyTable from "./keysym.js"; +import keysyms from "./keysymdef.js"; +import vkeys from "./vkeys.js"; +import fixedkeys from "./fixedkeys.js"; +import DOMKeyTable from "./domkeytable.js"; +import * as browser from "../util/browser.js"; + +// Get 'KeyboardEvent.code', handling legacy browsers +export function getKeycode(evt) { + // Are we getting proper key identifiers? + // (unfortunately Firefox and Chrome are crappy here and gives + // us an empty string on some platforms, rather than leaving it + // undefined) + if (evt.code) { + // Mozilla isn't fully in sync with the spec yet + switch (evt.code) { + case 'OSLeft': return 'MetaLeft'; + case 'OSRight': return 'MetaRight'; + } + + return evt.code; + } + + // The de-facto standard is to use Windows Virtual-Key codes + // in the 'keyCode' field for non-printable characters. However + // Webkit sets it to the same as charCode in 'keypress' events. + if ((evt.type !== 'keypress') && (evt.keyCode in vkeys)) { + let code = vkeys[evt.keyCode]; + + // macOS has messed up this code for some reason + if (browser.isMac() && (code === 'ContextMenu')) { + code = 'MetaRight'; + } + + // The keyCode doesn't distinguish between left and right + // for the standard modifiers + if (evt.location === 2) { + switch (code) { + case 'ShiftLeft': return 'ShiftRight'; + case 'ControlLeft': return 'ControlRight'; + case 'AltLeft': return 'AltRight'; + } + } + + // Nor a bunch of the numpad keys + if (evt.location === 3) { + switch (code) { + case 'Delete': return 'NumpadDecimal'; + case 'Insert': return 'Numpad0'; + case 'End': return 'Numpad1'; + case 'ArrowDown': return 'Numpad2'; + case 'PageDown': return 'Numpad3'; + case 'ArrowLeft': return 'Numpad4'; + case 'ArrowRight': return 'Numpad6'; + case 'Home': return 'Numpad7'; + case 'ArrowUp': return 'Numpad8'; + case 'PageUp': return 'Numpad9'; + case 'Enter': return 'NumpadEnter'; + } + } + + return code; + } + + return 'Unidentified'; +} + +// Get 'KeyboardEvent.key', handling legacy browsers +export function getKey(evt) { + // Are we getting a proper key value? + if (evt.key !== undefined) { + // IE and Edge use some ancient version of the spec + // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8860571/ + switch (evt.key) { + case 'Spacebar': return ' '; + case 'Esc': return 'Escape'; + case 'Scroll': return 'ScrollLock'; + case 'Win': return 'Meta'; + case 'Apps': return 'ContextMenu'; + case 'Up': return 'ArrowUp'; + case 'Left': return 'ArrowLeft'; + case 'Right': return 'ArrowRight'; + case 'Down': return 'ArrowDown'; + case 'Del': return 'Delete'; + case 'Divide': return '/'; + case 'Multiply': return '*'; + case 'Subtract': return '-'; + case 'Add': return '+'; + case 'Decimal': return evt.char; + } + + // Mozilla isn't fully in sync with the spec yet + switch (evt.key) { + case 'OS': return 'Meta'; + case 'LaunchMyComputer': return 'LaunchApplication1'; + case 'LaunchCalculator': return 'LaunchApplication2'; + } + + // iOS leaks some OS names + switch (evt.key) { + case 'UIKeyInputUpArrow': return 'ArrowUp'; + case 'UIKeyInputDownArrow': return 'ArrowDown'; + case 'UIKeyInputLeftArrow': return 'ArrowLeft'; + case 'UIKeyInputRightArrow': return 'ArrowRight'; + case 'UIKeyInputEscape': return 'Escape'; + } + + // Broken behaviour in Chrome + if ((evt.key === '\x00') && (evt.code === 'NumpadDecimal')) { + return 'Delete'; + } + + // IE and Edge need special handling, but for everyone else we + // can trust the value provided + if (!browser.isIE() && !browser.isEdge()) { + return evt.key; + } + + // IE and Edge have broken handling of AltGraph so we can only + // trust them for non-printable characters (and unfortunately + // they also specify 'Unidentified' for some problem keys) + if ((evt.key.length !== 1) && (evt.key !== 'Unidentified')) { + return evt.key; + } + } + + // Try to deduce it based on the physical key + const code = getKeycode(evt); + if (code in fixedkeys) { + return fixedkeys[code]; + } + + // If that failed, then see if we have a printable character + if (evt.charCode) { + return String.fromCharCode(evt.charCode); + } + + // At this point we have nothing left to go on + return 'Unidentified'; +} + +// Get the most reliable keysym value we can get from a key event +export function getKeysym(evt) { + const key = getKey(evt); + + if (key === 'Unidentified') { + return null; + } + + // First look up special keys + if (key in DOMKeyTable) { + let location = evt.location; + + // Safari screws up location for the right cmd key + if ((key === 'Meta') && (location === 0)) { + location = 2; + } + + // And for Clear + if ((key === 'Clear') && (location === 3)) { + let code = getKeycode(evt); + if (code === 'NumLock') { + location = 0; + } + } + + if ((location === undefined) || (location > 3)) { + location = 0; + } + + // The original Meta key now gets confused with the Windows key + // https://bugs.chromium.org/p/chromium/issues/detail?id=1020141 + // https://bugzilla.mozilla.org/show_bug.cgi?id=1232918 + if (key === 'Meta') { + let code = getKeycode(evt); + if (code === 'AltLeft') { + return KeyTable.XK_Meta_L; + } else if (code === 'AltRight') { + return KeyTable.XK_Meta_R; + } + } + + // macOS has Clear instead of NumLock, but the remote system is + // probably not macOS, so lying here is probably best... + if (key === 'Clear') { + let code = getKeycode(evt); + if (code === 'NumLock') { + return KeyTable.XK_Num_Lock; + } + } + + return DOMKeyTable[key][location]; + } + + // Now we need to look at the Unicode symbol instead + + // Special key? (FIXME: Should have been caught earlier) + if (key.length !== 1) { + return null; + } + + const codepoint = key.charCodeAt(); + if (codepoint) { + return keysyms.lookup(codepoint); + } + + return null; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/vkeys.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/vkeys.js index f84109b..d217e96 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/vkeys.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/vkeys.js @@ -1,117 +1,117 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -/* - * Mapping between Microsoft® Windows® Virtual-Key codes and - * HTML key codes. - */ - -export default { - 0x08: 'Backspace', - 0x09: 'Tab', - 0x0a: 'NumpadClear', - 0x0c: 'Numpad5', // IE11 sends evt.keyCode: 12 when numlock is off - 0x0d: 'Enter', - 0x10: 'ShiftLeft', - 0x11: 'ControlLeft', - 0x12: 'AltLeft', - 0x13: 'Pause', - 0x14: 'CapsLock', - 0x15: 'Lang1', - 0x19: 'Lang2', - 0x1b: 'Escape', - 0x1c: 'Convert', - 0x1d: 'NonConvert', - 0x20: 'Space', - 0x21: 'PageUp', - 0x22: 'PageDown', - 0x23: 'End', - 0x24: 'Home', - 0x25: 'ArrowLeft', - 0x26: 'ArrowUp', - 0x27: 'ArrowRight', - 0x28: 'ArrowDown', - 0x29: 'Select', - 0x2c: 'PrintScreen', - 0x2d: 'Insert', - 0x2e: 'Delete', - 0x2f: 'Help', - 0x30: 'Digit0', - 0x31: 'Digit1', - 0x32: 'Digit2', - 0x33: 'Digit3', - 0x34: 'Digit4', - 0x35: 'Digit5', - 0x36: 'Digit6', - 0x37: 'Digit7', - 0x38: 'Digit8', - 0x39: 'Digit9', - 0x5b: 'MetaLeft', - 0x5c: 'MetaRight', - 0x5d: 'ContextMenu', - 0x5f: 'Sleep', - 0x60: 'Numpad0', - 0x61: 'Numpad1', - 0x62: 'Numpad2', - 0x63: 'Numpad3', - 0x64: 'Numpad4', - 0x65: 'Numpad5', - 0x66: 'Numpad6', - 0x67: 'Numpad7', - 0x68: 'Numpad8', - 0x69: 'Numpad9', - 0x6a: 'NumpadMultiply', - 0x6b: 'NumpadAdd', - 0x6c: 'NumpadDecimal', - 0x6d: 'NumpadSubtract', - 0x6e: 'NumpadDecimal', // Duplicate, because buggy on Windows - 0x6f: 'NumpadDivide', - 0x70: 'F1', - 0x71: 'F2', - 0x72: 'F3', - 0x73: 'F4', - 0x74: 'F5', - 0x75: 'F6', - 0x76: 'F7', - 0x77: 'F8', - 0x78: 'F9', - 0x79: 'F10', - 0x7a: 'F11', - 0x7b: 'F12', - 0x7c: 'F13', - 0x7d: 'F14', - 0x7e: 'F15', - 0x7f: 'F16', - 0x80: 'F17', - 0x81: 'F18', - 0x82: 'F19', - 0x83: 'F20', - 0x84: 'F21', - 0x85: 'F22', - 0x86: 'F23', - 0x87: 'F24', - 0x90: 'NumLock', - 0x91: 'ScrollLock', - 0xa6: 'BrowserBack', - 0xa7: 'BrowserForward', - 0xa8: 'BrowserRefresh', - 0xa9: 'BrowserStop', - 0xaa: 'BrowserSearch', - 0xab: 'BrowserFavorites', - 0xac: 'BrowserHome', - 0xad: 'AudioVolumeMute', - 0xae: 'AudioVolumeDown', - 0xaf: 'AudioVolumeUp', - 0xb0: 'MediaTrackNext', - 0xb1: 'MediaTrackPrevious', - 0xb2: 'MediaStop', - 0xb3: 'MediaPlayPause', - 0xb4: 'LaunchMail', - 0xb5: 'MediaSelect', - 0xb6: 'LaunchApp1', - 0xb7: 'LaunchApp2', - 0xe1: 'AltRight', // Only when it is AltGraph -}; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +/* + * Mapping between Microsoft® Windows® Virtual-Key codes and + * HTML key codes. + */ + +export default { + 0x08: 'Backspace', + 0x09: 'Tab', + 0x0a: 'NumpadClear', + 0x0c: 'Numpad5', // IE11 sends evt.keyCode: 12 when numlock is off + 0x0d: 'Enter', + 0x10: 'ShiftLeft', + 0x11: 'ControlLeft', + 0x12: 'AltLeft', + 0x13: 'Pause', + 0x14: 'CapsLock', + 0x15: 'Lang1', + 0x19: 'Lang2', + 0x1b: 'Escape', + 0x1c: 'Convert', + 0x1d: 'NonConvert', + 0x20: 'Space', + 0x21: 'PageUp', + 0x22: 'PageDown', + 0x23: 'End', + 0x24: 'Home', + 0x25: 'ArrowLeft', + 0x26: 'ArrowUp', + 0x27: 'ArrowRight', + 0x28: 'ArrowDown', + 0x29: 'Select', + 0x2c: 'PrintScreen', + 0x2d: 'Insert', + 0x2e: 'Delete', + 0x2f: 'Help', + 0x30: 'Digit0', + 0x31: 'Digit1', + 0x32: 'Digit2', + 0x33: 'Digit3', + 0x34: 'Digit4', + 0x35: 'Digit5', + 0x36: 'Digit6', + 0x37: 'Digit7', + 0x38: 'Digit8', + 0x39: 'Digit9', + 0x5b: 'MetaLeft', + 0x5c: 'MetaRight', + 0x5d: 'ContextMenu', + 0x5f: 'Sleep', + 0x60: 'Numpad0', + 0x61: 'Numpad1', + 0x62: 'Numpad2', + 0x63: 'Numpad3', + 0x64: 'Numpad4', + 0x65: 'Numpad5', + 0x66: 'Numpad6', + 0x67: 'Numpad7', + 0x68: 'Numpad8', + 0x69: 'Numpad9', + 0x6a: 'NumpadMultiply', + 0x6b: 'NumpadAdd', + 0x6c: 'NumpadDecimal', + 0x6d: 'NumpadSubtract', + 0x6e: 'NumpadDecimal', // Duplicate, because buggy on Windows + 0x6f: 'NumpadDivide', + 0x70: 'F1', + 0x71: 'F2', + 0x72: 'F3', + 0x73: 'F4', + 0x74: 'F5', + 0x75: 'F6', + 0x76: 'F7', + 0x77: 'F8', + 0x78: 'F9', + 0x79: 'F10', + 0x7a: 'F11', + 0x7b: 'F12', + 0x7c: 'F13', + 0x7d: 'F14', + 0x7e: 'F15', + 0x7f: 'F16', + 0x80: 'F17', + 0x81: 'F18', + 0x82: 'F19', + 0x83: 'F20', + 0x84: 'F21', + 0x85: 'F22', + 0x86: 'F23', + 0x87: 'F24', + 0x90: 'NumLock', + 0x91: 'ScrollLock', + 0xa6: 'BrowserBack', + 0xa7: 'BrowserForward', + 0xa8: 'BrowserRefresh', + 0xa9: 'BrowserStop', + 0xaa: 'BrowserSearch', + 0xab: 'BrowserFavorites', + 0xac: 'BrowserHome', + 0xad: 'AudioVolumeMute', + 0xae: 'AudioVolumeDown', + 0xaf: 'AudioVolumeUp', + 0xb0: 'MediaTrackNext', + 0xb1: 'MediaTrackPrevious', + 0xb2: 'MediaStop', + 0xb3: 'MediaPlayPause', + 0xb4: 'LaunchMail', + 0xb5: 'MediaSelect', + 0xb6: 'LaunchApp1', + 0xb7: 'LaunchApp2', + 0xe1: 'AltRight', // Only when it is AltGraph +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/xtscancodes.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/xtscancodes.js index 514809c..e5a03e7 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/xtscancodes.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/input/xtscancodes.js @@ -1,171 +1,171 @@ -/* - * This file is auto-generated from keymaps.csv on 2017-05-31 16:20 - * Database checksum sha256(92fd165507f2a3b8c5b3fa56e425d45788dbcb98cf067a307527d91ce22cab94) - * To re-generate, run: - * keymap-gen --lang=js code-map keymaps.csv html atset1 -*/ -export default { - "Again": 0xe005, /* html:Again (Again) -> linux:129 (KEY_AGAIN) -> atset1:57349 */ - "AltLeft": 0x38, /* html:AltLeft (AltLeft) -> linux:56 (KEY_LEFTALT) -> atset1:56 */ - "AltRight": 0xe038, /* html:AltRight (AltRight) -> linux:100 (KEY_RIGHTALT) -> atset1:57400 */ - "ArrowDown": 0xe050, /* html:ArrowDown (ArrowDown) -> linux:108 (KEY_DOWN) -> atset1:57424 */ - "ArrowLeft": 0xe04b, /* html:ArrowLeft (ArrowLeft) -> linux:105 (KEY_LEFT) -> atset1:57419 */ - "ArrowRight": 0xe04d, /* html:ArrowRight (ArrowRight) -> linux:106 (KEY_RIGHT) -> atset1:57421 */ - "ArrowUp": 0xe048, /* html:ArrowUp (ArrowUp) -> linux:103 (KEY_UP) -> atset1:57416 */ - "AudioVolumeDown": 0xe02e, /* html:AudioVolumeDown (AudioVolumeDown) -> linux:114 (KEY_VOLUMEDOWN) -> atset1:57390 */ - "AudioVolumeMute": 0xe020, /* html:AudioVolumeMute (AudioVolumeMute) -> linux:113 (KEY_MUTE) -> atset1:57376 */ - "AudioVolumeUp": 0xe030, /* html:AudioVolumeUp (AudioVolumeUp) -> linux:115 (KEY_VOLUMEUP) -> atset1:57392 */ - "Backquote": 0x29, /* html:Backquote (Backquote) -> linux:41 (KEY_GRAVE) -> atset1:41 */ - "Backslash": 0x2b, /* html:Backslash (Backslash) -> linux:43 (KEY_BACKSLASH) -> atset1:43 */ - "Backspace": 0xe, /* html:Backspace (Backspace) -> linux:14 (KEY_BACKSPACE) -> atset1:14 */ - "BracketLeft": 0x1a, /* html:BracketLeft (BracketLeft) -> linux:26 (KEY_LEFTBRACE) -> atset1:26 */ - "BracketRight": 0x1b, /* html:BracketRight (BracketRight) -> linux:27 (KEY_RIGHTBRACE) -> atset1:27 */ - "BrowserBack": 0xe06a, /* html:BrowserBack (BrowserBack) -> linux:158 (KEY_BACK) -> atset1:57450 */ - "BrowserFavorites": 0xe066, /* html:BrowserFavorites (BrowserFavorites) -> linux:156 (KEY_BOOKMARKS) -> atset1:57446 */ - "BrowserForward": 0xe069, /* html:BrowserForward (BrowserForward) -> linux:159 (KEY_FORWARD) -> atset1:57449 */ - "BrowserHome": 0xe032, /* html:BrowserHome (BrowserHome) -> linux:172 (KEY_HOMEPAGE) -> atset1:57394 */ - "BrowserRefresh": 0xe067, /* html:BrowserRefresh (BrowserRefresh) -> linux:173 (KEY_REFRESH) -> atset1:57447 */ - "BrowserSearch": 0xe065, /* html:BrowserSearch (BrowserSearch) -> linux:217 (KEY_SEARCH) -> atset1:57445 */ - "BrowserStop": 0xe068, /* html:BrowserStop (BrowserStop) -> linux:128 (KEY_STOP) -> atset1:57448 */ - "CapsLock": 0x3a, /* html:CapsLock (CapsLock) -> linux:58 (KEY_CAPSLOCK) -> atset1:58 */ - "Comma": 0x33, /* html:Comma (Comma) -> linux:51 (KEY_COMMA) -> atset1:51 */ - "ContextMenu": 0xe05d, /* html:ContextMenu (ContextMenu) -> linux:127 (KEY_COMPOSE) -> atset1:57437 */ - "ControlLeft": 0x1d, /* html:ControlLeft (ControlLeft) -> linux:29 (KEY_LEFTCTRL) -> atset1:29 */ - "ControlRight": 0xe01d, /* html:ControlRight (ControlRight) -> linux:97 (KEY_RIGHTCTRL) -> atset1:57373 */ - "Convert": 0x79, /* html:Convert (Convert) -> linux:92 (KEY_HENKAN) -> atset1:121 */ - "Copy": 0xe078, /* html:Copy (Copy) -> linux:133 (KEY_COPY) -> atset1:57464 */ - "Cut": 0xe03c, /* html:Cut (Cut) -> linux:137 (KEY_CUT) -> atset1:57404 */ - "Delete": 0xe053, /* html:Delete (Delete) -> linux:111 (KEY_DELETE) -> atset1:57427 */ - "Digit0": 0xb, /* html:Digit0 (Digit0) -> linux:11 (KEY_0) -> atset1:11 */ - "Digit1": 0x2, /* html:Digit1 (Digit1) -> linux:2 (KEY_1) -> atset1:2 */ - "Digit2": 0x3, /* html:Digit2 (Digit2) -> linux:3 (KEY_2) -> atset1:3 */ - "Digit3": 0x4, /* html:Digit3 (Digit3) -> linux:4 (KEY_3) -> atset1:4 */ - "Digit4": 0x5, /* html:Digit4 (Digit4) -> linux:5 (KEY_4) -> atset1:5 */ - "Digit5": 0x6, /* html:Digit5 (Digit5) -> linux:6 (KEY_5) -> atset1:6 */ - "Digit6": 0x7, /* html:Digit6 (Digit6) -> linux:7 (KEY_6) -> atset1:7 */ - "Digit7": 0x8, /* html:Digit7 (Digit7) -> linux:8 (KEY_7) -> atset1:8 */ - "Digit8": 0x9, /* html:Digit8 (Digit8) -> linux:9 (KEY_8) -> atset1:9 */ - "Digit9": 0xa, /* html:Digit9 (Digit9) -> linux:10 (KEY_9) -> atset1:10 */ - "Eject": 0xe07d, /* html:Eject (Eject) -> linux:162 (KEY_EJECTCLOSECD) -> atset1:57469 */ - "End": 0xe04f, /* html:End (End) -> linux:107 (KEY_END) -> atset1:57423 */ - "Enter": 0x1c, /* html:Enter (Enter) -> linux:28 (KEY_ENTER) -> atset1:28 */ - "Equal": 0xd, /* html:Equal (Equal) -> linux:13 (KEY_EQUAL) -> atset1:13 */ - "Escape": 0x1, /* html:Escape (Escape) -> linux:1 (KEY_ESC) -> atset1:1 */ - "F1": 0x3b, /* html:F1 (F1) -> linux:59 (KEY_F1) -> atset1:59 */ - "F10": 0x44, /* html:F10 (F10) -> linux:68 (KEY_F10) -> atset1:68 */ - "F11": 0x57, /* html:F11 (F11) -> linux:87 (KEY_F11) -> atset1:87 */ - "F12": 0x58, /* html:F12 (F12) -> linux:88 (KEY_F12) -> atset1:88 */ - "F13": 0x5d, /* html:F13 (F13) -> linux:183 (KEY_F13) -> atset1:93 */ - "F14": 0x5e, /* html:F14 (F14) -> linux:184 (KEY_F14) -> atset1:94 */ - "F15": 0x5f, /* html:F15 (F15) -> linux:185 (KEY_F15) -> atset1:95 */ - "F16": 0x55, /* html:F16 (F16) -> linux:186 (KEY_F16) -> atset1:85 */ - "F17": 0xe003, /* html:F17 (F17) -> linux:187 (KEY_F17) -> atset1:57347 */ - "F18": 0xe077, /* html:F18 (F18) -> linux:188 (KEY_F18) -> atset1:57463 */ - "F19": 0xe004, /* html:F19 (F19) -> linux:189 (KEY_F19) -> atset1:57348 */ - "F2": 0x3c, /* html:F2 (F2) -> linux:60 (KEY_F2) -> atset1:60 */ - "F20": 0x5a, /* html:F20 (F20) -> linux:190 (KEY_F20) -> atset1:90 */ - "F21": 0x74, /* html:F21 (F21) -> linux:191 (KEY_F21) -> atset1:116 */ - "F22": 0xe079, /* html:F22 (F22) -> linux:192 (KEY_F22) -> atset1:57465 */ - "F23": 0x6d, /* html:F23 (F23) -> linux:193 (KEY_F23) -> atset1:109 */ - "F24": 0x6f, /* html:F24 (F24) -> linux:194 (KEY_F24) -> atset1:111 */ - "F3": 0x3d, /* html:F3 (F3) -> linux:61 (KEY_F3) -> atset1:61 */ - "F4": 0x3e, /* html:F4 (F4) -> linux:62 (KEY_F4) -> atset1:62 */ - "F5": 0x3f, /* html:F5 (F5) -> linux:63 (KEY_F5) -> atset1:63 */ - "F6": 0x40, /* html:F6 (F6) -> linux:64 (KEY_F6) -> atset1:64 */ - "F7": 0x41, /* html:F7 (F7) -> linux:65 (KEY_F7) -> atset1:65 */ - "F8": 0x42, /* html:F8 (F8) -> linux:66 (KEY_F8) -> atset1:66 */ - "F9": 0x43, /* html:F9 (F9) -> linux:67 (KEY_F9) -> atset1:67 */ - "Find": 0xe041, /* html:Find (Find) -> linux:136 (KEY_FIND) -> atset1:57409 */ - "Help": 0xe075, /* html:Help (Help) -> linux:138 (KEY_HELP) -> atset1:57461 */ - "Hiragana": 0x77, /* html:Hiragana (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */ - "Home": 0xe047, /* html:Home (Home) -> linux:102 (KEY_HOME) -> atset1:57415 */ - "Insert": 0xe052, /* html:Insert (Insert) -> linux:110 (KEY_INSERT) -> atset1:57426 */ - "IntlBackslash": 0x56, /* html:IntlBackslash (IntlBackslash) -> linux:86 (KEY_102ND) -> atset1:86 */ - "IntlRo": 0x73, /* html:IntlRo (IntlRo) -> linux:89 (KEY_RO) -> atset1:115 */ - "IntlYen": 0x7d, /* html:IntlYen (IntlYen) -> linux:124 (KEY_YEN) -> atset1:125 */ - "KanaMode": 0x70, /* html:KanaMode (KanaMode) -> linux:93 (KEY_KATAKANAHIRAGANA) -> atset1:112 */ - "Katakana": 0x78, /* html:Katakana (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */ - "KeyA": 0x1e, /* html:KeyA (KeyA) -> linux:30 (KEY_A) -> atset1:30 */ - "KeyB": 0x30, /* html:KeyB (KeyB) -> linux:48 (KEY_B) -> atset1:48 */ - "KeyC": 0x2e, /* html:KeyC (KeyC) -> linux:46 (KEY_C) -> atset1:46 */ - "KeyD": 0x20, /* html:KeyD (KeyD) -> linux:32 (KEY_D) -> atset1:32 */ - "KeyE": 0x12, /* html:KeyE (KeyE) -> linux:18 (KEY_E) -> atset1:18 */ - "KeyF": 0x21, /* html:KeyF (KeyF) -> linux:33 (KEY_F) -> atset1:33 */ - "KeyG": 0x22, /* html:KeyG (KeyG) -> linux:34 (KEY_G) -> atset1:34 */ - "KeyH": 0x23, /* html:KeyH (KeyH) -> linux:35 (KEY_H) -> atset1:35 */ - "KeyI": 0x17, /* html:KeyI (KeyI) -> linux:23 (KEY_I) -> atset1:23 */ - "KeyJ": 0x24, /* html:KeyJ (KeyJ) -> linux:36 (KEY_J) -> atset1:36 */ - "KeyK": 0x25, /* html:KeyK (KeyK) -> linux:37 (KEY_K) -> atset1:37 */ - "KeyL": 0x26, /* html:KeyL (KeyL) -> linux:38 (KEY_L) -> atset1:38 */ - "KeyM": 0x32, /* html:KeyM (KeyM) -> linux:50 (KEY_M) -> atset1:50 */ - "KeyN": 0x31, /* html:KeyN (KeyN) -> linux:49 (KEY_N) -> atset1:49 */ - "KeyO": 0x18, /* html:KeyO (KeyO) -> linux:24 (KEY_O) -> atset1:24 */ - "KeyP": 0x19, /* html:KeyP (KeyP) -> linux:25 (KEY_P) -> atset1:25 */ - "KeyQ": 0x10, /* html:KeyQ (KeyQ) -> linux:16 (KEY_Q) -> atset1:16 */ - "KeyR": 0x13, /* html:KeyR (KeyR) -> linux:19 (KEY_R) -> atset1:19 */ - "KeyS": 0x1f, /* html:KeyS (KeyS) -> linux:31 (KEY_S) -> atset1:31 */ - "KeyT": 0x14, /* html:KeyT (KeyT) -> linux:20 (KEY_T) -> atset1:20 */ - "KeyU": 0x16, /* html:KeyU (KeyU) -> linux:22 (KEY_U) -> atset1:22 */ - "KeyV": 0x2f, /* html:KeyV (KeyV) -> linux:47 (KEY_V) -> atset1:47 */ - "KeyW": 0x11, /* html:KeyW (KeyW) -> linux:17 (KEY_W) -> atset1:17 */ - "KeyX": 0x2d, /* html:KeyX (KeyX) -> linux:45 (KEY_X) -> atset1:45 */ - "KeyY": 0x15, /* html:KeyY (KeyY) -> linux:21 (KEY_Y) -> atset1:21 */ - "KeyZ": 0x2c, /* html:KeyZ (KeyZ) -> linux:44 (KEY_Z) -> atset1:44 */ - "Lang3": 0x78, /* html:Lang3 (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */ - "Lang4": 0x77, /* html:Lang4 (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */ - "Lang5": 0x76, /* html:Lang5 (Lang5) -> linux:85 (KEY_ZENKAKUHANKAKU) -> atset1:118 */ - "LaunchApp1": 0xe06b, /* html:LaunchApp1 (LaunchApp1) -> linux:157 (KEY_COMPUTER) -> atset1:57451 */ - "LaunchApp2": 0xe021, /* html:LaunchApp2 (LaunchApp2) -> linux:140 (KEY_CALC) -> atset1:57377 */ - "LaunchMail": 0xe06c, /* html:LaunchMail (LaunchMail) -> linux:155 (KEY_MAIL) -> atset1:57452 */ - "MediaPlayPause": 0xe022, /* html:MediaPlayPause (MediaPlayPause) -> linux:164 (KEY_PLAYPAUSE) -> atset1:57378 */ - "MediaSelect": 0xe06d, /* html:MediaSelect (MediaSelect) -> linux:226 (KEY_MEDIA) -> atset1:57453 */ - "MediaStop": 0xe024, /* html:MediaStop (MediaStop) -> linux:166 (KEY_STOPCD) -> atset1:57380 */ - "MediaTrackNext": 0xe019, /* html:MediaTrackNext (MediaTrackNext) -> linux:163 (KEY_NEXTSONG) -> atset1:57369 */ - "MediaTrackPrevious": 0xe010, /* html:MediaTrackPrevious (MediaTrackPrevious) -> linux:165 (KEY_PREVIOUSSONG) -> atset1:57360 */ - "MetaLeft": 0xe05b, /* html:MetaLeft (MetaLeft) -> linux:125 (KEY_LEFTMETA) -> atset1:57435 */ - "MetaRight": 0xe05c, /* html:MetaRight (MetaRight) -> linux:126 (KEY_RIGHTMETA) -> atset1:57436 */ - "Minus": 0xc, /* html:Minus (Minus) -> linux:12 (KEY_MINUS) -> atset1:12 */ - "NonConvert": 0x7b, /* html:NonConvert (NonConvert) -> linux:94 (KEY_MUHENKAN) -> atset1:123 */ - "NumLock": 0x45, /* html:NumLock (NumLock) -> linux:69 (KEY_NUMLOCK) -> atset1:69 */ - "Numpad0": 0x52, /* html:Numpad0 (Numpad0) -> linux:82 (KEY_KP0) -> atset1:82 */ - "Numpad1": 0x4f, /* html:Numpad1 (Numpad1) -> linux:79 (KEY_KP1) -> atset1:79 */ - "Numpad2": 0x50, /* html:Numpad2 (Numpad2) -> linux:80 (KEY_KP2) -> atset1:80 */ - "Numpad3": 0x51, /* html:Numpad3 (Numpad3) -> linux:81 (KEY_KP3) -> atset1:81 */ - "Numpad4": 0x4b, /* html:Numpad4 (Numpad4) -> linux:75 (KEY_KP4) -> atset1:75 */ - "Numpad5": 0x4c, /* html:Numpad5 (Numpad5) -> linux:76 (KEY_KP5) -> atset1:76 */ - "Numpad6": 0x4d, /* html:Numpad6 (Numpad6) -> linux:77 (KEY_KP6) -> atset1:77 */ - "Numpad7": 0x47, /* html:Numpad7 (Numpad7) -> linux:71 (KEY_KP7) -> atset1:71 */ - "Numpad8": 0x48, /* html:Numpad8 (Numpad8) -> linux:72 (KEY_KP8) -> atset1:72 */ - "Numpad9": 0x49, /* html:Numpad9 (Numpad9) -> linux:73 (KEY_KP9) -> atset1:73 */ - "NumpadAdd": 0x4e, /* html:NumpadAdd (NumpadAdd) -> linux:78 (KEY_KPPLUS) -> atset1:78 */ - "NumpadComma": 0x7e, /* html:NumpadComma (NumpadComma) -> linux:121 (KEY_KPCOMMA) -> atset1:126 */ - "NumpadDecimal": 0x53, /* html:NumpadDecimal (NumpadDecimal) -> linux:83 (KEY_KPDOT) -> atset1:83 */ - "NumpadDivide": 0xe035, /* html:NumpadDivide (NumpadDivide) -> linux:98 (KEY_KPSLASH) -> atset1:57397 */ - "NumpadEnter": 0xe01c, /* html:NumpadEnter (NumpadEnter) -> linux:96 (KEY_KPENTER) -> atset1:57372 */ - "NumpadEqual": 0x59, /* html:NumpadEqual (NumpadEqual) -> linux:117 (KEY_KPEQUAL) -> atset1:89 */ - "NumpadMultiply": 0x37, /* html:NumpadMultiply (NumpadMultiply) -> linux:55 (KEY_KPASTERISK) -> atset1:55 */ - "NumpadParenLeft": 0xe076, /* html:NumpadParenLeft (NumpadParenLeft) -> linux:179 (KEY_KPLEFTPAREN) -> atset1:57462 */ - "NumpadParenRight": 0xe07b, /* html:NumpadParenRight (NumpadParenRight) -> linux:180 (KEY_KPRIGHTPAREN) -> atset1:57467 */ - "NumpadSubtract": 0x4a, /* html:NumpadSubtract (NumpadSubtract) -> linux:74 (KEY_KPMINUS) -> atset1:74 */ - "Open": 0x64, /* html:Open (Open) -> linux:134 (KEY_OPEN) -> atset1:100 */ - "PageDown": 0xe051, /* html:PageDown (PageDown) -> linux:109 (KEY_PAGEDOWN) -> atset1:57425 */ - "PageUp": 0xe049, /* html:PageUp (PageUp) -> linux:104 (KEY_PAGEUP) -> atset1:57417 */ - "Paste": 0x65, /* html:Paste (Paste) -> linux:135 (KEY_PASTE) -> atset1:101 */ - "Pause": 0xe046, /* html:Pause (Pause) -> linux:119 (KEY_PAUSE) -> atset1:57414 */ - "Period": 0x34, /* html:Period (Period) -> linux:52 (KEY_DOT) -> atset1:52 */ - "Power": 0xe05e, /* html:Power (Power) -> linux:116 (KEY_POWER) -> atset1:57438 */ - "PrintScreen": 0x54, /* html:PrintScreen (PrintScreen) -> linux:99 (KEY_SYSRQ) -> atset1:84 */ - "Props": 0xe006, /* html:Props (Props) -> linux:130 (KEY_PROPS) -> atset1:57350 */ - "Quote": 0x28, /* html:Quote (Quote) -> linux:40 (KEY_APOSTROPHE) -> atset1:40 */ - "ScrollLock": 0x46, /* html:ScrollLock (ScrollLock) -> linux:70 (KEY_SCROLLLOCK) -> atset1:70 */ - "Semicolon": 0x27, /* html:Semicolon (Semicolon) -> linux:39 (KEY_SEMICOLON) -> atset1:39 */ - "ShiftLeft": 0x2a, /* html:ShiftLeft (ShiftLeft) -> linux:42 (KEY_LEFTSHIFT) -> atset1:42 */ - "ShiftRight": 0x36, /* html:ShiftRight (ShiftRight) -> linux:54 (KEY_RIGHTSHIFT) -> atset1:54 */ - "Slash": 0x35, /* html:Slash (Slash) -> linux:53 (KEY_SLASH) -> atset1:53 */ - "Sleep": 0xe05f, /* html:Sleep (Sleep) -> linux:142 (KEY_SLEEP) -> atset1:57439 */ - "Space": 0x39, /* html:Space (Space) -> linux:57 (KEY_SPACE) -> atset1:57 */ - "Suspend": 0xe025, /* html:Suspend (Suspend) -> linux:205 (KEY_SUSPEND) -> atset1:57381 */ - "Tab": 0xf, /* html:Tab (Tab) -> linux:15 (KEY_TAB) -> atset1:15 */ - "Undo": 0xe007, /* html:Undo (Undo) -> linux:131 (KEY_UNDO) -> atset1:57351 */ - "WakeUp": 0xe063, /* html:WakeUp (WakeUp) -> linux:143 (KEY_WAKEUP) -> atset1:57443 */ -}; +/* + * This file is auto-generated from keymaps.csv on 2017-05-31 16:20 + * Database checksum sha256(92fd165507f2a3b8c5b3fa56e425d45788dbcb98cf067a307527d91ce22cab94) + * To re-generate, run: + * keymap-gen --lang=js code-map keymaps.csv html atset1 +*/ +export default { + "Again": 0xe005, /* html:Again (Again) -> linux:129 (KEY_AGAIN) -> atset1:57349 */ + "AltLeft": 0x38, /* html:AltLeft (AltLeft) -> linux:56 (KEY_LEFTALT) -> atset1:56 */ + "AltRight": 0xe038, /* html:AltRight (AltRight) -> linux:100 (KEY_RIGHTALT) -> atset1:57400 */ + "ArrowDown": 0xe050, /* html:ArrowDown (ArrowDown) -> linux:108 (KEY_DOWN) -> atset1:57424 */ + "ArrowLeft": 0xe04b, /* html:ArrowLeft (ArrowLeft) -> linux:105 (KEY_LEFT) -> atset1:57419 */ + "ArrowRight": 0xe04d, /* html:ArrowRight (ArrowRight) -> linux:106 (KEY_RIGHT) -> atset1:57421 */ + "ArrowUp": 0xe048, /* html:ArrowUp (ArrowUp) -> linux:103 (KEY_UP) -> atset1:57416 */ + "AudioVolumeDown": 0xe02e, /* html:AudioVolumeDown (AudioVolumeDown) -> linux:114 (KEY_VOLUMEDOWN) -> atset1:57390 */ + "AudioVolumeMute": 0xe020, /* html:AudioVolumeMute (AudioVolumeMute) -> linux:113 (KEY_MUTE) -> atset1:57376 */ + "AudioVolumeUp": 0xe030, /* html:AudioVolumeUp (AudioVolumeUp) -> linux:115 (KEY_VOLUMEUP) -> atset1:57392 */ + "Backquote": 0x29, /* html:Backquote (Backquote) -> linux:41 (KEY_GRAVE) -> atset1:41 */ + "Backslash": 0x2b, /* html:Backslash (Backslash) -> linux:43 (KEY_BACKSLASH) -> atset1:43 */ + "Backspace": 0xe, /* html:Backspace (Backspace) -> linux:14 (KEY_BACKSPACE) -> atset1:14 */ + "BracketLeft": 0x1a, /* html:BracketLeft (BracketLeft) -> linux:26 (KEY_LEFTBRACE) -> atset1:26 */ + "BracketRight": 0x1b, /* html:BracketRight (BracketRight) -> linux:27 (KEY_RIGHTBRACE) -> atset1:27 */ + "BrowserBack": 0xe06a, /* html:BrowserBack (BrowserBack) -> linux:158 (KEY_BACK) -> atset1:57450 */ + "BrowserFavorites": 0xe066, /* html:BrowserFavorites (BrowserFavorites) -> linux:156 (KEY_BOOKMARKS) -> atset1:57446 */ + "BrowserForward": 0xe069, /* html:BrowserForward (BrowserForward) -> linux:159 (KEY_FORWARD) -> atset1:57449 */ + "BrowserHome": 0xe032, /* html:BrowserHome (BrowserHome) -> linux:172 (KEY_HOMEPAGE) -> atset1:57394 */ + "BrowserRefresh": 0xe067, /* html:BrowserRefresh (BrowserRefresh) -> linux:173 (KEY_REFRESH) -> atset1:57447 */ + "BrowserSearch": 0xe065, /* html:BrowserSearch (BrowserSearch) -> linux:217 (KEY_SEARCH) -> atset1:57445 */ + "BrowserStop": 0xe068, /* html:BrowserStop (BrowserStop) -> linux:128 (KEY_STOP) -> atset1:57448 */ + "CapsLock": 0x3a, /* html:CapsLock (CapsLock) -> linux:58 (KEY_CAPSLOCK) -> atset1:58 */ + "Comma": 0x33, /* html:Comma (Comma) -> linux:51 (KEY_COMMA) -> atset1:51 */ + "ContextMenu": 0xe05d, /* html:ContextMenu (ContextMenu) -> linux:127 (KEY_COMPOSE) -> atset1:57437 */ + "ControlLeft": 0x1d, /* html:ControlLeft (ControlLeft) -> linux:29 (KEY_LEFTCTRL) -> atset1:29 */ + "ControlRight": 0xe01d, /* html:ControlRight (ControlRight) -> linux:97 (KEY_RIGHTCTRL) -> atset1:57373 */ + "Convert": 0x79, /* html:Convert (Convert) -> linux:92 (KEY_HENKAN) -> atset1:121 */ + "Copy": 0xe078, /* html:Copy (Copy) -> linux:133 (KEY_COPY) -> atset1:57464 */ + "Cut": 0xe03c, /* html:Cut (Cut) -> linux:137 (KEY_CUT) -> atset1:57404 */ + "Delete": 0xe053, /* html:Delete (Delete) -> linux:111 (KEY_DELETE) -> atset1:57427 */ + "Digit0": 0xb, /* html:Digit0 (Digit0) -> linux:11 (KEY_0) -> atset1:11 */ + "Digit1": 0x2, /* html:Digit1 (Digit1) -> linux:2 (KEY_1) -> atset1:2 */ + "Digit2": 0x3, /* html:Digit2 (Digit2) -> linux:3 (KEY_2) -> atset1:3 */ + "Digit3": 0x4, /* html:Digit3 (Digit3) -> linux:4 (KEY_3) -> atset1:4 */ + "Digit4": 0x5, /* html:Digit4 (Digit4) -> linux:5 (KEY_4) -> atset1:5 */ + "Digit5": 0x6, /* html:Digit5 (Digit5) -> linux:6 (KEY_5) -> atset1:6 */ + "Digit6": 0x7, /* html:Digit6 (Digit6) -> linux:7 (KEY_6) -> atset1:7 */ + "Digit7": 0x8, /* html:Digit7 (Digit7) -> linux:8 (KEY_7) -> atset1:8 */ + "Digit8": 0x9, /* html:Digit8 (Digit8) -> linux:9 (KEY_8) -> atset1:9 */ + "Digit9": 0xa, /* html:Digit9 (Digit9) -> linux:10 (KEY_9) -> atset1:10 */ + "Eject": 0xe07d, /* html:Eject (Eject) -> linux:162 (KEY_EJECTCLOSECD) -> atset1:57469 */ + "End": 0xe04f, /* html:End (End) -> linux:107 (KEY_END) -> atset1:57423 */ + "Enter": 0x1c, /* html:Enter (Enter) -> linux:28 (KEY_ENTER) -> atset1:28 */ + "Equal": 0xd, /* html:Equal (Equal) -> linux:13 (KEY_EQUAL) -> atset1:13 */ + "Escape": 0x1, /* html:Escape (Escape) -> linux:1 (KEY_ESC) -> atset1:1 */ + "F1": 0x3b, /* html:F1 (F1) -> linux:59 (KEY_F1) -> atset1:59 */ + "F10": 0x44, /* html:F10 (F10) -> linux:68 (KEY_F10) -> atset1:68 */ + "F11": 0x57, /* html:F11 (F11) -> linux:87 (KEY_F11) -> atset1:87 */ + "F12": 0x58, /* html:F12 (F12) -> linux:88 (KEY_F12) -> atset1:88 */ + "F13": 0x5d, /* html:F13 (F13) -> linux:183 (KEY_F13) -> atset1:93 */ + "F14": 0x5e, /* html:F14 (F14) -> linux:184 (KEY_F14) -> atset1:94 */ + "F15": 0x5f, /* html:F15 (F15) -> linux:185 (KEY_F15) -> atset1:95 */ + "F16": 0x55, /* html:F16 (F16) -> linux:186 (KEY_F16) -> atset1:85 */ + "F17": 0xe003, /* html:F17 (F17) -> linux:187 (KEY_F17) -> atset1:57347 */ + "F18": 0xe077, /* html:F18 (F18) -> linux:188 (KEY_F18) -> atset1:57463 */ + "F19": 0xe004, /* html:F19 (F19) -> linux:189 (KEY_F19) -> atset1:57348 */ + "F2": 0x3c, /* html:F2 (F2) -> linux:60 (KEY_F2) -> atset1:60 */ + "F20": 0x5a, /* html:F20 (F20) -> linux:190 (KEY_F20) -> atset1:90 */ + "F21": 0x74, /* html:F21 (F21) -> linux:191 (KEY_F21) -> atset1:116 */ + "F22": 0xe079, /* html:F22 (F22) -> linux:192 (KEY_F22) -> atset1:57465 */ + "F23": 0x6d, /* html:F23 (F23) -> linux:193 (KEY_F23) -> atset1:109 */ + "F24": 0x6f, /* html:F24 (F24) -> linux:194 (KEY_F24) -> atset1:111 */ + "F3": 0x3d, /* html:F3 (F3) -> linux:61 (KEY_F3) -> atset1:61 */ + "F4": 0x3e, /* html:F4 (F4) -> linux:62 (KEY_F4) -> atset1:62 */ + "F5": 0x3f, /* html:F5 (F5) -> linux:63 (KEY_F5) -> atset1:63 */ + "F6": 0x40, /* html:F6 (F6) -> linux:64 (KEY_F6) -> atset1:64 */ + "F7": 0x41, /* html:F7 (F7) -> linux:65 (KEY_F7) -> atset1:65 */ + "F8": 0x42, /* html:F8 (F8) -> linux:66 (KEY_F8) -> atset1:66 */ + "F9": 0x43, /* html:F9 (F9) -> linux:67 (KEY_F9) -> atset1:67 */ + "Find": 0xe041, /* html:Find (Find) -> linux:136 (KEY_FIND) -> atset1:57409 */ + "Help": 0xe075, /* html:Help (Help) -> linux:138 (KEY_HELP) -> atset1:57461 */ + "Hiragana": 0x77, /* html:Hiragana (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */ + "Home": 0xe047, /* html:Home (Home) -> linux:102 (KEY_HOME) -> atset1:57415 */ + "Insert": 0xe052, /* html:Insert (Insert) -> linux:110 (KEY_INSERT) -> atset1:57426 */ + "IntlBackslash": 0x56, /* html:IntlBackslash (IntlBackslash) -> linux:86 (KEY_102ND) -> atset1:86 */ + "IntlRo": 0x73, /* html:IntlRo (IntlRo) -> linux:89 (KEY_RO) -> atset1:115 */ + "IntlYen": 0x7d, /* html:IntlYen (IntlYen) -> linux:124 (KEY_YEN) -> atset1:125 */ + "KanaMode": 0x70, /* html:KanaMode (KanaMode) -> linux:93 (KEY_KATAKANAHIRAGANA) -> atset1:112 */ + "Katakana": 0x78, /* html:Katakana (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */ + "KeyA": 0x1e, /* html:KeyA (KeyA) -> linux:30 (KEY_A) -> atset1:30 */ + "KeyB": 0x30, /* html:KeyB (KeyB) -> linux:48 (KEY_B) -> atset1:48 */ + "KeyC": 0x2e, /* html:KeyC (KeyC) -> linux:46 (KEY_C) -> atset1:46 */ + "KeyD": 0x20, /* html:KeyD (KeyD) -> linux:32 (KEY_D) -> atset1:32 */ + "KeyE": 0x12, /* html:KeyE (KeyE) -> linux:18 (KEY_E) -> atset1:18 */ + "KeyF": 0x21, /* html:KeyF (KeyF) -> linux:33 (KEY_F) -> atset1:33 */ + "KeyG": 0x22, /* html:KeyG (KeyG) -> linux:34 (KEY_G) -> atset1:34 */ + "KeyH": 0x23, /* html:KeyH (KeyH) -> linux:35 (KEY_H) -> atset1:35 */ + "KeyI": 0x17, /* html:KeyI (KeyI) -> linux:23 (KEY_I) -> atset1:23 */ + "KeyJ": 0x24, /* html:KeyJ (KeyJ) -> linux:36 (KEY_J) -> atset1:36 */ + "KeyK": 0x25, /* html:KeyK (KeyK) -> linux:37 (KEY_K) -> atset1:37 */ + "KeyL": 0x26, /* html:KeyL (KeyL) -> linux:38 (KEY_L) -> atset1:38 */ + "KeyM": 0x32, /* html:KeyM (KeyM) -> linux:50 (KEY_M) -> atset1:50 */ + "KeyN": 0x31, /* html:KeyN (KeyN) -> linux:49 (KEY_N) -> atset1:49 */ + "KeyO": 0x18, /* html:KeyO (KeyO) -> linux:24 (KEY_O) -> atset1:24 */ + "KeyP": 0x19, /* html:KeyP (KeyP) -> linux:25 (KEY_P) -> atset1:25 */ + "KeyQ": 0x10, /* html:KeyQ (KeyQ) -> linux:16 (KEY_Q) -> atset1:16 */ + "KeyR": 0x13, /* html:KeyR (KeyR) -> linux:19 (KEY_R) -> atset1:19 */ + "KeyS": 0x1f, /* html:KeyS (KeyS) -> linux:31 (KEY_S) -> atset1:31 */ + "KeyT": 0x14, /* html:KeyT (KeyT) -> linux:20 (KEY_T) -> atset1:20 */ + "KeyU": 0x16, /* html:KeyU (KeyU) -> linux:22 (KEY_U) -> atset1:22 */ + "KeyV": 0x2f, /* html:KeyV (KeyV) -> linux:47 (KEY_V) -> atset1:47 */ + "KeyW": 0x11, /* html:KeyW (KeyW) -> linux:17 (KEY_W) -> atset1:17 */ + "KeyX": 0x2d, /* html:KeyX (KeyX) -> linux:45 (KEY_X) -> atset1:45 */ + "KeyY": 0x15, /* html:KeyY (KeyY) -> linux:21 (KEY_Y) -> atset1:21 */ + "KeyZ": 0x2c, /* html:KeyZ (KeyZ) -> linux:44 (KEY_Z) -> atset1:44 */ + "Lang3": 0x78, /* html:Lang3 (Lang3) -> linux:90 (KEY_KATAKANA) -> atset1:120 */ + "Lang4": 0x77, /* html:Lang4 (Lang4) -> linux:91 (KEY_HIRAGANA) -> atset1:119 */ + "Lang5": 0x76, /* html:Lang5 (Lang5) -> linux:85 (KEY_ZENKAKUHANKAKU) -> atset1:118 */ + "LaunchApp1": 0xe06b, /* html:LaunchApp1 (LaunchApp1) -> linux:157 (KEY_COMPUTER) -> atset1:57451 */ + "LaunchApp2": 0xe021, /* html:LaunchApp2 (LaunchApp2) -> linux:140 (KEY_CALC) -> atset1:57377 */ + "LaunchMail": 0xe06c, /* html:LaunchMail (LaunchMail) -> linux:155 (KEY_MAIL) -> atset1:57452 */ + "MediaPlayPause": 0xe022, /* html:MediaPlayPause (MediaPlayPause) -> linux:164 (KEY_PLAYPAUSE) -> atset1:57378 */ + "MediaSelect": 0xe06d, /* html:MediaSelect (MediaSelect) -> linux:226 (KEY_MEDIA) -> atset1:57453 */ + "MediaStop": 0xe024, /* html:MediaStop (MediaStop) -> linux:166 (KEY_STOPCD) -> atset1:57380 */ + "MediaTrackNext": 0xe019, /* html:MediaTrackNext (MediaTrackNext) -> linux:163 (KEY_NEXTSONG) -> atset1:57369 */ + "MediaTrackPrevious": 0xe010, /* html:MediaTrackPrevious (MediaTrackPrevious) -> linux:165 (KEY_PREVIOUSSONG) -> atset1:57360 */ + "MetaLeft": 0xe05b, /* html:MetaLeft (MetaLeft) -> linux:125 (KEY_LEFTMETA) -> atset1:57435 */ + "MetaRight": 0xe05c, /* html:MetaRight (MetaRight) -> linux:126 (KEY_RIGHTMETA) -> atset1:57436 */ + "Minus": 0xc, /* html:Minus (Minus) -> linux:12 (KEY_MINUS) -> atset1:12 */ + "NonConvert": 0x7b, /* html:NonConvert (NonConvert) -> linux:94 (KEY_MUHENKAN) -> atset1:123 */ + "NumLock": 0x45, /* html:NumLock (NumLock) -> linux:69 (KEY_NUMLOCK) -> atset1:69 */ + "Numpad0": 0x52, /* html:Numpad0 (Numpad0) -> linux:82 (KEY_KP0) -> atset1:82 */ + "Numpad1": 0x4f, /* html:Numpad1 (Numpad1) -> linux:79 (KEY_KP1) -> atset1:79 */ + "Numpad2": 0x50, /* html:Numpad2 (Numpad2) -> linux:80 (KEY_KP2) -> atset1:80 */ + "Numpad3": 0x51, /* html:Numpad3 (Numpad3) -> linux:81 (KEY_KP3) -> atset1:81 */ + "Numpad4": 0x4b, /* html:Numpad4 (Numpad4) -> linux:75 (KEY_KP4) -> atset1:75 */ + "Numpad5": 0x4c, /* html:Numpad5 (Numpad5) -> linux:76 (KEY_KP5) -> atset1:76 */ + "Numpad6": 0x4d, /* html:Numpad6 (Numpad6) -> linux:77 (KEY_KP6) -> atset1:77 */ + "Numpad7": 0x47, /* html:Numpad7 (Numpad7) -> linux:71 (KEY_KP7) -> atset1:71 */ + "Numpad8": 0x48, /* html:Numpad8 (Numpad8) -> linux:72 (KEY_KP8) -> atset1:72 */ + "Numpad9": 0x49, /* html:Numpad9 (Numpad9) -> linux:73 (KEY_KP9) -> atset1:73 */ + "NumpadAdd": 0x4e, /* html:NumpadAdd (NumpadAdd) -> linux:78 (KEY_KPPLUS) -> atset1:78 */ + "NumpadComma": 0x7e, /* html:NumpadComma (NumpadComma) -> linux:121 (KEY_KPCOMMA) -> atset1:126 */ + "NumpadDecimal": 0x53, /* html:NumpadDecimal (NumpadDecimal) -> linux:83 (KEY_KPDOT) -> atset1:83 */ + "NumpadDivide": 0xe035, /* html:NumpadDivide (NumpadDivide) -> linux:98 (KEY_KPSLASH) -> atset1:57397 */ + "NumpadEnter": 0xe01c, /* html:NumpadEnter (NumpadEnter) -> linux:96 (KEY_KPENTER) -> atset1:57372 */ + "NumpadEqual": 0x59, /* html:NumpadEqual (NumpadEqual) -> linux:117 (KEY_KPEQUAL) -> atset1:89 */ + "NumpadMultiply": 0x37, /* html:NumpadMultiply (NumpadMultiply) -> linux:55 (KEY_KPASTERISK) -> atset1:55 */ + "NumpadParenLeft": 0xe076, /* html:NumpadParenLeft (NumpadParenLeft) -> linux:179 (KEY_KPLEFTPAREN) -> atset1:57462 */ + "NumpadParenRight": 0xe07b, /* html:NumpadParenRight (NumpadParenRight) -> linux:180 (KEY_KPRIGHTPAREN) -> atset1:57467 */ + "NumpadSubtract": 0x4a, /* html:NumpadSubtract (NumpadSubtract) -> linux:74 (KEY_KPMINUS) -> atset1:74 */ + "Open": 0x64, /* html:Open (Open) -> linux:134 (KEY_OPEN) -> atset1:100 */ + "PageDown": 0xe051, /* html:PageDown (PageDown) -> linux:109 (KEY_PAGEDOWN) -> atset1:57425 */ + "PageUp": 0xe049, /* html:PageUp (PageUp) -> linux:104 (KEY_PAGEUP) -> atset1:57417 */ + "Paste": 0x65, /* html:Paste (Paste) -> linux:135 (KEY_PASTE) -> atset1:101 */ + "Pause": 0xe046, /* html:Pause (Pause) -> linux:119 (KEY_PAUSE) -> atset1:57414 */ + "Period": 0x34, /* html:Period (Period) -> linux:52 (KEY_DOT) -> atset1:52 */ + "Power": 0xe05e, /* html:Power (Power) -> linux:116 (KEY_POWER) -> atset1:57438 */ + "PrintScreen": 0x54, /* html:PrintScreen (PrintScreen) -> linux:99 (KEY_SYSRQ) -> atset1:84 */ + "Props": 0xe006, /* html:Props (Props) -> linux:130 (KEY_PROPS) -> atset1:57350 */ + "Quote": 0x28, /* html:Quote (Quote) -> linux:40 (KEY_APOSTROPHE) -> atset1:40 */ + "ScrollLock": 0x46, /* html:ScrollLock (ScrollLock) -> linux:70 (KEY_SCROLLLOCK) -> atset1:70 */ + "Semicolon": 0x27, /* html:Semicolon (Semicolon) -> linux:39 (KEY_SEMICOLON) -> atset1:39 */ + "ShiftLeft": 0x2a, /* html:ShiftLeft (ShiftLeft) -> linux:42 (KEY_LEFTSHIFT) -> atset1:42 */ + "ShiftRight": 0x36, /* html:ShiftRight (ShiftRight) -> linux:54 (KEY_RIGHTSHIFT) -> atset1:54 */ + "Slash": 0x35, /* html:Slash (Slash) -> linux:53 (KEY_SLASH) -> atset1:53 */ + "Sleep": 0xe05f, /* html:Sleep (Sleep) -> linux:142 (KEY_SLEEP) -> atset1:57439 */ + "Space": 0x39, /* html:Space (Space) -> linux:57 (KEY_SPACE) -> atset1:57 */ + "Suspend": 0xe025, /* html:Suspend (Suspend) -> linux:205 (KEY_SUSPEND) -> atset1:57381 */ + "Tab": 0xf, /* html:Tab (Tab) -> linux:15 (KEY_TAB) -> atset1:15 */ + "Undo": 0xe007, /* html:Undo (Undo) -> linux:131 (KEY_UNDO) -> atset1:57351 */ + "WakeUp": 0xe063, /* html:WakeUp (WakeUp) -> linux:143 (KEY_WAKEUP) -> atset1:57443 */ +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/rfb.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/rfb.js index 14408ca..171e150 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/rfb.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/rfb.js @@ -1,3001 +1,3001 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - */ - -import { toUnsigned32bit, toSigned32bit } from './util/int.js'; -import * as Log from './util/logging.js'; -import { encodeUTF8, decodeUTF8 } from './util/strings.js'; -import { dragThreshold } from './util/browser.js'; -import { clientToElement } from './util/element.js'; -import { setCapture } from './util/events.js'; -import EventTargetMixin from './util/eventtarget.js'; -import Display from "./display.js"; -import Inflator from "./inflator.js"; -import Deflator from "./deflator.js"; -import Keyboard from "./input/keyboard.js"; -import GestureHandler from "./input/gesturehandler.js"; -import Cursor from "./util/cursor.js"; -import Websock from "./websock.js"; -import DES from "./des.js"; -import KeyTable from "./input/keysym.js"; -import XtScancode from "./input/xtscancodes.js"; -import { encodings } from "./encodings.js"; -import "./util/polyfill.js"; - -import RawDecoder from "./decoders/raw.js"; -import CopyRectDecoder from "./decoders/copyrect.js"; -import RREDecoder from "./decoders/rre.js"; -import HextileDecoder from "./decoders/hextile.js"; -import TightDecoder from "./decoders/tight.js"; -import TightPNGDecoder from "./decoders/tightpng.js"; - -// How many seconds to wait for a disconnect to finish -const DISCONNECT_TIMEOUT = 3; -const DEFAULT_BACKGROUND = 'rgb(40, 40, 40)'; - -// Minimum wait (ms) between two mouse moves -const MOUSE_MOVE_DELAY = 17; - -// Wheel thresholds -const WHEEL_STEP = 50; // Pixels needed for one step -const WHEEL_LINE_HEIGHT = 19; // Assumed pixels for one line step - -// Gesture thresholds -const GESTURE_ZOOMSENS = 75; -const GESTURE_SCRLSENS = 50; -const DOUBLE_TAP_TIMEOUT = 1000; -const DOUBLE_TAP_THRESHOLD = 50; - -// Extended clipboard pseudo-encoding formats -const extendedClipboardFormatText = 1; -/*eslint-disable no-unused-vars */ -const extendedClipboardFormatRtf = 1 << 1; -const extendedClipboardFormatHtml = 1 << 2; -const extendedClipboardFormatDib = 1 << 3; -const extendedClipboardFormatFiles = 1 << 4; -/*eslint-enable */ - -// Extended clipboard pseudo-encoding actions -const extendedClipboardActionCaps = 1 << 24; -const extendedClipboardActionRequest = 1 << 25; -const extendedClipboardActionPeek = 1 << 26; -const extendedClipboardActionNotify = 1 << 27; -const extendedClipboardActionProvide = 1 << 28; - - -export default class RFB extends EventTargetMixin { - constructor(target, url, options) { - if (!target) { - throw new Error("Must specify target"); - } - if (!url) { - throw new Error("Must specify URL"); - } - - super(); - - this._target = target; - this._url = url; - - // Connection details - options = options || {}; - this._rfbCredentials = options.credentials || {}; - this._shared = 'shared' in options ? !!options.shared : true; - this._repeaterID = options.repeaterID || ''; - this._wsProtocols = ['binary']; - - // Internal state - this._rfbConnectionState = ''; - this._rfbInitState = ''; - this._rfbAuthScheme = -1; - this._rfbCleanDisconnect = true; - - // Server capabilities - this._rfbVersion = 0; - this._rfbMaxVersion = 3.8; - this._rfbTightVNC = false; - this._rfbVeNCryptState = 0; - this._rfbXvpVer = 0; - - this._fbWidth = 0; - this._fbHeight = 0; - - this._fbName = ""; - - this._capabilities = { power: false }; - - this._supportsFence = false; - - this._supportsContinuousUpdates = false; - this._enabledContinuousUpdates = false; - - this._supportsSetDesktopSize = false; - this._screenID = 0; - this._screenFlags = 0; - - this._qemuExtKeyEventSupported = false; - - this._clipboardText = null; - this._clipboardServerCapabilitiesActions = {}; - this._clipboardServerCapabilitiesFormats = {}; - - // Internal objects - this._sock = null; // Websock object - this._display = null; // Display object - this._flushing = false; // Display flushing state - this._keyboard = null; // Keyboard input handler object - this._gestures = null; // Gesture input handler object - - // Timers - this._disconnTimer = null; // disconnection timer - this._resizeTimeout = null; // resize rate limiting - this._mouseMoveTimer = null; - - // Decoder states - this._decoders = {}; - - this._FBU = { - rects: 0, - x: 0, - y: 0, - width: 0, - height: 0, - encoding: null, - }; - - // Mouse state - this._mousePos = {}; - this._mouseButtonMask = 0; - this._mouseLastMoveTime = 0; - this._viewportDragging = false; - this._viewportDragPos = {}; - this._viewportHasMoved = false; - this._accumulatedWheelDeltaX = 0; - this._accumulatedWheelDeltaY = 0; - - // Gesture state - this._gestureLastTapTime = null; - this._gestureFirstDoubleTapEv = null; - this._gestureLastMagnitudeX = 0; - this._gestureLastMagnitudeY = 0; - - // Bound event handlers - this._eventHandlers = { - focusCanvas: this._focusCanvas.bind(this), - windowResize: this._windowResize.bind(this), - handleMouse: this._handleMouse.bind(this), - handleWheel: this._handleWheel.bind(this), - handleGesture: this._handleGesture.bind(this), - }; - - // main setup - Log.Debug(">> RFB.constructor"); - - // Create DOM elements - this._screen = document.createElement('div'); - this._screen.style.display = 'flex'; - this._screen.style.width = '100%'; - this._screen.style.height = '100%'; - this._screen.style.overflow = 'auto'; - this._screen.style.background = DEFAULT_BACKGROUND; - this._canvas = document.createElement('canvas'); - this._canvas.style.margin = 'auto'; - // Some browsers add an outline on focus - this._canvas.style.outline = 'none'; - // IE miscalculates width without this :( - this._canvas.style.flexShrink = '0'; - this._canvas.width = 0; - this._canvas.height = 0; - this._canvas.tabIndex = -1; - this._screen.appendChild(this._canvas); - - // Cursor - this._cursor = new Cursor(); - - // XXX: TightVNC 2.8.11 sends no cursor at all until Windows changes - // it. Result: no cursor at all until a window border or an edit field - // is hit blindly. But there are also VNC servers that draw the cursor - // in the framebuffer and don't send the empty local cursor. There is - // no way to satisfy both sides. - // - // The spec is unclear on this "initial cursor" issue. Many other - // viewers (TigerVNC, RealVNC, Remmina) display an arrow as the - // initial cursor instead. - this._cursorImage = RFB.cursors.none; - - // populate decoder array with objects - this._decoders[encodings.encodingRaw] = new RawDecoder(); - this._decoders[encodings.encodingCopyRect] = new CopyRectDecoder(); - this._decoders[encodings.encodingRRE] = new RREDecoder(); - this._decoders[encodings.encodingHextile] = new HextileDecoder(); - this._decoders[encodings.encodingTight] = new TightDecoder(); - this._decoders[encodings.encodingTightPNG] = new TightPNGDecoder(); - - // NB: nothing that needs explicit teardown should be done - // before this point, since this can throw an exception - try { - this._display = new Display(this._canvas); - } catch (exc) { - Log.Error("Display exception: " + exc); - throw exc; - } - this._display.onflush = this._onFlush.bind(this); - - this._keyboard = new Keyboard(this._canvas); - this._keyboard.onkeyevent = this._handleKeyEvent.bind(this); - - this._gestures = new GestureHandler(); - - this._sock = new Websock(); - this._sock.on('message', () => { - this._handleMessage(); - }); - this._sock.on('open', () => { - if ((this._rfbConnectionState === 'connecting') && - (this._rfbInitState === '')) { - this._rfbInitState = 'ProtocolVersion'; - Log.Debug("Starting VNC handshake"); - } else { - this._fail("Unexpected server connection while " + - this._rfbConnectionState); - } - }); - this._sock.on('close', (e) => { - Log.Debug("WebSocket on-close event"); - let msg = ""; - if (e.code) { - msg = "(code: " + e.code; - if (e.reason) { - msg += ", reason: " + e.reason; - } - msg += ")"; - } - switch (this._rfbConnectionState) { - case 'connecting': - this._fail("Connection closed " + msg); - break; - case 'connected': - // Handle disconnects that were initiated server-side - this._updateConnectionState('disconnecting'); - this._updateConnectionState('disconnected'); - break; - case 'disconnecting': - // Normal disconnection path - this._updateConnectionState('disconnected'); - break; - case 'disconnected': - this._fail("Unexpected server disconnect " + - "when already disconnected " + msg); - break; - default: - this._fail("Unexpected server disconnect before connecting " + - msg); - break; - } - this._sock.off('close'); - }); - this._sock.on('error', e => Log.Warn("WebSocket on-error event")); - - // Slight delay of the actual connection so that the caller has - // time to set up callbacks - setTimeout(this._updateConnectionState.bind(this, 'connecting')); - - Log.Debug("<< RFB.constructor"); - - // ===== PROPERTIES ===== - - this.dragViewport = false; - this.focusOnClick = true; - - this._viewOnly = false; - this._clipViewport = false; - this._scaleViewport = false; - this._resizeSession = false; - - this._showDotCursor = false; - if (options.showDotCursor !== undefined) { - Log.Warn("Specifying showDotCursor as a RFB constructor argument is deprecated"); - this._showDotCursor = options.showDotCursor; - } - - this._qualityLevel = 6; - this._compressionLevel = 2; - } - - // ===== PROPERTIES ===== - - get viewOnly() { return this._viewOnly; } - set viewOnly(viewOnly) { - this._viewOnly = viewOnly; - - if (this._rfbConnectionState === "connecting" || - this._rfbConnectionState === "connected") { - if (viewOnly) { - this._keyboard.ungrab(); - } else { - this._keyboard.grab(); - } - } - } - - get capabilities() { return this._capabilities; } - - get touchButton() { return 0; } - set touchButton(button) { Log.Warn("Using old API!"); } - - get clipViewport() { return this._clipViewport; } - set clipViewport(viewport) { - this._clipViewport = viewport; - this._updateClip(); - } - - get scaleViewport() { return this._scaleViewport; } - set scaleViewport(scale) { - this._scaleViewport = scale; - // Scaling trumps clipping, so we may need to adjust - // clipping when enabling or disabling scaling - if (scale && this._clipViewport) { - this._updateClip(); - } - this._updateScale(); - if (!scale && this._clipViewport) { - this._updateClip(); - } - } - - get resizeSession() { return this._resizeSession; } - set resizeSession(resize) { - this._resizeSession = resize; - if (resize) { - this._requestRemoteResize(); - } - } - - get showDotCursor() { return this._showDotCursor; } - set showDotCursor(show) { - this._showDotCursor = show; - this._refreshCursor(); - } - - get background() { return this._screen.style.background; } - set background(cssValue) { this._screen.style.background = cssValue; } - - get qualityLevel() { - return this._qualityLevel; - } - set qualityLevel(qualityLevel) { - if (!Number.isInteger(qualityLevel) || qualityLevel < 0 || qualityLevel > 9) { - Log.Error("qualityLevel must be an integer between 0 and 9"); - return; - } - - if (this._qualityLevel === qualityLevel) { - return; - } - - this._qualityLevel = qualityLevel; - - if (this._rfbConnectionState === 'connected') { - this._sendEncodings(); - } - } - - get compressionLevel() { - return this._compressionLevel; - } - set compressionLevel(compressionLevel) { - if (!Number.isInteger(compressionLevel) || compressionLevel < 0 || compressionLevel > 9) { - Log.Error("compressionLevel must be an integer between 0 and 9"); - return; - } - - if (this._compressionLevel === compressionLevel) { - return; - } - - this._compressionLevel = compressionLevel; - - if (this._rfbConnectionState === 'connected') { - this._sendEncodings(); - } - } - - // ===== PUBLIC METHODS ===== - - disconnect() { - this._updateConnectionState('disconnecting'); - this._sock.off('error'); - this._sock.off('message'); - this._sock.off('open'); - } - - sendCredentials(creds) { - this._rfbCredentials = creds; - setTimeout(this._initMsg.bind(this), 0); - } - - sendCtrlAltDel() { - if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } - Log.Info("Sending Ctrl-Alt-Del"); - - this.sendKey(KeyTable.XK_Control_L, "ControlLeft", true); - this.sendKey(KeyTable.XK_Alt_L, "AltLeft", true); - this.sendKey(KeyTable.XK_Delete, "Delete", true); - this.sendKey(KeyTable.XK_Delete, "Delete", false); - this.sendKey(KeyTable.XK_Alt_L, "AltLeft", false); - this.sendKey(KeyTable.XK_Control_L, "ControlLeft", false); - } - - // For sending Pased data to vnc - sendString (str) { - var t = str.split(""); - for(var i=0;i?~|]/); - if (needs_shift) { - this.sendKey(KeyTable.XK_Shift_L, "ShiftLeft", true); - } - this.sendKey(code,1); - //this.sendKey(code,0); - if (needs_shift) { - this.sendKey(KeyTable.XK_Shift_L, "ShiftLeft", 0); - } - } - } - - machineShutdown() { - this._xvpOp(1, 2); - } - - machineReboot() { - this._xvpOp(1, 3); - } - - machineReset() { - this._xvpOp(1, 4); - } - - // Send a key press. If 'down' is not specified then send a down key - // followed by an up key. - sendKey(keysym, code, down) { - if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } - - if (down === undefined) { - this.sendKey(keysym, code, true); - this.sendKey(keysym, code, false); - return; - } - - const scancode = XtScancode[code]; - - if (this._qemuExtKeyEventSupported && scancode) { - // 0 is NoSymbol - keysym = keysym || 0; - - Log.Info("Sending key (" + (down ? "down" : "up") + "): keysym " + keysym + ", scancode " + scancode); - - RFB.messages.QEMUExtendedKeyEvent(this._sock, keysym, down, scancode); - } else { - if (!keysym) { - return; - } - Log.Info("Sending keysym (" + (down ? "down" : "up") + "): " + keysym); - RFB.messages.keyEvent(this._sock, keysym, down ? 1 : 0); - } - } - - focus() { - this._canvas.focus(); - } - - blur() { - this._canvas.blur(); - } - - clipboardPasteFrom(text) { - if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } - - if (this._clipboardServerCapabilitiesFormats[extendedClipboardFormatText] && - this._clipboardServerCapabilitiesActions[extendedClipboardActionNotify]) { - - this._clipboardText = text; - RFB.messages.extendedClipboardNotify(this._sock, [extendedClipboardFormatText]); - } else { - let data = new Uint8Array(text.length); - for (let i = 0; i < text.length; i++) { - // FIXME: text can have values outside of Latin1/Uint8 - data[i] = text.charCodeAt(i); - } - - RFB.messages.clientCutText(this._sock, data); - } - } - - // ===== PRIVATE METHODS ===== - - _connect() { - Log.Debug(">> RFB.connect"); - - Log.Info("connecting to " + this._url); - - try { - // WebSocket.onopen transitions to the RFB init states - this._sock.open(this._url, this._wsProtocols); - } catch (e) { - if (e.name === 'SyntaxError') { - this._fail("Invalid host or port (" + e + ")"); - } else { - this._fail("Error when opening socket (" + e + ")"); - } - } - - // Make our elements part of the page - this._target.appendChild(this._screen); - - this._gestures.attach(this._canvas); - - this._cursor.attach(this._canvas); - this._refreshCursor(); - - // Monitor size changes of the screen - // FIXME: Use ResizeObserver, or hidden overflow - window.addEventListener('resize', this._eventHandlers.windowResize); - - // Always grab focus on some kind of click event - this._canvas.addEventListener("mousedown", this._eventHandlers.focusCanvas); - this._canvas.addEventListener("touchstart", this._eventHandlers.focusCanvas); - - // Mouse events - this._canvas.addEventListener('mousedown', this._eventHandlers.handleMouse); - this._canvas.addEventListener('mouseup', this._eventHandlers.handleMouse); - this._canvas.addEventListener('mousemove', this._eventHandlers.handleMouse); - // Prevent middle-click pasting (see handler for why we bind to document) - this._canvas.addEventListener('click', this._eventHandlers.handleMouse); - // preventDefault() on mousedown doesn't stop this event for some - // reason so we have to explicitly block it - this._canvas.addEventListener('contextmenu', this._eventHandlers.handleMouse); - - // Wheel events - this._canvas.addEventListener("wheel", this._eventHandlers.handleWheel); - - // Gesture events - this._canvas.addEventListener("gesturestart", this._eventHandlers.handleGesture); - this._canvas.addEventListener("gesturemove", this._eventHandlers.handleGesture); - this._canvas.addEventListener("gestureend", this._eventHandlers.handleGesture); - - Log.Debug("<< RFB.connect"); - } - - _disconnect() { - Log.Debug(">> RFB.disconnect"); - this._cursor.detach(); - this._canvas.removeEventListener("gesturestart", this._eventHandlers.handleGesture); - this._canvas.removeEventListener("gesturemove", this._eventHandlers.handleGesture); - this._canvas.removeEventListener("gestureend", this._eventHandlers.handleGesture); - this._canvas.removeEventListener("wheel", this._eventHandlers.handleWheel); - this._canvas.removeEventListener('mousedown', this._eventHandlers.handleMouse); - this._canvas.removeEventListener('mouseup', this._eventHandlers.handleMouse); - this._canvas.removeEventListener('mousemove', this._eventHandlers.handleMouse); - this._canvas.removeEventListener('click', this._eventHandlers.handleMouse); - this._canvas.removeEventListener('contextmenu', this._eventHandlers.handleMouse); - this._canvas.removeEventListener("mousedown", this._eventHandlers.focusCanvas); - this._canvas.removeEventListener("touchstart", this._eventHandlers.focusCanvas); - window.removeEventListener('resize', this._eventHandlers.windowResize); - this._keyboard.ungrab(); - this._gestures.detach(); - this._sock.close(); - try { - this._target.removeChild(this._screen); - } catch (e) { - if (e.name === 'NotFoundError') { - // Some cases where the initial connection fails - // can disconnect before the _screen is created - } else { - throw e; - } - } - clearTimeout(this._resizeTimeout); - clearTimeout(this._mouseMoveTimer); - Log.Debug("<< RFB.disconnect"); - } - - _focusCanvas(event) { - if (!this.focusOnClick) { - return; - } - - this.focus(); - } - - _setDesktopName(name) { - this._fbName = name; - this.dispatchEvent(new CustomEvent( - "desktopname", - { detail: { name: this._fbName } })); - } - - _windowResize(event) { - // If the window resized then our screen element might have - // as well. Update the viewport dimensions. - window.requestAnimationFrame(() => { - this._updateClip(); - this._updateScale(); - }); - - if (this._resizeSession) { - // Request changing the resolution of the remote display to - // the size of the local browser viewport. - - // In order to not send multiple requests before the browser-resize - // is finished we wait 0.5 seconds before sending the request. - clearTimeout(this._resizeTimeout); - this._resizeTimeout = setTimeout(this._requestRemoteResize.bind(this), 500); - } - } - - // Update state of clipping in Display object, and make sure the - // configured viewport matches the current screen size - _updateClip() { - const curClip = this._display.clipViewport; - let newClip = this._clipViewport; - - if (this._scaleViewport) { - // Disable viewport clipping if we are scaling - newClip = false; - } - - if (curClip !== newClip) { - this._display.clipViewport = newClip; - } - - if (newClip) { - // When clipping is enabled, the screen is limited to - // the size of the container. - const size = this._screenSize(); - this._display.viewportChangeSize(size.w, size.h); - this._fixScrollbars(); - } - } - - _updateScale() { - if (!this._scaleViewport) { - this._display.scale = 1.0; - } else { - const size = this._screenSize(); - this._display.autoscale(size.w, size.h); - } - this._fixScrollbars(); - } - - // Requests a change of remote desktop size. This message is an extension - // and may only be sent if we have received an ExtendedDesktopSize message - _requestRemoteResize() { - clearTimeout(this._resizeTimeout); - this._resizeTimeout = null; - - if (!this._resizeSession || this._viewOnly || - !this._supportsSetDesktopSize) { - return; - } - - const size = this._screenSize(); - RFB.messages.setDesktopSize(this._sock, - Math.floor(size.w), Math.floor(size.h), - this._screenID, this._screenFlags); - - Log.Debug('Requested new desktop size: ' + - size.w + 'x' + size.h); - } - - // Gets the the size of the available screen - _screenSize() { - let r = this._screen.getBoundingClientRect(); - return { w: r.width, h: r.height }; - } - - _fixScrollbars() { - // This is a hack because Chrome screws up the calculation - // for when scrollbars are needed. So to fix it we temporarily - // toggle them off and on. - const orig = this._screen.style.overflow; - this._screen.style.overflow = 'hidden'; - // Force Chrome to recalculate the layout by asking for - // an element's dimensions - this._screen.getBoundingClientRect(); - this._screen.style.overflow = orig; - } - - /* - * Connection states: - * connecting - * connected - * disconnecting - * disconnected - permanent state - */ - _updateConnectionState(state) { - const oldstate = this._rfbConnectionState; - - if (state === oldstate) { - Log.Debug("Already in state '" + state + "', ignoring"); - return; - } - - // The 'disconnected' state is permanent for each RFB object - if (oldstate === 'disconnected') { - Log.Error("Tried changing state of a disconnected RFB object"); - return; - } - - // Ensure proper transitions before doing anything - switch (state) { - case 'connected': - if (oldstate !== 'connecting') { - Log.Error("Bad transition to connected state, " + - "previous connection state: " + oldstate); - return; - } - break; - - case 'disconnected': - if (oldstate !== 'disconnecting') { - Log.Error("Bad transition to disconnected state, " + - "previous connection state: " + oldstate); - return; - } - break; - - case 'connecting': - if (oldstate !== '') { - Log.Error("Bad transition to connecting state, " + - "previous connection state: " + oldstate); - return; - } - break; - - case 'disconnecting': - if (oldstate !== 'connected' && oldstate !== 'connecting') { - Log.Error("Bad transition to disconnecting state, " + - "previous connection state: " + oldstate); - return; - } - break; - - default: - Log.Error("Unknown connection state: " + state); - return; - } - - // State change actions - - this._rfbConnectionState = state; - - Log.Debug("New state '" + state + "', was '" + oldstate + "'."); - - if (this._disconnTimer && state !== 'disconnecting') { - Log.Debug("Clearing disconnect timer"); - clearTimeout(this._disconnTimer); - this._disconnTimer = null; - - // make sure we don't get a double event - this._sock.off('close'); - } - - switch (state) { - case 'connecting': - this._connect(); - break; - - case 'connected': - this.dispatchEvent(new CustomEvent("connect", { detail: {} })); - break; - - case 'disconnecting': - this._disconnect(); - - this._disconnTimer = setTimeout(() => { - Log.Error("Disconnection timed out."); - this._updateConnectionState('disconnected'); - }, DISCONNECT_TIMEOUT * 1000); - break; - - case 'disconnected': - this.dispatchEvent(new CustomEvent( - "disconnect", { detail: - { clean: this._rfbCleanDisconnect } })); - break; - } - } - - /* Print errors and disconnect - * - * The parameter 'details' is used for information that - * should be logged but not sent to the user interface. - */ - _fail(details) { - switch (this._rfbConnectionState) { - case 'disconnecting': - Log.Error("Failed when disconnecting: " + details); - break; - case 'connected': - Log.Error("Failed while connected: " + details); - break; - case 'connecting': - Log.Error("Failed when connecting: " + details); - break; - default: - Log.Error("RFB failure: " + details); - break; - } - this._rfbCleanDisconnect = false; //This is sent to the UI - - // Transition to disconnected without waiting for socket to close - this._updateConnectionState('disconnecting'); - this._updateConnectionState('disconnected'); - - return false; - } - - _setCapability(cap, val) { - this._capabilities[cap] = val; - this.dispatchEvent(new CustomEvent("capabilities", - { detail: { capabilities: this._capabilities } })); - } - - _handleMessage() { - if (this._sock.rQlen === 0) { - Log.Warn("handleMessage called on an empty receive queue"); - return; - } - - switch (this._rfbConnectionState) { - case 'disconnected': - Log.Error("Got data while disconnected"); - break; - case 'connected': - while (true) { - if (this._flushing) { - break; - } - if (!this._normalMsg()) { - break; - } - if (this._sock.rQlen === 0) { - break; - } - } - break; - default: - this._initMsg(); - break; - } - } - - _handleKeyEvent(keysym, code, down) { - this.sendKey(keysym, code, down); - } - - _handleMouse(ev) { - /* - * We don't check connection status or viewOnly here as the - * mouse events might be used to control the viewport - */ - - if (ev.type === 'click') { - /* - * Note: This is only needed for the 'click' event as it fails - * to fire properly for the target element so we have - * to listen on the document element instead. - */ - if (ev.target !== this._canvas) { - return; - } - } - - // FIXME: if we're in view-only and not dragging, - // should we stop events? - ev.stopPropagation(); - ev.preventDefault(); - - if ((ev.type === 'click') || (ev.type === 'contextmenu')) { - return; - } - - let pos = clientToElement(ev.clientX, ev.clientY, - this._canvas); - - switch (ev.type) { - case 'mousedown': - setCapture(this._canvas); - this._handleMouseButton(pos.x, pos.y, - true, 1 << ev.button); - break; - case 'mouseup': - this._handleMouseButton(pos.x, pos.y, - false, 1 << ev.button); - break; - case 'mousemove': - this._handleMouseMove(pos.x, pos.y); - break; - } - } - - _handleMouseButton(x, y, down, bmask) { - if (this.dragViewport) { - if (down && !this._viewportDragging) { - this._viewportDragging = true; - this._viewportDragPos = {'x': x, 'y': y}; - this._viewportHasMoved = false; - - // Skip sending mouse events - return; - } else { - this._viewportDragging = false; - - // If we actually performed a drag then we are done - // here and should not send any mouse events - if (this._viewportHasMoved) { - return; - } - - // Otherwise we treat this as a mouse click event. - // Send the button down event here, as the button up - // event is sent at the end of this function. - this._sendMouse(x, y, bmask); - } - } - - // Flush waiting move event first - if (this._mouseMoveTimer !== null) { - clearTimeout(this._mouseMoveTimer); - this._mouseMoveTimer = null; - this._sendMouse(x, y, this._mouseButtonMask); - } - - if (down) { - this._mouseButtonMask |= bmask; - } else { - this._mouseButtonMask &= ~bmask; - } - - this._sendMouse(x, y, this._mouseButtonMask); - } - - _handleMouseMove(x, y) { - if (this._viewportDragging) { - const deltaX = this._viewportDragPos.x - x; - const deltaY = this._viewportDragPos.y - y; - - if (this._viewportHasMoved || (Math.abs(deltaX) > dragThreshold || - Math.abs(deltaY) > dragThreshold)) { - this._viewportHasMoved = true; - - this._viewportDragPos = {'x': x, 'y': y}; - this._display.viewportChangePos(deltaX, deltaY); - } - - // Skip sending mouse events - return; - } - - this._mousePos = { 'x': x, 'y': y }; - - // Limit many mouse move events to one every MOUSE_MOVE_DELAY ms - if (this._mouseMoveTimer == null) { - - const timeSinceLastMove = Date.now() - this._mouseLastMoveTime; - if (timeSinceLastMove > MOUSE_MOVE_DELAY) { - this._sendMouse(x, y, this._mouseButtonMask); - this._mouseLastMoveTime = Date.now(); - } else { - // Too soon since the latest move, wait the remaining time - this._mouseMoveTimer = setTimeout(() => { - this._handleDelayedMouseMove(); - }, MOUSE_MOVE_DELAY - timeSinceLastMove); - } - } - } - - _handleDelayedMouseMove() { - this._mouseMoveTimer = null; - this._sendMouse(this._mousePos.x, this._mousePos.y, - this._mouseButtonMask); - this._mouseLastMoveTime = Date.now(); - } - - _sendMouse(x, y, mask) { - if (this._rfbConnectionState !== 'connected') { return; } - if (this._viewOnly) { return; } // View only, skip mouse events - - RFB.messages.pointerEvent(this._sock, this._display.absX(x), - this._display.absY(y), mask); - } - - _handleWheel(ev) { - if (this._rfbConnectionState !== 'connected') { return; } - if (this._viewOnly) { return; } // View only, skip mouse events - - ev.stopPropagation(); - ev.preventDefault(); - - let pos = clientToElement(ev.clientX, ev.clientY, - this._canvas); - - let dX = ev.deltaX; - let dY = ev.deltaY; - - // Pixel units unless it's non-zero. - // Note that if deltamode is line or page won't matter since we aren't - // sending the mouse wheel delta to the server anyway. - // The difference between pixel and line can be important however since - // we have a threshold that can be smaller than the line height. - if (ev.deltaMode !== 0) { - dX *= WHEEL_LINE_HEIGHT; - dY *= WHEEL_LINE_HEIGHT; - } - - // Mouse wheel events are sent in steps over VNC. This means that the VNC - // protocol can't handle a wheel event with specific distance or speed. - // Therefor, if we get a lot of small mouse wheel events we combine them. - this._accumulatedWheelDeltaX += dX; - this._accumulatedWheelDeltaY += dY; - - // Generate a mouse wheel step event when the accumulated delta - // for one of the axes is large enough. - if (Math.abs(this._accumulatedWheelDeltaX) >= WHEEL_STEP) { - if (this._accumulatedWheelDeltaX < 0) { - this._handleMouseButton(pos.x, pos.y, true, 1 << 5); - this._handleMouseButton(pos.x, pos.y, false, 1 << 5); - } else if (this._accumulatedWheelDeltaX > 0) { - this._handleMouseButton(pos.x, pos.y, true, 1 << 6); - this._handleMouseButton(pos.x, pos.y, false, 1 << 6); - } - - this._accumulatedWheelDeltaX = 0; - } - if (Math.abs(this._accumulatedWheelDeltaY) >= WHEEL_STEP) { - if (this._accumulatedWheelDeltaY < 0) { - this._handleMouseButton(pos.x, pos.y, true, 1 << 3); - this._handleMouseButton(pos.x, pos.y, false, 1 << 3); - } else if (this._accumulatedWheelDeltaY > 0) { - this._handleMouseButton(pos.x, pos.y, true, 1 << 4); - this._handleMouseButton(pos.x, pos.y, false, 1 << 4); - } - - this._accumulatedWheelDeltaY = 0; - } - } - - _fakeMouseMove(ev, elementX, elementY) { - this._handleMouseMove(elementX, elementY); - this._cursor.move(ev.detail.clientX, ev.detail.clientY); - } - - _handleTapEvent(ev, bmask) { - let pos = clientToElement(ev.detail.clientX, ev.detail.clientY, - this._canvas); - - // If the user quickly taps multiple times we assume they meant to - // hit the same spot, so slightly adjust coordinates - - if ((this._gestureLastTapTime !== null) && - ((Date.now() - this._gestureLastTapTime) < DOUBLE_TAP_TIMEOUT) && - (this._gestureFirstDoubleTapEv.detail.type === ev.detail.type)) { - let dx = this._gestureFirstDoubleTapEv.detail.clientX - ev.detail.clientX; - let dy = this._gestureFirstDoubleTapEv.detail.clientY - ev.detail.clientY; - let distance = Math.hypot(dx, dy); - - if (distance < DOUBLE_TAP_THRESHOLD) { - pos = clientToElement(this._gestureFirstDoubleTapEv.detail.clientX, - this._gestureFirstDoubleTapEv.detail.clientY, - this._canvas); - } else { - this._gestureFirstDoubleTapEv = ev; - } - } else { - this._gestureFirstDoubleTapEv = ev; - } - this._gestureLastTapTime = Date.now(); - - this._fakeMouseMove(this._gestureFirstDoubleTapEv, pos.x, pos.y); - this._handleMouseButton(pos.x, pos.y, true, bmask); - this._handleMouseButton(pos.x, pos.y, false, bmask); - } - - _handleGesture(ev) { - let magnitude; - - let pos = clientToElement(ev.detail.clientX, ev.detail.clientY, - this._canvas); - switch (ev.type) { - case 'gesturestart': - switch (ev.detail.type) { - case 'onetap': - this._handleTapEvent(ev, 0x1); - break; - case 'twotap': - this._handleTapEvent(ev, 0x4); - break; - case 'threetap': - this._handleTapEvent(ev, 0x2); - break; - case 'drag': - this._fakeMouseMove(ev, pos.x, pos.y); - this._handleMouseButton(pos.x, pos.y, true, 0x1); - break; - case 'longpress': - this._fakeMouseMove(ev, pos.x, pos.y); - this._handleMouseButton(pos.x, pos.y, true, 0x4); - break; - - case 'twodrag': - this._gestureLastMagnitudeX = ev.detail.magnitudeX; - this._gestureLastMagnitudeY = ev.detail.magnitudeY; - this._fakeMouseMove(ev, pos.x, pos.y); - break; - case 'pinch': - this._gestureLastMagnitudeX = Math.hypot(ev.detail.magnitudeX, - ev.detail.magnitudeY); - this._fakeMouseMove(ev, pos.x, pos.y); - break; - } - break; - - case 'gesturemove': - switch (ev.detail.type) { - case 'onetap': - case 'twotap': - case 'threetap': - break; - case 'drag': - case 'longpress': - this._fakeMouseMove(ev, pos.x, pos.y); - break; - case 'twodrag': - // Always scroll in the same position. - // We don't know if the mouse was moved so we need to move it - // every update. - this._fakeMouseMove(ev, pos.x, pos.y); - while ((ev.detail.magnitudeY - this._gestureLastMagnitudeY) > GESTURE_SCRLSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x8); - this._handleMouseButton(pos.x, pos.y, false, 0x8); - this._gestureLastMagnitudeY += GESTURE_SCRLSENS; - } - while ((ev.detail.magnitudeY - this._gestureLastMagnitudeY) < -GESTURE_SCRLSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x10); - this._handleMouseButton(pos.x, pos.y, false, 0x10); - this._gestureLastMagnitudeY -= GESTURE_SCRLSENS; - } - while ((ev.detail.magnitudeX - this._gestureLastMagnitudeX) > GESTURE_SCRLSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x20); - this._handleMouseButton(pos.x, pos.y, false, 0x20); - this._gestureLastMagnitudeX += GESTURE_SCRLSENS; - } - while ((ev.detail.magnitudeX - this._gestureLastMagnitudeX) < -GESTURE_SCRLSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x40); - this._handleMouseButton(pos.x, pos.y, false, 0x40); - this._gestureLastMagnitudeX -= GESTURE_SCRLSENS; - } - break; - case 'pinch': - // Always scroll in the same position. - // We don't know if the mouse was moved so we need to move it - // every update. - this._fakeMouseMove(ev, pos.x, pos.y); - magnitude = Math.hypot(ev.detail.magnitudeX, ev.detail.magnitudeY); - if (Math.abs(magnitude - this._gestureLastMagnitudeX) > GESTURE_ZOOMSENS) { - this._handleKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); - while ((magnitude - this._gestureLastMagnitudeX) > GESTURE_ZOOMSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x8); - this._handleMouseButton(pos.x, pos.y, false, 0x8); - this._gestureLastMagnitudeX += GESTURE_ZOOMSENS; - } - while ((magnitude - this._gestureLastMagnitudeX) < -GESTURE_ZOOMSENS) { - this._handleMouseButton(pos.x, pos.y, true, 0x10); - this._handleMouseButton(pos.x, pos.y, false, 0x10); - this._gestureLastMagnitudeX -= GESTURE_ZOOMSENS; - } - } - this._handleKeyEvent(KeyTable.XK_Control_L, "ControlLeft", false); - break; - } - break; - - case 'gestureend': - switch (ev.detail.type) { - case 'onetap': - case 'twotap': - case 'threetap': - case 'pinch': - case 'twodrag': - break; - case 'drag': - this._fakeMouseMove(ev, pos.x, pos.y); - this._handleMouseButton(pos.x, pos.y, false, 0x1); - break; - case 'longpress': - this._fakeMouseMove(ev, pos.x, pos.y); - this._handleMouseButton(pos.x, pos.y, false, 0x4); - break; - } - break; - } - } - - // Message Handlers - - _negotiateProtocolVersion() { - if (this._sock.rQwait("version", 12)) { - return false; - } - - const sversion = this._sock.rQshiftStr(12).substr(4, 7); - Log.Info("Server ProtocolVersion: " + sversion); - let isRepeater = 0; - switch (sversion) { - case "000.000": // UltraVNC repeater - isRepeater = 1; - break; - case "003.003": - case "003.006": // UltraVNC - case "003.889": // Apple Remote Desktop - this._rfbVersion = 3.3; - break; - case "003.007": - this._rfbVersion = 3.7; - break; - case "003.008": - case "004.000": // Intel AMT KVM - case "004.001": // RealVNC 4.6 - case "005.000": // RealVNC 5.3 - this._rfbVersion = 3.8; - break; - default: - return this._fail("Invalid server version " + sversion); - } - - if (isRepeater) { - let repeaterID = "ID:" + this._repeaterID; - while (repeaterID.length < 250) { - repeaterID += "\0"; - } - this._sock.sendString(repeaterID); - return true; - } - - if (this._rfbVersion > this._rfbMaxVersion) { - this._rfbVersion = this._rfbMaxVersion; - } - - const cversion = "00" + parseInt(this._rfbVersion, 10) + - ".00" + ((this._rfbVersion * 10) % 10); - this._sock.sendString("RFB " + cversion + "\n"); - Log.Debug('Sent ProtocolVersion: ' + cversion); - - this._rfbInitState = 'Security'; - } - - _negotiateSecurity() { - // Polyfill since IE and PhantomJS doesn't have - // TypedArray.includes() - function includes(item, array) { - for (let i = 0; i < array.length; i++) { - if (array[i] === item) { - return true; - } - } - return false; - } - - if (this._rfbVersion >= 3.7) { - // Server sends supported list, client decides - const numTypes = this._sock.rQshift8(); - if (this._sock.rQwait("security type", numTypes, 1)) { return false; } - - if (numTypes === 0) { - this._rfbInitState = "SecurityReason"; - this._securityContext = "no security types"; - this._securityStatus = 1; - return this._initMsg(); - } - - const types = this._sock.rQshiftBytes(numTypes); - Log.Debug("Server security types: " + types); - - // Look for each auth in preferred order - if (includes(1, types)) { - this._rfbAuthScheme = 1; // None - } else if (includes(22, types)) { - this._rfbAuthScheme = 22; // XVP - } else if (includes(16, types)) { - this._rfbAuthScheme = 16; // Tight - } else if (includes(2, types)) { - this._rfbAuthScheme = 2; // VNC Auth - } else if (includes(19, types)) { - this._rfbAuthScheme = 19; // VeNCrypt Auth - } else { - return this._fail("Unsupported security types (types: " + types + ")"); - } - - this._sock.send([this._rfbAuthScheme]); - } else { - // Server decides - if (this._sock.rQwait("security scheme", 4)) { return false; } - this._rfbAuthScheme = this._sock.rQshift32(); - - if (this._rfbAuthScheme == 0) { - this._rfbInitState = "SecurityReason"; - this._securityContext = "authentication scheme"; - this._securityStatus = 1; - return this._initMsg(); - } - } - - this._rfbInitState = 'Authentication'; - Log.Debug('Authenticating using scheme: ' + this._rfbAuthScheme); - - return this._initMsg(); // jump to authentication - } - - _handleSecurityReason() { - if (this._sock.rQwait("reason length", 4)) { - return false; - } - const strlen = this._sock.rQshift32(); - let reason = ""; - - if (strlen > 0) { - if (this._sock.rQwait("reason", strlen, 4)) { return false; } - reason = this._sock.rQshiftStr(strlen); - } - - if (reason !== "") { - this.dispatchEvent(new CustomEvent( - "securityfailure", - { detail: { status: this._securityStatus, - reason: reason } })); - - return this._fail("Security negotiation failed on " + - this._securityContext + - " (reason: " + reason + ")"); - } else { - this.dispatchEvent(new CustomEvent( - "securityfailure", - { detail: { status: this._securityStatus } })); - - return this._fail("Security negotiation failed on " + - this._securityContext); - } - } - - // authentication - _negotiateXvpAuth() { - if (this._rfbCredentials.username === undefined || - this._rfbCredentials.password === undefined || - this._rfbCredentials.target === undefined) { - this.dispatchEvent(new CustomEvent( - "credentialsrequired", - { detail: { types: ["username", "password", "target"] } })); - return false; - } - - const xvpAuthStr = String.fromCharCode(this._rfbCredentials.username.length) + - String.fromCharCode(this._rfbCredentials.target.length) + - this._rfbCredentials.username + - this._rfbCredentials.target; - this._sock.sendString(xvpAuthStr); - this._rfbAuthScheme = 2; - return this._negotiateAuthentication(); - } - - // VeNCrypt authentication, currently only supports version 0.2 and only Plain subtype - _negotiateVeNCryptAuth() { - - // waiting for VeNCrypt version - if (this._rfbVeNCryptState == 0) { - if (this._sock.rQwait("vencrypt version", 2)) { return false; } - - const major = this._sock.rQshift8(); - const minor = this._sock.rQshift8(); - - if (!(major == 0 && minor == 2)) { - return this._fail("Unsupported VeNCrypt version " + major + "." + minor); - } - - this._sock.send([0, 2]); - this._rfbVeNCryptState = 1; - } - - // waiting for ACK - if (this._rfbVeNCryptState == 1) { - if (this._sock.rQwait("vencrypt ack", 1)) { return false; } - - const res = this._sock.rQshift8(); - - if (res != 0) { - return this._fail("VeNCrypt failure " + res); - } - - this._rfbVeNCryptState = 2; - } - // must fall through here (i.e. no "else if"), beacause we may have already received - // the subtypes length and won't be called again - - if (this._rfbVeNCryptState == 2) { // waiting for subtypes length - if (this._sock.rQwait("vencrypt subtypes length", 1)) { return false; } - - const subtypesLength = this._sock.rQshift8(); - if (subtypesLength < 1) { - return this._fail("VeNCrypt subtypes empty"); - } - - this._rfbVeNCryptSubtypesLength = subtypesLength; - this._rfbVeNCryptState = 3; - } - - // waiting for subtypes list - if (this._rfbVeNCryptState == 3) { - if (this._sock.rQwait("vencrypt subtypes", 4 * this._rfbVeNCryptSubtypesLength)) { return false; } - - const subtypes = []; - for (let i = 0; i < this._rfbVeNCryptSubtypesLength; i++) { - subtypes.push(this._sock.rQshift32()); - } - - // 256 = Plain subtype - if (subtypes.indexOf(256) != -1) { - // 0x100 = 256 - this._sock.send([0, 0, 1, 0]); - this._rfbVeNCryptState = 4; - } else { - return this._fail("VeNCrypt Plain subtype not offered by server"); - } - } - - // negotiated Plain subtype, server waits for password - if (this._rfbVeNCryptState == 4) { - if (!this._rfbCredentials.username || - !this._rfbCredentials.password) { - this.dispatchEvent(new CustomEvent( - "credentialsrequired", - { detail: { types: ["username", "password"] } })); - return false; - } - - const user = encodeUTF8(this._rfbCredentials.username); - const pass = encodeUTF8(this._rfbCredentials.password); - - // XXX we assume lengths are <= 255 (should not be an issue in the real world) - this._sock.send([0, 0, 0, user.length]); - this._sock.send([0, 0, 0, pass.length]); - this._sock.sendString(user); - this._sock.sendString(pass); - - this._rfbInitState = "SecurityResult"; - return true; - } - } - - _negotiateStdVNCAuth() { - if (this._sock.rQwait("auth challenge", 16)) { return false; } - - if (this._rfbCredentials.password === undefined) { - this.dispatchEvent(new CustomEvent( - "credentialsrequired", - { detail: { types: ["password"] } })); - return false; - } - - // TODO(directxman12): make genDES not require an Array - const challenge = Array.prototype.slice.call(this._sock.rQshiftBytes(16)); - const response = RFB.genDES(this._rfbCredentials.password, challenge); - this._sock.send(response); - this._rfbInitState = "SecurityResult"; - return true; - } - - _negotiateTightUnixAuth() { - if (this._rfbCredentials.username === undefined || - this._rfbCredentials.password === undefined) { - this.dispatchEvent(new CustomEvent( - "credentialsrequired", - { detail: { types: ["username", "password"] } })); - return false; - } - - this._sock.send([0, 0, 0, this._rfbCredentials.username.length]); - this._sock.send([0, 0, 0, this._rfbCredentials.password.length]); - this._sock.sendString(this._rfbCredentials.username); - this._sock.sendString(this._rfbCredentials.password); - this._rfbInitState = "SecurityResult"; - return true; - } - - _negotiateTightTunnels(numTunnels) { - const clientSupportedTunnelTypes = { - 0: { vendor: 'TGHT', signature: 'NOTUNNEL' } - }; - const serverSupportedTunnelTypes = {}; - // receive tunnel capabilities - for (let i = 0; i < numTunnels; i++) { - const capCode = this._sock.rQshift32(); - const capVendor = this._sock.rQshiftStr(4); - const capSignature = this._sock.rQshiftStr(8); - serverSupportedTunnelTypes[capCode] = { vendor: capVendor, signature: capSignature }; - } - - Log.Debug("Server Tight tunnel types: " + serverSupportedTunnelTypes); - - // Siemens touch panels have a VNC server that supports NOTUNNEL, - // but forgets to advertise it. Try to detect such servers by - // looking for their custom tunnel type. - if (serverSupportedTunnelTypes[1] && - (serverSupportedTunnelTypes[1].vendor === "SICR") && - (serverSupportedTunnelTypes[1].signature === "SCHANNEL")) { - Log.Debug("Detected Siemens server. Assuming NOTUNNEL support."); - serverSupportedTunnelTypes[0] = { vendor: 'TGHT', signature: 'NOTUNNEL' }; - } - - // choose the notunnel type - if (serverSupportedTunnelTypes[0]) { - if (serverSupportedTunnelTypes[0].vendor != clientSupportedTunnelTypes[0].vendor || - serverSupportedTunnelTypes[0].signature != clientSupportedTunnelTypes[0].signature) { - return this._fail("Client's tunnel type had the incorrect " + - "vendor or signature"); - } - Log.Debug("Selected tunnel type: " + clientSupportedTunnelTypes[0]); - this._sock.send([0, 0, 0, 0]); // use NOTUNNEL - return false; // wait until we receive the sub auth count to continue - } else { - return this._fail("Server wanted tunnels, but doesn't support " + - "the notunnel type"); - } - } - - _negotiateTightAuth() { - if (!this._rfbTightVNC) { // first pass, do the tunnel negotiation - if (this._sock.rQwait("num tunnels", 4)) { return false; } - const numTunnels = this._sock.rQshift32(); - if (numTunnels > 0 && this._sock.rQwait("tunnel capabilities", 16 * numTunnels, 4)) { return false; } - - this._rfbTightVNC = true; - - if (numTunnels > 0) { - this._negotiateTightTunnels(numTunnels); - return false; // wait until we receive the sub auth to continue - } - } - - // second pass, do the sub-auth negotiation - if (this._sock.rQwait("sub auth count", 4)) { return false; } - const subAuthCount = this._sock.rQshift32(); - if (subAuthCount === 0) { // empty sub-auth list received means 'no auth' subtype selected - this._rfbInitState = 'SecurityResult'; - return true; - } - - if (this._sock.rQwait("sub auth capabilities", 16 * subAuthCount, 4)) { return false; } - - const clientSupportedTypes = { - 'STDVNOAUTH__': 1, - 'STDVVNCAUTH_': 2, - 'TGHTULGNAUTH': 129 - }; - - const serverSupportedTypes = []; - - for (let i = 0; i < subAuthCount; i++) { - this._sock.rQshift32(); // capNum - const capabilities = this._sock.rQshiftStr(12); - serverSupportedTypes.push(capabilities); - } - - Log.Debug("Server Tight authentication types: " + serverSupportedTypes); - - for (let authType in clientSupportedTypes) { - if (serverSupportedTypes.indexOf(authType) != -1) { - this._sock.send([0, 0, 0, clientSupportedTypes[authType]]); - Log.Debug("Selected authentication type: " + authType); - - switch (authType) { - case 'STDVNOAUTH__': // no auth - this._rfbInitState = 'SecurityResult'; - return true; - case 'STDVVNCAUTH_': // VNC auth - this._rfbAuthScheme = 2; - return this._initMsg(); - case 'TGHTULGNAUTH': // UNIX auth - this._rfbAuthScheme = 129; - return this._initMsg(); - default: - return this._fail("Unsupported tiny auth scheme " + - "(scheme: " + authType + ")"); - } - } - } - - return this._fail("No supported sub-auth types!"); - } - - _negotiateAuthentication() { - switch (this._rfbAuthScheme) { - case 1: // no auth - if (this._rfbVersion >= 3.8) { - this._rfbInitState = 'SecurityResult'; - return true; - } - this._rfbInitState = 'ClientInitialisation'; - return this._initMsg(); - - case 22: // XVP auth - return this._negotiateXvpAuth(); - - case 2: // VNC authentication - return this._negotiateStdVNCAuth(); - - case 16: // TightVNC Security Type - return this._negotiateTightAuth(); - - case 19: // VeNCrypt Security Type - return this._negotiateVeNCryptAuth(); - - case 129: // TightVNC UNIX Security Type - return this._negotiateTightUnixAuth(); - - default: - return this._fail("Unsupported auth scheme (scheme: " + - this._rfbAuthScheme + ")"); - } - } - - _handleSecurityResult() { - if (this._sock.rQwait('VNC auth response ', 4)) { return false; } - - const status = this._sock.rQshift32(); - - if (status === 0) { // OK - this._rfbInitState = 'ClientInitialisation'; - Log.Debug('Authentication OK'); - return this._initMsg(); - } else { - if (this._rfbVersion >= 3.8) { - this._rfbInitState = "SecurityReason"; - this._securityContext = "security result"; - this._securityStatus = status; - return this._initMsg(); - } else { - this.dispatchEvent(new CustomEvent( - "securityfailure", - { detail: { status: status } })); - - return this._fail("Security handshake failed"); - } - } - } - - _negotiateServerInit() { - if (this._sock.rQwait("server initialization", 24)) { return false; } - - /* Screen size */ - const width = this._sock.rQshift16(); - const height = this._sock.rQshift16(); - - /* PIXEL_FORMAT */ - const bpp = this._sock.rQshift8(); - const depth = this._sock.rQshift8(); - const bigEndian = this._sock.rQshift8(); - const trueColor = this._sock.rQshift8(); - - const redMax = this._sock.rQshift16(); - const greenMax = this._sock.rQshift16(); - const blueMax = this._sock.rQshift16(); - const redShift = this._sock.rQshift8(); - const greenShift = this._sock.rQshift8(); - const blueShift = this._sock.rQshift8(); - this._sock.rQskipBytes(3); // padding - - // NB(directxman12): we don't want to call any callbacks or print messages until - // *after* we're past the point where we could backtrack - - /* Connection name/title */ - const nameLength = this._sock.rQshift32(); - if (this._sock.rQwait('server init name', nameLength, 24)) { return false; } - let name = this._sock.rQshiftStr(nameLength); - name = decodeUTF8(name, true); - - if (this._rfbTightVNC) { - if (this._sock.rQwait('TightVNC extended server init header', 8, 24 + nameLength)) { return false; } - // In TightVNC mode, ServerInit message is extended - const numServerMessages = this._sock.rQshift16(); - const numClientMessages = this._sock.rQshift16(); - const numEncodings = this._sock.rQshift16(); - this._sock.rQskipBytes(2); // padding - - const totalMessagesLength = (numServerMessages + numClientMessages + numEncodings) * 16; - if (this._sock.rQwait('TightVNC extended server init header', totalMessagesLength, 32 + nameLength)) { return false; } - - // we don't actually do anything with the capability information that TIGHT sends, - // so we just skip the all of this. - - // TIGHT server message capabilities - this._sock.rQskipBytes(16 * numServerMessages); - - // TIGHT client message capabilities - this._sock.rQskipBytes(16 * numClientMessages); - - // TIGHT encoding capabilities - this._sock.rQskipBytes(16 * numEncodings); - } - - // NB(directxman12): these are down here so that we don't run them multiple times - // if we backtrack - Log.Info("Screen: " + width + "x" + height + - ", bpp: " + bpp + ", depth: " + depth + - ", bigEndian: " + bigEndian + - ", trueColor: " + trueColor + - ", redMax: " + redMax + - ", greenMax: " + greenMax + - ", blueMax: " + blueMax + - ", redShift: " + redShift + - ", greenShift: " + greenShift + - ", blueShift: " + blueShift); - - // we're past the point where we could backtrack, so it's safe to call this - this._setDesktopName(name); - this._resize(width, height); - - if (!this._viewOnly) { this._keyboard.grab(); } - - this._fbDepth = 24; - - if (this._fbName === "Intel(r) AMT KVM") { - Log.Warn("Intel AMT KVM only supports 8/16 bit depths. Using low color mode."); - this._fbDepth = 8; - } - - RFB.messages.pixelFormat(this._sock, this._fbDepth, true); - this._sendEncodings(); - RFB.messages.fbUpdateRequest(this._sock, false, 0, 0, this._fbWidth, this._fbHeight); - - this._updateConnectionState('connected'); - return true; - } - - _sendEncodings() { - const encs = []; - - // In preference order - encs.push(encodings.encodingCopyRect); - // Only supported with full depth support - if (this._fbDepth == 24) { - encs.push(encodings.encodingTight); - encs.push(encodings.encodingTightPNG); - encs.push(encodings.encodingHextile); - encs.push(encodings.encodingRRE); - } - encs.push(encodings.encodingRaw); - - // Psuedo-encoding settings - encs.push(encodings.pseudoEncodingQualityLevel0 + this._qualityLevel); - encs.push(encodings.pseudoEncodingCompressLevel0 + this._compressionLevel); - - encs.push(encodings.pseudoEncodingDesktopSize); - encs.push(encodings.pseudoEncodingLastRect); - encs.push(encodings.pseudoEncodingQEMUExtendedKeyEvent); - encs.push(encodings.pseudoEncodingExtendedDesktopSize); - encs.push(encodings.pseudoEncodingXvp); - encs.push(encodings.pseudoEncodingFence); - encs.push(encodings.pseudoEncodingContinuousUpdates); - encs.push(encodings.pseudoEncodingDesktopName); - encs.push(encodings.pseudoEncodingExtendedClipboard); - - if (this._fbDepth == 24) { - encs.push(encodings.pseudoEncodingVMwareCursor); - encs.push(encodings.pseudoEncodingCursor); - } - - RFB.messages.clientEncodings(this._sock, encs); - } - - /* RFB protocol initialization states: - * ProtocolVersion - * Security - * Authentication - * SecurityResult - * ClientInitialization - not triggered by server message - * ServerInitialization - */ - _initMsg() { - switch (this._rfbInitState) { - case 'ProtocolVersion': - return this._negotiateProtocolVersion(); - - case 'Security': - return this._negotiateSecurity(); - - case 'Authentication': - return this._negotiateAuthentication(); - - case 'SecurityResult': - return this._handleSecurityResult(); - - case 'SecurityReason': - return this._handleSecurityReason(); - - case 'ClientInitialisation': - this._sock.send([this._shared ? 1 : 0]); // ClientInitialisation - this._rfbInitState = 'ServerInitialisation'; - return true; - - case 'ServerInitialisation': - return this._negotiateServerInit(); - - default: - return this._fail("Unknown init state (state: " + - this._rfbInitState + ")"); - } - } - - _handleSetColourMapMsg() { - Log.Debug("SetColorMapEntries"); - - return this._fail("Unexpected SetColorMapEntries message"); - } - - _handleServerCutText() { - Log.Debug("ServerCutText"); - - if (this._sock.rQwait("ServerCutText header", 7, 1)) { return false; } - - this._sock.rQskipBytes(3); // Padding - - let length = this._sock.rQshift32(); - length = toSigned32bit(length); - - if (this._sock.rQwait("ServerCutText content", Math.abs(length), 8)) { return false; } - - if (length >= 0) { - //Standard msg - const text = this._sock.rQshiftStr(length); - if (this._viewOnly) { - return true; - } - - this.dispatchEvent(new CustomEvent( - "clipboard", - { detail: { text: text } })); - - } else { - //Extended msg. - length = Math.abs(length); - const flags = this._sock.rQshift32(); - let formats = flags & 0x0000FFFF; - let actions = flags & 0xFF000000; - - let isCaps = (!!(actions & extendedClipboardActionCaps)); - if (isCaps) { - this._clipboardServerCapabilitiesFormats = {}; - this._clipboardServerCapabilitiesActions = {}; - - // Update our server capabilities for Formats - for (let i = 0; i <= 15; i++) { - let index = 1 << i; - - // Check if format flag is set. - if ((formats & index)) { - this._clipboardServerCapabilitiesFormats[index] = true; - // We don't send unsolicited clipboard, so we - // ignore the size - this._sock.rQshift32(); - } - } - - // Update our server capabilities for Actions - for (let i = 24; i <= 31; i++) { - let index = 1 << i; - this._clipboardServerCapabilitiesActions[index] = !!(actions & index); - } - - /* Caps handling done, send caps with the clients - capabilities set as a response */ - let clientActions = [ - extendedClipboardActionCaps, - extendedClipboardActionRequest, - extendedClipboardActionPeek, - extendedClipboardActionNotify, - extendedClipboardActionProvide - ]; - RFB.messages.extendedClipboardCaps(this._sock, clientActions, {extendedClipboardFormatText: 0}); - - } else if (actions === extendedClipboardActionRequest) { - if (this._viewOnly) { - return true; - } - - // Check if server has told us it can handle Provide and there is clipboard data to send. - if (this._clipboardText != null && - this._clipboardServerCapabilitiesActions[extendedClipboardActionProvide]) { - - if (formats & extendedClipboardFormatText) { - RFB.messages.extendedClipboardProvide(this._sock, [extendedClipboardFormatText], [this._clipboardText]); - } - } - - } else if (actions === extendedClipboardActionPeek) { - if (this._viewOnly) { - return true; - } - - if (this._clipboardServerCapabilitiesActions[extendedClipboardActionNotify]) { - - if (this._clipboardText != null) { - RFB.messages.extendedClipboardNotify(this._sock, [extendedClipboardFormatText]); - } else { - RFB.messages.extendedClipboardNotify(this._sock, []); - } - } - - } else if (actions === extendedClipboardActionNotify) { - if (this._viewOnly) { - return true; - } - - if (this._clipboardServerCapabilitiesActions[extendedClipboardActionRequest]) { - - if (formats & extendedClipboardFormatText) { - RFB.messages.extendedClipboardRequest(this._sock, [extendedClipboardFormatText]); - } - } - - } else if (actions === extendedClipboardActionProvide) { - if (this._viewOnly) { - return true; - } - - if (!(formats & extendedClipboardFormatText)) { - return true; - } - // Ignore what we had in our clipboard client side. - this._clipboardText = null; - - // FIXME: Should probably verify that this data was actually requested - let zlibStream = this._sock.rQshiftBytes(length - 4); - let streamInflator = new Inflator(); - let textData = null; - - streamInflator.setInput(zlibStream); - for (let i = 0; i <= 15; i++) { - let format = 1 << i; - - if (formats & format) { - - let size = 0x00; - let sizeArray = streamInflator.inflate(4); - - size |= (sizeArray[0] << 24); - size |= (sizeArray[1] << 16); - size |= (sizeArray[2] << 8); - size |= (sizeArray[3]); - let chunk = streamInflator.inflate(size); - - if (format === extendedClipboardFormatText) { - textData = chunk; - } - } - } - streamInflator.setInput(null); - - if (textData !== null) { - let tmpText = ""; - for (let i = 0; i < textData.length; i++) { - tmpText += String.fromCharCode(textData[i]); - } - textData = tmpText; - - textData = decodeUTF8(textData); - if ((textData.length > 0) && "\0" === textData.charAt(textData.length - 1)) { - textData = textData.slice(0, -1); - } - - textData = textData.replace("\r\n", "\n"); - - this.dispatchEvent(new CustomEvent( - "clipboard", - { detail: { text: textData } })); - } - } else { - return this._fail("Unexpected action in extended clipboard message: " + actions); - } - } - return true; - } - - _handleServerFenceMsg() { - if (this._sock.rQwait("ServerFence header", 8, 1)) { return false; } - this._sock.rQskipBytes(3); // Padding - let flags = this._sock.rQshift32(); - let length = this._sock.rQshift8(); - - if (this._sock.rQwait("ServerFence payload", length, 9)) { return false; } - - if (length > 64) { - Log.Warn("Bad payload length (" + length + ") in fence response"); - length = 64; - } - - const payload = this._sock.rQshiftStr(length); - - this._supportsFence = true; - - /* - * Fence flags - * - * (1<<0) - BlockBefore - * (1<<1) - BlockAfter - * (1<<2) - SyncNext - * (1<<31) - Request - */ - - if (!(flags & (1<<31))) { - return this._fail("Unexpected fence response"); - } - - // Filter out unsupported flags - // FIXME: support syncNext - flags &= (1<<0) | (1<<1); - - // BlockBefore and BlockAfter are automatically handled by - // the fact that we process each incoming message - // synchronuosly. - RFB.messages.clientFence(this._sock, flags, payload); - - return true; - } - - _handleXvpMsg() { - if (this._sock.rQwait("XVP version and message", 3, 1)) { return false; } - this._sock.rQskipBytes(1); // Padding - const xvpVer = this._sock.rQshift8(); - const xvpMsg = this._sock.rQshift8(); - - switch (xvpMsg) { - case 0: // XVP_FAIL - Log.Error("XVP Operation Failed"); - break; - case 1: // XVP_INIT - this._rfbXvpVer = xvpVer; - Log.Info("XVP extensions enabled (version " + this._rfbXvpVer + ")"); - this._setCapability("power", true); - break; - default: - this._fail("Illegal server XVP message (msg: " + xvpMsg + ")"); - break; - } - - return true; - } - - _normalMsg() { - let msgType; - if (this._FBU.rects > 0) { - msgType = 0; - } else { - msgType = this._sock.rQshift8(); - } - - let first, ret; - switch (msgType) { - case 0: // FramebufferUpdate - ret = this._framebufferUpdate(); - if (ret && !this._enabledContinuousUpdates) { - RFB.messages.fbUpdateRequest(this._sock, true, 0, 0, - this._fbWidth, this._fbHeight); - } - return ret; - - case 1: // SetColorMapEntries - return this._handleSetColourMapMsg(); - - case 2: // Bell - Log.Debug("Bell"); - this.dispatchEvent(new CustomEvent( - "bell", - { detail: {} })); - return true; - - case 3: // ServerCutText - return this._handleServerCutText(); - - case 150: // EndOfContinuousUpdates - first = !this._supportsContinuousUpdates; - this._supportsContinuousUpdates = true; - this._enabledContinuousUpdates = false; - if (first) { - this._enabledContinuousUpdates = true; - this._updateContinuousUpdates(); - Log.Info("Enabling continuous updates."); - } else { - // FIXME: We need to send a framebufferupdaterequest here - // if we add support for turning off continuous updates - } - return true; - - case 248: // ServerFence - return this._handleServerFenceMsg(); - - case 250: // XVP - return this._handleXvpMsg(); - - default: - this._fail("Unexpected server message (type " + msgType + ")"); - Log.Debug("sock.rQslice(0, 30): " + this._sock.rQslice(0, 30)); - return true; - } - } - - _onFlush() { - this._flushing = false; - // Resume processing - if (this._sock.rQlen > 0) { - this._handleMessage(); - } - } - - _framebufferUpdate() { - if (this._FBU.rects === 0) { - if (this._sock.rQwait("FBU header", 3, 1)) { return false; } - this._sock.rQskipBytes(1); // Padding - this._FBU.rects = this._sock.rQshift16(); - - // Make sure the previous frame is fully rendered first - // to avoid building up an excessive queue - if (this._display.pending()) { - this._flushing = true; - this._display.flush(); - return false; - } - } - - while (this._FBU.rects > 0) { - if (this._FBU.encoding === null) { - if (this._sock.rQwait("rect header", 12)) { return false; } - /* New FramebufferUpdate */ - - const hdr = this._sock.rQshiftBytes(12); - this._FBU.x = (hdr[0] << 8) + hdr[1]; - this._FBU.y = (hdr[2] << 8) + hdr[3]; - this._FBU.width = (hdr[4] << 8) + hdr[5]; - this._FBU.height = (hdr[6] << 8) + hdr[7]; - this._FBU.encoding = parseInt((hdr[8] << 24) + (hdr[9] << 16) + - (hdr[10] << 8) + hdr[11], 10); - } - - if (!this._handleRect()) { - return false; - } - - this._FBU.rects--; - this._FBU.encoding = null; - } - - this._display.flip(); - - return true; // We finished this FBU - } - - _handleRect() { - switch (this._FBU.encoding) { - case encodings.pseudoEncodingLastRect: - this._FBU.rects = 1; // Will be decreased when we return - return true; - - case encodings.pseudoEncodingVMwareCursor: - return this._handleVMwareCursor(); - - case encodings.pseudoEncodingCursor: - return this._handleCursor(); - - case encodings.pseudoEncodingQEMUExtendedKeyEvent: - // Old Safari doesn't support creating keyboard events - try { - const keyboardEvent = document.createEvent("keyboardEvent"); - if (keyboardEvent.code !== undefined) { - this._qemuExtKeyEventSupported = true; - } - } catch (err) { - // Do nothing - } - return true; - - case encodings.pseudoEncodingDesktopName: - return this._handleDesktopName(); - - case encodings.pseudoEncodingDesktopSize: - this._resize(this._FBU.width, this._FBU.height); - return true; - - case encodings.pseudoEncodingExtendedDesktopSize: - return this._handleExtendedDesktopSize(); - - default: - return this._handleDataRect(); - } - } - - _handleVMwareCursor() { - const hotx = this._FBU.x; // hotspot-x - const hoty = this._FBU.y; // hotspot-y - const w = this._FBU.width; - const h = this._FBU.height; - if (this._sock.rQwait("VMware cursor encoding", 1)) { - return false; - } - - const cursorType = this._sock.rQshift8(); - - this._sock.rQshift8(); //Padding - - let rgba; - const bytesPerPixel = 4; - - //Classic cursor - if (cursorType == 0) { - //Used to filter away unimportant bits. - //OR is used for correct conversion in js. - const PIXEL_MASK = 0xffffff00 | 0; - rgba = new Array(w * h * bytesPerPixel); - - if (this._sock.rQwait("VMware cursor classic encoding", - (w * h * bytesPerPixel) * 2, 2)) { - return false; - } - - let andMask = new Array(w * h); - for (let pixel = 0; pixel < (w * h); pixel++) { - andMask[pixel] = this._sock.rQshift32(); - } - - let xorMask = new Array(w * h); - for (let pixel = 0; pixel < (w * h); pixel++) { - xorMask[pixel] = this._sock.rQshift32(); - } - - for (let pixel = 0; pixel < (w * h); pixel++) { - if (andMask[pixel] == 0) { - //Fully opaque pixel - let bgr = xorMask[pixel]; - let r = bgr >> 8 & 0xff; - let g = bgr >> 16 & 0xff; - let b = bgr >> 24 & 0xff; - - rgba[(pixel * bytesPerPixel) ] = r; //r - rgba[(pixel * bytesPerPixel) + 1 ] = g; //g - rgba[(pixel * bytesPerPixel) + 2 ] = b; //b - rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; //a - - } else if ((andMask[pixel] & PIXEL_MASK) == - PIXEL_MASK) { - //Only screen value matters, no mouse colouring - if (xorMask[pixel] == 0) { - //Transparent pixel - rgba[(pixel * bytesPerPixel) ] = 0x00; - rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 3 ] = 0x00; - - } else if ((xorMask[pixel] & PIXEL_MASK) == - PIXEL_MASK) { - //Inverted pixel, not supported in browsers. - //Fully opaque instead. - rgba[(pixel * bytesPerPixel) ] = 0x00; - rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; - - } else { - //Unhandled xorMask - rgba[(pixel * bytesPerPixel) ] = 0x00; - rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; - } - - } else { - //Unhandled andMask - rgba[(pixel * bytesPerPixel) ] = 0x00; - rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; - rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; - } - } - - //Alpha cursor. - } else if (cursorType == 1) { - if (this._sock.rQwait("VMware cursor alpha encoding", - (w * h * 4), 2)) { - return false; - } - - rgba = new Array(w * h * bytesPerPixel); - - for (let pixel = 0; pixel < (w * h); pixel++) { - let data = this._sock.rQshift32(); - - rgba[(pixel * 4) ] = data >> 24 & 0xff; //r - rgba[(pixel * 4) + 1 ] = data >> 16 & 0xff; //g - rgba[(pixel * 4) + 2 ] = data >> 8 & 0xff; //b - rgba[(pixel * 4) + 3 ] = data & 0xff; //a - } - - } else { - Log.Warn("The given cursor type is not supported: " - + cursorType + " given."); - return false; - } - - this._updateCursor(rgba, hotx, hoty, w, h); - - return true; - } - - _handleCursor() { - const hotx = this._FBU.x; // hotspot-x - const hoty = this._FBU.y; // hotspot-y - const w = this._FBU.width; - const h = this._FBU.height; - - const pixelslength = w * h * 4; - const masklength = Math.ceil(w / 8) * h; - - let bytes = pixelslength + masklength; - if (this._sock.rQwait("cursor encoding", bytes)) { - return false; - } - - // Decode from BGRX pixels + bit mask to RGBA - const pixels = this._sock.rQshiftBytes(pixelslength); - const mask = this._sock.rQshiftBytes(masklength); - let rgba = new Uint8Array(w * h * 4); - - let pixIdx = 0; - for (let y = 0; y < h; y++) { - for (let x = 0; x < w; x++) { - let maskIdx = y * Math.ceil(w / 8) + Math.floor(x / 8); - let alpha = (mask[maskIdx] << (x % 8)) & 0x80 ? 255 : 0; - rgba[pixIdx ] = pixels[pixIdx + 2]; - rgba[pixIdx + 1] = pixels[pixIdx + 1]; - rgba[pixIdx + 2] = pixels[pixIdx]; - rgba[pixIdx + 3] = alpha; - pixIdx += 4; - } - } - - this._updateCursor(rgba, hotx, hoty, w, h); - - return true; - } - - _handleDesktopName() { - if (this._sock.rQwait("DesktopName", 4)) { - return false; - } - - let length = this._sock.rQshift32(); - - if (this._sock.rQwait("DesktopName", length, 4)) { - return false; - } - - let name = this._sock.rQshiftStr(length); - name = decodeUTF8(name, true); - - this._setDesktopName(name); - - return true; - } - - _handleExtendedDesktopSize() { - if (this._sock.rQwait("ExtendedDesktopSize", 4)) { - return false; - } - - const numberOfScreens = this._sock.rQpeek8(); - - let bytes = 4 + (numberOfScreens * 16); - if (this._sock.rQwait("ExtendedDesktopSize", bytes)) { - return false; - } - - const firstUpdate = !this._supportsSetDesktopSize; - this._supportsSetDesktopSize = true; - - // Normally we only apply the current resize mode after a - // window resize event. However there is no such trigger on the - // initial connect. And we don't know if the server supports - // resizing until we've gotten here. - if (firstUpdate) { - this._requestRemoteResize(); - } - - this._sock.rQskipBytes(1); // number-of-screens - this._sock.rQskipBytes(3); // padding - - for (let i = 0; i < numberOfScreens; i += 1) { - // Save the id and flags of the first screen - if (i === 0) { - this._screenID = this._sock.rQshiftBytes(4); // id - this._sock.rQskipBytes(2); // x-position - this._sock.rQskipBytes(2); // y-position - this._sock.rQskipBytes(2); // width - this._sock.rQskipBytes(2); // height - this._screenFlags = this._sock.rQshiftBytes(4); // flags - } else { - this._sock.rQskipBytes(16); - } - } - - /* - * The x-position indicates the reason for the change: - * - * 0 - server resized on its own - * 1 - this client requested the resize - * 2 - another client requested the resize - */ - - // We need to handle errors when we requested the resize. - if (this._FBU.x === 1 && this._FBU.y !== 0) { - let msg = ""; - // The y-position indicates the status code from the server - switch (this._FBU.y) { - case 1: - msg = "Resize is administratively prohibited"; - break; - case 2: - msg = "Out of resources"; - break; - case 3: - msg = "Invalid screen layout"; - break; - default: - msg = "Unknown reason"; - break; - } - Log.Warn("Server did not accept the resize request: " - + msg); - } else { - this._resize(this._FBU.width, this._FBU.height); - } - - return true; - } - - _handleDataRect() { - let decoder = this._decoders[this._FBU.encoding]; - if (!decoder) { - this._fail("Unsupported encoding (encoding: " + - this._FBU.encoding + ")"); - return false; - } - - try { - return decoder.decodeRect(this._FBU.x, this._FBU.y, - this._FBU.width, this._FBU.height, - this._sock, this._display, - this._fbDepth); - } catch (err) { - this._fail("Error decoding rect: " + err); - return false; - } - } - - _updateContinuousUpdates() { - if (!this._enabledContinuousUpdates) { return; } - - RFB.messages.enableContinuousUpdates(this._sock, true, 0, 0, - this._fbWidth, this._fbHeight); - } - - _resize(width, height) { - this._fbWidth = width; - this._fbHeight = height; - - this._display.resize(this._fbWidth, this._fbHeight); - - // Adjust the visible viewport based on the new dimensions - this._updateClip(); - this._updateScale(); - - this._updateContinuousUpdates(); - } - - _xvpOp(ver, op) { - if (this._rfbXvpVer < ver) { return; } - Log.Info("Sending XVP operation " + op + " (version " + ver + ")"); - RFB.messages.xvpOp(this._sock, ver, op); - } - - _updateCursor(rgba, hotx, hoty, w, h) { - this._cursorImage = { - rgbaPixels: rgba, - hotx: hotx, hoty: hoty, w: w, h: h, - }; - this._refreshCursor(); - } - - _shouldShowDotCursor() { - // Called when this._cursorImage is updated - if (!this._showDotCursor) { - // User does not want to see the dot, so... - return false; - } - - // The dot should not be shown if the cursor is already visible, - // i.e. contains at least one not-fully-transparent pixel. - // So iterate through all alpha bytes in rgba and stop at the - // first non-zero. - for (let i = 3; i < this._cursorImage.rgbaPixels.length; i += 4) { - if (this._cursorImage.rgbaPixels[i]) { - return false; - } - } - - // At this point, we know that the cursor is fully transparent, and - // the user wants to see the dot instead of this. - return true; - } - - _refreshCursor() { - if (this._rfbConnectionState !== "connecting" && - this._rfbConnectionState !== "connected") { - return; - } - const image = this._shouldShowDotCursor() ? RFB.cursors.dot : this._cursorImage; - this._cursor.change(image.rgbaPixels, - image.hotx, image.hoty, - image.w, image.h - ); - } - - static genDES(password, challenge) { - const passwordChars = password.split('').map(c => c.charCodeAt(0)); - return (new DES(passwordChars)).encrypt(challenge); - } -} - -// Class Methods -RFB.messages = { - keyEvent(sock, keysym, down) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 4; // msg-type - buff[offset + 1] = down; - - buff[offset + 2] = 0; - buff[offset + 3] = 0; - - buff[offset + 4] = (keysym >> 24); - buff[offset + 5] = (keysym >> 16); - buff[offset + 6] = (keysym >> 8); - buff[offset + 7] = keysym; - - sock._sQlen += 8; - sock.flush(); - }, - - QEMUExtendedKeyEvent(sock, keysym, down, keycode) { - function getRFBkeycode(xtScanCode) { - const upperByte = (keycode >> 8); - const lowerByte = (keycode & 0x00ff); - if (upperByte === 0xe0 && lowerByte < 0x7f) { - return lowerByte | 0x80; - } - return xtScanCode; - } - - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 255; // msg-type - buff[offset + 1] = 0; // sub msg-type - - buff[offset + 2] = (down >> 8); - buff[offset + 3] = down; - - buff[offset + 4] = (keysym >> 24); - buff[offset + 5] = (keysym >> 16); - buff[offset + 6] = (keysym >> 8); - buff[offset + 7] = keysym; - - const RFBkeycode = getRFBkeycode(keycode); - - buff[offset + 8] = (RFBkeycode >> 24); - buff[offset + 9] = (RFBkeycode >> 16); - buff[offset + 10] = (RFBkeycode >> 8); - buff[offset + 11] = RFBkeycode; - - sock._sQlen += 12; - sock.flush(); - }, - - pointerEvent(sock, x, y, mask) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 5; // msg-type - - buff[offset + 1] = mask; - - buff[offset + 2] = x >> 8; - buff[offset + 3] = x; - - buff[offset + 4] = y >> 8; - buff[offset + 5] = y; - - sock._sQlen += 6; - sock.flush(); - }, - - // Used to build Notify and Request data. - _buildExtendedClipboardFlags(actions, formats) { - let data = new Uint8Array(4); - let formatFlag = 0x00000000; - let actionFlag = 0x00000000; - - for (let i = 0; i < actions.length; i++) { - actionFlag |= actions[i]; - } - - for (let i = 0; i < formats.length; i++) { - formatFlag |= formats[i]; - } - - data[0] = actionFlag >> 24; // Actions - data[1] = 0x00; // Reserved - data[2] = 0x00; // Reserved - data[3] = formatFlag; // Formats - - return data; - }, - - extendedClipboardProvide(sock, formats, inData) { - // Deflate incomming data and their sizes - let deflator = new Deflator(); - let dataToDeflate = []; - - for (let i = 0; i < formats.length; i++) { - // We only support the format Text at this time - if (formats[i] != extendedClipboardFormatText) { - throw new Error("Unsupported extended clipboard format for Provide message."); - } - - // Change lone \r or \n into \r\n as defined in rfbproto - inData[i] = inData[i].replace(/\r\n|\r|\n/gm, "\r\n"); - - // Check if it already has \0 - let text = encodeUTF8(inData[i] + "\0"); - - dataToDeflate.push( (text.length >> 24) & 0xFF, - (text.length >> 16) & 0xFF, - (text.length >> 8) & 0xFF, - (text.length & 0xFF)); - - for (let j = 0; j < text.length; j++) { - dataToDeflate.push(text.charCodeAt(j)); - } - } - - let deflatedData = deflator.deflate(new Uint8Array(dataToDeflate)); - - // Build data to send - let data = new Uint8Array(4 + deflatedData.length); - data.set(RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionProvide], - formats)); - data.set(deflatedData, 4); - - RFB.messages.clientCutText(sock, data, true); - }, - - extendedClipboardNotify(sock, formats) { - let flags = RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionNotify], - formats); - RFB.messages.clientCutText(sock, flags, true); - }, - - extendedClipboardRequest(sock, formats) { - let flags = RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionRequest], - formats); - RFB.messages.clientCutText(sock, flags, true); - }, - - extendedClipboardCaps(sock, actions, formats) { - let formatKeys = Object.keys(formats); - let data = new Uint8Array(4 + (4 * formatKeys.length)); - - formatKeys.map(x => parseInt(x)); - formatKeys.sort((a, b) => a - b); - - data.set(RFB.messages._buildExtendedClipboardFlags(actions, [])); - - let loopOffset = 4; - for (let i = 0; i < formatKeys.length; i++) { - data[loopOffset] = formats[formatKeys[i]] >> 24; - data[loopOffset + 1] = formats[formatKeys[i]] >> 16; - data[loopOffset + 2] = formats[formatKeys[i]] >> 8; - data[loopOffset + 3] = formats[formatKeys[i]] >> 0; - - loopOffset += 4; - data[3] |= (1 << formatKeys[i]); // Update our format flags - } - - RFB.messages.clientCutText(sock, data, true); - }, - - clientCutText(sock, data, extended = false) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 6; // msg-type - - buff[offset + 1] = 0; // padding - buff[offset + 2] = 0; // padding - buff[offset + 3] = 0; // padding - - let length; - if (extended) { - length = toUnsigned32bit(-data.length); - } else { - length = data.length; - } - - buff[offset + 4] = length >> 24; - buff[offset + 5] = length >> 16; - buff[offset + 6] = length >> 8; - buff[offset + 7] = length; - - sock._sQlen += 8; - - // We have to keep track of from where in the data we begin creating the - // buffer for the flush in the next iteration. - let dataOffset = 0; - - let remaining = data.length; - while (remaining > 0) { - - let flushSize = Math.min(remaining, (sock._sQbufferSize - sock._sQlen)); - for (let i = 0; i < flushSize; i++) { - buff[sock._sQlen + i] = data[dataOffset + i]; - } - - sock._sQlen += flushSize; - sock.flush(); - - remaining -= flushSize; - dataOffset += flushSize; - } - - }, - - setDesktopSize(sock, width, height, id, flags) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 251; // msg-type - buff[offset + 1] = 0; // padding - buff[offset + 2] = width >> 8; // width - buff[offset + 3] = width; - buff[offset + 4] = height >> 8; // height - buff[offset + 5] = height; - - buff[offset + 6] = 1; // number-of-screens - buff[offset + 7] = 0; // padding - - // screen array - buff[offset + 8] = id >> 24; // id - buff[offset + 9] = id >> 16; - buff[offset + 10] = id >> 8; - buff[offset + 11] = id; - buff[offset + 12] = 0; // x-position - buff[offset + 13] = 0; - buff[offset + 14] = 0; // y-position - buff[offset + 15] = 0; - buff[offset + 16] = width >> 8; // width - buff[offset + 17] = width; - buff[offset + 18] = height >> 8; // height - buff[offset + 19] = height; - buff[offset + 20] = flags >> 24; // flags - buff[offset + 21] = flags >> 16; - buff[offset + 22] = flags >> 8; - buff[offset + 23] = flags; - - sock._sQlen += 24; - sock.flush(); - }, - - clientFence(sock, flags, payload) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 248; // msg-type - - buff[offset + 1] = 0; // padding - buff[offset + 2] = 0; // padding - buff[offset + 3] = 0; // padding - - buff[offset + 4] = flags >> 24; // flags - buff[offset + 5] = flags >> 16; - buff[offset + 6] = flags >> 8; - buff[offset + 7] = flags; - - const n = payload.length; - - buff[offset + 8] = n; // length - - for (let i = 0; i < n; i++) { - buff[offset + 9 + i] = payload.charCodeAt(i); - } - - sock._sQlen += 9 + n; - sock.flush(); - }, - - enableContinuousUpdates(sock, enable, x, y, width, height) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 150; // msg-type - buff[offset + 1] = enable; // enable-flag - - buff[offset + 2] = x >> 8; // x - buff[offset + 3] = x; - buff[offset + 4] = y >> 8; // y - buff[offset + 5] = y; - buff[offset + 6] = width >> 8; // width - buff[offset + 7] = width; - buff[offset + 8] = height >> 8; // height - buff[offset + 9] = height; - - sock._sQlen += 10; - sock.flush(); - }, - - pixelFormat(sock, depth, trueColor) { - const buff = sock._sQ; - const offset = sock._sQlen; - - let bpp; - - if (depth > 16) { - bpp = 32; - } else if (depth > 8) { - bpp = 16; - } else { - bpp = 8; - } - - const bits = Math.floor(depth/3); - - buff[offset] = 0; // msg-type - - buff[offset + 1] = 0; // padding - buff[offset + 2] = 0; // padding - buff[offset + 3] = 0; // padding - - buff[offset + 4] = bpp; // bits-per-pixel - buff[offset + 5] = depth; // depth - buff[offset + 6] = 0; // little-endian - buff[offset + 7] = trueColor ? 1 : 0; // true-color - - buff[offset + 8] = 0; // red-max - buff[offset + 9] = (1 << bits) - 1; // red-max - - buff[offset + 10] = 0; // green-max - buff[offset + 11] = (1 << bits) - 1; // green-max - - buff[offset + 12] = 0; // blue-max - buff[offset + 13] = (1 << bits) - 1; // blue-max - - buff[offset + 14] = bits * 0; // red-shift - buff[offset + 15] = bits * 1; // green-shift - buff[offset + 16] = bits * 2; // blue-shift - - buff[offset + 17] = 0; // padding - buff[offset + 18] = 0; // padding - buff[offset + 19] = 0; // padding - - sock._sQlen += 20; - sock.flush(); - }, - - clientEncodings(sock, encodings) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 2; // msg-type - buff[offset + 1] = 0; // padding - - buff[offset + 2] = encodings.length >> 8; - buff[offset + 3] = encodings.length; - - let j = offset + 4; - for (let i = 0; i < encodings.length; i++) { - const enc = encodings[i]; - buff[j] = enc >> 24; - buff[j + 1] = enc >> 16; - buff[j + 2] = enc >> 8; - buff[j + 3] = enc; - - j += 4; - } - - sock._sQlen += j - offset; - sock.flush(); - }, - - fbUpdateRequest(sock, incremental, x, y, w, h) { - const buff = sock._sQ; - const offset = sock._sQlen; - - if (typeof(x) === "undefined") { x = 0; } - if (typeof(y) === "undefined") { y = 0; } - - buff[offset] = 3; // msg-type - buff[offset + 1] = incremental ? 1 : 0; - - buff[offset + 2] = (x >> 8) & 0xFF; - buff[offset + 3] = x & 0xFF; - - buff[offset + 4] = (y >> 8) & 0xFF; - buff[offset + 5] = y & 0xFF; - - buff[offset + 6] = (w >> 8) & 0xFF; - buff[offset + 7] = w & 0xFF; - - buff[offset + 8] = (h >> 8) & 0xFF; - buff[offset + 9] = h & 0xFF; - - sock._sQlen += 10; - sock.flush(); - }, - - xvpOp(sock, ver, op) { - const buff = sock._sQ; - const offset = sock._sQlen; - - buff[offset] = 250; // msg-type - buff[offset + 1] = 0; // padding - - buff[offset + 2] = ver; - buff[offset + 3] = op; - - sock._sQlen += 4; - sock.flush(); - } -}; - -RFB.cursors = { - none: { - rgbaPixels: new Uint8Array(), - w: 0, h: 0, - hotx: 0, hoty: 0, - }, - - dot: { - /* eslint-disable indent */ - rgbaPixels: new Uint8Array([ - 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, - 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, - 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, - ]), - /* eslint-enable indent */ - w: 3, h: 3, - hotx: 1, hoty: 1, - } -}; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + */ + +import { toUnsigned32bit, toSigned32bit } from './util/int.js'; +import * as Log from './util/logging.js'; +import { encodeUTF8, decodeUTF8 } from './util/strings.js'; +import { dragThreshold } from './util/browser.js'; +import { clientToElement } from './util/element.js'; +import { setCapture } from './util/events.js'; +import EventTargetMixin from './util/eventtarget.js'; +import Display from "./display.js"; +import Inflator from "./inflator.js"; +import Deflator from "./deflator.js"; +import Keyboard from "./input/keyboard.js"; +import GestureHandler from "./input/gesturehandler.js"; +import Cursor from "./util/cursor.js"; +import Websock from "./websock.js"; +import DES from "./des.js"; +import KeyTable from "./input/keysym.js"; +import XtScancode from "./input/xtscancodes.js"; +import { encodings } from "./encodings.js"; +import "./util/polyfill.js"; + +import RawDecoder from "./decoders/raw.js"; +import CopyRectDecoder from "./decoders/copyrect.js"; +import RREDecoder from "./decoders/rre.js"; +import HextileDecoder from "./decoders/hextile.js"; +import TightDecoder from "./decoders/tight.js"; +import TightPNGDecoder from "./decoders/tightpng.js"; + +// How many seconds to wait for a disconnect to finish +const DISCONNECT_TIMEOUT = 3; +const DEFAULT_BACKGROUND = 'rgb(40, 40, 40)'; + +// Minimum wait (ms) between two mouse moves +const MOUSE_MOVE_DELAY = 17; + +// Wheel thresholds +const WHEEL_STEP = 50; // Pixels needed for one step +const WHEEL_LINE_HEIGHT = 19; // Assumed pixels for one line step + +// Gesture thresholds +const GESTURE_ZOOMSENS = 75; +const GESTURE_SCRLSENS = 50; +const DOUBLE_TAP_TIMEOUT = 1000; +const DOUBLE_TAP_THRESHOLD = 50; + +// Extended clipboard pseudo-encoding formats +const extendedClipboardFormatText = 1; +/*eslint-disable no-unused-vars */ +const extendedClipboardFormatRtf = 1 << 1; +const extendedClipboardFormatHtml = 1 << 2; +const extendedClipboardFormatDib = 1 << 3; +const extendedClipboardFormatFiles = 1 << 4; +/*eslint-enable */ + +// Extended clipboard pseudo-encoding actions +const extendedClipboardActionCaps = 1 << 24; +const extendedClipboardActionRequest = 1 << 25; +const extendedClipboardActionPeek = 1 << 26; +const extendedClipboardActionNotify = 1 << 27; +const extendedClipboardActionProvide = 1 << 28; + + +export default class RFB extends EventTargetMixin { + constructor(target, url, options) { + if (!target) { + throw new Error("Must specify target"); + } + if (!url) { + throw new Error("Must specify URL"); + } + + super(); + + this._target = target; + this._url = url; + + // Connection details + options = options || {}; + this._rfbCredentials = options.credentials || {}; + this._shared = 'shared' in options ? !!options.shared : true; + this._repeaterID = options.repeaterID || ''; + this._wsProtocols = ['binary']; + + // Internal state + this._rfbConnectionState = ''; + this._rfbInitState = ''; + this._rfbAuthScheme = -1; + this._rfbCleanDisconnect = true; + + // Server capabilities + this._rfbVersion = 0; + this._rfbMaxVersion = 3.8; + this._rfbTightVNC = false; + this._rfbVeNCryptState = 0; + this._rfbXvpVer = 0; + + this._fbWidth = 0; + this._fbHeight = 0; + + this._fbName = ""; + + this._capabilities = { power: false }; + + this._supportsFence = false; + + this._supportsContinuousUpdates = false; + this._enabledContinuousUpdates = false; + + this._supportsSetDesktopSize = false; + this._screenID = 0; + this._screenFlags = 0; + + this._qemuExtKeyEventSupported = false; + + this._clipboardText = null; + this._clipboardServerCapabilitiesActions = {}; + this._clipboardServerCapabilitiesFormats = {}; + + // Internal objects + this._sock = null; // Websock object + this._display = null; // Display object + this._flushing = false; // Display flushing state + this._keyboard = null; // Keyboard input handler object + this._gestures = null; // Gesture input handler object + + // Timers + this._disconnTimer = null; // disconnection timer + this._resizeTimeout = null; // resize rate limiting + this._mouseMoveTimer = null; + + // Decoder states + this._decoders = {}; + + this._FBU = { + rects: 0, + x: 0, + y: 0, + width: 0, + height: 0, + encoding: null, + }; + + // Mouse state + this._mousePos = {}; + this._mouseButtonMask = 0; + this._mouseLastMoveTime = 0; + this._viewportDragging = false; + this._viewportDragPos = {}; + this._viewportHasMoved = false; + this._accumulatedWheelDeltaX = 0; + this._accumulatedWheelDeltaY = 0; + + // Gesture state + this._gestureLastTapTime = null; + this._gestureFirstDoubleTapEv = null; + this._gestureLastMagnitudeX = 0; + this._gestureLastMagnitudeY = 0; + + // Bound event handlers + this._eventHandlers = { + focusCanvas: this._focusCanvas.bind(this), + windowResize: this._windowResize.bind(this), + handleMouse: this._handleMouse.bind(this), + handleWheel: this._handleWheel.bind(this), + handleGesture: this._handleGesture.bind(this), + }; + + // main setup + Log.Debug(">> RFB.constructor"); + + // Create DOM elements + this._screen = document.createElement('div'); + this._screen.style.display = 'flex'; + this._screen.style.width = '100%'; + this._screen.style.height = '100%'; + this._screen.style.overflow = 'auto'; + this._screen.style.background = DEFAULT_BACKGROUND; + this._canvas = document.createElement('canvas'); + this._canvas.style.margin = 'auto'; + // Some browsers add an outline on focus + this._canvas.style.outline = 'none'; + // IE miscalculates width without this :( + this._canvas.style.flexShrink = '0'; + this._canvas.width = 0; + this._canvas.height = 0; + this._canvas.tabIndex = -1; + this._screen.appendChild(this._canvas); + + // Cursor + this._cursor = new Cursor(); + + // XXX: TightVNC 2.8.11 sends no cursor at all until Windows changes + // it. Result: no cursor at all until a window border or an edit field + // is hit blindly. But there are also VNC servers that draw the cursor + // in the framebuffer and don't send the empty local cursor. There is + // no way to satisfy both sides. + // + // The spec is unclear on this "initial cursor" issue. Many other + // viewers (TigerVNC, RealVNC, Remmina) display an arrow as the + // initial cursor instead. + this._cursorImage = RFB.cursors.none; + + // populate decoder array with objects + this._decoders[encodings.encodingRaw] = new RawDecoder(); + this._decoders[encodings.encodingCopyRect] = new CopyRectDecoder(); + this._decoders[encodings.encodingRRE] = new RREDecoder(); + this._decoders[encodings.encodingHextile] = new HextileDecoder(); + this._decoders[encodings.encodingTight] = new TightDecoder(); + this._decoders[encodings.encodingTightPNG] = new TightPNGDecoder(); + + // NB: nothing that needs explicit teardown should be done + // before this point, since this can throw an exception + try { + this._display = new Display(this._canvas); + } catch (exc) { + Log.Error("Display exception: " + exc); + throw exc; + } + this._display.onflush = this._onFlush.bind(this); + + this._keyboard = new Keyboard(this._canvas); + this._keyboard.onkeyevent = this._handleKeyEvent.bind(this); + + this._gestures = new GestureHandler(); + + this._sock = new Websock(); + this._sock.on('message', () => { + this._handleMessage(); + }); + this._sock.on('open', () => { + if ((this._rfbConnectionState === 'connecting') && + (this._rfbInitState === '')) { + this._rfbInitState = 'ProtocolVersion'; + Log.Debug("Starting VNC handshake"); + } else { + this._fail("Unexpected server connection while " + + this._rfbConnectionState); + } + }); + this._sock.on('close', (e) => { + Log.Debug("WebSocket on-close event"); + let msg = ""; + if (e.code) { + msg = "(code: " + e.code; + if (e.reason) { + msg += ", reason: " + e.reason; + } + msg += ")"; + } + switch (this._rfbConnectionState) { + case 'connecting': + this._fail("Connection closed " + msg); + break; + case 'connected': + // Handle disconnects that were initiated server-side + this._updateConnectionState('disconnecting'); + this._updateConnectionState('disconnected'); + break; + case 'disconnecting': + // Normal disconnection path + this._updateConnectionState('disconnected'); + break; + case 'disconnected': + this._fail("Unexpected server disconnect " + + "when already disconnected " + msg); + break; + default: + this._fail("Unexpected server disconnect before connecting " + + msg); + break; + } + this._sock.off('close'); + }); + this._sock.on('error', e => Log.Warn("WebSocket on-error event")); + + // Slight delay of the actual connection so that the caller has + // time to set up callbacks + setTimeout(this._updateConnectionState.bind(this, 'connecting')); + + Log.Debug("<< RFB.constructor"); + + // ===== PROPERTIES ===== + + this.dragViewport = false; + this.focusOnClick = true; + + this._viewOnly = false; + this._clipViewport = false; + this._scaleViewport = false; + this._resizeSession = false; + + this._showDotCursor = false; + if (options.showDotCursor !== undefined) { + Log.Warn("Specifying showDotCursor as a RFB constructor argument is deprecated"); + this._showDotCursor = options.showDotCursor; + } + + this._qualityLevel = 6; + this._compressionLevel = 2; + } + + // ===== PROPERTIES ===== + + get viewOnly() { return this._viewOnly; } + set viewOnly(viewOnly) { + this._viewOnly = viewOnly; + + if (this._rfbConnectionState === "connecting" || + this._rfbConnectionState === "connected") { + if (viewOnly) { + this._keyboard.ungrab(); + } else { + this._keyboard.grab(); + } + } + } + + get capabilities() { return this._capabilities; } + + get touchButton() { return 0; } + set touchButton(button) { Log.Warn("Using old API!"); } + + get clipViewport() { return this._clipViewport; } + set clipViewport(viewport) { + this._clipViewport = viewport; + this._updateClip(); + } + + get scaleViewport() { return this._scaleViewport; } + set scaleViewport(scale) { + this._scaleViewport = scale; + // Scaling trumps clipping, so we may need to adjust + // clipping when enabling or disabling scaling + if (scale && this._clipViewport) { + this._updateClip(); + } + this._updateScale(); + if (!scale && this._clipViewport) { + this._updateClip(); + } + } + + get resizeSession() { return this._resizeSession; } + set resizeSession(resize) { + this._resizeSession = resize; + if (resize) { + this._requestRemoteResize(); + } + } + + get showDotCursor() { return this._showDotCursor; } + set showDotCursor(show) { + this._showDotCursor = show; + this._refreshCursor(); + } + + get background() { return this._screen.style.background; } + set background(cssValue) { this._screen.style.background = cssValue; } + + get qualityLevel() { + return this._qualityLevel; + } + set qualityLevel(qualityLevel) { + if (!Number.isInteger(qualityLevel) || qualityLevel < 0 || qualityLevel > 9) { + Log.Error("qualityLevel must be an integer between 0 and 9"); + return; + } + + if (this._qualityLevel === qualityLevel) { + return; + } + + this._qualityLevel = qualityLevel; + + if (this._rfbConnectionState === 'connected') { + this._sendEncodings(); + } + } + + get compressionLevel() { + return this._compressionLevel; + } + set compressionLevel(compressionLevel) { + if (!Number.isInteger(compressionLevel) || compressionLevel < 0 || compressionLevel > 9) { + Log.Error("compressionLevel must be an integer between 0 and 9"); + return; + } + + if (this._compressionLevel === compressionLevel) { + return; + } + + this._compressionLevel = compressionLevel; + + if (this._rfbConnectionState === 'connected') { + this._sendEncodings(); + } + } + + // ===== PUBLIC METHODS ===== + + disconnect() { + this._updateConnectionState('disconnecting'); + this._sock.off('error'); + this._sock.off('message'); + this._sock.off('open'); + } + + sendCredentials(creds) { + this._rfbCredentials = creds; + setTimeout(this._initMsg.bind(this), 0); + } + + sendCtrlAltDel() { + if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } + Log.Info("Sending Ctrl-Alt-Del"); + + this.sendKey(KeyTable.XK_Control_L, "ControlLeft", true); + this.sendKey(KeyTable.XK_Alt_L, "AltLeft", true); + this.sendKey(KeyTable.XK_Delete, "Delete", true); + this.sendKey(KeyTable.XK_Delete, "Delete", false); + this.sendKey(KeyTable.XK_Alt_L, "AltLeft", false); + this.sendKey(KeyTable.XK_Control_L, "ControlLeft", false); + } + + // For sending Pased data to vnc + sendString (str) { + var t = str.split(""); + for(var i=0;i?~|]/); + if (needs_shift) { + this.sendKey(KeyTable.XK_Shift_L, "ShiftLeft", true); + } + this.sendKey(code,1); + //this.sendKey(code,0); + if (needs_shift) { + this.sendKey(KeyTable.XK_Shift_L, "ShiftLeft", 0); + } + } + } + + machineShutdown() { + this._xvpOp(1, 2); + } + + machineReboot() { + this._xvpOp(1, 3); + } + + machineReset() { + this._xvpOp(1, 4); + } + + // Send a key press. If 'down' is not specified then send a down key + // followed by an up key. + sendKey(keysym, code, down) { + if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } + + if (down === undefined) { + this.sendKey(keysym, code, true); + this.sendKey(keysym, code, false); + return; + } + + const scancode = XtScancode[code]; + + if (this._qemuExtKeyEventSupported && scancode) { + // 0 is NoSymbol + keysym = keysym || 0; + + Log.Info("Sending key (" + (down ? "down" : "up") + "): keysym " + keysym + ", scancode " + scancode); + + RFB.messages.QEMUExtendedKeyEvent(this._sock, keysym, down, scancode); + } else { + if (!keysym) { + return; + } + Log.Info("Sending keysym (" + (down ? "down" : "up") + "): " + keysym); + RFB.messages.keyEvent(this._sock, keysym, down ? 1 : 0); + } + } + + focus() { + this._canvas.focus(); + } + + blur() { + this._canvas.blur(); + } + + clipboardPasteFrom(text) { + if (this._rfbConnectionState !== 'connected' || this._viewOnly) { return; } + + if (this._clipboardServerCapabilitiesFormats[extendedClipboardFormatText] && + this._clipboardServerCapabilitiesActions[extendedClipboardActionNotify]) { + + this._clipboardText = text; + RFB.messages.extendedClipboardNotify(this._sock, [extendedClipboardFormatText]); + } else { + let data = new Uint8Array(text.length); + for (let i = 0; i < text.length; i++) { + // FIXME: text can have values outside of Latin1/Uint8 + data[i] = text.charCodeAt(i); + } + + RFB.messages.clientCutText(this._sock, data); + } + } + + // ===== PRIVATE METHODS ===== + + _connect() { + Log.Debug(">> RFB.connect"); + + Log.Info("connecting to " + this._url); + + try { + // WebSocket.onopen transitions to the RFB init states + this._sock.open(this._url, this._wsProtocols); + } catch (e) { + if (e.name === 'SyntaxError') { + this._fail("Invalid host or port (" + e + ")"); + } else { + this._fail("Error when opening socket (" + e + ")"); + } + } + + // Make our elements part of the page + this._target.appendChild(this._screen); + + this._gestures.attach(this._canvas); + + this._cursor.attach(this._canvas); + this._refreshCursor(); + + // Monitor size changes of the screen + // FIXME: Use ResizeObserver, or hidden overflow + window.addEventListener('resize', this._eventHandlers.windowResize); + + // Always grab focus on some kind of click event + this._canvas.addEventListener("mousedown", this._eventHandlers.focusCanvas); + this._canvas.addEventListener("touchstart", this._eventHandlers.focusCanvas); + + // Mouse events + this._canvas.addEventListener('mousedown', this._eventHandlers.handleMouse); + this._canvas.addEventListener('mouseup', this._eventHandlers.handleMouse); + this._canvas.addEventListener('mousemove', this._eventHandlers.handleMouse); + // Prevent middle-click pasting (see handler for why we bind to document) + this._canvas.addEventListener('click', this._eventHandlers.handleMouse); + // preventDefault() on mousedown doesn't stop this event for some + // reason so we have to explicitly block it + this._canvas.addEventListener('contextmenu', this._eventHandlers.handleMouse); + + // Wheel events + this._canvas.addEventListener("wheel", this._eventHandlers.handleWheel); + + // Gesture events + this._canvas.addEventListener("gesturestart", this._eventHandlers.handleGesture); + this._canvas.addEventListener("gesturemove", this._eventHandlers.handleGesture); + this._canvas.addEventListener("gestureend", this._eventHandlers.handleGesture); + + Log.Debug("<< RFB.connect"); + } + + _disconnect() { + Log.Debug(">> RFB.disconnect"); + this._cursor.detach(); + this._canvas.removeEventListener("gesturestart", this._eventHandlers.handleGesture); + this._canvas.removeEventListener("gesturemove", this._eventHandlers.handleGesture); + this._canvas.removeEventListener("gestureend", this._eventHandlers.handleGesture); + this._canvas.removeEventListener("wheel", this._eventHandlers.handleWheel); + this._canvas.removeEventListener('mousedown', this._eventHandlers.handleMouse); + this._canvas.removeEventListener('mouseup', this._eventHandlers.handleMouse); + this._canvas.removeEventListener('mousemove', this._eventHandlers.handleMouse); + this._canvas.removeEventListener('click', this._eventHandlers.handleMouse); + this._canvas.removeEventListener('contextmenu', this._eventHandlers.handleMouse); + this._canvas.removeEventListener("mousedown", this._eventHandlers.focusCanvas); + this._canvas.removeEventListener("touchstart", this._eventHandlers.focusCanvas); + window.removeEventListener('resize', this._eventHandlers.windowResize); + this._keyboard.ungrab(); + this._gestures.detach(); + this._sock.close(); + try { + this._target.removeChild(this._screen); + } catch (e) { + if (e.name === 'NotFoundError') { + // Some cases where the initial connection fails + // can disconnect before the _screen is created + } else { + throw e; + } + } + clearTimeout(this._resizeTimeout); + clearTimeout(this._mouseMoveTimer); + Log.Debug("<< RFB.disconnect"); + } + + _focusCanvas(event) { + if (!this.focusOnClick) { + return; + } + + this.focus(); + } + + _setDesktopName(name) { + this._fbName = name; + this.dispatchEvent(new CustomEvent( + "desktopname", + { detail: { name: this._fbName } })); + } + + _windowResize(event) { + // If the window resized then our screen element might have + // as well. Update the viewport dimensions. + window.requestAnimationFrame(() => { + this._updateClip(); + this._updateScale(); + }); + + if (this._resizeSession) { + // Request changing the resolution of the remote display to + // the size of the local browser viewport. + + // In order to not send multiple requests before the browser-resize + // is finished we wait 0.5 seconds before sending the request. + clearTimeout(this._resizeTimeout); + this._resizeTimeout = setTimeout(this._requestRemoteResize.bind(this), 500); + } + } + + // Update state of clipping in Display object, and make sure the + // configured viewport matches the current screen size + _updateClip() { + const curClip = this._display.clipViewport; + let newClip = this._clipViewport; + + if (this._scaleViewport) { + // Disable viewport clipping if we are scaling + newClip = false; + } + + if (curClip !== newClip) { + this._display.clipViewport = newClip; + } + + if (newClip) { + // When clipping is enabled, the screen is limited to + // the size of the container. + const size = this._screenSize(); + this._display.viewportChangeSize(size.w, size.h); + this._fixScrollbars(); + } + } + + _updateScale() { + if (!this._scaleViewport) { + this._display.scale = 1.0; + } else { + const size = this._screenSize(); + this._display.autoscale(size.w, size.h); + } + this._fixScrollbars(); + } + + // Requests a change of remote desktop size. This message is an extension + // and may only be sent if we have received an ExtendedDesktopSize message + _requestRemoteResize() { + clearTimeout(this._resizeTimeout); + this._resizeTimeout = null; + + if (!this._resizeSession || this._viewOnly || + !this._supportsSetDesktopSize) { + return; + } + + const size = this._screenSize(); + RFB.messages.setDesktopSize(this._sock, + Math.floor(size.w), Math.floor(size.h), + this._screenID, this._screenFlags); + + Log.Debug('Requested new desktop size: ' + + size.w + 'x' + size.h); + } + + // Gets the the size of the available screen + _screenSize() { + let r = this._screen.getBoundingClientRect(); + return { w: r.width, h: r.height }; + } + + _fixScrollbars() { + // This is a hack because Chrome screws up the calculation + // for when scrollbars are needed. So to fix it we temporarily + // toggle them off and on. + const orig = this._screen.style.overflow; + this._screen.style.overflow = 'hidden'; + // Force Chrome to recalculate the layout by asking for + // an element's dimensions + this._screen.getBoundingClientRect(); + this._screen.style.overflow = orig; + } + + /* + * Connection states: + * connecting + * connected + * disconnecting + * disconnected - permanent state + */ + _updateConnectionState(state) { + const oldstate = this._rfbConnectionState; + + if (state === oldstate) { + Log.Debug("Already in state '" + state + "', ignoring"); + return; + } + + // The 'disconnected' state is permanent for each RFB object + if (oldstate === 'disconnected') { + Log.Error("Tried changing state of a disconnected RFB object"); + return; + } + + // Ensure proper transitions before doing anything + switch (state) { + case 'connected': + if (oldstate !== 'connecting') { + Log.Error("Bad transition to connected state, " + + "previous connection state: " + oldstate); + return; + } + break; + + case 'disconnected': + if (oldstate !== 'disconnecting') { + Log.Error("Bad transition to disconnected state, " + + "previous connection state: " + oldstate); + return; + } + break; + + case 'connecting': + if (oldstate !== '') { + Log.Error("Bad transition to connecting state, " + + "previous connection state: " + oldstate); + return; + } + break; + + case 'disconnecting': + if (oldstate !== 'connected' && oldstate !== 'connecting') { + Log.Error("Bad transition to disconnecting state, " + + "previous connection state: " + oldstate); + return; + } + break; + + default: + Log.Error("Unknown connection state: " + state); + return; + } + + // State change actions + + this._rfbConnectionState = state; + + Log.Debug("New state '" + state + "', was '" + oldstate + "'."); + + if (this._disconnTimer && state !== 'disconnecting') { + Log.Debug("Clearing disconnect timer"); + clearTimeout(this._disconnTimer); + this._disconnTimer = null; + + // make sure we don't get a double event + this._sock.off('close'); + } + + switch (state) { + case 'connecting': + this._connect(); + break; + + case 'connected': + this.dispatchEvent(new CustomEvent("connect", { detail: {} })); + break; + + case 'disconnecting': + this._disconnect(); + + this._disconnTimer = setTimeout(() => { + Log.Error("Disconnection timed out."); + this._updateConnectionState('disconnected'); + }, DISCONNECT_TIMEOUT * 1000); + break; + + case 'disconnected': + this.dispatchEvent(new CustomEvent( + "disconnect", { detail: + { clean: this._rfbCleanDisconnect } })); + break; + } + } + + /* Print errors and disconnect + * + * The parameter 'details' is used for information that + * should be logged but not sent to the user interface. + */ + _fail(details) { + switch (this._rfbConnectionState) { + case 'disconnecting': + Log.Error("Failed when disconnecting: " + details); + break; + case 'connected': + Log.Error("Failed while connected: " + details); + break; + case 'connecting': + Log.Error("Failed when connecting: " + details); + break; + default: + Log.Error("RFB failure: " + details); + break; + } + this._rfbCleanDisconnect = false; //This is sent to the UI + + // Transition to disconnected without waiting for socket to close + this._updateConnectionState('disconnecting'); + this._updateConnectionState('disconnected'); + + return false; + } + + _setCapability(cap, val) { + this._capabilities[cap] = val; + this.dispatchEvent(new CustomEvent("capabilities", + { detail: { capabilities: this._capabilities } })); + } + + _handleMessage() { + if (this._sock.rQlen === 0) { + Log.Warn("handleMessage called on an empty receive queue"); + return; + } + + switch (this._rfbConnectionState) { + case 'disconnected': + Log.Error("Got data while disconnected"); + break; + case 'connected': + while (true) { + if (this._flushing) { + break; + } + if (!this._normalMsg()) { + break; + } + if (this._sock.rQlen === 0) { + break; + } + } + break; + default: + this._initMsg(); + break; + } + } + + _handleKeyEvent(keysym, code, down) { + this.sendKey(keysym, code, down); + } + + _handleMouse(ev) { + /* + * We don't check connection status or viewOnly here as the + * mouse events might be used to control the viewport + */ + + if (ev.type === 'click') { + /* + * Note: This is only needed for the 'click' event as it fails + * to fire properly for the target element so we have + * to listen on the document element instead. + */ + if (ev.target !== this._canvas) { + return; + } + } + + // FIXME: if we're in view-only and not dragging, + // should we stop events? + ev.stopPropagation(); + ev.preventDefault(); + + if ((ev.type === 'click') || (ev.type === 'contextmenu')) { + return; + } + + let pos = clientToElement(ev.clientX, ev.clientY, + this._canvas); + + switch (ev.type) { + case 'mousedown': + setCapture(this._canvas); + this._handleMouseButton(pos.x, pos.y, + true, 1 << ev.button); + break; + case 'mouseup': + this._handleMouseButton(pos.x, pos.y, + false, 1 << ev.button); + break; + case 'mousemove': + this._handleMouseMove(pos.x, pos.y); + break; + } + } + + _handleMouseButton(x, y, down, bmask) { + if (this.dragViewport) { + if (down && !this._viewportDragging) { + this._viewportDragging = true; + this._viewportDragPos = {'x': x, 'y': y}; + this._viewportHasMoved = false; + + // Skip sending mouse events + return; + } else { + this._viewportDragging = false; + + // If we actually performed a drag then we are done + // here and should not send any mouse events + if (this._viewportHasMoved) { + return; + } + + // Otherwise we treat this as a mouse click event. + // Send the button down event here, as the button up + // event is sent at the end of this function. + this._sendMouse(x, y, bmask); + } + } + + // Flush waiting move event first + if (this._mouseMoveTimer !== null) { + clearTimeout(this._mouseMoveTimer); + this._mouseMoveTimer = null; + this._sendMouse(x, y, this._mouseButtonMask); + } + + if (down) { + this._mouseButtonMask |= bmask; + } else { + this._mouseButtonMask &= ~bmask; + } + + this._sendMouse(x, y, this._mouseButtonMask); + } + + _handleMouseMove(x, y) { + if (this._viewportDragging) { + const deltaX = this._viewportDragPos.x - x; + const deltaY = this._viewportDragPos.y - y; + + if (this._viewportHasMoved || (Math.abs(deltaX) > dragThreshold || + Math.abs(deltaY) > dragThreshold)) { + this._viewportHasMoved = true; + + this._viewportDragPos = {'x': x, 'y': y}; + this._display.viewportChangePos(deltaX, deltaY); + } + + // Skip sending mouse events + return; + } + + this._mousePos = { 'x': x, 'y': y }; + + // Limit many mouse move events to one every MOUSE_MOVE_DELAY ms + if (this._mouseMoveTimer == null) { + + const timeSinceLastMove = Date.now() - this._mouseLastMoveTime; + if (timeSinceLastMove > MOUSE_MOVE_DELAY) { + this._sendMouse(x, y, this._mouseButtonMask); + this._mouseLastMoveTime = Date.now(); + } else { + // Too soon since the latest move, wait the remaining time + this._mouseMoveTimer = setTimeout(() => { + this._handleDelayedMouseMove(); + }, MOUSE_MOVE_DELAY - timeSinceLastMove); + } + } + } + + _handleDelayedMouseMove() { + this._mouseMoveTimer = null; + this._sendMouse(this._mousePos.x, this._mousePos.y, + this._mouseButtonMask); + this._mouseLastMoveTime = Date.now(); + } + + _sendMouse(x, y, mask) { + if (this._rfbConnectionState !== 'connected') { return; } + if (this._viewOnly) { return; } // View only, skip mouse events + + RFB.messages.pointerEvent(this._sock, this._display.absX(x), + this._display.absY(y), mask); + } + + _handleWheel(ev) { + if (this._rfbConnectionState !== 'connected') { return; } + if (this._viewOnly) { return; } // View only, skip mouse events + + ev.stopPropagation(); + ev.preventDefault(); + + let pos = clientToElement(ev.clientX, ev.clientY, + this._canvas); + + let dX = ev.deltaX; + let dY = ev.deltaY; + + // Pixel units unless it's non-zero. + // Note that if deltamode is line or page won't matter since we aren't + // sending the mouse wheel delta to the server anyway. + // The difference between pixel and line can be important however since + // we have a threshold that can be smaller than the line height. + if (ev.deltaMode !== 0) { + dX *= WHEEL_LINE_HEIGHT; + dY *= WHEEL_LINE_HEIGHT; + } + + // Mouse wheel events are sent in steps over VNC. This means that the VNC + // protocol can't handle a wheel event with specific distance or speed. + // Therefor, if we get a lot of small mouse wheel events we combine them. + this._accumulatedWheelDeltaX += dX; + this._accumulatedWheelDeltaY += dY; + + // Generate a mouse wheel step event when the accumulated delta + // for one of the axes is large enough. + if (Math.abs(this._accumulatedWheelDeltaX) >= WHEEL_STEP) { + if (this._accumulatedWheelDeltaX < 0) { + this._handleMouseButton(pos.x, pos.y, true, 1 << 5); + this._handleMouseButton(pos.x, pos.y, false, 1 << 5); + } else if (this._accumulatedWheelDeltaX > 0) { + this._handleMouseButton(pos.x, pos.y, true, 1 << 6); + this._handleMouseButton(pos.x, pos.y, false, 1 << 6); + } + + this._accumulatedWheelDeltaX = 0; + } + if (Math.abs(this._accumulatedWheelDeltaY) >= WHEEL_STEP) { + if (this._accumulatedWheelDeltaY < 0) { + this._handleMouseButton(pos.x, pos.y, true, 1 << 3); + this._handleMouseButton(pos.x, pos.y, false, 1 << 3); + } else if (this._accumulatedWheelDeltaY > 0) { + this._handleMouseButton(pos.x, pos.y, true, 1 << 4); + this._handleMouseButton(pos.x, pos.y, false, 1 << 4); + } + + this._accumulatedWheelDeltaY = 0; + } + } + + _fakeMouseMove(ev, elementX, elementY) { + this._handleMouseMove(elementX, elementY); + this._cursor.move(ev.detail.clientX, ev.detail.clientY); + } + + _handleTapEvent(ev, bmask) { + let pos = clientToElement(ev.detail.clientX, ev.detail.clientY, + this._canvas); + + // If the user quickly taps multiple times we assume they meant to + // hit the same spot, so slightly adjust coordinates + + if ((this._gestureLastTapTime !== null) && + ((Date.now() - this._gestureLastTapTime) < DOUBLE_TAP_TIMEOUT) && + (this._gestureFirstDoubleTapEv.detail.type === ev.detail.type)) { + let dx = this._gestureFirstDoubleTapEv.detail.clientX - ev.detail.clientX; + let dy = this._gestureFirstDoubleTapEv.detail.clientY - ev.detail.clientY; + let distance = Math.hypot(dx, dy); + + if (distance < DOUBLE_TAP_THRESHOLD) { + pos = clientToElement(this._gestureFirstDoubleTapEv.detail.clientX, + this._gestureFirstDoubleTapEv.detail.clientY, + this._canvas); + } else { + this._gestureFirstDoubleTapEv = ev; + } + } else { + this._gestureFirstDoubleTapEv = ev; + } + this._gestureLastTapTime = Date.now(); + + this._fakeMouseMove(this._gestureFirstDoubleTapEv, pos.x, pos.y); + this._handleMouseButton(pos.x, pos.y, true, bmask); + this._handleMouseButton(pos.x, pos.y, false, bmask); + } + + _handleGesture(ev) { + let magnitude; + + let pos = clientToElement(ev.detail.clientX, ev.detail.clientY, + this._canvas); + switch (ev.type) { + case 'gesturestart': + switch (ev.detail.type) { + case 'onetap': + this._handleTapEvent(ev, 0x1); + break; + case 'twotap': + this._handleTapEvent(ev, 0x4); + break; + case 'threetap': + this._handleTapEvent(ev, 0x2); + break; + case 'drag': + this._fakeMouseMove(ev, pos.x, pos.y); + this._handleMouseButton(pos.x, pos.y, true, 0x1); + break; + case 'longpress': + this._fakeMouseMove(ev, pos.x, pos.y); + this._handleMouseButton(pos.x, pos.y, true, 0x4); + break; + + case 'twodrag': + this._gestureLastMagnitudeX = ev.detail.magnitudeX; + this._gestureLastMagnitudeY = ev.detail.magnitudeY; + this._fakeMouseMove(ev, pos.x, pos.y); + break; + case 'pinch': + this._gestureLastMagnitudeX = Math.hypot(ev.detail.magnitudeX, + ev.detail.magnitudeY); + this._fakeMouseMove(ev, pos.x, pos.y); + break; + } + break; + + case 'gesturemove': + switch (ev.detail.type) { + case 'onetap': + case 'twotap': + case 'threetap': + break; + case 'drag': + case 'longpress': + this._fakeMouseMove(ev, pos.x, pos.y); + break; + case 'twodrag': + // Always scroll in the same position. + // We don't know if the mouse was moved so we need to move it + // every update. + this._fakeMouseMove(ev, pos.x, pos.y); + while ((ev.detail.magnitudeY - this._gestureLastMagnitudeY) > GESTURE_SCRLSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x8); + this._handleMouseButton(pos.x, pos.y, false, 0x8); + this._gestureLastMagnitudeY += GESTURE_SCRLSENS; + } + while ((ev.detail.magnitudeY - this._gestureLastMagnitudeY) < -GESTURE_SCRLSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x10); + this._handleMouseButton(pos.x, pos.y, false, 0x10); + this._gestureLastMagnitudeY -= GESTURE_SCRLSENS; + } + while ((ev.detail.magnitudeX - this._gestureLastMagnitudeX) > GESTURE_SCRLSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x20); + this._handleMouseButton(pos.x, pos.y, false, 0x20); + this._gestureLastMagnitudeX += GESTURE_SCRLSENS; + } + while ((ev.detail.magnitudeX - this._gestureLastMagnitudeX) < -GESTURE_SCRLSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x40); + this._handleMouseButton(pos.x, pos.y, false, 0x40); + this._gestureLastMagnitudeX -= GESTURE_SCRLSENS; + } + break; + case 'pinch': + // Always scroll in the same position. + // We don't know if the mouse was moved so we need to move it + // every update. + this._fakeMouseMove(ev, pos.x, pos.y); + magnitude = Math.hypot(ev.detail.magnitudeX, ev.detail.magnitudeY); + if (Math.abs(magnitude - this._gestureLastMagnitudeX) > GESTURE_ZOOMSENS) { + this._handleKeyEvent(KeyTable.XK_Control_L, "ControlLeft", true); + while ((magnitude - this._gestureLastMagnitudeX) > GESTURE_ZOOMSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x8); + this._handleMouseButton(pos.x, pos.y, false, 0x8); + this._gestureLastMagnitudeX += GESTURE_ZOOMSENS; + } + while ((magnitude - this._gestureLastMagnitudeX) < -GESTURE_ZOOMSENS) { + this._handleMouseButton(pos.x, pos.y, true, 0x10); + this._handleMouseButton(pos.x, pos.y, false, 0x10); + this._gestureLastMagnitudeX -= GESTURE_ZOOMSENS; + } + } + this._handleKeyEvent(KeyTable.XK_Control_L, "ControlLeft", false); + break; + } + break; + + case 'gestureend': + switch (ev.detail.type) { + case 'onetap': + case 'twotap': + case 'threetap': + case 'pinch': + case 'twodrag': + break; + case 'drag': + this._fakeMouseMove(ev, pos.x, pos.y); + this._handleMouseButton(pos.x, pos.y, false, 0x1); + break; + case 'longpress': + this._fakeMouseMove(ev, pos.x, pos.y); + this._handleMouseButton(pos.x, pos.y, false, 0x4); + break; + } + break; + } + } + + // Message Handlers + + _negotiateProtocolVersion() { + if (this._sock.rQwait("version", 12)) { + return false; + } + + const sversion = this._sock.rQshiftStr(12).substr(4, 7); + Log.Info("Server ProtocolVersion: " + sversion); + let isRepeater = 0; + switch (sversion) { + case "000.000": // UltraVNC repeater + isRepeater = 1; + break; + case "003.003": + case "003.006": // UltraVNC + case "003.889": // Apple Remote Desktop + this._rfbVersion = 3.3; + break; + case "003.007": + this._rfbVersion = 3.7; + break; + case "003.008": + case "004.000": // Intel AMT KVM + case "004.001": // RealVNC 4.6 + case "005.000": // RealVNC 5.3 + this._rfbVersion = 3.8; + break; + default: + return this._fail("Invalid server version " + sversion); + } + + if (isRepeater) { + let repeaterID = "ID:" + this._repeaterID; + while (repeaterID.length < 250) { + repeaterID += "\0"; + } + this._sock.sendString(repeaterID); + return true; + } + + if (this._rfbVersion > this._rfbMaxVersion) { + this._rfbVersion = this._rfbMaxVersion; + } + + const cversion = "00" + parseInt(this._rfbVersion, 10) + + ".00" + ((this._rfbVersion * 10) % 10); + this._sock.sendString("RFB " + cversion + "\n"); + Log.Debug('Sent ProtocolVersion: ' + cversion); + + this._rfbInitState = 'Security'; + } + + _negotiateSecurity() { + // Polyfill since IE and PhantomJS doesn't have + // TypedArray.includes() + function includes(item, array) { + for (let i = 0; i < array.length; i++) { + if (array[i] === item) { + return true; + } + } + return false; + } + + if (this._rfbVersion >= 3.7) { + // Server sends supported list, client decides + const numTypes = this._sock.rQshift8(); + if (this._sock.rQwait("security type", numTypes, 1)) { return false; } + + if (numTypes === 0) { + this._rfbInitState = "SecurityReason"; + this._securityContext = "no security types"; + this._securityStatus = 1; + return this._initMsg(); + } + + const types = this._sock.rQshiftBytes(numTypes); + Log.Debug("Server security types: " + types); + + // Look for each auth in preferred order + if (includes(1, types)) { + this._rfbAuthScheme = 1; // None + } else if (includes(22, types)) { + this._rfbAuthScheme = 22; // XVP + } else if (includes(16, types)) { + this._rfbAuthScheme = 16; // Tight + } else if (includes(2, types)) { + this._rfbAuthScheme = 2; // VNC Auth + } else if (includes(19, types)) { + this._rfbAuthScheme = 19; // VeNCrypt Auth + } else { + return this._fail("Unsupported security types (types: " + types + ")"); + } + + this._sock.send([this._rfbAuthScheme]); + } else { + // Server decides + if (this._sock.rQwait("security scheme", 4)) { return false; } + this._rfbAuthScheme = this._sock.rQshift32(); + + if (this._rfbAuthScheme == 0) { + this._rfbInitState = "SecurityReason"; + this._securityContext = "authentication scheme"; + this._securityStatus = 1; + return this._initMsg(); + } + } + + this._rfbInitState = 'Authentication'; + Log.Debug('Authenticating using scheme: ' + this._rfbAuthScheme); + + return this._initMsg(); // jump to authentication + } + + _handleSecurityReason() { + if (this._sock.rQwait("reason length", 4)) { + return false; + } + const strlen = this._sock.rQshift32(); + let reason = ""; + + if (strlen > 0) { + if (this._sock.rQwait("reason", strlen, 4)) { return false; } + reason = this._sock.rQshiftStr(strlen); + } + + if (reason !== "") { + this.dispatchEvent(new CustomEvent( + "securityfailure", + { detail: { status: this._securityStatus, + reason: reason } })); + + return this._fail("Security negotiation failed on " + + this._securityContext + + " (reason: " + reason + ")"); + } else { + this.dispatchEvent(new CustomEvent( + "securityfailure", + { detail: { status: this._securityStatus } })); + + return this._fail("Security negotiation failed on " + + this._securityContext); + } + } + + // authentication + _negotiateXvpAuth() { + if (this._rfbCredentials.username === undefined || + this._rfbCredentials.password === undefined || + this._rfbCredentials.target === undefined) { + this.dispatchEvent(new CustomEvent( + "credentialsrequired", + { detail: { types: ["username", "password", "target"] } })); + return false; + } + + const xvpAuthStr = String.fromCharCode(this._rfbCredentials.username.length) + + String.fromCharCode(this._rfbCredentials.target.length) + + this._rfbCredentials.username + + this._rfbCredentials.target; + this._sock.sendString(xvpAuthStr); + this._rfbAuthScheme = 2; + return this._negotiateAuthentication(); + } + + // VeNCrypt authentication, currently only supports version 0.2 and only Plain subtype + _negotiateVeNCryptAuth() { + + // waiting for VeNCrypt version + if (this._rfbVeNCryptState == 0) { + if (this._sock.rQwait("vencrypt version", 2)) { return false; } + + const major = this._sock.rQshift8(); + const minor = this._sock.rQshift8(); + + if (!(major == 0 && minor == 2)) { + return this._fail("Unsupported VeNCrypt version " + major + "." + minor); + } + + this._sock.send([0, 2]); + this._rfbVeNCryptState = 1; + } + + // waiting for ACK + if (this._rfbVeNCryptState == 1) { + if (this._sock.rQwait("vencrypt ack", 1)) { return false; } + + const res = this._sock.rQshift8(); + + if (res != 0) { + return this._fail("VeNCrypt failure " + res); + } + + this._rfbVeNCryptState = 2; + } + // must fall through here (i.e. no "else if"), beacause we may have already received + // the subtypes length and won't be called again + + if (this._rfbVeNCryptState == 2) { // waiting for subtypes length + if (this._sock.rQwait("vencrypt subtypes length", 1)) { return false; } + + const subtypesLength = this._sock.rQshift8(); + if (subtypesLength < 1) { + return this._fail("VeNCrypt subtypes empty"); + } + + this._rfbVeNCryptSubtypesLength = subtypesLength; + this._rfbVeNCryptState = 3; + } + + // waiting for subtypes list + if (this._rfbVeNCryptState == 3) { + if (this._sock.rQwait("vencrypt subtypes", 4 * this._rfbVeNCryptSubtypesLength)) { return false; } + + const subtypes = []; + for (let i = 0; i < this._rfbVeNCryptSubtypesLength; i++) { + subtypes.push(this._sock.rQshift32()); + } + + // 256 = Plain subtype + if (subtypes.indexOf(256) != -1) { + // 0x100 = 256 + this._sock.send([0, 0, 1, 0]); + this._rfbVeNCryptState = 4; + } else { + return this._fail("VeNCrypt Plain subtype not offered by server"); + } + } + + // negotiated Plain subtype, server waits for password + if (this._rfbVeNCryptState == 4) { + if (!this._rfbCredentials.username || + !this._rfbCredentials.password) { + this.dispatchEvent(new CustomEvent( + "credentialsrequired", + { detail: { types: ["username", "password"] } })); + return false; + } + + const user = encodeUTF8(this._rfbCredentials.username); + const pass = encodeUTF8(this._rfbCredentials.password); + + // XXX we assume lengths are <= 255 (should not be an issue in the real world) + this._sock.send([0, 0, 0, user.length]); + this._sock.send([0, 0, 0, pass.length]); + this._sock.sendString(user); + this._sock.sendString(pass); + + this._rfbInitState = "SecurityResult"; + return true; + } + } + + _negotiateStdVNCAuth() { + if (this._sock.rQwait("auth challenge", 16)) { return false; } + + if (this._rfbCredentials.password === undefined) { + this.dispatchEvent(new CustomEvent( + "credentialsrequired", + { detail: { types: ["password"] } })); + return false; + } + + // TODO(directxman12): make genDES not require an Array + const challenge = Array.prototype.slice.call(this._sock.rQshiftBytes(16)); + const response = RFB.genDES(this._rfbCredentials.password, challenge); + this._sock.send(response); + this._rfbInitState = "SecurityResult"; + return true; + } + + _negotiateTightUnixAuth() { + if (this._rfbCredentials.username === undefined || + this._rfbCredentials.password === undefined) { + this.dispatchEvent(new CustomEvent( + "credentialsrequired", + { detail: { types: ["username", "password"] } })); + return false; + } + + this._sock.send([0, 0, 0, this._rfbCredentials.username.length]); + this._sock.send([0, 0, 0, this._rfbCredentials.password.length]); + this._sock.sendString(this._rfbCredentials.username); + this._sock.sendString(this._rfbCredentials.password); + this._rfbInitState = "SecurityResult"; + return true; + } + + _negotiateTightTunnels(numTunnels) { + const clientSupportedTunnelTypes = { + 0: { vendor: 'TGHT', signature: 'NOTUNNEL' } + }; + const serverSupportedTunnelTypes = {}; + // receive tunnel capabilities + for (let i = 0; i < numTunnels; i++) { + const capCode = this._sock.rQshift32(); + const capVendor = this._sock.rQshiftStr(4); + const capSignature = this._sock.rQshiftStr(8); + serverSupportedTunnelTypes[capCode] = { vendor: capVendor, signature: capSignature }; + } + + Log.Debug("Server Tight tunnel types: " + serverSupportedTunnelTypes); + + // Siemens touch panels have a VNC server that supports NOTUNNEL, + // but forgets to advertise it. Try to detect such servers by + // looking for their custom tunnel type. + if (serverSupportedTunnelTypes[1] && + (serverSupportedTunnelTypes[1].vendor === "SICR") && + (serverSupportedTunnelTypes[1].signature === "SCHANNEL")) { + Log.Debug("Detected Siemens server. Assuming NOTUNNEL support."); + serverSupportedTunnelTypes[0] = { vendor: 'TGHT', signature: 'NOTUNNEL' }; + } + + // choose the notunnel type + if (serverSupportedTunnelTypes[0]) { + if (serverSupportedTunnelTypes[0].vendor != clientSupportedTunnelTypes[0].vendor || + serverSupportedTunnelTypes[0].signature != clientSupportedTunnelTypes[0].signature) { + return this._fail("Client's tunnel type had the incorrect " + + "vendor or signature"); + } + Log.Debug("Selected tunnel type: " + clientSupportedTunnelTypes[0]); + this._sock.send([0, 0, 0, 0]); // use NOTUNNEL + return false; // wait until we receive the sub auth count to continue + } else { + return this._fail("Server wanted tunnels, but doesn't support " + + "the notunnel type"); + } + } + + _negotiateTightAuth() { + if (!this._rfbTightVNC) { // first pass, do the tunnel negotiation + if (this._sock.rQwait("num tunnels", 4)) { return false; } + const numTunnels = this._sock.rQshift32(); + if (numTunnels > 0 && this._sock.rQwait("tunnel capabilities", 16 * numTunnels, 4)) { return false; } + + this._rfbTightVNC = true; + + if (numTunnels > 0) { + this._negotiateTightTunnels(numTunnels); + return false; // wait until we receive the sub auth to continue + } + } + + // second pass, do the sub-auth negotiation + if (this._sock.rQwait("sub auth count", 4)) { return false; } + const subAuthCount = this._sock.rQshift32(); + if (subAuthCount === 0) { // empty sub-auth list received means 'no auth' subtype selected + this._rfbInitState = 'SecurityResult'; + return true; + } + + if (this._sock.rQwait("sub auth capabilities", 16 * subAuthCount, 4)) { return false; } + + const clientSupportedTypes = { + 'STDVNOAUTH__': 1, + 'STDVVNCAUTH_': 2, + 'TGHTULGNAUTH': 129 + }; + + const serverSupportedTypes = []; + + for (let i = 0; i < subAuthCount; i++) { + this._sock.rQshift32(); // capNum + const capabilities = this._sock.rQshiftStr(12); + serverSupportedTypes.push(capabilities); + } + + Log.Debug("Server Tight authentication types: " + serverSupportedTypes); + + for (let authType in clientSupportedTypes) { + if (serverSupportedTypes.indexOf(authType) != -1) { + this._sock.send([0, 0, 0, clientSupportedTypes[authType]]); + Log.Debug("Selected authentication type: " + authType); + + switch (authType) { + case 'STDVNOAUTH__': // no auth + this._rfbInitState = 'SecurityResult'; + return true; + case 'STDVVNCAUTH_': // VNC auth + this._rfbAuthScheme = 2; + return this._initMsg(); + case 'TGHTULGNAUTH': // UNIX auth + this._rfbAuthScheme = 129; + return this._initMsg(); + default: + return this._fail("Unsupported tiny auth scheme " + + "(scheme: " + authType + ")"); + } + } + } + + return this._fail("No supported sub-auth types!"); + } + + _negotiateAuthentication() { + switch (this._rfbAuthScheme) { + case 1: // no auth + if (this._rfbVersion >= 3.8) { + this._rfbInitState = 'SecurityResult'; + return true; + } + this._rfbInitState = 'ClientInitialisation'; + return this._initMsg(); + + case 22: // XVP auth + return this._negotiateXvpAuth(); + + case 2: // VNC authentication + return this._negotiateStdVNCAuth(); + + case 16: // TightVNC Security Type + return this._negotiateTightAuth(); + + case 19: // VeNCrypt Security Type + return this._negotiateVeNCryptAuth(); + + case 129: // TightVNC UNIX Security Type + return this._negotiateTightUnixAuth(); + + default: + return this._fail("Unsupported auth scheme (scheme: " + + this._rfbAuthScheme + ")"); + } + } + + _handleSecurityResult() { + if (this._sock.rQwait('VNC auth response ', 4)) { return false; } + + const status = this._sock.rQshift32(); + + if (status === 0) { // OK + this._rfbInitState = 'ClientInitialisation'; + Log.Debug('Authentication OK'); + return this._initMsg(); + } else { + if (this._rfbVersion >= 3.8) { + this._rfbInitState = "SecurityReason"; + this._securityContext = "security result"; + this._securityStatus = status; + return this._initMsg(); + } else { + this.dispatchEvent(new CustomEvent( + "securityfailure", + { detail: { status: status } })); + + return this._fail("Security handshake failed"); + } + } + } + + _negotiateServerInit() { + if (this._sock.rQwait("server initialization", 24)) { return false; } + + /* Screen size */ + const width = this._sock.rQshift16(); + const height = this._sock.rQshift16(); + + /* PIXEL_FORMAT */ + const bpp = this._sock.rQshift8(); + const depth = this._sock.rQshift8(); + const bigEndian = this._sock.rQshift8(); + const trueColor = this._sock.rQshift8(); + + const redMax = this._sock.rQshift16(); + const greenMax = this._sock.rQshift16(); + const blueMax = this._sock.rQshift16(); + const redShift = this._sock.rQshift8(); + const greenShift = this._sock.rQshift8(); + const blueShift = this._sock.rQshift8(); + this._sock.rQskipBytes(3); // padding + + // NB(directxman12): we don't want to call any callbacks or print messages until + // *after* we're past the point where we could backtrack + + /* Connection name/title */ + const nameLength = this._sock.rQshift32(); + if (this._sock.rQwait('server init name', nameLength, 24)) { return false; } + let name = this._sock.rQshiftStr(nameLength); + name = decodeUTF8(name, true); + + if (this._rfbTightVNC) { + if (this._sock.rQwait('TightVNC extended server init header', 8, 24 + nameLength)) { return false; } + // In TightVNC mode, ServerInit message is extended + const numServerMessages = this._sock.rQshift16(); + const numClientMessages = this._sock.rQshift16(); + const numEncodings = this._sock.rQshift16(); + this._sock.rQskipBytes(2); // padding + + const totalMessagesLength = (numServerMessages + numClientMessages + numEncodings) * 16; + if (this._sock.rQwait('TightVNC extended server init header', totalMessagesLength, 32 + nameLength)) { return false; } + + // we don't actually do anything with the capability information that TIGHT sends, + // so we just skip the all of this. + + // TIGHT server message capabilities + this._sock.rQskipBytes(16 * numServerMessages); + + // TIGHT client message capabilities + this._sock.rQskipBytes(16 * numClientMessages); + + // TIGHT encoding capabilities + this._sock.rQskipBytes(16 * numEncodings); + } + + // NB(directxman12): these are down here so that we don't run them multiple times + // if we backtrack + Log.Info("Screen: " + width + "x" + height + + ", bpp: " + bpp + ", depth: " + depth + + ", bigEndian: " + bigEndian + + ", trueColor: " + trueColor + + ", redMax: " + redMax + + ", greenMax: " + greenMax + + ", blueMax: " + blueMax + + ", redShift: " + redShift + + ", greenShift: " + greenShift + + ", blueShift: " + blueShift); + + // we're past the point where we could backtrack, so it's safe to call this + this._setDesktopName(name); + this._resize(width, height); + + if (!this._viewOnly) { this._keyboard.grab(); } + + this._fbDepth = 24; + + if (this._fbName === "Intel(r) AMT KVM") { + Log.Warn("Intel AMT KVM only supports 8/16 bit depths. Using low color mode."); + this._fbDepth = 8; + } + + RFB.messages.pixelFormat(this._sock, this._fbDepth, true); + this._sendEncodings(); + RFB.messages.fbUpdateRequest(this._sock, false, 0, 0, this._fbWidth, this._fbHeight); + + this._updateConnectionState('connected'); + return true; + } + + _sendEncodings() { + const encs = []; + + // In preference order + encs.push(encodings.encodingCopyRect); + // Only supported with full depth support + if (this._fbDepth == 24) { + encs.push(encodings.encodingTight); + encs.push(encodings.encodingTightPNG); + encs.push(encodings.encodingHextile); + encs.push(encodings.encodingRRE); + } + encs.push(encodings.encodingRaw); + + // Psuedo-encoding settings + encs.push(encodings.pseudoEncodingQualityLevel0 + this._qualityLevel); + encs.push(encodings.pseudoEncodingCompressLevel0 + this._compressionLevel); + + encs.push(encodings.pseudoEncodingDesktopSize); + encs.push(encodings.pseudoEncodingLastRect); + encs.push(encodings.pseudoEncodingQEMUExtendedKeyEvent); + encs.push(encodings.pseudoEncodingExtendedDesktopSize); + encs.push(encodings.pseudoEncodingXvp); + encs.push(encodings.pseudoEncodingFence); + encs.push(encodings.pseudoEncodingContinuousUpdates); + encs.push(encodings.pseudoEncodingDesktopName); + encs.push(encodings.pseudoEncodingExtendedClipboard); + + if (this._fbDepth == 24) { + encs.push(encodings.pseudoEncodingVMwareCursor); + encs.push(encodings.pseudoEncodingCursor); + } + + RFB.messages.clientEncodings(this._sock, encs); + } + + /* RFB protocol initialization states: + * ProtocolVersion + * Security + * Authentication + * SecurityResult + * ClientInitialization - not triggered by server message + * ServerInitialization + */ + _initMsg() { + switch (this._rfbInitState) { + case 'ProtocolVersion': + return this._negotiateProtocolVersion(); + + case 'Security': + return this._negotiateSecurity(); + + case 'Authentication': + return this._negotiateAuthentication(); + + case 'SecurityResult': + return this._handleSecurityResult(); + + case 'SecurityReason': + return this._handleSecurityReason(); + + case 'ClientInitialisation': + this._sock.send([this._shared ? 1 : 0]); // ClientInitialisation + this._rfbInitState = 'ServerInitialisation'; + return true; + + case 'ServerInitialisation': + return this._negotiateServerInit(); + + default: + return this._fail("Unknown init state (state: " + + this._rfbInitState + ")"); + } + } + + _handleSetColourMapMsg() { + Log.Debug("SetColorMapEntries"); + + return this._fail("Unexpected SetColorMapEntries message"); + } + + _handleServerCutText() { + Log.Debug("ServerCutText"); + + if (this._sock.rQwait("ServerCutText header", 7, 1)) { return false; } + + this._sock.rQskipBytes(3); // Padding + + let length = this._sock.rQshift32(); + length = toSigned32bit(length); + + if (this._sock.rQwait("ServerCutText content", Math.abs(length), 8)) { return false; } + + if (length >= 0) { + //Standard msg + const text = this._sock.rQshiftStr(length); + if (this._viewOnly) { + return true; + } + + this.dispatchEvent(new CustomEvent( + "clipboard", + { detail: { text: text } })); + + } else { + //Extended msg. + length = Math.abs(length); + const flags = this._sock.rQshift32(); + let formats = flags & 0x0000FFFF; + let actions = flags & 0xFF000000; + + let isCaps = (!!(actions & extendedClipboardActionCaps)); + if (isCaps) { + this._clipboardServerCapabilitiesFormats = {}; + this._clipboardServerCapabilitiesActions = {}; + + // Update our server capabilities for Formats + for (let i = 0; i <= 15; i++) { + let index = 1 << i; + + // Check if format flag is set. + if ((formats & index)) { + this._clipboardServerCapabilitiesFormats[index] = true; + // We don't send unsolicited clipboard, so we + // ignore the size + this._sock.rQshift32(); + } + } + + // Update our server capabilities for Actions + for (let i = 24; i <= 31; i++) { + let index = 1 << i; + this._clipboardServerCapabilitiesActions[index] = !!(actions & index); + } + + /* Caps handling done, send caps with the clients + capabilities set as a response */ + let clientActions = [ + extendedClipboardActionCaps, + extendedClipboardActionRequest, + extendedClipboardActionPeek, + extendedClipboardActionNotify, + extendedClipboardActionProvide + ]; + RFB.messages.extendedClipboardCaps(this._sock, clientActions, {extendedClipboardFormatText: 0}); + + } else if (actions === extendedClipboardActionRequest) { + if (this._viewOnly) { + return true; + } + + // Check if server has told us it can handle Provide and there is clipboard data to send. + if (this._clipboardText != null && + this._clipboardServerCapabilitiesActions[extendedClipboardActionProvide]) { + + if (formats & extendedClipboardFormatText) { + RFB.messages.extendedClipboardProvide(this._sock, [extendedClipboardFormatText], [this._clipboardText]); + } + } + + } else if (actions === extendedClipboardActionPeek) { + if (this._viewOnly) { + return true; + } + + if (this._clipboardServerCapabilitiesActions[extendedClipboardActionNotify]) { + + if (this._clipboardText != null) { + RFB.messages.extendedClipboardNotify(this._sock, [extendedClipboardFormatText]); + } else { + RFB.messages.extendedClipboardNotify(this._sock, []); + } + } + + } else if (actions === extendedClipboardActionNotify) { + if (this._viewOnly) { + return true; + } + + if (this._clipboardServerCapabilitiesActions[extendedClipboardActionRequest]) { + + if (formats & extendedClipboardFormatText) { + RFB.messages.extendedClipboardRequest(this._sock, [extendedClipboardFormatText]); + } + } + + } else if (actions === extendedClipboardActionProvide) { + if (this._viewOnly) { + return true; + } + + if (!(formats & extendedClipboardFormatText)) { + return true; + } + // Ignore what we had in our clipboard client side. + this._clipboardText = null; + + // FIXME: Should probably verify that this data was actually requested + let zlibStream = this._sock.rQshiftBytes(length - 4); + let streamInflator = new Inflator(); + let textData = null; + + streamInflator.setInput(zlibStream); + for (let i = 0; i <= 15; i++) { + let format = 1 << i; + + if (formats & format) { + + let size = 0x00; + let sizeArray = streamInflator.inflate(4); + + size |= (sizeArray[0] << 24); + size |= (sizeArray[1] << 16); + size |= (sizeArray[2] << 8); + size |= (sizeArray[3]); + let chunk = streamInflator.inflate(size); + + if (format === extendedClipboardFormatText) { + textData = chunk; + } + } + } + streamInflator.setInput(null); + + if (textData !== null) { + let tmpText = ""; + for (let i = 0; i < textData.length; i++) { + tmpText += String.fromCharCode(textData[i]); + } + textData = tmpText; + + textData = decodeUTF8(textData); + if ((textData.length > 0) && "\0" === textData.charAt(textData.length - 1)) { + textData = textData.slice(0, -1); + } + + textData = textData.replace("\r\n", "\n"); + + this.dispatchEvent(new CustomEvent( + "clipboard", + { detail: { text: textData } })); + } + } else { + return this._fail("Unexpected action in extended clipboard message: " + actions); + } + } + return true; + } + + _handleServerFenceMsg() { + if (this._sock.rQwait("ServerFence header", 8, 1)) { return false; } + this._sock.rQskipBytes(3); // Padding + let flags = this._sock.rQshift32(); + let length = this._sock.rQshift8(); + + if (this._sock.rQwait("ServerFence payload", length, 9)) { return false; } + + if (length > 64) { + Log.Warn("Bad payload length (" + length + ") in fence response"); + length = 64; + } + + const payload = this._sock.rQshiftStr(length); + + this._supportsFence = true; + + /* + * Fence flags + * + * (1<<0) - BlockBefore + * (1<<1) - BlockAfter + * (1<<2) - SyncNext + * (1<<31) - Request + */ + + if (!(flags & (1<<31))) { + return this._fail("Unexpected fence response"); + } + + // Filter out unsupported flags + // FIXME: support syncNext + flags &= (1<<0) | (1<<1); + + // BlockBefore and BlockAfter are automatically handled by + // the fact that we process each incoming message + // synchronuosly. + RFB.messages.clientFence(this._sock, flags, payload); + + return true; + } + + _handleXvpMsg() { + if (this._sock.rQwait("XVP version and message", 3, 1)) { return false; } + this._sock.rQskipBytes(1); // Padding + const xvpVer = this._sock.rQshift8(); + const xvpMsg = this._sock.rQshift8(); + + switch (xvpMsg) { + case 0: // XVP_FAIL + Log.Error("XVP Operation Failed"); + break; + case 1: // XVP_INIT + this._rfbXvpVer = xvpVer; + Log.Info("XVP extensions enabled (version " + this._rfbXvpVer + ")"); + this._setCapability("power", true); + break; + default: + this._fail("Illegal server XVP message (msg: " + xvpMsg + ")"); + break; + } + + return true; + } + + _normalMsg() { + let msgType; + if (this._FBU.rects > 0) { + msgType = 0; + } else { + msgType = this._sock.rQshift8(); + } + + let first, ret; + switch (msgType) { + case 0: // FramebufferUpdate + ret = this._framebufferUpdate(); + if (ret && !this._enabledContinuousUpdates) { + RFB.messages.fbUpdateRequest(this._sock, true, 0, 0, + this._fbWidth, this._fbHeight); + } + return ret; + + case 1: // SetColorMapEntries + return this._handleSetColourMapMsg(); + + case 2: // Bell + Log.Debug("Bell"); + this.dispatchEvent(new CustomEvent( + "bell", + { detail: {} })); + return true; + + case 3: // ServerCutText + return this._handleServerCutText(); + + case 150: // EndOfContinuousUpdates + first = !this._supportsContinuousUpdates; + this._supportsContinuousUpdates = true; + this._enabledContinuousUpdates = false; + if (first) { + this._enabledContinuousUpdates = true; + this._updateContinuousUpdates(); + Log.Info("Enabling continuous updates."); + } else { + // FIXME: We need to send a framebufferupdaterequest here + // if we add support for turning off continuous updates + } + return true; + + case 248: // ServerFence + return this._handleServerFenceMsg(); + + case 250: // XVP + return this._handleXvpMsg(); + + default: + this._fail("Unexpected server message (type " + msgType + ")"); + Log.Debug("sock.rQslice(0, 30): " + this._sock.rQslice(0, 30)); + return true; + } + } + + _onFlush() { + this._flushing = false; + // Resume processing + if (this._sock.rQlen > 0) { + this._handleMessage(); + } + } + + _framebufferUpdate() { + if (this._FBU.rects === 0) { + if (this._sock.rQwait("FBU header", 3, 1)) { return false; } + this._sock.rQskipBytes(1); // Padding + this._FBU.rects = this._sock.rQshift16(); + + // Make sure the previous frame is fully rendered first + // to avoid building up an excessive queue + if (this._display.pending()) { + this._flushing = true; + this._display.flush(); + return false; + } + } + + while (this._FBU.rects > 0) { + if (this._FBU.encoding === null) { + if (this._sock.rQwait("rect header", 12)) { return false; } + /* New FramebufferUpdate */ + + const hdr = this._sock.rQshiftBytes(12); + this._FBU.x = (hdr[0] << 8) + hdr[1]; + this._FBU.y = (hdr[2] << 8) + hdr[3]; + this._FBU.width = (hdr[4] << 8) + hdr[5]; + this._FBU.height = (hdr[6] << 8) + hdr[7]; + this._FBU.encoding = parseInt((hdr[8] << 24) + (hdr[9] << 16) + + (hdr[10] << 8) + hdr[11], 10); + } + + if (!this._handleRect()) { + return false; + } + + this._FBU.rects--; + this._FBU.encoding = null; + } + + this._display.flip(); + + return true; // We finished this FBU + } + + _handleRect() { + switch (this._FBU.encoding) { + case encodings.pseudoEncodingLastRect: + this._FBU.rects = 1; // Will be decreased when we return + return true; + + case encodings.pseudoEncodingVMwareCursor: + return this._handleVMwareCursor(); + + case encodings.pseudoEncodingCursor: + return this._handleCursor(); + + case encodings.pseudoEncodingQEMUExtendedKeyEvent: + // Old Safari doesn't support creating keyboard events + try { + const keyboardEvent = document.createEvent("keyboardEvent"); + if (keyboardEvent.code !== undefined) { + this._qemuExtKeyEventSupported = true; + } + } catch (err) { + // Do nothing + } + return true; + + case encodings.pseudoEncodingDesktopName: + return this._handleDesktopName(); + + case encodings.pseudoEncodingDesktopSize: + this._resize(this._FBU.width, this._FBU.height); + return true; + + case encodings.pseudoEncodingExtendedDesktopSize: + return this._handleExtendedDesktopSize(); + + default: + return this._handleDataRect(); + } + } + + _handleVMwareCursor() { + const hotx = this._FBU.x; // hotspot-x + const hoty = this._FBU.y; // hotspot-y + const w = this._FBU.width; + const h = this._FBU.height; + if (this._sock.rQwait("VMware cursor encoding", 1)) { + return false; + } + + const cursorType = this._sock.rQshift8(); + + this._sock.rQshift8(); //Padding + + let rgba; + const bytesPerPixel = 4; + + //Classic cursor + if (cursorType == 0) { + //Used to filter away unimportant bits. + //OR is used for correct conversion in js. + const PIXEL_MASK = 0xffffff00 | 0; + rgba = new Array(w * h * bytesPerPixel); + + if (this._sock.rQwait("VMware cursor classic encoding", + (w * h * bytesPerPixel) * 2, 2)) { + return false; + } + + let andMask = new Array(w * h); + for (let pixel = 0; pixel < (w * h); pixel++) { + andMask[pixel] = this._sock.rQshift32(); + } + + let xorMask = new Array(w * h); + for (let pixel = 0; pixel < (w * h); pixel++) { + xorMask[pixel] = this._sock.rQshift32(); + } + + for (let pixel = 0; pixel < (w * h); pixel++) { + if (andMask[pixel] == 0) { + //Fully opaque pixel + let bgr = xorMask[pixel]; + let r = bgr >> 8 & 0xff; + let g = bgr >> 16 & 0xff; + let b = bgr >> 24 & 0xff; + + rgba[(pixel * bytesPerPixel) ] = r; //r + rgba[(pixel * bytesPerPixel) + 1 ] = g; //g + rgba[(pixel * bytesPerPixel) + 2 ] = b; //b + rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; //a + + } else if ((andMask[pixel] & PIXEL_MASK) == + PIXEL_MASK) { + //Only screen value matters, no mouse colouring + if (xorMask[pixel] == 0) { + //Transparent pixel + rgba[(pixel * bytesPerPixel) ] = 0x00; + rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 3 ] = 0x00; + + } else if ((xorMask[pixel] & PIXEL_MASK) == + PIXEL_MASK) { + //Inverted pixel, not supported in browsers. + //Fully opaque instead. + rgba[(pixel * bytesPerPixel) ] = 0x00; + rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; + + } else { + //Unhandled xorMask + rgba[(pixel * bytesPerPixel) ] = 0x00; + rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; + } + + } else { + //Unhandled andMask + rgba[(pixel * bytesPerPixel) ] = 0x00; + rgba[(pixel * bytesPerPixel) + 1 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 2 ] = 0x00; + rgba[(pixel * bytesPerPixel) + 3 ] = 0xff; + } + } + + //Alpha cursor. + } else if (cursorType == 1) { + if (this._sock.rQwait("VMware cursor alpha encoding", + (w * h * 4), 2)) { + return false; + } + + rgba = new Array(w * h * bytesPerPixel); + + for (let pixel = 0; pixel < (w * h); pixel++) { + let data = this._sock.rQshift32(); + + rgba[(pixel * 4) ] = data >> 24 & 0xff; //r + rgba[(pixel * 4) + 1 ] = data >> 16 & 0xff; //g + rgba[(pixel * 4) + 2 ] = data >> 8 & 0xff; //b + rgba[(pixel * 4) + 3 ] = data & 0xff; //a + } + + } else { + Log.Warn("The given cursor type is not supported: " + + cursorType + " given."); + return false; + } + + this._updateCursor(rgba, hotx, hoty, w, h); + + return true; + } + + _handleCursor() { + const hotx = this._FBU.x; // hotspot-x + const hoty = this._FBU.y; // hotspot-y + const w = this._FBU.width; + const h = this._FBU.height; + + const pixelslength = w * h * 4; + const masklength = Math.ceil(w / 8) * h; + + let bytes = pixelslength + masklength; + if (this._sock.rQwait("cursor encoding", bytes)) { + return false; + } + + // Decode from BGRX pixels + bit mask to RGBA + const pixels = this._sock.rQshiftBytes(pixelslength); + const mask = this._sock.rQshiftBytes(masklength); + let rgba = new Uint8Array(w * h * 4); + + let pixIdx = 0; + for (let y = 0; y < h; y++) { + for (let x = 0; x < w; x++) { + let maskIdx = y * Math.ceil(w / 8) + Math.floor(x / 8); + let alpha = (mask[maskIdx] << (x % 8)) & 0x80 ? 255 : 0; + rgba[pixIdx ] = pixels[pixIdx + 2]; + rgba[pixIdx + 1] = pixels[pixIdx + 1]; + rgba[pixIdx + 2] = pixels[pixIdx]; + rgba[pixIdx + 3] = alpha; + pixIdx += 4; + } + } + + this._updateCursor(rgba, hotx, hoty, w, h); + + return true; + } + + _handleDesktopName() { + if (this._sock.rQwait("DesktopName", 4)) { + return false; + } + + let length = this._sock.rQshift32(); + + if (this._sock.rQwait("DesktopName", length, 4)) { + return false; + } + + let name = this._sock.rQshiftStr(length); + name = decodeUTF8(name, true); + + this._setDesktopName(name); + + return true; + } + + _handleExtendedDesktopSize() { + if (this._sock.rQwait("ExtendedDesktopSize", 4)) { + return false; + } + + const numberOfScreens = this._sock.rQpeek8(); + + let bytes = 4 + (numberOfScreens * 16); + if (this._sock.rQwait("ExtendedDesktopSize", bytes)) { + return false; + } + + const firstUpdate = !this._supportsSetDesktopSize; + this._supportsSetDesktopSize = true; + + // Normally we only apply the current resize mode after a + // window resize event. However there is no such trigger on the + // initial connect. And we don't know if the server supports + // resizing until we've gotten here. + if (firstUpdate) { + this._requestRemoteResize(); + } + + this._sock.rQskipBytes(1); // number-of-screens + this._sock.rQskipBytes(3); // padding + + for (let i = 0; i < numberOfScreens; i += 1) { + // Save the id and flags of the first screen + if (i === 0) { + this._screenID = this._sock.rQshiftBytes(4); // id + this._sock.rQskipBytes(2); // x-position + this._sock.rQskipBytes(2); // y-position + this._sock.rQskipBytes(2); // width + this._sock.rQskipBytes(2); // height + this._screenFlags = this._sock.rQshiftBytes(4); // flags + } else { + this._sock.rQskipBytes(16); + } + } + + /* + * The x-position indicates the reason for the change: + * + * 0 - server resized on its own + * 1 - this client requested the resize + * 2 - another client requested the resize + */ + + // We need to handle errors when we requested the resize. + if (this._FBU.x === 1 && this._FBU.y !== 0) { + let msg = ""; + // The y-position indicates the status code from the server + switch (this._FBU.y) { + case 1: + msg = "Resize is administratively prohibited"; + break; + case 2: + msg = "Out of resources"; + break; + case 3: + msg = "Invalid screen layout"; + break; + default: + msg = "Unknown reason"; + break; + } + Log.Warn("Server did not accept the resize request: " + + msg); + } else { + this._resize(this._FBU.width, this._FBU.height); + } + + return true; + } + + _handleDataRect() { + let decoder = this._decoders[this._FBU.encoding]; + if (!decoder) { + this._fail("Unsupported encoding (encoding: " + + this._FBU.encoding + ")"); + return false; + } + + try { + return decoder.decodeRect(this._FBU.x, this._FBU.y, + this._FBU.width, this._FBU.height, + this._sock, this._display, + this._fbDepth); + } catch (err) { + this._fail("Error decoding rect: " + err); + return false; + } + } + + _updateContinuousUpdates() { + if (!this._enabledContinuousUpdates) { return; } + + RFB.messages.enableContinuousUpdates(this._sock, true, 0, 0, + this._fbWidth, this._fbHeight); + } + + _resize(width, height) { + this._fbWidth = width; + this._fbHeight = height; + + this._display.resize(this._fbWidth, this._fbHeight); + + // Adjust the visible viewport based on the new dimensions + this._updateClip(); + this._updateScale(); + + this._updateContinuousUpdates(); + } + + _xvpOp(ver, op) { + if (this._rfbXvpVer < ver) { return; } + Log.Info("Sending XVP operation " + op + " (version " + ver + ")"); + RFB.messages.xvpOp(this._sock, ver, op); + } + + _updateCursor(rgba, hotx, hoty, w, h) { + this._cursorImage = { + rgbaPixels: rgba, + hotx: hotx, hoty: hoty, w: w, h: h, + }; + this._refreshCursor(); + } + + _shouldShowDotCursor() { + // Called when this._cursorImage is updated + if (!this._showDotCursor) { + // User does not want to see the dot, so... + return false; + } + + // The dot should not be shown if the cursor is already visible, + // i.e. contains at least one not-fully-transparent pixel. + // So iterate through all alpha bytes in rgba and stop at the + // first non-zero. + for (let i = 3; i < this._cursorImage.rgbaPixels.length; i += 4) { + if (this._cursorImage.rgbaPixels[i]) { + return false; + } + } + + // At this point, we know that the cursor is fully transparent, and + // the user wants to see the dot instead of this. + return true; + } + + _refreshCursor() { + if (this._rfbConnectionState !== "connecting" && + this._rfbConnectionState !== "connected") { + return; + } + const image = this._shouldShowDotCursor() ? RFB.cursors.dot : this._cursorImage; + this._cursor.change(image.rgbaPixels, + image.hotx, image.hoty, + image.w, image.h + ); + } + + static genDES(password, challenge) { + const passwordChars = password.split('').map(c => c.charCodeAt(0)); + return (new DES(passwordChars)).encrypt(challenge); + } +} + +// Class Methods +RFB.messages = { + keyEvent(sock, keysym, down) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 4; // msg-type + buff[offset + 1] = down; + + buff[offset + 2] = 0; + buff[offset + 3] = 0; + + buff[offset + 4] = (keysym >> 24); + buff[offset + 5] = (keysym >> 16); + buff[offset + 6] = (keysym >> 8); + buff[offset + 7] = keysym; + + sock._sQlen += 8; + sock.flush(); + }, + + QEMUExtendedKeyEvent(sock, keysym, down, keycode) { + function getRFBkeycode(xtScanCode) { + const upperByte = (keycode >> 8); + const lowerByte = (keycode & 0x00ff); + if (upperByte === 0xe0 && lowerByte < 0x7f) { + return lowerByte | 0x80; + } + return xtScanCode; + } + + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 255; // msg-type + buff[offset + 1] = 0; // sub msg-type + + buff[offset + 2] = (down >> 8); + buff[offset + 3] = down; + + buff[offset + 4] = (keysym >> 24); + buff[offset + 5] = (keysym >> 16); + buff[offset + 6] = (keysym >> 8); + buff[offset + 7] = keysym; + + const RFBkeycode = getRFBkeycode(keycode); + + buff[offset + 8] = (RFBkeycode >> 24); + buff[offset + 9] = (RFBkeycode >> 16); + buff[offset + 10] = (RFBkeycode >> 8); + buff[offset + 11] = RFBkeycode; + + sock._sQlen += 12; + sock.flush(); + }, + + pointerEvent(sock, x, y, mask) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 5; // msg-type + + buff[offset + 1] = mask; + + buff[offset + 2] = x >> 8; + buff[offset + 3] = x; + + buff[offset + 4] = y >> 8; + buff[offset + 5] = y; + + sock._sQlen += 6; + sock.flush(); + }, + + // Used to build Notify and Request data. + _buildExtendedClipboardFlags(actions, formats) { + let data = new Uint8Array(4); + let formatFlag = 0x00000000; + let actionFlag = 0x00000000; + + for (let i = 0; i < actions.length; i++) { + actionFlag |= actions[i]; + } + + for (let i = 0; i < formats.length; i++) { + formatFlag |= formats[i]; + } + + data[0] = actionFlag >> 24; // Actions + data[1] = 0x00; // Reserved + data[2] = 0x00; // Reserved + data[3] = formatFlag; // Formats + + return data; + }, + + extendedClipboardProvide(sock, formats, inData) { + // Deflate incomming data and their sizes + let deflator = new Deflator(); + let dataToDeflate = []; + + for (let i = 0; i < formats.length; i++) { + // We only support the format Text at this time + if (formats[i] != extendedClipboardFormatText) { + throw new Error("Unsupported extended clipboard format for Provide message."); + } + + // Change lone \r or \n into \r\n as defined in rfbproto + inData[i] = inData[i].replace(/\r\n|\r|\n/gm, "\r\n"); + + // Check if it already has \0 + let text = encodeUTF8(inData[i] + "\0"); + + dataToDeflate.push( (text.length >> 24) & 0xFF, + (text.length >> 16) & 0xFF, + (text.length >> 8) & 0xFF, + (text.length & 0xFF)); + + for (let j = 0; j < text.length; j++) { + dataToDeflate.push(text.charCodeAt(j)); + } + } + + let deflatedData = deflator.deflate(new Uint8Array(dataToDeflate)); + + // Build data to send + let data = new Uint8Array(4 + deflatedData.length); + data.set(RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionProvide], + formats)); + data.set(deflatedData, 4); + + RFB.messages.clientCutText(sock, data, true); + }, + + extendedClipboardNotify(sock, formats) { + let flags = RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionNotify], + formats); + RFB.messages.clientCutText(sock, flags, true); + }, + + extendedClipboardRequest(sock, formats) { + let flags = RFB.messages._buildExtendedClipboardFlags([extendedClipboardActionRequest], + formats); + RFB.messages.clientCutText(sock, flags, true); + }, + + extendedClipboardCaps(sock, actions, formats) { + let formatKeys = Object.keys(formats); + let data = new Uint8Array(4 + (4 * formatKeys.length)); + + formatKeys.map(x => parseInt(x)); + formatKeys.sort((a, b) => a - b); + + data.set(RFB.messages._buildExtendedClipboardFlags(actions, [])); + + let loopOffset = 4; + for (let i = 0; i < formatKeys.length; i++) { + data[loopOffset] = formats[formatKeys[i]] >> 24; + data[loopOffset + 1] = formats[formatKeys[i]] >> 16; + data[loopOffset + 2] = formats[formatKeys[i]] >> 8; + data[loopOffset + 3] = formats[formatKeys[i]] >> 0; + + loopOffset += 4; + data[3] |= (1 << formatKeys[i]); // Update our format flags + } + + RFB.messages.clientCutText(sock, data, true); + }, + + clientCutText(sock, data, extended = false) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 6; // msg-type + + buff[offset + 1] = 0; // padding + buff[offset + 2] = 0; // padding + buff[offset + 3] = 0; // padding + + let length; + if (extended) { + length = toUnsigned32bit(-data.length); + } else { + length = data.length; + } + + buff[offset + 4] = length >> 24; + buff[offset + 5] = length >> 16; + buff[offset + 6] = length >> 8; + buff[offset + 7] = length; + + sock._sQlen += 8; + + // We have to keep track of from where in the data we begin creating the + // buffer for the flush in the next iteration. + let dataOffset = 0; + + let remaining = data.length; + while (remaining > 0) { + + let flushSize = Math.min(remaining, (sock._sQbufferSize - sock._sQlen)); + for (let i = 0; i < flushSize; i++) { + buff[sock._sQlen + i] = data[dataOffset + i]; + } + + sock._sQlen += flushSize; + sock.flush(); + + remaining -= flushSize; + dataOffset += flushSize; + } + + }, + + setDesktopSize(sock, width, height, id, flags) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 251; // msg-type + buff[offset + 1] = 0; // padding + buff[offset + 2] = width >> 8; // width + buff[offset + 3] = width; + buff[offset + 4] = height >> 8; // height + buff[offset + 5] = height; + + buff[offset + 6] = 1; // number-of-screens + buff[offset + 7] = 0; // padding + + // screen array + buff[offset + 8] = id >> 24; // id + buff[offset + 9] = id >> 16; + buff[offset + 10] = id >> 8; + buff[offset + 11] = id; + buff[offset + 12] = 0; // x-position + buff[offset + 13] = 0; + buff[offset + 14] = 0; // y-position + buff[offset + 15] = 0; + buff[offset + 16] = width >> 8; // width + buff[offset + 17] = width; + buff[offset + 18] = height >> 8; // height + buff[offset + 19] = height; + buff[offset + 20] = flags >> 24; // flags + buff[offset + 21] = flags >> 16; + buff[offset + 22] = flags >> 8; + buff[offset + 23] = flags; + + sock._sQlen += 24; + sock.flush(); + }, + + clientFence(sock, flags, payload) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 248; // msg-type + + buff[offset + 1] = 0; // padding + buff[offset + 2] = 0; // padding + buff[offset + 3] = 0; // padding + + buff[offset + 4] = flags >> 24; // flags + buff[offset + 5] = flags >> 16; + buff[offset + 6] = flags >> 8; + buff[offset + 7] = flags; + + const n = payload.length; + + buff[offset + 8] = n; // length + + for (let i = 0; i < n; i++) { + buff[offset + 9 + i] = payload.charCodeAt(i); + } + + sock._sQlen += 9 + n; + sock.flush(); + }, + + enableContinuousUpdates(sock, enable, x, y, width, height) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 150; // msg-type + buff[offset + 1] = enable; // enable-flag + + buff[offset + 2] = x >> 8; // x + buff[offset + 3] = x; + buff[offset + 4] = y >> 8; // y + buff[offset + 5] = y; + buff[offset + 6] = width >> 8; // width + buff[offset + 7] = width; + buff[offset + 8] = height >> 8; // height + buff[offset + 9] = height; + + sock._sQlen += 10; + sock.flush(); + }, + + pixelFormat(sock, depth, trueColor) { + const buff = sock._sQ; + const offset = sock._sQlen; + + let bpp; + + if (depth > 16) { + bpp = 32; + } else if (depth > 8) { + bpp = 16; + } else { + bpp = 8; + } + + const bits = Math.floor(depth/3); + + buff[offset] = 0; // msg-type + + buff[offset + 1] = 0; // padding + buff[offset + 2] = 0; // padding + buff[offset + 3] = 0; // padding + + buff[offset + 4] = bpp; // bits-per-pixel + buff[offset + 5] = depth; // depth + buff[offset + 6] = 0; // little-endian + buff[offset + 7] = trueColor ? 1 : 0; // true-color + + buff[offset + 8] = 0; // red-max + buff[offset + 9] = (1 << bits) - 1; // red-max + + buff[offset + 10] = 0; // green-max + buff[offset + 11] = (1 << bits) - 1; // green-max + + buff[offset + 12] = 0; // blue-max + buff[offset + 13] = (1 << bits) - 1; // blue-max + + buff[offset + 14] = bits * 0; // red-shift + buff[offset + 15] = bits * 1; // green-shift + buff[offset + 16] = bits * 2; // blue-shift + + buff[offset + 17] = 0; // padding + buff[offset + 18] = 0; // padding + buff[offset + 19] = 0; // padding + + sock._sQlen += 20; + sock.flush(); + }, + + clientEncodings(sock, encodings) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 2; // msg-type + buff[offset + 1] = 0; // padding + + buff[offset + 2] = encodings.length >> 8; + buff[offset + 3] = encodings.length; + + let j = offset + 4; + for (let i = 0; i < encodings.length; i++) { + const enc = encodings[i]; + buff[j] = enc >> 24; + buff[j + 1] = enc >> 16; + buff[j + 2] = enc >> 8; + buff[j + 3] = enc; + + j += 4; + } + + sock._sQlen += j - offset; + sock.flush(); + }, + + fbUpdateRequest(sock, incremental, x, y, w, h) { + const buff = sock._sQ; + const offset = sock._sQlen; + + if (typeof(x) === "undefined") { x = 0; } + if (typeof(y) === "undefined") { y = 0; } + + buff[offset] = 3; // msg-type + buff[offset + 1] = incremental ? 1 : 0; + + buff[offset + 2] = (x >> 8) & 0xFF; + buff[offset + 3] = x & 0xFF; + + buff[offset + 4] = (y >> 8) & 0xFF; + buff[offset + 5] = y & 0xFF; + + buff[offset + 6] = (w >> 8) & 0xFF; + buff[offset + 7] = w & 0xFF; + + buff[offset + 8] = (h >> 8) & 0xFF; + buff[offset + 9] = h & 0xFF; + + sock._sQlen += 10; + sock.flush(); + }, + + xvpOp(sock, ver, op) { + const buff = sock._sQ; + const offset = sock._sQlen; + + buff[offset] = 250; // msg-type + buff[offset + 1] = 0; // padding + + buff[offset + 2] = ver; + buff[offset + 3] = op; + + sock._sQlen += 4; + sock.flush(); + } +}; + +RFB.cursors = { + none: { + rgbaPixels: new Uint8Array(), + w: 0, h: 0, + hotx: 0, hoty: 0, + }, + + dot: { + /* eslint-disable indent */ + rgbaPixels: new Uint8Array([ + 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, + 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, + 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, + ]), + /* eslint-enable indent */ + w: 3, h: 3, + hotx: 1, hoty: 1, + } +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/browser.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/browser.js index 1554801..2481544 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/browser.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/browser.js @@ -1,120 +1,120 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - * - * Browser feature support detection - */ - -import * as Log from './logging.js'; - -// Touch detection -export let isTouchDevice = ('ontouchstart' in document.documentElement) || - // requried for Chrome debugger - (document.ontouchstart !== undefined) || - // required for MS Surface - (navigator.maxTouchPoints > 0) || - (navigator.msMaxTouchPoints > 0); -window.addEventListener('touchstart', function onFirstTouch() { - isTouchDevice = true; - window.removeEventListener('touchstart', onFirstTouch, false); -}, false); - - -// The goal is to find a certain physical width, the devicePixelRatio -// brings us a bit closer but is not optimal. -export let dragThreshold = 10 * (window.devicePixelRatio || 1); - -let _supportsCursorURIs = false; - -try { - const target = document.createElement('canvas'); - target.style.cursor = 'url("data:image/x-icon;base64,AAACAAEACAgAAAIAAgA4AQAAFgAAACgAAAAIAAAAEAAAAAEAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAA==") 2 2, default'; - - if (target.style.cursor.indexOf("url") === 0) { - Log.Info("Data URI scheme cursor supported"); - _supportsCursorURIs = true; - } else { - Log.Warn("Data URI scheme cursor not supported"); - } -} catch (exc) { - Log.Error("Data URI scheme cursor test exception: " + exc); -} - -export const supportsCursorURIs = _supportsCursorURIs; - -let _supportsImageMetadata = false; -try { - new ImageData(new Uint8ClampedArray(4), 1, 1); - _supportsImageMetadata = true; -} catch (ex) { - // ignore failure -} -export const supportsImageMetadata = _supportsImageMetadata; - -let _hasScrollbarGutter = true; -try { - // Create invisible container - const container = document.createElement('div'); - container.style.visibility = 'hidden'; - container.style.overflow = 'scroll'; // forcing scrollbars - document.body.appendChild(container); - - // Create a div and place it in the container - const child = document.createElement('div'); - container.appendChild(child); - - // Calculate the difference between the container's full width - // and the child's width - the difference is the scrollbars - const scrollbarWidth = (container.offsetWidth - child.offsetWidth); - - // Clean up - container.parentNode.removeChild(container); - - _hasScrollbarGutter = scrollbarWidth != 0; -} catch (exc) { - Log.Error("Scrollbar test exception: " + exc); -} -export const hasScrollbarGutter = _hasScrollbarGutter; - -/* - * The functions for detection of platforms and browsers below are exported - * but the use of these should be minimized as much as possible. - * - * It's better to use feature detection than platform detection. - */ - -export function isMac() { - return navigator && !!(/mac/i).exec(navigator.platform); -} - -export function isWindows() { - return navigator && !!(/win/i).exec(navigator.platform); -} - -export function isIOS() { - return navigator && - (!!(/ipad/i).exec(navigator.platform) || - !!(/iphone/i).exec(navigator.platform) || - !!(/ipod/i).exec(navigator.platform)); -} - -export function isSafari() { - return navigator && (navigator.userAgent.indexOf('Safari') !== -1 && - navigator.userAgent.indexOf('Chrome') === -1); -} - -export function isIE() { - return navigator && !!(/trident/i).exec(navigator.userAgent); -} - -export function isEdge() { - return navigator && !!(/edge/i).exec(navigator.userAgent); -} - -export function isFirefox() { - return navigator && !!(/firefox/i).exec(navigator.userAgent); -} - +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + * + * Browser feature support detection + */ + +import * as Log from './logging.js'; + +// Touch detection +export let isTouchDevice = ('ontouchstart' in document.documentElement) || + // requried for Chrome debugger + (document.ontouchstart !== undefined) || + // required for MS Surface + (navigator.maxTouchPoints > 0) || + (navigator.msMaxTouchPoints > 0); +window.addEventListener('touchstart', function onFirstTouch() { + isTouchDevice = true; + window.removeEventListener('touchstart', onFirstTouch, false); +}, false); + + +// The goal is to find a certain physical width, the devicePixelRatio +// brings us a bit closer but is not optimal. +export let dragThreshold = 10 * (window.devicePixelRatio || 1); + +let _supportsCursorURIs = false; + +try { + const target = document.createElement('canvas'); + target.style.cursor = 'url("data:image/x-icon;base64,AAACAAEACAgAAAIAAgA4AQAAFgAAACgAAAAIAAAAEAAAAAEAIAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAAAA==") 2 2, default'; + + if (target.style.cursor.indexOf("url") === 0) { + Log.Info("Data URI scheme cursor supported"); + _supportsCursorURIs = true; + } else { + Log.Warn("Data URI scheme cursor not supported"); + } +} catch (exc) { + Log.Error("Data URI scheme cursor test exception: " + exc); +} + +export const supportsCursorURIs = _supportsCursorURIs; + +let _supportsImageMetadata = false; +try { + new ImageData(new Uint8ClampedArray(4), 1, 1); + _supportsImageMetadata = true; +} catch (ex) { + // ignore failure +} +export const supportsImageMetadata = _supportsImageMetadata; + +let _hasScrollbarGutter = true; +try { + // Create invisible container + const container = document.createElement('div'); + container.style.visibility = 'hidden'; + container.style.overflow = 'scroll'; // forcing scrollbars + document.body.appendChild(container); + + // Create a div and place it in the container + const child = document.createElement('div'); + container.appendChild(child); + + // Calculate the difference between the container's full width + // and the child's width - the difference is the scrollbars + const scrollbarWidth = (container.offsetWidth - child.offsetWidth); + + // Clean up + container.parentNode.removeChild(container); + + _hasScrollbarGutter = scrollbarWidth != 0; +} catch (exc) { + Log.Error("Scrollbar test exception: " + exc); +} +export const hasScrollbarGutter = _hasScrollbarGutter; + +/* + * The functions for detection of platforms and browsers below are exported + * but the use of these should be minimized as much as possible. + * + * It's better to use feature detection than platform detection. + */ + +export function isMac() { + return navigator && !!(/mac/i).exec(navigator.platform); +} + +export function isWindows() { + return navigator && !!(/win/i).exec(navigator.platform); +} + +export function isIOS() { + return navigator && + (!!(/ipad/i).exec(navigator.platform) || + !!(/iphone/i).exec(navigator.platform) || + !!(/ipod/i).exec(navigator.platform)); +} + +export function isSafari() { + return navigator && (navigator.userAgent.indexOf('Safari') !== -1 && + navigator.userAgent.indexOf('Chrome') === -1); +} + +export function isIE() { + return navigator && !!(/trident/i).exec(navigator.userAgent); +} + +export function isEdge() { + return navigator && !!(/edge/i).exec(navigator.userAgent); +} + +export function isFirefox() { + return navigator && !!(/firefox/i).exec(navigator.userAgent); +} + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/cursor.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/cursor.js index 4dbaf0a..e0e3cdb 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/cursor.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/cursor.js @@ -1,253 +1,253 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -import { supportsCursorURIs, isTouchDevice } from './browser.js'; - -const useFallback = !supportsCursorURIs || isTouchDevice; - -export default class Cursor { - constructor() { - this._target = null; - - this._canvas = document.createElement('canvas'); - - if (useFallback) { - this._canvas.style.position = 'fixed'; - this._canvas.style.zIndex = '65535'; - this._canvas.style.pointerEvents = 'none'; - // Can't use "display" because of Firefox bug #1445997 - this._canvas.style.visibility = 'hidden'; - } - - this._position = { x: 0, y: 0 }; - this._hotSpot = { x: 0, y: 0 }; - - this._eventHandlers = { - 'mouseover': this._handleMouseOver.bind(this), - 'mouseleave': this._handleMouseLeave.bind(this), - 'mousemove': this._handleMouseMove.bind(this), - 'mouseup': this._handleMouseUp.bind(this), - }; - } - - attach(target) { - if (this._target) { - this.detach(); - } - - this._target = target; - - if (useFallback) { - document.body.appendChild(this._canvas); - - // FIXME: These don't fire properly except for mouse - /// movement in IE. We want to also capture element - // movement, size changes, visibility, etc. - const options = { capture: true, passive: true }; - this._target.addEventListener('mouseover', this._eventHandlers.mouseover, options); - this._target.addEventListener('mouseleave', this._eventHandlers.mouseleave, options); - this._target.addEventListener('mousemove', this._eventHandlers.mousemove, options); - this._target.addEventListener('mouseup', this._eventHandlers.mouseup, options); - } - - this.clear(); - } - - detach() { - if (!this._target) { - return; - } - - if (useFallback) { - const options = { capture: true, passive: true }; - this._target.removeEventListener('mouseover', this._eventHandlers.mouseover, options); - this._target.removeEventListener('mouseleave', this._eventHandlers.mouseleave, options); - this._target.removeEventListener('mousemove', this._eventHandlers.mousemove, options); - this._target.removeEventListener('mouseup', this._eventHandlers.mouseup, options); - - document.body.removeChild(this._canvas); - } - - this._target = null; - } - - change(rgba, hotx, hoty, w, h) { - if ((w === 0) || (h === 0)) { - this.clear(); - return; - } - - this._position.x = this._position.x + this._hotSpot.x - hotx; - this._position.y = this._position.y + this._hotSpot.y - hoty; - this._hotSpot.x = hotx; - this._hotSpot.y = hoty; - - let ctx = this._canvas.getContext('2d'); - - this._canvas.width = w; - this._canvas.height = h; - - let img; - try { - // IE doesn't support this - img = new ImageData(new Uint8ClampedArray(rgba), w, h); - } catch (ex) { - img = ctx.createImageData(w, h); - img.data.set(new Uint8ClampedArray(rgba)); - } - ctx.clearRect(0, 0, w, h); - ctx.putImageData(img, 0, 0); - - if (useFallback) { - this._updatePosition(); - } else { - let url = this._canvas.toDataURL(); - this._target.style.cursor = 'url(' + url + ')' + hotx + ' ' + hoty + ', default'; - } - } - - clear() { - this._target.style.cursor = 'default'; - this._canvas.width = 0; - this._canvas.height = 0; - this._position.x = this._position.x + this._hotSpot.x; - this._position.y = this._position.y + this._hotSpot.y; - this._hotSpot.x = 0; - this._hotSpot.y = 0; - } - - // Mouse events might be emulated, this allows - // moving the cursor in such cases - move(clientX, clientY) { - if (!useFallback) { - return; - } - // clientX/clientY are relative the _visual viewport_, - // but our position is relative the _layout viewport_, - // so try to compensate when we can - if (window.visualViewport) { - this._position.x = clientX + window.visualViewport.offsetLeft; - this._position.y = clientY + window.visualViewport.offsetTop; - } else { - this._position.x = clientX; - this._position.y = clientY; - } - this._updatePosition(); - let target = document.elementFromPoint(clientX, clientY); - this._updateVisibility(target); - } - - _handleMouseOver(event) { - // This event could be because we're entering the target, or - // moving around amongst its sub elements. Let the move handler - // sort things out. - this._handleMouseMove(event); - } - - _handleMouseLeave(event) { - // Check if we should show the cursor on the element we are leaving to - this._updateVisibility(event.relatedTarget); - } - - _handleMouseMove(event) { - this._updateVisibility(event.target); - - this._position.x = event.clientX - this._hotSpot.x; - this._position.y = event.clientY - this._hotSpot.y; - - this._updatePosition(); - } - - _handleMouseUp(event) { - // We might get this event because of a drag operation that - // moved outside of the target. Check what's under the cursor - // now and adjust visibility based on that. - let target = document.elementFromPoint(event.clientX, event.clientY); - this._updateVisibility(target); - - // Captures end with a mouseup but we can't know the event order of - // mouseup vs releaseCapture. - // - // In the cases when releaseCapture comes first, the code above is - // enough. - // - // In the cases when the mouseup comes first, we need wait for the - // browser to flush all events and then check again if the cursor - // should be visible. - if (this._captureIsActive()) { - window.setTimeout(() => { - // We might have detached at this point - if (!this._target) { - return; - } - // Refresh the target from elementFromPoint since queued events - // might have altered the DOM - target = document.elementFromPoint(event.clientX, - event.clientY); - this._updateVisibility(target); - }, 0); - } - } - - _showCursor() { - if (this._canvas.style.visibility === 'hidden') { - this._canvas.style.visibility = ''; - } - } - - _hideCursor() { - if (this._canvas.style.visibility !== 'hidden') { - this._canvas.style.visibility = 'hidden'; - } - } - - // Should we currently display the cursor? - // (i.e. are we over the target, or a child of the target without a - // different cursor set) - _shouldShowCursor(target) { - if (!target) { - return false; - } - // Easy case - if (target === this._target) { - return true; - } - // Other part of the DOM? - if (!this._target.contains(target)) { - return false; - } - // Has the child its own cursor? - // FIXME: How can we tell that a sub element has an - // explicit "cursor: none;"? - if (window.getComputedStyle(target).cursor !== 'none') { - return false; - } - return true; - } - - _updateVisibility(target) { - // When the cursor target has capture we want to show the cursor. - // So, if a capture is active - look at the captured element instead. - if (this._captureIsActive()) { - target = document.captureElement; - } - if (this._shouldShowCursor(target)) { - this._showCursor(); - } else { - this._hideCursor(); - } - } - - _updatePosition() { - this._canvas.style.left = this._position.x + "px"; - this._canvas.style.top = this._position.y + "px"; - } - - _captureIsActive() { - return document.captureElement && - document.documentElement.contains(document.captureElement); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +import { supportsCursorURIs, isTouchDevice } from './browser.js'; + +const useFallback = !supportsCursorURIs || isTouchDevice; + +export default class Cursor { + constructor() { + this._target = null; + + this._canvas = document.createElement('canvas'); + + if (useFallback) { + this._canvas.style.position = 'fixed'; + this._canvas.style.zIndex = '65535'; + this._canvas.style.pointerEvents = 'none'; + // Can't use "display" because of Firefox bug #1445997 + this._canvas.style.visibility = 'hidden'; + } + + this._position = { x: 0, y: 0 }; + this._hotSpot = { x: 0, y: 0 }; + + this._eventHandlers = { + 'mouseover': this._handleMouseOver.bind(this), + 'mouseleave': this._handleMouseLeave.bind(this), + 'mousemove': this._handleMouseMove.bind(this), + 'mouseup': this._handleMouseUp.bind(this), + }; + } + + attach(target) { + if (this._target) { + this.detach(); + } + + this._target = target; + + if (useFallback) { + document.body.appendChild(this._canvas); + + // FIXME: These don't fire properly except for mouse + /// movement in IE. We want to also capture element + // movement, size changes, visibility, etc. + const options = { capture: true, passive: true }; + this._target.addEventListener('mouseover', this._eventHandlers.mouseover, options); + this._target.addEventListener('mouseleave', this._eventHandlers.mouseleave, options); + this._target.addEventListener('mousemove', this._eventHandlers.mousemove, options); + this._target.addEventListener('mouseup', this._eventHandlers.mouseup, options); + } + + this.clear(); + } + + detach() { + if (!this._target) { + return; + } + + if (useFallback) { + const options = { capture: true, passive: true }; + this._target.removeEventListener('mouseover', this._eventHandlers.mouseover, options); + this._target.removeEventListener('mouseleave', this._eventHandlers.mouseleave, options); + this._target.removeEventListener('mousemove', this._eventHandlers.mousemove, options); + this._target.removeEventListener('mouseup', this._eventHandlers.mouseup, options); + + document.body.removeChild(this._canvas); + } + + this._target = null; + } + + change(rgba, hotx, hoty, w, h) { + if ((w === 0) || (h === 0)) { + this.clear(); + return; + } + + this._position.x = this._position.x + this._hotSpot.x - hotx; + this._position.y = this._position.y + this._hotSpot.y - hoty; + this._hotSpot.x = hotx; + this._hotSpot.y = hoty; + + let ctx = this._canvas.getContext('2d'); + + this._canvas.width = w; + this._canvas.height = h; + + let img; + try { + // IE doesn't support this + img = new ImageData(new Uint8ClampedArray(rgba), w, h); + } catch (ex) { + img = ctx.createImageData(w, h); + img.data.set(new Uint8ClampedArray(rgba)); + } + ctx.clearRect(0, 0, w, h); + ctx.putImageData(img, 0, 0); + + if (useFallback) { + this._updatePosition(); + } else { + let url = this._canvas.toDataURL(); + this._target.style.cursor = 'url(' + url + ')' + hotx + ' ' + hoty + ', default'; + } + } + + clear() { + this._target.style.cursor = 'default'; + this._canvas.width = 0; + this._canvas.height = 0; + this._position.x = this._position.x + this._hotSpot.x; + this._position.y = this._position.y + this._hotSpot.y; + this._hotSpot.x = 0; + this._hotSpot.y = 0; + } + + // Mouse events might be emulated, this allows + // moving the cursor in such cases + move(clientX, clientY) { + if (!useFallback) { + return; + } + // clientX/clientY are relative the _visual viewport_, + // but our position is relative the _layout viewport_, + // so try to compensate when we can + if (window.visualViewport) { + this._position.x = clientX + window.visualViewport.offsetLeft; + this._position.y = clientY + window.visualViewport.offsetTop; + } else { + this._position.x = clientX; + this._position.y = clientY; + } + this._updatePosition(); + let target = document.elementFromPoint(clientX, clientY); + this._updateVisibility(target); + } + + _handleMouseOver(event) { + // This event could be because we're entering the target, or + // moving around amongst its sub elements. Let the move handler + // sort things out. + this._handleMouseMove(event); + } + + _handleMouseLeave(event) { + // Check if we should show the cursor on the element we are leaving to + this._updateVisibility(event.relatedTarget); + } + + _handleMouseMove(event) { + this._updateVisibility(event.target); + + this._position.x = event.clientX - this._hotSpot.x; + this._position.y = event.clientY - this._hotSpot.y; + + this._updatePosition(); + } + + _handleMouseUp(event) { + // We might get this event because of a drag operation that + // moved outside of the target. Check what's under the cursor + // now and adjust visibility based on that. + let target = document.elementFromPoint(event.clientX, event.clientY); + this._updateVisibility(target); + + // Captures end with a mouseup but we can't know the event order of + // mouseup vs releaseCapture. + // + // In the cases when releaseCapture comes first, the code above is + // enough. + // + // In the cases when the mouseup comes first, we need wait for the + // browser to flush all events and then check again if the cursor + // should be visible. + if (this._captureIsActive()) { + window.setTimeout(() => { + // We might have detached at this point + if (!this._target) { + return; + } + // Refresh the target from elementFromPoint since queued events + // might have altered the DOM + target = document.elementFromPoint(event.clientX, + event.clientY); + this._updateVisibility(target); + }, 0); + } + } + + _showCursor() { + if (this._canvas.style.visibility === 'hidden') { + this._canvas.style.visibility = ''; + } + } + + _hideCursor() { + if (this._canvas.style.visibility !== 'hidden') { + this._canvas.style.visibility = 'hidden'; + } + } + + // Should we currently display the cursor? + // (i.e. are we over the target, or a child of the target without a + // different cursor set) + _shouldShowCursor(target) { + if (!target) { + return false; + } + // Easy case + if (target === this._target) { + return true; + } + // Other part of the DOM? + if (!this._target.contains(target)) { + return false; + } + // Has the child its own cursor? + // FIXME: How can we tell that a sub element has an + // explicit "cursor: none;"? + if (window.getComputedStyle(target).cursor !== 'none') { + return false; + } + return true; + } + + _updateVisibility(target) { + // When the cursor target has capture we want to show the cursor. + // So, if a capture is active - look at the captured element instead. + if (this._captureIsActive()) { + target = document.captureElement; + } + if (this._shouldShowCursor(target)) { + this._showCursor(); + } else { + this._hideCursor(); + } + } + + _updatePosition() { + this._canvas.style.left = this._position.x + "px"; + this._canvas.style.top = this._position.y + "px"; + } + + _captureIsActive() { + return document.captureElement && + document.documentElement.contains(document.captureElement); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/element.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/element.js index 466a745..91b246d 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/element.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/element.js @@ -1,32 +1,32 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -/* - * HTML element utility functions - */ - -export function clientToElement(x, y, elem) { - const bounds = elem.getBoundingClientRect(); - let pos = { x: 0, y: 0 }; - // Clip to target bounds - if (x < bounds.left) { - pos.x = 0; - } else if (x >= bounds.right) { - pos.x = bounds.width - 1; - } else { - pos.x = x - bounds.left; - } - if (y < bounds.top) { - pos.y = 0; - } else if (y >= bounds.bottom) { - pos.y = bounds.height - 1; - } else { - pos.y = y - bounds.top; - } - return pos; -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +/* + * HTML element utility functions + */ + +export function clientToElement(x, y, elem) { + const bounds = elem.getBoundingClientRect(); + let pos = { x: 0, y: 0 }; + // Clip to target bounds + if (x < bounds.left) { + pos.x = 0; + } else if (x >= bounds.right) { + pos.x = bounds.width - 1; + } else { + pos.x = x - bounds.left; + } + if (y < bounds.top) { + pos.y = 0; + } else if (y >= bounds.bottom) { + pos.y = bounds.height - 1; + } else { + pos.y = y - bounds.top; + } + return pos; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/events.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/events.js index 39eefd4..ee32c44 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/events.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/events.js @@ -1,142 +1,142 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -/* - * Cross-browser event and position routines - */ - -export function getPointerEvent(e) { - return e.changedTouches ? e.changedTouches[0] : e.touches ? e.touches[0] : e; -} - -export function stopEvent(e) { - e.stopPropagation(); - e.preventDefault(); -} - -// Emulate Element.setCapture() when not supported -let _captureRecursion = false; -let _elementForUnflushedEvents = null; -document.captureElement = null; -function _captureProxy(e) { - // Recursion protection as we'll see our own event - if (_captureRecursion) return; - - // Clone the event as we cannot dispatch an already dispatched event - const newEv = new e.constructor(e.type, e); - - _captureRecursion = true; - if (document.captureElement) { - document.captureElement.dispatchEvent(newEv); - } else { - _elementForUnflushedEvents.dispatchEvent(newEv); - } - _captureRecursion = false; - - // Avoid double events - e.stopPropagation(); - - // Respect the wishes of the redirected event handlers - if (newEv.defaultPrevented) { - e.preventDefault(); - } - - // Implicitly release the capture on button release - if (e.type === "mouseup") { - releaseCapture(); - } -} - -// Follow cursor style of target element -function _capturedElemChanged() { - const proxyElem = document.getElementById("noVNC_mouse_capture_elem"); - proxyElem.style.cursor = window.getComputedStyle(document.captureElement).cursor; -} - -const _captureObserver = new MutationObserver(_capturedElemChanged); - -export function setCapture(target) { - if (target.setCapture) { - - target.setCapture(); - document.captureElement = target; - - // IE releases capture on 'click' events which might not trigger - target.addEventListener('mouseup', releaseCapture); - - } else { - // Release any existing capture in case this method is - // called multiple times without coordination - releaseCapture(); - - let proxyElem = document.getElementById("noVNC_mouse_capture_elem"); - - if (proxyElem === null) { - proxyElem = document.createElement("div"); - proxyElem.id = "noVNC_mouse_capture_elem"; - proxyElem.style.position = "fixed"; - proxyElem.style.top = "0px"; - proxyElem.style.left = "0px"; - proxyElem.style.width = "100%"; - proxyElem.style.height = "100%"; - proxyElem.style.zIndex = 10000; - proxyElem.style.display = "none"; - document.body.appendChild(proxyElem); - - // This is to make sure callers don't get confused by having - // our blocking element as the target - proxyElem.addEventListener('contextmenu', _captureProxy); - - proxyElem.addEventListener('mousemove', _captureProxy); - proxyElem.addEventListener('mouseup', _captureProxy); - } - - document.captureElement = target; - - // Track cursor and get initial cursor - _captureObserver.observe(target, {attributes: true}); - _capturedElemChanged(); - - proxyElem.style.display = ""; - - // We listen to events on window in order to keep tracking if it - // happens to leave the viewport - window.addEventListener('mousemove', _captureProxy); - window.addEventListener('mouseup', _captureProxy); - } -} - -export function releaseCapture() { - if (document.releaseCapture) { - - document.releaseCapture(); - document.captureElement = null; - - } else { - if (!document.captureElement) { - return; - } - - // There might be events already queued. The event proxy needs - // access to the captured element for these queued events. - // E.g. contextmenu (right-click) in Microsoft Edge - // - // Before removing the capturedElem pointer we save it to a - // temporary variable that the unflushed events can use. - _elementForUnflushedEvents = document.captureElement; - document.captureElement = null; - - _captureObserver.disconnect(); - - const proxyElem = document.getElementById("noVNC_mouse_capture_elem"); - proxyElem.style.display = "none"; - - window.removeEventListener('mousemove', _captureProxy); - window.removeEventListener('mouseup', _captureProxy); - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +/* + * Cross-browser event and position routines + */ + +export function getPointerEvent(e) { + return e.changedTouches ? e.changedTouches[0] : e.touches ? e.touches[0] : e; +} + +export function stopEvent(e) { + e.stopPropagation(); + e.preventDefault(); +} + +// Emulate Element.setCapture() when not supported +let _captureRecursion = false; +let _elementForUnflushedEvents = null; +document.captureElement = null; +function _captureProxy(e) { + // Recursion protection as we'll see our own event + if (_captureRecursion) return; + + // Clone the event as we cannot dispatch an already dispatched event + const newEv = new e.constructor(e.type, e); + + _captureRecursion = true; + if (document.captureElement) { + document.captureElement.dispatchEvent(newEv); + } else { + _elementForUnflushedEvents.dispatchEvent(newEv); + } + _captureRecursion = false; + + // Avoid double events + e.stopPropagation(); + + // Respect the wishes of the redirected event handlers + if (newEv.defaultPrevented) { + e.preventDefault(); + } + + // Implicitly release the capture on button release + if (e.type === "mouseup") { + releaseCapture(); + } +} + +// Follow cursor style of target element +function _capturedElemChanged() { + const proxyElem = document.getElementById("noVNC_mouse_capture_elem"); + proxyElem.style.cursor = window.getComputedStyle(document.captureElement).cursor; +} + +const _captureObserver = new MutationObserver(_capturedElemChanged); + +export function setCapture(target) { + if (target.setCapture) { + + target.setCapture(); + document.captureElement = target; + + // IE releases capture on 'click' events which might not trigger + target.addEventListener('mouseup', releaseCapture); + + } else { + // Release any existing capture in case this method is + // called multiple times without coordination + releaseCapture(); + + let proxyElem = document.getElementById("noVNC_mouse_capture_elem"); + + if (proxyElem === null) { + proxyElem = document.createElement("div"); + proxyElem.id = "noVNC_mouse_capture_elem"; + proxyElem.style.position = "fixed"; + proxyElem.style.top = "0px"; + proxyElem.style.left = "0px"; + proxyElem.style.width = "100%"; + proxyElem.style.height = "100%"; + proxyElem.style.zIndex = 10000; + proxyElem.style.display = "none"; + document.body.appendChild(proxyElem); + + // This is to make sure callers don't get confused by having + // our blocking element as the target + proxyElem.addEventListener('contextmenu', _captureProxy); + + proxyElem.addEventListener('mousemove', _captureProxy); + proxyElem.addEventListener('mouseup', _captureProxy); + } + + document.captureElement = target; + + // Track cursor and get initial cursor + _captureObserver.observe(target, {attributes: true}); + _capturedElemChanged(); + + proxyElem.style.display = ""; + + // We listen to events on window in order to keep tracking if it + // happens to leave the viewport + window.addEventListener('mousemove', _captureProxy); + window.addEventListener('mouseup', _captureProxy); + } +} + +export function releaseCapture() { + if (document.releaseCapture) { + + document.releaseCapture(); + document.captureElement = null; + + } else { + if (!document.captureElement) { + return; + } + + // There might be events already queued. The event proxy needs + // access to the captured element for these queued events. + // E.g. contextmenu (right-click) in Microsoft Edge + // + // Before removing the capturedElem pointer we save it to a + // temporary variable that the unflushed events can use. + _elementForUnflushedEvents = document.captureElement; + document.captureElement = null; + + _captureObserver.disconnect(); + + const proxyElem = document.getElementById("noVNC_mouse_capture_elem"); + proxyElem.style.display = "none"; + + window.removeEventListener('mousemove', _captureProxy); + window.removeEventListener('mouseup', _captureProxy); + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/eventtarget.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/eventtarget.js index a21aa54..a0304fe 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/eventtarget.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/eventtarget.js @@ -1,35 +1,35 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -export default class EventTargetMixin { - constructor() { - this._listeners = new Map(); - } - - addEventListener(type, callback) { - if (!this._listeners.has(type)) { - this._listeners.set(type, new Set()); - } - this._listeners.get(type).add(callback); - } - - removeEventListener(type, callback) { - if (this._listeners.has(type)) { - this._listeners.get(type).delete(callback); - } - } - - dispatchEvent(event) { - if (!this._listeners.has(event.type)) { - return true; - } - this._listeners.get(event.type) - .forEach(callback => callback.call(this, event)); - return !event.defaultPrevented; - } -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +export default class EventTargetMixin { + constructor() { + this._listeners = new Map(); + } + + addEventListener(type, callback) { + if (!this._listeners.has(type)) { + this._listeners.set(type, new Set()); + } + this._listeners.get(type).add(callback); + } + + removeEventListener(type, callback) { + if (this._listeners.has(type)) { + this._listeners.get(type).delete(callback); + } + } + + dispatchEvent(event) { + if (!this._listeners.has(event.type)) { + return true; + } + this._listeners.get(event.type) + .forEach(callback => callback.call(this, event)); + return !event.defaultPrevented; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/int.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/int.js index 001f40f..0810672 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/int.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/int.js @@ -1,15 +1,15 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -export function toUnsigned32bit(toConvert) { - return toConvert >>> 0; -} - -export function toSigned32bit(toConvert) { - return toConvert | 0; -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +export function toUnsigned32bit(toConvert) { + return toConvert >>> 0; +} + +export function toSigned32bit(toConvert) { + return toConvert | 0; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/logging.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/logging.js index fe449e9..9b8f515 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/logging.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/logging.js @@ -1,56 +1,56 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -/* - * Logging/debug routines - */ - -let _logLevel = 'warn'; - -let Debug = () => {}; -let Info = () => {}; -let Warn = () => {}; -let Error = () => {}; - -export function initLogging(level) { - if (typeof level === 'undefined') { - level = _logLevel; - } else { - _logLevel = level; - } - - Debug = Info = Warn = Error = () => {}; - - if (typeof window.console !== "undefined") { - /* eslint-disable no-console, no-fallthrough */ - switch (level) { - case 'debug': - Debug = console.debug.bind(window.console); - case 'info': - Info = console.info.bind(window.console); - case 'warn': - Warn = console.warn.bind(window.console); - case 'error': - Error = console.error.bind(window.console); - case 'none': - break; - default: - throw new window.Error("invalid logging type '" + level + "'"); - } - /* eslint-enable no-console, no-fallthrough */ - } -} - -export function getLogging() { - return _logLevel; -} - -export { Debug, Info, Warn, Error }; - -// Initialize logging level -initLogging(); +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +/* + * Logging/debug routines + */ + +let _logLevel = 'warn'; + +let Debug = () => {}; +let Info = () => {}; +let Warn = () => {}; +let Error = () => {}; + +export function initLogging(level) { + if (typeof level === 'undefined') { + level = _logLevel; + } else { + _logLevel = level; + } + + Debug = Info = Warn = Error = () => {}; + + if (typeof window.console !== "undefined") { + /* eslint-disable no-console, no-fallthrough */ + switch (level) { + case 'debug': + Debug = console.debug.bind(window.console); + case 'info': + Info = console.info.bind(window.console); + case 'warn': + Warn = console.warn.bind(window.console); + case 'error': + Error = console.error.bind(window.console); + case 'none': + break; + default: + throw new window.Error("invalid logging type '" + level + "'"); + } + /* eslint-enable no-console, no-fallthrough */ + } +} + +export function getLogging() { + return _logLevel; +} + +export { Debug, Info, Warn, Error }; + +// Initialize logging level +initLogging(); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/polyfill.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/polyfill.js index 0e458c8..dfc86a1 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/polyfill.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/polyfill.js @@ -1,61 +1,61 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2020 The noVNC Authors - * Licensed under MPL 2.0 or any later version (see LICENSE.txt) - */ - -/* Polyfills to provide new APIs in old browsers */ - -/* Object.assign() (taken from MDN) */ -if (typeof Object.assign != 'function') { - // Must be writable: true, enumerable: false, configurable: true - Object.defineProperty(Object, "assign", { - value: function assign(target, varArgs) { // .length of function is 2 - 'use strict'; - if (target == null) { // TypeError if undefined or null - throw new TypeError('Cannot convert undefined or null to object'); - } - - const to = Object(target); - - for (let index = 1; index < arguments.length; index++) { - const nextSource = arguments[index]; - - if (nextSource != null) { // Skip over if undefined or null - for (let nextKey in nextSource) { - // Avoid bugs when hasOwnProperty is shadowed - if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { - to[nextKey] = nextSource[nextKey]; - } - } - } - } - return to; - }, - writable: true, - configurable: true - }); -} - -/* CustomEvent constructor (taken from MDN) */ -(() => { - function CustomEvent(event, params) { - params = params || { bubbles: false, cancelable: false, detail: undefined }; - const evt = document.createEvent( 'CustomEvent' ); - evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); - return evt; - } - - CustomEvent.prototype = window.Event.prototype; - - if (typeof window.CustomEvent !== "function") { - window.CustomEvent = CustomEvent; - } -})(); - -/* Number.isInteger() (taken from MDN) */ -Number.isInteger = Number.isInteger || function isInteger(value) { - return typeof value === 'number' && - isFinite(value) && - Math.floor(value) === value; -}; +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2020 The noVNC Authors + * Licensed under MPL 2.0 or any later version (see LICENSE.txt) + */ + +/* Polyfills to provide new APIs in old browsers */ + +/* Object.assign() (taken from MDN) */ +if (typeof Object.assign != 'function') { + // Must be writable: true, enumerable: false, configurable: true + Object.defineProperty(Object, "assign", { + value: function assign(target, varArgs) { // .length of function is 2 + 'use strict'; + if (target == null) { // TypeError if undefined or null + throw new TypeError('Cannot convert undefined or null to object'); + } + + const to = Object(target); + + for (let index = 1; index < arguments.length; index++) { + const nextSource = arguments[index]; + + if (nextSource != null) { // Skip over if undefined or null + for (let nextKey in nextSource) { + // Avoid bugs when hasOwnProperty is shadowed + if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) { + to[nextKey] = nextSource[nextKey]; + } + } + } + } + return to; + }, + writable: true, + configurable: true + }); +} + +/* CustomEvent constructor (taken from MDN) */ +(() => { + function CustomEvent(event, params) { + params = params || { bubbles: false, cancelable: false, detail: undefined }; + const evt = document.createEvent( 'CustomEvent' ); + evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail ); + return evt; + } + + CustomEvent.prototype = window.Event.prototype; + + if (typeof window.CustomEvent !== "function") { + window.CustomEvent = CustomEvent; + } +})(); + +/* Number.isInteger() (taken from MDN) */ +Number.isInteger = Number.isInteger || function isInteger(value) { + return typeof value === 'number' && + isFinite(value) && + Math.floor(value) === value; +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/strings.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/strings.js index 3dd4b29..a678c72 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/strings.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/util/strings.js @@ -1,28 +1,28 @@ -/* - * noVNC: HTML5 VNC client - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * See README.md for usage and integration instructions. - */ - -// Decode from UTF-8 -export function decodeUTF8(utf8string, allowLatin1=false) { - try { - return decodeURIComponent(escape(utf8string)); - } catch (e) { - if (e instanceof URIError) { - if (allowLatin1) { - // If we allow Latin1 we can ignore any decoding fails - // and in these cases return the original string - return utf8string; - } - } - throw e; - } -} - -// Encode to UTF-8 -export function encodeUTF8(DOMString) { - return unescape(encodeURIComponent(DOMString)); -} +/* + * noVNC: HTML5 VNC client + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * See README.md for usage and integration instructions. + */ + +// Decode from UTF-8 +export function decodeUTF8(utf8string, allowLatin1=false) { + try { + return decodeURIComponent(escape(utf8string)); + } catch (e) { + if (e instanceof URIError) { + if (allowLatin1) { + // If we allow Latin1 we can ignore any decoding fails + // and in these cases return the original string + return utf8string; + } + } + throw e; + } +} + +// Encode to UTF-8 +export function encodeUTF8(DOMString) { + return unescape(encodeURIComponent(DOMString)); +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/core/websock.js b/whmcs/modules/servers/virtualizor_cloud/novnc/core/websock.js index 1600472..f0a8ca9 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/core/websock.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/core/websock.js @@ -1,294 +1,294 @@ -/* - * Websock: high-performance binary WebSockets - * Copyright (C) 2019 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - * - * Websock is similar to the standard WebSocket object but with extra - * buffer handling. - * - * Websock has built-in receive queue buffering; the message event - * does not contain actual data but is simply a notification that - * there is new data available. Several rQ* methods are available to - * read binary data off of the receive queue. - */ - -import * as Log from './util/logging.js'; - -// this has performance issues in some versions Chromium, and -// doesn't gain a tremendous amount of performance increase in Firefox -// at the moment. It may be valuable to turn it on in the future. -// Also copyWithin() for TypedArrays is not supported in IE 11 or -// Safari 13 (at the moment we want to support Safari 11). -const ENABLE_COPYWITHIN = false; -const MAX_RQ_GROW_SIZE = 40 * 1024 * 1024; // 40 MiB - -export default class Websock { - constructor() { - this._websocket = null; // WebSocket object - - this._rQi = 0; // Receive queue index - this._rQlen = 0; // Next write position in the receive queue - this._rQbufferSize = 1024 * 1024 * 4; // Receive queue buffer size (4 MiB) - // called in init: this._rQ = new Uint8Array(this._rQbufferSize); - this._rQ = null; // Receive queue - - this._sQbufferSize = 1024 * 10; // 10 KiB - // called in init: this._sQ = new Uint8Array(this._sQbufferSize); - this._sQlen = 0; - this._sQ = null; // Send queue - - this._eventHandlers = { - message: () => {}, - open: () => {}, - close: () => {}, - error: () => {} - }; - } - - // Getters and Setters - get sQ() { - return this._sQ; - } - - get rQ() { - return this._rQ; - } - - get rQi() { - return this._rQi; - } - - set rQi(val) { - this._rQi = val; - } - - // Receive Queue - get rQlen() { - return this._rQlen - this._rQi; - } - - rQpeek8() { - return this._rQ[this._rQi]; - } - - rQskipBytes(bytes) { - this._rQi += bytes; - } - - rQshift8() { - return this._rQshift(1); - } - - rQshift16() { - return this._rQshift(2); - } - - rQshift32() { - return this._rQshift(4); - } - - // TODO(directxman12): test performance with these vs a DataView - _rQshift(bytes) { - let res = 0; - for (let byte = bytes - 1; byte >= 0; byte--) { - res += this._rQ[this._rQi++] << (byte * 8); - } - return res; - } - - rQshiftStr(len) { - if (typeof(len) === 'undefined') { len = this.rQlen; } - let str = ""; - // Handle large arrays in steps to avoid long strings on the stack - for (let i = 0; i < len; i += 4096) { - let part = this.rQshiftBytes(Math.min(4096, len - i)); - str += String.fromCharCode.apply(null, part); - } - return str; - } - - rQshiftBytes(len) { - if (typeof(len) === 'undefined') { len = this.rQlen; } - this._rQi += len; - return new Uint8Array(this._rQ.buffer, this._rQi - len, len); - } - - rQshiftTo(target, len) { - if (len === undefined) { len = this.rQlen; } - // TODO: make this just use set with views when using a ArrayBuffer to store the rQ - target.set(new Uint8Array(this._rQ.buffer, this._rQi, len)); - this._rQi += len; - } - - rQslice(start, end = this.rQlen) { - return new Uint8Array(this._rQ.buffer, this._rQi + start, end - start); - } - - // Check to see if we must wait for 'num' bytes (default to FBU.bytes) - // to be available in the receive queue. Return true if we need to - // wait (and possibly print a debug message), otherwise false. - rQwait(msg, num, goback) { - if (this.rQlen < num) { - if (goback) { - if (this._rQi < goback) { - throw new Error("rQwait cannot backup " + goback + " bytes"); - } - this._rQi -= goback; - } - return true; // true means need more data - } - return false; - } - - // Send Queue - - flush() { - if (this._sQlen > 0 && this._websocket.readyState === WebSocket.OPEN) { - this._websocket.send(this._encodeMessage()); - this._sQlen = 0; - } - } - - send(arr) { - this._sQ.set(arr, this._sQlen); - this._sQlen += arr.length; - this.flush(); - } - - sendString(str) { - this.send(str.split('').map(chr => chr.charCodeAt(0))); - } - - // Event Handlers - off(evt) { - this._eventHandlers[evt] = () => {}; - } - - on(evt, handler) { - this._eventHandlers[evt] = handler; - } - - _allocateBuffers() { - this._rQ = new Uint8Array(this._rQbufferSize); - this._sQ = new Uint8Array(this._sQbufferSize); - } - - init() { - this._allocateBuffers(); - this._rQi = 0; - this._websocket = null; - } - - open(uri, protocols) { - this.init(); - - this._websocket = new WebSocket(uri, protocols); - this._websocket.binaryType = 'arraybuffer'; - - this._websocket.onmessage = this._recv_message.bind(this); - this._websocket.onopen = () => { - Log.Debug('>> WebSock.onopen'); - if (this._websocket.protocol) { - Log.Info("Server choose sub-protocol: " + this._websocket.protocol); - } - - this._eventHandlers.open(); - Log.Debug("<< WebSock.onopen"); - }; - this._websocket.onclose = (e) => { - Log.Debug(">> WebSock.onclose"); - this._eventHandlers.close(e); - Log.Debug("<< WebSock.onclose"); - }; - this._websocket.onerror = (e) => { - Log.Debug(">> WebSock.onerror: " + e); - this._eventHandlers.error(e); - Log.Debug("<< WebSock.onerror: " + e); - }; - } - - close() { - if (this._websocket) { - if ((this._websocket.readyState === WebSocket.OPEN) || - (this._websocket.readyState === WebSocket.CONNECTING)) { - Log.Info("Closing WebSocket connection"); - this._websocket.close(); - } - - this._websocket.onmessage = () => {}; - } - } - - // private methods - _encodeMessage() { - // Put in a binary arraybuffer - // according to the spec, you can send ArrayBufferViews with the send method - return new Uint8Array(this._sQ.buffer, 0, this._sQlen); - } - - // We want to move all the unread data to the start of the queue, - // e.g. compacting. - // The function also expands the receive que if needed, and for - // performance reasons we combine these two actions to avoid - // unneccessary copying. - _expandCompactRQ(minFit) { - // if we're using less than 1/8th of the buffer even with the incoming bytes, compact in place - // instead of resizing - const requiredBufferSize = (this._rQlen - this._rQi + minFit) * 8; - const resizeNeeded = this._rQbufferSize < requiredBufferSize; - - if (resizeNeeded) { - // Make sure we always *at least* double the buffer size, and have at least space for 8x - // the current amount of data - this._rQbufferSize = Math.max(this._rQbufferSize * 2, requiredBufferSize); - } - - // we don't want to grow unboundedly - if (this._rQbufferSize > MAX_RQ_GROW_SIZE) { - this._rQbufferSize = MAX_RQ_GROW_SIZE; - if (this._rQbufferSize - this.rQlen < minFit) { - throw new Error("Receive Queue buffer exceeded " + MAX_RQ_GROW_SIZE + " bytes, and the new message could not fit"); - } - } - - if (resizeNeeded) { - const oldRQbuffer = this._rQ.buffer; - this._rQ = new Uint8Array(this._rQbufferSize); - this._rQ.set(new Uint8Array(oldRQbuffer, this._rQi, this._rQlen - this._rQi)); - } else { - if (ENABLE_COPYWITHIN) { - this._rQ.copyWithin(0, this._rQi, this._rQlen); - } else { - this._rQ.set(new Uint8Array(this._rQ.buffer, this._rQi, this._rQlen - this._rQi)); - } - } - - this._rQlen = this._rQlen - this._rQi; - this._rQi = 0; - } - - // push arraybuffer values onto the end of the receive que - _DecodeMessage(data) { - const u8 = new Uint8Array(data); - if (u8.length > this._rQbufferSize - this._rQlen) { - this._expandCompactRQ(u8.length); - } - this._rQ.set(u8, this._rQlen); - this._rQlen += u8.length; - } - - _recv_message(e) { - this._DecodeMessage(e.data); - if (this.rQlen > 0) { - this._eventHandlers.message(); - if (this._rQlen == this._rQi) { - // All data has now been processed, this means we - // can reset the receive queue. - this._rQlen = 0; - this._rQi = 0; - } - } else { - Log.Debug("Ignoring empty message"); - } - } -} +/* + * Websock: high-performance binary WebSockets + * Copyright (C) 2019 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + * + * Websock is similar to the standard WebSocket object but with extra + * buffer handling. + * + * Websock has built-in receive queue buffering; the message event + * does not contain actual data but is simply a notification that + * there is new data available. Several rQ* methods are available to + * read binary data off of the receive queue. + */ + +import * as Log from './util/logging.js'; + +// this has performance issues in some versions Chromium, and +// doesn't gain a tremendous amount of performance increase in Firefox +// at the moment. It may be valuable to turn it on in the future. +// Also copyWithin() for TypedArrays is not supported in IE 11 or +// Safari 13 (at the moment we want to support Safari 11). +const ENABLE_COPYWITHIN = false; +const MAX_RQ_GROW_SIZE = 40 * 1024 * 1024; // 40 MiB + +export default class Websock { + constructor() { + this._websocket = null; // WebSocket object + + this._rQi = 0; // Receive queue index + this._rQlen = 0; // Next write position in the receive queue + this._rQbufferSize = 1024 * 1024 * 4; // Receive queue buffer size (4 MiB) + // called in init: this._rQ = new Uint8Array(this._rQbufferSize); + this._rQ = null; // Receive queue + + this._sQbufferSize = 1024 * 10; // 10 KiB + // called in init: this._sQ = new Uint8Array(this._sQbufferSize); + this._sQlen = 0; + this._sQ = null; // Send queue + + this._eventHandlers = { + message: () => {}, + open: () => {}, + close: () => {}, + error: () => {} + }; + } + + // Getters and Setters + get sQ() { + return this._sQ; + } + + get rQ() { + return this._rQ; + } + + get rQi() { + return this._rQi; + } + + set rQi(val) { + this._rQi = val; + } + + // Receive Queue + get rQlen() { + return this._rQlen - this._rQi; + } + + rQpeek8() { + return this._rQ[this._rQi]; + } + + rQskipBytes(bytes) { + this._rQi += bytes; + } + + rQshift8() { + return this._rQshift(1); + } + + rQshift16() { + return this._rQshift(2); + } + + rQshift32() { + return this._rQshift(4); + } + + // TODO(directxman12): test performance with these vs a DataView + _rQshift(bytes) { + let res = 0; + for (let byte = bytes - 1; byte >= 0; byte--) { + res += this._rQ[this._rQi++] << (byte * 8); + } + return res; + } + + rQshiftStr(len) { + if (typeof(len) === 'undefined') { len = this.rQlen; } + let str = ""; + // Handle large arrays in steps to avoid long strings on the stack + for (let i = 0; i < len; i += 4096) { + let part = this.rQshiftBytes(Math.min(4096, len - i)); + str += String.fromCharCode.apply(null, part); + } + return str; + } + + rQshiftBytes(len) { + if (typeof(len) === 'undefined') { len = this.rQlen; } + this._rQi += len; + return new Uint8Array(this._rQ.buffer, this._rQi - len, len); + } + + rQshiftTo(target, len) { + if (len === undefined) { len = this.rQlen; } + // TODO: make this just use set with views when using a ArrayBuffer to store the rQ + target.set(new Uint8Array(this._rQ.buffer, this._rQi, len)); + this._rQi += len; + } + + rQslice(start, end = this.rQlen) { + return new Uint8Array(this._rQ.buffer, this._rQi + start, end - start); + } + + // Check to see if we must wait for 'num' bytes (default to FBU.bytes) + // to be available in the receive queue. Return true if we need to + // wait (and possibly print a debug message), otherwise false. + rQwait(msg, num, goback) { + if (this.rQlen < num) { + if (goback) { + if (this._rQi < goback) { + throw new Error("rQwait cannot backup " + goback + " bytes"); + } + this._rQi -= goback; + } + return true; // true means need more data + } + return false; + } + + // Send Queue + + flush() { + if (this._sQlen > 0 && this._websocket.readyState === WebSocket.OPEN) { + this._websocket.send(this._encodeMessage()); + this._sQlen = 0; + } + } + + send(arr) { + this._sQ.set(arr, this._sQlen); + this._sQlen += arr.length; + this.flush(); + } + + sendString(str) { + this.send(str.split('').map(chr => chr.charCodeAt(0))); + } + + // Event Handlers + off(evt) { + this._eventHandlers[evt] = () => {}; + } + + on(evt, handler) { + this._eventHandlers[evt] = handler; + } + + _allocateBuffers() { + this._rQ = new Uint8Array(this._rQbufferSize); + this._sQ = new Uint8Array(this._sQbufferSize); + } + + init() { + this._allocateBuffers(); + this._rQi = 0; + this._websocket = null; + } + + open(uri, protocols) { + this.init(); + + this._websocket = new WebSocket(uri, protocols); + this._websocket.binaryType = 'arraybuffer'; + + this._websocket.onmessage = this._recv_message.bind(this); + this._websocket.onopen = () => { + Log.Debug('>> WebSock.onopen'); + if (this._websocket.protocol) { + Log.Info("Server choose sub-protocol: " + this._websocket.protocol); + } + + this._eventHandlers.open(); + Log.Debug("<< WebSock.onopen"); + }; + this._websocket.onclose = (e) => { + Log.Debug(">> WebSock.onclose"); + this._eventHandlers.close(e); + Log.Debug("<< WebSock.onclose"); + }; + this._websocket.onerror = (e) => { + Log.Debug(">> WebSock.onerror: " + e); + this._eventHandlers.error(e); + Log.Debug("<< WebSock.onerror: " + e); + }; + } + + close() { + if (this._websocket) { + if ((this._websocket.readyState === WebSocket.OPEN) || + (this._websocket.readyState === WebSocket.CONNECTING)) { + Log.Info("Closing WebSocket connection"); + this._websocket.close(); + } + + this._websocket.onmessage = () => {}; + } + } + + // private methods + _encodeMessage() { + // Put in a binary arraybuffer + // according to the spec, you can send ArrayBufferViews with the send method + return new Uint8Array(this._sQ.buffer, 0, this._sQlen); + } + + // We want to move all the unread data to the start of the queue, + // e.g. compacting. + // The function also expands the receive que if needed, and for + // performance reasons we combine these two actions to avoid + // unneccessary copying. + _expandCompactRQ(minFit) { + // if we're using less than 1/8th of the buffer even with the incoming bytes, compact in place + // instead of resizing + const requiredBufferSize = (this._rQlen - this._rQi + minFit) * 8; + const resizeNeeded = this._rQbufferSize < requiredBufferSize; + + if (resizeNeeded) { + // Make sure we always *at least* double the buffer size, and have at least space for 8x + // the current amount of data + this._rQbufferSize = Math.max(this._rQbufferSize * 2, requiredBufferSize); + } + + // we don't want to grow unboundedly + if (this._rQbufferSize > MAX_RQ_GROW_SIZE) { + this._rQbufferSize = MAX_RQ_GROW_SIZE; + if (this._rQbufferSize - this.rQlen < minFit) { + throw new Error("Receive Queue buffer exceeded " + MAX_RQ_GROW_SIZE + " bytes, and the new message could not fit"); + } + } + + if (resizeNeeded) { + const oldRQbuffer = this._rQ.buffer; + this._rQ = new Uint8Array(this._rQbufferSize); + this._rQ.set(new Uint8Array(oldRQbuffer, this._rQi, this._rQlen - this._rQi)); + } else { + if (ENABLE_COPYWITHIN) { + this._rQ.copyWithin(0, this._rQi, this._rQlen); + } else { + this._rQ.set(new Uint8Array(this._rQ.buffer, this._rQi, this._rQlen - this._rQi)); + } + } + + this._rQlen = this._rQlen - this._rQi; + this._rQi = 0; + } + + // push arraybuffer values onto the end of the receive que + _DecodeMessage(data) { + const u8 = new Uint8Array(data); + if (u8.length > this._rQbufferSize - this._rQlen) { + this._expandCompactRQ(u8.length); + } + this._rQ.set(u8, this._rQlen); + this._rQlen += u8.length; + } + + _recv_message(e) { + this._DecodeMessage(e.data); + if (this.rQlen > 0) { + this._eventHandlers.message(); + if (this._rQlen == this._rQi) { + // All data has now been processed, this means we + // can reset the receive queue. + this._rQlen = 0; + this._rQi = 0; + } + } else { + Log.Debug("Ignoring empty message"); + } + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/VERSION b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/VERSION index 323d4f3..f20d666 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/VERSION +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/VERSION @@ -1 +1 @@ -1.0.0-testing.2 +1.0.0-testing.2 diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/flash_policy.txt b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/flash_policy.txt index df325c0..e36b495 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/flash_policy.txt +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/flash_policy.txt @@ -1,4 +1,4 @@ -Manual setup: - -DATA="echo \'\'" -/usr/bin/socat -T 1 TCP-L:843,reuseaddr,fork,crlf SYSTEM:"$DATA" +Manual setup: + +DATA="echo \'\'" +/usr/bin/socat -T 1 TCP-L:843,reuseaddr,fork,crlf SYSTEM:"$DATA" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/links b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/links index 31544ce..391ee9a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/links +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/links @@ -1,76 +1,76 @@ -New tight PNG protocol: - http://wiki.qemu.org/VNC_Tight_PNG - http://xf.iksaif.net/blog/index.php?post/2010/06/14/QEMU:-Tight-PNG-and-some-profiling - -RFB protocol and extensions: - http://tigervnc.org/cgi-bin/rfbproto - -Canvas Browser Compatibility: - http://philip.html5.org/tests/canvas/suite/tests/results.html - -WebSockets API standard: - http://www.whatwg.org/specs/web-apps/current-work/complete.html#websocket - http://dev.w3.org/html5/websockets/ - http://www.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol-00.txt - -Browser Keyboard Events detailed: - http://unixpapa.com/js/key.html - -ActionScript (Flash) WebSocket implementation: - http://github.com/gimite/web-socket-js - -ActionScript (Flash) crypto/TLS library: - http://code.google.com/p/as3crypto - http://github.com/lyokato/as3crypto_patched - -TLS Protocol: - http://en.wikipedia.org/wiki/Transport_Layer_Security - -Generate self-signed certificate: - http://docs.python.org/dev/library/ssl.html#certificates - -Cursor appearance/style (for Cursor pseudo-encoding): - http://en.wikipedia.org/wiki/ICO_(file_format) - http://www.daubnet.com/en/file-format-cur - https://developer.mozilla.org/en/Using_URL_values_for_the_cursor_property - http://www.fileformat.info/format/bmp/egff.htm - -Icon/Cursor file format: - http://msdn.microsoft.com/en-us/library/ms997538 - http://msdn.microsoft.com/en-us/library/aa921550.aspx - http://msdn.microsoft.com/en-us/library/aa930622.aspx - - -RDP Protocol specification: - http://msdn.microsoft.com/en-us/library/cc240445(v=PROT.10).aspx - - -Related projects: - - guacamole: http://guacamole.sourceforge.net/ - - - Web client, but Java servlet does pre-processing - - jsvnc: http://code.google.com/p/jsvnc/ - - - No releases - - webvnc: http://code.google.com/p/webvnc/ - - - Jetty web server gateway, no updates since April 2008. - - RealVNC Java applet: http://www.realvnc.com/support/javavncviewer.html - - - Java applet - - Flashlight-VNC: http://www.wizhelp.com/flashlight-vnc/ - - - Adobe Flash implementation - - FVNC: http://osflash.org/fvnc - - - Adbove Flash implementation - - CanVNC: http://canvnc.sourceforge.net/ - - - HTML client with REST to VNC python proxy. Mostly vapor. +New tight PNG protocol: + http://wiki.qemu.org/VNC_Tight_PNG + http://xf.iksaif.net/blog/index.php?post/2010/06/14/QEMU:-Tight-PNG-and-some-profiling + +RFB protocol and extensions: + http://tigervnc.org/cgi-bin/rfbproto + +Canvas Browser Compatibility: + http://philip.html5.org/tests/canvas/suite/tests/results.html + +WebSockets API standard: + http://www.whatwg.org/specs/web-apps/current-work/complete.html#websocket + http://dev.w3.org/html5/websockets/ + http://www.ietf.org/id/draft-ietf-hybi-thewebsocketprotocol-00.txt + +Browser Keyboard Events detailed: + http://unixpapa.com/js/key.html + +ActionScript (Flash) WebSocket implementation: + http://github.com/gimite/web-socket-js + +ActionScript (Flash) crypto/TLS library: + http://code.google.com/p/as3crypto + http://github.com/lyokato/as3crypto_patched + +TLS Protocol: + http://en.wikipedia.org/wiki/Transport_Layer_Security + +Generate self-signed certificate: + http://docs.python.org/dev/library/ssl.html#certificates + +Cursor appearance/style (for Cursor pseudo-encoding): + http://en.wikipedia.org/wiki/ICO_(file_format) + http://www.daubnet.com/en/file-format-cur + https://developer.mozilla.org/en/Using_URL_values_for_the_cursor_property + http://www.fileformat.info/format/bmp/egff.htm + +Icon/Cursor file format: + http://msdn.microsoft.com/en-us/library/ms997538 + http://msdn.microsoft.com/en-us/library/aa921550.aspx + http://msdn.microsoft.com/en-us/library/aa930622.aspx + + +RDP Protocol specification: + http://msdn.microsoft.com/en-us/library/cc240445(v=PROT.10).aspx + + +Related projects: + + guacamole: http://guacamole.sourceforge.net/ + + - Web client, but Java servlet does pre-processing + + jsvnc: http://code.google.com/p/jsvnc/ + + - No releases + + webvnc: http://code.google.com/p/webvnc/ + + - Jetty web server gateway, no updates since April 2008. + + RealVNC Java applet: http://www.realvnc.com/support/javavncviewer.html + + - Java applet + + Flashlight-VNC: http://www.wizhelp.com/flashlight-vnc/ + + - Adobe Flash implementation + + FVNC: http://osflash.org/fvnc + + - Adbove Flash implementation + + CanVNC: http://canvnc.sourceforge.net/ + + - HTML client with REST to VNC python proxy. Mostly vapor. diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/notes b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/notes index dfef0bd..cd2fc51 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/notes +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/notes @@ -1,5 +1,5 @@ -Rebuilding inflator.js - -- Download pako from npm -- Install browserify using npm -- browserify core/inflator.mod.js -o core/inflator.js -s Inflator +Rebuilding inflator.js + +- Download pako from npm +- Install browserify using npm +- browserify core/inflator.mod.js -o core/inflator.js -s Inflator diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/release.txt b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/release.txt index 3e03635..a0a5ed9 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/release.txt +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/release.txt @@ -1,34 +1,34 @@ -- Decide a new version number X.Y.Z (follow SemVer) -- Update version in package.json -- Update version in docs/VERSION -- Commit the change with a commit like "Release X.Y.Z" -- Add a new release on GitHub called "vX.Y.Z", and populate it with - release notes of the following form (where A.B.C is the last release): - -Major Changes Since A.B.C -========================= - -*Insert warnings here about incompatibilities* - -*Thanks to all the contributors who filed bugs, added features, and fixed bugs -during this release :tada:* - -App-visible Changes -------------------- - -- *feature* a feature which improves the app usage (#PRNUM) -- *bugfix* a bug fix which fixes the app usage (#PRNUM) -- *refactor* a refactor which changes the app usage (#PRNUM) - -Library-visible Changes ------------------------ - -- *feature* a feature which improves the noVNC APIs (#PRNUM) -- *bugfix* a bug fix which fixes the noVNC APIs (#PRNUM) -- *refactor* a refactor which changes the noVNC APIs (#PRNUM) - -App-internals Changes ---------------------- - -- *bugfix* a bug fix with affects the internals of noVNC only (#PRNUM) -- *refactor* a refactor which affects the internals of noVNC only (#PRNUM) +- Decide a new version number X.Y.Z (follow SemVer) +- Update version in package.json +- Update version in docs/VERSION +- Commit the change with a commit like "Release X.Y.Z" +- Add a new release on GitHub called "vX.Y.Z", and populate it with + release notes of the following form (where A.B.C is the last release): + +Major Changes Since A.B.C +========================= + +*Insert warnings here about incompatibilities* + +*Thanks to all the contributors who filed bugs, added features, and fixed bugs +during this release :tada:* + +App-visible Changes +------------------- + +- *feature* a feature which improves the app usage (#PRNUM) +- *bugfix* a bug fix which fixes the app usage (#PRNUM) +- *refactor* a refactor which changes the app usage (#PRNUM) + +Library-visible Changes +----------------------- + +- *feature* a feature which improves the noVNC APIs (#PRNUM) +- *bugfix* a bug fix which fixes the noVNC APIs (#PRNUM) +- *refactor* a refactor which changes the noVNC APIs (#PRNUM) + +App-internals Changes +--------------------- + +- *bugfix* a bug fix with affects the internals of noVNC only (#PRNUM) +- *refactor* a refactor which affects the internals of noVNC only (#PRNUM) diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/rfb_notes b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/rfb_notes index 643e16c..e3c0557 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/docs/rfb_notes +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/docs/rfb_notes @@ -1,147 +1,147 @@ -5.1.1 ProtocolVersion: 12, 12 bytes - - - Sent by server, max supported - 12 ascii - "RFB 003.008\n" - - Response by client, version to use - 12 ascii - "RFB 003.003\n" - -5.1.2 Authentication: >=4, [16, 4] bytes - - - Sent by server - CARD32 - authentication-scheme - 0 - connection failed - CARD32 - length - length - reason - 1 - no authentication - - 2 - VNC authentication - 16 CARD8 - challenge (random bytes) - - - Response by client (if VNC authentication) - 16 CARD8 - client encrypts the challenge with DES, using user - password as key, sends resulting 16 byte response - - - Response by server (if VNC authentication) - CARD32 - 0 - OK - 1 - failed - 2 - too-many - -5.1.3 ClientInitialisation: 1 byte - - Sent by client - CARD8 - shared-flag, 0 exclusive, non-zero shared - -5.1.4 ServerInitialisation: >=24 bytes - - Sent by server - CARD16 - framebuffer-width - CARD16 - framebuffer-height - 16 byte PIXEL_FORMAT - server-pixel-format - CARD8 - bits-per-pixel - CARD8 - depth - CARD8 - big-endian-flag, non-zero is big endian - CARD8 - true-color-flag, non-zero then next 6 apply - CARD16 - red-max - CARD16 - green-max - CARD16 - blue-max - CARD8 - red-shift - CARD8 - green-shift - CARD8 - blue-shift - 3 bytes - padding - CARD32 - name-length - - CARD8[length] - name-string - - - -Client to Server Messages: - -5.2.1 SetPixelFormat: 20 bytes - CARD8: 0 - message-type - ... - -5.2.2 FixColourMapEntries: >=6 bytes - CARD8: 1 - message-type - ... - -5.2.3 SetEncodings: >=8 bytes - CARD8: 2 - message-type - CARD8 - padding - CARD16 - numer-of-encodings - - CARD32 - encoding-type in preference order - 0 - raw - 1 - copy-rectangle - 2 - RRE - 4 - CoRRE - 5 - hextile - -5.2.4 FramebufferUpdateRequest (10 bytes) - CARD8: 3 - message-type - CARD8 - incremental (0 for full-update, non-zero for incremental) - CARD16 - x-position - CARD16 - y-position - CARD16 - width - CARD16 - height - - -5.2.5 KeyEvent: 8 bytes - CARD8: 4 - message-type - CARD8 - down-flag - 2 bytes - padding - CARD32 - key (X-Windows keysym values) - -5.2.6 PointerEvent: 6 bytes - CARD8: 5 - message-type - CARD8 - button-mask - CARD16 - x-position - CARD16 - y-position - -5.2.7 ClientCutText: >=9 bytes - CARD8: 6 - message-type - ... - - -Server to Client Messages: - -5.3.1 FramebufferUpdate - CARD8: 0 - message-type - 1 byte - padding - CARD16 - number-of-rectangles - - CARD16 - x-position - CARD16 - y-position - CARD16 - width - CARD16 - height - CARD16 - encoding-type: - 0 - raw - 1 - copy rectangle - 2 - RRE - 4 - CoRRE - 5 - hextile - - raw: - - width x height pixel values - - copy rectangle: - CARD16 - src-x-position - CARD16 - src-y-position - - RRE: - CARD32 - N number-of-subrectangles - Nxd bytes - background-pixel-value (d bits-per-pixel) - - ... - -5.3.2 SetColourMapEntries (no support) - CARD8: 1 - message-type - ... - -5.3.3 Bell - CARD8: 2 - message-type - -5.3.4 ServerCutText - CARD8: 3 - message-type - - - - - +5.1.1 ProtocolVersion: 12, 12 bytes + + - Sent by server, max supported + 12 ascii - "RFB 003.008\n" + - Response by client, version to use + 12 ascii - "RFB 003.003\n" + +5.1.2 Authentication: >=4, [16, 4] bytes + + - Sent by server + CARD32 - authentication-scheme + 0 - connection failed + CARD32 - length + length - reason + 1 - no authentication + + 2 - VNC authentication + 16 CARD8 - challenge (random bytes) + + - Response by client (if VNC authentication) + 16 CARD8 - client encrypts the challenge with DES, using user + password as key, sends resulting 16 byte response + + - Response by server (if VNC authentication) + CARD32 - 0 - OK + 1 - failed + 2 - too-many + +5.1.3 ClientInitialisation: 1 byte + - Sent by client + CARD8 - shared-flag, 0 exclusive, non-zero shared + +5.1.4 ServerInitialisation: >=24 bytes + - Sent by server + CARD16 - framebuffer-width + CARD16 - framebuffer-height + 16 byte PIXEL_FORMAT - server-pixel-format + CARD8 - bits-per-pixel + CARD8 - depth + CARD8 - big-endian-flag, non-zero is big endian + CARD8 - true-color-flag, non-zero then next 6 apply + CARD16 - red-max + CARD16 - green-max + CARD16 - blue-max + CARD8 - red-shift + CARD8 - green-shift + CARD8 - blue-shift + 3 bytes - padding + CARD32 - name-length + + CARD8[length] - name-string + + + +Client to Server Messages: + +5.2.1 SetPixelFormat: 20 bytes + CARD8: 0 - message-type + ... + +5.2.2 FixColourMapEntries: >=6 bytes + CARD8: 1 - message-type + ... + +5.2.3 SetEncodings: >=8 bytes + CARD8: 2 - message-type + CARD8 - padding + CARD16 - numer-of-encodings + + CARD32 - encoding-type in preference order + 0 - raw + 1 - copy-rectangle + 2 - RRE + 4 - CoRRE + 5 - hextile + +5.2.4 FramebufferUpdateRequest (10 bytes) + CARD8: 3 - message-type + CARD8 - incremental (0 for full-update, non-zero for incremental) + CARD16 - x-position + CARD16 - y-position + CARD16 - width + CARD16 - height + + +5.2.5 KeyEvent: 8 bytes + CARD8: 4 - message-type + CARD8 - down-flag + 2 bytes - padding + CARD32 - key (X-Windows keysym values) + +5.2.6 PointerEvent: 6 bytes + CARD8: 5 - message-type + CARD8 - button-mask + CARD16 - x-position + CARD16 - y-position + +5.2.7 ClientCutText: >=9 bytes + CARD8: 6 - message-type + ... + + +Server to Client Messages: + +5.3.1 FramebufferUpdate + CARD8: 0 - message-type + 1 byte - padding + CARD16 - number-of-rectangles + + CARD16 - x-position + CARD16 - y-position + CARD16 - width + CARD16 - height + CARD16 - encoding-type: + 0 - raw + 1 - copy rectangle + 2 - RRE + 4 - CoRRE + 5 - hextile + + raw: + - width x height pixel values + + copy rectangle: + CARD16 - src-x-position + CARD16 - src-y-position + + RRE: + CARD32 - N number-of-subrectangles + Nxd bytes - background-pixel-value (d bits-per-pixel) + + ... + +5.3.2 SetColourMapEntries (no support) + CARD8: 1 - message-type + ... + +5.3.3 Bell + CARD8: 2 - message-type + +5.3.4 ServerCutText + CARD8: 3 - message-type + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/index.html b/whmcs/modules/servers/virtualizor_cloud/novnc/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/karma.conf.js b/whmcs/modules/servers/virtualizor_cloud/novnc/karma.conf.js index c295b1f..1755344 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/karma.conf.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/karma.conf.js @@ -1,88 +1,88 @@ -// Karma configuration - -// The Safari launcher is broken, so construct our own -function SafariBrowser(id, baseBrowserDecorator, args) { - baseBrowserDecorator(this); - - this._start = function(url) { - this._execCommand('/usr/bin/open', ['-W', '-n', '-a', 'Safari', url]); - } -} - -SafariBrowser.prototype = { - name: 'Safari' -} - -module.exports = (config) => { - let browsers = []; - - if (process.env.TEST_BROWSER_NAME) { - browsers = process.env.TEST_BROWSER_NAME.split(','); - } - - const my_conf = { - - // base path that will be used to resolve all patterns (eg. files, exclude) - basePath: '', - - // frameworks to use - // available frameworks: https://npmjs.org/browse/keyword/karma-adapter - frameworks: ['mocha', 'sinon-chai'], - - // list of files / patterns to load in the browser (loaded in order) - files: [ - { pattern: 'app/localization.js', included: false }, - { pattern: 'app/webutil.js', included: false }, - { pattern: 'core/**/*.js', included: false }, - { pattern: 'vendor/pako/**/*.js', included: false }, - { pattern: 'vendor/browser-es-module-loader/dist/*.js*', included: false }, - { pattern: 'tests/test.*.js', included: false }, - { pattern: 'tests/fake.*.js', included: false }, - { pattern: 'tests/assertions.js', included: false }, - 'vendor/promise.js', - 'tests/karma-test-main.js', - ], - - client: { - mocha: { - // replace Karma debug page with mocha display - 'reporter': 'html', - 'ui': 'bdd' - } - }, - - // list of files to exclude - exclude: [ - ], - - plugins: [ - 'karma-*', - '@chiragrupani/karma-chromium-edge-launcher', - { 'launcher:Safari': [ 'type', SafariBrowser ] }, - ], - - // start these browsers - // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher - browsers: browsers, - - // test results reporter to use - // possible values: 'dots', 'progress' - // available reporters: https://npmjs.org/browse/keyword/karma-reporter - reporters: ['mocha'], - - - // level of logging - // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG - logLevel: config.LOG_INFO, - - - // enable / disable watching file and executing tests whenever any file changes - autoWatch: false, - - // Continuous Integration mode - // if true, Karma captures browsers, runs the tests and exits - singleRun: true, - }; - - config.set(my_conf); -}; +// Karma configuration + +// The Safari launcher is broken, so construct our own +function SafariBrowser(id, baseBrowserDecorator, args) { + baseBrowserDecorator(this); + + this._start = function(url) { + this._execCommand('/usr/bin/open', ['-W', '-n', '-a', 'Safari', url]); + } +} + +SafariBrowser.prototype = { + name: 'Safari' +} + +module.exports = (config) => { + let browsers = []; + + if (process.env.TEST_BROWSER_NAME) { + browsers = process.env.TEST_BROWSER_NAME.split(','); + } + + const my_conf = { + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha', 'sinon-chai'], + + // list of files / patterns to load in the browser (loaded in order) + files: [ + { pattern: 'app/localization.js', included: false }, + { pattern: 'app/webutil.js', included: false }, + { pattern: 'core/**/*.js', included: false }, + { pattern: 'vendor/pako/**/*.js', included: false }, + { pattern: 'vendor/browser-es-module-loader/dist/*.js*', included: false }, + { pattern: 'tests/test.*.js', included: false }, + { pattern: 'tests/fake.*.js', included: false }, + { pattern: 'tests/assertions.js', included: false }, + 'vendor/promise.js', + 'tests/karma-test-main.js', + ], + + client: { + mocha: { + // replace Karma debug page with mocha display + 'reporter': 'html', + 'ui': 'bdd' + } + }, + + // list of files to exclude + exclude: [ + ], + + plugins: [ + 'karma-*', + '@chiragrupani/karma-chromium-edge-launcher', + { 'launcher:Safari': [ 'type', SafariBrowser ] }, + ], + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: browsers, + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['mocha'], + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: false, + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: true, + }; + + config.set(my_conf); +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/novnc.html b/whmcs/modules/servers/virtualizor_cloud/novnc/novnc.html index cd5075b..b827c36 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/novnc.html +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/novnc.html @@ -1,339 +1,339 @@ - - - - - - noVNC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
noVNC encountered an error:
-
-
-
-
- - -
- -
-
- -
- -

no
VNC

- - - - - -
- - - - - -
- - -
- -
-
- - - - - -
-
-
- - - -
-
-
- Power -
- - - -
-
- - - - - - - - - - -
-
-
    -
  • - Settings -
  • -
  • - -
  • -
  • - -
  • -

  • -
  • - -
  • -
  • - - -
  • -

  • -
  • - -
      -
    • - - -
    • -
    • -
      WebSocket
      -
        -
      • - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - -
      • -
      -
    • -

    • -
    • - -
    • -
    • - - -
    • -

    • - -
    • - -
    • -
    -
  • -
-
-
- - - - -
-
- -
- -
- - -
- - -
-
- -
- Connect -
-
-
- - -
-
-
    -
  • - - -
  • -
  • - -
  • -
-
-
- - -
-
-
- -
-
-
- - -
- - -
- - - - + + + + + + noVNC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
noVNC encountered an error:
+
+
+
+
+ + +
+ +
+
+ +
+ +

no
VNC

+ + + + + +
+ + + + + +
+ + +
+ +
+
+ + + + + +
+
+
+ + + +
+
+
+ Power +
+ + + +
+
+ + + + + + + + + + +
+
+
    +
  • + Settings +
  • +
  • + +
  • +
  • + +
  • +

  • +
  • + +
  • +
  • + + +
  • +

  • +
  • + +
      +
    • + + +
    • +
    • +
      WebSocket
      +
        +
      • + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + +
      • +
      +
    • +

    • +
    • + +
    • +
    • + + +
    • +

    • + +
    • + +
    • +
    +
  • +
+
+
+ + + + +
+
+ +
+ +
+ + +
+ + +
+
+ +
+ Connect +
+
+
+ + +
+
+
    +
  • + + +
  • +
  • + +
  • +
+
+
+ + +
+
+
+ +
+
+
+ + +
+ + +
+ + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/.eslintrc b/whmcs/modules/servers/virtualizor_cloud/novnc/po/.eslintrc index a0157e2..8e16c9c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/.eslintrc +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/.eslintrc @@ -1,5 +1,5 @@ -{ - "env": { - "node": true, - }, -} +{ + "env": { + "node": true, + }, +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/Makefile b/whmcs/modules/servers/virtualizor_cloud/novnc/po/Makefile index cce293d..321fa09 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/Makefile +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/Makefile @@ -1,35 +1,35 @@ -all: -.PHONY: update-po update-js update-pot - -LINGUAS := cs de el es ja ko nl pl ru sv tr zh_CN zh_TW - -VERSION := $(shell grep '"version"' ../package.json | cut -d '"' -f 4) - -POFILES := $(addsuffix .po,$(LINGUAS)) -JSONFILES := $(addprefix ../app/locale/,$(addsuffix .json,$(LINGUAS))) - -update-po: $(POFILES) -update-js: $(JSONFILES) - -%.po: noVNC.pot - msgmerge --update --lang=$* $@ $< -../app/locale/%.json: %.po - ./po2js $< $@ - -update-pot: - xgettext --output=noVNC.js.pot \ - --copyright-holder="The noVNC Authors" \ - --package-name="noVNC" \ - --package-version="$(VERSION)" \ - --msgid-bugs-address="novnc@googlegroups.com" \ - --add-comments=TRANSLATORS: \ - --from-code=UTF-8 \ - --sort-by-file \ - ../app/*.js \ - ../core/*.js \ - ../core/input/*.js - ./xgettext-html --output=noVNC.html.pot \ - ../vnc.html - msgcat --output-file=noVNC.pot \ - --sort-by-file noVNC.js.pot noVNC.html.pot - rm -f noVNC.js.pot noVNC.html.pot +all: +.PHONY: update-po update-js update-pot + +LINGUAS := cs de el es ja ko nl pl ru sv tr zh_CN zh_TW + +VERSION := $(shell grep '"version"' ../package.json | cut -d '"' -f 4) + +POFILES := $(addsuffix .po,$(LINGUAS)) +JSONFILES := $(addprefix ../app/locale/,$(addsuffix .json,$(LINGUAS))) + +update-po: $(POFILES) +update-js: $(JSONFILES) + +%.po: noVNC.pot + msgmerge --update --lang=$* $@ $< +../app/locale/%.json: %.po + ./po2js $< $@ + +update-pot: + xgettext --output=noVNC.js.pot \ + --copyright-holder="The noVNC Authors" \ + --package-name="noVNC" \ + --package-version="$(VERSION)" \ + --msgid-bugs-address="novnc@googlegroups.com" \ + --add-comments=TRANSLATORS: \ + --from-code=UTF-8 \ + --sort-by-file \ + ../app/*.js \ + ../core/*.js \ + ../core/input/*.js + ./xgettext-html --output=noVNC.html.pot \ + ../vnc.html + msgcat --output-file=noVNC.pot \ + --sort-by-file noVNC.js.pot noVNC.html.pot + rm -f noVNC.js.pot noVNC.html.pot diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/cs.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/cs.po index 2b1efd8..540d6a4 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/cs.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/cs.po @@ -1,294 +1,294 @@ -# Czech translations for noVNC package. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Petr , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.0.0-testing.2\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2018-10-19 12:00+0200\n" -"PO-Revision-Date: 2018-10-19 12:00+0200\n" -"Last-Translator: Petr \n" -"Language-Team: Czech\n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" - -#: ../app/ui.js:389 -msgid "Connecting..." -msgstr "Připojení..." - -#: ../app/ui.js:396 -msgid "Disconnecting..." -msgstr "Odpojení..." - -#: ../app/ui.js:402 -msgid "Reconnecting..." -msgstr "Obnova připojení..." - -#: ../app/ui.js:407 -msgid "Internal error" -msgstr "Vnitřní chyba" - -#: ../app/ui.js:997 -msgid "Must set host" -msgstr "Hostitel musí být nastavení" - -#: ../app/ui.js:1079 -msgid "Connected (encrypted) to " -msgstr "Připojení (šifrované) k " - -#: ../app/ui.js:1081 -msgid "Connected (unencrypted) to " -msgstr "Připojení (nešifrované) k " - -#: ../app/ui.js:1104 -msgid "Something went wrong, connection is closed" -msgstr "Něco se pokazilo, odpojeno" - -#: ../app/ui.js:1107 -msgid "Failed to connect to server" -msgstr "Chyba připojení k serveru" - -#: ../app/ui.js:1117 -msgid "Disconnected" -msgstr "Odpojeno" - -#: ../app/ui.js:1130 -msgid "New connection has been rejected with reason: " -msgstr "Nové připojení bylo odmítnuto s odůvodněním: " - -#: ../app/ui.js:1133 -msgid "New connection has been rejected" -msgstr "Nové připojení bylo odmítnuto" - -#: ../app/ui.js:1153 -msgid "Password is required" -msgstr "Je vyžadováno heslo" - -#: ../vnc.html:84 -msgid "noVNC encountered an error:" -msgstr "noVNC narazilo na chybu:" - -#: ../vnc.html:94 -msgid "Hide/Show the control bar" -msgstr "Skrýt/zobrazit ovládací panel" - -#: ../vnc.html:101 -msgid "Move/Drag Viewport" -msgstr "Přesunout/přetáhnout výřez" - -#: ../vnc.html:101 -msgid "viewport drag" -msgstr "přesun výřezu" - -#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 -msgid "Active Mouse Button" -msgstr "Aktivní tlačítka myši" - -#: ../vnc.html:107 -msgid "No mousebutton" -msgstr "Žádné" - -#: ../vnc.html:110 -msgid "Left mousebutton" -msgstr "Levé tlačítko myši" - -#: ../vnc.html:113 -msgid "Middle mousebutton" -msgstr "Prostřední tlačítko myši" - -#: ../vnc.html:116 -msgid "Right mousebutton" -msgstr "Pravé tlačítko myši" - -#: ../vnc.html:119 -msgid "Keyboard" -msgstr "Klávesnice" - -#: ../vnc.html:119 -msgid "Show Keyboard" -msgstr "Zobrazit klávesnici" - -#: ../vnc.html:126 -msgid "Extra keys" -msgstr "Extra klávesy" - -#: ../vnc.html:126 -msgid "Show Extra Keys" -msgstr "Zobrazit extra klávesy" - -#: ../vnc.html:131 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:131 -msgid "Toggle Ctrl" -msgstr "Přepnout Ctrl" - -#: ../vnc.html:134 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:134 -msgid "Toggle Alt" -msgstr "Přepnout Alt" - -#: ../vnc.html:137 -msgid "Send Tab" -msgstr "Odeslat tabulátor" - -#: ../vnc.html:137 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:140 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:140 -msgid "Send Escape" -msgstr "Odeslat Esc" - -#: ../vnc.html:143 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:143 -msgid "Send Ctrl-Alt-Del" -msgstr "Poslat Ctrl-Alt-Del" - -#: ../vnc.html:151 -msgid "Shutdown/Reboot" -msgstr "Vypnutí/Restart" - -#: ../vnc.html:151 -msgid "Shutdown/Reboot..." -msgstr "Vypnutí/Restart..." - -#: ../vnc.html:157 -msgid "Power" -msgstr "Napájení" - -#: ../vnc.html:159 -msgid "Shutdown" -msgstr "Vypnout" - -#: ../vnc.html:160 -msgid "Reboot" -msgstr "Restart" - -#: ../vnc.html:161 -msgid "Reset" -msgstr "Reset" - -#: ../vnc.html:166 ../vnc.html:172 -msgid "Clipboard" -msgstr "Schránka" - -#: ../vnc.html:176 -msgid "Clear" -msgstr "Vymazat" - -#: ../vnc.html:182 -msgid "Fullscreen" -msgstr "Celá obrazovka" - -#: ../vnc.html:187 ../vnc.html:194 -msgid "Settings" -msgstr "Nastavení" - -#: ../vnc.html:197 -msgid "Shared Mode" -msgstr "Sdílený režim" - -#: ../vnc.html:200 -msgid "View Only" -msgstr "Pouze prohlížení" - -#: ../vnc.html:204 -msgid "Clip to Window" -msgstr "Přizpůsobit oknu" - -#: ../vnc.html:207 -msgid "Scaling Mode:" -msgstr "Přizpůsobení velikosti" - -#: ../vnc.html:209 -msgid "None" -msgstr "Žádné" - -#: ../vnc.html:210 -msgid "Local Scaling" -msgstr "Místní" - -#: ../vnc.html:211 -msgid "Remote Resizing" -msgstr "Vzdálené" - -#: ../vnc.html:216 -msgid "Advanced" -msgstr "Pokročilé" - -#: ../vnc.html:219 -msgid "Repeater ID:" -msgstr "ID opakovače" - -#: ../vnc.html:223 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:226 -msgid "Encrypt" -msgstr "Šifrování:" - -#: ../vnc.html:229 -msgid "Host:" -msgstr "Hostitel:" - -#: ../vnc.html:233 -msgid "Port:" -msgstr "Port:" - -#: ../vnc.html:237 -msgid "Path:" -msgstr "Cesta" - -#: ../vnc.html:244 -msgid "Automatic Reconnect" -msgstr "Automatická obnova připojení" - -#: ../vnc.html:247 -msgid "Reconnect Delay (ms):" -msgstr "Zpoždění připojení (ms)" - -#: ../vnc.html:252 -msgid "Show Dot when No Cursor" -msgstr "Tečka místo chybějícího kurzoru myši" - -#: ../vnc.html:257 -msgid "Logging:" -msgstr "Logování:" - -#: ../vnc.html:269 -msgid "Disconnect" -msgstr "Odpojit" - -#: ../vnc.html:288 -msgid "Connect" -msgstr "Připojit" - -#: ../vnc.html:298 -msgid "Password:" -msgstr "Heslo" - -#: ../vnc.html:302 -msgid "Send Password" -msgstr "Odeslat heslo" - -#: ../vnc.html:312 -msgid "Cancel" -msgstr "Zrušit" +# Czech translations for noVNC package. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Petr , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.0.0-testing.2\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2018-10-19 12:00+0200\n" +"PO-Revision-Date: 2018-10-19 12:00+0200\n" +"Last-Translator: Petr \n" +"Language-Team: Czech\n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: ../app/ui.js:389 +msgid "Connecting..." +msgstr "Připojení..." + +#: ../app/ui.js:396 +msgid "Disconnecting..." +msgstr "Odpojení..." + +#: ../app/ui.js:402 +msgid "Reconnecting..." +msgstr "Obnova připojení..." + +#: ../app/ui.js:407 +msgid "Internal error" +msgstr "Vnitřní chyba" + +#: ../app/ui.js:997 +msgid "Must set host" +msgstr "Hostitel musí být nastavení" + +#: ../app/ui.js:1079 +msgid "Connected (encrypted) to " +msgstr "Připojení (šifrované) k " + +#: ../app/ui.js:1081 +msgid "Connected (unencrypted) to " +msgstr "Připojení (nešifrované) k " + +#: ../app/ui.js:1104 +msgid "Something went wrong, connection is closed" +msgstr "Něco se pokazilo, odpojeno" + +#: ../app/ui.js:1107 +msgid "Failed to connect to server" +msgstr "Chyba připojení k serveru" + +#: ../app/ui.js:1117 +msgid "Disconnected" +msgstr "Odpojeno" + +#: ../app/ui.js:1130 +msgid "New connection has been rejected with reason: " +msgstr "Nové připojení bylo odmítnuto s odůvodněním: " + +#: ../app/ui.js:1133 +msgid "New connection has been rejected" +msgstr "Nové připojení bylo odmítnuto" + +#: ../app/ui.js:1153 +msgid "Password is required" +msgstr "Je vyžadováno heslo" + +#: ../vnc.html:84 +msgid "noVNC encountered an error:" +msgstr "noVNC narazilo na chybu:" + +#: ../vnc.html:94 +msgid "Hide/Show the control bar" +msgstr "Skrýt/zobrazit ovládací panel" + +#: ../vnc.html:101 +msgid "Move/Drag Viewport" +msgstr "Přesunout/přetáhnout výřez" + +#: ../vnc.html:101 +msgid "viewport drag" +msgstr "přesun výřezu" + +#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 +msgid "Active Mouse Button" +msgstr "Aktivní tlačítka myši" + +#: ../vnc.html:107 +msgid "No mousebutton" +msgstr "Žádné" + +#: ../vnc.html:110 +msgid "Left mousebutton" +msgstr "Levé tlačítko myši" + +#: ../vnc.html:113 +msgid "Middle mousebutton" +msgstr "Prostřední tlačítko myši" + +#: ../vnc.html:116 +msgid "Right mousebutton" +msgstr "Pravé tlačítko myši" + +#: ../vnc.html:119 +msgid "Keyboard" +msgstr "Klávesnice" + +#: ../vnc.html:119 +msgid "Show Keyboard" +msgstr "Zobrazit klávesnici" + +#: ../vnc.html:126 +msgid "Extra keys" +msgstr "Extra klávesy" + +#: ../vnc.html:126 +msgid "Show Extra Keys" +msgstr "Zobrazit extra klávesy" + +#: ../vnc.html:131 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:131 +msgid "Toggle Ctrl" +msgstr "Přepnout Ctrl" + +#: ../vnc.html:134 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:134 +msgid "Toggle Alt" +msgstr "Přepnout Alt" + +#: ../vnc.html:137 +msgid "Send Tab" +msgstr "Odeslat tabulátor" + +#: ../vnc.html:137 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:140 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:140 +msgid "Send Escape" +msgstr "Odeslat Esc" + +#: ../vnc.html:143 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:143 +msgid "Send Ctrl-Alt-Del" +msgstr "Poslat Ctrl-Alt-Del" + +#: ../vnc.html:151 +msgid "Shutdown/Reboot" +msgstr "Vypnutí/Restart" + +#: ../vnc.html:151 +msgid "Shutdown/Reboot..." +msgstr "Vypnutí/Restart..." + +#: ../vnc.html:157 +msgid "Power" +msgstr "Napájení" + +#: ../vnc.html:159 +msgid "Shutdown" +msgstr "Vypnout" + +#: ../vnc.html:160 +msgid "Reboot" +msgstr "Restart" + +#: ../vnc.html:161 +msgid "Reset" +msgstr "Reset" + +#: ../vnc.html:166 ../vnc.html:172 +msgid "Clipboard" +msgstr "Schránka" + +#: ../vnc.html:176 +msgid "Clear" +msgstr "Vymazat" + +#: ../vnc.html:182 +msgid "Fullscreen" +msgstr "Celá obrazovka" + +#: ../vnc.html:187 ../vnc.html:194 +msgid "Settings" +msgstr "Nastavení" + +#: ../vnc.html:197 +msgid "Shared Mode" +msgstr "Sdílený režim" + +#: ../vnc.html:200 +msgid "View Only" +msgstr "Pouze prohlížení" + +#: ../vnc.html:204 +msgid "Clip to Window" +msgstr "Přizpůsobit oknu" + +#: ../vnc.html:207 +msgid "Scaling Mode:" +msgstr "Přizpůsobení velikosti" + +#: ../vnc.html:209 +msgid "None" +msgstr "Žádné" + +#: ../vnc.html:210 +msgid "Local Scaling" +msgstr "Místní" + +#: ../vnc.html:211 +msgid "Remote Resizing" +msgstr "Vzdálené" + +#: ../vnc.html:216 +msgid "Advanced" +msgstr "Pokročilé" + +#: ../vnc.html:219 +msgid "Repeater ID:" +msgstr "ID opakovače" + +#: ../vnc.html:223 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:226 +msgid "Encrypt" +msgstr "Šifrování:" + +#: ../vnc.html:229 +msgid "Host:" +msgstr "Hostitel:" + +#: ../vnc.html:233 +msgid "Port:" +msgstr "Port:" + +#: ../vnc.html:237 +msgid "Path:" +msgstr "Cesta" + +#: ../vnc.html:244 +msgid "Automatic Reconnect" +msgstr "Automatická obnova připojení" + +#: ../vnc.html:247 +msgid "Reconnect Delay (ms):" +msgstr "Zpoždění připojení (ms)" + +#: ../vnc.html:252 +msgid "Show Dot when No Cursor" +msgstr "Tečka místo chybějícího kurzoru myši" + +#: ../vnc.html:257 +msgid "Logging:" +msgstr "Logování:" + +#: ../vnc.html:269 +msgid "Disconnect" +msgstr "Odpojit" + +#: ../vnc.html:288 +msgid "Connect" +msgstr "Připojit" + +#: ../vnc.html:298 +msgid "Password:" +msgstr "Heslo" + +#: ../vnc.html:302 +msgid "Send Password" +msgstr "Odeslat heslo" + +#: ../vnc.html:312 +msgid "Cancel" +msgstr "Zrušit" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/de.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/de.po index 0c3fa0d..7ee3a8a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/de.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/de.po @@ -1,303 +1,303 @@ -# German translations for noVNC package -# German translation for noVNC. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Loek Janssen , 2016. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 0.6.1\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2017-11-24 07:16+0000\n" -"PO-Revision-Date: 2017-11-24 08:20+0100\n" -"Last-Translator: Dominik Csapak \n" -"Language-Team: none\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 1.8.11\n" - -#: ../app/ui.js:404 -msgid "Connecting..." -msgstr "Verbinden..." - -#: ../app/ui.js:411 -msgid "Disconnecting..." -msgstr "Verbindung trennen..." - -#: ../app/ui.js:417 -msgid "Reconnecting..." -msgstr "Verbindung wiederherstellen..." - -#: ../app/ui.js:422 -msgid "Internal error" -msgstr "Interner Fehler" - -#: ../app/ui.js:1019 -msgid "Must set host" -msgstr "Richten Sie den Server ein" - -#: ../app/ui.js:1099 -msgid "Connected (encrypted) to " -msgstr "Verbunden mit (verschlüsselt) " - -#: ../app/ui.js:1101 -msgid "Connected (unencrypted) to " -msgstr "Verbunden mit (unverschlüsselt) " - -#: ../app/ui.js:1119 -msgid "Something went wrong, connection is closed" -msgstr "Etwas lief schief, Verbindung wurde getrennt" - -#: ../app/ui.js:1129 -msgid "Disconnected" -msgstr "Verbindung zum Server getrennt" - -#: ../app/ui.js:1142 -msgid "New connection has been rejected with reason: " -msgstr "Verbindung wurde aus folgendem Grund abgelehnt: " - -#: ../app/ui.js:1145 -msgid "New connection has been rejected" -msgstr "Verbindung wurde abgelehnt" - -#: ../app/ui.js:1166 -msgid "Password is required" -msgstr "Passwort ist erforderlich" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "Ein Fehler ist aufgetreten:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "Kontrollleiste verstecken/anzeigen" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "Ansichtsfenster verschieben/ziehen" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "Ansichtsfenster ziehen" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "Aktive Maustaste" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "Keine Maustaste" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "Linke Maustaste" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "Mittlere Maustaste" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "Rechte Maustaste" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "Tastatur" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "Tastatur anzeigen" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "Zusatztasten" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "Zusatztasten anzeigen" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Strg" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "Strg umschalten" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "Alt umschalten" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "Tab senden" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "Escape senden" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Strg+Alt+Entf" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "Strg+Alt+Entf senden" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "Herunterfahren/Neustarten" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "Herunterfahren/Neustarten..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "Energie" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "Herunterfahren" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "Neustarten" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "Zurücksetzen" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "Zwischenablage" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "Löschen" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "Vollbild" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "Einstellungen" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "Geteilter Modus" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "Nur betrachten" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "Auf Fenster begrenzen" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "Skalierungsmodus:" - -#: ../vnc.html:214 -msgid "None" -msgstr "Keiner" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "Lokales skalieren" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "Serverseitiges skalieren" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "Erweitert" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "Repeater ID:" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "Verschlüsselt" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "Server:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "Port:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "Pfad:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "Automatisch wiederverbinden" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "Wiederverbindungsverzögerung (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "Protokollierung:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "Verbindung trennen" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "Verbinden" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "Passwort:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "Abbrechen" - -#: ../vnc.html:329 -msgid "Canvas not supported." -msgstr "Canvas nicht unterstützt." - -#~ msgid "Disconnect timeout" -#~ msgstr "Zeitüberschreitung beim Trennen" - -#~ msgid "Local Downscaling" -#~ msgstr "Lokales herunterskalieren" - -#~ msgid "Local Cursor" -#~ msgstr "Lokaler Mauszeiger" - -#~ msgid "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen" -#~ msgstr "'Clipping-Modus' aktiviert, Scrollbalken in 'IE-Vollbildmodus' werden nicht unterstützt" - -#~ msgid "True Color" -#~ msgstr "True Color" +# German translations for noVNC package +# German translation for noVNC. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Loek Janssen , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 0.6.1\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2017-11-24 07:16+0000\n" +"PO-Revision-Date: 2017-11-24 08:20+0100\n" +"Last-Translator: Dominik Csapak \n" +"Language-Team: none\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.11\n" + +#: ../app/ui.js:404 +msgid "Connecting..." +msgstr "Verbinden..." + +#: ../app/ui.js:411 +msgid "Disconnecting..." +msgstr "Verbindung trennen..." + +#: ../app/ui.js:417 +msgid "Reconnecting..." +msgstr "Verbindung wiederherstellen..." + +#: ../app/ui.js:422 +msgid "Internal error" +msgstr "Interner Fehler" + +#: ../app/ui.js:1019 +msgid "Must set host" +msgstr "Richten Sie den Server ein" + +#: ../app/ui.js:1099 +msgid "Connected (encrypted) to " +msgstr "Verbunden mit (verschlüsselt) " + +#: ../app/ui.js:1101 +msgid "Connected (unencrypted) to " +msgstr "Verbunden mit (unverschlüsselt) " + +#: ../app/ui.js:1119 +msgid "Something went wrong, connection is closed" +msgstr "Etwas lief schief, Verbindung wurde getrennt" + +#: ../app/ui.js:1129 +msgid "Disconnected" +msgstr "Verbindung zum Server getrennt" + +#: ../app/ui.js:1142 +msgid "New connection has been rejected with reason: " +msgstr "Verbindung wurde aus folgendem Grund abgelehnt: " + +#: ../app/ui.js:1145 +msgid "New connection has been rejected" +msgstr "Verbindung wurde abgelehnt" + +#: ../app/ui.js:1166 +msgid "Password is required" +msgstr "Passwort ist erforderlich" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "Ein Fehler ist aufgetreten:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "Kontrollleiste verstecken/anzeigen" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "Ansichtsfenster verschieben/ziehen" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "Ansichtsfenster ziehen" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "Aktive Maustaste" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "Keine Maustaste" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "Linke Maustaste" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "Mittlere Maustaste" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "Rechte Maustaste" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "Tastatur" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "Tastatur anzeigen" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "Zusatztasten" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "Zusatztasten anzeigen" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Strg" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "Strg umschalten" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "Alt umschalten" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "Tab senden" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "Escape senden" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Strg+Alt+Entf" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "Strg+Alt+Entf senden" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "Herunterfahren/Neustarten" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "Herunterfahren/Neustarten..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "Energie" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "Herunterfahren" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "Neustarten" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "Zurücksetzen" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "Zwischenablage" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "Löschen" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "Vollbild" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "Einstellungen" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "Geteilter Modus" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "Nur betrachten" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "Auf Fenster begrenzen" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "Skalierungsmodus:" + +#: ../vnc.html:214 +msgid "None" +msgstr "Keiner" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "Lokales skalieren" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "Serverseitiges skalieren" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "Erweitert" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "Repeater ID:" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "Verschlüsselt" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "Server:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "Port:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "Pfad:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "Automatisch wiederverbinden" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "Wiederverbindungsverzögerung (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "Protokollierung:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "Verbindung trennen" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "Verbinden" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "Passwort:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "Abbrechen" + +#: ../vnc.html:329 +msgid "Canvas not supported." +msgstr "Canvas nicht unterstützt." + +#~ msgid "Disconnect timeout" +#~ msgstr "Zeitüberschreitung beim Trennen" + +#~ msgid "Local Downscaling" +#~ msgstr "Lokales herunterskalieren" + +#~ msgid "Local Cursor" +#~ msgstr "Lokaler Mauszeiger" + +#~ msgid "Forcing clipping mode since scrollbars aren't supported by IE in fullscreen" +#~ msgstr "'Clipping-Modus' aktiviert, Scrollbalken in 'IE-Vollbildmodus' werden nicht unterstützt" + +#~ msgid "True Color" +#~ msgstr "True Color" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/el.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/el.po index 5213ae5..5021136 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/el.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/el.po @@ -1,323 +1,323 @@ -# Greek translations for noVNC package. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Giannis Kosmas , 2016. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 0.6.1\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2017-11-17 21:40+0200\n" -"PO-Revision-Date: 2017-10-11 16:16+0200\n" -"Last-Translator: Giannis Kosmas \n" -"Language-Team: none\n" -"Language: el\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../app/ui.js:404 -msgid "Connecting..." -msgstr "Συνδέεται..." - -#: ../app/ui.js:411 -msgid "Disconnecting..." -msgstr "Aποσυνδέεται..." - -#: ../app/ui.js:417 -msgid "Reconnecting..." -msgstr "Επανασυνδέεται..." - -#: ../app/ui.js:422 -msgid "Internal error" -msgstr "Εσωτερικό σφάλμα" - -#: ../app/ui.js:1019 -msgid "Must set host" -msgstr "Πρέπει να οριστεί ο διακομιστής" - -#: ../app/ui.js:1099 -msgid "Connected (encrypted) to " -msgstr "Συνδέθηκε (κρυπτογραφημένα) με το " - -#: ../app/ui.js:1101 -msgid "Connected (unencrypted) to " -msgstr "Συνδέθηκε (μη κρυπτογραφημένα) με το " - -#: ../app/ui.js:1119 -msgid "Something went wrong, connection is closed" -msgstr "Κάτι πήγε στραβά, η σύνδεση διακόπηκε" - -#: ../app/ui.js:1129 -msgid "Disconnected" -msgstr "Αποσυνδέθηκε" - -#: ../app/ui.js:1142 -msgid "New connection has been rejected with reason: " -msgstr "Η νέα σύνδεση απορρίφθηκε διότι: " - -#: ../app/ui.js:1145 -msgid "New connection has been rejected" -msgstr "Η νέα σύνδεση απορρίφθηκε " - -#: ../app/ui.js:1166 -msgid "Password is required" -msgstr "Απαιτείται ο κωδικός πρόσβασης" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "το noVNC αντιμετώπισε ένα σφάλμα:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "Απόκρυψη/Εμφάνιση γραμμής ελέγχου" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "Μετακίνηση/Σύρσιμο Θεατού πεδίου" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "σύρσιμο θεατού πεδίου" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "Ενεργό Πλήκτρο Ποντικιού" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "Χωρίς Πλήκτρο Ποντικιού" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "Αριστερό Πλήκτρο Ποντικιού" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "Μεσαίο Πλήκτρο Ποντικιού" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "Δεξί Πλήκτρο Ποντικιού" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "Πληκτρολόγιο" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "Εμφάνιση Πληκτρολογίου" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "Επιπλέον πλήκτρα" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "Εμφάνιση Επιπλέον Πλήκτρων" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "Εναλλαγή Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "Εναλλαγή Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "Αποστολή Tab" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "Αποστολή Escape" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "Αποστολή Ctrl-Alt-Del" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "Κλείσιμο/Επανεκκίνηση" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "Κλείσιμο/Επανεκκίνηση..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "Απενεργοποίηση" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "Κλείσιμο" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "Επανεκκίνηση" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "Επαναφορά" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "Πρόχειρο" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "Καθάρισμα" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "Πλήρης Οθόνη" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "Ρυθμίσεις" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "Κοινόχρηστη Λειτουργία" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "Μόνο Θέαση" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "Αποκοπή στο όριο του Παράθυρου" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "Λειτουργία Κλιμάκωσης:" - -#: ../vnc.html:214 -msgid "None" -msgstr "Καμία" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "Τοπική Κλιμάκωση" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "Απομακρυσμένη Αλλαγή μεγέθους" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "Για προχωρημένους" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "Repeater ID:" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "Κρυπτογράφηση" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "Όνομα διακομιστή:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "Πόρτα διακομιστή:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "Διαδρομή:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "Αυτόματη επανασύνδεση" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "Καθυστέρηση επανασύνδεσης (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "Καταγραφή:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "Αποσύνδεση" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "Σύνδεση" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "Κωδικός Πρόσβασης:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "Ακύρωση" - -#: ../vnc.html:329 -msgid "Canvas not supported." -msgstr "Δεν υποστηρίζεται το στοιχείο Canvas" - -#~ msgid "Disconnect timeout" -#~ msgstr "Παρέλευση χρονικού ορίου αποσύνδεσης" - -#~ msgid "Local Downscaling" -#~ msgstr "Τοπική Συρρίκνωση" - -#~ msgid "Local Cursor" -#~ msgstr "Τοπικός Δρομέας" - -#~ msgid "" -#~ "Forcing clipping mode since scrollbars aren't supported by IE in " -#~ "fullscreen" -#~ msgstr "" -#~ "Εφαρμογή λειτουργίας αποκοπής αφού δεν υποστηρίζονται οι λωρίδες κύλισης " -#~ "σε πλήρη οθόνη στον IE" - -#~ msgid "True Color" -#~ msgstr "Πραγματικά Χρώματα" - -#~ msgid "Style:" -#~ msgstr "Στυλ:" - -#~ msgid "default" -#~ msgstr "προεπιλεγμένο" - -#~ msgid "Apply" -#~ msgstr "Εφαρμογή" - -#~ msgid "Connection" -#~ msgstr "Σύνδεση" - -#~ msgid "Token:" -#~ msgstr "Διακριτικό:" - -#~ msgid "Send Password" -#~ msgstr "Αποστολή Κωδικού Πρόσβασης" +# Greek translations for noVNC package. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Giannis Kosmas , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 0.6.1\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2017-11-17 21:40+0200\n" +"PO-Revision-Date: 2017-10-11 16:16+0200\n" +"Last-Translator: Giannis Kosmas \n" +"Language-Team: none\n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../app/ui.js:404 +msgid "Connecting..." +msgstr "Συνδέεται..." + +#: ../app/ui.js:411 +msgid "Disconnecting..." +msgstr "Aποσυνδέεται..." + +#: ../app/ui.js:417 +msgid "Reconnecting..." +msgstr "Επανασυνδέεται..." + +#: ../app/ui.js:422 +msgid "Internal error" +msgstr "Εσωτερικό σφάλμα" + +#: ../app/ui.js:1019 +msgid "Must set host" +msgstr "Πρέπει να οριστεί ο διακομιστής" + +#: ../app/ui.js:1099 +msgid "Connected (encrypted) to " +msgstr "Συνδέθηκε (κρυπτογραφημένα) με το " + +#: ../app/ui.js:1101 +msgid "Connected (unencrypted) to " +msgstr "Συνδέθηκε (μη κρυπτογραφημένα) με το " + +#: ../app/ui.js:1119 +msgid "Something went wrong, connection is closed" +msgstr "Κάτι πήγε στραβά, η σύνδεση διακόπηκε" + +#: ../app/ui.js:1129 +msgid "Disconnected" +msgstr "Αποσυνδέθηκε" + +#: ../app/ui.js:1142 +msgid "New connection has been rejected with reason: " +msgstr "Η νέα σύνδεση απορρίφθηκε διότι: " + +#: ../app/ui.js:1145 +msgid "New connection has been rejected" +msgstr "Η νέα σύνδεση απορρίφθηκε " + +#: ../app/ui.js:1166 +msgid "Password is required" +msgstr "Απαιτείται ο κωδικός πρόσβασης" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "το noVNC αντιμετώπισε ένα σφάλμα:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "Απόκρυψη/Εμφάνιση γραμμής ελέγχου" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "Μετακίνηση/Σύρσιμο Θεατού πεδίου" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "σύρσιμο θεατού πεδίου" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "Ενεργό Πλήκτρο Ποντικιού" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "Χωρίς Πλήκτρο Ποντικιού" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "Αριστερό Πλήκτρο Ποντικιού" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "Μεσαίο Πλήκτρο Ποντικιού" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "Δεξί Πλήκτρο Ποντικιού" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "Πληκτρολόγιο" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "Εμφάνιση Πληκτρολογίου" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "Επιπλέον πλήκτρα" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "Εμφάνιση Επιπλέον Πλήκτρων" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "Εναλλαγή Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "Εναλλαγή Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "Αποστολή Tab" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "Αποστολή Escape" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "Αποστολή Ctrl-Alt-Del" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "Κλείσιμο/Επανεκκίνηση" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "Κλείσιμο/Επανεκκίνηση..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "Απενεργοποίηση" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "Κλείσιμο" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "Επανεκκίνηση" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "Επαναφορά" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "Πρόχειρο" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "Καθάρισμα" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "Πλήρης Οθόνη" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "Ρυθμίσεις" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "Κοινόχρηστη Λειτουργία" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "Μόνο Θέαση" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "Αποκοπή στο όριο του Παράθυρου" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "Λειτουργία Κλιμάκωσης:" + +#: ../vnc.html:214 +msgid "None" +msgstr "Καμία" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "Τοπική Κλιμάκωση" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "Απομακρυσμένη Αλλαγή μεγέθους" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "Για προχωρημένους" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "Repeater ID:" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "Κρυπτογράφηση" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "Όνομα διακομιστή:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "Πόρτα διακομιστή:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "Διαδρομή:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "Αυτόματη επανασύνδεση" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "Καθυστέρηση επανασύνδεσης (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "Καταγραφή:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "Αποσύνδεση" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "Σύνδεση" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "Κωδικός Πρόσβασης:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "Ακύρωση" + +#: ../vnc.html:329 +msgid "Canvas not supported." +msgstr "Δεν υποστηρίζεται το στοιχείο Canvas" + +#~ msgid "Disconnect timeout" +#~ msgstr "Παρέλευση χρονικού ορίου αποσύνδεσης" + +#~ msgid "Local Downscaling" +#~ msgstr "Τοπική Συρρίκνωση" + +#~ msgid "Local Cursor" +#~ msgstr "Τοπικός Δρομέας" + +#~ msgid "" +#~ "Forcing clipping mode since scrollbars aren't supported by IE in " +#~ "fullscreen" +#~ msgstr "" +#~ "Εφαρμογή λειτουργίας αποκοπής αφού δεν υποστηρίζονται οι λωρίδες κύλισης " +#~ "σε πλήρη οθόνη στον IE" + +#~ msgid "True Color" +#~ msgstr "Πραγματικά Χρώματα" + +#~ msgid "Style:" +#~ msgstr "Στυλ:" + +#~ msgid "default" +#~ msgstr "προεπιλεγμένο" + +#~ msgid "Apply" +#~ msgstr "Εφαρμογή" + +#~ msgid "Connection" +#~ msgstr "Σύνδεση" + +#~ msgid "Token:" +#~ msgstr "Διακριτικό:" + +#~ msgid "Send Password" +#~ msgstr "Αποστολή Κωδικού Πρόσβασης" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/es.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/es.po index e15655f..3a18c2a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/es.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/es.po @@ -1,283 +1,283 @@ -# Spanish translations for noVNC package -# Traducciones al español para el paquete noVNC. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Juanjo Diaz , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.0.0-testing.2\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2017-10-06 10:07+0200\n" -"PO-Revision-Date: 2018-01-30 19:14-0800\n" -"Last-Translator: Juanjo Diaz \n" -"Language-Team: Spanish\n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../app/ui.js:430 -msgid "Connecting..." -msgstr "Conectando..." - -#: ../app/ui.js:438 -msgid "Connected (encrypted) to " -msgstr "Conectado (con encriptación) a" - -#: ../app/ui.js:440 -msgid "Connected (unencrypted) to " -msgstr "Conectado (sin encriptación) a" - -#: ../app/ui.js:446 -msgid "Disconnecting..." -msgstr "Desconectando..." - -#: ../app/ui.js:450 -msgid "Disconnected" -msgstr "Desconectado" - -#: ../app/ui.js:1052 ../core/rfb.js:248 -msgid "Must set host" -msgstr "Debes configurar el host" - -#: ../app/ui.js:1101 -msgid "Reconnecting..." -msgstr "Reconectando..." - -#: ../app/ui.js:1140 -msgid "Password is required" -msgstr "Contraseña es obligatoria" - -#: ../core/rfb.js:548 -msgid "Disconnect timeout" -msgstr "Tiempo de desconexión agotado" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "noVNC ha encontrado un error:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "Ocultar/Mostrar la barra de control" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "Mover/Arrastrar la ventana" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "Arrastrar la ventana" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "Botón activo del ratón" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "Ningún botón del ratón" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "Botón izquierdo del ratón" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "Botón central del ratón" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "Botón derecho del ratón" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "Teclado" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "Mostrar teclado" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "Teclas adicionales" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "Mostrar Teclas Adicionales" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "Pulsar/Soltar Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "Pulsar/Soltar Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "Enviar Tabulación" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tabulación" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "Enviar Escape" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "Enviar Ctrl+Alt+Del" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "Apagar/Reiniciar" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "Apagar/Reiniciar..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "Encender" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "Apagar" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "Reiniciar" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "Restablecer" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "Portapapeles" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "Vaciar" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "Pantalla Completa" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "Configuraciones" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "Modo Compartido" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "Solo visualización" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "Recortar al tamaño de la ventana" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "Modo de escalado:" - -#: ../vnc.html:214 -msgid "None" -msgstr "Ninguno" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "Escalado Local" - -#: ../vnc.html:216 -msgid "Local Downscaling" -msgstr "Reducción de escala local" - -#: ../vnc.html:217 -msgid "Remote Resizing" -msgstr "Cambio de tamaño remoto" - -#: ../vnc.html:222 -msgid "Advanced" -msgstr "Avanzado" - -#: ../vnc.html:225 -msgid "Local Cursor" -msgstr "Cursor Local" - -#: ../vnc.html:229 -msgid "Repeater ID:" -msgstr "ID del Repetidor" - -#: ../vnc.html:233 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:236 -msgid "Encrypt" -msgstr "" - -#: ../vnc.html:239 -msgid "Host:" -msgstr "Host" - -#: ../vnc.html:243 -msgid "Port:" -msgstr "Puesto" - -#: ../vnc.html:247 -msgid "Path:" -msgstr "Ruta" - -#: ../vnc.html:254 -msgid "Automatic Reconnect" -msgstr "Reconexión automática" - -#: ../vnc.html:257 -msgid "Reconnect Delay (ms):" -msgstr "Retraso en la reconexión (ms)" - -#: ../vnc.html:263 -msgid "Logging:" -msgstr "Logging" - -#: ../vnc.html:275 -msgid "Disconnect" -msgstr "Desconectar" - -#: ../vnc.html:294 -msgid "Connect" -msgstr "Conectar" - -#: ../vnc.html:304 -msgid "Password:" -msgstr "Contraseña" - -#: ../vnc.html:318 -msgid "Cancel" -msgstr "Cancelar" - -#: ../vnc.html:334 -msgid "Canvas not supported." -msgstr "Canvas no está soportado" +# Spanish translations for noVNC package +# Traducciones al español para el paquete noVNC. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Juanjo Diaz , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.0.0-testing.2\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2017-10-06 10:07+0200\n" +"PO-Revision-Date: 2018-01-30 19:14-0800\n" +"Last-Translator: Juanjo Diaz \n" +"Language-Team: Spanish\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../app/ui.js:430 +msgid "Connecting..." +msgstr "Conectando..." + +#: ../app/ui.js:438 +msgid "Connected (encrypted) to " +msgstr "Conectado (con encriptación) a" + +#: ../app/ui.js:440 +msgid "Connected (unencrypted) to " +msgstr "Conectado (sin encriptación) a" + +#: ../app/ui.js:446 +msgid "Disconnecting..." +msgstr "Desconectando..." + +#: ../app/ui.js:450 +msgid "Disconnected" +msgstr "Desconectado" + +#: ../app/ui.js:1052 ../core/rfb.js:248 +msgid "Must set host" +msgstr "Debes configurar el host" + +#: ../app/ui.js:1101 +msgid "Reconnecting..." +msgstr "Reconectando..." + +#: ../app/ui.js:1140 +msgid "Password is required" +msgstr "Contraseña es obligatoria" + +#: ../core/rfb.js:548 +msgid "Disconnect timeout" +msgstr "Tiempo de desconexión agotado" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "noVNC ha encontrado un error:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "Ocultar/Mostrar la barra de control" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "Mover/Arrastrar la ventana" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "Arrastrar la ventana" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "Botón activo del ratón" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "Ningún botón del ratón" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "Botón izquierdo del ratón" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "Botón central del ratón" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "Botón derecho del ratón" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "Teclado" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "Mostrar teclado" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "Teclas adicionales" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "Mostrar Teclas Adicionales" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "Pulsar/Soltar Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "Pulsar/Soltar Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "Enviar Tabulación" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tabulación" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "Enviar Escape" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "Enviar Ctrl+Alt+Del" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "Apagar/Reiniciar" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "Apagar/Reiniciar..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "Encender" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "Apagar" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "Reiniciar" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "Restablecer" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "Portapapeles" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "Vaciar" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "Pantalla Completa" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "Configuraciones" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "Modo Compartido" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "Solo visualización" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "Recortar al tamaño de la ventana" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "Modo de escalado:" + +#: ../vnc.html:214 +msgid "None" +msgstr "Ninguno" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "Escalado Local" + +#: ../vnc.html:216 +msgid "Local Downscaling" +msgstr "Reducción de escala local" + +#: ../vnc.html:217 +msgid "Remote Resizing" +msgstr "Cambio de tamaño remoto" + +#: ../vnc.html:222 +msgid "Advanced" +msgstr "Avanzado" + +#: ../vnc.html:225 +msgid "Local Cursor" +msgstr "Cursor Local" + +#: ../vnc.html:229 +msgid "Repeater ID:" +msgstr "ID del Repetidor" + +#: ../vnc.html:233 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:236 +msgid "Encrypt" +msgstr "" + +#: ../vnc.html:239 +msgid "Host:" +msgstr "Host" + +#: ../vnc.html:243 +msgid "Port:" +msgstr "Puesto" + +#: ../vnc.html:247 +msgid "Path:" +msgstr "Ruta" + +#: ../vnc.html:254 +msgid "Automatic Reconnect" +msgstr "Reconexión automática" + +#: ../vnc.html:257 +msgid "Reconnect Delay (ms):" +msgstr "Retraso en la reconexión (ms)" + +#: ../vnc.html:263 +msgid "Logging:" +msgstr "Logging" + +#: ../vnc.html:275 +msgid "Disconnect" +msgstr "Desconectar" + +#: ../vnc.html:294 +msgid "Connect" +msgstr "Conectar" + +#: ../vnc.html:304 +msgid "Password:" +msgstr "Contraseña" + +#: ../vnc.html:318 +msgid "Cancel" +msgstr "Cancelar" + +#: ../vnc.html:334 +msgid "Canvas not supported." +msgstr "Canvas no está soportado" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ja.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ja.po index 7fc53ed..3cb3248 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ja.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ja.po @@ -1,303 +1,303 @@ -# Japanese translations for noVNC package -# noVNC パッケージに対する日訳 -# Copyright (C) 2019 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# nnn1590 , 2019-2020. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.1.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2019-01-16 11:06+0100\n" -"PO-Revision-Date: 2020-06-15 17:44+0900\n" -"Last-Translator: nnn1590 \n" -"Language-Team: Japanese\n" -"Language: ja\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" - -#: ../app/ui.js:387 -msgid "Connecting..." -msgstr "接続しています..." - -#: ../app/ui.js:394 -msgid "Disconnecting..." -msgstr "切断しています..." - -#: ../app/ui.js:400 -msgid "Reconnecting..." -msgstr "再接続しています..." - -#: ../app/ui.js:405 -msgid "Internal error" -msgstr "内部エラー" - -#: ../app/ui.js:995 -msgid "Must set host" -msgstr "ホストを設定する必要があります" - -#: ../app/ui.js:1077 -msgid "Connected (encrypted) to " -msgstr "接続しました (暗号化済み): " - -#: ../app/ui.js:1079 -msgid "Connected (unencrypted) to " -msgstr "接続しました (暗号化されていません): " - -#: ../app/ui.js:1102 -msgid "Something went wrong, connection is closed" -msgstr "何かが問題で、接続が閉じられました" - -#: ../app/ui.js:1105 -msgid "Failed to connect to server" -msgstr "サーバーへの接続に失敗しました" - -#: ../app/ui.js:1115 -msgid "Disconnected" -msgstr "切断しました" - -#: ../app/ui.js:1128 -msgid "New connection has been rejected with reason: " -msgstr "新規接続は次の理由で拒否されました: " - -#: ../app/ui.js:1131 -msgid "New connection has been rejected" -msgstr "新規接続は拒否されました" - -#: ../app/ui.js:1151 -msgid "Password is required" -msgstr "パスワードが必要です" - -#: ../vnc.html:84 -msgid "noVNC encountered an error:" -msgstr "noVNC でエラーが発生しました:" - -#: ../vnc.html:94 -msgid "Hide/Show the control bar" -msgstr "コントロールバーを隠す/表示する" - -#: ../vnc.html:101 -msgid "Move/Drag Viewport" -msgstr "ビューポートを移動/ドラッグ" - -#: ../vnc.html:101 -msgid "viewport drag" -msgstr "ビューポートをドラッグ" - -#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 -msgid "Active Mouse Button" -msgstr "アクティブなマウスボタン" - -#: ../vnc.html:107 -msgid "No mousebutton" -msgstr "マウスボタンなし" - -#: ../vnc.html:110 -msgid "Left mousebutton" -msgstr "左マウスボタン" - -#: ../vnc.html:113 -msgid "Middle mousebutton" -msgstr "中マウスボタン" - -#: ../vnc.html:116 -msgid "Right mousebutton" -msgstr "右マウスボタン" - -#: ../vnc.html:119 -msgid "Keyboard" -msgstr "キーボード" - -#: ../vnc.html:119 -msgid "Show Keyboard" -msgstr "キーボードを表示" - -#: ../vnc.html:126 -msgid "Extra keys" -msgstr "追加キー" - -#: ../vnc.html:126 -msgid "Show Extra Keys" -msgstr "追加キーを表示" - -#: ../vnc.html:131 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:131 -msgid "Toggle Ctrl" -msgstr "Ctrl キーを切り替え" - -#: ../vnc.html:134 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:134 -msgid "Toggle Alt" -msgstr "Alt キーを切り替え" - -#: ../vnc.html:137 -msgid "Toggle Windows" -msgstr "Windows キーを切り替え" - -#: ../vnc.html:137 -msgid "Windows" -msgstr "Windows" - -#: ../vnc.html:140 -msgid "Send Tab" -msgstr "Tab キーを送信" - -#: ../vnc.html:140 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:143 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:143 -msgid "Send Escape" -msgstr "Escape キーを送信" - -#: ../vnc.html:146 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:146 -msgid "Send Ctrl-Alt-Del" -msgstr "Ctrl-Alt-Del を送信" - -#: ../vnc.html:154 -msgid "Shutdown/Reboot" -msgstr "シャットダウン/再起動" - -#: ../vnc.html:154 -msgid "Shutdown/Reboot..." -msgstr "シャットダウン/再起動..." - -#: ../vnc.html:160 -msgid "Power" -msgstr "電源" - -#: ../vnc.html:162 -msgid "Shutdown" -msgstr "シャットダウン" - -#: ../vnc.html:163 -msgid "Reboot" -msgstr "再起動" - -#: ../vnc.html:164 -msgid "Reset" -msgstr "リセット" - -#: ../vnc.html:169 ../vnc.html:175 -msgid "Clipboard" -msgstr "クリップボード" - -#: ../vnc.html:179 -msgid "Clear" -msgstr "クリア" - -#: ../vnc.html:185 -msgid "Fullscreen" -msgstr "全画面表示" - -#: ../vnc.html:190 ../vnc.html:197 -msgid "Settings" -msgstr "設定" - -#: ../vnc.html:200 -msgid "Shared Mode" -msgstr "共有モード" - -#: ../vnc.html:203 -msgid "View Only" -msgstr "表示のみ" - -#: ../vnc.html:207 -msgid "Clip to Window" -msgstr "ウィンドウにクリップ" - -#: ../vnc.html:210 -msgid "Scaling Mode:" -msgstr "スケーリングモード:" - -#: ../vnc.html:212 -msgid "None" -msgstr "なし" - -#: ../vnc.html:213 -msgid "Local Scaling" -msgstr "ローカルスケーリング" - -#: ../vnc.html:214 -msgid "Remote Resizing" -msgstr "リモートでリサイズ" - -#: ../vnc.html:219 -msgid "Advanced" -msgstr "高度" - -#: ../vnc.html:222 -msgid "Repeater ID:" -msgstr "リピーター ID:" - -#: ../vnc.html:226 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:229 -msgid "Encrypt" -msgstr "暗号化" - -#: ../vnc.html:232 -msgid "Host:" -msgstr "ホスト:" - -#: ../vnc.html:236 -msgid "Port:" -msgstr "ポート:" - -#: ../vnc.html:240 -msgid "Path:" -msgstr "パス:" - -#: ../vnc.html:247 -msgid "Automatic Reconnect" -msgstr "自動再接続" - -#: ../vnc.html:250 -msgid "Reconnect Delay (ms):" -msgstr "再接続する遅延 (ミリ秒):" - -#: ../vnc.html:255 -msgid "Show Dot when No Cursor" -msgstr "カーソルがないときにドットを表示" - -#: ../vnc.html:260 -msgid "Logging:" -msgstr "ロギング:" - -#: ../vnc.html:272 -msgid "Disconnect" -msgstr "切断" - -#: ../vnc.html:291 -msgid "Connect" -msgstr "接続" - -#: ../vnc.html:301 -msgid "Password:" -msgstr "パスワード:" - -#: ../vnc.html:305 -msgid "Send Password" -msgstr "パスワードを送信" - -#: ../vnc.html:315 -msgid "Cancel" -msgstr "キャンセル" +# Japanese translations for noVNC package +# noVNC パッケージに対する日訳 +# Copyright (C) 2019 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# nnn1590 , 2019-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.1.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2019-01-16 11:06+0100\n" +"PO-Revision-Date: 2020-06-15 17:44+0900\n" +"Last-Translator: nnn1590 \n" +"Language-Team: Japanese\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../app/ui.js:387 +msgid "Connecting..." +msgstr "接続しています..." + +#: ../app/ui.js:394 +msgid "Disconnecting..." +msgstr "切断しています..." + +#: ../app/ui.js:400 +msgid "Reconnecting..." +msgstr "再接続しています..." + +#: ../app/ui.js:405 +msgid "Internal error" +msgstr "内部エラー" + +#: ../app/ui.js:995 +msgid "Must set host" +msgstr "ホストを設定する必要があります" + +#: ../app/ui.js:1077 +msgid "Connected (encrypted) to " +msgstr "接続しました (暗号化済み): " + +#: ../app/ui.js:1079 +msgid "Connected (unencrypted) to " +msgstr "接続しました (暗号化されていません): " + +#: ../app/ui.js:1102 +msgid "Something went wrong, connection is closed" +msgstr "何かが問題で、接続が閉じられました" + +#: ../app/ui.js:1105 +msgid "Failed to connect to server" +msgstr "サーバーへの接続に失敗しました" + +#: ../app/ui.js:1115 +msgid "Disconnected" +msgstr "切断しました" + +#: ../app/ui.js:1128 +msgid "New connection has been rejected with reason: " +msgstr "新規接続は次の理由で拒否されました: " + +#: ../app/ui.js:1131 +msgid "New connection has been rejected" +msgstr "新規接続は拒否されました" + +#: ../app/ui.js:1151 +msgid "Password is required" +msgstr "パスワードが必要です" + +#: ../vnc.html:84 +msgid "noVNC encountered an error:" +msgstr "noVNC でエラーが発生しました:" + +#: ../vnc.html:94 +msgid "Hide/Show the control bar" +msgstr "コントロールバーを隠す/表示する" + +#: ../vnc.html:101 +msgid "Move/Drag Viewport" +msgstr "ビューポートを移動/ドラッグ" + +#: ../vnc.html:101 +msgid "viewport drag" +msgstr "ビューポートをドラッグ" + +#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 +msgid "Active Mouse Button" +msgstr "アクティブなマウスボタン" + +#: ../vnc.html:107 +msgid "No mousebutton" +msgstr "マウスボタンなし" + +#: ../vnc.html:110 +msgid "Left mousebutton" +msgstr "左マウスボタン" + +#: ../vnc.html:113 +msgid "Middle mousebutton" +msgstr "中マウスボタン" + +#: ../vnc.html:116 +msgid "Right mousebutton" +msgstr "右マウスボタン" + +#: ../vnc.html:119 +msgid "Keyboard" +msgstr "キーボード" + +#: ../vnc.html:119 +msgid "Show Keyboard" +msgstr "キーボードを表示" + +#: ../vnc.html:126 +msgid "Extra keys" +msgstr "追加キー" + +#: ../vnc.html:126 +msgid "Show Extra Keys" +msgstr "追加キーを表示" + +#: ../vnc.html:131 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:131 +msgid "Toggle Ctrl" +msgstr "Ctrl キーを切り替え" + +#: ../vnc.html:134 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:134 +msgid "Toggle Alt" +msgstr "Alt キーを切り替え" + +#: ../vnc.html:137 +msgid "Toggle Windows" +msgstr "Windows キーを切り替え" + +#: ../vnc.html:137 +msgid "Windows" +msgstr "Windows" + +#: ../vnc.html:140 +msgid "Send Tab" +msgstr "Tab キーを送信" + +#: ../vnc.html:140 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:143 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:143 +msgid "Send Escape" +msgstr "Escape キーを送信" + +#: ../vnc.html:146 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:146 +msgid "Send Ctrl-Alt-Del" +msgstr "Ctrl-Alt-Del を送信" + +#: ../vnc.html:154 +msgid "Shutdown/Reboot" +msgstr "シャットダウン/再起動" + +#: ../vnc.html:154 +msgid "Shutdown/Reboot..." +msgstr "シャットダウン/再起動..." + +#: ../vnc.html:160 +msgid "Power" +msgstr "電源" + +#: ../vnc.html:162 +msgid "Shutdown" +msgstr "シャットダウン" + +#: ../vnc.html:163 +msgid "Reboot" +msgstr "再起動" + +#: ../vnc.html:164 +msgid "Reset" +msgstr "リセット" + +#: ../vnc.html:169 ../vnc.html:175 +msgid "Clipboard" +msgstr "クリップボード" + +#: ../vnc.html:179 +msgid "Clear" +msgstr "クリア" + +#: ../vnc.html:185 +msgid "Fullscreen" +msgstr "全画面表示" + +#: ../vnc.html:190 ../vnc.html:197 +msgid "Settings" +msgstr "設定" + +#: ../vnc.html:200 +msgid "Shared Mode" +msgstr "共有モード" + +#: ../vnc.html:203 +msgid "View Only" +msgstr "表示のみ" + +#: ../vnc.html:207 +msgid "Clip to Window" +msgstr "ウィンドウにクリップ" + +#: ../vnc.html:210 +msgid "Scaling Mode:" +msgstr "スケーリングモード:" + +#: ../vnc.html:212 +msgid "None" +msgstr "なし" + +#: ../vnc.html:213 +msgid "Local Scaling" +msgstr "ローカルスケーリング" + +#: ../vnc.html:214 +msgid "Remote Resizing" +msgstr "リモートでリサイズ" + +#: ../vnc.html:219 +msgid "Advanced" +msgstr "高度" + +#: ../vnc.html:222 +msgid "Repeater ID:" +msgstr "リピーター ID:" + +#: ../vnc.html:226 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:229 +msgid "Encrypt" +msgstr "暗号化" + +#: ../vnc.html:232 +msgid "Host:" +msgstr "ホスト:" + +#: ../vnc.html:236 +msgid "Port:" +msgstr "ポート:" + +#: ../vnc.html:240 +msgid "Path:" +msgstr "パス:" + +#: ../vnc.html:247 +msgid "Automatic Reconnect" +msgstr "自動再接続" + +#: ../vnc.html:250 +msgid "Reconnect Delay (ms):" +msgstr "再接続する遅延 (ミリ秒):" + +#: ../vnc.html:255 +msgid "Show Dot when No Cursor" +msgstr "カーソルがないときにドットを表示" + +#: ../vnc.html:260 +msgid "Logging:" +msgstr "ロギング:" + +#: ../vnc.html:272 +msgid "Disconnect" +msgstr "切断" + +#: ../vnc.html:291 +msgid "Connect" +msgstr "接続" + +#: ../vnc.html:301 +msgid "Password:" +msgstr "パスワード:" + +#: ../vnc.html:305 +msgid "Send Password" +msgstr "パスワードを送信" + +#: ../vnc.html:315 +msgid "Cancel" +msgstr "キャンセル" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ko.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ko.po index 87ae106..d074d36 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ko.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ko.po @@ -1,290 +1,290 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Baw Appie , 2018. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.0.0-testing.2\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2018-01-31 16:29+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: Baw Appie \n" -"Language-Team: Korean\n" -"Language: ko\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../app/ui.js:395 -msgid "Connecting..." -msgstr "연결중..." - -#: ../app/ui.js:402 -msgid "Disconnecting..." -msgstr "연결 해제중..." - -#: ../app/ui.js:408 -msgid "Reconnecting..." -msgstr "재연결중..." - -#: ../app/ui.js:413 -msgid "Internal error" -msgstr "내부 오류" - -#: ../app/ui.js:1002 -msgid "Must set host" -msgstr "호스트는 설정되어야 합니다." - -#: ../app/ui.js:1083 -msgid "Connected (encrypted) to " -msgstr "다음과 (암호화되어) 연결되었습니다:" - -#: ../app/ui.js:1085 -msgid "Connected (unencrypted) to " -msgstr "다음과 (암호화 없이) 연결되었습니다:" - -#: ../app/ui.js:1108 -msgid "Something went wrong, connection is closed" -msgstr "무언가 잘못되었습니다, 연결이 닫혔습니다." - -#: ../app/ui.js:1111 -msgid "Failed to connect to server" -msgstr "서버에 연결하지 못했습니다." - -#: ../app/ui.js:1121 -msgid "Disconnected" -msgstr "연결이 해제되었습니다." - -#: ../app/ui.js:1134 -msgid "New connection has been rejected with reason: " -msgstr "새 연결이 다음 이유로 거부되었습니다:" - -#: ../app/ui.js:1137 -msgid "New connection has been rejected" -msgstr "새 연결이 거부되었습니다." - -#: ../app/ui.js:1158 -msgid "Password is required" -msgstr "비밀번호가 필요합니다." - -#: ../vnc.html:91 -msgid "noVNC encountered an error:" -msgstr "noVNC에 오류가 발생했습니다:" - -#: ../vnc.html:101 -msgid "Hide/Show the control bar" -msgstr "컨트롤 바 숨기기/보이기" - -#: ../vnc.html:108 -msgid "Move/Drag Viewport" -msgstr "움직이기/드래그 뷰포트" - -#: ../vnc.html:108 -msgid "viewport drag" -msgstr "뷰포트 드래그" - -#: ../vnc.html:114 ../vnc.html:117 ../vnc.html:120 ../vnc.html:123 -msgid "Active Mouse Button" -msgstr "마우스 버튼 활성화" - -#: ../vnc.html:114 -msgid "No mousebutton" -msgstr "마우스 버튼 없음" - -#: ../vnc.html:117 -msgid "Left mousebutton" -msgstr "왼쪽 마우스 버튼" - -#: ../vnc.html:120 -msgid "Middle mousebutton" -msgstr "중간 마우스 버튼" - -#: ../vnc.html:123 -msgid "Right mousebutton" -msgstr "오른쪽 마우스 버튼" - -#: ../vnc.html:126 -msgid "Keyboard" -msgstr "키보드" - -#: ../vnc.html:126 -msgid "Show Keyboard" -msgstr "키보드 보이기" - -#: ../vnc.html:133 -msgid "Extra keys" -msgstr "기타 키들" - -#: ../vnc.html:133 -msgid "Show Extra Keys" -msgstr "기타 키들 보이기" - -#: ../vnc.html:138 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:138 -msgid "Toggle Ctrl" -msgstr "Ctrl 켜기/끄기" - -#: ../vnc.html:141 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:141 -msgid "Toggle Alt" -msgstr "Alt 켜기/끄기" - -#: ../vnc.html:144 -msgid "Send Tab" -msgstr "Tab 보내기" - -#: ../vnc.html:144 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:147 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:147 -msgid "Send Escape" -msgstr "Esc 보내기" - -#: ../vnc.html:150 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:150 -msgid "Send Ctrl-Alt-Del" -msgstr "Ctrl+Alt+Del 보내기" - -#: ../vnc.html:158 -msgid "Shutdown/Reboot" -msgstr "셧다운/리붓" - -#: ../vnc.html:158 -msgid "Shutdown/Reboot..." -msgstr "셧다운/리붓..." - -#: ../vnc.html:164 -msgid "Power" -msgstr "전원" - -#: ../vnc.html:166 -msgid "Shutdown" -msgstr "셧다운" - -#: ../vnc.html:167 -msgid "Reboot" -msgstr "리붓" - -#: ../vnc.html:168 -msgid "Reset" -msgstr "리셋" - -#: ../vnc.html:173 ../vnc.html:179 -msgid "Clipboard" -msgstr "클립보드" - -#: ../vnc.html:183 -msgid "Clear" -msgstr "지우기" - -#: ../vnc.html:189 -msgid "Fullscreen" -msgstr "전체화면" - -#: ../vnc.html:194 ../vnc.html:201 -msgid "Settings" -msgstr "설정" - -#: ../vnc.html:204 -msgid "Shared Mode" -msgstr "공유 모드" - -#: ../vnc.html:207 -msgid "View Only" -msgstr "보기 전용" - -#: ../vnc.html:211 -msgid "Clip to Window" -msgstr "창에 클립" - -#: ../vnc.html:214 -msgid "Scaling Mode:" -msgstr "스케일링 모드:" - -#: ../vnc.html:216 -msgid "None" -msgstr "없음" - -#: ../vnc.html:217 -msgid "Local Scaling" -msgstr "로컬 스케일링" - -#: ../vnc.html:218 -msgid "Remote Resizing" -msgstr "원격 크기 조절" - -#: ../vnc.html:223 -msgid "Advanced" -msgstr "고급" - -#: ../vnc.html:226 -msgid "Repeater ID:" -msgstr "중계 ID" - -#: ../vnc.html:230 -msgid "WebSocket" -msgstr "웹소켓" - -#: ../vnc.html:233 -msgid "Encrypt" -msgstr "암호화" - -#: ../vnc.html:236 -msgid "Host:" -msgstr "호스트:" - -#: ../vnc.html:240 -msgid "Port:" -msgstr "포트:" - -#: ../vnc.html:244 -msgid "Path:" -msgstr "위치:" - -#: ../vnc.html:251 -msgid "Automatic Reconnect" -msgstr "자동 재연결" - -#: ../vnc.html:254 -msgid "Reconnect Delay (ms):" -msgstr "재연결 지연 시간 (ms)" - -#: ../vnc.html:260 -msgid "Logging:" -msgstr "로깅" - -#: ../vnc.html:272 -msgid "Disconnect" -msgstr "연결 해제" - -#: ../vnc.html:291 -msgid "Connect" -msgstr "연결" - -#: ../vnc.html:301 -msgid "Password:" -msgstr "비밀번호:" - -#: ../vnc.html:305 -msgid "Send Password" -msgstr "비밀번호 전송" - -#: ../vnc.html:315 -msgid "Cancel" -msgstr "취소" +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Baw Appie , 2018. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.0.0-testing.2\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2018-01-31 16:29+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: Baw Appie \n" +"Language-Team: Korean\n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../app/ui.js:395 +msgid "Connecting..." +msgstr "연결중..." + +#: ../app/ui.js:402 +msgid "Disconnecting..." +msgstr "연결 해제중..." + +#: ../app/ui.js:408 +msgid "Reconnecting..." +msgstr "재연결중..." + +#: ../app/ui.js:413 +msgid "Internal error" +msgstr "내부 오류" + +#: ../app/ui.js:1002 +msgid "Must set host" +msgstr "호스트는 설정되어야 합니다." + +#: ../app/ui.js:1083 +msgid "Connected (encrypted) to " +msgstr "다음과 (암호화되어) 연결되었습니다:" + +#: ../app/ui.js:1085 +msgid "Connected (unencrypted) to " +msgstr "다음과 (암호화 없이) 연결되었습니다:" + +#: ../app/ui.js:1108 +msgid "Something went wrong, connection is closed" +msgstr "무언가 잘못되었습니다, 연결이 닫혔습니다." + +#: ../app/ui.js:1111 +msgid "Failed to connect to server" +msgstr "서버에 연결하지 못했습니다." + +#: ../app/ui.js:1121 +msgid "Disconnected" +msgstr "연결이 해제되었습니다." + +#: ../app/ui.js:1134 +msgid "New connection has been rejected with reason: " +msgstr "새 연결이 다음 이유로 거부되었습니다:" + +#: ../app/ui.js:1137 +msgid "New connection has been rejected" +msgstr "새 연결이 거부되었습니다." + +#: ../app/ui.js:1158 +msgid "Password is required" +msgstr "비밀번호가 필요합니다." + +#: ../vnc.html:91 +msgid "noVNC encountered an error:" +msgstr "noVNC에 오류가 발생했습니다:" + +#: ../vnc.html:101 +msgid "Hide/Show the control bar" +msgstr "컨트롤 바 숨기기/보이기" + +#: ../vnc.html:108 +msgid "Move/Drag Viewport" +msgstr "움직이기/드래그 뷰포트" + +#: ../vnc.html:108 +msgid "viewport drag" +msgstr "뷰포트 드래그" + +#: ../vnc.html:114 ../vnc.html:117 ../vnc.html:120 ../vnc.html:123 +msgid "Active Mouse Button" +msgstr "마우스 버튼 활성화" + +#: ../vnc.html:114 +msgid "No mousebutton" +msgstr "마우스 버튼 없음" + +#: ../vnc.html:117 +msgid "Left mousebutton" +msgstr "왼쪽 마우스 버튼" + +#: ../vnc.html:120 +msgid "Middle mousebutton" +msgstr "중간 마우스 버튼" + +#: ../vnc.html:123 +msgid "Right mousebutton" +msgstr "오른쪽 마우스 버튼" + +#: ../vnc.html:126 +msgid "Keyboard" +msgstr "키보드" + +#: ../vnc.html:126 +msgid "Show Keyboard" +msgstr "키보드 보이기" + +#: ../vnc.html:133 +msgid "Extra keys" +msgstr "기타 키들" + +#: ../vnc.html:133 +msgid "Show Extra Keys" +msgstr "기타 키들 보이기" + +#: ../vnc.html:138 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:138 +msgid "Toggle Ctrl" +msgstr "Ctrl 켜기/끄기" + +#: ../vnc.html:141 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:141 +msgid "Toggle Alt" +msgstr "Alt 켜기/끄기" + +#: ../vnc.html:144 +msgid "Send Tab" +msgstr "Tab 보내기" + +#: ../vnc.html:144 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:147 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:147 +msgid "Send Escape" +msgstr "Esc 보내기" + +#: ../vnc.html:150 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:150 +msgid "Send Ctrl-Alt-Del" +msgstr "Ctrl+Alt+Del 보내기" + +#: ../vnc.html:158 +msgid "Shutdown/Reboot" +msgstr "셧다운/리붓" + +#: ../vnc.html:158 +msgid "Shutdown/Reboot..." +msgstr "셧다운/리붓..." + +#: ../vnc.html:164 +msgid "Power" +msgstr "전원" + +#: ../vnc.html:166 +msgid "Shutdown" +msgstr "셧다운" + +#: ../vnc.html:167 +msgid "Reboot" +msgstr "리붓" + +#: ../vnc.html:168 +msgid "Reset" +msgstr "리셋" + +#: ../vnc.html:173 ../vnc.html:179 +msgid "Clipboard" +msgstr "클립보드" + +#: ../vnc.html:183 +msgid "Clear" +msgstr "지우기" + +#: ../vnc.html:189 +msgid "Fullscreen" +msgstr "전체화면" + +#: ../vnc.html:194 ../vnc.html:201 +msgid "Settings" +msgstr "설정" + +#: ../vnc.html:204 +msgid "Shared Mode" +msgstr "공유 모드" + +#: ../vnc.html:207 +msgid "View Only" +msgstr "보기 전용" + +#: ../vnc.html:211 +msgid "Clip to Window" +msgstr "창에 클립" + +#: ../vnc.html:214 +msgid "Scaling Mode:" +msgstr "스케일링 모드:" + +#: ../vnc.html:216 +msgid "None" +msgstr "없음" + +#: ../vnc.html:217 +msgid "Local Scaling" +msgstr "로컬 스케일링" + +#: ../vnc.html:218 +msgid "Remote Resizing" +msgstr "원격 크기 조절" + +#: ../vnc.html:223 +msgid "Advanced" +msgstr "고급" + +#: ../vnc.html:226 +msgid "Repeater ID:" +msgstr "중계 ID" + +#: ../vnc.html:230 +msgid "WebSocket" +msgstr "웹소켓" + +#: ../vnc.html:233 +msgid "Encrypt" +msgstr "암호화" + +#: ../vnc.html:236 +msgid "Host:" +msgstr "호스트:" + +#: ../vnc.html:240 +msgid "Port:" +msgstr "포트:" + +#: ../vnc.html:244 +msgid "Path:" +msgstr "위치:" + +#: ../vnc.html:251 +msgid "Automatic Reconnect" +msgstr "자동 재연결" + +#: ../vnc.html:254 +msgid "Reconnect Delay (ms):" +msgstr "재연결 지연 시간 (ms)" + +#: ../vnc.html:260 +msgid "Logging:" +msgstr "로깅" + +#: ../vnc.html:272 +msgid "Disconnect" +msgstr "연결 해제" + +#: ../vnc.html:291 +msgid "Connect" +msgstr "연결" + +#: ../vnc.html:301 +msgid "Password:" +msgstr "비밀번호:" + +#: ../vnc.html:305 +msgid "Send Password" +msgstr "비밀번호 전송" + +#: ../vnc.html:315 +msgid "Cancel" +msgstr "취소" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/nl.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/nl.po index 343204a..4b5626d 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/nl.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/nl.po @@ -1,322 +1,322 @@ -# Dutch translations for noVNC package -# Nederlandse vertalingen voor het pakket noVNC. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Loek Janssen , 2016. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.1.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2019-04-09 11:06+0100\n" -"PO-Revision-Date: 2019-04-09 17:17+0100\n" -"Last-Translator: Arend Lapere \n" -"Language-Team: none\n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: ../app/ui.js:383 -msgid "Connecting..." -msgstr "Verbinden..." - -#: ../app/ui.js:390 -msgid "Disconnecting..." -msgstr "Verbinding verbreken..." - -#: ../app/ui.js:396 -msgid "Reconnecting..." -msgstr "Opnieuw verbinding maken..." - -#: ../app/ui.js:401 -msgid "Internal error" -msgstr "Interne fout" - -#: ../app/ui.js:991 -msgid "Must set host" -msgstr "Host moeten worden ingesteld" - -#: ../app/ui.js:1073 -msgid "Connected (encrypted) to " -msgstr "Verbonden (versleuteld) met " - -#: ../app/ui.js:1075 -msgid "Connected (unencrypted) to " -msgstr "Verbonden (onversleuteld) met " - -#: ../app/ui.js:1098 -msgid "Something went wrong, connection is closed" -msgstr "Er iets fout gelopen, verbinding werd verbroken" - -#: ../app/ui.js:1101 -msgid "Failed to connect to server" -msgstr "Verbinding maken met server is mislukt" - -#: ../app/ui.js:1111 -msgid "Disconnected" -msgstr "Verbinding verbroken" - -#: ../app/ui.js:1124 -msgid "New connection has been rejected with reason: " -msgstr "Nieuwe verbinding is geweigerd omwille van de volgende reden: " - -#: ../app/ui.js:1127 -msgid "New connection has been rejected" -msgstr "Nieuwe verbinding is geweigerd" - -#: ../app/ui.js:1147 -msgid "Password is required" -msgstr "Wachtwoord is vereist" - -#: ../vnc.html:80 -msgid "noVNC encountered an error:" -msgstr "noVNC heeft een fout bemerkt:" - -#: ../vnc.html:90 -msgid "Hide/Show the control bar" -msgstr "Verberg/Toon de bedieningsbalk" - -#: ../vnc.html:97 -msgid "Move/Drag Viewport" -msgstr "Verplaats/Versleep Kijkvenster" - -#: ../vnc.html:97 -msgid "viewport drag" -msgstr "kijkvenster slepen" - -#: ../vnc.html:103 ../vnc.html:106 ../vnc.html:109 ../vnc.html:112 -msgid "Active Mouse Button" -msgstr "Actieve Muisknop" - -#: ../vnc.html:103 -msgid "No mousebutton" -msgstr "Geen muisknop" - -#: ../vnc.html:106 -msgid "Left mousebutton" -msgstr "Linker muisknop" - -#: ../vnc.html:109 -msgid "Middle mousebutton" -msgstr "Middelste muisknop" - -#: ../vnc.html:112 -msgid "Right mousebutton" -msgstr "Rechter muisknop" - -#: ../vnc.html:115 -msgid "Keyboard" -msgstr "Toetsenbord" - -#: ../vnc.html:115 -msgid "Show Keyboard" -msgstr "Toon Toetsenbord" - -#: ../vnc.html:121 -msgid "Extra keys" -msgstr "Extra toetsen" - -#: ../vnc.html:121 -msgid "Show Extra Keys" -msgstr "Toon Extra Toetsen" - -#: ../vnc.html:126 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:126 -msgid "Toggle Ctrl" -msgstr "Ctrl omschakelen" - -#: ../vnc.html:129 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:129 -msgid "Toggle Alt" -msgstr "Alt omschakelen" - -#: ../vnc.html:132 -msgid "Toggle Windows" -msgstr "Windows omschakelen" - -#: ../vnc.html:132 -msgid "Windows" -msgstr "Windows" - -#: ../vnc.html:135 -msgid "Send Tab" -msgstr "Tab Sturen" - -#: ../vnc.html:135 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:138 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:138 -msgid "Send Escape" -msgstr "Escape Sturen" - -#: ../vnc.html:141 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl-Alt-Del" - -#: ../vnc.html:141 -msgid "Send Ctrl-Alt-Del" -msgstr "Ctrl-Alt-Del Sturen" - -#: ../vnc.html:149 -msgid "Shutdown/Reboot" -msgstr "Uitschakelen/Herstarten" - -#: ../vnc.html:149 -msgid "Shutdown/Reboot..." -msgstr "Uitschakelen/Herstarten..." - -#: ../vnc.html:155 -msgid "Power" -msgstr "Systeem" - -#: ../vnc.html:157 -msgid "Shutdown" -msgstr "Uitschakelen" - -#: ../vnc.html:158 -msgid "Reboot" -msgstr "Herstarten" - -#: ../vnc.html:159 -msgid "Reset" -msgstr "Resetten" - -#: ../vnc.html:164 ../vnc.html:170 -msgid "Clipboard" -msgstr "Klembord" - -#: ../vnc.html:174 -msgid "Clear" -msgstr "Wissen" - -#: ../vnc.html:180 -msgid "Fullscreen" -msgstr "Volledig Scherm" - -#: ../vnc.html:185 ../vnc.html:192 -msgid "Settings" -msgstr "Instellingen" - -#: ../vnc.html:195 -msgid "Shared Mode" -msgstr "Gedeelde Modus" - -#: ../vnc.html:198 -msgid "View Only" -msgstr "Alleen Kijken" - -#: ../vnc.html:202 -msgid "Clip to Window" -msgstr "Randen buiten venster afsnijden" - -#: ../vnc.html:205 -msgid "Scaling Mode:" -msgstr "Schaalmodus:" - -#: ../vnc.html:207 -msgid "None" -msgstr "Geen" - -#: ../vnc.html:208 -msgid "Local Scaling" -msgstr "Lokaal Schalen" - -#: ../vnc.html:209 -msgid "Remote Resizing" -msgstr "Op Afstand Formaat Wijzigen" - -#: ../vnc.html:214 -msgid "Advanced" -msgstr "Geavanceerd" - -#: ../vnc.html:217 -msgid "Repeater ID:" -msgstr "Repeater ID:" - -#: ../vnc.html:221 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:224 -msgid "Encrypt" -msgstr "Versleutelen" - -#: ../vnc.html:227 -msgid "Host:" -msgstr "Host:" - -#: ../vnc.html:231 -msgid "Port:" -msgstr "Poort:" - -#: ../vnc.html:235 -msgid "Path:" -msgstr "Pad:" - -#: ../vnc.html:242 -msgid "Automatic Reconnect" -msgstr "Automatisch Opnieuw Verbinden" - -#: ../vnc.html:245 -msgid "Reconnect Delay (ms):" -msgstr "Vertraging voor Opnieuw Verbinden (ms):" - -#: ../vnc.html:250 -msgid "Show Dot when No Cursor" -msgstr "Geef stip weer indien geen cursor" - -#: ../vnc.html:255 -msgid "Logging:" -msgstr "Logmeldingen:" - -#: ../vnc.html:267 -msgid "Disconnect" -msgstr "Verbinding verbreken" - -#: ../vnc.html:286 -msgid "Connect" -msgstr "Verbinden" - -#: ../vnc.html:296 -msgid "Password:" -msgstr "Wachtwoord:" - -#: ../vnc.html:300 -msgid "Send Password" -msgstr "Verzend Wachtwoord:" - -#: ../vnc.html:310 -msgid "Cancel" -msgstr "Annuleren" - -#~ msgid "Disconnect timeout" -#~ msgstr "Timeout tijdens verbreken van verbinding" - -#~ msgid "Local Downscaling" -#~ msgstr "Lokaal Neerschalen" - -#~ msgid "Local Cursor" -#~ msgstr "Lokale Cursor" - -#~ msgid "Canvas not supported." -#~ msgstr "Canvas wordt niet ondersteund." - -#~ msgid "" -#~ "Forcing clipping mode since scrollbars aren't supported by IE in " -#~ "fullscreen" -#~ msgstr "" -#~ "''Clipping mode' ingeschakeld, omdat schuifbalken in volledige-scherm-" -#~ "modus in IE niet worden ondersteund" +# Dutch translations for noVNC package +# Nederlandse vertalingen voor het pakket noVNC. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Loek Janssen , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.1.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2019-04-09 11:06+0100\n" +"PO-Revision-Date: 2019-04-09 17:17+0100\n" +"Last-Translator: Arend Lapere \n" +"Language-Team: none\n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../app/ui.js:383 +msgid "Connecting..." +msgstr "Verbinden..." + +#: ../app/ui.js:390 +msgid "Disconnecting..." +msgstr "Verbinding verbreken..." + +#: ../app/ui.js:396 +msgid "Reconnecting..." +msgstr "Opnieuw verbinding maken..." + +#: ../app/ui.js:401 +msgid "Internal error" +msgstr "Interne fout" + +#: ../app/ui.js:991 +msgid "Must set host" +msgstr "Host moeten worden ingesteld" + +#: ../app/ui.js:1073 +msgid "Connected (encrypted) to " +msgstr "Verbonden (versleuteld) met " + +#: ../app/ui.js:1075 +msgid "Connected (unencrypted) to " +msgstr "Verbonden (onversleuteld) met " + +#: ../app/ui.js:1098 +msgid "Something went wrong, connection is closed" +msgstr "Er iets fout gelopen, verbinding werd verbroken" + +#: ../app/ui.js:1101 +msgid "Failed to connect to server" +msgstr "Verbinding maken met server is mislukt" + +#: ../app/ui.js:1111 +msgid "Disconnected" +msgstr "Verbinding verbroken" + +#: ../app/ui.js:1124 +msgid "New connection has been rejected with reason: " +msgstr "Nieuwe verbinding is geweigerd omwille van de volgende reden: " + +#: ../app/ui.js:1127 +msgid "New connection has been rejected" +msgstr "Nieuwe verbinding is geweigerd" + +#: ../app/ui.js:1147 +msgid "Password is required" +msgstr "Wachtwoord is vereist" + +#: ../vnc.html:80 +msgid "noVNC encountered an error:" +msgstr "noVNC heeft een fout bemerkt:" + +#: ../vnc.html:90 +msgid "Hide/Show the control bar" +msgstr "Verberg/Toon de bedieningsbalk" + +#: ../vnc.html:97 +msgid "Move/Drag Viewport" +msgstr "Verplaats/Versleep Kijkvenster" + +#: ../vnc.html:97 +msgid "viewport drag" +msgstr "kijkvenster slepen" + +#: ../vnc.html:103 ../vnc.html:106 ../vnc.html:109 ../vnc.html:112 +msgid "Active Mouse Button" +msgstr "Actieve Muisknop" + +#: ../vnc.html:103 +msgid "No mousebutton" +msgstr "Geen muisknop" + +#: ../vnc.html:106 +msgid "Left mousebutton" +msgstr "Linker muisknop" + +#: ../vnc.html:109 +msgid "Middle mousebutton" +msgstr "Middelste muisknop" + +#: ../vnc.html:112 +msgid "Right mousebutton" +msgstr "Rechter muisknop" + +#: ../vnc.html:115 +msgid "Keyboard" +msgstr "Toetsenbord" + +#: ../vnc.html:115 +msgid "Show Keyboard" +msgstr "Toon Toetsenbord" + +#: ../vnc.html:121 +msgid "Extra keys" +msgstr "Extra toetsen" + +#: ../vnc.html:121 +msgid "Show Extra Keys" +msgstr "Toon Extra Toetsen" + +#: ../vnc.html:126 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:126 +msgid "Toggle Ctrl" +msgstr "Ctrl omschakelen" + +#: ../vnc.html:129 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:129 +msgid "Toggle Alt" +msgstr "Alt omschakelen" + +#: ../vnc.html:132 +msgid "Toggle Windows" +msgstr "Windows omschakelen" + +#: ../vnc.html:132 +msgid "Windows" +msgstr "Windows" + +#: ../vnc.html:135 +msgid "Send Tab" +msgstr "Tab Sturen" + +#: ../vnc.html:135 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:138 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:138 +msgid "Send Escape" +msgstr "Escape Sturen" + +#: ../vnc.html:141 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl-Alt-Del" + +#: ../vnc.html:141 +msgid "Send Ctrl-Alt-Del" +msgstr "Ctrl-Alt-Del Sturen" + +#: ../vnc.html:149 +msgid "Shutdown/Reboot" +msgstr "Uitschakelen/Herstarten" + +#: ../vnc.html:149 +msgid "Shutdown/Reboot..." +msgstr "Uitschakelen/Herstarten..." + +#: ../vnc.html:155 +msgid "Power" +msgstr "Systeem" + +#: ../vnc.html:157 +msgid "Shutdown" +msgstr "Uitschakelen" + +#: ../vnc.html:158 +msgid "Reboot" +msgstr "Herstarten" + +#: ../vnc.html:159 +msgid "Reset" +msgstr "Resetten" + +#: ../vnc.html:164 ../vnc.html:170 +msgid "Clipboard" +msgstr "Klembord" + +#: ../vnc.html:174 +msgid "Clear" +msgstr "Wissen" + +#: ../vnc.html:180 +msgid "Fullscreen" +msgstr "Volledig Scherm" + +#: ../vnc.html:185 ../vnc.html:192 +msgid "Settings" +msgstr "Instellingen" + +#: ../vnc.html:195 +msgid "Shared Mode" +msgstr "Gedeelde Modus" + +#: ../vnc.html:198 +msgid "View Only" +msgstr "Alleen Kijken" + +#: ../vnc.html:202 +msgid "Clip to Window" +msgstr "Randen buiten venster afsnijden" + +#: ../vnc.html:205 +msgid "Scaling Mode:" +msgstr "Schaalmodus:" + +#: ../vnc.html:207 +msgid "None" +msgstr "Geen" + +#: ../vnc.html:208 +msgid "Local Scaling" +msgstr "Lokaal Schalen" + +#: ../vnc.html:209 +msgid "Remote Resizing" +msgstr "Op Afstand Formaat Wijzigen" + +#: ../vnc.html:214 +msgid "Advanced" +msgstr "Geavanceerd" + +#: ../vnc.html:217 +msgid "Repeater ID:" +msgstr "Repeater ID:" + +#: ../vnc.html:221 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:224 +msgid "Encrypt" +msgstr "Versleutelen" + +#: ../vnc.html:227 +msgid "Host:" +msgstr "Host:" + +#: ../vnc.html:231 +msgid "Port:" +msgstr "Poort:" + +#: ../vnc.html:235 +msgid "Path:" +msgstr "Pad:" + +#: ../vnc.html:242 +msgid "Automatic Reconnect" +msgstr "Automatisch Opnieuw Verbinden" + +#: ../vnc.html:245 +msgid "Reconnect Delay (ms):" +msgstr "Vertraging voor Opnieuw Verbinden (ms):" + +#: ../vnc.html:250 +msgid "Show Dot when No Cursor" +msgstr "Geef stip weer indien geen cursor" + +#: ../vnc.html:255 +msgid "Logging:" +msgstr "Logmeldingen:" + +#: ../vnc.html:267 +msgid "Disconnect" +msgstr "Verbinding verbreken" + +#: ../vnc.html:286 +msgid "Connect" +msgstr "Verbinden" + +#: ../vnc.html:296 +msgid "Password:" +msgstr "Wachtwoord:" + +#: ../vnc.html:300 +msgid "Send Password" +msgstr "Verzend Wachtwoord:" + +#: ../vnc.html:310 +msgid "Cancel" +msgstr "Annuleren" + +#~ msgid "Disconnect timeout" +#~ msgstr "Timeout tijdens verbreken van verbinding" + +#~ msgid "Local Downscaling" +#~ msgstr "Lokaal Neerschalen" + +#~ msgid "Local Cursor" +#~ msgstr "Lokale Cursor" + +#~ msgid "Canvas not supported." +#~ msgstr "Canvas wordt niet ondersteund." + +#~ msgid "" +#~ "Forcing clipping mode since scrollbars aren't supported by IE in " +#~ "fullscreen" +#~ msgstr "" +#~ "''Clipping mode' ingeschakeld, omdat schuifbalken in volledige-scherm-" +#~ "modus in IE niet worden ondersteund" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/noVNC.pot b/whmcs/modules/servers/virtualizor_cloud/novnc/po/noVNC.pot index 01db78f..b58374e 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/noVNC.pot +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/noVNC.pot @@ -1,298 +1,298 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.2.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2020-07-03 16:11+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../app/ui.js:394 -msgid "Connecting..." -msgstr "" - -#: ../app/ui.js:401 -msgid "Disconnecting..." -msgstr "" - -#: ../app/ui.js:407 -msgid "Reconnecting..." -msgstr "" - -#: ../app/ui.js:412 -msgid "Internal error" -msgstr "" - -#: ../app/ui.js:1008 -msgid "Must set host" -msgstr "" - -#: ../app/ui.js:1090 -msgid "Connected (encrypted) to " -msgstr "" - -#: ../app/ui.js:1092 -msgid "Connected (unencrypted) to " -msgstr "" - -#: ../app/ui.js:1115 -msgid "Something went wrong, connection is closed" -msgstr "" - -#: ../app/ui.js:1118 -msgid "Failed to connect to server" -msgstr "" - -#: ../app/ui.js:1128 -msgid "Disconnected" -msgstr "" - -#: ../app/ui.js:1143 -msgid "New connection has been rejected with reason: " -msgstr "" - -#: ../app/ui.js:1146 -msgid "New connection has been rejected" -msgstr "" - -#: ../app/ui.js:1181 -msgid "Credentials are required" -msgstr "" - -#: ../vnc.html:74 -msgid "noVNC encountered an error:" -msgstr "" - -#: ../vnc.html:84 -msgid "Hide/Show the control bar" -msgstr "" - -#: ../vnc.html:91 -msgid "Drag" -msgstr "" - -#: ../vnc.html:91 -msgid "Move/Drag Viewport" -msgstr "" - -#: ../vnc.html:97 -msgid "Keyboard" -msgstr "" - -#: ../vnc.html:97 -msgid "Show Keyboard" -msgstr "" - -#: ../vnc.html:102 -msgid "Extra keys" -msgstr "" - -#: ../vnc.html:102 -msgid "Show Extra Keys" -msgstr "" - -#: ../vnc.html:107 -msgid "Ctrl" -msgstr "" - -#: ../vnc.html:107 -msgid "Toggle Ctrl" -msgstr "" - -#: ../vnc.html:110 -msgid "Alt" -msgstr "" - -#: ../vnc.html:110 -msgid "Toggle Alt" -msgstr "" - -#: ../vnc.html:113 -msgid "Toggle Windows" -msgstr "" - -#: ../vnc.html:113 -msgid "Windows" -msgstr "" - -#: ../vnc.html:116 -msgid "Send Tab" -msgstr "" - -#: ../vnc.html:116 -msgid "Tab" -msgstr "" - -#: ../vnc.html:119 -msgid "Esc" -msgstr "" - -#: ../vnc.html:119 -msgid "Send Escape" -msgstr "" - -#: ../vnc.html:122 -msgid "Ctrl+Alt+Del" -msgstr "" - -#: ../vnc.html:122 -msgid "Send Ctrl-Alt-Del" -msgstr "" - -#: ../vnc.html:129 -msgid "Shutdown/Reboot" -msgstr "" - -#: ../vnc.html:129 -msgid "Shutdown/Reboot..." -msgstr "" - -#: ../vnc.html:135 -msgid "Power" -msgstr "" - -#: ../vnc.html:137 -msgid "Shutdown" -msgstr "" - -#: ../vnc.html:138 -msgid "Reboot" -msgstr "" - -#: ../vnc.html:139 -msgid "Reset" -msgstr "" - -#: ../vnc.html:144 ../vnc.html:150 -msgid "Clipboard" -msgstr "" - -#: ../vnc.html:154 -msgid "Clear" -msgstr "" - -#: ../vnc.html:160 -msgid "Fullscreen" -msgstr "" - -#: ../vnc.html:165 ../vnc.html:172 -msgid "Settings" -msgstr "" - -#: ../vnc.html:175 -msgid "Shared Mode" -msgstr "" - -#: ../vnc.html:178 -msgid "View Only" -msgstr "" - -#: ../vnc.html:182 -msgid "Clip to Window" -msgstr "" - -#: ../vnc.html:185 -msgid "Scaling Mode:" -msgstr "" - -#: ../vnc.html:187 -msgid "None" -msgstr "" - -#: ../vnc.html:188 -msgid "Local Scaling" -msgstr "" - -#: ../vnc.html:189 -msgid "Remote Resizing" -msgstr "" - -#: ../vnc.html:194 -msgid "Advanced" -msgstr "" - -#: ../vnc.html:197 -msgid "Quality:" -msgstr "" - -#: ../vnc.html:201 -msgid "Compression level:" -msgstr "" - -#: ../vnc.html:206 -msgid "Repeater ID:" -msgstr "" - -#: ../vnc.html:210 -msgid "WebSocket" -msgstr "" - -#: ../vnc.html:213 -msgid "Encrypt" -msgstr "" - -#: ../vnc.html:216 -msgid "Host:" -msgstr "" - -#: ../vnc.html:220 -msgid "Port:" -msgstr "" - -#: ../vnc.html:224 -msgid "Path:" -msgstr "" - -#: ../vnc.html:231 -msgid "Automatic Reconnect" -msgstr "" - -#: ../vnc.html:234 -msgid "Reconnect Delay (ms):" -msgstr "" - -#: ../vnc.html:239 -msgid "Show Dot when No Cursor" -msgstr "" - -#: ../vnc.html:244 -msgid "Logging:" -msgstr "" - -#: ../vnc.html:253 -msgid "Version:" -msgstr "" - -#: ../vnc.html:261 -msgid "Disconnect" -msgstr "" - -#: ../vnc.html:280 -msgid "Connect" -msgstr "" - -#: ../vnc.html:290 -msgid "Username:" -msgstr "" - -#: ../vnc.html:294 -msgid "Password:" -msgstr "" - -#: ../vnc.html:298 -msgid "Send Credentials" -msgstr "" - -#: ../vnc.html:308 -msgid "Cancel" -msgstr "" +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.2.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2020-07-03 16:11+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../app/ui.js:394 +msgid "Connecting..." +msgstr "" + +#: ../app/ui.js:401 +msgid "Disconnecting..." +msgstr "" + +#: ../app/ui.js:407 +msgid "Reconnecting..." +msgstr "" + +#: ../app/ui.js:412 +msgid "Internal error" +msgstr "" + +#: ../app/ui.js:1008 +msgid "Must set host" +msgstr "" + +#: ../app/ui.js:1090 +msgid "Connected (encrypted) to " +msgstr "" + +#: ../app/ui.js:1092 +msgid "Connected (unencrypted) to " +msgstr "" + +#: ../app/ui.js:1115 +msgid "Something went wrong, connection is closed" +msgstr "" + +#: ../app/ui.js:1118 +msgid "Failed to connect to server" +msgstr "" + +#: ../app/ui.js:1128 +msgid "Disconnected" +msgstr "" + +#: ../app/ui.js:1143 +msgid "New connection has been rejected with reason: " +msgstr "" + +#: ../app/ui.js:1146 +msgid "New connection has been rejected" +msgstr "" + +#: ../app/ui.js:1181 +msgid "Credentials are required" +msgstr "" + +#: ../vnc.html:74 +msgid "noVNC encountered an error:" +msgstr "" + +#: ../vnc.html:84 +msgid "Hide/Show the control bar" +msgstr "" + +#: ../vnc.html:91 +msgid "Drag" +msgstr "" + +#: ../vnc.html:91 +msgid "Move/Drag Viewport" +msgstr "" + +#: ../vnc.html:97 +msgid "Keyboard" +msgstr "" + +#: ../vnc.html:97 +msgid "Show Keyboard" +msgstr "" + +#: ../vnc.html:102 +msgid "Extra keys" +msgstr "" + +#: ../vnc.html:102 +msgid "Show Extra Keys" +msgstr "" + +#: ../vnc.html:107 +msgid "Ctrl" +msgstr "" + +#: ../vnc.html:107 +msgid "Toggle Ctrl" +msgstr "" + +#: ../vnc.html:110 +msgid "Alt" +msgstr "" + +#: ../vnc.html:110 +msgid "Toggle Alt" +msgstr "" + +#: ../vnc.html:113 +msgid "Toggle Windows" +msgstr "" + +#: ../vnc.html:113 +msgid "Windows" +msgstr "" + +#: ../vnc.html:116 +msgid "Send Tab" +msgstr "" + +#: ../vnc.html:116 +msgid "Tab" +msgstr "" + +#: ../vnc.html:119 +msgid "Esc" +msgstr "" + +#: ../vnc.html:119 +msgid "Send Escape" +msgstr "" + +#: ../vnc.html:122 +msgid "Ctrl+Alt+Del" +msgstr "" + +#: ../vnc.html:122 +msgid "Send Ctrl-Alt-Del" +msgstr "" + +#: ../vnc.html:129 +msgid "Shutdown/Reboot" +msgstr "" + +#: ../vnc.html:129 +msgid "Shutdown/Reboot..." +msgstr "" + +#: ../vnc.html:135 +msgid "Power" +msgstr "" + +#: ../vnc.html:137 +msgid "Shutdown" +msgstr "" + +#: ../vnc.html:138 +msgid "Reboot" +msgstr "" + +#: ../vnc.html:139 +msgid "Reset" +msgstr "" + +#: ../vnc.html:144 ../vnc.html:150 +msgid "Clipboard" +msgstr "" + +#: ../vnc.html:154 +msgid "Clear" +msgstr "" + +#: ../vnc.html:160 +msgid "Fullscreen" +msgstr "" + +#: ../vnc.html:165 ../vnc.html:172 +msgid "Settings" +msgstr "" + +#: ../vnc.html:175 +msgid "Shared Mode" +msgstr "" + +#: ../vnc.html:178 +msgid "View Only" +msgstr "" + +#: ../vnc.html:182 +msgid "Clip to Window" +msgstr "" + +#: ../vnc.html:185 +msgid "Scaling Mode:" +msgstr "" + +#: ../vnc.html:187 +msgid "None" +msgstr "" + +#: ../vnc.html:188 +msgid "Local Scaling" +msgstr "" + +#: ../vnc.html:189 +msgid "Remote Resizing" +msgstr "" + +#: ../vnc.html:194 +msgid "Advanced" +msgstr "" + +#: ../vnc.html:197 +msgid "Quality:" +msgstr "" + +#: ../vnc.html:201 +msgid "Compression level:" +msgstr "" + +#: ../vnc.html:206 +msgid "Repeater ID:" +msgstr "" + +#: ../vnc.html:210 +msgid "WebSocket" +msgstr "" + +#: ../vnc.html:213 +msgid "Encrypt" +msgstr "" + +#: ../vnc.html:216 +msgid "Host:" +msgstr "" + +#: ../vnc.html:220 +msgid "Port:" +msgstr "" + +#: ../vnc.html:224 +msgid "Path:" +msgstr "" + +#: ../vnc.html:231 +msgid "Automatic Reconnect" +msgstr "" + +#: ../vnc.html:234 +msgid "Reconnect Delay (ms):" +msgstr "" + +#: ../vnc.html:239 +msgid "Show Dot when No Cursor" +msgstr "" + +#: ../vnc.html:244 +msgid "Logging:" +msgstr "" + +#: ../vnc.html:253 +msgid "Version:" +msgstr "" + +#: ../vnc.html:261 +msgid "Disconnect" +msgstr "" + +#: ../vnc.html:280 +msgid "Connect" +msgstr "" + +#: ../vnc.html:290 +msgid "Username:" +msgstr "" + +#: ../vnc.html:294 +msgid "Password:" +msgstr "" + +#: ../vnc.html:298 +msgid "Send Credentials" +msgstr "" + +#: ../vnc.html:308 +msgid "Cancel" +msgstr "" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/pl.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/pl.po index 5acfdc4..a03fe2e 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/pl.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/pl.po @@ -1,325 +1,325 @@ -# Polish translations for noVNC package. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Mariusz Jamro , 2017. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 0.6.1\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2017-11-21 19:53+0100\n" -"PO-Revision-Date: 2017-11-21 19:54+0100\n" -"Last-Translator: Mariusz Jamro \n" -"Language-Team: Polish\n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.0.1\n" - -#: ../app/ui.js:404 -msgid "Connecting..." -msgstr "Łączenie..." - -#: ../app/ui.js:411 -msgid "Disconnecting..." -msgstr "Rozłączanie..." - -#: ../app/ui.js:417 -msgid "Reconnecting..." -msgstr "Łączenie..." - -#: ../app/ui.js:422 -msgid "Internal error" -msgstr "Błąd wewnętrzny" - -#: ../app/ui.js:1019 -msgid "Must set host" -msgstr "Host i port są wymagane" - -#: ../app/ui.js:1099 -msgid "Connected (encrypted) to " -msgstr "Połączenie (szyfrowane) z " - -#: ../app/ui.js:1101 -msgid "Connected (unencrypted) to " -msgstr "Połączenie (nieszyfrowane) z " - -#: ../app/ui.js:1119 -msgid "Something went wrong, connection is closed" -msgstr "Coś poszło źle, połączenie zostało zamknięte" - -#: ../app/ui.js:1129 -msgid "Disconnected" -msgstr "Rozłączony" - -#: ../app/ui.js:1142 -msgid "New connection has been rejected with reason: " -msgstr "Nowe połączenie zostało odrzucone z powodu: " - -#: ../app/ui.js:1145 -msgid "New connection has been rejected" -msgstr "Nowe połączenie zostało odrzucone" - -#: ../app/ui.js:1166 -msgid "Password is required" -msgstr "Hasło jest wymagane" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "noVNC napotkało błąd:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "Pokaż/Ukryj pasek ustawień" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "Ruszaj/Przeciągaj Viewport" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "przeciągnij viewport" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "Aktywny Przycisk Myszy" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "Brak przycisku myszy" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "Lewy przycisk myszy" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "Środkowy przycisk myszy" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "Prawy przycisk myszy" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "Klawiatura" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "Pokaż klawiaturę" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "Przyciski dodatkowe" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "Pokaż przyciski dodatkowe" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "Przełącz Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "Przełącz Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "Wyślij Tab" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "Wyślij Escape" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "Wyślij Ctrl-Alt-Del" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "Wyłącz/Uruchom ponownie" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "Wyłącz/Uruchom ponownie..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "Włączony" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "Wyłącz" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "Uruchom ponownie" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "Resetuj" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "Schowek" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "Wyczyść" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "Pełny ekran" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "Ustawienia" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "Tryb Współdzielenia" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "Tylko Podgląd" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "Przytnij do Okna" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "Tryb Skalowania:" - -#: ../vnc.html:214 -msgid "None" -msgstr "Brak" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "Skalowanie lokalne" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "Skalowanie zdalne" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "Zaawansowane" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "ID Repeatera:" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "Szyfrowanie" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "Host:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "Port:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "Ścieżka:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "Automatycznie wznawiaj połączenie" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "Opóźnienie wznawiania (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "Poziom logowania:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "Rozłącz" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "Połącz" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "Hasło:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "Anuluj" - -#: ../vnc.html:329 -msgid "Canvas not supported." -msgstr "Element Canvas nie jest wspierany." - -#~ msgid "Disconnect timeout" -#~ msgstr "Timeout rozłączenia" - -#~ msgid "Local Downscaling" -#~ msgstr "Downscaling lokalny" - -#~ msgid "Local Cursor" -#~ msgstr "Lokalny kursor" - -#~ msgid "" -#~ "Forcing clipping mode since scrollbars aren't supported by IE in " -#~ "fullscreen" -#~ msgstr "" -#~ "Wymuszam clipping mode ponieważ paski przewijania nie są wspierane przez " -#~ "IE w trybie pełnoekranowym" - -#~ msgid "True Color" -#~ msgstr "True Color" - -#~ msgid "Style:" -#~ msgstr "Styl:" - -#~ msgid "default" -#~ msgstr "domyślny" - -#~ msgid "Apply" -#~ msgstr "Zapisz" - -#~ msgid "Connection" -#~ msgstr "Połączenie" - -#~ msgid "Token:" -#~ msgstr "Token:" - -#~ msgid "Send Password" -#~ msgstr "Wyślij Hasło" +# Polish translations for noVNC package. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Mariusz Jamro , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 0.6.1\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2017-11-21 19:53+0100\n" +"PO-Revision-Date: 2017-11-21 19:54+0100\n" +"Last-Translator: Mariusz Jamro \n" +"Language-Team: Polish\n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.0.1\n" + +#: ../app/ui.js:404 +msgid "Connecting..." +msgstr "Łączenie..." + +#: ../app/ui.js:411 +msgid "Disconnecting..." +msgstr "Rozłączanie..." + +#: ../app/ui.js:417 +msgid "Reconnecting..." +msgstr "Łączenie..." + +#: ../app/ui.js:422 +msgid "Internal error" +msgstr "Błąd wewnętrzny" + +#: ../app/ui.js:1019 +msgid "Must set host" +msgstr "Host i port są wymagane" + +#: ../app/ui.js:1099 +msgid "Connected (encrypted) to " +msgstr "Połączenie (szyfrowane) z " + +#: ../app/ui.js:1101 +msgid "Connected (unencrypted) to " +msgstr "Połączenie (nieszyfrowane) z " + +#: ../app/ui.js:1119 +msgid "Something went wrong, connection is closed" +msgstr "Coś poszło źle, połączenie zostało zamknięte" + +#: ../app/ui.js:1129 +msgid "Disconnected" +msgstr "Rozłączony" + +#: ../app/ui.js:1142 +msgid "New connection has been rejected with reason: " +msgstr "Nowe połączenie zostało odrzucone z powodu: " + +#: ../app/ui.js:1145 +msgid "New connection has been rejected" +msgstr "Nowe połączenie zostało odrzucone" + +#: ../app/ui.js:1166 +msgid "Password is required" +msgstr "Hasło jest wymagane" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "noVNC napotkało błąd:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "Pokaż/Ukryj pasek ustawień" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "Ruszaj/Przeciągaj Viewport" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "przeciągnij viewport" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "Aktywny Przycisk Myszy" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "Brak przycisku myszy" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "Lewy przycisk myszy" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "Środkowy przycisk myszy" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "Prawy przycisk myszy" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "Klawiatura" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "Pokaż klawiaturę" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "Przyciski dodatkowe" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "Pokaż przyciski dodatkowe" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "Przełącz Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "Przełącz Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "Wyślij Tab" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "Wyślij Escape" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "Wyślij Ctrl-Alt-Del" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "Wyłącz/Uruchom ponownie" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "Wyłącz/Uruchom ponownie..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "Włączony" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "Wyłącz" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "Uruchom ponownie" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "Resetuj" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "Schowek" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "Wyczyść" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "Pełny ekran" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "Ustawienia" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "Tryb Współdzielenia" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "Tylko Podgląd" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "Przytnij do Okna" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "Tryb Skalowania:" + +#: ../vnc.html:214 +msgid "None" +msgstr "Brak" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "Skalowanie lokalne" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "Skalowanie zdalne" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "Zaawansowane" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "ID Repeatera:" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "Szyfrowanie" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "Host:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "Port:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "Ścieżka:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "Automatycznie wznawiaj połączenie" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "Opóźnienie wznawiania (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "Poziom logowania:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "Rozłącz" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "Połącz" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "Hasło:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "Anuluj" + +#: ../vnc.html:329 +msgid "Canvas not supported." +msgstr "Element Canvas nie jest wspierany." + +#~ msgid "Disconnect timeout" +#~ msgstr "Timeout rozłączenia" + +#~ msgid "Local Downscaling" +#~ msgstr "Downscaling lokalny" + +#~ msgid "Local Cursor" +#~ msgstr "Lokalny kursor" + +#~ msgid "" +#~ "Forcing clipping mode since scrollbars aren't supported by IE in " +#~ "fullscreen" +#~ msgstr "" +#~ "Wymuszam clipping mode ponieważ paski przewijania nie są wspierane przez " +#~ "IE w trybie pełnoekranowym" + +#~ msgid "True Color" +#~ msgstr "True Color" + +#~ msgid "Style:" +#~ msgstr "Styl:" + +#~ msgid "default" +#~ msgstr "domyślny" + +#~ msgid "Apply" +#~ msgstr "Zapisz" + +#~ msgid "Connection" +#~ msgstr "Połączenie" + +#~ msgid "Token:" +#~ msgstr "Token:" + +#~ msgid "Send Password" +#~ msgstr "Wyślij Hasło" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/po2js b/whmcs/modules/servers/virtualizor_cloud/novnc/po/po2js index fc6e881..2a0662d 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/po2js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/po2js @@ -1,43 +1,43 @@ -#!/usr/bin/env node -/* - * ps2js: gettext .po to noVNC .js converter - * Copyright (C) 2018 The noVNC Authors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -const getopt = require('node-getopt'); -const fs = require('fs'); -const po2json = require("po2json"); - -const opt = getopt.create([ - ['h', 'help', 'display this help'], -]).bindHelp().parseSystem(); - -if (opt.argv.length != 2) { - console.error("Incorrect number of arguments given"); - process.exit(1); -} - -const data = po2json.parseFileSync(opt.argv[0]); - -const bodyPart = Object.keys(data).filter(msgid => msgid !== "").map((msgid) => { - if (msgid === "") return; - const msgstr = data[msgid][1]; - return " " + JSON.stringify(msgid) + ": " + JSON.stringify(msgstr); -}).join(",\n"); - -const output = "{\n" + bodyPart + "\n}"; - -fs.writeFileSync(opt.argv[1], output); +#!/usr/bin/env node +/* + * ps2js: gettext .po to noVNC .js converter + * Copyright (C) 2018 The noVNC Authors + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const getopt = require('node-getopt'); +const fs = require('fs'); +const po2json = require("po2json"); + +const opt = getopt.create([ + ['h', 'help', 'display this help'], +]).bindHelp().parseSystem(); + +if (opt.argv.length != 2) { + console.error("Incorrect number of arguments given"); + process.exit(1); +} + +const data = po2json.parseFileSync(opt.argv[0]); + +const bodyPart = Object.keys(data).filter(msgid => msgid !== "").map((msgid) => { + if (msgid === "") return; + const msgstr = data[msgid][1]; + return " " + JSON.stringify(msgid) + ": " + JSON.stringify(msgstr); +}).join(",\n"); + +const output = "{\n" + bodyPart + "\n}"; + +fs.writeFileSync(opt.argv[1], output); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ru.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ru.po index fb5d087..a94b4b1 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/ru.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/ru.po @@ -1,306 +1,306 @@ -# Russian translations for noVNC package -# Русский перевод для пакета noVNC. -# Copyright (C) 2019 Dmitriy Shweew -# This file is distributed under the same license as the noVNC package. -# Dmitriy Shweew , 2019. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.1.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2019-02-26 14:53+0400\n" -"PO-Revision-Date: 2019-02-17 17:29+0400\n" -"Last-Translator: Dmitriy Shweew \n" -"Language-Team: Russian\n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.2.1\n" -"X-Poedit-Flags-xgettext: --add-comments\n" - -#: ../app/ui.js:387 -msgid "Connecting..." -msgstr "Подключение..." - -#: ../app/ui.js:394 -msgid "Disconnecting..." -msgstr "Отключение..." - -#: ../app/ui.js:400 -msgid "Reconnecting..." -msgstr "Переподключение..." - -#: ../app/ui.js:405 -msgid "Internal error" -msgstr "Внутренняя ошибка" - -#: ../app/ui.js:995 -msgid "Must set host" -msgstr "Задайте имя сервера или IP" - -#: ../app/ui.js:1077 -msgid "Connected (encrypted) to " -msgstr "Подключено (с шифрованием) к " - -#: ../app/ui.js:1079 -msgid "Connected (unencrypted) to " -msgstr "Подключено (без шифрования) к " - -#: ../app/ui.js:1102 -msgid "Something went wrong, connection is closed" -msgstr "Что-то пошло не так, подключение разорвано" - -#: ../app/ui.js:1105 -msgid "Failed to connect to server" -msgstr "Ошибка подключения к серверу" - -#: ../app/ui.js:1115 -msgid "Disconnected" -msgstr "Отключено" - -#: ../app/ui.js:1128 -msgid "New connection has been rejected with reason: " -msgstr "Подключиться не удалось: " - -#: ../app/ui.js:1131 -msgid "New connection has been rejected" -msgstr "Подключиться не удалось" - -#: ../app/ui.js:1151 -msgid "Password is required" -msgstr "Требуется пароль" - -#: ../vnc.html:84 -msgid "noVNC encountered an error:" -msgstr "Ошибка noVNC: " - -#: ../vnc.html:94 -msgid "Hide/Show the control bar" -msgstr "Скрыть/Показать контрольную панель" - -#: ../vnc.html:101 -msgid "Move/Drag Viewport" -msgstr "Переместить окно" - -#: ../vnc.html:101 -msgid "viewport drag" -msgstr "Переместить окно" - -#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 -msgid "Active Mouse Button" -msgstr "Активировать кнопки мыши" - -#: ../vnc.html:107 -msgid "No mousebutton" -msgstr "Отключить кнопки мыши" - -#: ../vnc.html:110 -msgid "Left mousebutton" -msgstr "Левая кнопка мыши" - -#: ../vnc.html:113 -msgid "Middle mousebutton" -msgstr "Средняя кнопка мыши" - -#: ../vnc.html:116 -msgid "Right mousebutton" -msgstr "Правая кнопка мыши" - -#: ../vnc.html:119 -msgid "Keyboard" -msgstr "Клавиатура" - -#: ../vnc.html:119 -msgid "Show Keyboard" -msgstr "Показать клавиатуру" - -#: ../vnc.html:126 -msgid "Extra keys" -msgstr "Доп. кнопки" - -#: ../vnc.html:126 -msgid "Show Extra Keys" -msgstr "Показать дополнительные кнопки" - -#: ../vnc.html:131 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:131 -msgid "Toggle Ctrl" -msgstr "Передать нажатие Ctrl" - -#: ../vnc.html:134 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:134 -msgid "Toggle Alt" -msgstr "Передать нажатие Alt" - -#: ../vnc.html:137 -msgid "Toggle Windows" -msgstr "Переключение вкладок" - -#: ../vnc.html:137 -msgid "Windows" -msgstr "Вкладка" - -#: ../vnc.html:140 -msgid "Send Tab" -msgstr "Передать нажатие Tab" - -#: ../vnc.html:140 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:143 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:143 -msgid "Send Escape" -msgstr "Передать нажатие Escape" - -#: ../vnc.html:146 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:146 -msgid "Send Ctrl-Alt-Del" -msgstr "Передать нажатие Ctrl-Alt-Del" - -#: ../vnc.html:154 -msgid "Shutdown/Reboot" -msgstr "Выключить/Перезагрузить" - -#: ../vnc.html:154 -msgid "Shutdown/Reboot..." -msgstr "Выключить/Перезагрузить..." - -#: ../vnc.html:160 -msgid "Power" -msgstr "Питание" - -#: ../vnc.html:162 -msgid "Shutdown" -msgstr "Выключить" - -#: ../vnc.html:163 -msgid "Reboot" -msgstr "Перезагрузить" - -#: ../vnc.html:164 -msgid "Reset" -msgstr "Сброс" - -#: ../vnc.html:169 ../vnc.html:175 -msgid "Clipboard" -msgstr "Буфер обмена" - -#: ../vnc.html:179 -msgid "Clear" -msgstr "Очистить" - -#: ../vnc.html:185 -msgid "Fullscreen" -msgstr "Во весь экран" - -#: ../vnc.html:190 ../vnc.html:197 -msgid "Settings" -msgstr "Настройки" - -#: ../vnc.html:200 -msgid "Shared Mode" -msgstr "Общий режим" - -#: ../vnc.html:203 -msgid "View Only" -msgstr "Просмотр" - -#: ../vnc.html:207 -msgid "Clip to Window" -msgstr "В окно" - -#: ../vnc.html:210 -msgid "Scaling Mode:" -msgstr "Масштаб:" - -#: ../vnc.html:212 -msgid "None" -msgstr "Нет" - -#: ../vnc.html:213 -msgid "Local Scaling" -msgstr "Локльный масштаб" - -#: ../vnc.html:214 -msgid "Remote Resizing" -msgstr "Удаленный масштаб" - -#: ../vnc.html:219 -msgid "Advanced" -msgstr "Дополнительно" - -#: ../vnc.html:222 -msgid "Repeater ID:" -msgstr "Идентификатор ID:" - -#: ../vnc.html:226 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:229 -msgid "Encrypt" -msgstr "Шифрование" - -#: ../vnc.html:232 -msgid "Host:" -msgstr "Сервер:" - -#: ../vnc.html:236 -msgid "Port:" -msgstr "Порт:" - -#: ../vnc.html:240 -msgid "Path:" -msgstr "Путь:" - -#: ../vnc.html:247 -msgid "Automatic Reconnect" -msgstr "Автоматическое переподключение" - -#: ../vnc.html:250 -msgid "Reconnect Delay (ms):" -msgstr "Задержка переподключения (мс):" - -#: ../vnc.html:255 -msgid "Show Dot when No Cursor" -msgstr "Показать точку вместо курсора" - -#: ../vnc.html:260 -msgid "Logging:" -msgstr "Лог:" - -#: ../vnc.html:272 -msgid "Disconnect" -msgstr "Отключение" - -#: ../vnc.html:291 -msgid "Connect" -msgstr "Подключение" - -#: ../vnc.html:301 -msgid "Password:" -msgstr "Пароль:" - -#: ../vnc.html:305 -msgid "Send Password" -msgstr "Пароль: " - -#: ../vnc.html:315 -msgid "Cancel" -msgstr "Выход" +# Russian translations for noVNC package +# Русский перевод для пакета noVNC. +# Copyright (C) 2019 Dmitriy Shweew +# This file is distributed under the same license as the noVNC package. +# Dmitriy Shweew , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.1.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2019-02-26 14:53+0400\n" +"PO-Revision-Date: 2019-02-17 17:29+0400\n" +"Last-Translator: Dmitriy Shweew \n" +"Language-Team: Russian\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.2.1\n" +"X-Poedit-Flags-xgettext: --add-comments\n" + +#: ../app/ui.js:387 +msgid "Connecting..." +msgstr "Подключение..." + +#: ../app/ui.js:394 +msgid "Disconnecting..." +msgstr "Отключение..." + +#: ../app/ui.js:400 +msgid "Reconnecting..." +msgstr "Переподключение..." + +#: ../app/ui.js:405 +msgid "Internal error" +msgstr "Внутренняя ошибка" + +#: ../app/ui.js:995 +msgid "Must set host" +msgstr "Задайте имя сервера или IP" + +#: ../app/ui.js:1077 +msgid "Connected (encrypted) to " +msgstr "Подключено (с шифрованием) к " + +#: ../app/ui.js:1079 +msgid "Connected (unencrypted) to " +msgstr "Подключено (без шифрования) к " + +#: ../app/ui.js:1102 +msgid "Something went wrong, connection is closed" +msgstr "Что-то пошло не так, подключение разорвано" + +#: ../app/ui.js:1105 +msgid "Failed to connect to server" +msgstr "Ошибка подключения к серверу" + +#: ../app/ui.js:1115 +msgid "Disconnected" +msgstr "Отключено" + +#: ../app/ui.js:1128 +msgid "New connection has been rejected with reason: " +msgstr "Подключиться не удалось: " + +#: ../app/ui.js:1131 +msgid "New connection has been rejected" +msgstr "Подключиться не удалось" + +#: ../app/ui.js:1151 +msgid "Password is required" +msgstr "Требуется пароль" + +#: ../vnc.html:84 +msgid "noVNC encountered an error:" +msgstr "Ошибка noVNC: " + +#: ../vnc.html:94 +msgid "Hide/Show the control bar" +msgstr "Скрыть/Показать контрольную панель" + +#: ../vnc.html:101 +msgid "Move/Drag Viewport" +msgstr "Переместить окно" + +#: ../vnc.html:101 +msgid "viewport drag" +msgstr "Переместить окно" + +#: ../vnc.html:107 ../vnc.html:110 ../vnc.html:113 ../vnc.html:116 +msgid "Active Mouse Button" +msgstr "Активировать кнопки мыши" + +#: ../vnc.html:107 +msgid "No mousebutton" +msgstr "Отключить кнопки мыши" + +#: ../vnc.html:110 +msgid "Left mousebutton" +msgstr "Левая кнопка мыши" + +#: ../vnc.html:113 +msgid "Middle mousebutton" +msgstr "Средняя кнопка мыши" + +#: ../vnc.html:116 +msgid "Right mousebutton" +msgstr "Правая кнопка мыши" + +#: ../vnc.html:119 +msgid "Keyboard" +msgstr "Клавиатура" + +#: ../vnc.html:119 +msgid "Show Keyboard" +msgstr "Показать клавиатуру" + +#: ../vnc.html:126 +msgid "Extra keys" +msgstr "Доп. кнопки" + +#: ../vnc.html:126 +msgid "Show Extra Keys" +msgstr "Показать дополнительные кнопки" + +#: ../vnc.html:131 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:131 +msgid "Toggle Ctrl" +msgstr "Передать нажатие Ctrl" + +#: ../vnc.html:134 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:134 +msgid "Toggle Alt" +msgstr "Передать нажатие Alt" + +#: ../vnc.html:137 +msgid "Toggle Windows" +msgstr "Переключение вкладок" + +#: ../vnc.html:137 +msgid "Windows" +msgstr "Вкладка" + +#: ../vnc.html:140 +msgid "Send Tab" +msgstr "Передать нажатие Tab" + +#: ../vnc.html:140 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:143 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:143 +msgid "Send Escape" +msgstr "Передать нажатие Escape" + +#: ../vnc.html:146 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:146 +msgid "Send Ctrl-Alt-Del" +msgstr "Передать нажатие Ctrl-Alt-Del" + +#: ../vnc.html:154 +msgid "Shutdown/Reboot" +msgstr "Выключить/Перезагрузить" + +#: ../vnc.html:154 +msgid "Shutdown/Reboot..." +msgstr "Выключить/Перезагрузить..." + +#: ../vnc.html:160 +msgid "Power" +msgstr "Питание" + +#: ../vnc.html:162 +msgid "Shutdown" +msgstr "Выключить" + +#: ../vnc.html:163 +msgid "Reboot" +msgstr "Перезагрузить" + +#: ../vnc.html:164 +msgid "Reset" +msgstr "Сброс" + +#: ../vnc.html:169 ../vnc.html:175 +msgid "Clipboard" +msgstr "Буфер обмена" + +#: ../vnc.html:179 +msgid "Clear" +msgstr "Очистить" + +#: ../vnc.html:185 +msgid "Fullscreen" +msgstr "Во весь экран" + +#: ../vnc.html:190 ../vnc.html:197 +msgid "Settings" +msgstr "Настройки" + +#: ../vnc.html:200 +msgid "Shared Mode" +msgstr "Общий режим" + +#: ../vnc.html:203 +msgid "View Only" +msgstr "Просмотр" + +#: ../vnc.html:207 +msgid "Clip to Window" +msgstr "В окно" + +#: ../vnc.html:210 +msgid "Scaling Mode:" +msgstr "Масштаб:" + +#: ../vnc.html:212 +msgid "None" +msgstr "Нет" + +#: ../vnc.html:213 +msgid "Local Scaling" +msgstr "Локльный масштаб" + +#: ../vnc.html:214 +msgid "Remote Resizing" +msgstr "Удаленный масштаб" + +#: ../vnc.html:219 +msgid "Advanced" +msgstr "Дополнительно" + +#: ../vnc.html:222 +msgid "Repeater ID:" +msgstr "Идентификатор ID:" + +#: ../vnc.html:226 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:229 +msgid "Encrypt" +msgstr "Шифрование" + +#: ../vnc.html:232 +msgid "Host:" +msgstr "Сервер:" + +#: ../vnc.html:236 +msgid "Port:" +msgstr "Порт:" + +#: ../vnc.html:240 +msgid "Path:" +msgstr "Путь:" + +#: ../vnc.html:247 +msgid "Automatic Reconnect" +msgstr "Автоматическое переподключение" + +#: ../vnc.html:250 +msgid "Reconnect Delay (ms):" +msgstr "Задержка переподключения (мс):" + +#: ../vnc.html:255 +msgid "Show Dot when No Cursor" +msgstr "Показать точку вместо курсора" + +#: ../vnc.html:260 +msgid "Logging:" +msgstr "Лог:" + +#: ../vnc.html:272 +msgid "Disconnect" +msgstr "Отключение" + +#: ../vnc.html:291 +msgid "Connect" +msgstr "Подключение" + +#: ../vnc.html:301 +msgid "Password:" +msgstr "Пароль:" + +#: ../vnc.html:305 +msgid "Send Password" +msgstr "Пароль: " + +#: ../vnc.html:315 +msgid "Cancel" +msgstr "Выход" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/sv.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/sv.po index 53e33f7..f6df4aa 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/sv.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/sv.po @@ -1,300 +1,300 @@ -# Swedish translations for noVNC package -# Svenska översättningar för paketet noVNC. -# Copyright (C) 2020 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Samuel Mannehed , 2020. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.2.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2020-07-03 16:11+0200\n" -"PO-Revision-Date: 2020-07-08 23:18+0200\n" -"Last-Translator: Samuel Mannehed \n" -"Language-Team: none\n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.3\n" - -#: ../app/ui.js:394 -msgid "Connecting..." -msgstr "Ansluter..." - -#: ../app/ui.js:401 -msgid "Disconnecting..." -msgstr "Kopplar ner..." - -#: ../app/ui.js:407 -msgid "Reconnecting..." -msgstr "Återansluter..." - -#: ../app/ui.js:412 -msgid "Internal error" -msgstr "Internt fel" - -#: ../app/ui.js:1008 -msgid "Must set host" -msgstr "Du måste specifiera en värd" - -#: ../app/ui.js:1090 -msgid "Connected (encrypted) to " -msgstr "Ansluten (krypterat) till " - -#: ../app/ui.js:1092 -msgid "Connected (unencrypted) to " -msgstr "Ansluten (okrypterat) till " - -#: ../app/ui.js:1115 -msgid "Something went wrong, connection is closed" -msgstr "Något gick fel, anslutningen avslutades" - -#: ../app/ui.js:1118 -msgid "Failed to connect to server" -msgstr "Misslyckades att ansluta till servern" - -#: ../app/ui.js:1128 -msgid "Disconnected" -msgstr "Frånkopplad" - -#: ../app/ui.js:1143 -msgid "New connection has been rejected with reason: " -msgstr "Ny anslutning har blivit nekad med följande skäl: " - -#: ../app/ui.js:1146 -msgid "New connection has been rejected" -msgstr "Ny anslutning har blivit nekad" - -#: ../app/ui.js:1181 -msgid "Credentials are required" -msgstr "Användaruppgifter krävs" - -#: ../vnc.html:74 -msgid "noVNC encountered an error:" -msgstr "noVNC stötte på ett problem:" - -#: ../vnc.html:84 -msgid "Hide/Show the control bar" -msgstr "Göm/Visa kontrollbaren" - -#: ../vnc.html:91 -msgid "Drag" -msgstr "Dra" - -#: ../vnc.html:91 -msgid "Move/Drag Viewport" -msgstr "Flytta/Dra Vyn" - -#: ../vnc.html:97 -msgid "Keyboard" -msgstr "Tangentbord" - -#: ../vnc.html:97 -msgid "Show Keyboard" -msgstr "Visa Tangentbord" - -#: ../vnc.html:102 -msgid "Extra keys" -msgstr "Extraknappar" - -#: ../vnc.html:102 -msgid "Show Extra Keys" -msgstr "Visa Extraknappar" - -#: ../vnc.html:107 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:107 -msgid "Toggle Ctrl" -msgstr "Växla Ctrl" - -#: ../vnc.html:110 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:110 -msgid "Toggle Alt" -msgstr "Växla Alt" - -#: ../vnc.html:113 -msgid "Toggle Windows" -msgstr "Växla Windows" - -#: ../vnc.html:113 -msgid "Windows" -msgstr "Windows" - -#: ../vnc.html:116 -msgid "Send Tab" -msgstr "Skicka Tab" - -#: ../vnc.html:116 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:119 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:119 -msgid "Send Escape" -msgstr "Skicka Escape" - -#: ../vnc.html:122 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl+Alt+Del" - -#: ../vnc.html:122 -msgid "Send Ctrl-Alt-Del" -msgstr "Skicka Ctrl-Alt-Del" - -#: ../vnc.html:129 -msgid "Shutdown/Reboot" -msgstr "Stäng av/Boota om" - -#: ../vnc.html:129 -msgid "Shutdown/Reboot..." -msgstr "Stäng av/Boota om..." - -#: ../vnc.html:135 -msgid "Power" -msgstr "Ström" - -#: ../vnc.html:137 -msgid "Shutdown" -msgstr "Stäng av" - -#: ../vnc.html:138 -msgid "Reboot" -msgstr "Boota om" - -#: ../vnc.html:139 -msgid "Reset" -msgstr "Återställ" - -#: ../vnc.html:144 ../vnc.html:150 -msgid "Clipboard" -msgstr "Urklipp" - -#: ../vnc.html:154 -msgid "Clear" -msgstr "Rensa" - -#: ../vnc.html:160 -msgid "Fullscreen" -msgstr "Fullskärm" - -#: ../vnc.html:165 ../vnc.html:172 -msgid "Settings" -msgstr "Inställningar" - -#: ../vnc.html:175 -msgid "Shared Mode" -msgstr "Delat Läge" - -#: ../vnc.html:178 -msgid "View Only" -msgstr "Endast Visning" - -#: ../vnc.html:182 -msgid "Clip to Window" -msgstr "Begränsa till Fönster" - -#: ../vnc.html:185 -msgid "Scaling Mode:" -msgstr "Skalningsläge:" - -#: ../vnc.html:187 -msgid "None" -msgstr "Ingen" - -#: ../vnc.html:188 -msgid "Local Scaling" -msgstr "Lokal Skalning" - -#: ../vnc.html:189 -msgid "Remote Resizing" -msgstr "Ändra Storlek" - -#: ../vnc.html:194 -msgid "Advanced" -msgstr "Avancerat" - -#: ../vnc.html:197 -msgid "Quality:" -msgstr "Kvalitet:" - -#: ../vnc.html:201 -msgid "Compression level:" -msgstr "Kompressionsnivå:" - -#: ../vnc.html:206 -msgid "Repeater ID:" -msgstr "Repeater-ID:" - -#: ../vnc.html:210 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:213 -msgid "Encrypt" -msgstr "Kryptera" - -#: ../vnc.html:216 -msgid "Host:" -msgstr "Värd:" - -#: ../vnc.html:220 -msgid "Port:" -msgstr "Port:" - -#: ../vnc.html:224 -msgid "Path:" -msgstr "Sökväg:" - -#: ../vnc.html:231 -msgid "Automatic Reconnect" -msgstr "Automatisk Återanslutning" - -#: ../vnc.html:234 -msgid "Reconnect Delay (ms):" -msgstr "Fördröjning (ms):" - -#: ../vnc.html:239 -msgid "Show Dot when No Cursor" -msgstr "Visa prick när ingen muspekare finns" - -#: ../vnc.html:244 -msgid "Logging:" -msgstr "Loggning:" - -#: ../vnc.html:253 -msgid "Version:" -msgstr "Version:" - -#: ../vnc.html:261 -msgid "Disconnect" -msgstr "Koppla från" - -#: ../vnc.html:280 -msgid "Connect" -msgstr "Anslut" - -#: ../vnc.html:290 -msgid "Username:" -msgstr "Användarnamn:" - -#: ../vnc.html:294 -msgid "Password:" -msgstr "Lösenord:" - -#: ../vnc.html:298 -msgid "Send Credentials" -msgstr "Skicka Användaruppgifter" - -#: ../vnc.html:308 -msgid "Cancel" +# Swedish translations for noVNC package +# Svenska översättningar för paketet noVNC. +# Copyright (C) 2020 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Samuel Mannehed , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.2.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2020-07-03 16:11+0200\n" +"PO-Revision-Date: 2020-07-08 23:18+0200\n" +"Last-Translator: Samuel Mannehed \n" +"Language-Team: none\n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.3\n" + +#: ../app/ui.js:394 +msgid "Connecting..." +msgstr "Ansluter..." + +#: ../app/ui.js:401 +msgid "Disconnecting..." +msgstr "Kopplar ner..." + +#: ../app/ui.js:407 +msgid "Reconnecting..." +msgstr "Återansluter..." + +#: ../app/ui.js:412 +msgid "Internal error" +msgstr "Internt fel" + +#: ../app/ui.js:1008 +msgid "Must set host" +msgstr "Du måste specifiera en värd" + +#: ../app/ui.js:1090 +msgid "Connected (encrypted) to " +msgstr "Ansluten (krypterat) till " + +#: ../app/ui.js:1092 +msgid "Connected (unencrypted) to " +msgstr "Ansluten (okrypterat) till " + +#: ../app/ui.js:1115 +msgid "Something went wrong, connection is closed" +msgstr "Något gick fel, anslutningen avslutades" + +#: ../app/ui.js:1118 +msgid "Failed to connect to server" +msgstr "Misslyckades att ansluta till servern" + +#: ../app/ui.js:1128 +msgid "Disconnected" +msgstr "Frånkopplad" + +#: ../app/ui.js:1143 +msgid "New connection has been rejected with reason: " +msgstr "Ny anslutning har blivit nekad med följande skäl: " + +#: ../app/ui.js:1146 +msgid "New connection has been rejected" +msgstr "Ny anslutning har blivit nekad" + +#: ../app/ui.js:1181 +msgid "Credentials are required" +msgstr "Användaruppgifter krävs" + +#: ../vnc.html:74 +msgid "noVNC encountered an error:" +msgstr "noVNC stötte på ett problem:" + +#: ../vnc.html:84 +msgid "Hide/Show the control bar" +msgstr "Göm/Visa kontrollbaren" + +#: ../vnc.html:91 +msgid "Drag" +msgstr "Dra" + +#: ../vnc.html:91 +msgid "Move/Drag Viewport" +msgstr "Flytta/Dra Vyn" + +#: ../vnc.html:97 +msgid "Keyboard" +msgstr "Tangentbord" + +#: ../vnc.html:97 +msgid "Show Keyboard" +msgstr "Visa Tangentbord" + +#: ../vnc.html:102 +msgid "Extra keys" +msgstr "Extraknappar" + +#: ../vnc.html:102 +msgid "Show Extra Keys" +msgstr "Visa Extraknappar" + +#: ../vnc.html:107 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:107 +msgid "Toggle Ctrl" +msgstr "Växla Ctrl" + +#: ../vnc.html:110 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:110 +msgid "Toggle Alt" +msgstr "Växla Alt" + +#: ../vnc.html:113 +msgid "Toggle Windows" +msgstr "Växla Windows" + +#: ../vnc.html:113 +msgid "Windows" +msgstr "Windows" + +#: ../vnc.html:116 +msgid "Send Tab" +msgstr "Skicka Tab" + +#: ../vnc.html:116 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:119 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:119 +msgid "Send Escape" +msgstr "Skicka Escape" + +#: ../vnc.html:122 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl+Alt+Del" + +#: ../vnc.html:122 +msgid "Send Ctrl-Alt-Del" +msgstr "Skicka Ctrl-Alt-Del" + +#: ../vnc.html:129 +msgid "Shutdown/Reboot" +msgstr "Stäng av/Boota om" + +#: ../vnc.html:129 +msgid "Shutdown/Reboot..." +msgstr "Stäng av/Boota om..." + +#: ../vnc.html:135 +msgid "Power" +msgstr "Ström" + +#: ../vnc.html:137 +msgid "Shutdown" +msgstr "Stäng av" + +#: ../vnc.html:138 +msgid "Reboot" +msgstr "Boota om" + +#: ../vnc.html:139 +msgid "Reset" +msgstr "Återställ" + +#: ../vnc.html:144 ../vnc.html:150 +msgid "Clipboard" +msgstr "Urklipp" + +#: ../vnc.html:154 +msgid "Clear" +msgstr "Rensa" + +#: ../vnc.html:160 +msgid "Fullscreen" +msgstr "Fullskärm" + +#: ../vnc.html:165 ../vnc.html:172 +msgid "Settings" +msgstr "Inställningar" + +#: ../vnc.html:175 +msgid "Shared Mode" +msgstr "Delat Läge" + +#: ../vnc.html:178 +msgid "View Only" +msgstr "Endast Visning" + +#: ../vnc.html:182 +msgid "Clip to Window" +msgstr "Begränsa till Fönster" + +#: ../vnc.html:185 +msgid "Scaling Mode:" +msgstr "Skalningsläge:" + +#: ../vnc.html:187 +msgid "None" +msgstr "Ingen" + +#: ../vnc.html:188 +msgid "Local Scaling" +msgstr "Lokal Skalning" + +#: ../vnc.html:189 +msgid "Remote Resizing" +msgstr "Ändra Storlek" + +#: ../vnc.html:194 +msgid "Advanced" +msgstr "Avancerat" + +#: ../vnc.html:197 +msgid "Quality:" +msgstr "Kvalitet:" + +#: ../vnc.html:201 +msgid "Compression level:" +msgstr "Kompressionsnivå:" + +#: ../vnc.html:206 +msgid "Repeater ID:" +msgstr "Repeater-ID:" + +#: ../vnc.html:210 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:213 +msgid "Encrypt" +msgstr "Kryptera" + +#: ../vnc.html:216 +msgid "Host:" +msgstr "Värd:" + +#: ../vnc.html:220 +msgid "Port:" +msgstr "Port:" + +#: ../vnc.html:224 +msgid "Path:" +msgstr "Sökväg:" + +#: ../vnc.html:231 +msgid "Automatic Reconnect" +msgstr "Automatisk Återanslutning" + +#: ../vnc.html:234 +msgid "Reconnect Delay (ms):" +msgstr "Fördröjning (ms):" + +#: ../vnc.html:239 +msgid "Show Dot when No Cursor" +msgstr "Visa prick när ingen muspekare finns" + +#: ../vnc.html:244 +msgid "Logging:" +msgstr "Loggning:" + +#: ../vnc.html:253 +msgid "Version:" +msgstr "Version:" + +#: ../vnc.html:261 +msgid "Disconnect" +msgstr "Koppla från" + +#: ../vnc.html:280 +msgid "Connect" +msgstr "Anslut" + +#: ../vnc.html:290 +msgid "Username:" +msgstr "Användarnamn:" + +#: ../vnc.html:294 +msgid "Password:" +msgstr "Lösenord:" + +#: ../vnc.html:298 +msgid "Send Credentials" +msgstr "Skicka Användaruppgifter" + +#: ../vnc.html:308 +msgid "Cancel" msgstr "Avbryt" \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/tr.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/tr.po index 8b5c181..bead495 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/tr.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/tr.po @@ -1,288 +1,288 @@ -# Turkish translations for noVNC package -# Turkish translation for noVNC. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Ömer ÇAKMAK , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 0.6.1\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2017-11-24 07:16+0000\n" -"PO-Revision-Date: 2018-01-05 19:07+0300\n" -"Last-Translator: Ömer ÇAKMAK \n" -"Language-Team: Türkçe \n" -"Language: tr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Gtranslator 2.91.7\n" - -#: ../app/ui.js:404 -msgid "Connecting..." -msgstr "Bağlanıyor..." - -#: ../app/ui.js:411 -msgid "Disconnecting..." -msgstr "Bağlantı kesiliyor..." - -#: ../app/ui.js:417 -msgid "Reconnecting..." -msgstr "Yeniden bağlantı kuruluyor..." - -#: ../app/ui.js:422 -msgid "Internal error" -msgstr "İç hata" - -#: ../app/ui.js:1019 -msgid "Must set host" -msgstr "Sunucuyu kur" - -#: ../app/ui.js:1099 -msgid "Connected (encrypted) to " -msgstr "Bağlı (şifrelenmiş)" - -#: ../app/ui.js:1101 -msgid "Connected (unencrypted) to " -msgstr "Bağlandı (şifrelenmemiş)" - -#: ../app/ui.js:1119 -msgid "Something went wrong, connection is closed" -msgstr "Bir şeyler ters gitti, bağlantı kesildi" - -#: ../app/ui.js:1129 -msgid "Disconnected" -msgstr "Bağlantı kesildi" - -#: ../app/ui.js:1142 -msgid "New connection has been rejected with reason: " -msgstr "Bağlantı aşağıdaki nedenlerden dolayı reddedildi: " - -#: ../app/ui.js:1145 -msgid "New connection has been rejected" -msgstr "Bağlantı reddedildi" - -#: ../app/ui.js:1166 -msgid "Password is required" -msgstr "Şifre gerekli" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "Bir hata oluştu:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "Denetim masasını Gizle/Göster" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "Görünümü Taşı/Sürükle" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "Görüntü penceresini sürükle" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "Aktif Fare Düğmesi" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "Fare düğmesi yok" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "Farenin sol düğmesi" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "Farenin orta düğmesi" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "Farenin sağ düğmesi" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "Klavye" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "Klavye Düzenini Göster" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "Ekstra tuşlar" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "Ekstra tuşları göster" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "Ctrl Değiştir " - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "Alt Değiştir" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "Sekme Gönder" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Sekme" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "Boşluk Gönder" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl + Alt + Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "Ctrl-Alt-Del Gönder" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "Kapat/Yeniden Başlat" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "Kapat/Yeniden Başlat..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "Güç" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "Kapat" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "Yeniden Başlat" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "Sıfırla" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "Pano" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "Temizle" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "Tam Ekran" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "Ayarlar" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "Paylaşım Modu" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "Sadece Görüntüle" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "Pencereye Tıkla" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "Ölçekleme Modu:" - -#: ../vnc.html:214 -msgid "None" -msgstr "Bilinmeyen" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "Yerel Ölçeklendirme" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "Uzaktan Yeniden Boyutlandırma" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "Gelişmiş" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "Tekralayıcı ID:" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "Şifrele" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "Ana makine:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "Port:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "Yol:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "Otomatik Yeniden Bağlan" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "Yeniden Bağlanma Süreci (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "Giriş yapılıyor:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "Bağlantıyı Kes" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "Bağlan" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "Parola:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "Vazgeç" - -#: ../vnc.html:329 -msgid "Canvas not supported." -msgstr "Tuval desteklenmiyor." +# Turkish translations for noVNC package +# Turkish translation for noVNC. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Ömer ÇAKMAK , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 0.6.1\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2017-11-24 07:16+0000\n" +"PO-Revision-Date: 2018-01-05 19:07+0300\n" +"Last-Translator: Ömer ÇAKMAK \n" +"Language-Team: Türkçe \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Gtranslator 2.91.7\n" + +#: ../app/ui.js:404 +msgid "Connecting..." +msgstr "Bağlanıyor..." + +#: ../app/ui.js:411 +msgid "Disconnecting..." +msgstr "Bağlantı kesiliyor..." + +#: ../app/ui.js:417 +msgid "Reconnecting..." +msgstr "Yeniden bağlantı kuruluyor..." + +#: ../app/ui.js:422 +msgid "Internal error" +msgstr "İç hata" + +#: ../app/ui.js:1019 +msgid "Must set host" +msgstr "Sunucuyu kur" + +#: ../app/ui.js:1099 +msgid "Connected (encrypted) to " +msgstr "Bağlı (şifrelenmiş)" + +#: ../app/ui.js:1101 +msgid "Connected (unencrypted) to " +msgstr "Bağlandı (şifrelenmemiş)" + +#: ../app/ui.js:1119 +msgid "Something went wrong, connection is closed" +msgstr "Bir şeyler ters gitti, bağlantı kesildi" + +#: ../app/ui.js:1129 +msgid "Disconnected" +msgstr "Bağlantı kesildi" + +#: ../app/ui.js:1142 +msgid "New connection has been rejected with reason: " +msgstr "Bağlantı aşağıdaki nedenlerden dolayı reddedildi: " + +#: ../app/ui.js:1145 +msgid "New connection has been rejected" +msgstr "Bağlantı reddedildi" + +#: ../app/ui.js:1166 +msgid "Password is required" +msgstr "Şifre gerekli" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "Bir hata oluştu:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "Denetim masasını Gizle/Göster" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "Görünümü Taşı/Sürükle" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "Görüntü penceresini sürükle" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "Aktif Fare Düğmesi" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "Fare düğmesi yok" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "Farenin sol düğmesi" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "Farenin orta düğmesi" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "Farenin sağ düğmesi" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "Klavye" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "Klavye Düzenini Göster" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "Ekstra tuşlar" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "Ekstra tuşları göster" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "Ctrl Değiştir " + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "Alt Değiştir" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "Sekme Gönder" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Sekme" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "Boşluk Gönder" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl + Alt + Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "Ctrl-Alt-Del Gönder" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "Kapat/Yeniden Başlat" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "Kapat/Yeniden Başlat..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "Güç" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "Kapat" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "Yeniden Başlat" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "Sıfırla" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "Pano" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "Temizle" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "Tam Ekran" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "Ayarlar" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "Paylaşım Modu" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "Sadece Görüntüle" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "Pencereye Tıkla" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "Ölçekleme Modu:" + +#: ../vnc.html:214 +msgid "None" +msgstr "Bilinmeyen" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "Yerel Ölçeklendirme" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "Uzaktan Yeniden Boyutlandırma" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "Gelişmiş" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "Tekralayıcı ID:" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "Şifrele" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "Ana makine:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "Port:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "Yol:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "Otomatik Yeniden Bağlan" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "Yeniden Bağlanma Süreci (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "Giriş yapılıyor:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "Bağlantıyı Kes" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "Bağlan" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "Parola:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "Vazgeç" + +#: ../vnc.html:329 +msgid "Canvas not supported." +msgstr "Tuval desteklenmiyor." diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/xgettext-html b/whmcs/modules/servers/virtualizor_cloud/novnc/po/xgettext-html index bb30d3b..5f28872 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/xgettext-html +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/xgettext-html @@ -1,115 +1,115 @@ -#!/usr/bin/env node -/* - * xgettext-html: HTML gettext parser - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - */ - -const getopt = require('node-getopt'); -const jsdom = require("jsdom"); -const fs = require("fs"); - -const opt = getopt.create([ - ['o', 'output=FILE', 'write output to specified file'], - ['h', 'help', 'display this help'], -]).bindHelp().parseSystem(); - -const strings = {}; - -function addString(str, location) { - if (str.length == 0) { - return; - } - - if (strings[str] === undefined) { - strings[str] = {}; - } - strings[str][location] = null; -} - -// See https://html.spec.whatwg.org/multipage/dom.html#attr-translate -function process(elem, locator, enabled) { - function isAnyOf(searchElement, items) { - return items.indexOf(searchElement) !== -1; - } - - if (elem.hasAttribute("translate")) { - if (isAnyOf(elem.getAttribute("translate"), ["", "yes"])) { - enabled = true; - } else if (isAnyOf(elem.getAttribute("translate"), ["no"])) { - enabled = false; - } - } - - if (enabled) { - if (elem.hasAttribute("abbr") && - elem.tagName === "TH") { - addString(elem.getAttribute("abbr"), locator(elem)); - } - if (elem.hasAttribute("alt") && - isAnyOf(elem.tagName, ["AREA", "IMG", "INPUT"])) { - addString(elem.getAttribute("alt"), locator(elem)); - } - if (elem.hasAttribute("download") && - isAnyOf(elem.tagName, ["A", "AREA"])) { - addString(elem.getAttribute("download"), locator(elem)); - } - if (elem.hasAttribute("label") && - isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP", - "OPTION", "TRACK"])) { - addString(elem.getAttribute("label"), locator(elem)); - } - if (elem.hasAttribute("placeholder") && - isAnyOf(elem.tagName in ["INPUT", "TEXTAREA"])) { - addString(elem.getAttribute("placeholder"), locator(elem)); - } - if (elem.hasAttribute("title")) { - addString(elem.getAttribute("title"), locator(elem)); - } - if (elem.hasAttribute("value") && - elem.tagName === "INPUT" && - isAnyOf(elem.getAttribute("type"), ["reset", "button", "submit"])) { - addString(elem.getAttribute("value"), locator(elem)); - } - } - - for (let i = 0; i < elem.childNodes.length; i++) { - let node = elem.childNodes[i]; - if (node.nodeType === node.ELEMENT_NODE) { - process(node, locator, enabled); - } else if (node.nodeType === node.TEXT_NODE && enabled) { - addString(node.data.trim(), locator(node)); - } - } -} - -for (let i = 0; i < opt.argv.length; i++) { - const fn = opt.argv[i]; - const file = fs.readFileSync(fn, "utf8"); - const dom = new jsdom.JSDOM(file, { includeNodeLocations: true }); - const body = dom.window.document.body; - - let locator = (elem) => { - const offset = dom.nodeLocation(elem).startOffset; - const line = file.slice(0, offset).split("\n").length; - return fn + ":" + line; - }; - - process(body, locator, true); -} - -let output = ""; - -for (let str in strings) { - output += "#:"; - for (location in strings[str]) { - output += " " + location; - } - output += "\n"; - - output += "msgid " + JSON.stringify(str) + "\n"; - output += "msgstr \"\"\n"; - output += "\n"; -} - -fs.writeFileSync(opt.options.output, output); +#!/usr/bin/env node +/* + * xgettext-html: HTML gettext parser + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + */ + +const getopt = require('node-getopt'); +const jsdom = require("jsdom"); +const fs = require("fs"); + +const opt = getopt.create([ + ['o', 'output=FILE', 'write output to specified file'], + ['h', 'help', 'display this help'], +]).bindHelp().parseSystem(); + +const strings = {}; + +function addString(str, location) { + if (str.length == 0) { + return; + } + + if (strings[str] === undefined) { + strings[str] = {}; + } + strings[str][location] = null; +} + +// See https://html.spec.whatwg.org/multipage/dom.html#attr-translate +function process(elem, locator, enabled) { + function isAnyOf(searchElement, items) { + return items.indexOf(searchElement) !== -1; + } + + if (elem.hasAttribute("translate")) { + if (isAnyOf(elem.getAttribute("translate"), ["", "yes"])) { + enabled = true; + } else if (isAnyOf(elem.getAttribute("translate"), ["no"])) { + enabled = false; + } + } + + if (enabled) { + if (elem.hasAttribute("abbr") && + elem.tagName === "TH") { + addString(elem.getAttribute("abbr"), locator(elem)); + } + if (elem.hasAttribute("alt") && + isAnyOf(elem.tagName, ["AREA", "IMG", "INPUT"])) { + addString(elem.getAttribute("alt"), locator(elem)); + } + if (elem.hasAttribute("download") && + isAnyOf(elem.tagName, ["A", "AREA"])) { + addString(elem.getAttribute("download"), locator(elem)); + } + if (elem.hasAttribute("label") && + isAnyOf(elem.tagName, ["MENUITEM", "MENU", "OPTGROUP", + "OPTION", "TRACK"])) { + addString(elem.getAttribute("label"), locator(elem)); + } + if (elem.hasAttribute("placeholder") && + isAnyOf(elem.tagName in ["INPUT", "TEXTAREA"])) { + addString(elem.getAttribute("placeholder"), locator(elem)); + } + if (elem.hasAttribute("title")) { + addString(elem.getAttribute("title"), locator(elem)); + } + if (elem.hasAttribute("value") && + elem.tagName === "INPUT" && + isAnyOf(elem.getAttribute("type"), ["reset", "button", "submit"])) { + addString(elem.getAttribute("value"), locator(elem)); + } + } + + for (let i = 0; i < elem.childNodes.length; i++) { + let node = elem.childNodes[i]; + if (node.nodeType === node.ELEMENT_NODE) { + process(node, locator, enabled); + } else if (node.nodeType === node.TEXT_NODE && enabled) { + addString(node.data.trim(), locator(node)); + } + } +} + +for (let i = 0; i < opt.argv.length; i++) { + const fn = opt.argv[i]; + const file = fs.readFileSync(fn, "utf8"); + const dom = new jsdom.JSDOM(file, { includeNodeLocations: true }); + const body = dom.window.document.body; + + let locator = (elem) => { + const offset = dom.nodeLocation(elem).startOffset; + const line = file.slice(0, offset).split("\n").length; + return fn + ":" + line; + }; + + process(body, locator, true); +} + +let output = ""; + +for (let str in strings) { + output += "#:"; + for (location in strings[str]) { + output += " " + location; + } + output += "\n"; + + output += "msgid " + JSON.stringify(str) + "\n"; + output += "msgstr \"\"\n"; + output += "\n"; +} + +fs.writeFileSync(opt.options.output, output); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh.po index e01d59d..1269105 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh.po @@ -1,285 +1,285 @@ -# Traditional Chinese translations for noVNC package. -# Copyright (C) 2018 Various Authors -# This file is distributed under the same license as the noVNC package. -# Peter Dave Hello , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.0.0-testing.2\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2018-01-10 00:53+0800\n" -"PO-Revision-Date: 2018-01-10 01:33+0800\n" -"Last-Translator: Peter Dave Hello \n" -"Language-Team: Peter Dave Hello \n" -"Language: zh\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../app/ui.js:395 -msgid "Connecting..." -msgstr "連線中..." - -#: ../app/ui.js:402 -msgid "Disconnecting..." -msgstr "正在中斷連線..." - -#: ../app/ui.js:408 -msgid "Reconnecting..." -msgstr "重新連線中..." - -#: ../app/ui.js:413 -msgid "Internal error" -msgstr "內部錯誤" - -#: ../app/ui.js:1015 -msgid "Must set host" -msgstr "請提供主機資訊" - -#: ../app/ui.js:1097 -msgid "Connected (encrypted) to " -msgstr "已加密連線到" - -#: ../app/ui.js:1099 -msgid "Connected (unencrypted) to " -msgstr "未加密連線到" - -#: ../app/ui.js:1120 -msgid "Something went wrong, connection is closed" -msgstr "發生錯誤,連線已關閉" - -#: ../app/ui.js:1123 -msgid "Failed to connect to server" -msgstr "無法連線到伺服器" - -#: ../app/ui.js:1133 -msgid "Disconnected" -msgstr "連線已中斷" - -#: ../app/ui.js:1146 -msgid "New connection has been rejected with reason: " -msgstr "連線被拒絕,原因:" - -#: ../app/ui.js:1149 -msgid "New connection has been rejected" -msgstr "連線被拒絕" - -#: ../app/ui.js:1170 -msgid "Password is required" -msgstr "請提供密碼" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "noVNC 遇到一個錯誤:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "顯示/隱藏控制列" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "拖放顯示範圍" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "顯示範圍拖放" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "啟用滑鼠按鍵" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "無滑鼠按鍵" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "滑鼠左鍵" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "滑鼠中鍵" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "滑鼠右鍵" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "鍵盤" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "顯示鍵盤" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "額外按鍵" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "顯示額外按鍵" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "切換 Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "切換 Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "送出 Tab 鍵" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "送出 Escape 鍵" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl-Alt-Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "送出 Ctrl-Alt-Del 快捷鍵" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "關機/重新啟動" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "關機/重新啟動..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "電源" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "關機" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "重新啟動" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "重設" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "剪貼簿" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "清除" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "全螢幕" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "設定" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "分享模式" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "僅檢視" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "限制/裁切視窗大小" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "縮放模式:" - -#: ../vnc.html:214 -msgid "None" -msgstr "無" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "本機縮放" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "遠端調整大小" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "進階" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "中繼站 ID" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "加密" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "主機:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "連接埠:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "路徑:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "自動重新連線" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "重新連線間隔 (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "日誌級別:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "中斷連線" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "連線" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "密碼:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "取消" +# Traditional Chinese translations for noVNC package. +# Copyright (C) 2018 Various Authors +# This file is distributed under the same license as the noVNC package. +# Peter Dave Hello , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.0.0-testing.2\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2018-01-10 00:53+0800\n" +"PO-Revision-Date: 2018-01-10 01:33+0800\n" +"Last-Translator: Peter Dave Hello \n" +"Language-Team: Peter Dave Hello \n" +"Language: zh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../app/ui.js:395 +msgid "Connecting..." +msgstr "連線中..." + +#: ../app/ui.js:402 +msgid "Disconnecting..." +msgstr "正在中斷連線..." + +#: ../app/ui.js:408 +msgid "Reconnecting..." +msgstr "重新連線中..." + +#: ../app/ui.js:413 +msgid "Internal error" +msgstr "內部錯誤" + +#: ../app/ui.js:1015 +msgid "Must set host" +msgstr "請提供主機資訊" + +#: ../app/ui.js:1097 +msgid "Connected (encrypted) to " +msgstr "已加密連線到" + +#: ../app/ui.js:1099 +msgid "Connected (unencrypted) to " +msgstr "未加密連線到" + +#: ../app/ui.js:1120 +msgid "Something went wrong, connection is closed" +msgstr "發生錯誤,連線已關閉" + +#: ../app/ui.js:1123 +msgid "Failed to connect to server" +msgstr "無法連線到伺服器" + +#: ../app/ui.js:1133 +msgid "Disconnected" +msgstr "連線已中斷" + +#: ../app/ui.js:1146 +msgid "New connection has been rejected with reason: " +msgstr "連線被拒絕,原因:" + +#: ../app/ui.js:1149 +msgid "New connection has been rejected" +msgstr "連線被拒絕" + +#: ../app/ui.js:1170 +msgid "Password is required" +msgstr "請提供密碼" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "noVNC 遇到一個錯誤:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "顯示/隱藏控制列" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "拖放顯示範圍" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "顯示範圍拖放" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "啟用滑鼠按鍵" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "無滑鼠按鍵" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "滑鼠左鍵" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "滑鼠中鍵" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "滑鼠右鍵" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "鍵盤" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "顯示鍵盤" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "額外按鍵" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "顯示額外按鍵" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "切換 Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "切換 Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "送出 Tab 鍵" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "送出 Escape 鍵" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl-Alt-Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "送出 Ctrl-Alt-Del 快捷鍵" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "關機/重新啟動" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "關機/重新啟動..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "電源" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "關機" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "重新啟動" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "重設" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "剪貼簿" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "清除" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "全螢幕" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "設定" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "分享模式" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "僅檢視" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "限制/裁切視窗大小" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "縮放模式:" + +#: ../vnc.html:214 +msgid "None" +msgstr "無" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "本機縮放" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "遠端調整大小" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "進階" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "中繼站 ID" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "加密" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "主機:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "連接埠:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "路徑:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "自動重新連線" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "重新連線間隔 (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "日誌級別:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "中斷連線" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "連線" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "密碼:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "取消" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_CN.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_CN.po index ede9d44..d60def6 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_CN.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_CN.po @@ -1,284 +1,284 @@ -# Simplified Chinese translations for noVNC package. -# Copyright (C) 2020 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Peter Dave Hello , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.1.0\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2018-01-10 00:53+0800\n" -"PO-Revision-Date: 2020-01-02 13:19+0800\n" -"Last-Translator: CUI Wei \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../app/ui.js:395 -msgid "Connecting..." -msgstr "连接中..." - -#: ../app/ui.js:402 -msgid "Disconnecting..." -msgstr "正在断开连接..." - -#: ../app/ui.js:408 -msgid "Reconnecting..." -msgstr "重新连接中..." - -#: ../app/ui.js:413 -msgid "Internal error" -msgstr "内部错误" - -#: ../app/ui.js:1015 -msgid "Must set host" -msgstr "请提供主机名" - -#: ../app/ui.js:1097 -msgid "Connected (encrypted) to " -msgstr "已连接到(加密)" - -#: ../app/ui.js:1099 -msgid "Connected (unencrypted) to " -msgstr "已连接到(未加密)" - -#: ../app/ui.js:1120 -msgid "Something went wrong, connection is closed" -msgstr "发生错误,连接已关闭" - -#: ../app/ui.js:1123 -msgid "Failed to connect to server" -msgstr "无法连接到服务器" - -#: ../app/ui.js:1133 -msgid "Disconnected" -msgstr "已断开连接" - -#: ../app/ui.js:1146 -msgid "New connection has been rejected with reason: " -msgstr "连接被拒绝,原因:" - -#: ../app/ui.js:1149 -msgid "New connection has been rejected" -msgstr "连接被拒绝" - -#: ../app/ui.js:1170 -msgid "Password is required" -msgstr "请提供密码" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "noVNC 遇到一个错误:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "显示/隐藏控制栏" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "拖放显示范围" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "显示范围拖放" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "启动鼠标按鍵" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "禁用鼠标按鍵" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "鼠标左鍵" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "鼠标中鍵" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "鼠标右鍵" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "键盘" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "显示键盘" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "额外按键" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "显示额外按键" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "切换 Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "切换 Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "发送 Tab 键" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "发送 Escape 键" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl-Alt-Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "发送 Ctrl-Alt-Del 键" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "关机/重新启动" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "关机/重新启动..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "电源" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "关机" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "重新启动" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "重置" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "剪贴板" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "清除" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "全屏" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "设置" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "分享模式" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "仅查看" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "限制/裁切窗口大小" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "缩放模式:" - -#: ../vnc.html:214 -msgid "None" -msgstr "无" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "本地缩放" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "远程调整大小" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "高级" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "中继站 ID" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "加密" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "主机:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "端口:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "路径:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "自动重新连接" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "重新连接间隔 (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "日志级别:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "中断连接" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "连接" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "密码:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "取消" +# Simplified Chinese translations for noVNC package. +# Copyright (C) 2020 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Peter Dave Hello , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.1.0\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2018-01-10 00:53+0800\n" +"PO-Revision-Date: 2020-01-02 13:19+0800\n" +"Last-Translator: CUI Wei \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../app/ui.js:395 +msgid "Connecting..." +msgstr "连接中..." + +#: ../app/ui.js:402 +msgid "Disconnecting..." +msgstr "正在断开连接..." + +#: ../app/ui.js:408 +msgid "Reconnecting..." +msgstr "重新连接中..." + +#: ../app/ui.js:413 +msgid "Internal error" +msgstr "内部错误" + +#: ../app/ui.js:1015 +msgid "Must set host" +msgstr "请提供主机名" + +#: ../app/ui.js:1097 +msgid "Connected (encrypted) to " +msgstr "已连接到(加密)" + +#: ../app/ui.js:1099 +msgid "Connected (unencrypted) to " +msgstr "已连接到(未加密)" + +#: ../app/ui.js:1120 +msgid "Something went wrong, connection is closed" +msgstr "发生错误,连接已关闭" + +#: ../app/ui.js:1123 +msgid "Failed to connect to server" +msgstr "无法连接到服务器" + +#: ../app/ui.js:1133 +msgid "Disconnected" +msgstr "已断开连接" + +#: ../app/ui.js:1146 +msgid "New connection has been rejected with reason: " +msgstr "连接被拒绝,原因:" + +#: ../app/ui.js:1149 +msgid "New connection has been rejected" +msgstr "连接被拒绝" + +#: ../app/ui.js:1170 +msgid "Password is required" +msgstr "请提供密码" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "noVNC 遇到一个错误:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "显示/隐藏控制栏" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "拖放显示范围" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "显示范围拖放" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "启动鼠标按鍵" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "禁用鼠标按鍵" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "鼠标左鍵" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "鼠标中鍵" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "鼠标右鍵" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "键盘" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "显示键盘" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "额外按键" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "显示额外按键" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "切换 Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "切换 Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "发送 Tab 键" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "发送 Escape 键" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl-Alt-Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "发送 Ctrl-Alt-Del 键" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "关机/重新启动" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "关机/重新启动..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "电源" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "关机" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "重新启动" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "重置" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "剪贴板" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "清除" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "全屏" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "设置" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "分享模式" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "仅查看" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "限制/裁切窗口大小" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "缩放模式:" + +#: ../vnc.html:214 +msgid "None" +msgstr "无" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "本地缩放" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "远程调整大小" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "高级" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "中继站 ID" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "加密" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "主机:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "端口:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "路径:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "自动重新连接" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "重新连接间隔 (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "日志级别:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "中断连接" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "连接" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "密码:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "取消" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_TW.po b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_TW.po index 9ddf550..e50a9da 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_TW.po +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/po/zh_TW.po @@ -1,285 +1,285 @@ -# Traditional Chinese translations for noVNC package. -# Copyright (C) 2018 The noVNC Authors -# This file is distributed under the same license as the noVNC package. -# Peter Dave Hello , 2018. -# -msgid "" -msgstr "" -"Project-Id-Version: noVNC 1.0.0-testing.2\n" -"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" -"POT-Creation-Date: 2018-01-10 00:53+0800\n" -"PO-Revision-Date: 2018-01-10 01:33+0800\n" -"Last-Translator: Peter Dave Hello \n" -"Language-Team: Peter Dave Hello \n" -"Language: zh\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../app/ui.js:395 -msgid "Connecting..." -msgstr "連線中..." - -#: ../app/ui.js:402 -msgid "Disconnecting..." -msgstr "正在中斷連線..." - -#: ../app/ui.js:408 -msgid "Reconnecting..." -msgstr "重新連線中..." - -#: ../app/ui.js:413 -msgid "Internal error" -msgstr "內部錯誤" - -#: ../app/ui.js:1015 -msgid "Must set host" -msgstr "請提供主機資訊" - -#: ../app/ui.js:1097 -msgid "Connected (encrypted) to " -msgstr "已加密連線到" - -#: ../app/ui.js:1099 -msgid "Connected (unencrypted) to " -msgstr "未加密連線到" - -#: ../app/ui.js:1120 -msgid "Something went wrong, connection is closed" -msgstr "發生錯誤,連線已關閉" - -#: ../app/ui.js:1123 -msgid "Failed to connect to server" -msgstr "無法連線到伺服器" - -#: ../app/ui.js:1133 -msgid "Disconnected" -msgstr "連線已中斷" - -#: ../app/ui.js:1146 -msgid "New connection has been rejected with reason: " -msgstr "連線被拒絕,原因:" - -#: ../app/ui.js:1149 -msgid "New connection has been rejected" -msgstr "連線被拒絕" - -#: ../app/ui.js:1170 -msgid "Password is required" -msgstr "請提供密碼" - -#: ../vnc.html:89 -msgid "noVNC encountered an error:" -msgstr "noVNC 遇到一個錯誤:" - -#: ../vnc.html:99 -msgid "Hide/Show the control bar" -msgstr "顯示/隱藏控制列" - -#: ../vnc.html:106 -msgid "Move/Drag Viewport" -msgstr "拖放顯示範圍" - -#: ../vnc.html:106 -msgid "viewport drag" -msgstr "顯示範圍拖放" - -#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 -msgid "Active Mouse Button" -msgstr "啟用滑鼠按鍵" - -#: ../vnc.html:112 -msgid "No mousebutton" -msgstr "無滑鼠按鍵" - -#: ../vnc.html:115 -msgid "Left mousebutton" -msgstr "滑鼠左鍵" - -#: ../vnc.html:118 -msgid "Middle mousebutton" -msgstr "滑鼠中鍵" - -#: ../vnc.html:121 -msgid "Right mousebutton" -msgstr "滑鼠右鍵" - -#: ../vnc.html:124 -msgid "Keyboard" -msgstr "鍵盤" - -#: ../vnc.html:124 -msgid "Show Keyboard" -msgstr "顯示鍵盤" - -#: ../vnc.html:131 -msgid "Extra keys" -msgstr "額外按鍵" - -#: ../vnc.html:131 -msgid "Show Extra Keys" -msgstr "顯示額外按鍵" - -#: ../vnc.html:136 -msgid "Ctrl" -msgstr "Ctrl" - -#: ../vnc.html:136 -msgid "Toggle Ctrl" -msgstr "切換 Ctrl" - -#: ../vnc.html:139 -msgid "Alt" -msgstr "Alt" - -#: ../vnc.html:139 -msgid "Toggle Alt" -msgstr "切換 Alt" - -#: ../vnc.html:142 -msgid "Send Tab" -msgstr "送出 Tab 鍵" - -#: ../vnc.html:142 -msgid "Tab" -msgstr "Tab" - -#: ../vnc.html:145 -msgid "Esc" -msgstr "Esc" - -#: ../vnc.html:145 -msgid "Send Escape" -msgstr "送出 Escape 鍵" - -#: ../vnc.html:148 -msgid "Ctrl+Alt+Del" -msgstr "Ctrl-Alt-Del" - -#: ../vnc.html:148 -msgid "Send Ctrl-Alt-Del" -msgstr "送出 Ctrl-Alt-Del 快捷鍵" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot" -msgstr "關機/重新啟動" - -#: ../vnc.html:156 -msgid "Shutdown/Reboot..." -msgstr "關機/重新啟動..." - -#: ../vnc.html:162 -msgid "Power" -msgstr "電源" - -#: ../vnc.html:164 -msgid "Shutdown" -msgstr "關機" - -#: ../vnc.html:165 -msgid "Reboot" -msgstr "重新啟動" - -#: ../vnc.html:166 -msgid "Reset" -msgstr "重設" - -#: ../vnc.html:171 ../vnc.html:177 -msgid "Clipboard" -msgstr "剪貼簿" - -#: ../vnc.html:181 -msgid "Clear" -msgstr "清除" - -#: ../vnc.html:187 -msgid "Fullscreen" -msgstr "全螢幕" - -#: ../vnc.html:192 ../vnc.html:199 -msgid "Settings" -msgstr "設定" - -#: ../vnc.html:202 -msgid "Shared Mode" -msgstr "分享模式" - -#: ../vnc.html:205 -msgid "View Only" -msgstr "僅檢視" - -#: ../vnc.html:209 -msgid "Clip to Window" -msgstr "限制/裁切視窗大小" - -#: ../vnc.html:212 -msgid "Scaling Mode:" -msgstr "縮放模式:" - -#: ../vnc.html:214 -msgid "None" -msgstr "無" - -#: ../vnc.html:215 -msgid "Local Scaling" -msgstr "本機縮放" - -#: ../vnc.html:216 -msgid "Remote Resizing" -msgstr "遠端調整大小" - -#: ../vnc.html:221 -msgid "Advanced" -msgstr "進階" - -#: ../vnc.html:224 -msgid "Repeater ID:" -msgstr "中繼站 ID" - -#: ../vnc.html:228 -msgid "WebSocket" -msgstr "WebSocket" - -#: ../vnc.html:231 -msgid "Encrypt" -msgstr "加密" - -#: ../vnc.html:234 -msgid "Host:" -msgstr "主機:" - -#: ../vnc.html:238 -msgid "Port:" -msgstr "連接埠:" - -#: ../vnc.html:242 -msgid "Path:" -msgstr "路徑:" - -#: ../vnc.html:249 -msgid "Automatic Reconnect" -msgstr "自動重新連線" - -#: ../vnc.html:252 -msgid "Reconnect Delay (ms):" -msgstr "重新連線間隔 (ms):" - -#: ../vnc.html:258 -msgid "Logging:" -msgstr "日誌級別:" - -#: ../vnc.html:270 -msgid "Disconnect" -msgstr "中斷連線" - -#: ../vnc.html:289 -msgid "Connect" -msgstr "連線" - -#: ../vnc.html:299 -msgid "Password:" -msgstr "密碼:" - -#: ../vnc.html:313 -msgid "Cancel" -msgstr "取消" +# Traditional Chinese translations for noVNC package. +# Copyright (C) 2018 The noVNC Authors +# This file is distributed under the same license as the noVNC package. +# Peter Dave Hello , 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: noVNC 1.0.0-testing.2\n" +"Report-Msgid-Bugs-To: novnc@googlegroups.com\n" +"POT-Creation-Date: 2018-01-10 00:53+0800\n" +"PO-Revision-Date: 2018-01-10 01:33+0800\n" +"Last-Translator: Peter Dave Hello \n" +"Language-Team: Peter Dave Hello \n" +"Language: zh\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../app/ui.js:395 +msgid "Connecting..." +msgstr "連線中..." + +#: ../app/ui.js:402 +msgid "Disconnecting..." +msgstr "正在中斷連線..." + +#: ../app/ui.js:408 +msgid "Reconnecting..." +msgstr "重新連線中..." + +#: ../app/ui.js:413 +msgid "Internal error" +msgstr "內部錯誤" + +#: ../app/ui.js:1015 +msgid "Must set host" +msgstr "請提供主機資訊" + +#: ../app/ui.js:1097 +msgid "Connected (encrypted) to " +msgstr "已加密連線到" + +#: ../app/ui.js:1099 +msgid "Connected (unencrypted) to " +msgstr "未加密連線到" + +#: ../app/ui.js:1120 +msgid "Something went wrong, connection is closed" +msgstr "發生錯誤,連線已關閉" + +#: ../app/ui.js:1123 +msgid "Failed to connect to server" +msgstr "無法連線到伺服器" + +#: ../app/ui.js:1133 +msgid "Disconnected" +msgstr "連線已中斷" + +#: ../app/ui.js:1146 +msgid "New connection has been rejected with reason: " +msgstr "連線被拒絕,原因:" + +#: ../app/ui.js:1149 +msgid "New connection has been rejected" +msgstr "連線被拒絕" + +#: ../app/ui.js:1170 +msgid "Password is required" +msgstr "請提供密碼" + +#: ../vnc.html:89 +msgid "noVNC encountered an error:" +msgstr "noVNC 遇到一個錯誤:" + +#: ../vnc.html:99 +msgid "Hide/Show the control bar" +msgstr "顯示/隱藏控制列" + +#: ../vnc.html:106 +msgid "Move/Drag Viewport" +msgstr "拖放顯示範圍" + +#: ../vnc.html:106 +msgid "viewport drag" +msgstr "顯示範圍拖放" + +#: ../vnc.html:112 ../vnc.html:115 ../vnc.html:118 ../vnc.html:121 +msgid "Active Mouse Button" +msgstr "啟用滑鼠按鍵" + +#: ../vnc.html:112 +msgid "No mousebutton" +msgstr "無滑鼠按鍵" + +#: ../vnc.html:115 +msgid "Left mousebutton" +msgstr "滑鼠左鍵" + +#: ../vnc.html:118 +msgid "Middle mousebutton" +msgstr "滑鼠中鍵" + +#: ../vnc.html:121 +msgid "Right mousebutton" +msgstr "滑鼠右鍵" + +#: ../vnc.html:124 +msgid "Keyboard" +msgstr "鍵盤" + +#: ../vnc.html:124 +msgid "Show Keyboard" +msgstr "顯示鍵盤" + +#: ../vnc.html:131 +msgid "Extra keys" +msgstr "額外按鍵" + +#: ../vnc.html:131 +msgid "Show Extra Keys" +msgstr "顯示額外按鍵" + +#: ../vnc.html:136 +msgid "Ctrl" +msgstr "Ctrl" + +#: ../vnc.html:136 +msgid "Toggle Ctrl" +msgstr "切換 Ctrl" + +#: ../vnc.html:139 +msgid "Alt" +msgstr "Alt" + +#: ../vnc.html:139 +msgid "Toggle Alt" +msgstr "切換 Alt" + +#: ../vnc.html:142 +msgid "Send Tab" +msgstr "送出 Tab 鍵" + +#: ../vnc.html:142 +msgid "Tab" +msgstr "Tab" + +#: ../vnc.html:145 +msgid "Esc" +msgstr "Esc" + +#: ../vnc.html:145 +msgid "Send Escape" +msgstr "送出 Escape 鍵" + +#: ../vnc.html:148 +msgid "Ctrl+Alt+Del" +msgstr "Ctrl-Alt-Del" + +#: ../vnc.html:148 +msgid "Send Ctrl-Alt-Del" +msgstr "送出 Ctrl-Alt-Del 快捷鍵" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot" +msgstr "關機/重新啟動" + +#: ../vnc.html:156 +msgid "Shutdown/Reboot..." +msgstr "關機/重新啟動..." + +#: ../vnc.html:162 +msgid "Power" +msgstr "電源" + +#: ../vnc.html:164 +msgid "Shutdown" +msgstr "關機" + +#: ../vnc.html:165 +msgid "Reboot" +msgstr "重新啟動" + +#: ../vnc.html:166 +msgid "Reset" +msgstr "重設" + +#: ../vnc.html:171 ../vnc.html:177 +msgid "Clipboard" +msgstr "剪貼簿" + +#: ../vnc.html:181 +msgid "Clear" +msgstr "清除" + +#: ../vnc.html:187 +msgid "Fullscreen" +msgstr "全螢幕" + +#: ../vnc.html:192 ../vnc.html:199 +msgid "Settings" +msgstr "設定" + +#: ../vnc.html:202 +msgid "Shared Mode" +msgstr "分享模式" + +#: ../vnc.html:205 +msgid "View Only" +msgstr "僅檢視" + +#: ../vnc.html:209 +msgid "Clip to Window" +msgstr "限制/裁切視窗大小" + +#: ../vnc.html:212 +msgid "Scaling Mode:" +msgstr "縮放模式:" + +#: ../vnc.html:214 +msgid "None" +msgstr "無" + +#: ../vnc.html:215 +msgid "Local Scaling" +msgstr "本機縮放" + +#: ../vnc.html:216 +msgid "Remote Resizing" +msgstr "遠端調整大小" + +#: ../vnc.html:221 +msgid "Advanced" +msgstr "進階" + +#: ../vnc.html:224 +msgid "Repeater ID:" +msgstr "中繼站 ID" + +#: ../vnc.html:228 +msgid "WebSocket" +msgstr "WebSocket" + +#: ../vnc.html:231 +msgid "Encrypt" +msgstr "加密" + +#: ../vnc.html:234 +msgid "Host:" +msgstr "主機:" + +#: ../vnc.html:238 +msgid "Port:" +msgstr "連接埠:" + +#: ../vnc.html:242 +msgid "Path:" +msgstr "路徑:" + +#: ../vnc.html:249 +msgid "Automatic Reconnect" +msgstr "自動重新連線" + +#: ../vnc.html:252 +msgid "Reconnect Delay (ms):" +msgstr "重新連線間隔 (ms):" + +#: ../vnc.html:258 +msgid "Logging:" +msgstr "日誌級別:" + +#: ../vnc.html:270 +msgid "Disconnect" +msgstr "中斷連線" + +#: ../vnc.html:289 +msgid "Connect" +msgstr "連線" + +#: ../vnc.html:299 +msgid "Password:" +msgstr "密碼:" + +#: ../vnc.html:313 +msgid "Cancel" +msgstr "取消" diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/snap/hooks/configure b/whmcs/modules/servers/virtualizor_cloud/novnc/snap/hooks/configure index ff4f804..6bb329b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/snap/hooks/configure +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/snap/hooks/configure @@ -1,3 +1,3 @@ -#!/bin/sh -e - -snapctl restart novnc.novncsvc +#!/bin/sh -e + +snapctl restart novnc.novncsvc diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/snap/local/svc_wrapper.sh b/whmcs/modules/servers/virtualizor_cloud/novnc/snap/local/svc_wrapper.sh index 7b0be23..a89c9ce 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/snap/local/svc_wrapper.sh +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/snap/local/svc_wrapper.sh @@ -1,29 +1,29 @@ -#!/bin/bash - -# `snapctl get services` returns a JSON array, example: -#{ -#"n6801": { -# "listen": 6801, -# "vnc": "localhost:5901" -#}, -#"n6802": { -# "listen": 6802, -# "vnc": "localhost:5902" -#} -#} -snapctl get services | jq -c '.[]' | while read service; do # for each service the user sepcified.. - # get the important data for the service (listen port, VNC host:port) - listen_port="$(echo $service | jq --raw-output '.listen')" - vnc_host_port="$(echo $service | jq --raw-output '.vnc')" # --raw-output removes any quotation marks from the output - - # check whether those values are valid - expr "$listen_port" : '^[0-9]\+$' > /dev/null - listen_port_valid=$? - if [ ! $listen_port_valid ] || [ -z "$vnc_host_port" ]; then - # invalid values mean the service is disabled, do nothing except for printing a message (logged in /var/log/system or systemd journal) - echo "novnc: not starting service ${service} with listen_port ${listen_port} and vnc_host_port ${vnc_host_port}" - else - # start (and fork with '&') the service using the specified listen port and VNC host:port - $SNAP/launch.sh --listen $listen_port --vnc $vnc_host_port & - fi -done +#!/bin/bash + +# `snapctl get services` returns a JSON array, example: +#{ +#"n6801": { +# "listen": 6801, +# "vnc": "localhost:5901" +#}, +#"n6802": { +# "listen": 6802, +# "vnc": "localhost:5902" +#} +#} +snapctl get services | jq -c '.[]' | while read service; do # for each service the user sepcified.. + # get the important data for the service (listen port, VNC host:port) + listen_port="$(echo $service | jq --raw-output '.listen')" + vnc_host_port="$(echo $service | jq --raw-output '.vnc')" # --raw-output removes any quotation marks from the output + + # check whether those values are valid + expr "$listen_port" : '^[0-9]\+$' > /dev/null + listen_port_valid=$? + if [ ! $listen_port_valid ] || [ -z "$vnc_host_port" ]; then + # invalid values mean the service is disabled, do nothing except for printing a message (logged in /var/log/system or systemd journal) + echo "novnc: not starting service ${service} with listen_port ${listen_port} and vnc_host_port ${vnc_host_port}" + else + # start (and fork with '&') the service using the specified listen port and VNC host:port + $SNAP/launch.sh --listen $listen_port --vnc $vnc_host_port & + fi +done diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/.eslintrc b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/.eslintrc index b7dc129..8075f32 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/.eslintrc +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/.eslintrc @@ -1,8 +1,8 @@ -{ - "env": { - "node": true - }, - "rules": { - "no-console": 0 - } +{ + "env": { + "node": true + }, + "rules": { + "no-console": 0 + } } \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/b64-to-binary.pl b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/b64-to-binary.pl index 280e28c..5366c54 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/b64-to-binary.pl +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/b64-to-binary.pl @@ -1,17 +1,17 @@ -#!/usr/bin/env perl -use MIME::Base64; - -for (<>) { - unless (/^'([{}])(\d+)\1(.+?)',$/) { - print; - next; - } - - my ($dir, $amt, $b64) = ($1, $2, $3); - - my $decoded = MIME::Base64::decode($b64) or die "Could not base64-decode line `$_`"; - - my $decoded_escaped = join "", map { "\\x$_" } unpack("(H2)*", $decoded); - - print "'${dir}${amt}${dir}${decoded_escaped}',\n"; -} +#!/usr/bin/env perl +use MIME::Base64; + +for (<>) { + unless (/^'([{}])(\d+)\1(.+?)',$/) { + print; + next; + } + + my ($dir, $amt, $b64) = ($1, $2, $3); + + my $decoded = MIME::Base64::decode($b64) or die "Could not base64-decode line `$_`"; + + my $decoded_escaped = join "", map { "\\x$_" } unpack("(H2)*", $decoded); + + print "'${dir}${amt}${dir}${decoded_escaped}',\n"; +} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/genkeysymdef.js b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/genkeysymdef.js index f539a0b..e419f59 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/genkeysymdef.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/genkeysymdef.js @@ -1,127 +1,127 @@ -#!/usr/bin/env node -/* - * genkeysymdef: X11 keysymdef.h to JavaScript converter - * Copyright (C) 2018 The noVNC Authors - * Licensed under MPL 2.0 (see LICENSE.txt) - */ - -"use strict"; - -const fs = require('fs'); - -let showHelp = process.argv.length === 2; -let filename; - -for (let i = 2; i < process.argv.length; ++i) { - switch (process.argv[i]) { - case "--help": - case "-h": - showHelp = true; - break; - case "--file": - case "-f": - default: - filename = process.argv[i]; - } -} - -if (!filename) { - showHelp = true; - console.log("Error: No filename specified\n"); -} - -if (showHelp) { - console.log("Parses a *nix keysymdef.h to generate Unicode code point mappings"); - console.log("Usage: node parse.js [options] filename:"); - console.log(" -h [ --help ] Produce this help message"); - console.log(" filename The keysymdef.h file to parse"); - process.exit(0); -} - -const buf = fs.readFileSync(filename); -const str = buf.toString('utf8'); - -const re = /^#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-fA-F]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/m; - -const arr = str.split('\n'); - -const codepoints = {}; - -for (let i = 0; i < arr.length; ++i) { - const result = re.exec(arr[i]); - if (result) { - const keyname = result[1]; - const keysym = parseInt(result[2], 16); - const remainder = result[3]; - - const unicodeRes = /U\+([0-9a-fA-F]+)/.exec(remainder); - if (unicodeRes) { - const unicode = parseInt(unicodeRes[1], 16); - // The first entry is the preferred one - if (!codepoints[unicode]) { - codepoints[unicode] = { keysym: keysym, name: keyname }; - } - } - } -} - -let out = -"/*\n" + -" * Mapping from Unicode codepoints to X11/RFB keysyms\n" + -" *\n" + -" * This file was automatically generated from keysymdef.h\n" + -" * DO NOT EDIT!\n" + -" */\n" + -"\n" + -"/* Functions at the bottom */\n" + -"\n" + -"const codepoints = {\n"; - -function toHex(num) { - let s = num.toString(16); - if (s.length < 4) { - s = ("0000" + s).slice(-4); - } - return "0x" + s; -} - -for (let codepoint in codepoints) { - codepoint = parseInt(codepoint); - - // Latin-1? - if ((codepoint >= 0x20) && (codepoint <= 0xff)) { - continue; - } - - // Handled by the general Unicode mapping? - if ((codepoint | 0x01000000) === codepoints[codepoint].keysym) { - continue; - } - - out += " " + toHex(codepoint) + ": " + - toHex(codepoints[codepoint].keysym) + - ", // XK_" + codepoints[codepoint].name + "\n"; -} - -out += -"};\n" + -"\n" + -"export default {\n" + -" lookup(u) {\n" + -" // Latin-1 is one-to-one mapping\n" + -" if ((u >= 0x20) && (u <= 0xff)) {\n" + -" return u;\n" + -" }\n" + -"\n" + -" // Lookup table (fairly random)\n" + -" const keysym = codepoints[u];\n" + -" if (keysym !== undefined) {\n" + -" return keysym;\n" + -" }\n" + -"\n" + -" // General mapping as final fallback\n" + -" return 0x01000000 | u;\n" + -" },\n" + -"};"; - -console.log(out); +#!/usr/bin/env node +/* + * genkeysymdef: X11 keysymdef.h to JavaScript converter + * Copyright (C) 2018 The noVNC Authors + * Licensed under MPL 2.0 (see LICENSE.txt) + */ + +"use strict"; + +const fs = require('fs'); + +let showHelp = process.argv.length === 2; +let filename; + +for (let i = 2; i < process.argv.length; ++i) { + switch (process.argv[i]) { + case "--help": + case "-h": + showHelp = true; + break; + case "--file": + case "-f": + default: + filename = process.argv[i]; + } +} + +if (!filename) { + showHelp = true; + console.log("Error: No filename specified\n"); +} + +if (showHelp) { + console.log("Parses a *nix keysymdef.h to generate Unicode code point mappings"); + console.log("Usage: node parse.js [options] filename:"); + console.log(" -h [ --help ] Produce this help message"); + console.log(" filename The keysymdef.h file to parse"); + process.exit(0); +} + +const buf = fs.readFileSync(filename); +const str = buf.toString('utf8'); + +const re = /^#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-fA-F]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/m; + +const arr = str.split('\n'); + +const codepoints = {}; + +for (let i = 0; i < arr.length; ++i) { + const result = re.exec(arr[i]); + if (result) { + const keyname = result[1]; + const keysym = parseInt(result[2], 16); + const remainder = result[3]; + + const unicodeRes = /U\+([0-9a-fA-F]+)/.exec(remainder); + if (unicodeRes) { + const unicode = parseInt(unicodeRes[1], 16); + // The first entry is the preferred one + if (!codepoints[unicode]) { + codepoints[unicode] = { keysym: keysym, name: keyname }; + } + } + } +} + +let out = +"/*\n" + +" * Mapping from Unicode codepoints to X11/RFB keysyms\n" + +" *\n" + +" * This file was automatically generated from keysymdef.h\n" + +" * DO NOT EDIT!\n" + +" */\n" + +"\n" + +"/* Functions at the bottom */\n" + +"\n" + +"const codepoints = {\n"; + +function toHex(num) { + let s = num.toString(16); + if (s.length < 4) { + s = ("0000" + s).slice(-4); + } + return "0x" + s; +} + +for (let codepoint in codepoints) { + codepoint = parseInt(codepoint); + + // Latin-1? + if ((codepoint >= 0x20) && (codepoint <= 0xff)) { + continue; + } + + // Handled by the general Unicode mapping? + if ((codepoint | 0x01000000) === codepoints[codepoint].keysym) { + continue; + } + + out += " " + toHex(codepoint) + ": " + + toHex(codepoints[codepoint].keysym) + + ", // XK_" + codepoints[codepoint].name + "\n"; +} + +out += +"};\n" + +"\n" + +"export default {\n" + +" lookup(u) {\n" + +" // Latin-1 is one-to-one mapping\n" + +" if ((u >= 0x20) && (u <= 0xff)) {\n" + +" return u;\n" + +" }\n" + +"\n" + +" // Lookup table (fairly random)\n" + +" const keysym = codepoints[u];\n" + +" if (keysym !== undefined) {\n" + +" return keysym;\n" + +" }\n" + +"\n" + +" // General mapping as final fallback\n" + +" return 0x01000000 | u;\n" + +" },\n" + +"};"; + +console.log(out); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/img2js.py b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/img2js.py index 4d21342..bf9de12 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/img2js.py +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/img2js.py @@ -1,40 +1,40 @@ -#!/usr/bin/env python - -# -# Convert image to Javascript compatible base64 Data URI -# Copyright 2011 Joel Martin -# Licensed under MPL 2.0 (see docs/LICENSE.MPL-2.0) -# - -import sys, base64 - -try: - from PIL import Image -except: - print "python PIL module required (python-imaging package)" - sys.exit(1) - - -if len(sys.argv) < 3: - print "Usage: %s IMAGE JS_VARIABLE" % sys.argv[0] - sys.exit(1) - -fname = sys.argv[1] -var = sys.argv[2] - -ext = fname.lower().split('.')[-1] -if ext == "png": mime = "image/png" -elif ext in ["jpg", "jpeg"]: mime = "image/jpeg" -elif ext == "gif": mime = "image/gif" -else: - print "Only PNG, JPEG and GIF images are supported" - sys.exit(1) -uri = "data:%s;base64," % mime - -im = Image.open(fname) -w, h = im.size - -raw = open(fname).read() - -print '%s = {"width": %s, "height": %s, "data": "%s%s"};' % ( - var, w, h, uri, base64.b64encode(raw)) +#!/usr/bin/env python + +# +# Convert image to Javascript compatible base64 Data URI +# Copyright 2011 Joel Martin +# Licensed under MPL 2.0 (see docs/LICENSE.MPL-2.0) +# + +import sys, base64 + +try: + from PIL import Image +except: + print "python PIL module required (python-imaging package)" + sys.exit(1) + + +if len(sys.argv) < 3: + print "Usage: %s IMAGE JS_VARIABLE" % sys.argv[0] + sys.exit(1) + +fname = sys.argv[1] +var = sys.argv[2] + +ext = fname.lower().split('.')[-1] +if ext == "png": mime = "image/png" +elif ext in ["jpg", "jpeg"]: mime = "image/jpeg" +elif ext == "gif": mime = "image/gif" +else: + print "Only PNG, JPEG and GIF images are supported" + sys.exit(1) +uri = "data:%s;base64," % mime + +im = Image.open(fname) +w, h = im.size + +raw = open(fname).read() + +print '%s = {"width": %s, "height": %s, "data": "%s%s"};' % ( + var, w, h, uri, base64.b64encode(raw)) diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/json2graph.py b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/json2graph.py index 8992382..f48f226 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/json2graph.py +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/json2graph.py @@ -1,206 +1,206 @@ -#!/usr/bin/env python - -''' -Use matplotlib to generate performance charts -Copyright 2011 Joel Martin -Licensed under MPL-2.0 (see docs/LICENSE.MPL-2.0) -''' - -# a bar plot with errorbars -import sys, json -import numpy as np -import matplotlib.pyplot as plt -from matplotlib.font_manager import FontProperties - -def usage(): - print "%s json_file level1 level2 level3 [legend_height]\n\n" % sys.argv[0] - print "Description:\n" - print "level1, level2, and level3 are one each of the following:\n"; - print " select=ITEM - select only ITEM at this level"; - print " bar - each item on this level becomes a graph bar"; - print " group - items on this level become groups of bars"; - print "\n"; - print "json_file is a file containing json data in the following format:\n" - print ' {'; - print ' "conf": {'; - print ' "order_l1": ['; - print ' "level1_label1",'; - print ' "level1_label2",'; - print ' ...'; - print ' ],'; - print ' "order_l2": ['; - print ' "level2_label1",'; - print ' "level2_label2",'; - print ' ...'; - print ' ],'; - print ' "order_l3": ['; - print ' "level3_label1",'; - print ' "level3_label2",'; - print ' ...'; - print ' ]'; - print ' },'; - print ' "stats": {'; - print ' "level1_label1": {'; - print ' "level2_label1": {'; - print ' "level3_label1": [val1, val2, val3],'; - print ' "level3_label2": [val1, val2, val3],'; - print ' ...'; - print ' },'; - print ' "level2_label2": {'; - print ' ...'; - print ' },'; - print ' },'; - print ' "level1_label2": {'; - print ' ...'; - print ' },'; - print ' ...'; - print ' },'; - print ' }'; - sys.exit(2) - -def error(msg): - print msg - sys.exit(1) - - -#colors = ['#ff0000', '#0863e9', '#00f200', '#ffa100', -# '#800000', '#805100', '#013075', '#007900'] -colors = ['#ff0000', '#00ff00', '#0000ff', - '#dddd00', '#dd00dd', '#00dddd', - '#dd6622', '#dd2266', '#66dd22', - '#8844dd', '#44dd88', '#4488dd'] - -if len(sys.argv) < 5: - usage() - -filename = sys.argv[1] -L1 = sys.argv[2] -L2 = sys.argv[3] -L3 = sys.argv[4] -if len(sys.argv) > 5: - legendHeight = float(sys.argv[5]) -else: - legendHeight = 0.75 - -# Load the JSON data from the file -data = json.loads(file(filename).read()) -conf = data['conf'] -stats = data['stats'] - -# Sanity check data hierarchy -if len(conf['order_l1']) != len(stats.keys()): - error("conf.order_l1 does not match stats level 1") -for l1 in stats.keys(): - if len(conf['order_l2']) != len(stats[l1].keys()): - error("conf.order_l2 does not match stats level 2 for %s" % l1) - if conf['order_l1'].count(l1) < 1: - error("%s not found in conf.order_l1" % l1) - for l2 in stats[l1].keys(): - if len(conf['order_l3']) != len(stats[l1][l2].keys()): - error("conf.order_l3 does not match stats level 3") - if conf['order_l2'].count(l2) < 1: - error("%s not found in conf.order_l2" % l2) - for l3 in stats[l1][l2].keys(): - if conf['order_l3'].count(l3) < 1: - error("%s not found in conf.order_l3" % l3) - -# -# Generate the data based on the level specifications -# -bar_labels = None -group_labels = None -bar_vals = [] -bar_sdvs = [] -if L3.startswith("select="): - select_label = l3 = L3.split("=")[1] - bar_labels = conf['order_l1'] - group_labels = conf['order_l2'] - bar_vals = [[0]*len(group_labels) for i in bar_labels] - bar_sdvs = [[0]*len(group_labels) for i in bar_labels] - for b in range(len(bar_labels)): - l1 = bar_labels[b] - for g in range(len(group_labels)): - l2 = group_labels[g] - bar_vals[b][g] = np.mean(stats[l1][l2][l3]) - bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) -elif L2.startswith("select="): - select_label = l2 = L2.split("=")[1] - bar_labels = conf['order_l1'] - group_labels = conf['order_l3'] - bar_vals = [[0]*len(group_labels) for i in bar_labels] - bar_sdvs = [[0]*len(group_labels) for i in bar_labels] - for b in range(len(bar_labels)): - l1 = bar_labels[b] - for g in range(len(group_labels)): - l3 = group_labels[g] - bar_vals[b][g] = np.mean(stats[l1][l2][l3]) - bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) -elif L1.startswith("select="): - select_label = l1 = L1.split("=")[1] - bar_labels = conf['order_l2'] - group_labels = conf['order_l3'] - bar_vals = [[0]*len(group_labels) for i in bar_labels] - bar_sdvs = [[0]*len(group_labels) for i in bar_labels] - for b in range(len(bar_labels)): - l2 = bar_labels[b] - for g in range(len(group_labels)): - l3 = group_labels[g] - bar_vals[b][g] = np.mean(stats[l1][l2][l3]) - bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) -else: - usage() - -# If group is before bar then flip (zip) the data -if [L1, L2, L3].index("group") < [L1, L2, L3].index("bar"): - bar_labels, group_labels = group_labels, bar_labels - bar_vals = zip(*bar_vals) - bar_sdvs = zip(*bar_sdvs) - -print "bar_vals:", bar_vals - -# -# Now render the bar graph -# -ind = np.arange(len(group_labels)) # the x locations for the groups -width = 0.8 * (1.0/len(bar_labels)) # the width of the bars - -fig = plt.figure(figsize=(10,6), dpi=80) -plot = fig.add_subplot(1, 1, 1) - -rects = [] -for i in range(len(bar_vals)): - rects.append(plot.bar(ind+width*i, bar_vals[i], width, color=colors[i], - yerr=bar_sdvs[i], align='center')) - -# add some -plot.set_ylabel('Milliseconds (less is better)') -plot.set_title("Javascript array test: %s" % select_label) -plot.set_xticks(ind+width) -plot.set_xticklabels( group_labels ) - -fontP = FontProperties() -fontP.set_size('small') -plot.legend( [r[0] for r in rects], bar_labels, prop=fontP, - loc = 'center right', bbox_to_anchor = (1.0, legendHeight)) - -def autolabel(rects): - # attach some text labels - for rect in rects: - height = rect.get_height() - if np.isnan(height): - height = 0.0 - plot.text(rect.get_x()+rect.get_width()/2., height+20, '%d'%int(height), - ha='center', va='bottom', size='7') - -for rect in rects: - autolabel(rect) - -# Adjust axis sizes -axis = list(plot.axis()) -axis[0] = -width # Make sure left side has enough for bar -#axis[1] = axis[1] * 1.20 # Add 20% to the right to make sure it fits -axis[2] = 0 # Make y-axis start at 0 -axis[3] = axis[3] * 1.10 # Add 10% to the top -plot.axis(axis) - -plt.show() +#!/usr/bin/env python + +''' +Use matplotlib to generate performance charts +Copyright 2011 Joel Martin +Licensed under MPL-2.0 (see docs/LICENSE.MPL-2.0) +''' + +# a bar plot with errorbars +import sys, json +import numpy as np +import matplotlib.pyplot as plt +from matplotlib.font_manager import FontProperties + +def usage(): + print "%s json_file level1 level2 level3 [legend_height]\n\n" % sys.argv[0] + print "Description:\n" + print "level1, level2, and level3 are one each of the following:\n"; + print " select=ITEM - select only ITEM at this level"; + print " bar - each item on this level becomes a graph bar"; + print " group - items on this level become groups of bars"; + print "\n"; + print "json_file is a file containing json data in the following format:\n" + print ' {'; + print ' "conf": {'; + print ' "order_l1": ['; + print ' "level1_label1",'; + print ' "level1_label2",'; + print ' ...'; + print ' ],'; + print ' "order_l2": ['; + print ' "level2_label1",'; + print ' "level2_label2",'; + print ' ...'; + print ' ],'; + print ' "order_l3": ['; + print ' "level3_label1",'; + print ' "level3_label2",'; + print ' ...'; + print ' ]'; + print ' },'; + print ' "stats": {'; + print ' "level1_label1": {'; + print ' "level2_label1": {'; + print ' "level3_label1": [val1, val2, val3],'; + print ' "level3_label2": [val1, val2, val3],'; + print ' ...'; + print ' },'; + print ' "level2_label2": {'; + print ' ...'; + print ' },'; + print ' },'; + print ' "level1_label2": {'; + print ' ...'; + print ' },'; + print ' ...'; + print ' },'; + print ' }'; + sys.exit(2) + +def error(msg): + print msg + sys.exit(1) + + +#colors = ['#ff0000', '#0863e9', '#00f200', '#ffa100', +# '#800000', '#805100', '#013075', '#007900'] +colors = ['#ff0000', '#00ff00', '#0000ff', + '#dddd00', '#dd00dd', '#00dddd', + '#dd6622', '#dd2266', '#66dd22', + '#8844dd', '#44dd88', '#4488dd'] + +if len(sys.argv) < 5: + usage() + +filename = sys.argv[1] +L1 = sys.argv[2] +L2 = sys.argv[3] +L3 = sys.argv[4] +if len(sys.argv) > 5: + legendHeight = float(sys.argv[5]) +else: + legendHeight = 0.75 + +# Load the JSON data from the file +data = json.loads(file(filename).read()) +conf = data['conf'] +stats = data['stats'] + +# Sanity check data hierarchy +if len(conf['order_l1']) != len(stats.keys()): + error("conf.order_l1 does not match stats level 1") +for l1 in stats.keys(): + if len(conf['order_l2']) != len(stats[l1].keys()): + error("conf.order_l2 does not match stats level 2 for %s" % l1) + if conf['order_l1'].count(l1) < 1: + error("%s not found in conf.order_l1" % l1) + for l2 in stats[l1].keys(): + if len(conf['order_l3']) != len(stats[l1][l2].keys()): + error("conf.order_l3 does not match stats level 3") + if conf['order_l2'].count(l2) < 1: + error("%s not found in conf.order_l2" % l2) + for l3 in stats[l1][l2].keys(): + if conf['order_l3'].count(l3) < 1: + error("%s not found in conf.order_l3" % l3) + +# +# Generate the data based on the level specifications +# +bar_labels = None +group_labels = None +bar_vals = [] +bar_sdvs = [] +if L3.startswith("select="): + select_label = l3 = L3.split("=")[1] + bar_labels = conf['order_l1'] + group_labels = conf['order_l2'] + bar_vals = [[0]*len(group_labels) for i in bar_labels] + bar_sdvs = [[0]*len(group_labels) for i in bar_labels] + for b in range(len(bar_labels)): + l1 = bar_labels[b] + for g in range(len(group_labels)): + l2 = group_labels[g] + bar_vals[b][g] = np.mean(stats[l1][l2][l3]) + bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) +elif L2.startswith("select="): + select_label = l2 = L2.split("=")[1] + bar_labels = conf['order_l1'] + group_labels = conf['order_l3'] + bar_vals = [[0]*len(group_labels) for i in bar_labels] + bar_sdvs = [[0]*len(group_labels) for i in bar_labels] + for b in range(len(bar_labels)): + l1 = bar_labels[b] + for g in range(len(group_labels)): + l3 = group_labels[g] + bar_vals[b][g] = np.mean(stats[l1][l2][l3]) + bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) +elif L1.startswith("select="): + select_label = l1 = L1.split("=")[1] + bar_labels = conf['order_l2'] + group_labels = conf['order_l3'] + bar_vals = [[0]*len(group_labels) for i in bar_labels] + bar_sdvs = [[0]*len(group_labels) for i in bar_labels] + for b in range(len(bar_labels)): + l2 = bar_labels[b] + for g in range(len(group_labels)): + l3 = group_labels[g] + bar_vals[b][g] = np.mean(stats[l1][l2][l3]) + bar_sdvs[b][g] = np.std(stats[l1][l2][l3]) +else: + usage() + +# If group is before bar then flip (zip) the data +if [L1, L2, L3].index("group") < [L1, L2, L3].index("bar"): + bar_labels, group_labels = group_labels, bar_labels + bar_vals = zip(*bar_vals) + bar_sdvs = zip(*bar_sdvs) + +print "bar_vals:", bar_vals + +# +# Now render the bar graph +# +ind = np.arange(len(group_labels)) # the x locations for the groups +width = 0.8 * (1.0/len(bar_labels)) # the width of the bars + +fig = plt.figure(figsize=(10,6), dpi=80) +plot = fig.add_subplot(1, 1, 1) + +rects = [] +for i in range(len(bar_vals)): + rects.append(plot.bar(ind+width*i, bar_vals[i], width, color=colors[i], + yerr=bar_sdvs[i], align='center')) + +# add some +plot.set_ylabel('Milliseconds (less is better)') +plot.set_title("Javascript array test: %s" % select_label) +plot.set_xticks(ind+width) +plot.set_xticklabels( group_labels ) + +fontP = FontProperties() +fontP.set_size('small') +plot.legend( [r[0] for r in rects], bar_labels, prop=fontP, + loc = 'center right', bbox_to_anchor = (1.0, legendHeight)) + +def autolabel(rects): + # attach some text labels + for rect in rects: + height = rect.get_height() + if np.isnan(height): + height = 0.0 + plot.text(rect.get_x()+rect.get_width()/2., height+20, '%d'%int(height), + ha='center', va='bottom', size='7') + +for rect in rects: + autolabel(rect) + +# Adjust axis sizes +axis = list(plot.axis()) +axis[0] = -width # Make sure left side has enough for bar +#axis[1] = axis[1] * 1.20 # Add 20% to the right to make sure it fits +axis[2] = 0 # Make y-axis start at 0 +axis[3] = axis[3] * 1.10 # Add 10% to the top +plot.axis(axis) + +plt.show() diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/launch.sh b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/launch.sh index 0900f7e..68f8fd5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/launch.sh +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/launch.sh @@ -1,198 +1,198 @@ -#!/usr/bin/env bash - -# Copyright (C) 2018 The noVNC Authors -# Licensed under MPL 2.0 or any later version (see LICENSE.txt) - -usage() { - if [ "$*" ]; then - echo "$*" - echo - fi - echo "Usage: ${NAME} [--listen PORT] [--vnc VNC_HOST:PORT] [--cert CERT] [--ssl-only]" - echo - echo "Starts the WebSockets proxy and a mini-webserver and " - echo "provides a cut-and-paste URL to go to." - echo - echo " --listen PORT Port for proxy/webserver to listen on" - echo " Default: 6080" - echo " --vnc VNC_HOST:PORT VNC server host:port proxy target" - echo " Default: localhost:5900" - echo " --cert CERT Path to combined cert/key file, or just" - echo " the cert file if used with --key" - echo " Default: self.pem" - echo " --key KEY Path to key file, when not combined with cert" - echo " --web WEB Path to web files (e.g. vnc.html)" - echo " Default: ./" - echo " --ssl-only Disable non-https connections." - echo " " - echo " --record FILE Record traffic to FILE.session.js" - echo " " - echo " --syslog SERVER Can be local socket such as /dev/log, or a UDP host:port pair." - echo " " - echo " --heartbeat SEC send a ping to the client every SEC seconds" - echo " --timeout SEC after SEC seconds exit when not connected" - echo " --idle-timeout SEC server exits after SEC seconds if there are no" - echo " active connections" - echo " " - exit 2 -} - -NAME="$(basename $0)" -REAL_NAME="$(readlink -f $0)" -HERE="$(cd "$(dirname "$REAL_NAME")" && pwd)" -PORT="6080" -VNC_DEST="localhost:5900" -CERT="" -KEY="" -WEB="" -proxy_pid="" -SSLONLY="" -RECORD_ARG="" -SYSLOG_ARG="" -HEARTBEAT_ARG="" -IDLETIMEOUT_ARG="" -TIMEOUT_ARG="" - -die() { - echo "$*" - exit 1 -} - -cleanup() { - trap - TERM QUIT INT EXIT - trap "true" CHLD # Ignore cleanup messages - echo - if [ -n "${proxy_pid}" ]; then - echo "Terminating WebSockets proxy (${proxy_pid})" - kill ${proxy_pid} - fi -} - -# Process Arguments - -# Arguments that only apply to chrooter itself -while [ "$*" ]; do - param=$1; shift; OPTARG=$1 - case $param in - --listen) PORT="${OPTARG}"; shift ;; - --vnc) VNC_DEST="${OPTARG}"; shift ;; - --cert) CERT="${OPTARG}"; shift ;; - --key) KEY="${OPTARG}"; shift ;; - --web) WEB="${OPTARG}"; shift ;; - --ssl-only) SSLONLY="--ssl-only" ;; - --record) RECORD_ARG="--record ${OPTARG}"; shift ;; - --syslog) SYSLOG_ARG="--syslog ${OPTARG}"; shift ;; - --heartbeat) HEARTBEAT_ARG="--heartbeat ${OPTARG}"; shift ;; - --idle-timeout) IDLETIMEOUT_ARG="--idle-timeout ${OPTARG}"; shift ;; - --timeout) TIMEOUT_ARG="--timeout ${OPTARG}"; shift ;; - -h|--help) usage ;; - -*) usage "Unknown chrooter option: ${param}" ;; - *) break ;; - esac -done - -# Sanity checks -if bash -c "exec 7<>/dev/tcp/localhost/${PORT}" &> /dev/null; then - exec 7<&- - exec 7>&- - die "Port ${PORT} in use. Try --listen PORT" -else - exec 7<&- - exec 7>&- -fi - -trap "cleanup" TERM QUIT INT EXIT - -# Find vnc.html -if [ -n "${WEB}" ]; then - if [ ! -e "${WEB}/vnc.html" ]; then - die "Could not find ${WEB}/vnc.html" - fi -elif [ -e "$(pwd)/vnc.html" ]; then - WEB=$(pwd) -elif [ -e "${HERE}/../vnc.html" ]; then - WEB=${HERE}/../ -elif [ -e "${HERE}/vnc.html" ]; then - WEB=${HERE} -elif [ -e "${HERE}/../share/novnc/vnc.html" ]; then - WEB=${HERE}/../share/novnc/ -else - die "Could not find vnc.html" -fi - -# Find self.pem -if [ -n "${CERT}" ]; then - if [ ! -e "${CERT}" ]; then - die "Could not find ${CERT}" - fi -elif [ -e "$(pwd)/self.pem" ]; then - CERT="$(pwd)/self.pem" -elif [ -e "${HERE}/../self.pem" ]; then - CERT="${HERE}/../self.pem" -elif [ -e "${HERE}/self.pem" ]; then - CERT="${HERE}/self.pem" -else - echo "Warning: could not find self.pem" -fi - -# Check key file -if [ -n "${KEY}" ]; then - if [ ! -e "${KEY}" ]; then - die "Could not find ${KEY}" - fi -fi - -# try to find websockify (prefer local, try global, then download local) -if [[ -d ${HERE}/websockify ]]; then - WEBSOCKIFY=${HERE}/websockify/run - - if [[ ! -x $WEBSOCKIFY ]]; then - echo "The path ${HERE}/websockify exists, but $WEBSOCKIFY either does not exist or is not executable." - echo "If you intended to use an installed websockify package, please remove ${HERE}/websockify." - exit 1 - fi - - echo "Using local websockify at $WEBSOCKIFY" -else - WEBSOCKIFY_FROMSYSTEM=$(which websockify 2>/dev/null) - WEBSOCKIFY_FROMSNAP=${HERE}/../usr/bin/python2-websockify - [ -f $WEBSOCKIFY_FROMSYSTEM ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSYSTEM - [ -f $WEBSOCKIFY_FROMSNAP ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSNAP - - if [ ! -f "$WEBSOCKIFY" ]; then - echo "No installed websockify, attempting to clone websockify..." - WEBSOCKIFY=${HERE}/websockify/run - git clone https://github.com/novnc/websockify ${HERE}/websockify - - if [[ ! -e $WEBSOCKIFY ]]; then - echo "Unable to locate ${HERE}/websockify/run after downloading" - exit 1 - fi - - echo "Using local websockify at $WEBSOCKIFY" - else - echo "Using installed websockify at $WEBSOCKIFY" - fi -fi - -echo "Starting webserver and WebSockets proxy on port ${PORT}" -#${HERE}/websockify --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} & -${WEBSOCKIFY} ${SYSLOG_ARG} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${KEY:+--key ${KEY}} ${PORT} ${VNC_DEST} ${HEARTBEAT_ARG} ${IDLETIMEOUT_ARG} ${RECORD_ARG} ${TIMEOUT_ARG} & -proxy_pid="$!" -sleep 1 -if ! ps -p ${proxy_pid} >/dev/null; then - proxy_pid= - echo "Failed to start WebSockets proxy" - exit 1 -fi - -echo -e "\n\nNavigate to this URL:\n" -if [ "x$SSLONLY" == "x" ]; then - echo -e " http://$(hostname):${PORT}/vnc.html?host=$(hostname)&port=${PORT}\n" -else - echo -e " https://$(hostname):${PORT}/vnc.html?host=$(hostname)&port=${PORT}\n" -fi - -echo -e "Press Ctrl-C to exit\n\n" - -wait ${proxy_pid} +#!/usr/bin/env bash + +# Copyright (C) 2018 The noVNC Authors +# Licensed under MPL 2.0 or any later version (see LICENSE.txt) + +usage() { + if [ "$*" ]; then + echo "$*" + echo + fi + echo "Usage: ${NAME} [--listen PORT] [--vnc VNC_HOST:PORT] [--cert CERT] [--ssl-only]" + echo + echo "Starts the WebSockets proxy and a mini-webserver and " + echo "provides a cut-and-paste URL to go to." + echo + echo " --listen PORT Port for proxy/webserver to listen on" + echo " Default: 6080" + echo " --vnc VNC_HOST:PORT VNC server host:port proxy target" + echo " Default: localhost:5900" + echo " --cert CERT Path to combined cert/key file, or just" + echo " the cert file if used with --key" + echo " Default: self.pem" + echo " --key KEY Path to key file, when not combined with cert" + echo " --web WEB Path to web files (e.g. vnc.html)" + echo " Default: ./" + echo " --ssl-only Disable non-https connections." + echo " " + echo " --record FILE Record traffic to FILE.session.js" + echo " " + echo " --syslog SERVER Can be local socket such as /dev/log, or a UDP host:port pair." + echo " " + echo " --heartbeat SEC send a ping to the client every SEC seconds" + echo " --timeout SEC after SEC seconds exit when not connected" + echo " --idle-timeout SEC server exits after SEC seconds if there are no" + echo " active connections" + echo " " + exit 2 +} + +NAME="$(basename $0)" +REAL_NAME="$(readlink -f $0)" +HERE="$(cd "$(dirname "$REAL_NAME")" && pwd)" +PORT="6080" +VNC_DEST="localhost:5900" +CERT="" +KEY="" +WEB="" +proxy_pid="" +SSLONLY="" +RECORD_ARG="" +SYSLOG_ARG="" +HEARTBEAT_ARG="" +IDLETIMEOUT_ARG="" +TIMEOUT_ARG="" + +die() { + echo "$*" + exit 1 +} + +cleanup() { + trap - TERM QUIT INT EXIT + trap "true" CHLD # Ignore cleanup messages + echo + if [ -n "${proxy_pid}" ]; then + echo "Terminating WebSockets proxy (${proxy_pid})" + kill ${proxy_pid} + fi +} + +# Process Arguments + +# Arguments that only apply to chrooter itself +while [ "$*" ]; do + param=$1; shift; OPTARG=$1 + case $param in + --listen) PORT="${OPTARG}"; shift ;; + --vnc) VNC_DEST="${OPTARG}"; shift ;; + --cert) CERT="${OPTARG}"; shift ;; + --key) KEY="${OPTARG}"; shift ;; + --web) WEB="${OPTARG}"; shift ;; + --ssl-only) SSLONLY="--ssl-only" ;; + --record) RECORD_ARG="--record ${OPTARG}"; shift ;; + --syslog) SYSLOG_ARG="--syslog ${OPTARG}"; shift ;; + --heartbeat) HEARTBEAT_ARG="--heartbeat ${OPTARG}"; shift ;; + --idle-timeout) IDLETIMEOUT_ARG="--idle-timeout ${OPTARG}"; shift ;; + --timeout) TIMEOUT_ARG="--timeout ${OPTARG}"; shift ;; + -h|--help) usage ;; + -*) usage "Unknown chrooter option: ${param}" ;; + *) break ;; + esac +done + +# Sanity checks +if bash -c "exec 7<>/dev/tcp/localhost/${PORT}" &> /dev/null; then + exec 7<&- + exec 7>&- + die "Port ${PORT} in use. Try --listen PORT" +else + exec 7<&- + exec 7>&- +fi + +trap "cleanup" TERM QUIT INT EXIT + +# Find vnc.html +if [ -n "${WEB}" ]; then + if [ ! -e "${WEB}/vnc.html" ]; then + die "Could not find ${WEB}/vnc.html" + fi +elif [ -e "$(pwd)/vnc.html" ]; then + WEB=$(pwd) +elif [ -e "${HERE}/../vnc.html" ]; then + WEB=${HERE}/../ +elif [ -e "${HERE}/vnc.html" ]; then + WEB=${HERE} +elif [ -e "${HERE}/../share/novnc/vnc.html" ]; then + WEB=${HERE}/../share/novnc/ +else + die "Could not find vnc.html" +fi + +# Find self.pem +if [ -n "${CERT}" ]; then + if [ ! -e "${CERT}" ]; then + die "Could not find ${CERT}" + fi +elif [ -e "$(pwd)/self.pem" ]; then + CERT="$(pwd)/self.pem" +elif [ -e "${HERE}/../self.pem" ]; then + CERT="${HERE}/../self.pem" +elif [ -e "${HERE}/self.pem" ]; then + CERT="${HERE}/self.pem" +else + echo "Warning: could not find self.pem" +fi + +# Check key file +if [ -n "${KEY}" ]; then + if [ ! -e "${KEY}" ]; then + die "Could not find ${KEY}" + fi +fi + +# try to find websockify (prefer local, try global, then download local) +if [[ -d ${HERE}/websockify ]]; then + WEBSOCKIFY=${HERE}/websockify/run + + if [[ ! -x $WEBSOCKIFY ]]; then + echo "The path ${HERE}/websockify exists, but $WEBSOCKIFY either does not exist or is not executable." + echo "If you intended to use an installed websockify package, please remove ${HERE}/websockify." + exit 1 + fi + + echo "Using local websockify at $WEBSOCKIFY" +else + WEBSOCKIFY_FROMSYSTEM=$(which websockify 2>/dev/null) + WEBSOCKIFY_FROMSNAP=${HERE}/../usr/bin/python2-websockify + [ -f $WEBSOCKIFY_FROMSYSTEM ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSYSTEM + [ -f $WEBSOCKIFY_FROMSNAP ] && WEBSOCKIFY=$WEBSOCKIFY_FROMSNAP + + if [ ! -f "$WEBSOCKIFY" ]; then + echo "No installed websockify, attempting to clone websockify..." + WEBSOCKIFY=${HERE}/websockify/run + git clone https://github.com/novnc/websockify ${HERE}/websockify + + if [[ ! -e $WEBSOCKIFY ]]; then + echo "Unable to locate ${HERE}/websockify/run after downloading" + exit 1 + fi + + echo "Using local websockify at $WEBSOCKIFY" + else + echo "Using installed websockify at $WEBSOCKIFY" + fi +fi + +echo "Starting webserver and WebSockets proxy on port ${PORT}" +#${HERE}/websockify --web ${WEB} ${CERT:+--cert ${CERT}} ${PORT} ${VNC_DEST} & +${WEBSOCKIFY} ${SYSLOG_ARG} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${KEY:+--key ${KEY}} ${PORT} ${VNC_DEST} ${HEARTBEAT_ARG} ${IDLETIMEOUT_ARG} ${RECORD_ARG} ${TIMEOUT_ARG} & +proxy_pid="$!" +sleep 1 +if ! ps -p ${proxy_pid} >/dev/null; then + proxy_pid= + echo "Failed to start WebSockets proxy" + exit 1 +fi + +echo -e "\n\nNavigate to this URL:\n" +if [ "x$SSLONLY" == "x" ]; then + echo -e " http://$(hostname):${PORT}/vnc.html?host=$(hostname)&port=${PORT}\n" +else + echo -e " https://$(hostname):${PORT}/vnc.html?host=$(hostname)&port=${PORT}\n" +fi + +echo -e "Press Ctrl-C to exit\n\n" + +wait ${proxy_pid} diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/u2x11 b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/u2x11 index fd3e4ba..dd34eca 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/u2x11 +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/u2x11 @@ -1,28 +1,28 @@ -#!/usr/bin/env bash -# -# Convert "U+..." commented entries in /usr/include/X11/keysymdef.h -# into JavaScript for use by noVNC. Note this is likely to produce -# a few duplicate properties with clashing values, that will need -# resolving manually. -# -# Colin Dean -# - -regex="^#define[ \t]+XK_[A-Za-z0-9_]+[ \t]+0x([0-9a-fA-F]+)[ \t]+\/\*[ \t]+U\+([0-9a-fA-F]+)[ \t]+[^*]+.[ \t]+\*\/[ \t]*$" -echo "unicodeTable = {" -while read line; do - if echo "${line}" | egrep -qs "${regex}"; then - - x11=$(echo "${line}" | sed -r "s/${regex}/\1/") - vnc=$(echo "${line}" | sed -r "s/${regex}/\2/") - - if echo "${vnc}" | egrep -qs "^00[2-9A-F][0-9A-F]$"; then - : # skip ISO Latin-1 (U+0020 to U+00FF) as 1-to-1 mapping - else - # note 1-to-1 is possible (e.g. for Euro symbol, U+20AC) - echo " 0x${vnc} : 0x${x11}," - fi - fi -done < /usr/include/X11/keysymdef.h | uniq -echo "};" - +#!/usr/bin/env bash +# +# Convert "U+..." commented entries in /usr/include/X11/keysymdef.h +# into JavaScript for use by noVNC. Note this is likely to produce +# a few duplicate properties with clashing values, that will need +# resolving manually. +# +# Colin Dean +# + +regex="^#define[ \t]+XK_[A-Za-z0-9_]+[ \t]+0x([0-9a-fA-F]+)[ \t]+\/\*[ \t]+U\+([0-9a-fA-F]+)[ \t]+[^*]+.[ \t]+\*\/[ \t]*$" +echo "unicodeTable = {" +while read line; do + if echo "${line}" | egrep -qs "${regex}"; then + + x11=$(echo "${line}" | sed -r "s/${regex}/\1/") + vnc=$(echo "${line}" | sed -r "s/${regex}/\2/") + + if echo "${vnc}" | egrep -qs "^00[2-9A-F][0-9A-F]$"; then + : # skip ISO Latin-1 (U+0020 to U+00FF) as 1-to-1 mapping + else + # note 1-to-1 is possible (e.g. for Euro symbol, U+20AC) + echo " 0x${vnc} : 0x${x11}," + fi + fi +done < /usr/include/X11/keysymdef.h | uniq +echo "};" + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require.js b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require.js index c29f771..8213b31 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require.js @@ -1,322 +1,322 @@ -#!/usr/bin/env node - -const path = require('path'); -const program = require('commander'); -const fs = require('fs'); -const fse = require('fs-extra'); -const babel = require('@babel/core'); - -const SUPPORTED_FORMATS = new Set(['amd', 'commonjs', 'systemjs', 'umd']); - -program - .option('--as [format]', `output files using various import formats instead of ES6 import and export. Supports ${Array.from(SUPPORTED_FORMATS)}.`) - .option('-m, --with-source-maps [type]', 'output source maps when not generating a bundled app (type may be empty for external source maps, inline for inline source maps, or both) ') - .option('--with-app', 'process app files as well as core files') - .option('--only-legacy', 'only output legacy files (no ES6 modules) for the app') - .option('--clean', 'clear the lib folder before building') - .parse(process.argv); - -// the various important paths -const paths = { - main: path.resolve(__dirname, '..'), - core: path.resolve(__dirname, '..', 'core'), - app: path.resolve(__dirname, '..', 'app'), - vendor: path.resolve(__dirname, '..', 'vendor'), - outDirBase: path.resolve(__dirname, '..', 'build'), - libDirBase: path.resolve(__dirname, '..', 'lib'), -}; - -const noCopyFiles = new Set([ - // skip these -- they don't belong in the processed application - path.join(paths.vendor, 'sinon.js'), - path.join(paths.vendor, 'browser-es-module-loader'), - path.join(paths.app, 'images', 'icons', 'Makefile'), -]); - -const onlyLegacyScripts = new Set([ - path.join(paths.vendor, 'promise.js'), -]); - -const noTransformFiles = new Set([ - // don't transform this -- we want it imported as-is to properly catch loading errors - path.join(paths.app, 'error-handler.js'), -]); - -noCopyFiles.forEach(file => noTransformFiles.add(file)); - -// util.promisify requires Node.js 8.x, so we have our own -function promisify(original) { - return function promiseWrap() { - const args = Array.prototype.slice.call(arguments); - return new Promise((resolve, reject) => { - original.apply(this, args.concat((err, value) => { - if (err) return reject(err); - resolve(value); - })); - }); - }; -} - -const readFile = promisify(fs.readFile); -const writeFile = promisify(fs.writeFile); - -const readdir = promisify(fs.readdir); -const lstat = promisify(fs.lstat); - -const copy = promisify(fse.copy); -const unlink = promisify(fse.unlink); -const ensureDir = promisify(fse.ensureDir); -const rmdir = promisify(fse.rmdir); - -const babelTransformFile = promisify(babel.transformFile); - -// walkDir *recursively* walks directories trees, -// calling the callback for all normal files found. -function walkDir(basePath, cb, filter) { - return readdir(basePath) - .then((files) => { - const paths = files.map(filename => path.join(basePath, filename)); - return Promise.all(paths.map(filepath => lstat(filepath) - .then((stats) => { - if (filter !== undefined && !filter(filepath, stats)) return; - - if (stats.isSymbolicLink()) return; - if (stats.isFile()) return cb(filepath); - if (stats.isDirectory()) return walkDir(filepath, cb, filter); - }))); - }); -} - -function transformHtml(legacyScripts, onlyLegacy) { - // write out the modified vnc.html file that works with the bundle - const srcHtmlPath = path.resolve(__dirname, '..', 'vnc.html'); - const outHtmlPath = path.resolve(paths.outDirBase, 'vnc.html'); - return readFile(srcHtmlPath) - .then((contentsRaw) => { - let contents = contentsRaw.toString(); - - const startMarker = '\n'; - const endMarker = ''; - const startInd = contents.indexOf(startMarker) + startMarker.length; - const endInd = contents.indexOf(endMarker, startInd); - - let newScript = ''; - - if (onlyLegacy) { - // Only legacy version, so include things directly - for (let i = 0;i < legacyScripts.length;i++) { - newScript += ` \n`; - } - } else { - // Otherwise include both modules and legacy fallbacks - newScript += ' \n'; - for (let i = 0;i < legacyScripts.length;i++) { - newScript += ` \n`; - } - } - - contents = contents.slice(0, startInd) + `${newScript}\n` + contents.slice(endInd); - - return contents; - }) - .then((contents) => { - console.log(`Writing ${outHtmlPath}`); - return writeFile(outHtmlPath, contents); - }); -} - -function makeLibFiles(importFormat, sourceMaps, withAppDir, onlyLegacy) { - if (!importFormat) { - throw new Error("you must specify an import format to generate compiled noVNC libraries"); - } else if (!SUPPORTED_FORMATS.has(importFormat)) { - throw new Error(`unsupported output format "${importFormat}" for import/export -- only ${Array.from(SUPPORTED_FORMATS)} are supported`); - } - - // NB: we need to make a copy of babelOpts, since babel sets some defaults on it - const babelOpts = () => ({ - plugins: [], - presets: [ - [ '@babel/preset-env', - { targets: 'ie >= 11', - modules: importFormat } ] - ], - ast: false, - sourceMaps: sourceMaps, - }); - - // No point in duplicate files without the app, so force only converted files - if (!withAppDir) { - onlyLegacy = true; - } - - let inPath; - let outPathBase; - if (withAppDir) { - outPathBase = paths.outDirBase; - inPath = paths.main; - } else { - outPathBase = paths.libDirBase; - } - const legacyPathBase = onlyLegacy ? outPathBase : path.join(outPathBase, 'legacy'); - - fse.ensureDirSync(outPathBase); - - const helpers = require('./use_require_helpers'); - const helper = helpers[importFormat]; - - const outFiles = []; - const legacyFiles = []; - - const handleDir = (jsOnly, vendorRewrite, inPathBase, filename) => Promise.resolve() - .then(() => { - const outPath = path.join(outPathBase, path.relative(inPathBase, filename)); - const legacyPath = path.join(legacyPathBase, path.relative(inPathBase, filename)); - - if (path.extname(filename) !== '.js') { - if (!jsOnly) { - console.log(`Writing ${outPath}`); - return copy(filename, outPath); - } - return; // skip non-javascript files - } - - if (noTransformFiles.has(filename)) { - return ensureDir(path.dirname(outPath)) - .then(() => { - console.log(`Writing ${outPath}`); - return copy(filename, outPath); - }); - } - - if (onlyLegacyScripts.has(filename)) { - legacyFiles.push(legacyPath); - return ensureDir(path.dirname(legacyPath)) - .then(() => { - console.log(`Writing ${legacyPath}`); - return copy(filename, legacyPath); - }); - } - - return Promise.resolve() - .then(() => { - if (onlyLegacy) { - return; - } - return ensureDir(path.dirname(outPath)) - .then(() => { - console.log(`Writing ${outPath}`); - return copy(filename, outPath); - }); - }) - .then(() => ensureDir(path.dirname(legacyPath))) - .then(() => { - const opts = babelOpts(); - if (helper && helpers.optionsOverride) { - helper.optionsOverride(opts); - } - // Adjust for the fact that we move the core files relative - // to the vendor directory - if (vendorRewrite) { - opts.plugins.push(["import-redirect", - {"root": legacyPathBase, - "redirect": { "vendor/(.+)": "./vendor/$1"}}]); - } - - return babelTransformFile(filename, opts) - .then((res) => { - console.log(`Writing ${legacyPath}`); - const {map} = res; - let {code} = res; - if (sourceMaps === true) { - // append URL for external source map - code += `\n//# sourceMappingURL=${path.basename(legacyPath)}.map\n`; - } - outFiles.push(`${legacyPath}`); - return writeFile(legacyPath, code) - .then(() => { - if (sourceMaps === true || sourceMaps === 'both') { - console.log(` and ${legacyPath}.map`); - outFiles.push(`${legacyPath}.map`); - return writeFile(`${legacyPath}.map`, JSON.stringify(map)); - } - }); - }); - }); - }); - - Promise.resolve() - .then(() => { - const handler = handleDir.bind(null, true, false, inPath || paths.main); - const filter = (filename, stats) => !noCopyFiles.has(filename); - return walkDir(paths.vendor, handler, filter); - }) - .then(() => { - const handler = handleDir.bind(null, true, !inPath, inPath || paths.core); - const filter = (filename, stats) => !noCopyFiles.has(filename); - return walkDir(paths.core, handler, filter); - }) - .then(() => { - if (!withAppDir) return; - const handler = handleDir.bind(null, false, false, inPath); - const filter = (filename, stats) => !noCopyFiles.has(filename); - return walkDir(paths.app, handler, filter); - }) - .then(() => { - if (!withAppDir) return; - - if (!helper || !helper.appWriter) { - throw new Error(`Unable to generate app for the ${importFormat} format!`); - } - - const outAppPath = path.join(legacyPathBase, 'app.js'); - console.log(`Writing ${outAppPath}`); - return helper.appWriter(outPathBase, legacyPathBase, outAppPath) - .then((extraScripts) => { - let legacyScripts = []; - - legacyFiles.forEach((file) => { - let relFilePath = path.relative(outPathBase, file); - legacyScripts.push(relFilePath); - }); - - legacyScripts = legacyScripts.concat(extraScripts); - - let relAppPath = path.relative(outPathBase, outAppPath); - legacyScripts.push(relAppPath); - - transformHtml(legacyScripts, onlyLegacy); - }) - .then(() => { - if (!helper.removeModules) return; - console.log(`Cleaning up temporary files...`); - return Promise.all(outFiles.map((filepath) => { - unlink(filepath) - .then(() => { - // Try to clean up any empty directories if - // this was the last file in there - const rmdirR = dir => - rmdir(dir) - .then(() => rmdirR(path.dirname(dir))) - .catch(() => { - // Assume the error was ENOTEMPTY and ignore it - }); - return rmdirR(path.dirname(filepath)); - }); - })); - }); - }) - .catch((err) => { - console.error(`Failure converting modules: ${err}`); - process.exit(1); - }); -} - -if (program.clean) { - console.log(`Removing ${paths.libDirBase}`); - fse.removeSync(paths.libDirBase); - - console.log(`Removing ${paths.outDirBase}`); - fse.removeSync(paths.outDirBase); -} - -makeLibFiles(program.as, program.withSourceMaps, program.withApp, program.onlyLegacy); +#!/usr/bin/env node + +const path = require('path'); +const program = require('commander'); +const fs = require('fs'); +const fse = require('fs-extra'); +const babel = require('@babel/core'); + +const SUPPORTED_FORMATS = new Set(['amd', 'commonjs', 'systemjs', 'umd']); + +program + .option('--as [format]', `output files using various import formats instead of ES6 import and export. Supports ${Array.from(SUPPORTED_FORMATS)}.`) + .option('-m, --with-source-maps [type]', 'output source maps when not generating a bundled app (type may be empty for external source maps, inline for inline source maps, or both) ') + .option('--with-app', 'process app files as well as core files') + .option('--only-legacy', 'only output legacy files (no ES6 modules) for the app') + .option('--clean', 'clear the lib folder before building') + .parse(process.argv); + +// the various important paths +const paths = { + main: path.resolve(__dirname, '..'), + core: path.resolve(__dirname, '..', 'core'), + app: path.resolve(__dirname, '..', 'app'), + vendor: path.resolve(__dirname, '..', 'vendor'), + outDirBase: path.resolve(__dirname, '..', 'build'), + libDirBase: path.resolve(__dirname, '..', 'lib'), +}; + +const noCopyFiles = new Set([ + // skip these -- they don't belong in the processed application + path.join(paths.vendor, 'sinon.js'), + path.join(paths.vendor, 'browser-es-module-loader'), + path.join(paths.app, 'images', 'icons', 'Makefile'), +]); + +const onlyLegacyScripts = new Set([ + path.join(paths.vendor, 'promise.js'), +]); + +const noTransformFiles = new Set([ + // don't transform this -- we want it imported as-is to properly catch loading errors + path.join(paths.app, 'error-handler.js'), +]); + +noCopyFiles.forEach(file => noTransformFiles.add(file)); + +// util.promisify requires Node.js 8.x, so we have our own +function promisify(original) { + return function promiseWrap() { + const args = Array.prototype.slice.call(arguments); + return new Promise((resolve, reject) => { + original.apply(this, args.concat((err, value) => { + if (err) return reject(err); + resolve(value); + })); + }); + }; +} + +const readFile = promisify(fs.readFile); +const writeFile = promisify(fs.writeFile); + +const readdir = promisify(fs.readdir); +const lstat = promisify(fs.lstat); + +const copy = promisify(fse.copy); +const unlink = promisify(fse.unlink); +const ensureDir = promisify(fse.ensureDir); +const rmdir = promisify(fse.rmdir); + +const babelTransformFile = promisify(babel.transformFile); + +// walkDir *recursively* walks directories trees, +// calling the callback for all normal files found. +function walkDir(basePath, cb, filter) { + return readdir(basePath) + .then((files) => { + const paths = files.map(filename => path.join(basePath, filename)); + return Promise.all(paths.map(filepath => lstat(filepath) + .then((stats) => { + if (filter !== undefined && !filter(filepath, stats)) return; + + if (stats.isSymbolicLink()) return; + if (stats.isFile()) return cb(filepath); + if (stats.isDirectory()) return walkDir(filepath, cb, filter); + }))); + }); +} + +function transformHtml(legacyScripts, onlyLegacy) { + // write out the modified vnc.html file that works with the bundle + const srcHtmlPath = path.resolve(__dirname, '..', 'vnc.html'); + const outHtmlPath = path.resolve(paths.outDirBase, 'vnc.html'); + return readFile(srcHtmlPath) + .then((contentsRaw) => { + let contents = contentsRaw.toString(); + + const startMarker = '\n'; + const endMarker = ''; + const startInd = contents.indexOf(startMarker) + startMarker.length; + const endInd = contents.indexOf(endMarker, startInd); + + let newScript = ''; + + if (onlyLegacy) { + // Only legacy version, so include things directly + for (let i = 0;i < legacyScripts.length;i++) { + newScript += ` \n`; + } + } else { + // Otherwise include both modules and legacy fallbacks + newScript += ' \n'; + for (let i = 0;i < legacyScripts.length;i++) { + newScript += ` \n`; + } + } + + contents = contents.slice(0, startInd) + `${newScript}\n` + contents.slice(endInd); + + return contents; + }) + .then((contents) => { + console.log(`Writing ${outHtmlPath}`); + return writeFile(outHtmlPath, contents); + }); +} + +function makeLibFiles(importFormat, sourceMaps, withAppDir, onlyLegacy) { + if (!importFormat) { + throw new Error("you must specify an import format to generate compiled noVNC libraries"); + } else if (!SUPPORTED_FORMATS.has(importFormat)) { + throw new Error(`unsupported output format "${importFormat}" for import/export -- only ${Array.from(SUPPORTED_FORMATS)} are supported`); + } + + // NB: we need to make a copy of babelOpts, since babel sets some defaults on it + const babelOpts = () => ({ + plugins: [], + presets: [ + [ '@babel/preset-env', + { targets: 'ie >= 11', + modules: importFormat } ] + ], + ast: false, + sourceMaps: sourceMaps, + }); + + // No point in duplicate files without the app, so force only converted files + if (!withAppDir) { + onlyLegacy = true; + } + + let inPath; + let outPathBase; + if (withAppDir) { + outPathBase = paths.outDirBase; + inPath = paths.main; + } else { + outPathBase = paths.libDirBase; + } + const legacyPathBase = onlyLegacy ? outPathBase : path.join(outPathBase, 'legacy'); + + fse.ensureDirSync(outPathBase); + + const helpers = require('./use_require_helpers'); + const helper = helpers[importFormat]; + + const outFiles = []; + const legacyFiles = []; + + const handleDir = (jsOnly, vendorRewrite, inPathBase, filename) => Promise.resolve() + .then(() => { + const outPath = path.join(outPathBase, path.relative(inPathBase, filename)); + const legacyPath = path.join(legacyPathBase, path.relative(inPathBase, filename)); + + if (path.extname(filename) !== '.js') { + if (!jsOnly) { + console.log(`Writing ${outPath}`); + return copy(filename, outPath); + } + return; // skip non-javascript files + } + + if (noTransformFiles.has(filename)) { + return ensureDir(path.dirname(outPath)) + .then(() => { + console.log(`Writing ${outPath}`); + return copy(filename, outPath); + }); + } + + if (onlyLegacyScripts.has(filename)) { + legacyFiles.push(legacyPath); + return ensureDir(path.dirname(legacyPath)) + .then(() => { + console.log(`Writing ${legacyPath}`); + return copy(filename, legacyPath); + }); + } + + return Promise.resolve() + .then(() => { + if (onlyLegacy) { + return; + } + return ensureDir(path.dirname(outPath)) + .then(() => { + console.log(`Writing ${outPath}`); + return copy(filename, outPath); + }); + }) + .then(() => ensureDir(path.dirname(legacyPath))) + .then(() => { + const opts = babelOpts(); + if (helper && helpers.optionsOverride) { + helper.optionsOverride(opts); + } + // Adjust for the fact that we move the core files relative + // to the vendor directory + if (vendorRewrite) { + opts.plugins.push(["import-redirect", + {"root": legacyPathBase, + "redirect": { "vendor/(.+)": "./vendor/$1"}}]); + } + + return babelTransformFile(filename, opts) + .then((res) => { + console.log(`Writing ${legacyPath}`); + const {map} = res; + let {code} = res; + if (sourceMaps === true) { + // append URL for external source map + code += `\n//# sourceMappingURL=${path.basename(legacyPath)}.map\n`; + } + outFiles.push(`${legacyPath}`); + return writeFile(legacyPath, code) + .then(() => { + if (sourceMaps === true || sourceMaps === 'both') { + console.log(` and ${legacyPath}.map`); + outFiles.push(`${legacyPath}.map`); + return writeFile(`${legacyPath}.map`, JSON.stringify(map)); + } + }); + }); + }); + }); + + Promise.resolve() + .then(() => { + const handler = handleDir.bind(null, true, false, inPath || paths.main); + const filter = (filename, stats) => !noCopyFiles.has(filename); + return walkDir(paths.vendor, handler, filter); + }) + .then(() => { + const handler = handleDir.bind(null, true, !inPath, inPath || paths.core); + const filter = (filename, stats) => !noCopyFiles.has(filename); + return walkDir(paths.core, handler, filter); + }) + .then(() => { + if (!withAppDir) return; + const handler = handleDir.bind(null, false, false, inPath); + const filter = (filename, stats) => !noCopyFiles.has(filename); + return walkDir(paths.app, handler, filter); + }) + .then(() => { + if (!withAppDir) return; + + if (!helper || !helper.appWriter) { + throw new Error(`Unable to generate app for the ${importFormat} format!`); + } + + const outAppPath = path.join(legacyPathBase, 'app.js'); + console.log(`Writing ${outAppPath}`); + return helper.appWriter(outPathBase, legacyPathBase, outAppPath) + .then((extraScripts) => { + let legacyScripts = []; + + legacyFiles.forEach((file) => { + let relFilePath = path.relative(outPathBase, file); + legacyScripts.push(relFilePath); + }); + + legacyScripts = legacyScripts.concat(extraScripts); + + let relAppPath = path.relative(outPathBase, outAppPath); + legacyScripts.push(relAppPath); + + transformHtml(legacyScripts, onlyLegacy); + }) + .then(() => { + if (!helper.removeModules) return; + console.log(`Cleaning up temporary files...`); + return Promise.all(outFiles.map((filepath) => { + unlink(filepath) + .then(() => { + // Try to clean up any empty directories if + // this was the last file in there + const rmdirR = dir => + rmdir(dir) + .then(() => rmdirR(path.dirname(dir))) + .catch(() => { + // Assume the error was ENOTEMPTY and ignore it + }); + return rmdirR(path.dirname(filepath)); + }); + })); + }); + }) + .catch((err) => { + console.error(`Failure converting modules: ${err}`); + process.exit(1); + }); +} + +if (program.clean) { + console.log(`Removing ${paths.libDirBase}`); + fse.removeSync(paths.libDirBase); + + console.log(`Removing ${paths.outDirBase}`); + fse.removeSync(paths.outDirBase); +} + +makeLibFiles(program.as, program.withSourceMaps, program.withApp, program.onlyLegacy); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require_helpers.js b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require_helpers.js index 8ad4572..cb4412c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require_helpers.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/use_require_helpers.js @@ -1,60 +1,60 @@ -// writes helpers require for vnc.html (they should output app.js) -const fs = require('fs'); -const path = require('path'); - -// util.promisify requires Node.js 8.x, so we have our own -function promisify(original) { - return function promiseWrap() { - const args = Array.prototype.slice.call(arguments); - return new Promise((resolve, reject) => { - original.apply(this, args.concat((err, value) => { - if (err) return reject(err); - resolve(value); - })); - }); - }; -} - -const writeFile = promisify(fs.writeFile); - -module.exports = { - 'amd': { - appWriter: (baseOutPath, scriptBasePath, outPath) => { - // setup for requirejs - const uiPath = path.relative(baseOutPath, - path.join(scriptBasePath, 'app', 'ui')); - return writeFile(outPath, `requirejs(["${uiPath}"], function (ui) {});`) - .then(() => { - console.log(`Please place RequireJS in ${path.join(scriptBasePath, 'require.js')}`); - const requirePath = path.relative(baseOutPath, - path.join(scriptBasePath, 'require.js')); - return [ requirePath ]; - }); - }, - }, - 'commonjs': { - appWriter: (baseOutPath, scriptBasePath, outPath) => { - const browserify = require('browserify'); - const b = browserify(path.join(scriptBasePath, 'app/ui.js'), {}); - return promisify(b.bundle).call(b) - .then(buf => writeFile(outPath, buf)) - .then(() => []); - }, - removeModules: true, - }, - 'systemjs': { - appWriter: (baseOutPath, scriptBasePath, outPath) => { - const uiPath = path.relative(baseOutPath, - path.join(scriptBasePath, 'app', 'ui.js')); - return writeFile(outPath, `SystemJS.import("${uiPath}");`) - .then(() => { - console.log(`Please place SystemJS in ${path.join(scriptBasePath, 'system-production.js')}`); - const systemjsPath = path.relative(baseOutPath, - path.join(scriptBasePath, 'system-production.js')); - return [ systemjsPath ]; - }); - }, - }, - 'umd': { - }, -}; +// writes helpers require for vnc.html (they should output app.js) +const fs = require('fs'); +const path = require('path'); + +// util.promisify requires Node.js 8.x, so we have our own +function promisify(original) { + return function promiseWrap() { + const args = Array.prototype.slice.call(arguments); + return new Promise((resolve, reject) => { + original.apply(this, args.concat((err, value) => { + if (err) return reject(err); + resolve(value); + })); + }); + }; +} + +const writeFile = promisify(fs.writeFile); + +module.exports = { + 'amd': { + appWriter: (baseOutPath, scriptBasePath, outPath) => { + // setup for requirejs + const uiPath = path.relative(baseOutPath, + path.join(scriptBasePath, 'app', 'ui')); + return writeFile(outPath, `requirejs(["${uiPath}"], function (ui) {});`) + .then(() => { + console.log(`Please place RequireJS in ${path.join(scriptBasePath, 'require.js')}`); + const requirePath = path.relative(baseOutPath, + path.join(scriptBasePath, 'require.js')); + return [ requirePath ]; + }); + }, + }, + 'commonjs': { + appWriter: (baseOutPath, scriptBasePath, outPath) => { + const browserify = require('browserify'); + const b = browserify(path.join(scriptBasePath, 'app/ui.js'), {}); + return promisify(b.bundle).call(b) + .then(buf => writeFile(outPath, buf)) + .then(() => []); + }, + removeModules: true, + }, + 'systemjs': { + appWriter: (baseOutPath, scriptBasePath, outPath) => { + const uiPath = path.relative(baseOutPath, + path.join(scriptBasePath, 'app', 'ui.js')); + return writeFile(outPath, `SystemJS.import("${uiPath}");`) + .then(() => { + console.log(`Please place SystemJS in ${path.join(scriptBasePath, 'system-production.js')}`); + const systemjsPath = path.relative(baseOutPath, + path.join(scriptBasePath, 'system-production.js')); + return [ systemjsPath ]; + }); + }, + }, + 'umd': { + }, +}; diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/validate b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/validate index a6b5507..1110029 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/validate +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/validate @@ -1,45 +1,45 @@ -#!/bin/bash - -set -e - -RET=0 - -OUT=`mktemp` - -for fn in "$@"; do - echo "Validating $fn..." - echo - - case $fn in - *.html) - type="text/html" - ;; - *.css) - type="text/css" - ;; - *) - echo "Unknown format!" - echo - RET=1 - continue - ;; - esac - - curl --silent \ - --header "Content-Type: ${type}; charset=utf-8" \ - --data-binary @${fn} \ - https://validator.w3.org/nu/?out=text > $OUT - cat $OUT - echo - - # We don't fail the check for warnings as some warnings are - # not relevant for us, and we don't currently have a way to - # ignore just those - if grep -q -s -E "^Error:" $OUT; then - RET=1 - fi -done - -rm $OUT - -exit $RET +#!/bin/bash + +set -e + +RET=0 + +OUT=`mktemp` + +for fn in "$@"; do + echo "Validating $fn..." + echo + + case $fn in + *.html) + type="text/html" + ;; + *.css) + type="text/css" + ;; + *) + echo "Unknown format!" + echo + RET=1 + continue + ;; + esac + + curl --silent \ + --header "Content-Type: ${type}; charset=utf-8" \ + --data-binary @${fn} \ + https://validator.w3.org/nu/?out=text > $OUT + cat $OUT + echo + + # We don't fail the check for warnings as some warnings are + # not relevant for us, and we don't currently have a way to + # ignore just those + if grep -q -s -E "^Error:" $OUT; then + RET=1 + fi +done + +rm $OUT + +exit $RET diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/web.py b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/web.py index 23afca0..ce6d1ff 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/web.py +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/web.py @@ -1,55 +1,55 @@ -#!/usr/bin/env python -''' -A super simple HTTP/HTTPS webserver for python. Automatically detect - -You can make a cert/key with openssl using: -openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem -as taken from http://docs.python.org/dev/library/ssl.html#certificates - -''' - -import traceback, sys -import socket -import ssl -#import http.server as server # python 3.X -import SimpleHTTPServer as server # python 2.X - -def do_request(connstream, from_addr): - x = object() - server.SimpleHTTPRequestHandler(connstream, from_addr, x) - connstream.close() - -def serve(): - bindsocket = socket.socket() - bindsocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - #bindsocket.bind(('localhost', PORT)) - bindsocket.bind(('', PORT)) - bindsocket.listen(5) - - print("serving on port", PORT) - - while True: - try: - newsocket, from_addr = bindsocket.accept() - peek = newsocket.recv(1024, socket.MSG_PEEK) - if peek.startswith("\x16"): - connstream = ssl.wrap_socket( - newsocket, - server_side=True, - certfile='self.pem', - ssl_version=ssl.PROTOCOL_TLSv1) - else: - connstream = newsocket - - do_request(connstream, from_addr) - - except Exception: - traceback.print_exc() - -try: - PORT = int(sys.argv[1]) -except: - print "%s port" % sys.argv[0] - sys.exit(2) - -serve() +#!/usr/bin/env python +''' +A super simple HTTP/HTTPS webserver for python. Automatically detect + +You can make a cert/key with openssl using: +openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem +as taken from http://docs.python.org/dev/library/ssl.html#certificates + +''' + +import traceback, sys +import socket +import ssl +#import http.server as server # python 3.X +import SimpleHTTPServer as server # python 2.X + +def do_request(connstream, from_addr): + x = object() + server.SimpleHTTPRequestHandler(connstream, from_addr, x) + connstream.close() + +def serve(): + bindsocket = socket.socket() + bindsocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + #bindsocket.bind(('localhost', PORT)) + bindsocket.bind(('', PORT)) + bindsocket.listen(5) + + print("serving on port", PORT) + + while True: + try: + newsocket, from_addr = bindsocket.accept() + peek = newsocket.recv(1024, socket.MSG_PEEK) + if peek.startswith("\x16"): + connstream = ssl.wrap_socket( + newsocket, + server_side=True, + certfile='self.pem', + ssl_version=ssl.PROTOCOL_TLSv1) + else: + connstream = newsocket + + do_request(connstream, from_addr) + + except Exception: + traceback.print_exc() + +try: + PORT = int(sys.argv[1]) +except: + print "%s port" % sys.argv[0] + sys.exit(2) + +serve() diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websocket.py b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websocket.py index 67f5aef..9f8fd8c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websocket.py +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websocket.py @@ -1,1030 +1,1030 @@ -#!/usr/bin/env python - -''' -Python WebSocket library with support for "wss://" encryption. -Copyright 2011 Joel Martin -Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3) - -Supports following protocol versions: - - http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07 - - http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10 - - http://tools.ietf.org/html/rfc6455 - -You can make a cert/key with openssl using: -openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem -as taken from http://docs.python.org/dev/library/ssl.html#certificates - -''' - -import os, sys, time, errno, signal, socket, select, logging -import array, struct -from base64 import b64encode, b64decode - -# Imports that vary by python version - -# python 3.0 differences -if sys.hexversion > 0x3000000: - b2s = lambda buf: buf.decode('latin_1') - s2b = lambda s: s.encode('latin_1') - s2a = lambda s: s -else: - b2s = lambda buf: buf # No-op - s2b = lambda s: s # No-op - s2a = lambda s: [ord(c) for c in s] -try: from io import StringIO -except: from cStringIO import StringIO -try: from http.server import SimpleHTTPRequestHandler -except: from SimpleHTTPServer import SimpleHTTPRequestHandler - -# python 2.6 differences -try: from hashlib import sha1 -except: from sha import sha as sha1 - -# python 2.5 differences -try: - from struct import pack, unpack_from -except: - from struct import pack - def unpack_from(fmt, buf, offset=0): - slice = buffer(buf, offset, struct.calcsize(fmt)) - return struct.unpack(fmt, slice) - -# Degraded functionality if these imports are missing -for mod, msg in [('numpy', 'HyBi protocol will be slower'), - ('ssl', 'TLS/SSL/wss is disabled'), - ('multiprocessing', 'Multi-Processing is disabled'), - ('resource', 'daemonizing is disabled')]: - try: - globals()[mod] = __import__(mod) - except ImportError: - globals()[mod] = None - print("WARNING: no '%s' module, %s" % (mod, msg)) - -if multiprocessing and sys.platform == 'win32': - # make sockets pickle-able/inheritable - import multiprocessing.reduction - - -# HTTP handler with WebSocket upgrade support -class WebSocketRequestHandler(SimpleHTTPRequestHandler): - """ - WebSocket Request Handler Class, derived from SimpleHTTPRequestHandler. - Must be sub-classed with new_websocket_client method definition. - The request handler can be configured by setting optional - attributes on the server object: - - * only_upgrade: If true, SimpleHTTPRequestHandler will not be enabled, - only websocket is allowed. - * verbose: If true, verbose logging is activated. - * daemon: Running as daemon, do not write to console etc - * record: Record raw frame data as JavaScript array into specified filename - * run_once: Handle a single request - * handler_id: A sequence number for this connection, appended to record filename - """ - buffer_size = 65536 - - GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" - - server_version = "WebSockify" - - protocol_version = "HTTP/1.1" - - # An exception while the WebSocket client was connected - class CClose(Exception): - pass - - def __init__(self, req, addr, server): - # Retrieve a few configuration variables from the server - self.only_upgrade = getattr(server, "only_upgrade", False) - self.verbose = getattr(server, "verbose", False) - self.daemon = getattr(server, "daemon", False) - self.record = getattr(server, "record", False) - self.run_once = getattr(server, "run_once", False) - self.rec = None - self.handler_id = getattr(server, "handler_id", False) - self.file_only = getattr(server, "file_only", False) - self.traffic = getattr(server, "traffic", False) - - self.logger = getattr(server, "logger", None) - if self.logger is None: - self.logger = WebSocketServer.get_logger() - - SimpleHTTPRequestHandler.__init__(self, req, addr, server) - - @staticmethod - def unmask(buf, hlen, plen): - pstart = hlen + 4 - pend = pstart + plen - if numpy: - b = c = s2b('') - if plen >= 4: - mask = numpy.frombuffer(buf, dtype=numpy.dtype('BB', b1, payload_len) - elif payload_len > 125 and payload_len < 65536: - header = pack('>BBH', b1, 126, payload_len) - elif payload_len >= 65536: - header = pack('>BBQ', b1, 127, payload_len) - - #self.msg("Encoded: %s", repr(header + buf)) - - return header + buf, len(header), 0 - - @staticmethod - def decode_hybi(buf, base64=False, logger=None): - """ Decode HyBi style WebSocket packets. - Returns: - {'fin' : 0_or_1, - 'opcode' : number, - 'masked' : boolean, - 'hlen' : header_bytes_number, - 'length' : payload_bytes_number, - 'payload' : decoded_buffer, - 'left' : bytes_left_number, - 'close_code' : number, - 'close_reason' : string} - """ - - f = {'fin' : 0, - 'opcode' : 0, - 'masked' : False, - 'hlen' : 2, - 'length' : 0, - 'payload' : None, - 'left' : 0, - 'close_code' : 1000, - 'close_reason' : ''} - - if logger is None: - logger = WebSocketServer.get_logger() - - blen = len(buf) - f['left'] = blen - - if blen < f['hlen']: - return f # Incomplete frame header - - b1, b2 = unpack_from(">BB", buf) - f['opcode'] = b1 & 0x0f - f['fin'] = (b1 & 0x80) >> 7 - f['masked'] = (b2 & 0x80) >> 7 - - f['length'] = b2 & 0x7f - - if f['length'] == 126: - f['hlen'] = 4 - if blen < f['hlen']: - return f # Incomplete frame header - (f['length'],) = unpack_from('>xxH', buf) - elif f['length'] == 127: - f['hlen'] = 10 - if blen < f['hlen']: - return f # Incomplete frame header - (f['length'],) = unpack_from('>xxQ', buf) - - full_len = f['hlen'] + f['masked'] * 4 + f['length'] - - if blen < full_len: # Incomplete frame - return f # Incomplete frame header - - # Number of bytes that are part of the next frame(s) - f['left'] = blen - full_len - - # Process 1 frame - if f['masked']: - # unmask payload - f['payload'] = WebSocketRequestHandler.unmask(buf, f['hlen'], - f['length']) - else: - logger.debug("Unmasked frame: %s" % repr(buf)) - f['payload'] = buf[(f['hlen'] + f['masked'] * 4):full_len] - - if base64 and f['opcode'] in [1, 2]: - try: - f['payload'] = b64decode(f['payload']) - except: - logger.exception("Exception while b64decoding buffer: %s" % - (repr(buf))) - raise - - if f['opcode'] == 0x08: - if f['length'] >= 2: - f['close_code'] = unpack_from(">H", f['payload'])[0] - if f['length'] > 3: - f['close_reason'] = f['payload'][2:] - - return f - - - # - # WebSocketRequestHandler logging/output functions - # - - def print_traffic(self, token="."): - """ Show traffic flow mode. """ - if self.traffic: - sys.stdout.write(token) - sys.stdout.flush() - - def msg(self, msg, *args, **kwargs): - """ Output message with handler_id prefix. """ - prefix = "% 3d: " % self.handler_id - self.logger.log(logging.INFO, "%s%s" % (prefix, msg), *args, **kwargs) - - def vmsg(self, msg, *args, **kwargs): - """ Same as msg() but as debug. """ - prefix = "% 3d: " % self.handler_id - self.logger.log(logging.DEBUG, "%s%s" % (prefix, msg), *args, **kwargs) - - def warn(self, msg, *args, **kwargs): - """ Same as msg() but as warning. """ - prefix = "% 3d: " % self.handler_id - self.logger.log(logging.WARN, "%s%s" % (prefix, msg), *args, **kwargs) - - # - # Main WebSocketRequestHandler methods - # - def send_frames(self, bufs=None): - """ Encode and send WebSocket frames. Any frames already - queued will be sent first. If buf is not set then only queued - frames will be sent. Returns the number of pending frames that - could not be fully sent. If returned pending frames is greater - than 0, then the caller should call again when the socket is - ready. """ - - tdelta = int(time.time()*1000) - self.start_time - - if bufs: - for buf in bufs: - if self.base64: - encbuf, lenhead, lentail = self.encode_hybi(buf, opcode=1, base64=True) - else: - encbuf, lenhead, lentail = self.encode_hybi(buf, opcode=2, base64=False) - - if self.rec: - self.rec.write("%s,\n" % - repr("{%s{" % tdelta - + encbuf[lenhead:len(encbuf)-lentail])) - - self.send_parts.append(encbuf) - - while self.send_parts: - # Send pending frames - buf = self.send_parts.pop(0) - sent = self.request.send(buf) - - if sent == len(buf): - self.print_traffic("<") - else: - self.print_traffic("<.") - self.send_parts.insert(0, buf[sent:]) - break - - return len(self.send_parts) - - def recv_frames(self): - """ Receive and decode WebSocket frames. - - Returns: - (bufs_list, closed_string) - """ - - closed = False - bufs = [] - tdelta = int(time.time()*1000) - self.start_time - - buf = self.request.recv(self.buffer_size) - if len(buf) == 0: - closed = {'code': 1000, 'reason': "Client closed abruptly"} - return bufs, closed - - if self.recv_part: - # Add partially received frames to current read buffer - buf = self.recv_part + buf - self.recv_part = None - - while buf: - frame = self.decode_hybi(buf, base64=self.base64, - logger=self.logger) - #self.msg("Received buf: %s, frame: %s", repr(buf), frame) - - if frame['payload'] == None: - # Incomplete/partial frame - self.print_traffic("}.") - if frame['left'] > 0: - self.recv_part = buf[-frame['left']:] - break - else: - if frame['opcode'] == 0x8: # connection close - closed = {'code': frame['close_code'], - 'reason': frame['close_reason']} - break - - self.print_traffic("}") - - if self.rec: - start = frame['hlen'] - end = frame['hlen'] + frame['length'] - if frame['masked']: - recbuf = WebSocketRequestHandler.unmask(buf, frame['hlen'], - frame['length']) - else: - recbuf = buf[frame['hlen']:frame['hlen'] + - frame['length']] - self.rec.write("%s,\n" % - repr("}%s}" % tdelta + recbuf)) - - - bufs.append(frame['payload']) - - if frame['left']: - buf = buf[-frame['left']:] - else: - buf = '' - - return bufs, closed - - def send_close(self, code=1000, reason=''): - """ Send a WebSocket orderly close frame. """ - - msg = pack(">H%ds" % len(reason), code, reason) - buf, h, t = self.encode_hybi(msg, opcode=0x08, base64=False) - self.request.send(buf) - - def do_websocket_handshake(self): - h = self.headers - - prot = 'WebSocket-Protocol' - protocols = h.get('Sec-'+prot, h.get(prot, '')).split(',') - - ver = h.get('Sec-WebSocket-Version') - if ver: - # HyBi/IETF version of the protocol - - # HyBi-07 report version 7 - # HyBi-08 - HyBi-12 report version 8 - # HyBi-13 reports version 13 - if ver in ['7', '8', '13']: - self.version = "hybi-%02d" % int(ver) - else: - self.send_error(400, "Unsupported protocol version %s" % ver) - return False - - key = h['Sec-WebSocket-Key'] - - # Choose binary if client supports it - if 'binary' in protocols: - self.base64 = False - elif 'base64' in protocols: - self.base64 = True - else: - self.send_error(400, "Client must support 'binary' or 'base64' protocol") - return False - - # Generate the hash value for the accept header - accept = b64encode(sha1(s2b(key + self.GUID)).digest()) - - self.send_response(101, "Switching Protocols") - self.send_header("Upgrade", "websocket") - self.send_header("Connection", "Upgrade") - self.send_header("Sec-WebSocket-Accept", b2s(accept)) - if self.base64: - self.send_header("Sec-WebSocket-Protocol", "base64") - else: - self.send_header("Sec-WebSocket-Protocol", "binary") - self.end_headers() - return True - else: - self.send_error(400, "Missing Sec-WebSocket-Version header. Hixie protocols not supported.") - - return False - - def handle_websocket(self): - """Upgrade a connection to Websocket, if requested. If this succeeds, - new_websocket_client() will be called. Otherwise, False is returned. - """ - if (self.headers.get('upgrade') and - self.headers.get('upgrade').lower() == 'websocket'): - - if not self.do_websocket_handshake(): - return False - - # Indicate to server that a Websocket upgrade was done - self.server.ws_connection = True - # Initialize per client settings - self.send_parts = [] - self.recv_part = None - self.start_time = int(time.time()*1000) - - # client_address is empty with, say, UNIX domain sockets - client_addr = "" - is_ssl = False - try: - client_addr = self.client_address[0] - is_ssl = self.client_address[2] - except IndexError: - pass - - if is_ssl: - self.stype = "SSL/TLS (wss://)" - else: - self.stype = "Plain non-SSL (ws://)" - - self.log_message("%s: %s WebSocket connection", client_addr, - self.stype) - self.log_message("%s: Version %s, base64: '%s'", client_addr, - self.version, self.base64) - if self.path != '/': - self.log_message("%s: Path: '%s'", client_addr, self.path) - - if self.record: - # Record raw frame data as JavaScript array - fname = "%s.%s" % (self.record, - self.handler_id) - self.log_message("opening record file: %s", fname) - self.rec = open(fname, 'w+') - encoding = "binary" - if self.base64: encoding = "base64" - self.rec.write("var VNC_frame_encoding = '%s';\n" - % encoding) - self.rec.write("var VNC_frame_data = [\n") - - try: - self.new_websocket_client() - except self.CClose: - # Close the client - _, exc, _ = sys.exc_info() - self.send_close(exc.args[0], exc.args[1]) - return True - else: - return False - - def do_GET(self): - """Handle GET request. Calls handle_websocket(). If unsuccessful, - and web server is enabled, SimpleHTTPRequestHandler.do_GET will be called.""" - if not self.handle_websocket(): - if self.only_upgrade: - self.send_error(405, "Method Not Allowed") - else: - SimpleHTTPRequestHandler.do_GET(self) - - def list_directory(self, path): - if self.file_only: - self.send_error(404, "No such file") - else: - return SimpleHTTPRequestHandler.list_directory(self, path) - - def new_websocket_client(self): - """ Do something with a WebSockets client connection. """ - raise Exception("WebSocketRequestHandler.new_websocket_client() must be overloaded") - - def do_HEAD(self): - if self.only_upgrade: - self.send_error(405, "Method Not Allowed") - else: - SimpleHTTPRequestHandler.do_HEAD(self) - - def finish(self): - if self.rec: - self.rec.write("'EOF'];\n") - self.rec.close() - - def handle(self): - # When using run_once, we have a single process, so - # we cannot loop in BaseHTTPRequestHandler.handle; we - # must return and handle new connections - if self.run_once: - self.handle_one_request() - else: - SimpleHTTPRequestHandler.handle(self) - - def log_request(self, code='-', size='-'): - if self.verbose: - SimpleHTTPRequestHandler.log_request(self, code, size) - - -class WebSocketServer(object): - """ - WebSockets server class. - As an alternative, the standard library SocketServer can be used - """ - - policy_response = """\n""" - log_prefix = "websocket" - - # An exception before the WebSocket connection was established - class EClose(Exception): - pass - - class Terminate(Exception): - pass - - def __init__(self, RequestHandlerClass, listen_host='', - listen_port=None, source_is_ipv6=False, - verbose=False, cert='', key='', ssl_only=None, - daemon=False, record='', web='', - file_only=False, - run_once=False, timeout=0, idle_timeout=0, traffic=False, - tcp_keepalive=True, tcp_keepcnt=None, tcp_keepidle=None, - tcp_keepintvl=None): - - # settings - self.RequestHandlerClass = RequestHandlerClass - self.verbose = verbose - self.listen_host = listen_host - self.listen_port = listen_port - self.prefer_ipv6 = source_is_ipv6 - self.ssl_only = ssl_only - self.daemon = daemon - self.run_once = run_once - self.timeout = timeout - self.idle_timeout = idle_timeout - self.traffic = traffic - - self.launch_time = time.time() - self.ws_connection = False - self.handler_id = 1 - - self.logger = self.get_logger() - self.tcp_keepalive = tcp_keepalive - self.tcp_keepcnt = tcp_keepcnt - self.tcp_keepidle = tcp_keepidle - self.tcp_keepintvl = tcp_keepintvl - - # Make paths settings absolute - self.cert = os.path.abspath(cert) - self.key = self.web = self.record = '' - if key: - self.key = os.path.abspath(key) - if web: - self.web = os.path.abspath(web) - if record: - self.record = os.path.abspath(record) - - if self.web: - os.chdir(self.web) - self.only_upgrade = not self.web - - # Sanity checks - if not ssl and self.ssl_only: - raise Exception("No 'ssl' module and SSL-only specified") - if self.daemon and not resource: - raise Exception("Module 'resource' required to daemonize") - - # Show configuration - self.msg("WebSocket server settings:") - self.msg(" - Listen on %s:%s", - self.listen_host, self.listen_port) - self.msg(" - Flash security policy server") - if self.web: - self.msg(" - Web server. Web root: %s", self.web) - if ssl: - if os.path.exists(self.cert): - self.msg(" - SSL/TLS support") - if self.ssl_only: - self.msg(" - Deny non-SSL/TLS connections") - else: - self.msg(" - No SSL/TLS support (no cert file)") - else: - self.msg(" - No SSL/TLS support (no 'ssl' module)") - if self.daemon: - self.msg(" - Backgrounding (daemon)") - if self.record: - self.msg(" - Recording to '%s.*'", self.record) - - # - # WebSocketServer static methods - # - - @staticmethod - def get_logger(): - return logging.getLogger("%s.%s" % ( - WebSocketServer.log_prefix, - WebSocketServer.__class__.__name__)) - - @staticmethod - def socket(host, port=None, connect=False, prefer_ipv6=False, - unix_socket=None, use_ssl=False, tcp_keepalive=True, - tcp_keepcnt=None, tcp_keepidle=None, tcp_keepintvl=None): - """ Resolve a host (and optional port) to an IPv4 or IPv6 - address. Create a socket. Bind to it if listen is set, - otherwise connect to it. Return the socket. - """ - flags = 0 - if host == '': - host = None - if connect and not (port or unix_socket): - raise Exception("Connect mode requires a port") - if use_ssl and not ssl: - raise Exception("SSL socket requested but Python SSL module not loaded."); - if not connect and use_ssl: - raise Exception("SSL only supported in connect mode (for now)") - if not connect: - flags = flags | socket.AI_PASSIVE - - if not unix_socket: - addrs = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM, - socket.IPPROTO_TCP, flags) - if not addrs: - raise Exception("Could not resolve host '%s'" % host) - addrs.sort(key=lambda x: x[0]) - if prefer_ipv6: - addrs.reverse() - sock = socket.socket(addrs[0][0], addrs[0][1]) - - if tcp_keepalive: - sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) - if tcp_keepcnt: - sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, - tcp_keepcnt) - if tcp_keepidle: - sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, - tcp_keepidle) - if tcp_keepintvl: - sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, - tcp_keepintvl) - - if connect: - sock.connect(addrs[0][4]) - if use_ssl: - sock = ssl.wrap_socket(sock) - else: - sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - sock.bind(addrs[0][4]) - sock.listen(100) - else: - sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) - sock.connect(unix_socket) - - return sock - - @staticmethod - def daemonize(keepfd=None, chdir='/'): - os.umask(0) - if chdir: - os.chdir(chdir) - else: - os.chdir('/') - os.setgid(os.getgid()) # relinquish elevations - os.setuid(os.getuid()) # relinquish elevations - - # Double fork to daemonize - if os.fork() > 0: os._exit(0) # Parent exits - os.setsid() # Obtain new process group - if os.fork() > 0: os._exit(0) # Parent exits - - # Signal handling - signal.signal(signal.SIGTERM, signal.SIG_IGN) - signal.signal(signal.SIGINT, signal.SIG_IGN) - - # Close open files - maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1] - if maxfd == resource.RLIM_INFINITY: maxfd = 256 - for fd in reversed(range(maxfd)): - try: - if fd != keepfd: - os.close(fd) - except OSError: - _, exc, _ = sys.exc_info() - if exc.errno != errno.EBADF: raise - - # Redirect I/O to /dev/null - os.dup2(os.open(os.devnull, os.O_RDWR), sys.stdin.fileno()) - os.dup2(os.open(os.devnull, os.O_RDWR), sys.stdout.fileno()) - os.dup2(os.open(os.devnull, os.O_RDWR), sys.stderr.fileno()) - - def do_handshake(self, sock, address): - """ - do_handshake does the following: - - Peek at the first few bytes from the socket. - - If the connection is Flash policy request then answer it, - close the socket and return. - - If the connection is an HTTPS/SSL/TLS connection then SSL - wrap the socket. - - Read from the (possibly wrapped) socket. - - If we have received a HTTP GET request and the webserver - functionality is enabled, answer it, close the socket and - return. - - Assume we have a WebSockets connection, parse the client - handshake data. - - Send a WebSockets handshake server response. - - Return the socket for this WebSocket client. - """ - ready = select.select([sock], [], [], 3)[0] - - - if not ready: - raise self.EClose("ignoring socket not ready") - # Peek, but do not read the data so that we have a opportunity - # to SSL wrap the socket first - handshake = sock.recv(1024, socket.MSG_PEEK) - #self.msg("Handshake [%s]" % handshake) - - if handshake == "": - raise self.EClose("ignoring empty handshake") - - elif handshake.startswith(s2b("")): - # Answer Flash policy request - handshake = sock.recv(1024) - sock.send(s2b(self.policy_response)) - raise self.EClose("Sending flash policy response") - - elif handshake[0] in ("\x16", "\x80", 22, 128): - # SSL wrap the connection - if not ssl: - raise self.EClose("SSL connection but no 'ssl' module") - if not os.path.exists(self.cert): - raise self.EClose("SSL connection but '%s' not found" - % self.cert) - retsock = None - try: - retsock = ssl.wrap_socket( - sock, - server_side=True, - certfile=self.cert, - keyfile=self.key) - except ssl.SSLError: - _, x, _ = sys.exc_info() - if x.args[0] == ssl.SSL_ERROR_EOF: - if len(x.args) > 1: - raise self.EClose(x.args[1]) - else: - raise self.EClose("Got SSL_ERROR_EOF") - else: - raise - - elif self.ssl_only: - raise self.EClose("non-SSL connection received but disallowed") - - else: - retsock = sock - - # If the address is like (host, port), we are extending it - # with a flag indicating SSL. Not many other options - # available... - if len(address) == 2: - address = (address[0], address[1], (retsock != sock)) - - self.RequestHandlerClass(retsock, address, self) - - # Return the WebSockets socket which may be SSL wrapped - return retsock - - # - # WebSocketServer logging/output functions - # - - def msg(self, *args, **kwargs): - """ Output message as info """ - self.logger.log(logging.INFO, *args, **kwargs) - - def vmsg(self, *args, **kwargs): - """ Same as msg() but as debug. """ - self.logger.log(logging.DEBUG, *args, **kwargs) - - def warn(self, *args, **kwargs): - """ Same as msg() but as warning. """ - self.logger.log(logging.WARN, *args, **kwargs) - - - # - # Events that can/should be overridden in sub-classes - # - def started(self): - """ Called after WebSockets startup """ - self.vmsg("WebSockets server started") - - def poll(self): - """ Run periodically while waiting for connections. """ - #self.vmsg("Running poll()") - pass - - def terminate(self): - raise self.Terminate() - - def multiprocessing_SIGCHLD(self, sig, stack): - self.vmsg('Reaing zombies, active child count is %s', len(multiprocessing.active_children())) - - def fallback_SIGCHLD(self, sig, stack): - # Reap zombies when using os.fork() (python 2.4) - self.vmsg("Got SIGCHLD, reaping zombies") - try: - result = os.waitpid(-1, os.WNOHANG) - while result[0]: - self.vmsg("Reaped child process %s" % result[0]) - result = os.waitpid(-1, os.WNOHANG) - except (OSError): - pass - - def do_SIGINT(self, sig, stack): - self.msg("Got SIGINT, exiting") - self.terminate() - - def do_SIGTERM(self, sig, stack): - self.msg("Got SIGTERM, exiting") - self.terminate() - - def top_new_client(self, startsock, address): - """ Do something with a WebSockets client connection. """ - # handler process - client = None - try: - try: - client = self.do_handshake(startsock, address) - except self.EClose: - _, exc, _ = sys.exc_info() - # Connection was not a WebSockets connection - if exc.args[0]: - self.msg("%s: %s" % (address[0], exc.args[0])) - except WebSocketServer.Terminate: - raise - except Exception: - _, exc, _ = sys.exc_info() - self.msg("handler exception: %s" % str(exc)) - self.vmsg("exception", exc_info=True) - finally: - - if client and client != startsock: - # Close the SSL wrapped socket - # Original socket closed by caller - client.close() - - def start_server(self): - """ - Daemonize if requested. Listen for for connections. Run - do_handshake() method for each connection. If the connection - is a WebSockets client then call new_websocket_client() method (which must - be overridden) for each new client connection. - """ - lsock = self.socket(self.listen_host, self.listen_port, False, - self.prefer_ipv6, - tcp_keepalive=self.tcp_keepalive, - tcp_keepcnt=self.tcp_keepcnt, - tcp_keepidle=self.tcp_keepidle, - tcp_keepintvl=self.tcp_keepintvl) - - if self.daemon: - self.daemonize(keepfd=lsock.fileno(), chdir=self.web) - - self.started() # Some things need to happen after daemonizing - - # Allow override of signals - original_signals = { - signal.SIGINT: signal.getsignal(signal.SIGINT), - signal.SIGTERM: signal.getsignal(signal.SIGTERM), - signal.SIGCHLD: signal.getsignal(signal.SIGCHLD), - } - signal.signal(signal.SIGINT, self.do_SIGINT) - signal.signal(signal.SIGTERM, self.do_SIGTERM) - if not multiprocessing: - # os.fork() (python 2.4) child reaper - signal.signal(signal.SIGCHLD, self.fallback_SIGCHLD) - else: - # make sure that _cleanup is called when children die - # by calling active_children on SIGCHLD - signal.signal(signal.SIGCHLD, self.multiprocessing_SIGCHLD) - - last_active_time = self.launch_time - try: - while True: - try: - try: - startsock = None - pid = err = 0 - child_count = 0 - - if multiprocessing: - # Collect zombie child processes - child_count = len(multiprocessing.active_children()) - - time_elapsed = time.time() - self.launch_time - if self.timeout and time_elapsed > self.timeout: - self.msg('listener exit due to --timeout %s' - % self.timeout) - break - - if self.idle_timeout: - idle_time = 0 - if child_count == 0: - idle_time = time.time() - last_active_time - else: - idle_time = 0 - last_active_time = time.time() - - if idle_time > self.idle_timeout and child_count == 0: - self.msg('listener exit due to --idle-timeout %s' - % self.idle_timeout) - break - - try: - self.poll() - - ready = select.select([lsock], [], [], 1)[0] - if lsock in ready: - startsock, address = lsock.accept() - else: - continue - except self.Terminate: - raise - except Exception: - _, exc, _ = sys.exc_info() - if hasattr(exc, 'errno'): - err = exc.errno - elif hasattr(exc, 'args'): - err = exc.args[0] - else: - err = exc[0] - if err == errno.EINTR: - self.vmsg("Ignoring interrupted syscall") - continue - else: - raise - - if self.run_once: - # Run in same process if run_once - self.top_new_client(startsock, address) - if self.ws_connection : - self.msg('%s: exiting due to --run-once' - % address[0]) - break - elif multiprocessing: - self.vmsg('%s: new handler Process' % address[0]) - p = multiprocessing.Process( - target=self.top_new_client, - args=(startsock, address)) - p.start() - # child will not return - else: - # python 2.4 - self.vmsg('%s: forking handler' % address[0]) - pid = os.fork() - if pid == 0: - # child handler process - self.top_new_client(startsock, address) - break # child process exits - - # parent process - self.handler_id += 1 - - except (self.Terminate, SystemExit, KeyboardInterrupt): - self.msg("In exit") - break - except Exception: - self.msg("handler exception: %s", str(exc)) - self.vmsg("exception", exc_info=True) - - finally: - if startsock: - startsock.close() - finally: - # Close listen port - self.vmsg("Closing socket listening at %s:%s", - self.listen_host, self.listen_port) - lsock.close() - - # Restore signals - for sig, func in original_signals.items(): - signal.signal(sig, func) - - +#!/usr/bin/env python + +''' +Python WebSocket library with support for "wss://" encryption. +Copyright 2011 Joel Martin +Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3) + +Supports following protocol versions: + - http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-07 + - http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10 + - http://tools.ietf.org/html/rfc6455 + +You can make a cert/key with openssl using: +openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem +as taken from http://docs.python.org/dev/library/ssl.html#certificates + +''' + +import os, sys, time, errno, signal, socket, select, logging +import array, struct +from base64 import b64encode, b64decode + +# Imports that vary by python version + +# python 3.0 differences +if sys.hexversion > 0x3000000: + b2s = lambda buf: buf.decode('latin_1') + s2b = lambda s: s.encode('latin_1') + s2a = lambda s: s +else: + b2s = lambda buf: buf # No-op + s2b = lambda s: s # No-op + s2a = lambda s: [ord(c) for c in s] +try: from io import StringIO +except: from cStringIO import StringIO +try: from http.server import SimpleHTTPRequestHandler +except: from SimpleHTTPServer import SimpleHTTPRequestHandler + +# python 2.6 differences +try: from hashlib import sha1 +except: from sha import sha as sha1 + +# python 2.5 differences +try: + from struct import pack, unpack_from +except: + from struct import pack + def unpack_from(fmt, buf, offset=0): + slice = buffer(buf, offset, struct.calcsize(fmt)) + return struct.unpack(fmt, slice) + +# Degraded functionality if these imports are missing +for mod, msg in [('numpy', 'HyBi protocol will be slower'), + ('ssl', 'TLS/SSL/wss is disabled'), + ('multiprocessing', 'Multi-Processing is disabled'), + ('resource', 'daemonizing is disabled')]: + try: + globals()[mod] = __import__(mod) + except ImportError: + globals()[mod] = None + print("WARNING: no '%s' module, %s" % (mod, msg)) + +if multiprocessing and sys.platform == 'win32': + # make sockets pickle-able/inheritable + import multiprocessing.reduction + + +# HTTP handler with WebSocket upgrade support +class WebSocketRequestHandler(SimpleHTTPRequestHandler): + """ + WebSocket Request Handler Class, derived from SimpleHTTPRequestHandler. + Must be sub-classed with new_websocket_client method definition. + The request handler can be configured by setting optional + attributes on the server object: + + * only_upgrade: If true, SimpleHTTPRequestHandler will not be enabled, + only websocket is allowed. + * verbose: If true, verbose logging is activated. + * daemon: Running as daemon, do not write to console etc + * record: Record raw frame data as JavaScript array into specified filename + * run_once: Handle a single request + * handler_id: A sequence number for this connection, appended to record filename + """ + buffer_size = 65536 + + GUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + + server_version = "WebSockify" + + protocol_version = "HTTP/1.1" + + # An exception while the WebSocket client was connected + class CClose(Exception): + pass + + def __init__(self, req, addr, server): + # Retrieve a few configuration variables from the server + self.only_upgrade = getattr(server, "only_upgrade", False) + self.verbose = getattr(server, "verbose", False) + self.daemon = getattr(server, "daemon", False) + self.record = getattr(server, "record", False) + self.run_once = getattr(server, "run_once", False) + self.rec = None + self.handler_id = getattr(server, "handler_id", False) + self.file_only = getattr(server, "file_only", False) + self.traffic = getattr(server, "traffic", False) + + self.logger = getattr(server, "logger", None) + if self.logger is None: + self.logger = WebSocketServer.get_logger() + + SimpleHTTPRequestHandler.__init__(self, req, addr, server) + + @staticmethod + def unmask(buf, hlen, plen): + pstart = hlen + 4 + pend = pstart + plen + if numpy: + b = c = s2b('') + if plen >= 4: + mask = numpy.frombuffer(buf, dtype=numpy.dtype('BB', b1, payload_len) + elif payload_len > 125 and payload_len < 65536: + header = pack('>BBH', b1, 126, payload_len) + elif payload_len >= 65536: + header = pack('>BBQ', b1, 127, payload_len) + + #self.msg("Encoded: %s", repr(header + buf)) + + return header + buf, len(header), 0 + + @staticmethod + def decode_hybi(buf, base64=False, logger=None): + """ Decode HyBi style WebSocket packets. + Returns: + {'fin' : 0_or_1, + 'opcode' : number, + 'masked' : boolean, + 'hlen' : header_bytes_number, + 'length' : payload_bytes_number, + 'payload' : decoded_buffer, + 'left' : bytes_left_number, + 'close_code' : number, + 'close_reason' : string} + """ + + f = {'fin' : 0, + 'opcode' : 0, + 'masked' : False, + 'hlen' : 2, + 'length' : 0, + 'payload' : None, + 'left' : 0, + 'close_code' : 1000, + 'close_reason' : ''} + + if logger is None: + logger = WebSocketServer.get_logger() + + blen = len(buf) + f['left'] = blen + + if blen < f['hlen']: + return f # Incomplete frame header + + b1, b2 = unpack_from(">BB", buf) + f['opcode'] = b1 & 0x0f + f['fin'] = (b1 & 0x80) >> 7 + f['masked'] = (b2 & 0x80) >> 7 + + f['length'] = b2 & 0x7f + + if f['length'] == 126: + f['hlen'] = 4 + if blen < f['hlen']: + return f # Incomplete frame header + (f['length'],) = unpack_from('>xxH', buf) + elif f['length'] == 127: + f['hlen'] = 10 + if blen < f['hlen']: + return f # Incomplete frame header + (f['length'],) = unpack_from('>xxQ', buf) + + full_len = f['hlen'] + f['masked'] * 4 + f['length'] + + if blen < full_len: # Incomplete frame + return f # Incomplete frame header + + # Number of bytes that are part of the next frame(s) + f['left'] = blen - full_len + + # Process 1 frame + if f['masked']: + # unmask payload + f['payload'] = WebSocketRequestHandler.unmask(buf, f['hlen'], + f['length']) + else: + logger.debug("Unmasked frame: %s" % repr(buf)) + f['payload'] = buf[(f['hlen'] + f['masked'] * 4):full_len] + + if base64 and f['opcode'] in [1, 2]: + try: + f['payload'] = b64decode(f['payload']) + except: + logger.exception("Exception while b64decoding buffer: %s" % + (repr(buf))) + raise + + if f['opcode'] == 0x08: + if f['length'] >= 2: + f['close_code'] = unpack_from(">H", f['payload'])[0] + if f['length'] > 3: + f['close_reason'] = f['payload'][2:] + + return f + + + # + # WebSocketRequestHandler logging/output functions + # + + def print_traffic(self, token="."): + """ Show traffic flow mode. """ + if self.traffic: + sys.stdout.write(token) + sys.stdout.flush() + + def msg(self, msg, *args, **kwargs): + """ Output message with handler_id prefix. """ + prefix = "% 3d: " % self.handler_id + self.logger.log(logging.INFO, "%s%s" % (prefix, msg), *args, **kwargs) + + def vmsg(self, msg, *args, **kwargs): + """ Same as msg() but as debug. """ + prefix = "% 3d: " % self.handler_id + self.logger.log(logging.DEBUG, "%s%s" % (prefix, msg), *args, **kwargs) + + def warn(self, msg, *args, **kwargs): + """ Same as msg() but as warning. """ + prefix = "% 3d: " % self.handler_id + self.logger.log(logging.WARN, "%s%s" % (prefix, msg), *args, **kwargs) + + # + # Main WebSocketRequestHandler methods + # + def send_frames(self, bufs=None): + """ Encode and send WebSocket frames. Any frames already + queued will be sent first. If buf is not set then only queued + frames will be sent. Returns the number of pending frames that + could not be fully sent. If returned pending frames is greater + than 0, then the caller should call again when the socket is + ready. """ + + tdelta = int(time.time()*1000) - self.start_time + + if bufs: + for buf in bufs: + if self.base64: + encbuf, lenhead, lentail = self.encode_hybi(buf, opcode=1, base64=True) + else: + encbuf, lenhead, lentail = self.encode_hybi(buf, opcode=2, base64=False) + + if self.rec: + self.rec.write("%s,\n" % + repr("{%s{" % tdelta + + encbuf[lenhead:len(encbuf)-lentail])) + + self.send_parts.append(encbuf) + + while self.send_parts: + # Send pending frames + buf = self.send_parts.pop(0) + sent = self.request.send(buf) + + if sent == len(buf): + self.print_traffic("<") + else: + self.print_traffic("<.") + self.send_parts.insert(0, buf[sent:]) + break + + return len(self.send_parts) + + def recv_frames(self): + """ Receive and decode WebSocket frames. + + Returns: + (bufs_list, closed_string) + """ + + closed = False + bufs = [] + tdelta = int(time.time()*1000) - self.start_time + + buf = self.request.recv(self.buffer_size) + if len(buf) == 0: + closed = {'code': 1000, 'reason': "Client closed abruptly"} + return bufs, closed + + if self.recv_part: + # Add partially received frames to current read buffer + buf = self.recv_part + buf + self.recv_part = None + + while buf: + frame = self.decode_hybi(buf, base64=self.base64, + logger=self.logger) + #self.msg("Received buf: %s, frame: %s", repr(buf), frame) + + if frame['payload'] == None: + # Incomplete/partial frame + self.print_traffic("}.") + if frame['left'] > 0: + self.recv_part = buf[-frame['left']:] + break + else: + if frame['opcode'] == 0x8: # connection close + closed = {'code': frame['close_code'], + 'reason': frame['close_reason']} + break + + self.print_traffic("}") + + if self.rec: + start = frame['hlen'] + end = frame['hlen'] + frame['length'] + if frame['masked']: + recbuf = WebSocketRequestHandler.unmask(buf, frame['hlen'], + frame['length']) + else: + recbuf = buf[frame['hlen']:frame['hlen'] + + frame['length']] + self.rec.write("%s,\n" % + repr("}%s}" % tdelta + recbuf)) + + + bufs.append(frame['payload']) + + if frame['left']: + buf = buf[-frame['left']:] + else: + buf = '' + + return bufs, closed + + def send_close(self, code=1000, reason=''): + """ Send a WebSocket orderly close frame. """ + + msg = pack(">H%ds" % len(reason), code, reason) + buf, h, t = self.encode_hybi(msg, opcode=0x08, base64=False) + self.request.send(buf) + + def do_websocket_handshake(self): + h = self.headers + + prot = 'WebSocket-Protocol' + protocols = h.get('Sec-'+prot, h.get(prot, '')).split(',') + + ver = h.get('Sec-WebSocket-Version') + if ver: + # HyBi/IETF version of the protocol + + # HyBi-07 report version 7 + # HyBi-08 - HyBi-12 report version 8 + # HyBi-13 reports version 13 + if ver in ['7', '8', '13']: + self.version = "hybi-%02d" % int(ver) + else: + self.send_error(400, "Unsupported protocol version %s" % ver) + return False + + key = h['Sec-WebSocket-Key'] + + # Choose binary if client supports it + if 'binary' in protocols: + self.base64 = False + elif 'base64' in protocols: + self.base64 = True + else: + self.send_error(400, "Client must support 'binary' or 'base64' protocol") + return False + + # Generate the hash value for the accept header + accept = b64encode(sha1(s2b(key + self.GUID)).digest()) + + self.send_response(101, "Switching Protocols") + self.send_header("Upgrade", "websocket") + self.send_header("Connection", "Upgrade") + self.send_header("Sec-WebSocket-Accept", b2s(accept)) + if self.base64: + self.send_header("Sec-WebSocket-Protocol", "base64") + else: + self.send_header("Sec-WebSocket-Protocol", "binary") + self.end_headers() + return True + else: + self.send_error(400, "Missing Sec-WebSocket-Version header. Hixie protocols not supported.") + + return False + + def handle_websocket(self): + """Upgrade a connection to Websocket, if requested. If this succeeds, + new_websocket_client() will be called. Otherwise, False is returned. + """ + if (self.headers.get('upgrade') and + self.headers.get('upgrade').lower() == 'websocket'): + + if not self.do_websocket_handshake(): + return False + + # Indicate to server that a Websocket upgrade was done + self.server.ws_connection = True + # Initialize per client settings + self.send_parts = [] + self.recv_part = None + self.start_time = int(time.time()*1000) + + # client_address is empty with, say, UNIX domain sockets + client_addr = "" + is_ssl = False + try: + client_addr = self.client_address[0] + is_ssl = self.client_address[2] + except IndexError: + pass + + if is_ssl: + self.stype = "SSL/TLS (wss://)" + else: + self.stype = "Plain non-SSL (ws://)" + + self.log_message("%s: %s WebSocket connection", client_addr, + self.stype) + self.log_message("%s: Version %s, base64: '%s'", client_addr, + self.version, self.base64) + if self.path != '/': + self.log_message("%s: Path: '%s'", client_addr, self.path) + + if self.record: + # Record raw frame data as JavaScript array + fname = "%s.%s" % (self.record, + self.handler_id) + self.log_message("opening record file: %s", fname) + self.rec = open(fname, 'w+') + encoding = "binary" + if self.base64: encoding = "base64" + self.rec.write("var VNC_frame_encoding = '%s';\n" + % encoding) + self.rec.write("var VNC_frame_data = [\n") + + try: + self.new_websocket_client() + except self.CClose: + # Close the client + _, exc, _ = sys.exc_info() + self.send_close(exc.args[0], exc.args[1]) + return True + else: + return False + + def do_GET(self): + """Handle GET request. Calls handle_websocket(). If unsuccessful, + and web server is enabled, SimpleHTTPRequestHandler.do_GET will be called.""" + if not self.handle_websocket(): + if self.only_upgrade: + self.send_error(405, "Method Not Allowed") + else: + SimpleHTTPRequestHandler.do_GET(self) + + def list_directory(self, path): + if self.file_only: + self.send_error(404, "No such file") + else: + return SimpleHTTPRequestHandler.list_directory(self, path) + + def new_websocket_client(self): + """ Do something with a WebSockets client connection. """ + raise Exception("WebSocketRequestHandler.new_websocket_client() must be overloaded") + + def do_HEAD(self): + if self.only_upgrade: + self.send_error(405, "Method Not Allowed") + else: + SimpleHTTPRequestHandler.do_HEAD(self) + + def finish(self): + if self.rec: + self.rec.write("'EOF'];\n") + self.rec.close() + + def handle(self): + # When using run_once, we have a single process, so + # we cannot loop in BaseHTTPRequestHandler.handle; we + # must return and handle new connections + if self.run_once: + self.handle_one_request() + else: + SimpleHTTPRequestHandler.handle(self) + + def log_request(self, code='-', size='-'): + if self.verbose: + SimpleHTTPRequestHandler.log_request(self, code, size) + + +class WebSocketServer(object): + """ + WebSockets server class. + As an alternative, the standard library SocketServer can be used + """ + + policy_response = """\n""" + log_prefix = "websocket" + + # An exception before the WebSocket connection was established + class EClose(Exception): + pass + + class Terminate(Exception): + pass + + def __init__(self, RequestHandlerClass, listen_host='', + listen_port=None, source_is_ipv6=False, + verbose=False, cert='', key='', ssl_only=None, + daemon=False, record='', web='', + file_only=False, + run_once=False, timeout=0, idle_timeout=0, traffic=False, + tcp_keepalive=True, tcp_keepcnt=None, tcp_keepidle=None, + tcp_keepintvl=None): + + # settings + self.RequestHandlerClass = RequestHandlerClass + self.verbose = verbose + self.listen_host = listen_host + self.listen_port = listen_port + self.prefer_ipv6 = source_is_ipv6 + self.ssl_only = ssl_only + self.daemon = daemon + self.run_once = run_once + self.timeout = timeout + self.idle_timeout = idle_timeout + self.traffic = traffic + + self.launch_time = time.time() + self.ws_connection = False + self.handler_id = 1 + + self.logger = self.get_logger() + self.tcp_keepalive = tcp_keepalive + self.tcp_keepcnt = tcp_keepcnt + self.tcp_keepidle = tcp_keepidle + self.tcp_keepintvl = tcp_keepintvl + + # Make paths settings absolute + self.cert = os.path.abspath(cert) + self.key = self.web = self.record = '' + if key: + self.key = os.path.abspath(key) + if web: + self.web = os.path.abspath(web) + if record: + self.record = os.path.abspath(record) + + if self.web: + os.chdir(self.web) + self.only_upgrade = not self.web + + # Sanity checks + if not ssl and self.ssl_only: + raise Exception("No 'ssl' module and SSL-only specified") + if self.daemon and not resource: + raise Exception("Module 'resource' required to daemonize") + + # Show configuration + self.msg("WebSocket server settings:") + self.msg(" - Listen on %s:%s", + self.listen_host, self.listen_port) + self.msg(" - Flash security policy server") + if self.web: + self.msg(" - Web server. Web root: %s", self.web) + if ssl: + if os.path.exists(self.cert): + self.msg(" - SSL/TLS support") + if self.ssl_only: + self.msg(" - Deny non-SSL/TLS connections") + else: + self.msg(" - No SSL/TLS support (no cert file)") + else: + self.msg(" - No SSL/TLS support (no 'ssl' module)") + if self.daemon: + self.msg(" - Backgrounding (daemon)") + if self.record: + self.msg(" - Recording to '%s.*'", self.record) + + # + # WebSocketServer static methods + # + + @staticmethod + def get_logger(): + return logging.getLogger("%s.%s" % ( + WebSocketServer.log_prefix, + WebSocketServer.__class__.__name__)) + + @staticmethod + def socket(host, port=None, connect=False, prefer_ipv6=False, + unix_socket=None, use_ssl=False, tcp_keepalive=True, + tcp_keepcnt=None, tcp_keepidle=None, tcp_keepintvl=None): + """ Resolve a host (and optional port) to an IPv4 or IPv6 + address. Create a socket. Bind to it if listen is set, + otherwise connect to it. Return the socket. + """ + flags = 0 + if host == '': + host = None + if connect and not (port or unix_socket): + raise Exception("Connect mode requires a port") + if use_ssl and not ssl: + raise Exception("SSL socket requested but Python SSL module not loaded."); + if not connect and use_ssl: + raise Exception("SSL only supported in connect mode (for now)") + if not connect: + flags = flags | socket.AI_PASSIVE + + if not unix_socket: + addrs = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM, + socket.IPPROTO_TCP, flags) + if not addrs: + raise Exception("Could not resolve host '%s'" % host) + addrs.sort(key=lambda x: x[0]) + if prefer_ipv6: + addrs.reverse() + sock = socket.socket(addrs[0][0], addrs[0][1]) + + if tcp_keepalive: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) + if tcp_keepcnt: + sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, + tcp_keepcnt) + if tcp_keepidle: + sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, + tcp_keepidle) + if tcp_keepintvl: + sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, + tcp_keepintvl) + + if connect: + sock.connect(addrs[0][4]) + if use_ssl: + sock = ssl.wrap_socket(sock) + else: + sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + sock.bind(addrs[0][4]) + sock.listen(100) + else: + sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + sock.connect(unix_socket) + + return sock + + @staticmethod + def daemonize(keepfd=None, chdir='/'): + os.umask(0) + if chdir: + os.chdir(chdir) + else: + os.chdir('/') + os.setgid(os.getgid()) # relinquish elevations + os.setuid(os.getuid()) # relinquish elevations + + # Double fork to daemonize + if os.fork() > 0: os._exit(0) # Parent exits + os.setsid() # Obtain new process group + if os.fork() > 0: os._exit(0) # Parent exits + + # Signal handling + signal.signal(signal.SIGTERM, signal.SIG_IGN) + signal.signal(signal.SIGINT, signal.SIG_IGN) + + # Close open files + maxfd = resource.getrlimit(resource.RLIMIT_NOFILE)[1] + if maxfd == resource.RLIM_INFINITY: maxfd = 256 + for fd in reversed(range(maxfd)): + try: + if fd != keepfd: + os.close(fd) + except OSError: + _, exc, _ = sys.exc_info() + if exc.errno != errno.EBADF: raise + + # Redirect I/O to /dev/null + os.dup2(os.open(os.devnull, os.O_RDWR), sys.stdin.fileno()) + os.dup2(os.open(os.devnull, os.O_RDWR), sys.stdout.fileno()) + os.dup2(os.open(os.devnull, os.O_RDWR), sys.stderr.fileno()) + + def do_handshake(self, sock, address): + """ + do_handshake does the following: + - Peek at the first few bytes from the socket. + - If the connection is Flash policy request then answer it, + close the socket and return. + - If the connection is an HTTPS/SSL/TLS connection then SSL + wrap the socket. + - Read from the (possibly wrapped) socket. + - If we have received a HTTP GET request and the webserver + functionality is enabled, answer it, close the socket and + return. + - Assume we have a WebSockets connection, parse the client + handshake data. + - Send a WebSockets handshake server response. + - Return the socket for this WebSocket client. + """ + ready = select.select([sock], [], [], 3)[0] + + + if not ready: + raise self.EClose("ignoring socket not ready") + # Peek, but do not read the data so that we have a opportunity + # to SSL wrap the socket first + handshake = sock.recv(1024, socket.MSG_PEEK) + #self.msg("Handshake [%s]" % handshake) + + if handshake == "": + raise self.EClose("ignoring empty handshake") + + elif handshake.startswith(s2b("")): + # Answer Flash policy request + handshake = sock.recv(1024) + sock.send(s2b(self.policy_response)) + raise self.EClose("Sending flash policy response") + + elif handshake[0] in ("\x16", "\x80", 22, 128): + # SSL wrap the connection + if not ssl: + raise self.EClose("SSL connection but no 'ssl' module") + if not os.path.exists(self.cert): + raise self.EClose("SSL connection but '%s' not found" + % self.cert) + retsock = None + try: + retsock = ssl.wrap_socket( + sock, + server_side=True, + certfile=self.cert, + keyfile=self.key) + except ssl.SSLError: + _, x, _ = sys.exc_info() + if x.args[0] == ssl.SSL_ERROR_EOF: + if len(x.args) > 1: + raise self.EClose(x.args[1]) + else: + raise self.EClose("Got SSL_ERROR_EOF") + else: + raise + + elif self.ssl_only: + raise self.EClose("non-SSL connection received but disallowed") + + else: + retsock = sock + + # If the address is like (host, port), we are extending it + # with a flag indicating SSL. Not many other options + # available... + if len(address) == 2: + address = (address[0], address[1], (retsock != sock)) + + self.RequestHandlerClass(retsock, address, self) + + # Return the WebSockets socket which may be SSL wrapped + return retsock + + # + # WebSocketServer logging/output functions + # + + def msg(self, *args, **kwargs): + """ Output message as info """ + self.logger.log(logging.INFO, *args, **kwargs) + + def vmsg(self, *args, **kwargs): + """ Same as msg() but as debug. """ + self.logger.log(logging.DEBUG, *args, **kwargs) + + def warn(self, *args, **kwargs): + """ Same as msg() but as warning. """ + self.logger.log(logging.WARN, *args, **kwargs) + + + # + # Events that can/should be overridden in sub-classes + # + def started(self): + """ Called after WebSockets startup """ + self.vmsg("WebSockets server started") + + def poll(self): + """ Run periodically while waiting for connections. """ + #self.vmsg("Running poll()") + pass + + def terminate(self): + raise self.Terminate() + + def multiprocessing_SIGCHLD(self, sig, stack): + self.vmsg('Reaing zombies, active child count is %s', len(multiprocessing.active_children())) + + def fallback_SIGCHLD(self, sig, stack): + # Reap zombies when using os.fork() (python 2.4) + self.vmsg("Got SIGCHLD, reaping zombies") + try: + result = os.waitpid(-1, os.WNOHANG) + while result[0]: + self.vmsg("Reaped child process %s" % result[0]) + result = os.waitpid(-1, os.WNOHANG) + except (OSError): + pass + + def do_SIGINT(self, sig, stack): + self.msg("Got SIGINT, exiting") + self.terminate() + + def do_SIGTERM(self, sig, stack): + self.msg("Got SIGTERM, exiting") + self.terminate() + + def top_new_client(self, startsock, address): + """ Do something with a WebSockets client connection. """ + # handler process + client = None + try: + try: + client = self.do_handshake(startsock, address) + except self.EClose: + _, exc, _ = sys.exc_info() + # Connection was not a WebSockets connection + if exc.args[0]: + self.msg("%s: %s" % (address[0], exc.args[0])) + except WebSocketServer.Terminate: + raise + except Exception: + _, exc, _ = sys.exc_info() + self.msg("handler exception: %s" % str(exc)) + self.vmsg("exception", exc_info=True) + finally: + + if client and client != startsock: + # Close the SSL wrapped socket + # Original socket closed by caller + client.close() + + def start_server(self): + """ + Daemonize if requested. Listen for for connections. Run + do_handshake() method for each connection. If the connection + is a WebSockets client then call new_websocket_client() method (which must + be overridden) for each new client connection. + """ + lsock = self.socket(self.listen_host, self.listen_port, False, + self.prefer_ipv6, + tcp_keepalive=self.tcp_keepalive, + tcp_keepcnt=self.tcp_keepcnt, + tcp_keepidle=self.tcp_keepidle, + tcp_keepintvl=self.tcp_keepintvl) + + if self.daemon: + self.daemonize(keepfd=lsock.fileno(), chdir=self.web) + + self.started() # Some things need to happen after daemonizing + + # Allow override of signals + original_signals = { + signal.SIGINT: signal.getsignal(signal.SIGINT), + signal.SIGTERM: signal.getsignal(signal.SIGTERM), + signal.SIGCHLD: signal.getsignal(signal.SIGCHLD), + } + signal.signal(signal.SIGINT, self.do_SIGINT) + signal.signal(signal.SIGTERM, self.do_SIGTERM) + if not multiprocessing: + # os.fork() (python 2.4) child reaper + signal.signal(signal.SIGCHLD, self.fallback_SIGCHLD) + else: + # make sure that _cleanup is called when children die + # by calling active_children on SIGCHLD + signal.signal(signal.SIGCHLD, self.multiprocessing_SIGCHLD) + + last_active_time = self.launch_time + try: + while True: + try: + try: + startsock = None + pid = err = 0 + child_count = 0 + + if multiprocessing: + # Collect zombie child processes + child_count = len(multiprocessing.active_children()) + + time_elapsed = time.time() - self.launch_time + if self.timeout and time_elapsed > self.timeout: + self.msg('listener exit due to --timeout %s' + % self.timeout) + break + + if self.idle_timeout: + idle_time = 0 + if child_count == 0: + idle_time = time.time() - last_active_time + else: + idle_time = 0 + last_active_time = time.time() + + if idle_time > self.idle_timeout and child_count == 0: + self.msg('listener exit due to --idle-timeout %s' + % self.idle_timeout) + break + + try: + self.poll() + + ready = select.select([lsock], [], [], 1)[0] + if lsock in ready: + startsock, address = lsock.accept() + else: + continue + except self.Terminate: + raise + except Exception: + _, exc, _ = sys.exc_info() + if hasattr(exc, 'errno'): + err = exc.errno + elif hasattr(exc, 'args'): + err = exc.args[0] + else: + err = exc[0] + if err == errno.EINTR: + self.vmsg("Ignoring interrupted syscall") + continue + else: + raise + + if self.run_once: + # Run in same process if run_once + self.top_new_client(startsock, address) + if self.ws_connection : + self.msg('%s: exiting due to --run-once' + % address[0]) + break + elif multiprocessing: + self.vmsg('%s: new handler Process' % address[0]) + p = multiprocessing.Process( + target=self.top_new_client, + args=(startsock, address)) + p.start() + # child will not return + else: + # python 2.4 + self.vmsg('%s: forking handler' % address[0]) + pid = os.fork() + if pid == 0: + # child handler process + self.top_new_client(startsock, address) + break # child process exits + + # parent process + self.handler_id += 1 + + except (self.Terminate, SystemExit, KeyboardInterrupt): + self.msg("In exit") + break + except Exception: + self.msg("handler exception: %s", str(exc)) + self.vmsg("exception", exc_info=True) + + finally: + if startsock: + startsock.close() + finally: + # Close listen port + self.vmsg("Closing socket listening at %s:%s", + self.listen_host, self.listen_port) + lsock.close() + + # Restore signals + for sig, func in original_signals.items(): + signal.signal(sig, func) + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websockify b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websockify index 0f76e86..d6ae99a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websockify +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/utils/websockify @@ -1,471 +1,471 @@ -#!/usr/bin/env python - -''' -A WebSocket to TCP socket proxy with support for "wss://" encryption. -Copyright 2011 Joel Martin -Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3) - -You can make a cert/key with openssl using: -openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem -as taken from http://docs.python.org/dev/library/ssl.html#certificates - -''' - -import signal, socket, optparse, time, os, sys, subprocess, logging -try: from socketserver import ForkingMixIn -except: from SocketServer import ForkingMixIn -try: from http.server import HTTPServer -except: from BaseHTTPServer import HTTPServer -from select import select -import websocket -try: - from urllib.parse import parse_qs, urlparse -except: - from cgi import parse_qs - from urlparse import urlparse - -class ProxyRequestHandler(websocket.WebSocketRequestHandler): - - traffic_legend = """ -Traffic Legend: - } - Client receive - }. - Client receive partial - { - Target receive - - > - Target send - >. - Target send partial - < - Client send - <. - Client send partial -""" - - def new_websocket_client(self): - """ - Called after a new WebSocket connection has been established. - """ - # Checks if we receive a token, and look - # for a valid target for it then - if self.server.target_cfg: - (self.server.target_host, self.server.target_port) = self.get_target(self.server.target_cfg, self.path) - - # Connect to the target - if self.server.wrap_cmd: - msg = "connecting to command: '%s' (port %s)" % (" ".join(self.server.wrap_cmd), self.server.target_port) - elif self.server.unix_target: - msg = "connecting to unix socket: %s" % self.server.unix_target - else: - msg = "connecting to: %s:%s" % ( - self.server.target_host, self.server.target_port) - - if self.server.ssl_target: - msg += " (using SSL)" - self.log_message(msg) - - tsock = websocket.WebSocketServer.socket(self.server.target_host, - self.server.target_port, - connect=True, use_ssl=self.server.ssl_target, unix_socket=self.server.unix_target) - - self.print_traffic(self.traffic_legend) - - # Start proxying - try: - self.do_proxy(tsock) - except: - if tsock: - tsock.shutdown(socket.SHUT_RDWR) - tsock.close() - if self.verbose: - self.log_message("%s:%s: Closed target", - self.server.target_host, self.server.target_port) - raise - - def get_target(self, target_cfg, path): - """ - Parses the path, extracts a token, and looks for a valid - target for that token in the configuration file(s). Sets - target_host and target_port if successful - """ - # The files in targets contain the lines - # in the form of token: host:port - - # Extract the token parameter from url - args = parse_qs(urlparse(path)[4]) # 4 is the query from url - - if not args.has_key('virttoken') or not len(args['virttoken']): - raise self.EClose("Token not present") - - token = args['virttoken'][0].rstrip('\n') - - # target_cfg can be a single config file or directory of - # config files - if os.path.isdir(target_cfg): - cfg_files = [os.path.join(target_cfg, f) - for f in os.listdir(target_cfg)] - else: - cfg_files = [target_cfg] - - targets = {} - for f in cfg_files: - for line in [l.strip() for l in file(f).readlines()]: - if line and not line.startswith('#'): - ttoken, target = line.split(': ') - targets[ttoken] = target.strip() - - self.vmsg("Target config: %s" % repr(targets)) - - if targets.has_key(token): - return targets[token].split(':') - else: - raise self.EClose("Token '%s' not found" % token) - - def do_proxy(self, target): - """ - Proxy client WebSocket to normal target socket. - """ - cqueue = [] - c_pend = 0 - tqueue = [] - rlist = [self.request, target] - - while True: - wlist = [] - - if tqueue: wlist.append(target) - if cqueue or c_pend: wlist.append(self.request) - ins, outs, excepts = select(rlist, wlist, [], 1) - if excepts: raise Exception("Socket exception") - - if self.request in outs: - # Send queued target data to the client - c_pend = self.send_frames(cqueue) - - cqueue = [] - - if self.request in ins: - # Receive client data, decode it, and queue for target - bufs, closed = self.recv_frames() - tqueue.extend(bufs) - - if closed: - # TODO: What about blocking on client socket? - if self.verbose: - self.log_message("%s:%s: Client closed connection", - self.server.target_host, self.server.target_port) - raise self.CClose(closed['code'], closed['reason']) - - - if target in outs: - # Send queued client data to the target - dat = tqueue.pop(0) - sent = target.send(dat) - if sent == len(dat): - self.print_traffic(">") - else: - # requeue the remaining data - tqueue.insert(0, dat[sent:]) - self.print_traffic(".>") - - - if target in ins: - # Receive target data, encode it and queue for client - buf = target.recv(self.buffer_size) - if len(buf) == 0: - if self.verbose: - self.log_message("%s:%s: Target closed connection", - self.server.target_host, self.server.target_port) - raise self.CClose(1000, "Target closed") - - cqueue.append(buf) - self.print_traffic("{") - -class WebSocketProxy(websocket.WebSocketServer): - """ - Proxy traffic to and from a WebSockets client to a normal TCP - socket server target. All traffic to/from the client is base64 - encoded/decoded to allow binary data to be sent/received to/from - the target. - """ - - buffer_size = 65536 - - def __init__(self, RequestHandlerClass=ProxyRequestHandler, *args, **kwargs): - # Save off proxy specific options - self.target_host = kwargs.pop('target_host', None) - self.target_port = kwargs.pop('target_port', None) - self.wrap_cmd = kwargs.pop('wrap_cmd', None) - self.wrap_mode = kwargs.pop('wrap_mode', None) - self.unix_target = kwargs.pop('unix_target', None) - self.ssl_target = kwargs.pop('ssl_target', None) - self.target_cfg = kwargs.pop('target_cfg', None) - # Last 3 timestamps command was run - self.wrap_times = [0, 0, 0] - - if self.wrap_cmd: - wsdir = os.path.dirname(sys.argv[0]) - rebinder_path = [os.path.join(wsdir, "..", "lib"), - os.path.join(wsdir, "..", "lib", "websockify"), - wsdir] - self.rebinder = None - - for rdir in rebinder_path: - rpath = os.path.join(rdir, "rebind.so") - if os.path.exists(rpath): - self.rebinder = rpath - break - - if not self.rebinder: - raise Exception("rebind.so not found, perhaps you need to run make") - self.rebinder = os.path.abspath(self.rebinder) - - self.target_host = "127.0.0.1" # Loopback - # Find a free high port - sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - sock.bind(('', 0)) - self.target_port = sock.getsockname()[1] - sock.close() - - os.environ.update({ - "LD_PRELOAD": self.rebinder, - "REBIND_OLD_PORT": str(kwargs['listen_port']), - "REBIND_NEW_PORT": str(self.target_port)}) - - websocket.WebSocketServer.__init__(self, RequestHandlerClass, *args, **kwargs) - - def run_wrap_cmd(self): - self.msg("Starting '%s'", " ".join(self.wrap_cmd)) - self.wrap_times.append(time.time()) - self.wrap_times.pop(0) - self.cmd = subprocess.Popen( - self.wrap_cmd, env=os.environ, preexec_fn=_subprocess_setup) - self.spawn_message = True - - def started(self): - """ - Called after Websockets server startup (i.e. after daemonize) - """ - # Need to call wrapped command after daemonization so we can - # know when the wrapped command exits - if self.wrap_cmd: - dst_string = "'%s' (port %s)" % (" ".join(self.wrap_cmd), self.target_port) - elif self.unix_target: - dst_string = self.unix_target - else: - dst_string = "%s:%s" % (self.target_host, self.target_port) - - if self.target_cfg: - msg = " - proxying from %s:%s to targets in %s" % ( - self.listen_host, self.listen_port, self.target_cfg) - else: - msg = " - proxying from %s:%s to %s" % ( - self.listen_host, self.listen_port, dst_string) - - if self.ssl_target: - msg += " (using SSL)" - - self.msg("%s", msg) - - if self.wrap_cmd: - self.run_wrap_cmd() - - def poll(self): - # If we are wrapping a command, check it's status - - if self.wrap_cmd and self.cmd: - ret = self.cmd.poll() - if ret != None: - self.vmsg("Wrapped command exited (or daemon). Returned %s" % ret) - self.cmd = None - - if self.wrap_cmd and self.cmd == None: - # Response to wrapped command being gone - if self.wrap_mode == "ignore": - pass - elif self.wrap_mode == "exit": - sys.exit(ret) - elif self.wrap_mode == "respawn": - now = time.time() - avg = sum(self.wrap_times)/len(self.wrap_times) - if (now - avg) < 10: - # 3 times in the last 10 seconds - if self.spawn_message: - self.warn("Command respawning too fast") - self.spawn_message = False - else: - self.run_wrap_cmd() - - -def _subprocess_setup(): - # Python installs a SIGPIPE handler by default. This is usually not what - # non-Python successfulbprocesses expect. - signal.signal(signal.SIGPIPE, signal.SIG_DFL) - - -def logger_init(): - logger = logging.getLogger(WebSocketProxy.log_prefix) - logger.propagate = False - logger.setLevel(logging.INFO) - h = logging.StreamHandler() - h.setLevel(logging.DEBUG) - h.setFormatter(logging.Formatter("%(message)s")) - logger.addHandler(h) - - -def websockify_init(): - logger_init() - - usage = "\n %prog [options]" - usage += " [source_addr:]source_port [target_addr:target_port]" - usage += "\n %prog [options]" - usage += " [source_addr:]source_port -- WRAP_COMMAND_LINE" - parser = optparse.OptionParser(usage=usage) - parser.add_option("--verbose", "-v", action="store_true", - help="verbose messages") - parser.add_option("--traffic", action="store_true", - help="per frame traffic") - parser.add_option("--record", - help="record sessions to FILE.[session_number]", metavar="FILE") - parser.add_option("--daemon", "-D", - dest="daemon", action="store_true", - help="become a daemon (background process)") - parser.add_option("--run-once", action="store_true", - help="handle a single WebSocket connection and exit") - parser.add_option("--timeout", type=int, default=0, - help="after TIMEOUT seconds exit when not connected") - parser.add_option("--idle-timeout", type=int, default=0, - help="server exits after TIMEOUT seconds if there are no " - "active connections") - parser.add_option("--cert", default="self.pem", - help="SSL certificate file") - parser.add_option("--key", default=None, - help="SSL key file (if separate from cert)") - parser.add_option("--ssl-only", action="store_true", - help="disallow non-encrypted client connections") - parser.add_option("--ssl-target", action="store_true", - help="connect to SSL target as SSL client") - parser.add_option("--unix-target", - help="connect to unix socket target", metavar="FILE") - parser.add_option("--web", default=None, metavar="DIR", - help="run webserver on same port. Serve files from DIR.") - parser.add_option("--wrap-mode", default="exit", metavar="MODE", - choices=["exit", "ignore", "respawn"], - help="action to take when the wrapped program exits " - "or daemonizes: exit (default), ignore, respawn") - parser.add_option("--prefer-ipv6", "-6", - action="store_true", dest="source_is_ipv6", - help="prefer IPv6 when resolving source_addr") - parser.add_option("--target-config", metavar="FILE", - dest="target_cfg", - help="Configuration file containing valid targets " - "in the form 'token: host:port' or, alternatively, a " - "directory containing configuration files of this form") - parser.add_option("--libserver", action="store_true", - help="use Python library SocketServer engine") - (opts, args) = parser.parse_args() - - if opts.verbose: - logging.getLogger(WebSocketProxy.log_prefix).setLevel(logging.DEBUG) - - # Sanity checks - if len(args) < 2 and not (opts.target_cfg or opts.unix_target): - parser.error("Too few arguments") - if sys.argv.count('--'): - opts.wrap_cmd = args[1:] - else: - opts.wrap_cmd = None - if len(args) > 2: - parser.error("Too many arguments") - - if not websocket.ssl and opts.ssl_target: - parser.error("SSL target requested and Python SSL module not loaded."); - - if opts.ssl_only and not os.path.exists(opts.cert): - parser.error("SSL only and %s not found" % opts.cert) - - # Parse host:port and convert ports to numbers - if args[0].count(':') > 0: - opts.listen_host, opts.listen_port = args[0].rsplit(':', 1) - opts.listen_host = opts.listen_host.strip('[]') - else: - opts.listen_host, opts.listen_port = '', args[0] - - try: opts.listen_port = int(opts.listen_port) - except: parser.error("Error parsing listen port") - - if opts.wrap_cmd or opts.unix_target or opts.target_cfg: - opts.target_host = None - opts.target_port = None - else: - if args[1].count(':') > 0: - opts.target_host, opts.target_port = args[1].rsplit(':', 1) - opts.target_host = opts.target_host.strip('[]') - else: - parser.error("Error parsing target") - try: opts.target_port = int(opts.target_port) - except: parser.error("Error parsing target port") - - # Transform to absolute path as daemon may chdir - if opts.target_cfg: - opts.target_cfg = os.path.abspath(opts.target_cfg) - - # Create and start the WebSockets proxy - libserver = opts.libserver - del opts.libserver - if libserver: - # Use standard Python SocketServer framework - server = LibProxyServer(**opts.__dict__) - server.serve_forever() - else: - # Use internal service framework - server = WebSocketProxy(**opts.__dict__) - server.start_server() - - -class LibProxyServer(ForkingMixIn, HTTPServer): - """ - Just like WebSocketProxy, but uses standard Python SocketServer - framework. - """ - - def __init__(self, RequestHandlerClass=ProxyRequestHandler, **kwargs): - # Save off proxy specific options - self.target_host = kwargs.pop('target_host', None) - self.target_port = kwargs.pop('target_port', None) - self.wrap_cmd = kwargs.pop('wrap_cmd', None) - self.wrap_mode = kwargs.pop('wrap_mode', None) - self.unix_target = kwargs.pop('unix_target', None) - self.ssl_target = kwargs.pop('ssl_target', None) - self.target_cfg = kwargs.pop('target_cfg', None) - self.daemon = False - self.target_cfg = None - - # Server configuration - listen_host = kwargs.pop('listen_host', '') - listen_port = kwargs.pop('listen_port', None) - web = kwargs.pop('web', '') - - # Configuration affecting base request handler - self.only_upgrade = not web - self.verbose = kwargs.pop('verbose', False) - record = kwargs.pop('record', '') - if record: - self.record = os.path.abspath(record) - self.run_once = kwargs.pop('run_once', False) - self.handler_id = 0 - - for arg in kwargs.keys(): - print("warning: option %s ignored when using --libserver" % arg) - - if web: - os.chdir(web) - - HTTPServer.__init__(self, (listen_host, listen_port), - RequestHandlerClass) - - - def process_request(self, request, client_address): - """Override process_request to implement a counter""" - self.handler_id += 1 - ForkingMixIn.process_request(self, request, client_address) - - -if __name__ == '__main__': - websockify_init() +#!/usr/bin/env python + +''' +A WebSocket to TCP socket proxy with support for "wss://" encryption. +Copyright 2011 Joel Martin +Licensed under LGPL version 3 (see docs/LICENSE.LGPL-3) + +You can make a cert/key with openssl using: +openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem +as taken from http://docs.python.org/dev/library/ssl.html#certificates + +''' + +import signal, socket, optparse, time, os, sys, subprocess, logging +try: from socketserver import ForkingMixIn +except: from SocketServer import ForkingMixIn +try: from http.server import HTTPServer +except: from BaseHTTPServer import HTTPServer +from select import select +import websocket +try: + from urllib.parse import parse_qs, urlparse +except: + from cgi import parse_qs + from urlparse import urlparse + +class ProxyRequestHandler(websocket.WebSocketRequestHandler): + + traffic_legend = """ +Traffic Legend: + } - Client receive + }. - Client receive partial + { - Target receive + + > - Target send + >. - Target send partial + < - Client send + <. - Client send partial +""" + + def new_websocket_client(self): + """ + Called after a new WebSocket connection has been established. + """ + # Checks if we receive a token, and look + # for a valid target for it then + if self.server.target_cfg: + (self.server.target_host, self.server.target_port) = self.get_target(self.server.target_cfg, self.path) + + # Connect to the target + if self.server.wrap_cmd: + msg = "connecting to command: '%s' (port %s)" % (" ".join(self.server.wrap_cmd), self.server.target_port) + elif self.server.unix_target: + msg = "connecting to unix socket: %s" % self.server.unix_target + else: + msg = "connecting to: %s:%s" % ( + self.server.target_host, self.server.target_port) + + if self.server.ssl_target: + msg += " (using SSL)" + self.log_message(msg) + + tsock = websocket.WebSocketServer.socket(self.server.target_host, + self.server.target_port, + connect=True, use_ssl=self.server.ssl_target, unix_socket=self.server.unix_target) + + self.print_traffic(self.traffic_legend) + + # Start proxying + try: + self.do_proxy(tsock) + except: + if tsock: + tsock.shutdown(socket.SHUT_RDWR) + tsock.close() + if self.verbose: + self.log_message("%s:%s: Closed target", + self.server.target_host, self.server.target_port) + raise + + def get_target(self, target_cfg, path): + """ + Parses the path, extracts a token, and looks for a valid + target for that token in the configuration file(s). Sets + target_host and target_port if successful + """ + # The files in targets contain the lines + # in the form of token: host:port + + # Extract the token parameter from url + args = parse_qs(urlparse(path)[4]) # 4 is the query from url + + if not args.has_key('virttoken') or not len(args['virttoken']): + raise self.EClose("Token not present") + + token = args['virttoken'][0].rstrip('\n') + + # target_cfg can be a single config file or directory of + # config files + if os.path.isdir(target_cfg): + cfg_files = [os.path.join(target_cfg, f) + for f in os.listdir(target_cfg)] + else: + cfg_files = [target_cfg] + + targets = {} + for f in cfg_files: + for line in [l.strip() for l in file(f).readlines()]: + if line and not line.startswith('#'): + ttoken, target = line.split(': ') + targets[ttoken] = target.strip() + + self.vmsg("Target config: %s" % repr(targets)) + + if targets.has_key(token): + return targets[token].split(':') + else: + raise self.EClose("Token '%s' not found" % token) + + def do_proxy(self, target): + """ + Proxy client WebSocket to normal target socket. + """ + cqueue = [] + c_pend = 0 + tqueue = [] + rlist = [self.request, target] + + while True: + wlist = [] + + if tqueue: wlist.append(target) + if cqueue or c_pend: wlist.append(self.request) + ins, outs, excepts = select(rlist, wlist, [], 1) + if excepts: raise Exception("Socket exception") + + if self.request in outs: + # Send queued target data to the client + c_pend = self.send_frames(cqueue) + + cqueue = [] + + if self.request in ins: + # Receive client data, decode it, and queue for target + bufs, closed = self.recv_frames() + tqueue.extend(bufs) + + if closed: + # TODO: What about blocking on client socket? + if self.verbose: + self.log_message("%s:%s: Client closed connection", + self.server.target_host, self.server.target_port) + raise self.CClose(closed['code'], closed['reason']) + + + if target in outs: + # Send queued client data to the target + dat = tqueue.pop(0) + sent = target.send(dat) + if sent == len(dat): + self.print_traffic(">") + else: + # requeue the remaining data + tqueue.insert(0, dat[sent:]) + self.print_traffic(".>") + + + if target in ins: + # Receive target data, encode it and queue for client + buf = target.recv(self.buffer_size) + if len(buf) == 0: + if self.verbose: + self.log_message("%s:%s: Target closed connection", + self.server.target_host, self.server.target_port) + raise self.CClose(1000, "Target closed") + + cqueue.append(buf) + self.print_traffic("{") + +class WebSocketProxy(websocket.WebSocketServer): + """ + Proxy traffic to and from a WebSockets client to a normal TCP + socket server target. All traffic to/from the client is base64 + encoded/decoded to allow binary data to be sent/received to/from + the target. + """ + + buffer_size = 65536 + + def __init__(self, RequestHandlerClass=ProxyRequestHandler, *args, **kwargs): + # Save off proxy specific options + self.target_host = kwargs.pop('target_host', None) + self.target_port = kwargs.pop('target_port', None) + self.wrap_cmd = kwargs.pop('wrap_cmd', None) + self.wrap_mode = kwargs.pop('wrap_mode', None) + self.unix_target = kwargs.pop('unix_target', None) + self.ssl_target = kwargs.pop('ssl_target', None) + self.target_cfg = kwargs.pop('target_cfg', None) + # Last 3 timestamps command was run + self.wrap_times = [0, 0, 0] + + if self.wrap_cmd: + wsdir = os.path.dirname(sys.argv[0]) + rebinder_path = [os.path.join(wsdir, "..", "lib"), + os.path.join(wsdir, "..", "lib", "websockify"), + wsdir] + self.rebinder = None + + for rdir in rebinder_path: + rpath = os.path.join(rdir, "rebind.so") + if os.path.exists(rpath): + self.rebinder = rpath + break + + if not self.rebinder: + raise Exception("rebind.so not found, perhaps you need to run make") + self.rebinder = os.path.abspath(self.rebinder) + + self.target_host = "127.0.0.1" # Loopback + # Find a free high port + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.bind(('', 0)) + self.target_port = sock.getsockname()[1] + sock.close() + + os.environ.update({ + "LD_PRELOAD": self.rebinder, + "REBIND_OLD_PORT": str(kwargs['listen_port']), + "REBIND_NEW_PORT": str(self.target_port)}) + + websocket.WebSocketServer.__init__(self, RequestHandlerClass, *args, **kwargs) + + def run_wrap_cmd(self): + self.msg("Starting '%s'", " ".join(self.wrap_cmd)) + self.wrap_times.append(time.time()) + self.wrap_times.pop(0) + self.cmd = subprocess.Popen( + self.wrap_cmd, env=os.environ, preexec_fn=_subprocess_setup) + self.spawn_message = True + + def started(self): + """ + Called after Websockets server startup (i.e. after daemonize) + """ + # Need to call wrapped command after daemonization so we can + # know when the wrapped command exits + if self.wrap_cmd: + dst_string = "'%s' (port %s)" % (" ".join(self.wrap_cmd), self.target_port) + elif self.unix_target: + dst_string = self.unix_target + else: + dst_string = "%s:%s" % (self.target_host, self.target_port) + + if self.target_cfg: + msg = " - proxying from %s:%s to targets in %s" % ( + self.listen_host, self.listen_port, self.target_cfg) + else: + msg = " - proxying from %s:%s to %s" % ( + self.listen_host, self.listen_port, dst_string) + + if self.ssl_target: + msg += " (using SSL)" + + self.msg("%s", msg) + + if self.wrap_cmd: + self.run_wrap_cmd() + + def poll(self): + # If we are wrapping a command, check it's status + + if self.wrap_cmd and self.cmd: + ret = self.cmd.poll() + if ret != None: + self.vmsg("Wrapped command exited (or daemon). Returned %s" % ret) + self.cmd = None + + if self.wrap_cmd and self.cmd == None: + # Response to wrapped command being gone + if self.wrap_mode == "ignore": + pass + elif self.wrap_mode == "exit": + sys.exit(ret) + elif self.wrap_mode == "respawn": + now = time.time() + avg = sum(self.wrap_times)/len(self.wrap_times) + if (now - avg) < 10: + # 3 times in the last 10 seconds + if self.spawn_message: + self.warn("Command respawning too fast") + self.spawn_message = False + else: + self.run_wrap_cmd() + + +def _subprocess_setup(): + # Python installs a SIGPIPE handler by default. This is usually not what + # non-Python successfulbprocesses expect. + signal.signal(signal.SIGPIPE, signal.SIG_DFL) + + +def logger_init(): + logger = logging.getLogger(WebSocketProxy.log_prefix) + logger.propagate = False + logger.setLevel(logging.INFO) + h = logging.StreamHandler() + h.setLevel(logging.DEBUG) + h.setFormatter(logging.Formatter("%(message)s")) + logger.addHandler(h) + + +def websockify_init(): + logger_init() + + usage = "\n %prog [options]" + usage += " [source_addr:]source_port [target_addr:target_port]" + usage += "\n %prog [options]" + usage += " [source_addr:]source_port -- WRAP_COMMAND_LINE" + parser = optparse.OptionParser(usage=usage) + parser.add_option("--verbose", "-v", action="store_true", + help="verbose messages") + parser.add_option("--traffic", action="store_true", + help="per frame traffic") + parser.add_option("--record", + help="record sessions to FILE.[session_number]", metavar="FILE") + parser.add_option("--daemon", "-D", + dest="daemon", action="store_true", + help="become a daemon (background process)") + parser.add_option("--run-once", action="store_true", + help="handle a single WebSocket connection and exit") + parser.add_option("--timeout", type=int, default=0, + help="after TIMEOUT seconds exit when not connected") + parser.add_option("--idle-timeout", type=int, default=0, + help="server exits after TIMEOUT seconds if there are no " + "active connections") + parser.add_option("--cert", default="self.pem", + help="SSL certificate file") + parser.add_option("--key", default=None, + help="SSL key file (if separate from cert)") + parser.add_option("--ssl-only", action="store_true", + help="disallow non-encrypted client connections") + parser.add_option("--ssl-target", action="store_true", + help="connect to SSL target as SSL client") + parser.add_option("--unix-target", + help="connect to unix socket target", metavar="FILE") + parser.add_option("--web", default=None, metavar="DIR", + help="run webserver on same port. Serve files from DIR.") + parser.add_option("--wrap-mode", default="exit", metavar="MODE", + choices=["exit", "ignore", "respawn"], + help="action to take when the wrapped program exits " + "or daemonizes: exit (default), ignore, respawn") + parser.add_option("--prefer-ipv6", "-6", + action="store_true", dest="source_is_ipv6", + help="prefer IPv6 when resolving source_addr") + parser.add_option("--target-config", metavar="FILE", + dest="target_cfg", + help="Configuration file containing valid targets " + "in the form 'token: host:port' or, alternatively, a " + "directory containing configuration files of this form") + parser.add_option("--libserver", action="store_true", + help="use Python library SocketServer engine") + (opts, args) = parser.parse_args() + + if opts.verbose: + logging.getLogger(WebSocketProxy.log_prefix).setLevel(logging.DEBUG) + + # Sanity checks + if len(args) < 2 and not (opts.target_cfg or opts.unix_target): + parser.error("Too few arguments") + if sys.argv.count('--'): + opts.wrap_cmd = args[1:] + else: + opts.wrap_cmd = None + if len(args) > 2: + parser.error("Too many arguments") + + if not websocket.ssl and opts.ssl_target: + parser.error("SSL target requested and Python SSL module not loaded."); + + if opts.ssl_only and not os.path.exists(opts.cert): + parser.error("SSL only and %s not found" % opts.cert) + + # Parse host:port and convert ports to numbers + if args[0].count(':') > 0: + opts.listen_host, opts.listen_port = args[0].rsplit(':', 1) + opts.listen_host = opts.listen_host.strip('[]') + else: + opts.listen_host, opts.listen_port = '', args[0] + + try: opts.listen_port = int(opts.listen_port) + except: parser.error("Error parsing listen port") + + if opts.wrap_cmd or opts.unix_target or opts.target_cfg: + opts.target_host = None + opts.target_port = None + else: + if args[1].count(':') > 0: + opts.target_host, opts.target_port = args[1].rsplit(':', 1) + opts.target_host = opts.target_host.strip('[]') + else: + parser.error("Error parsing target") + try: opts.target_port = int(opts.target_port) + except: parser.error("Error parsing target port") + + # Transform to absolute path as daemon may chdir + if opts.target_cfg: + opts.target_cfg = os.path.abspath(opts.target_cfg) + + # Create and start the WebSockets proxy + libserver = opts.libserver + del opts.libserver + if libserver: + # Use standard Python SocketServer framework + server = LibProxyServer(**opts.__dict__) + server.serve_forever() + else: + # Use internal service framework + server = WebSocketProxy(**opts.__dict__) + server.start_server() + + +class LibProxyServer(ForkingMixIn, HTTPServer): + """ + Just like WebSocketProxy, but uses standard Python SocketServer + framework. + """ + + def __init__(self, RequestHandlerClass=ProxyRequestHandler, **kwargs): + # Save off proxy specific options + self.target_host = kwargs.pop('target_host', None) + self.target_port = kwargs.pop('target_port', None) + self.wrap_cmd = kwargs.pop('wrap_cmd', None) + self.wrap_mode = kwargs.pop('wrap_mode', None) + self.unix_target = kwargs.pop('unix_target', None) + self.ssl_target = kwargs.pop('ssl_target', None) + self.target_cfg = kwargs.pop('target_cfg', None) + self.daemon = False + self.target_cfg = None + + # Server configuration + listen_host = kwargs.pop('listen_host', '') + listen_port = kwargs.pop('listen_port', None) + web = kwargs.pop('web', '') + + # Configuration affecting base request handler + self.only_upgrade = not web + self.verbose = kwargs.pop('verbose', False) + record = kwargs.pop('record', '') + if record: + self.record = os.path.abspath(record) + self.run_once = kwargs.pop('run_once', False) + self.handler_id = 0 + + for arg in kwargs.keys(): + print("warning: option %s ignored when using --libserver" % arg) + + if web: + os.chdir(web) + + HTTPServer.__init__(self, (listen_host, listen_port), + RequestHandlerClass) + + + def process_request(self, request, client_address): + """Override process_request to implement a counter""" + self.handler_id += 1 + ForkingMixIn.process_request(self, request, client_address) + + +if __name__ == '__main__': + websockify_init() diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/babel-worker.js b/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/babel-worker.js index 43c80df..08d78d6 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/babel-worker.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/babel-worker.js @@ -1,121458 +1,121458 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 2 && arguments[2] !== undefined ? arguments[2] : {}; - var highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight().shouldHighlight)(opts); - var chalk = (0, _highlight().getChalk)(opts); - var defs = getDefs(chalk); - - var maybeHighlight = function maybeHighlight(chalkFn, string) { - return highlighted ? chalkFn(string) : string; - }; - - var lines = rawLines.split(NEWLINE); - - var _getMarkerLines = getMarkerLines(loc, lines, opts), - start = _getMarkerLines.start, - end = _getMarkerLines.end, - markerLines = _getMarkerLines.markerLines; - - var hasColumns = loc.start && typeof loc.start.column === "number"; - var numberMaxWidth = String(end).length; - var highlightedLines = highlighted ? (0, _highlight().default)(rawLines, opts) : rawLines; - var frame = highlightedLines.split(NEWLINE).slice(start, end).map(function (line, index) { - var number = start + 1 + index; - var paddedNumber = " ".concat(number).slice(-numberMaxWidth); - var gutter = " ".concat(paddedNumber, " | "); - var hasMarker = markerLines[number]; - var lastMarkerLine = !markerLines[number + 1]; - - if (hasMarker) { - var markerLine = ""; - - if (Array.isArray(hasMarker)) { - var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - var numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); - - if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); - } - } - - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); - } else { - return " ".concat(maybeHighlight(defs.gutter, gutter)).concat(line); - } - }).join("\n"); - - if (opts.message && !hasColumns) { - frame = "".concat(" ".repeat(numberMaxWidth + 1)).concat(opts.message, "\n").concat(frame); - } - - if (highlighted) { - return chalk.reset(frame); - } else { - return frame; - } -} - -function _default(rawLines, lineNumber, colNumber) { - var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - if (!deprecationWarningShown) { - deprecationWarningShown = true; - var message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; - - if (process.emitWarning) { - process.emitWarning(message, "DeprecationWarning"); - } else { - var deprecationError = new Error(message); - deprecationError.name = "DeprecationWarning"; - console.warn(new Error(message)); - } - } - - colNumber = Math.max(colNumber, 0); - var location = { - start: { - column: colNumber, - line: lineNumber - } - }; - return codeFrameColumns(rawLines, location, opts); -} - -}).call(this,require('_process')) -},{"@babel/highlight":88,"_process":1054}],2:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.makeStrongCache = makeStrongCache; -exports.makeWeakCache = makeWeakCache; -exports.assertSimpleType = assertSimpleType; - -function makeStrongCache(handler) { - return makeCachedFunction(new Map(), handler); -} - -function makeWeakCache(handler) { - return makeCachedFunction(new WeakMap(), handler); -} - -function makeCachedFunction(callCache, handler) { - return function cachedFunction(arg, data) { - var cachedValue = callCache.get(arg); - - if (cachedValue) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = cachedValue[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ref = _step.value; - var _value = _ref.value, - valid = _ref.valid; - if (valid(data)) return _value; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - var cache = new CacheConfigurator(data); - var value = handler(arg, cache); - if (!cache.configured()) cache.forever(); - cache.deactivate(); - - switch (cache.mode()) { - case "forever": - cachedValue = [{ - value: value, - valid: function valid() { - return true; - } - }]; - callCache.set(arg, cachedValue); - break; - - case "invalidate": - cachedValue = [{ - value: value, - valid: cache.validator() - }]; - callCache.set(arg, cachedValue); - break; - - case "valid": - if (cachedValue) { - cachedValue.push({ - value: value, - valid: cache.validator() - }); - } else { - cachedValue = [{ - value: value, - valid: cache.validator() - }]; - callCache.set(arg, cachedValue); - } - - } - - return value; - }; -} - -var CacheConfigurator = -/*#__PURE__*/ -function () { - function CacheConfigurator(data) { - _classCallCheck(this, CacheConfigurator); - - this._active = true; - this._never = false; - this._forever = false; - this._invalidate = false; - this._configured = false; - this._pairs = []; - this._data = data; - } - - _createClass(CacheConfigurator, [{ - key: "simple", - value: function simple() { - return makeSimpleConfigurator(this); - } - }, { - key: "mode", - value: function mode() { - if (this._never) return "never"; - if (this._forever) return "forever"; - if (this._invalidate) return "invalidate"; - return "valid"; - } - }, { - key: "forever", - value: function forever() { - if (!this._active) { - throw new Error("Cannot change caching after evaluation has completed."); - } - - if (this._never) { - throw new Error("Caching has already been configured with .never()"); - } - - this._forever = true; - this._configured = true; - } - }, { - key: "never", - value: function never() { - if (!this._active) { - throw new Error("Cannot change caching after evaluation has completed."); - } - - if (this._forever) { - throw new Error("Caching has already been configured with .forever()"); - } - - this._never = true; - this._configured = true; - } - }, { - key: "using", - value: function using(handler) { - if (!this._active) { - throw new Error("Cannot change caching after evaluation has completed."); - } - - if (this._never || this._forever) { - throw new Error("Caching has already been configured with .never or .forever()"); - } - - this._configured = true; - var key = handler(this._data); - - this._pairs.push([key, handler]); - - return key; - } - }, { - key: "invalidate", - value: function invalidate(handler) { - if (!this._active) { - throw new Error("Cannot change caching after evaluation has completed."); - } - - if (this._never || this._forever) { - throw new Error("Caching has already been configured with .never or .forever()"); - } - - this._invalidate = true; - this._configured = true; - var key = handler(this._data); - - this._pairs.push([key, handler]); - - return key; - } - }, { - key: "validator", - value: function validator() { - var pairs = this._pairs; - return function (data) { - return pairs.every(function (_ref2) { - var _ref3 = _slicedToArray(_ref2, 2), - key = _ref3[0], - fn = _ref3[1]; - - return key === fn(data); - }); - }; - } - }, { - key: "deactivate", - value: function deactivate() { - this._active = false; - } - }, { - key: "configured", - value: function configured() { - return this._configured; - } - }]); - - return CacheConfigurator; -}(); - -function makeSimpleConfigurator(cache) { - function cacheFn(val) { - if (typeof val === "boolean") { - if (val) cache.forever();else cache.never(); - return; - } - - return cache.using(function () { - return assertSimpleType(val()); - }); - } - - cacheFn.forever = function () { - return cache.forever(); - }; - - cacheFn.never = function () { - return cache.never(); - }; - - cacheFn.using = function (cb) { - return cache.using(function () { - return assertSimpleType(cb()); - }); - }; - - cacheFn.invalidate = function (cb) { - return cache.invalidate(function () { - return assertSimpleType(cb()); - }); - }; - - return cacheFn; -} - -function assertSimpleType(value) { - if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") { - throw new Error("Cache keys must be either string, boolean, number, null, or undefined."); - } - - return value; -} - -},{}],3:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.buildPresetChain = buildPresetChain; -exports.buildRootChain = buildRootChain; -exports.buildPresetChainWalker = void 0; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -function _debug() { - var data = _interopRequireDefault(require("debug")); - - _debug = function _debug() { - return data; - }; - - return data; -} - -var _options = require("./validation/options"); - -var _patternToRegex = _interopRequireDefault(require("./pattern-to-regex")); - -var _files = require("./files"); - -var _caching = require("./caching"); - -var _configDescriptors = require("./config-descriptors"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var debug = (0, _debug().default)("babel:config:config-chain"); - -function buildPresetChain(arg, context) { - var chain = buildPresetChainWalker(arg, context); - if (!chain) return null; - return { - plugins: dedupDescriptors(chain.plugins), - presets: dedupDescriptors(chain.presets), - options: chain.options.map(function (o) { - return normalizeOptions(o); - }) - }; -} - -var buildPresetChainWalker = makeChainWalker({ - init: function init(arg) { - return arg; - }, - root: function root(preset) { - return loadPresetDescriptors(preset); - }, - env: function env(preset, envName) { - return loadPresetEnvDescriptors(preset)(envName); - }, - overrides: function overrides(preset, index) { - return loadPresetOverridesDescriptors(preset)(index); - }, - overridesEnv: function overridesEnv(preset, index, envName) { - return loadPresetOverridesEnvDescriptors(preset)(index)(envName); - } -}); -exports.buildPresetChainWalker = buildPresetChainWalker; -var loadPresetDescriptors = (0, _caching.makeWeakCache)(function (preset) { - return buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors); -}); -var loadPresetEnvDescriptors = (0, _caching.makeWeakCache)(function (preset) { - return (0, _caching.makeStrongCache)(function (envName) { - return buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName); - }); -}); -var loadPresetOverridesDescriptors = (0, _caching.makeWeakCache)(function (preset) { - return (0, _caching.makeStrongCache)(function (index) { - return buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index); - }); -}); -var loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCache)(function (preset) { - return (0, _caching.makeStrongCache)(function (index) { - return (0, _caching.makeStrongCache)(function (envName) { - return buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName); - }); - }); -}); - -function buildRootChain(opts, context) { - var programmaticChain = loadProgrammaticChain({ - options: opts, - dirname: context.cwd - }, context); - if (!programmaticChain) return null; - var configFile; - - if (typeof opts.configFile === "string") { - configFile = (0, _files.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller); - } else if (opts.configFile !== false) { - configFile = (0, _files.findRootConfig)(context.root, context.envName, context.caller); - } - - var babelrc = opts.babelrc, - babelrcRoots = opts.babelrcRoots; - var babelrcRootsDirectory = context.cwd; - var configFileChain = emptyChain(); - - if (configFile) { - var validatedFile = validateConfigFile(configFile); - var result = loadFileChain(validatedFile, context); - if (!result) return null; - - if (babelrc === undefined) { - babelrc = validatedFile.options.babelrc; - } - - if (babelrcRoots === undefined) { - babelrcRootsDirectory = validatedFile.dirname; - babelrcRoots = validatedFile.options.babelrcRoots; - } - - mergeChain(configFileChain, result); - } - - var pkgData = typeof context.filename === "string" ? (0, _files.findPackageData)(context.filename) : null; - var ignoreFile, babelrcFile; - var fileChain = emptyChain(); - - if ((babelrc === true || babelrc === undefined) && pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { - var _ref = (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller); - - ignoreFile = _ref.ignore; - babelrcFile = _ref.config; - - if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { - return null; - } - - if (babelrcFile) { - var _result = loadFileChain(validateBabelrcFile(babelrcFile), context); - - if (!_result) return null; - mergeChain(fileChain, _result); - } - } - - var chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain); - return { - plugins: dedupDescriptors(chain.plugins), - presets: dedupDescriptors(chain.presets), - options: chain.options.map(function (o) { - return normalizeOptions(o); - }), - ignore: ignoreFile || undefined, - babelrc: babelrcFile || undefined, - config: configFile || undefined - }; -} - -function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) { - if (typeof babelrcRoots === "boolean") return babelrcRoots; - var absoluteRoot = context.root; - - if (babelrcRoots === undefined) { - return pkgData.directories.indexOf(absoluteRoot) !== -1; - } - - var babelrcPatterns = babelrcRoots; - if (!Array.isArray(babelrcPatterns)) babelrcPatterns = [babelrcPatterns]; - babelrcPatterns = babelrcPatterns.map(function (pat) { - return typeof pat === "string" ? _path().default.resolve(babelrcRootsDirectory, pat) : pat; - }); - - if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) { - return pkgData.directories.indexOf(absoluteRoot) !== -1; - } - - return babelrcPatterns.some(function (pat) { - if (typeof pat === "string") { - pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory); - } - - return pkgData.directories.some(function (directory) { - return matchPattern(pat, babelrcRootsDirectory, directory, context); - }); - }); -} - -var validateConfigFile = (0, _caching.makeWeakCache)(function (file) { - return { - filepath: file.filepath, - dirname: file.dirname, - options: (0, _options.validate)("configfile", file.options) - }; -}); -var validateBabelrcFile = (0, _caching.makeWeakCache)(function (file) { - return { - filepath: file.filepath, - dirname: file.dirname, - options: (0, _options.validate)("babelrcfile", file.options) - }; -}); -var validateExtendFile = (0, _caching.makeWeakCache)(function (file) { - return { - filepath: file.filepath, - dirname: file.dirname, - options: (0, _options.validate)("extendsfile", file.options) - }; -}); -var loadProgrammaticChain = makeChainWalker({ - root: function root(input) { - return buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors); - }, - env: function env(input, envName) { - return buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName); - }, - overrides: function overrides(input, index) { - return buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index); - }, - overridesEnv: function overridesEnv(input, index, envName) { - return buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName); - } -}); -var loadFileChain = makeChainWalker({ - root: function root(file) { - return loadFileDescriptors(file); - }, - env: function env(file, envName) { - return loadFileEnvDescriptors(file)(envName); - }, - overrides: function overrides(file, index) { - return loadFileOverridesDescriptors(file)(index); - }, - overridesEnv: function overridesEnv(file, index, envName) { - return loadFileOverridesEnvDescriptors(file)(index)(envName); - } -}); -var loadFileDescriptors = (0, _caching.makeWeakCache)(function (file) { - return buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors); -}); -var loadFileEnvDescriptors = (0, _caching.makeWeakCache)(function (file) { - return (0, _caching.makeStrongCache)(function (envName) { - return buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName); - }); -}); -var loadFileOverridesDescriptors = (0, _caching.makeWeakCache)(function (file) { - return (0, _caching.makeStrongCache)(function (index) { - return buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index); - }); -}); -var loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCache)(function (file) { - return (0, _caching.makeStrongCache)(function (index) { - return (0, _caching.makeStrongCache)(function (envName) { - return buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName); - }); - }); -}); - -function buildRootDescriptors(_ref2, alias, descriptors) { - var dirname = _ref2.dirname, - options = _ref2.options; - return descriptors(dirname, options, alias); -} - -function buildEnvDescriptors(_ref3, alias, descriptors, envName) { - var dirname = _ref3.dirname, - options = _ref3.options; - var opts = options.env && options.env[envName]; - return opts ? descriptors(dirname, opts, "".concat(alias, ".env[\"").concat(envName, "\"]")) : null; -} - -function buildOverrideDescriptors(_ref4, alias, descriptors, index) { - var dirname = _ref4.dirname, - options = _ref4.options; - var opts = options.overrides && options.overrides[index]; - if (!opts) throw new Error("Assertion failure - missing override"); - return descriptors(dirname, opts, "".concat(alias, ".overrides[").concat(index, "]")); -} - -function buildOverrideEnvDescriptors(_ref5, alias, descriptors, index, envName) { - var dirname = _ref5.dirname, - options = _ref5.options; - var override = options.overrides && options.overrides[index]; - if (!override) throw new Error("Assertion failure - missing override"); - var opts = override.env && override.env[envName]; - return opts ? descriptors(dirname, opts, "".concat(alias, ".overrides[").concat(index, "].env[\"").concat(envName, "\"]")) : null; -} - -function makeChainWalker(_ref6) { - var root = _ref6.root, - env = _ref6.env, - overrides = _ref6.overrides, - overridesEnv = _ref6.overridesEnv; - return function (input, context) { - var files = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set(); - var dirname = input.dirname; - var flattenedConfigs = []; - var rootOpts = root(input); - - if (configIsApplicable(rootOpts, dirname, context)) { - flattenedConfigs.push(rootOpts); - var envOpts = env(input, context.envName); - - if (envOpts && configIsApplicable(envOpts, dirname, context)) { - flattenedConfigs.push(envOpts); - } - - (rootOpts.options.overrides || []).forEach(function (_, index) { - var overrideOps = overrides(input, index); - - if (configIsApplicable(overrideOps, dirname, context)) { - flattenedConfigs.push(overrideOps); - var overrideEnvOpts = overridesEnv(input, index, context.envName); - - if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context)) { - flattenedConfigs.push(overrideEnvOpts); - } - } - }); - } - - if (flattenedConfigs.some(function (_ref7) { - var _ref7$options = _ref7.options, - ignore = _ref7$options.ignore, - only = _ref7$options.only; - return shouldIgnore(context, ignore, only, dirname); - })) { - return null; - } - - var chain = emptyChain(); - - for (var _i = 0, _flattenedConfigs = flattenedConfigs; _i < _flattenedConfigs.length; _i++) { - var op = _flattenedConfigs[_i]; - - if (!mergeExtendsChain(chain, op.options, dirname, context, files)) { - return null; - } - - mergeChainOpts(chain, op); - } - - return chain; - }; -} - -function mergeExtendsChain(chain, opts, dirname, context, files) { - if (opts.extends === undefined) return true; - var file = (0, _files.loadConfig)(opts.extends, dirname, context.envName, context.caller); - - if (files.has(file)) { - throw new Error("Configuration cycle detected loading ".concat(file.filepath, ".\n") + "File already loaded following the config chain:\n" + Array.from(files, function (file) { - return " - ".concat(file.filepath); - }).join("\n")); - } - - files.add(file); - var fileChain = loadFileChain(validateExtendFile(file), context, files); - files.delete(file); - if (!fileChain) return false; - mergeChain(chain, fileChain); - return true; -} - -function mergeChain(target, source) { - var _target$options, _target$plugins, _target$presets; - - (_target$options = target.options).push.apply(_target$options, _toConsumableArray(source.options)); - - (_target$plugins = target.plugins).push.apply(_target$plugins, _toConsumableArray(source.plugins)); - - (_target$presets = target.presets).push.apply(_target$presets, _toConsumableArray(source.presets)); - - return target; -} - -function mergeChainOpts(target, _ref8) { - var _target$plugins2, _target$presets2; - - var options = _ref8.options, - plugins = _ref8.plugins, - presets = _ref8.presets; - target.options.push(options); - - (_target$plugins2 = target.plugins).push.apply(_target$plugins2, _toConsumableArray(plugins())); - - (_target$presets2 = target.presets).push.apply(_target$presets2, _toConsumableArray(presets())); - - return target; -} - -function emptyChain() { - return { - options: [], - presets: [], - plugins: [] - }; -} - -function normalizeOptions(opts) { - var options = Object.assign({}, opts); - delete options.extends; - delete options.env; - delete options.overrides; - delete options.plugins; - delete options.presets; - delete options.passPerPreset; - delete options.ignore; - delete options.only; - delete options.test; - delete options.include; - delete options.exclude; - - if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) { - options.sourceMaps = options.sourceMap; - delete options.sourceMap; - } - - return options; -} - -function dedupDescriptors(items) { - var map = new Map(); - var descriptors = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var item = _step.value; - - if (typeof item.value === "function") { - var fnKey = item.value; - var nameMap = map.get(fnKey); - - if (!nameMap) { - nameMap = new Map(); - map.set(fnKey, nameMap); - } - - var desc = nameMap.get(item.name); - - if (!desc) { - desc = { - value: item - }; - descriptors.push(desc); - if (!item.ownPass) nameMap.set(item.name, desc); - } else { - desc.value = item; - } - } else { - descriptors.push({ - value: item - }); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return descriptors.reduce(function (acc, desc) { - acc.push(desc.value); - return acc; - }, []); -} - -function configIsApplicable(_ref9, dirname, context) { - var options = _ref9.options; - return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname)); -} - -function configFieldIsApplicable(context, test, dirname) { - var patterns = Array.isArray(test) ? test : [test]; - return matchesPatterns(context, patterns, dirname); -} - -function shouldIgnore(context, ignore, only, dirname) { - if (ignore && matchesPatterns(context, ignore, dirname)) { - debug("Ignored %o because it matched one of %O from %o", context.filename, ignore, dirname); - return true; - } - - if (only && !matchesPatterns(context, only, dirname)) { - debug("Ignored %o because it failed to match one of %O from %o", context.filename, only, dirname); - return true; - } - - return false; -} - -function matchesPatterns(context, patterns, dirname) { - return patterns.some(function (pattern) { - return matchPattern(pattern, dirname, context.filename, context); - }); -} - -function matchPattern(pattern, dirname, pathToTest, context) { - if (typeof pattern === "function") { - return !!pattern(pathToTest, { - dirname: dirname, - envName: context.envName, - caller: context.caller - }); - } - - if (typeof pathToTest !== "string") { - throw new Error("Configuration contains string/RegExp pattern, but no filename was passed to Babel"); - } - - if (typeof pattern === "string") { - pattern = (0, _patternToRegex.default)(pattern, dirname); - } - - return pattern.test(pathToTest); -} - -},{"./caching":2,"./config-descriptors":4,"./files":5,"./pattern-to-regex":12,"./validation/options":16,"debug":34,"path":1052}],4:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createCachedDescriptors = createCachedDescriptors; -exports.createUncachedDescriptors = createUncachedDescriptors; -exports.createDescriptor = createDescriptor; - -var _files = require("./files"); - -var _item = require("./item"); - -var _caching = require("./caching"); - -function isEqualDescriptor(a, b) { - return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved); -} - -function createCachedDescriptors(dirname, options, alias) { - var plugins = options.plugins, - presets = options.presets, - passPerPreset = options.passPerPreset; - return { - options: options, - plugins: plugins ? function () { - return createCachedPluginDescriptors(plugins, dirname)(alias); - } : function () { - return []; - }, - presets: presets ? function () { - return createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset); - } : function () { - return []; - } - }; -} - -function createUncachedDescriptors(dirname, options, alias) { - var _plugins; - - var _presets; - - return { - options: options, - plugins: function plugins() { - if (!_plugins) { - _plugins = createPluginDescriptors(options.plugins || [], dirname, alias); - } - - return _plugins; - }, - presets: function presets() { - if (!_presets) { - _presets = createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset); - } - - return _presets; - } - }; -} - -var PRESET_DESCRIPTOR_CACHE = new WeakMap(); -var createCachedPresetDescriptors = (0, _caching.makeWeakCache)(function (items, cache) { - var dirname = cache.using(function (dir) { - return dir; - }); - return (0, _caching.makeStrongCache)(function (alias) { - return (0, _caching.makeStrongCache)(function (passPerPreset) { - return createPresetDescriptors(items, dirname, alias, passPerPreset).map(function (desc) { - return loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc); - }); - }); - }); -}); -var PLUGIN_DESCRIPTOR_CACHE = new WeakMap(); -var createCachedPluginDescriptors = (0, _caching.makeWeakCache)(function (items, cache) { - var dirname = cache.using(function (dir) { - return dir; - }); - return (0, _caching.makeStrongCache)(function (alias) { - return createPluginDescriptors(items, dirname, alias).map(function (desc) { - return loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc); - }); - }); -}); -var DEFAULT_OPTIONS = {}; - -function loadCachedDescriptor(cache, desc) { - var value = desc.value, - _desc$options = desc.options, - options = _desc$options === void 0 ? DEFAULT_OPTIONS : _desc$options; - if (options === false) return desc; - var cacheByOptions = cache.get(value); - - if (!cacheByOptions) { - cacheByOptions = new WeakMap(); - cache.set(value, cacheByOptions); - } - - var possibilities = cacheByOptions.get(options); - - if (!possibilities) { - possibilities = []; - cacheByOptions.set(options, possibilities); - } - - if (possibilities.indexOf(desc) === -1) { - var matches = possibilities.filter(function (possibility) { - return isEqualDescriptor(possibility, desc); - }); - - if (matches.length > 0) { - return matches[0]; - } - - possibilities.push(desc); - } - - return desc; -} - -function createPresetDescriptors(items, dirname, alias, passPerPreset) { - return createDescriptors("preset", items, dirname, alias, passPerPreset); -} - -function createPluginDescriptors(items, dirname, alias) { - return createDescriptors("plugin", items, dirname, alias); -} - -function createDescriptors(type, items, dirname, alias, ownPass) { - var descriptors = items.map(function (item, index) { - return createDescriptor(item, dirname, { - type: type, - alias: "".concat(alias, "$").concat(index), - ownPass: !!ownPass - }); - }); - assertNoDuplicates(descriptors); - return descriptors; -} - -function createDescriptor(pair, dirname, _ref) { - var type = _ref.type, - alias = _ref.alias, - ownPass = _ref.ownPass; - var desc = (0, _item.getItemDescriptor)(pair); - - if (desc) { - return desc; - } - - var name; - var options; - var value = pair; - - if (Array.isArray(value)) { - if (value.length === 3) { - var _value = value; - - var _value2 = _slicedToArray(_value, 3); - - value = _value2[0]; - options = _value2[1]; - name = _value2[2]; - } else { - var _value3 = value; - - var _value4 = _slicedToArray(_value3, 2); - - value = _value4[0]; - options = _value4[1]; - } - } - - var file = undefined; - var filepath = null; - - if (typeof value === "string") { - if (typeof type !== "string") { - throw new Error("To resolve a string-based item, the type of item must be given"); - } - - var resolver = type === "plugin" ? _files.loadPlugin : _files.loadPreset; - var request = value; - - var _resolver = resolver(value, dirname); - - filepath = _resolver.filepath; - value = _resolver.value; - file = { - request: request, - resolved: filepath - }; - } - - if (!value) { - throw new Error("Unexpected falsy value: ".concat(String(value))); - } - - if (_typeof(value) === "object" && value.__esModule) { - if (value.default) { - value = value.default; - } else { - throw new Error("Must export a default export when using ES6 modules."); - } - } - - if (_typeof(value) !== "object" && typeof value !== "function") { - throw new Error("Unsupported format: ".concat(_typeof(value), ". Expected an object or a function.")); - } - - if (filepath !== null && _typeof(value) === "object" && value) { - throw new Error("Plugin/Preset files are not allowed to export objects, only functions. In ".concat(filepath)); - } - - return { - name: name, - alias: filepath || alias, - value: value, - options: options, - dirname: dirname, - ownPass: ownPass, - file: file - }; -} - -function assertNoDuplicates(items) { - var map = new Map(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - var _loop = function _loop() { - var item = _step.value; - if (typeof item.value !== "function") return "continue"; - var nameMap = map.get(item.value); - - if (!nameMap) { - nameMap = new Set(); - map.set(item.value, nameMap); - } - - if (nameMap.has(item.name)) { - var conflicts = items.filter(function (i) { - return i.value === item.value; - }); - throw new Error(["Duplicate plugin/preset detected.", "If you'd like to use two separate instances of a plugin,", "they need separate names, e.g.", "", " plugins: [", " ['some-plugin', {}],", " ['some-plugin', {}, 'some unique name'],", " ]", "", "Duplicates detected are:", "".concat(JSON.stringify(conflicts, null, 2))].join("\n")); - } - - nameMap.add(item.name); - }; - - for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ret = _loop(); - - if (_ret === "continue") continue; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -} - -},{"./caching":2,"./files":5,"./item":10}],5:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.findConfigUpwards = findConfigUpwards; -exports.findPackageData = findPackageData; -exports.findRelativeConfig = findRelativeConfig; -exports.findRootConfig = findRootConfig; -exports.loadConfig = loadConfig; -exports.resolvePlugin = resolvePlugin; -exports.resolvePreset = resolvePreset; -exports.loadPlugin = loadPlugin; -exports.loadPreset = loadPreset; - -function findConfigUpwards(rootDir) { - return null; -} - -function findPackageData(filepath) { - return { - filepath: filepath, - directories: [], - pkg: null, - isPackage: false - }; -} - -function findRelativeConfig(pkgData, envName, caller) { - return { - pkg: null, - config: null, - ignore: null - }; -} - -function findRootConfig(dirname, envName, caller) { - return null; -} - -function loadConfig(name, dirname, envName, caller) { - throw new Error("Cannot load ".concat(name, " relative to ").concat(dirname, " in a browser")); -} - -function resolvePlugin(name, dirname) { - return null; -} - -function resolvePreset(name, dirname) { - return null; -} - -function loadPlugin(name, dirname) { - throw new Error("Cannot load plugin ".concat(name, " relative to ").concat(dirname, " in a browser")); -} - -function loadPreset(name, dirname) { - throw new Error("Cannot load preset ".concat(name, " relative to ").concat(dirname, " in a browser")); -} - -},{}],6:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = loadFullConfig; - -var _util = require("./util"); - -var context = _interopRequireWildcard(require("../index")); - -var _plugin = _interopRequireDefault(require("./plugin")); - -var _item = require("./item"); - -var _configChain = require("./config-chain"); - -function _traverse() { - var data = _interopRequireDefault(require("@babel/traverse")); - - _traverse = function _traverse() { - return data; - }; - - return data; -} - -var _caching = require("./caching"); - -var _options = require("./validation/options"); - -var _plugins = require("./validation/plugins"); - -var _configApi = _interopRequireDefault(require("./helpers/config-api")); - -var _partial = _interopRequireDefault(require("./partial")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function loadFullConfig(inputOpts) { - var result = (0, _partial.default)(inputOpts); - - if (!result) { - return null; - } - - var options = result.options, - context = result.context; - var optionDefaults = {}; - var passes = [[]]; - - try { - var plugins = options.plugins, - presets = options.presets; - - if (!plugins || !presets) { - throw new Error("Assertion failure - plugins and presets exist"); - } - - var ignored = function recurseDescriptors(config, pass) { - var plugins = config.plugins.reduce(function (acc, descriptor) { - if (descriptor.options !== false) { - acc.push(loadPluginDescriptor(descriptor, context)); - } - - return acc; - }, []); - var presets = config.presets.reduce(function (acc, descriptor) { - if (descriptor.options !== false) { - acc.push({ - preset: loadPresetDescriptor(descriptor, context), - pass: descriptor.ownPass ? [] : pass - }); - } - - return acc; - }, []); - - if (presets.length > 0) { - passes.splice.apply(passes, [1, 0].concat(_toConsumableArray(presets.map(function (o) { - return o.pass; - }).filter(function (p) { - return p !== pass; - })))); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = presets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ref = _step.value; - var preset = _ref.preset, - _pass = _ref.pass; - if (!preset) return true; - - var _ignored = recurseDescriptors({ - plugins: preset.plugins, - presets: preset.presets - }, _pass); - - if (_ignored) return true; - preset.options.forEach(function (opts) { - (0, _util.mergeOptions)(optionDefaults, opts); - }); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - if (plugins.length > 0) { - pass.unshift.apply(pass, _toConsumableArray(plugins)); - } - }({ - plugins: plugins.map(function (item) { - var desc = (0, _item.getItemDescriptor)(item); - - if (!desc) { - throw new Error("Assertion failure - must be config item"); - } - - return desc; - }), - presets: presets.map(function (item) { - var desc = (0, _item.getItemDescriptor)(item); - - if (!desc) { - throw new Error("Assertion failure - must be config item"); - } - - return desc; - }) - }, passes[0]); - - if (ignored) return null; - } catch (e) { - if (!/^\[BABEL\]/.test(e.message)) { - e.message = "[BABEL] ".concat(context.filename || "unknown", ": ").concat(e.message); - } - - throw e; - } - - var opts = optionDefaults; - (0, _util.mergeOptions)(opts, options); - opts.plugins = passes[0]; - opts.presets = passes.slice(1).filter(function (plugins) { - return plugins.length > 0; - }).map(function (plugins) { - return { - plugins: plugins - }; - }); - opts.passPerPreset = opts.presets.length > 0; - return { - options: opts, - passes: passes - }; -} - -var loadDescriptor = (0, _caching.makeWeakCache)(function (_ref2, cache) { - var value = _ref2.value, - options = _ref2.options, - dirname = _ref2.dirname, - alias = _ref2.alias; - if (options === false) throw new Error("Assertion failure"); - options = options || {}; - var item = value; - - if (typeof value === "function") { - var api = Object.assign({}, context, {}, (0, _configApi.default)(cache)); - - try { - item = value(api, options, dirname); - } catch (e) { - if (alias) { - e.message += " (While processing: ".concat(JSON.stringify(alias), ")"); - } - - throw e; - } - } - - if (!item || _typeof(item) !== "object") { - throw new Error("Plugin/Preset did not return an object."); - } - - if (typeof item.then === "function") { - throw new Error("You appear to be using an async plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version."); - } - - return { - value: item, - options: options, - dirname: dirname, - alias: alias - }; -}); - -function loadPluginDescriptor(descriptor, context) { - if (descriptor.value instanceof _plugin.default) { - if (descriptor.options) { - throw new Error("Passed options to an existing Plugin instance will not work."); - } - - return descriptor.value; - } - - return instantiatePlugin(loadDescriptor(descriptor, context), context); -} - -var instantiatePlugin = (0, _caching.makeWeakCache)(function (_ref3, cache) { - var value = _ref3.value, - options = _ref3.options, - dirname = _ref3.dirname, - alias = _ref3.alias; - var pluginObj = (0, _plugins.validatePluginObject)(value); - var plugin = Object.assign({}, pluginObj); - - if (plugin.visitor) { - plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor)); - } - - if (plugin.inherits) { - var inheritsDescriptor = { - name: undefined, - alias: "".concat(alias, "$inherits"), - value: plugin.inherits, - options: options, - dirname: dirname - }; - var inherits = cache.invalidate(function (data) { - return loadPluginDescriptor(inheritsDescriptor, data); - }); - plugin.pre = chain(inherits.pre, plugin.pre); - plugin.post = chain(inherits.post, plugin.post); - plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions); - plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]); - } - - return new _plugin.default(plugin, options, alias); -}); - -var validateIfOptionNeedsFilename = function validateIfOptionNeedsFilename(options, descriptor) { - if (options.test || options.include || options.exclude) { - var formattedPresetName = descriptor.name ? "\"".concat(descriptor.name, "\"") : "/* your preset */"; - throw new Error(["Preset ".concat(formattedPresetName, " requires a filename to be set when babel is called directly,"), "```", "babel.transform(code, { filename: 'file.ts', presets: [".concat(formattedPresetName, "] });"), "```", "See https://babeljs.io/docs/en/options#filename for more information."].join("\n")); - } -}; - -var validatePreset = function validatePreset(preset, context, descriptor) { - if (!context.filename) { - var options = preset.options; - validateIfOptionNeedsFilename(options, descriptor); - - if (options.overrides) { - options.overrides.forEach(function (overrideOptions) { - return validateIfOptionNeedsFilename(overrideOptions, descriptor); - }); - } - } -}; - -var loadPresetDescriptor = function loadPresetDescriptor(descriptor, context) { - var preset = instantiatePreset(loadDescriptor(descriptor, context)); - validatePreset(preset, context, descriptor); - return (0, _configChain.buildPresetChain)(preset, context); -}; - -var instantiatePreset = (0, _caching.makeWeakCache)(function (_ref4) { - var value = _ref4.value, - dirname = _ref4.dirname, - alias = _ref4.alias; - return { - options: (0, _options.validate)("preset", value), - alias: alias, - dirname: dirname - }; -}); - -function chain(a, b) { - var fns = [a, b].filter(Boolean); - if (fns.length <= 1) return fns[0]; - return function () { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = fns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var fn = _step2.value; - fn.apply(this, args); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - }; -} - -},{"../index":19,"./caching":2,"./config-chain":3,"./helpers/config-api":7,"./item":10,"./partial":11,"./plugin":13,"./util":14,"./validation/options":16,"./validation/plugins":17,"@babel/traverse":176}],7:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = makeAPI; - -function _semver() { - var data = _interopRequireDefault(require("semver")); - - _semver = function _semver() { - return data; - }; - - return data; -} - -var _ = require("../../"); - -var _caching = require("../caching"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function makeAPI(cache) { - var env = function env(value) { - return cache.using(function (data) { - if (typeof value === "undefined") return data.envName; - - if (typeof value === "function") { - return (0, _caching.assertSimpleType)(value(data.envName)); - } - - if (!Array.isArray(value)) value = [value]; - return value.some(function (entry) { - if (typeof entry !== "string") { - throw new Error("Unexpected non-string value"); - } - - return entry === data.envName; - }); - }); - }; - - var caller = function caller(cb) { - return cache.using(function (data) { - return (0, _caching.assertSimpleType)(cb(data.caller)); - }); - }; - - return { - version: _.version, - cache: cache.simple(), - env: env, - async: function async() { - return false; - }, - caller: caller, - assertVersion: assertVersion, - tokTypes: undefined - }; -} - -function assertVersion(range) { - if (typeof range === "number") { - if (!Number.isInteger(range)) { - throw new Error("Expected string or integer value."); - } - - range = "^".concat(range, ".0.0-0"); - } - - if (typeof range !== "string") { - throw new Error("Expected string or integer value."); - } - - if (_semver().default.satisfies(_.version, range)) return; - var limit = Error.stackTraceLimit; - - if (typeof limit === "number" && limit < 25) { - Error.stackTraceLimit = 25; - } - - var err = new Error("Requires Babel \"".concat(range, "\", but was loaded with \"").concat(_.version, "\". ") + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel."); - - if (typeof limit === "number") { - Error.stackTraceLimit = limit; - } - - throw Object.assign(err, { - code: "BABEL_VERSION_UNSUPPORTED", - version: _.version, - range: range - }); -} - -},{"../../":19,"../caching":2,"semver":1070}],8:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getEnv = getEnv; - -function getEnv() { - var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "development"; - return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue; -} - -}).call(this,require('_process')) -},{"_process":1054}],9:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.loadOptions = loadOptions; -Object.defineProperty(exports, "default", { - enumerable: true, - get: function get() { - return _full.default; - } -}); -Object.defineProperty(exports, "loadPartialConfig", { - enumerable: true, - get: function get() { - return _partial.loadPartialConfig; - } -}); - -var _full = _interopRequireDefault(require("./full")); - -var _partial = require("./partial"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function loadOptions(opts) { - var config = (0, _full.default)(opts); - return config ? config.options : null; -} - -},{"./full":6,"./partial":11}],10:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createItemFromDescriptor = createItemFromDescriptor; -exports.createConfigItem = createConfigItem; -exports.getItemDescriptor = getItemDescriptor; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -var _configDescriptors = require("./config-descriptors"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function createItemFromDescriptor(desc) { - return new ConfigItem(desc); -} - -function createConfigItem(value) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$dirname = _ref.dirname, - dirname = _ref$dirname === void 0 ? "." : _ref$dirname, - type = _ref.type; - - var descriptor = (0, _configDescriptors.createDescriptor)(value, _path().default.resolve(dirname), { - type: type, - alias: "programmatic item" - }); - return createItemFromDescriptor(descriptor); -} - -function getItemDescriptor(item) { - if (item instanceof ConfigItem) { - return item._descriptor; - } - - return undefined; -} - -var ConfigItem = function ConfigItem(descriptor) { - _classCallCheck(this, ConfigItem); - - this._descriptor = descriptor; - Object.defineProperty(this, "_descriptor", { - enumerable: false - }); - this.value = this._descriptor.value; - this.options = this._descriptor.options; - this.dirname = this._descriptor.dirname; - this.name = this._descriptor.name; - this.file = this._descriptor.file ? { - request: this._descriptor.file.request, - resolved: this._descriptor.file.resolved - } : undefined; - Object.freeze(this); -}; - -Object.freeze(ConfigItem.prototype); - -},{"./config-descriptors":4,"path":1052}],11:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = loadPrivatePartialConfig; -exports.loadPartialConfig = loadPartialConfig; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -var _plugin = _interopRequireDefault(require("./plugin")); - -var _util = require("./util"); - -var _item = require("./item"); - -var _configChain = require("./config-chain"); - -var _environment = require("./helpers/environment"); - -var _options = require("./validation/options"); - -var _files = require("./files"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function resolveRootMode(rootDir, rootMode) { - switch (rootMode) { - case "root": - return rootDir; - - case "upward-optional": - { - var upwardRootDir = (0, _files.findConfigUpwards)(rootDir); - return upwardRootDir === null ? rootDir : upwardRootDir; - } - - case "upward": - { - var _upwardRootDir = (0, _files.findConfigUpwards)(rootDir); - - if (_upwardRootDir !== null) return _upwardRootDir; - throw Object.assign(new Error("Babel was run with rootMode:\"upward\" but a root could not " + "be found when searching upward from \"".concat(rootDir, "\"")), { - code: "BABEL_ROOT_NOT_FOUND", - dirname: rootDir - }); - } - - default: - throw new Error("Assertion failure - unknown rootMode value"); - } -} - -function loadPrivatePartialConfig(inputOpts) { - if (inputOpts != null && (_typeof(inputOpts) !== "object" || Array.isArray(inputOpts))) { - throw new Error("Babel options must be an object, null, or undefined"); - } - - var args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {}; - var _args$envName = args.envName, - envName = _args$envName === void 0 ? (0, _environment.getEnv)() : _args$envName, - _args$cwd = args.cwd, - cwd = _args$cwd === void 0 ? "." : _args$cwd, - _args$root = args.root, - rootDir = _args$root === void 0 ? "." : _args$root, - _args$rootMode = args.rootMode, - rootMode = _args$rootMode === void 0 ? "root" : _args$rootMode, - caller = args.caller; - - var absoluteCwd = _path().default.resolve(cwd); - - var absoluteRootDir = resolveRootMode(_path().default.resolve(absoluteCwd, rootDir), rootMode); - var context = { - filename: typeof args.filename === "string" ? _path().default.resolve(cwd, args.filename) : undefined, - cwd: absoluteCwd, - root: absoluteRootDir, - envName: envName, - caller: caller - }; - var configChain = (0, _configChain.buildRootChain)(args, context); - if (!configChain) return null; - var options = {}; - configChain.options.forEach(function (opts) { - (0, _util.mergeOptions)(options, opts); - }); - options.babelrc = false; - options.configFile = false; - options.passPerPreset = false; - options.envName = context.envName; - options.cwd = context.cwd; - options.root = context.root; - options.filename = typeof context.filename === "string" ? context.filename : undefined; - options.plugins = configChain.plugins.map(function (descriptor) { - return (0, _item.createItemFromDescriptor)(descriptor); - }); - options.presets = configChain.presets.map(function (descriptor) { - return (0, _item.createItemFromDescriptor)(descriptor); - }); - return { - options: options, - context: context, - ignore: configChain.ignore, - babelrc: configChain.babelrc, - config: configChain.config - }; -} - -function loadPartialConfig(inputOpts) { - var result = loadPrivatePartialConfig(inputOpts); - if (!result) return null; - var options = result.options, - babelrc = result.babelrc, - ignore = result.ignore, - config = result.config; - (options.plugins || []).forEach(function (item) { - if (item.value instanceof _plugin.default) { - throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()"); - } - }); - return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined); -} - -var PartialConfig = -/*#__PURE__*/ -function () { - function PartialConfig(options, babelrc, ignore, config) { - _classCallCheck(this, PartialConfig); - - this.options = options; - this.babelignore = ignore; - this.babelrc = babelrc; - this.config = config; - Object.freeze(this); - } - - _createClass(PartialConfig, [{ - key: "hasFilesystemConfig", - value: function hasFilesystemConfig() { - return this.babelrc !== undefined || this.config !== undefined; - } - }]); - - return PartialConfig; -}(); - -Object.freeze(PartialConfig.prototype); - -},{"./config-chain":3,"./files":5,"./helpers/environment":8,"./item":10,"./plugin":13,"./util":14,"./validation/options":16,"path":1052}],12:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = pathToPattern; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -function _escapeRegExp() { - var data = _interopRequireDefault(require("lodash/escapeRegExp")); - - _escapeRegExp = function _escapeRegExp() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var sep = "\\".concat(_path().default.sep); -var endSep = "(?:".concat(sep, "|$)"); -var substitution = "[^".concat(sep, "]+"); -var starPat = "(?:".concat(substitution).concat(sep, ")"); -var starPatLast = "(?:".concat(substitution).concat(endSep, ")"); -var starStarPat = "".concat(starPat, "*?"); -var starStarPatLast = "".concat(starPat, "*?").concat(starPatLast, "?"); - -function pathToPattern(pattern, dirname) { - var parts = _path().default.resolve(dirname, pattern).split(_path().default.sep); - - return new RegExp(["^"].concat(_toConsumableArray(parts.map(function (part, i) { - var last = i === parts.length - 1; - if (part === "**") return last ? starStarPatLast : starStarPat; - if (part === "*") return last ? starPatLast : starPat; - - if (part.indexOf("*.") === 0) { - return substitution + (0, _escapeRegExp().default)(part.slice(1)) + (last ? endSep : sep); - } - - return (0, _escapeRegExp().default)(part) + (last ? endSep : sep); - }))).join("")); -} - -},{"lodash/escapeRegExp":1009,"path":1052}],13:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var Plugin = function Plugin(plugin, options, key) { - _classCallCheck(this, Plugin); - - this.key = plugin.name || key; - this.manipulateOptions = plugin.manipulateOptions; - this.post = plugin.post; - this.pre = plugin.pre; - this.visitor = plugin.visitor || {}; - this.parserOverride = plugin.parserOverride; - this.generatorOverride = plugin.generatorOverride; - this.options = options; -}; - -exports.default = Plugin; - -},{}],14:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.mergeOptions = mergeOptions; - -function mergeOptions(target, source) { - for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) { - var k = _Object$keys[_i]; - - if (k === "parserOpts" && source.parserOpts) { - var parserOpts = source.parserOpts; - var targetObj = target.parserOpts = target.parserOpts || {}; - mergeDefaultFields(targetObj, parserOpts); - } else if (k === "generatorOpts" && source.generatorOpts) { - var generatorOpts = source.generatorOpts; - - var _targetObj = target.generatorOpts = target.generatorOpts || {}; - - mergeDefaultFields(_targetObj, generatorOpts); - } else { - var val = source[k]; - if (val !== undefined) target[k] = val; - } - } -} - -function mergeDefaultFields(target, source) { - for (var _i2 = 0, _Object$keys2 = Object.keys(source); _i2 < _Object$keys2.length; _i2++) { - var k = _Object$keys2[_i2]; - var val = source[k]; - if (val !== undefined) target[k] = val; - } -} - -},{}],15:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.msg = msg; -exports.access = access; -exports.assertRootMode = assertRootMode; -exports.assertSourceMaps = assertSourceMaps; -exports.assertCompact = assertCompact; -exports.assertSourceType = assertSourceType; -exports.assertCallerMetadata = assertCallerMetadata; -exports.assertInputSourceMap = assertInputSourceMap; -exports.assertString = assertString; -exports.assertFunction = assertFunction; -exports.assertBoolean = assertBoolean; -exports.assertObject = assertObject; -exports.assertArray = assertArray; -exports.assertIgnoreList = assertIgnoreList; -exports.assertConfigApplicableTest = assertConfigApplicableTest; -exports.assertConfigFileSearch = assertConfigFileSearch; -exports.assertBabelrcSearch = assertBabelrcSearch; -exports.assertPluginList = assertPluginList; - -function msg(loc) { - switch (loc.type) { - case "root": - return ""; - - case "env": - return "".concat(msg(loc.parent), ".env[\"").concat(loc.name, "\"]"); - - case "overrides": - return "".concat(msg(loc.parent), ".overrides[").concat(loc.index, "]"); - - case "option": - return "".concat(msg(loc.parent), ".").concat(loc.name); - - case "access": - return "".concat(msg(loc.parent), "[").concat(JSON.stringify(loc.name), "]"); - - default: - throw new Error("Assertion failure: Unknown type ".concat(loc.type)); - } -} - -function access(loc, name) { - return { - type: "access", - name: name, - parent: loc - }; -} - -function assertRootMode(loc, value) { - if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") { - throw new Error("".concat(msg(loc), " must be a \"root\", \"upward\", \"upward-optional\" or undefined")); - } - - return value; -} - -function assertSourceMaps(loc, value) { - if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") { - throw new Error("".concat(msg(loc), " must be a boolean, \"inline\", \"both\", or undefined")); - } - - return value; -} - -function assertCompact(loc, value) { - if (value !== undefined && typeof value !== "boolean" && value !== "auto") { - throw new Error("".concat(msg(loc), " must be a boolean, \"auto\", or undefined")); - } - - return value; -} - -function assertSourceType(loc, value) { - if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") { - throw new Error("".concat(msg(loc), " must be \"module\", \"script\", \"unambiguous\", or undefined")); - } - - return value; -} - -function assertCallerMetadata(loc, value) { - var obj = assertObject(loc, value); - - if (obj) { - if (typeof obj["name"] !== "string") { - throw new Error("".concat(msg(loc), " set but does not contain \"name\" property string")); - } - - for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { - var prop = _Object$keys[_i]; - var propLoc = access(loc, prop); - var _value = obj[prop]; - - if (_value != null && typeof _value !== "boolean" && typeof _value !== "string" && typeof _value !== "number") { - throw new Error("".concat(msg(propLoc), " must be null, undefined, a boolean, a string, or a number.")); - } - } - } - - return value; -} - -function assertInputSourceMap(loc, value) { - if (value !== undefined && typeof value !== "boolean" && (_typeof(value) !== "object" || !value)) { - throw new Error("".concat(msg(loc), " must be a boolean, object, or undefined")); - } - - return value; -} - -function assertString(loc, value) { - if (value !== undefined && typeof value !== "string") { - throw new Error("".concat(msg(loc), " must be a string, or undefined")); - } - - return value; -} - -function assertFunction(loc, value) { - if (value !== undefined && typeof value !== "function") { - throw new Error("".concat(msg(loc), " must be a function, or undefined")); - } - - return value; -} - -function assertBoolean(loc, value) { - if (value !== undefined && typeof value !== "boolean") { - throw new Error("".concat(msg(loc), " must be a boolean, or undefined")); - } - - return value; -} - -function assertObject(loc, value) { - if (value !== undefined && (_typeof(value) !== "object" || Array.isArray(value) || !value)) { - throw new Error("".concat(msg(loc), " must be an object, or undefined")); - } - - return value; -} - -function assertArray(loc, value) { - if (value != null && !Array.isArray(value)) { - throw new Error("".concat(msg(loc), " must be an array, or undefined")); - } - - return value; -} - -function assertIgnoreList(loc, value) { - var arr = assertArray(loc, value); - - if (arr) { - arr.forEach(function (item, i) { - return assertIgnoreItem(access(loc, i), item); - }); - } - - return arr; -} - -function assertIgnoreItem(loc, value) { - if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) { - throw new Error("".concat(msg(loc), " must be an array of string/Function/RegExp values, or undefined")); - } - - return value; -} - -function assertConfigApplicableTest(loc, value) { - if (value === undefined) return value; - - if (Array.isArray(value)) { - value.forEach(function (item, i) { - if (!checkValidTest(item)) { - throw new Error("".concat(msg(access(loc, i)), " must be a string/Function/RegExp.")); - } - }); - } else if (!checkValidTest(value)) { - throw new Error("".concat(msg(loc), " must be a string/Function/RegExp, or an array of those")); - } - - return value; -} - -function checkValidTest(value) { - return typeof value === "string" || typeof value === "function" || value instanceof RegExp; -} - -function assertConfigFileSearch(loc, value) { - if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") { - throw new Error("".concat(msg(loc), " must be a undefined, a boolean, a string, ") + "got ".concat(JSON.stringify(value))); - } - - return value; -} - -function assertBabelrcSearch(loc, value) { - if (value === undefined || typeof value === "boolean") return value; - - if (Array.isArray(value)) { - value.forEach(function (item, i) { - if (!checkValidTest(item)) { - throw new Error("".concat(msg(access(loc, i)), " must be a string/Function/RegExp.")); - } - }); - } else if (!checkValidTest(value)) { - throw new Error("".concat(msg(loc), " must be a undefined, a boolean, a string/Function/RegExp ") + "or an array of those, got ".concat(JSON.stringify(value))); - } - - return value; -} - -function assertPluginList(loc, value) { - var arr = assertArray(loc, value); - - if (arr) { - arr.forEach(function (item, i) { - return assertPluginItem(access(loc, i), item); - }); - } - - return arr; -} - -function assertPluginItem(loc, value) { - if (Array.isArray(value)) { - if (value.length === 0) { - throw new Error("".concat(msg(loc), " must include an object")); - } - - if (value.length > 3) { - throw new Error("".concat(msg(loc), " may only be a two-tuple or three-tuple")); - } - - assertPluginTarget(access(loc, 0), value[0]); - - if (value.length > 1) { - var opts = value[1]; - - if (opts !== undefined && opts !== false && (_typeof(opts) !== "object" || Array.isArray(opts) || opts === null)) { - throw new Error("".concat(msg(access(loc, 1)), " must be an object, false, or undefined")); - } - } - - if (value.length === 3) { - var name = value[2]; - - if (name !== undefined && typeof name !== "string") { - throw new Error("".concat(msg(access(loc, 2)), " must be a string, or undefined")); - } - } - } else { - assertPluginTarget(loc, value); - } - - return value; -} - -function assertPluginTarget(loc, value) { - if ((_typeof(value) !== "object" || !value) && typeof value !== "string" && typeof value !== "function") { - throw new Error("".concat(msg(loc), " must be a string, object, function")); - } - - return value; -} - -},{}],16:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.validate = validate; - -var _plugin = _interopRequireDefault(require("../plugin")); - -var _removed = _interopRequireDefault(require("./removed")); - -var _optionAssertions = require("./option-assertions"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var ROOT_VALIDATORS = { - cwd: _optionAssertions.assertString, - root: _optionAssertions.assertString, - rootMode: _optionAssertions.assertRootMode, - configFile: _optionAssertions.assertConfigFileSearch, - caller: _optionAssertions.assertCallerMetadata, - filename: _optionAssertions.assertString, - filenameRelative: _optionAssertions.assertString, - code: _optionAssertions.assertBoolean, - ast: _optionAssertions.assertBoolean, - envName: _optionAssertions.assertString -}; -var BABELRC_VALIDATORS = { - babelrc: _optionAssertions.assertBoolean, - babelrcRoots: _optionAssertions.assertBabelrcSearch -}; -var NONPRESET_VALIDATORS = { - extends: _optionAssertions.assertString, - ignore: _optionAssertions.assertIgnoreList, - only: _optionAssertions.assertIgnoreList -}; -var COMMON_VALIDATORS = { - inputSourceMap: _optionAssertions.assertInputSourceMap, - presets: _optionAssertions.assertPluginList, - plugins: _optionAssertions.assertPluginList, - passPerPreset: _optionAssertions.assertBoolean, - env: assertEnvSet, - overrides: assertOverridesList, - test: _optionAssertions.assertConfigApplicableTest, - include: _optionAssertions.assertConfigApplicableTest, - exclude: _optionAssertions.assertConfigApplicableTest, - retainLines: _optionAssertions.assertBoolean, - comments: _optionAssertions.assertBoolean, - shouldPrintComment: _optionAssertions.assertFunction, - compact: _optionAssertions.assertCompact, - minified: _optionAssertions.assertBoolean, - auxiliaryCommentBefore: _optionAssertions.assertString, - auxiliaryCommentAfter: _optionAssertions.assertString, - sourceType: _optionAssertions.assertSourceType, - wrapPluginVisitorMethod: _optionAssertions.assertFunction, - highlightCode: _optionAssertions.assertBoolean, - sourceMaps: _optionAssertions.assertSourceMaps, - sourceMap: _optionAssertions.assertSourceMaps, - sourceFileName: _optionAssertions.assertString, - sourceRoot: _optionAssertions.assertString, - getModuleId: _optionAssertions.assertFunction, - moduleRoot: _optionAssertions.assertString, - moduleIds: _optionAssertions.assertBoolean, - moduleId: _optionAssertions.assertString, - parserOpts: _optionAssertions.assertObject, - generatorOpts: _optionAssertions.assertObject -}; - -function getSource(loc) { - return loc.type === "root" ? loc.source : getSource(loc.parent); -} - -function validate(type, opts) { - return validateNested({ - type: "root", - source: type - }, opts); -} - -function validateNested(loc, opts) { - var type = getSource(loc); - assertNoDuplicateSourcemap(opts); - Object.keys(opts).forEach(function (key) { - var optLoc = { - type: "option", - name: key, - parent: loc - }; - - if (type === "preset" && NONPRESET_VALIDATORS[key]) { - throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is not allowed in preset options")); - } - - if (type !== "arguments" && ROOT_VALIDATORS[key]) { - throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is only allowed in root programmatic options")); - } - - if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) { - if (type === "babelrcfile" || type === "extendsfile") { - throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ") + "or babel.config.js/config file options"); - } - - throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is only allowed in root programmatic options, or babel.config.js/config file options")); - } - - var validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError; - validator(optLoc, opts[key]); - }); - return opts; -} - -function throwUnknownError(loc) { - var key = loc.name; - - if (_removed.default[key]) { - var _removed$default$key = _removed.default[key], - message = _removed$default$key.message, - _removed$default$key$ = _removed$default$key.version, - version = _removed$default$key$ === void 0 ? 5 : _removed$default$key$; - throw new ReferenceError("Using removed Babel ".concat(version, " option: ").concat((0, _optionAssertions.msg)(loc), " - ").concat(message)); - } else { - var unknownOptErr = "Unknown option: ".concat((0, _optionAssertions.msg)(loc), ". Check out https://babeljs.io/docs/en/babel-core/#options for more information about options."); - throw new ReferenceError(unknownOptErr); - } -} - -function has(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); -} - -function assertNoDuplicateSourcemap(opts) { - if (has(opts, "sourceMap") && has(opts, "sourceMaps")) { - throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both"); - } -} - -function assertEnvSet(loc, value) { - if (loc.parent.type === "env") { - throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside of another .env block")); - } - - var parent = loc.parent; - var obj = (0, _optionAssertions.assertObject)(loc, value); - - if (obj) { - for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { - var envName = _Object$keys[_i]; - var env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]); - if (!env) continue; - var envLoc = { - type: "env", - name: envName, - parent: parent - }; - validateNested(envLoc, env); - } - } - - return obj; -} - -function assertOverridesList(loc, value) { - if (loc.parent.type === "env") { - throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside an .env block")); - } - - if (loc.parent.type === "overrides") { - throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside an .overrides block")); - } - - var parent = loc.parent; - var arr = (0, _optionAssertions.assertArray)(loc, value); - - if (arr) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = arr.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - index = _step$value[0], - item = _step$value[1]; - - var objLoc = (0, _optionAssertions.access)(loc, index); - var env = (0, _optionAssertions.assertObject)(objLoc, item); - if (!env) throw new Error("".concat((0, _optionAssertions.msg)(objLoc), " must be an object")); - var overridesLoc = { - type: "overrides", - index: index, - parent: parent - }; - validateNested(overridesLoc, env); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return arr; -} - -},{"../plugin":13,"./option-assertions":15,"./removed":18}],17:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.validatePluginObject = validatePluginObject; - -var _optionAssertions = require("./option-assertions"); - -var VALIDATORS = { - name: _optionAssertions.assertString, - manipulateOptions: _optionAssertions.assertFunction, - pre: _optionAssertions.assertFunction, - post: _optionAssertions.assertFunction, - inherits: _optionAssertions.assertFunction, - visitor: assertVisitorMap, - parserOverride: _optionAssertions.assertFunction, - generatorOverride: _optionAssertions.assertFunction -}; - -function assertVisitorMap(key, value) { - var obj = (0, _optionAssertions.assertObject)(key, value); - - if (obj) { - Object.keys(obj).forEach(function (prop) { - return assertVisitorHandler(prop, obj[prop]); - }); - - if (obj.enter || obj.exit) { - throw new Error(".".concat(key, " cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.")); - } - } - - return obj; -} - -function assertVisitorHandler(key, value) { - if (value && _typeof(value) === "object") { - Object.keys(value).forEach(function (handler) { - if (handler !== "enter" && handler !== "exit") { - throw new Error(".visitor[\"".concat(key, "\"] may only have .enter and/or .exit handlers.")); - } - }); - } else if (typeof value !== "function") { - throw new Error(".visitor[\"".concat(key, "\"] must be a function")); - } - - return value; -} - -function validatePluginObject(obj) { - var rootPath = { - type: "root", - source: "plugin" - }; - Object.keys(obj).forEach(function (key) { - var validator = VALIDATORS[key]; - var optLoc = { - type: "option", - name: key, - parent: rootPath - }; - if (validator) validator(optLoc, obj[key]);else throw new Error(".".concat(key, " is not a valid Plugin property")); - }); - return obj; -} - -},{"./option-assertions":15}],18:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = { - auxiliaryComment: { - message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`" - }, - blacklist: { - message: "Put the specific transforms you want in the `plugins` option" - }, - breakConfig: { - message: "This is not a necessary option in Babel 6" - }, - experimental: { - message: "Put the specific transforms you want in the `plugins` option" - }, - externalHelpers: { - message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/" - }, - extra: { - message: "" - }, - jsxPragma: { - message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/" - }, - loose: { - message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option." - }, - metadataUsedHelpers: { - message: "Not required anymore as this is enabled by default" - }, - modules: { - message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules" - }, - nonStandard: { - message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/" - }, - optional: { - message: "Put the specific transforms you want in the `plugins` option" - }, - sourceMapName: { - message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves." - }, - stage: { - message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets" - }, - whitelist: { - message: "Put the specific transforms you want in the `plugins` option" - }, - resolveModuleSource: { - version: 6, - message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options" - }, - metadata: { - version: 6, - message: "Generated plugin metadata is always included in the output result" - }, - sourceMapTarget: { - version: 6, - message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves." - } -}; -exports.default = _default; - -},{}],19:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Plugin = Plugin; -Object.defineProperty(exports, "File", { - enumerable: true, - get: function get() { - return _file.default; - } -}); -Object.defineProperty(exports, "buildExternalHelpers", { - enumerable: true, - get: function get() { - return _buildExternalHelpers.default; - } -}); -Object.defineProperty(exports, "resolvePlugin", { - enumerable: true, - get: function get() { - return _files.resolvePlugin; - } -}); -Object.defineProperty(exports, "resolvePreset", { - enumerable: true, - get: function get() { - return _files.resolvePreset; - } -}); -Object.defineProperty(exports, "version", { - enumerable: true, - get: function get() { - return _package.version; - } -}); -Object.defineProperty(exports, "getEnv", { - enumerable: true, - get: function get() { - return _environment.getEnv; - } -}); -Object.defineProperty(exports, "tokTypes", { - enumerable: true, - get: function get() { - return _parser().tokTypes; - } -}); -Object.defineProperty(exports, "traverse", { - enumerable: true, - get: function get() { - return _traverse().default; - } -}); -Object.defineProperty(exports, "template", { - enumerable: true, - get: function get() { - return _template().default; - } -}); -Object.defineProperty(exports, "createConfigItem", { - enumerable: true, - get: function get() { - return _item.createConfigItem; - } -}); -Object.defineProperty(exports, "loadPartialConfig", { - enumerable: true, - get: function get() { - return _config.loadPartialConfig; - } -}); -Object.defineProperty(exports, "loadOptions", { - enumerable: true, - get: function get() { - return _config.loadOptions; - } -}); -Object.defineProperty(exports, "transform", { - enumerable: true, - get: function get() { - return _transform.transform; - } -}); -Object.defineProperty(exports, "transformSync", { - enumerable: true, - get: function get() { - return _transform.transformSync; - } -}); -Object.defineProperty(exports, "transformAsync", { - enumerable: true, - get: function get() { - return _transform.transformAsync; - } -}); -Object.defineProperty(exports, "transformFile", { - enumerable: true, - get: function get() { - return _transformFile.transformFile; - } -}); -Object.defineProperty(exports, "transformFileSync", { - enumerable: true, - get: function get() { - return _transformFile.transformFileSync; - } -}); -Object.defineProperty(exports, "transformFileAsync", { - enumerable: true, - get: function get() { - return _transformFile.transformFileAsync; - } -}); -Object.defineProperty(exports, "transformFromAst", { - enumerable: true, - get: function get() { - return _transformAst.transformFromAst; - } -}); -Object.defineProperty(exports, "transformFromAstSync", { - enumerable: true, - get: function get() { - return _transformAst.transformFromAstSync; - } -}); -Object.defineProperty(exports, "transformFromAstAsync", { - enumerable: true, - get: function get() { - return _transformAst.transformFromAstAsync; - } -}); -Object.defineProperty(exports, "parse", { - enumerable: true, - get: function get() { - return _parse.parse; - } -}); -Object.defineProperty(exports, "parseSync", { - enumerable: true, - get: function get() { - return _parse.parseSync; - } -}); -Object.defineProperty(exports, "parseAsync", { - enumerable: true, - get: function get() { - return _parse.parseAsync; - } -}); -exports.types = exports.OptionManager = exports.DEFAULT_EXTENSIONS = void 0; - -var _file = _interopRequireDefault(require("./transformation/file/file")); - -var _buildExternalHelpers = _interopRequireDefault(require("./tools/build-external-helpers")); - -var _files = require("./config/files"); - -var _package = require("../package.json"); - -var _environment = require("./config/helpers/environment"); - -function _types() { - var data = _interopRequireWildcard(require("@babel/types")); - - _types = function _types() { - return data; - }; - - return data; -} - -Object.defineProperty(exports, "types", { - enumerable: true, - get: function get() { - return _types(); - } -}); - -function _parser() { - var data = require("@babel/parser"); - - _parser = function _parser() { - return data; - }; - - return data; -} - -function _traverse() { - var data = _interopRequireDefault(require("@babel/traverse")); - - _traverse = function _traverse() { - return data; - }; - - return data; -} - -function _template() { - var data = _interopRequireDefault(require("@babel/template")); - - _template = function _template() { - return data; - }; - - return data; -} - -var _item = require("./config/item"); - -var _config = require("./config"); - -var _transform = require("./transform"); - -var _transformFile = require("./transform-file"); - -var _transformAst = require("./transform-ast"); - -var _parse = require("./parse"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs"]); -exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; - -var OptionManager = -/*#__PURE__*/ -function () { - function OptionManager() { - _classCallCheck(this, OptionManager); - } - - _createClass(OptionManager, [{ - key: "init", - value: function init(opts) { - return (0, _config.loadOptions)(opts); - } - }]); - - return OptionManager; -}(); - -exports.OptionManager = OptionManager; - -function Plugin(alias) { - throw new Error("The (".concat(alias, ") Babel 5 plugin is being run with an unsupported Babel version.")); -} - -},{"../package.json":37,"./config":9,"./config/files":5,"./config/helpers/environment":8,"./config/item":10,"./parse":20,"./tools/build-external-helpers":21,"./transform":24,"./transform-ast":22,"./transform-file":23,"./transformation/file/file":26,"@babel/parser":89,"@babel/template":167,"@babel/traverse":176,"@babel/types":242}],20:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.parseSync = parseSync; -exports.parseAsync = parseAsync; -exports.parse = void 0; - -var _config = _interopRequireDefault(require("./config")); - -var _normalizeFile = _interopRequireDefault(require("./transformation/normalize-file")); - -var _normalizeOpts = _interopRequireDefault(require("./transformation/normalize-opts")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var parse = function parse(code, opts, callback) { - if (typeof opts === "function") { - callback = opts; - opts = undefined; - } - - if (callback === undefined) return parseSync(code, opts); - var config = (0, _config.default)(opts); - - if (config === null) { - return null; - } - - var cb = callback; - process.nextTick(function () { - var ast = null; - - try { - var cfg = (0, _config.default)(opts); - if (cfg === null) return cb(null, null); - ast = (0, _normalizeFile.default)(cfg.passes, (0, _normalizeOpts.default)(cfg), code).ast; - } catch (err) { - return cb(err); - } - - cb(null, ast); - }); -}; - -exports.parse = parse; - -function parseSync(code, opts) { - var config = (0, _config.default)(opts); - - if (config === null) { - return null; - } - - return (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code).ast; -} - -function parseAsync(code, opts) { - return new Promise(function (res, rej) { - parse(code, opts, function (err, result) { - if (err == null) res(result);else rej(err); - }); - }); -} - -}).call(this,require('_process')) -},{"./config":9,"./transformation/normalize-file":30,"./transformation/normalize-opts":31,"_process":1054}],21:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -function helpers() { - var data = _interopRequireWildcard(require("@babel/helpers")); - - helpers = function helpers() { - return data; - }; - - return data; -} - -function _generator() { - var data = _interopRequireDefault(require("@babel/generator")); - - _generator = function _generator() { - return data; - }; - - return data; -} - -function _template() { - var data = _interopRequireDefault(require("@babel/template")); - - _template = function _template() { - return data; - }; - - return data; -} - -function t() { - var data = _interopRequireWildcard(require("@babel/types")); - - t = function t() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var buildUmdWrapper = function buildUmdWrapper(replacements) { - return _template().default(_templateObject())(replacements); -}; - -function buildGlobal(whitelist) { - var namespace = t().identifier("babelHelpers"); - var body = []; - var container = t().functionExpression(null, [t().identifier("global")], t().blockStatement(body)); - var tree = t().program([t().expressionStatement(t().callExpression(container, [t().conditionalExpression(t().binaryExpression("===", t().unaryExpression("typeof", t().identifier("global")), t().stringLiteral("undefined")), t().identifier("self"), t().identifier("global"))]))]); - body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().assignmentExpression("=", t().memberExpression(t().identifier("global"), namespace), t().objectExpression([])))])); - buildHelpers(body, namespace, whitelist); - return tree; -} - -function buildModule(whitelist) { - var body = []; - var refs = buildHelpers(body, null, whitelist); - body.unshift(t().exportNamedDeclaration(null, Object.keys(refs).map(function (name) { - return t().exportSpecifier(t().cloneNode(refs[name]), t().identifier(name)); - }))); - return t().program(body, [], "module"); -} - -function buildUmd(whitelist) { - var namespace = t().identifier("babelHelpers"); - var body = []; - body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().identifier("global"))])); - buildHelpers(body, namespace, whitelist); - return t().program([buildUmdWrapper({ - FACTORY_PARAMETERS: t().identifier("global"), - BROWSER_ARGUMENTS: t().assignmentExpression("=", t().memberExpression(t().identifier("root"), namespace), t().objectExpression([])), - COMMON_ARGUMENTS: t().identifier("exports"), - AMD_ARGUMENTS: t().arrayExpression([t().stringLiteral("exports")]), - FACTORY_BODY: body, - UMD_ROOT: t().identifier("this") - })]); -} - -function buildVar(whitelist) { - var namespace = t().identifier("babelHelpers"); - var body = []; - body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().objectExpression([]))])); - var tree = t().program(body); - buildHelpers(body, namespace, whitelist); - body.push(t().expressionStatement(namespace)); - return tree; -} - -function buildHelpers(body, namespace, whitelist) { - var getHelperReference = function getHelperReference(name) { - return namespace ? t().memberExpression(namespace, t().identifier(name)) : t().identifier("_".concat(name)); - }; - - var refs = {}; - helpers().list.forEach(function (name) { - if (whitelist && whitelist.indexOf(name) < 0) return; - var ref = refs[name] = getHelperReference(name); - - var _helpers$get = helpers().get(name, getHelperReference, ref), - nodes = _helpers$get.nodes; - - body.push.apply(body, _toConsumableArray(nodes)); - }); - return refs; -} - -function _default(whitelist) { - var outputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "global"; - var tree; - var build = { - global: buildGlobal, - module: buildModule, - umd: buildUmd, - var: buildVar - }[outputType]; - - if (build) { - tree = build(whitelist); - } else { - throw new Error("Unsupported output type ".concat(outputType)); - } - - return (0, _generator().default)(tree).code; -} - -},{"@babel/generator":51,"@babel/helpers":87,"@babel/template":167,"@babel/types":242}],22:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.transformFromAstSync = transformFromAstSync; -exports.transformFromAstAsync = transformFromAstAsync; -exports.transformFromAst = void 0; - -var _config = _interopRequireDefault(require("./config")); - -var _transformation = require("./transformation"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var transformFromAst = function transformFromAst(ast, code, opts, callback) { - if (typeof opts === "function") { - callback = opts; - opts = undefined; - } - - if (callback === undefined) return transformFromAstSync(ast, code, opts); - var cb = callback; - process.nextTick(function () { - var cfg; - - try { - cfg = (0, _config.default)(opts); - if (cfg === null) return cb(null, null); - } catch (err) { - return cb(err); - } - - if (!ast) return cb(new Error("No AST given")); - (0, _transformation.runAsync)(cfg, code, ast, cb); - }); -}; - -exports.transformFromAst = transformFromAst; - -function transformFromAstSync(ast, code, opts) { - var config = (0, _config.default)(opts); - if (config === null) return null; - if (!ast) throw new Error("No AST given"); - return (0, _transformation.runSync)(config, code, ast); -} - -function transformFromAstAsync(ast, code, opts) { - return new Promise(function (res, rej) { - transformFromAst(ast, code, opts, function (err, result) { - if (err == null) res(result);else rej(err); - }); - }); -} - -}).call(this,require('_process')) -},{"./config":9,"./transformation":29,"_process":1054}],23:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.transformFileSync = transformFileSync; -exports.transformFileAsync = transformFileAsync; -exports.transformFile = void 0; - -var transformFile = function transformFile(filename, opts, callback) { - if (typeof opts === "function") { - callback = opts; - } - - callback(new Error("Transforming files is not supported in browsers"), null); -}; - -exports.transformFile = transformFile; - -function transformFileSync() { - throw new Error("Transforming files is not supported in browsers"); -} - -function transformFileAsync() { - return Promise.reject(new Error("Transforming files is not supported in browsers")); -} - -},{}],24:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.transformSync = transformSync; -exports.transformAsync = transformAsync; -exports.transform = void 0; - -var _config = _interopRequireDefault(require("./config")); - -var _transformation = require("./transformation"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var transform = function transform(code, opts, callback) { - if (typeof opts === "function") { - callback = opts; - opts = undefined; - } - - if (callback === undefined) return transformSync(code, opts); - var cb = callback; - process.nextTick(function () { - var cfg; - - try { - cfg = (0, _config.default)(opts); - if (cfg === null) return cb(null, null); - } catch (err) { - return cb(err); - } - - (0, _transformation.runAsync)(cfg, code, null, cb); - }); -}; - -exports.transform = transform; - -function transformSync(code, opts) { - var config = (0, _config.default)(opts); - if (config === null) return null; - return (0, _transformation.runSync)(config, code); -} - -function transformAsync(code, opts) { - return new Promise(function (res, rej) { - transform(code, opts, function (err, result) { - if (err == null) res(result);else rej(err); - }); - }); -} - -}).call(this,require('_process')) -},{"./config":9,"./transformation":29,"_process":1054}],25:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = loadBlockHoistPlugin; - -function _sortBy() { - var data = _interopRequireDefault(require("lodash/sortBy")); - - _sortBy = function _sortBy() { - return data; - }; - - return data; -} - -var _config = _interopRequireDefault(require("../config")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var LOADED_PLUGIN; - -function loadBlockHoistPlugin() { - if (!LOADED_PLUGIN) { - var config = (0, _config.default)({ - babelrc: false, - configFile: false, - plugins: [blockHoistPlugin] - }); - LOADED_PLUGIN = config ? config.passes[0][0] : undefined; - if (!LOADED_PLUGIN) throw new Error("Assertion failure"); - } - - return LOADED_PLUGIN; -} - -var blockHoistPlugin = { - name: "internal.blockHoist", - visitor: { - Block: { - exit: function exit(_ref) { - var node = _ref.node; - var hasChange = false; - - for (var i = 0; i < node.body.length; i++) { - var bodyNode = node.body[i]; - - if (bodyNode && bodyNode._blockHoist != null) { - hasChange = true; - break; - } - } - - if (!hasChange) return; - node.body = (0, _sortBy().default)(node.body, function (bodyNode) { - var priority = bodyNode && bodyNode._blockHoist; - if (priority == null) priority = 1; - if (priority === true) priority = 2; - return -1 * priority; - }); - } - } - } -}; - -},{"../config":9,"lodash/sortBy":1040}],26:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function helpers() { - var data = _interopRequireWildcard(require("@babel/helpers")); - - helpers = function helpers() { - return data; - }; - - return data; -} - -function _traverse() { - var data = _interopRequireWildcard(require("@babel/traverse")); - - _traverse = function _traverse() { - return data; - }; - - return data; -} - -function _codeFrame() { - var data = require("@babel/code-frame"); - - _codeFrame = function _codeFrame() { - return data; - }; - - return data; -} - -function t() { - var data = _interopRequireWildcard(require("@babel/types")); - - t = function t() { - return data; - }; - - return data; -} - -function _semver() { - var data = _interopRequireDefault(require("semver")); - - _semver = function _semver() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var errorVisitor = { - enter: function enter(path, state) { - var loc = path.node.loc; - - if (loc) { - state.loc = loc; - path.stop(); - } - } -}; - -var File = -/*#__PURE__*/ -function () { - function File(options, _ref) { - var _this = this; - - var code = _ref.code, - ast = _ref.ast, - inputMap = _ref.inputMap; - - _classCallCheck(this, File); - - this._map = new Map(); - this.declarations = {}; - this.path = null; - this.ast = {}; - this.metadata = {}; - this.code = ""; - this.inputMap = null; - this.hub = { - file: this, - getCode: function getCode() { - return _this.code; - }, - getScope: function getScope() { - return _this.scope; - }, - addHelper: this.addHelper.bind(this), - buildError: this.buildCodeFrameError.bind(this) - }; - this.opts = options; - this.code = code; - this.ast = ast; - this.inputMap = inputMap; - this.path = _traverse().NodePath.get({ - hub: this.hub, - parentPath: null, - parent: this.ast, - container: this.ast, - key: "program" - }).setContext(); - this.scope = this.path.scope; - } - - _createClass(File, [{ - key: "set", - value: function set(key, val) { - if (key === "helpersNamespace") { - throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'."); - } - - this._map.set(key, val); - } - }, { - key: "get", - value: function get(key) { - return this._map.get(key); - } - }, { - key: "has", - value: function has(key) { - return this._map.has(key); - } - }, { - key: "getModuleName", - value: function getModuleName() { - var _this$opts = this.opts, - filename = _this$opts.filename, - _this$opts$filenameRe = _this$opts.filenameRelative, - filenameRelative = _this$opts$filenameRe === void 0 ? filename : _this$opts$filenameRe, - moduleId = _this$opts.moduleId, - _this$opts$moduleIds = _this$opts.moduleIds, - moduleIds = _this$opts$moduleIds === void 0 ? !!moduleId : _this$opts$moduleIds, - getModuleId = _this$opts.getModuleId, - sourceRootTmp = _this$opts.sourceRoot, - _this$opts$moduleRoot = _this$opts.moduleRoot, - moduleRoot = _this$opts$moduleRoot === void 0 ? sourceRootTmp : _this$opts$moduleRoot, - _this$opts$sourceRoot = _this$opts.sourceRoot, - sourceRoot = _this$opts$sourceRoot === void 0 ? moduleRoot : _this$opts$sourceRoot; - if (!moduleIds) return null; - - if (moduleId != null && !getModuleId) { - return moduleId; - } - - var moduleName = moduleRoot != null ? moduleRoot + "/" : ""; - - if (filenameRelative) { - var sourceRootReplacer = sourceRoot != null ? new RegExp("^" + sourceRoot + "/?") : ""; - moduleName += filenameRelative.replace(sourceRootReplacer, "").replace(/\.(\w*?)$/, ""); - } - - moduleName = moduleName.replace(/\\/g, "/"); - - if (getModuleId) { - return getModuleId(moduleName) || moduleName; - } else { - return moduleName; - } - } - }, { - key: "addImport", - value: function addImport() { - throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'."); - } - }, { - key: "availableHelper", - value: function availableHelper(name, versionRange) { - var minVersion; - - try { - minVersion = helpers().minVersion(name); - } catch (err) { - if (err.code !== "BABEL_HELPER_UNKNOWN") throw err; - return false; - } - - if (typeof versionRange !== "string") return true; - if (_semver().default.valid(versionRange)) versionRange = "^".concat(versionRange); - return !_semver().default.intersects("<".concat(minVersion), versionRange) && !_semver().default.intersects(">=8.0.0", versionRange); - } - }, { - key: "addHelper", - value: function addHelper(name) { - var _this2 = this; - - var declar = this.declarations[name]; - if (declar) return t().cloneNode(declar); - var generator = this.get("helperGenerator"); - - if (generator) { - var res = generator(name); - if (res) return res; - } - - helpers().ensure(name); - var uid = this.declarations[name] = this.scope.generateUidIdentifier(name); - var dependencies = {}; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = helpers().getDependencies(name)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var dep = _step.value; - dependencies[dep] = this.addHelper(dep); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var _helpers$get = helpers().get(name, function (dep) { - return dependencies[dep]; - }, uid, Object.keys(this.scope.getAllBindings())), - nodes = _helpers$get.nodes, - globals = _helpers$get.globals; - - globals.forEach(function (name) { - if (_this2.path.scope.hasBinding(name, true)) { - _this2.path.scope.rename(name); - } - }); - nodes.forEach(function (node) { - node._compact = true; - }); - this.path.unshiftContainer("body", nodes); - this.path.get("body").forEach(function (path) { - if (nodes.indexOf(path.node) === -1) return; - if (path.isVariableDeclaration()) _this2.scope.registerDeclaration(path); - }); - return uid; - } - }, { - key: "addTemplateObject", - value: function addTemplateObject() { - throw new Error("This function has been moved into the template literal transform itself."); - } - }, { - key: "buildCodeFrameError", - value: function buildCodeFrameError(node, msg) { - var Error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : SyntaxError; - var loc = node && (node.loc || node._loc); - - if (!loc && node) { - var state = { - loc: null - }; - (0, _traverse().default)(node, errorVisitor, this.scope, state); - loc = state.loc; - var txt = "This is an error on an internal node. Probably an internal error."; - if (loc) txt += " Location has been estimated."; - msg += " (".concat(txt, ")"); - } - - if (loc) { - var _this$opts$highlightC = this.opts.highlightCode, - highlightCode = _this$opts$highlightC === void 0 ? true : _this$opts$highlightC; - msg += "\n" + (0, _codeFrame().codeFrameColumns)(this.code, { - start: { - line: loc.start.line, - column: loc.start.column + 1 - }, - end: loc.end && loc.start.line === loc.end.line ? { - line: loc.end.line, - column: loc.end.column + 1 - } : undefined - }, { - highlightCode: highlightCode - }); - } - - return new Error(msg); - } - }, { - key: "shebang", - get: function get() { - var interpreter = this.path.node.interpreter; - return interpreter ? interpreter.value : ""; - }, - set: function set(value) { - if (value) { - this.path.get("interpreter").replaceWith(t().interpreterDirective(value)); - } else { - this.path.get("interpreter").remove(); - } - } - }]); - - return File; -}(); - -exports.default = File; - -},{"@babel/code-frame":1,"@babel/helpers":87,"@babel/traverse":176,"@babel/types":242,"semver":1070}],27:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = generateCode; - -function _convertSourceMap() { - var data = _interopRequireDefault(require("convert-source-map")); - - _convertSourceMap = function _convertSourceMap() { - return data; - }; - - return data; -} - -function _generator() { - var data = _interopRequireDefault(require("@babel/generator")); - - _generator = function _generator() { - return data; - }; - - return data; -} - -var _mergeMap = _interopRequireDefault(require("./merge-map")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function generateCode(pluginPasses, file) { - var opts = file.opts, - ast = file.ast, - code = file.code, - inputMap = file.inputMap; - var results = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var plugins = _step.value; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var plugin = _step2.value; - var generatorOverride = plugin.generatorOverride; - - if (generatorOverride) { - var _result2 = generatorOverride(ast, opts.generatorOpts, code, _generator().default); - - if (_result2 !== undefined) results.push(_result2); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var result; - - if (results.length === 0) { - result = (0, _generator().default)(ast, opts.generatorOpts, code); - } else if (results.length === 1) { - result = results[0]; - - if (typeof result.then === "function") { - throw new Error("You appear to be using an async codegen plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version."); - } - } else { - throw new Error("More than one plugin attempted to override codegen."); - } - - var _result = result, - outputCode = _result.code, - outputMap = _result.map; - - if (outputMap && inputMap) { - outputMap = (0, _mergeMap.default)(inputMap.toObject(), outputMap); - } - - if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") { - outputCode += "\n" + _convertSourceMap().default.fromObject(outputMap).toComment(); - } - - if (opts.sourceMaps === "inline") { - outputMap = null; - } - - return { - outputCode: outputCode, - outputMap: outputMap - }; -} - -},{"./merge-map":28,"@babel/generator":51,"convert-source-map":302}],28:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = mergeSourceMap; - -function _sourceMap() { - var data = _interopRequireDefault(require("source-map")); - - _sourceMap = function _sourceMap() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function mergeSourceMap(inputMap, map) { - var input = buildMappingData(inputMap); - var output = buildMappingData(map); - var mergedGenerator = new (_sourceMap().default.SourceMapGenerator)(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = input.sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ref = _step.value; - var source = _ref.source; - - if (typeof source.content === "string") { - mergedGenerator.setSourceContent(source.path, source.content); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (output.sources.length === 1) { - var defaultSource = output.sources[0]; - var insertedMappings = new Map(); - eachInputGeneratedRange(input, function (generated, original, source) { - eachOverlappingGeneratedOutputRange(defaultSource, generated, function (item) { - var key = makeMappingKey(item); - if (insertedMappings.has(key)) return; - insertedMappings.set(key, item); - mergedGenerator.addMapping({ - source: source.path, - original: { - line: original.line, - column: original.columnStart - }, - generated: { - line: item.line, - column: item.columnStart - }, - name: original.name - }); - }); - }); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = insertedMappings.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var item = _step2.value; - - if (item.columnEnd === Infinity) { - continue; - } - - var clearItem = { - line: item.line, - columnStart: item.columnEnd - }; - var key = makeMappingKey(clearItem); - - if (insertedMappings.has(key)) { - continue; - } - - mergedGenerator.addMapping({ - generated: { - line: clearItem.line, - column: clearItem.columnStart - } - }); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - - var result = mergedGenerator.toJSON(); - - if (typeof input.sourceRoot === "string") { - result.sourceRoot = input.sourceRoot; - } - - return result; -} - -function makeMappingKey(item) { - return "".concat(item.line, "/").concat(item.columnStart); -} - -function eachOverlappingGeneratedOutputRange(outputFile, inputGeneratedRange, callback) { - var overlappingOriginal = filterApplicableOriginalRanges(outputFile, inputGeneratedRange); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = overlappingOriginal[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _ref2 = _step3.value; - var generated = _ref2.generated; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = generated[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var item = _step4.value; - callback(item); - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } -} - -function filterApplicableOriginalRanges(_ref5, _ref6) { - var mappings = _ref5.mappings; - var line = _ref6.line, - columnStart = _ref6.columnStart, - columnEnd = _ref6.columnEnd; - return filterSortedArray(mappings, function (_ref7) { - var outOriginal = _ref7.original; - if (line > outOriginal.line) return -1; - if (line < outOriginal.line) return 1; - if (columnStart >= outOriginal.columnEnd) return -1; - if (columnEnd <= outOriginal.columnStart) return 1; - return 0; - }); -} - -function eachInputGeneratedRange(map, callback) { - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = map.sources[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var _ref3 = _step5.value; - var source = _ref3.source, - mappings = _ref3.mappings; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = mappings[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var _ref4 = _step6.value; - var original = _ref4.original, - generated = _ref4.generated; - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; - - try { - for (var _iterator7 = generated[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var item = _step7.value; - callback(item, original, source); - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return != null) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } - } - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } -} - -function buildMappingData(map) { - var consumer = new (_sourceMap().default.SourceMapConsumer)(Object.assign({}, map, { - sourceRoot: null - })); - var sources = new Map(); - var mappings = new Map(); - var last = null; - consumer.computeColumnSpans(); - consumer.eachMapping(function (m) { - if (m.originalLine === null) return; - var source = sources.get(m.source); - - if (!source) { - source = { - path: m.source, - content: consumer.sourceContentFor(m.source, true) - }; - sources.set(m.source, source); - } - - var sourceData = mappings.get(source); - - if (!sourceData) { - sourceData = { - source: source, - mappings: [] - }; - mappings.set(source, sourceData); - } - - var obj = { - line: m.originalLine, - columnStart: m.originalColumn, - columnEnd: Infinity, - name: m.name - }; - - if (last && last.source === source && last.mapping.line === m.originalLine) { - last.mapping.columnEnd = m.originalColumn; - } - - last = { - source: source, - mapping: obj - }; - sourceData.mappings.push({ - original: obj, - generated: consumer.allGeneratedPositionsFor({ - source: m.source, - line: m.originalLine, - column: m.originalColumn - }).map(function (item) { - return { - line: item.line, - columnStart: item.column, - columnEnd: item.lastColumn + 1 - }; - }) - }); - }, null, _sourceMap().default.SourceMapConsumer.ORIGINAL_ORDER); - return { - file: map.file, - sourceRoot: map.sourceRoot, - sources: Array.from(mappings.values()) - }; -} - -function findInsertionLocation(array, callback) { - var left = 0; - var right = array.length; - - while (left < right) { - var mid = Math.floor((left + right) / 2); - var item = array[mid]; - var result = callback(item); - - if (result === 0) { - left = mid; - break; - } - - if (result >= 0) { - right = mid; - } else { - left = mid + 1; - } - } - - var i = left; - - if (i < array.length) { - while (i >= 0 && callback(array[i]) >= 0) { - i--; - } - - return i + 1; - } - - return i; -} - -function filterSortedArray(array, callback) { - var start = findInsertionLocation(array, callback); - var results = []; - - for (var i = start; i < array.length && callback(array[i]) === 0; i++) { - results.push(array[i]); - } - - return results; -} - -},{"source-map":1081}],29:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.runAsync = runAsync; -exports.runSync = runSync; - -function _traverse() { - var data = _interopRequireDefault(require("@babel/traverse")); - - _traverse = function _traverse() { - return data; - }; - - return data; -} - -var _pluginPass = _interopRequireDefault(require("./plugin-pass")); - -var _blockHoistPlugin = _interopRequireDefault(require("./block-hoist-plugin")); - -var _normalizeOpts = _interopRequireDefault(require("./normalize-opts")); - -var _normalizeFile = _interopRequireDefault(require("./normalize-file")); - -var _generate = _interopRequireDefault(require("./file/generate")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function runAsync(config, code, ast, callback) { - var result; - - try { - result = runSync(config, code, ast); - } catch (err) { - return callback(err); - } - - return callback(null, result); -} - -function runSync(config, code, ast) { - var file = (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast); - var opts = file.opts; - - try { - transformFile(file, config.passes); - } catch (e) { - var _opts$filename; - - e.message = "".concat((_opts$filename = opts.filename) !== null && _opts$filename !== void 0 ? _opts$filename : "unknown", ": ").concat(e.message); - - if (!e.code) { - e.code = "BABEL_TRANSFORM_ERROR"; - } - - throw e; - } - - var outputCode, outputMap; - - try { - if (opts.code !== false) { - var _ref = (0, _generate.default)(config.passes, file); - - outputCode = _ref.outputCode; - outputMap = _ref.outputMap; - } - } catch (e) { - var _opts$filename2; - - e.message = "".concat((_opts$filename2 = opts.filename) !== null && _opts$filename2 !== void 0 ? _opts$filename2 : "unknown", ": ").concat(e.message); - - if (!e.code) { - e.code = "BABEL_GENERATE_ERROR"; - } - - throw e; - } - - return { - metadata: file.metadata, - options: opts, - ast: opts.ast === true ? file.ast : null, - code: outputCode === undefined ? null : outputCode, - map: outputMap === undefined ? null : outputMap, - sourceType: file.ast.program.sourceType - }; -} - -function transformFile(file, pluginPasses) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var pluginPairs = _step.value; - var passPairs = []; - var passes = []; - var visitors = []; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = pluginPairs.concat([(0, _blockHoistPlugin.default)()])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var plugin = _step2.value; - var pass = new _pluginPass.default(file, plugin.key, plugin.options); - passPairs.push([plugin, pass]); - passes.push(pass); - visitors.push(plugin.visitor); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - for (var _i = 0, _passPairs = passPairs; _i < _passPairs.length; _i++) { - var _passPairs$_i = _slicedToArray(_passPairs[_i], 2), - _plugin = _passPairs$_i[0], - _pass = _passPairs$_i[1]; - - var fn = _plugin.pre; - - if (fn) { - var result = fn.call(_pass, file); - - if (isThenable(result)) { - throw new Error("You appear to be using an plugin with an async .pre, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); - } - } - } - - var visitor = _traverse().default.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod); - - (0, _traverse().default)(file.ast, visitor, file.scope); - - for (var _i2 = 0, _passPairs2 = passPairs; _i2 < _passPairs2.length; _i2++) { - var _passPairs2$_i = _slicedToArray(_passPairs2[_i2], 2), - _plugin2 = _passPairs2$_i[0], - _pass2 = _passPairs2$_i[1]; - - var _fn = _plugin2.post; - - if (_fn) { - var _result = _fn.call(_pass2, file); - - if (isThenable(_result)) { - throw new Error("You appear to be using an plugin with an async .post, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); - } - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -} - -function isThenable(val) { - return !!val && (_typeof(val) === "object" || typeof val === "function") && !!val.then && typeof val.then === "function"; -} - -},{"./block-hoist-plugin":25,"./file/generate":27,"./normalize-file":30,"./normalize-opts":31,"./plugin-pass":32,"@babel/traverse":176}],30:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = normalizeFile; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -function _debug() { - var data = _interopRequireDefault(require("debug")); - - _debug = function _debug() { - return data; - }; - - return data; -} - -function _cloneDeep() { - var data = _interopRequireDefault(require("lodash/cloneDeep")); - - _cloneDeep = function _cloneDeep() { - return data; - }; - - return data; -} - -function t() { - var data = _interopRequireWildcard(require("@babel/types")); - - t = function t() { - return data; - }; - - return data; -} - -function _convertSourceMap() { - var data = _interopRequireDefault(require("convert-source-map")); - - _convertSourceMap = function _convertSourceMap() { - return data; - }; - - return data; -} - -function _parser() { - var data = require("@babel/parser"); - - _parser = function _parser() { - return data; - }; - - return data; -} - -function _codeFrame() { - var data = require("@babel/code-frame"); - - _codeFrame = function _codeFrame() { - return data; - }; - - return data; -} - -var _file = _interopRequireDefault(require("./file/file")); - -var _missingPluginHelper = _interopRequireDefault(require("./util/missing-plugin-helper")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var debug = (0, _debug().default)("babel:transform:file"); - -function normalizeFile(pluginPasses, options, code, ast) { - code = "".concat(code || ""); - - if (ast) { - if (ast.type === "Program") { - ast = t().file(ast, [], []); - } else if (ast.type !== "File") { - throw new Error("AST root must be a Program or File node"); - } - - ast = (0, _cloneDeep().default)(ast); - } else { - ast = parser(pluginPasses, options, code); - } - - var inputMap = null; - - if (options.inputSourceMap !== false) { - if (_typeof(options.inputSourceMap) === "object") { - inputMap = _convertSourceMap().default.fromObject(options.inputSourceMap); - } - - if (!inputMap) { - var lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast); - - if (lastComment) { - try { - inputMap = _convertSourceMap().default.fromComment(lastComment); - } catch (err) { - debug("discarding unknown inline input sourcemap", err); - } - } - } - - if (!inputMap) { - var _lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast); - - if (typeof options.filename === "string" && _lastComment) { - try { - inputMap = _convertSourceMap().default.fromMapFileComment("//".concat(_lastComment), _path().default.dirname(options.filename)); - } catch (err) { - debug("discarding unknown file input sourcemap", err); - } - } else if (_lastComment) { - debug("discarding un-loadable file input sourcemap"); - } - } - } - - return new _file.default(options, { - code: code, - ast: ast, - inputMap: inputMap - }); -} - -function parser(pluginPasses, _ref, code) { - var parserOpts = _ref.parserOpts, - _ref$highlightCode = _ref.highlightCode, - highlightCode = _ref$highlightCode === void 0 ? true : _ref$highlightCode, - _ref$filename = _ref.filename, - filename = _ref$filename === void 0 ? "unknown" : _ref$filename; - - try { - var results = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var plugins = _step.value; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var plugin = _step2.value; - var parserOverride = plugin.parserOverride; - - if (parserOverride) { - var ast = parserOverride(code, parserOpts, _parser().parse); - if (ast !== undefined) results.push(ast); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (results.length === 0) { - return (0, _parser().parse)(code, parserOpts); - } else if (results.length === 1) { - if (typeof results[0].then === "function") { - throw new Error("You appear to be using an async parser plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); - } - - return results[0]; - } - - throw new Error("More than one plugin attempted to override parsing."); - } catch (err) { - if (err.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") { - err.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file."; - } - - var loc = err.loc, - missingPlugin = err.missingPlugin; - - if (loc) { - var codeFrame = (0, _codeFrame().codeFrameColumns)(code, { - start: { - line: loc.line, - column: loc.column + 1 - } - }, { - highlightCode: highlightCode - }); - - if (missingPlugin) { - err.message = "".concat(filename, ": ") + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame); - } else { - err.message = "".concat(filename, ": ").concat(err.message, "\n\n") + codeFrame; - } - - err.code = "BABEL_PARSE_ERROR"; - } - - throw err; - } -} - -var INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/; -var EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=(?:[^\s'"`]+?)[ \t]*$/; - -function extractCommentsFromList(regex, comments, lastComment) { - if (comments) { - comments = comments.filter(function (_ref2) { - var value = _ref2.value; - - if (regex.test(value)) { - lastComment = value; - return false; - } - - return true; - }); - } - - return [comments, lastComment]; -} - -function extractComments(regex, ast) { - var lastComment = null; - t().traverseFast(ast, function (node) { - var _extractCommentsFromL = extractCommentsFromList(regex, node.leadingComments, lastComment); - - var _extractCommentsFromL2 = _slicedToArray(_extractCommentsFromL, 2); - - node.leadingComments = _extractCommentsFromL2[0]; - lastComment = _extractCommentsFromL2[1]; - - var _extractCommentsFromL3 = extractCommentsFromList(regex, node.innerComments, lastComment); - - var _extractCommentsFromL4 = _slicedToArray(_extractCommentsFromL3, 2); - - node.innerComments = _extractCommentsFromL4[0]; - lastComment = _extractCommentsFromL4[1]; - - var _extractCommentsFromL5 = extractCommentsFromList(regex, node.trailingComments, lastComment); - - var _extractCommentsFromL6 = _slicedToArray(_extractCommentsFromL5, 2); - - node.trailingComments = _extractCommentsFromL6[0]; - lastComment = _extractCommentsFromL6[1]; - }); - return lastComment; -} - -},{"./file/file":26,"./util/missing-plugin-helper":33,"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242,"convert-source-map":302,"debug":34,"lodash/cloneDeep":1005,"path":1052}],31:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = normalizeOptions; - -function _path() { - var data = _interopRequireDefault(require("path")); - - _path = function _path() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function normalizeOptions(config) { - var _config$options = config.options, - filename = _config$options.filename, - cwd = _config$options.cwd, - _config$options$filen = _config$options.filenameRelative, - filenameRelative = _config$options$filen === void 0 ? typeof filename === "string" ? _path().default.relative(cwd, filename) : "unknown" : _config$options$filen, - _config$options$sourc = _config$options.sourceType, - sourceType = _config$options$sourc === void 0 ? "module" : _config$options$sourc, - inputSourceMap = _config$options.inputSourceMap, - _config$options$sourc2 = _config$options.sourceMaps, - sourceMaps = _config$options$sourc2 === void 0 ? !!inputSourceMap : _config$options$sourc2, - moduleRoot = _config$options.moduleRoot, - _config$options$sourc3 = _config$options.sourceRoot, - sourceRoot = _config$options$sourc3 === void 0 ? moduleRoot : _config$options$sourc3, - _config$options$sourc4 = _config$options.sourceFileName, - sourceFileName = _config$options$sourc4 === void 0 ? _path().default.basename(filenameRelative) : _config$options$sourc4, - _config$options$comme = _config$options.comments, - comments = _config$options$comme === void 0 ? true : _config$options$comme, - _config$options$compa = _config$options.compact, - compact = _config$options$compa === void 0 ? "auto" : _config$options$compa; - var opts = config.options; - var options = Object.assign({}, opts, { - parserOpts: Object.assign({ - sourceType: _path().default.extname(filenameRelative) === ".mjs" ? "module" : sourceType, - sourceFileName: filename, - plugins: [] - }, opts.parserOpts), - generatorOpts: Object.assign({ - filename: filename, - auxiliaryCommentBefore: opts.auxiliaryCommentBefore, - auxiliaryCommentAfter: opts.auxiliaryCommentAfter, - retainLines: opts.retainLines, - comments: comments, - shouldPrintComment: opts.shouldPrintComment, - compact: compact, - minified: opts.minified, - sourceMaps: sourceMaps, - sourceRoot: sourceRoot, - sourceFileName: sourceFileName - }, opts.generatorOpts) - }); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = config.passes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var plugins = _step.value; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var plugin = _step2.value; - - if (plugin.manipulateOptions) { - plugin.manipulateOptions(options, options.parserOpts); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return options; -} - -},{"path":1052}],32:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var PluginPass = -/*#__PURE__*/ -function () { - function PluginPass(file, key, options) { - _classCallCheck(this, PluginPass); - - this._map = new Map(); - this.key = key; - this.file = file; - this.opts = options || {}; - this.cwd = file.opts.cwd; - this.filename = file.opts.filename; - } - - _createClass(PluginPass, [{ - key: "set", - value: function set(key, val) { - this._map.set(key, val); - } - }, { - key: "get", - value: function get(key) { - return this._map.get(key); - } - }, { - key: "availableHelper", - value: function availableHelper(name, versionRange) { - return this.file.availableHelper(name, versionRange); - } - }, { - key: "addHelper", - value: function addHelper(name) { - return this.file.addHelper(name); - } - }, { - key: "addImport", - value: function addImport() { - return this.file.addImport(); - } - }, { - key: "getModuleName", - value: function getModuleName() { - return this.file.getModuleName(); - } - }, { - key: "buildCodeFrameError", - value: function buildCodeFrameError(node, msg, Error) { - return this.file.buildCodeFrameError(node, msg, Error); - } - }]); - - return PluginPass; -}(); - -exports.default = PluginPass; - -},{}],33:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = generateMissingPluginMessage; -var pluginNameMap = { - classProperties: { - syntax: { - name: "@babel/plugin-syntax-class-properties", - url: "https://git.io/vb4yQ" - }, - transform: { - name: "@babel/plugin-proposal-class-properties", - url: "https://git.io/vb4SL" - } - }, - decorators: { - syntax: { - name: "@babel/plugin-syntax-decorators", - url: "https://git.io/vb4y9" - }, - transform: { - name: "@babel/plugin-proposal-decorators", - url: "https://git.io/vb4ST" - } - }, - doExpressions: { - syntax: { - name: "@babel/plugin-syntax-do-expressions", - url: "https://git.io/vb4yh" - }, - transform: { - name: "@babel/plugin-proposal-do-expressions", - url: "https://git.io/vb4S3" - } - }, - dynamicImport: { - syntax: { - name: "@babel/plugin-syntax-dynamic-import", - url: "https://git.io/vb4Sv" - } - }, - exportDefaultFrom: { - syntax: { - name: "@babel/plugin-syntax-export-default-from", - url: "https://git.io/vb4SO" - }, - transform: { - name: "@babel/plugin-proposal-export-default-from", - url: "https://git.io/vb4yH" - } - }, - exportNamespaceFrom: { - syntax: { - name: "@babel/plugin-syntax-export-namespace-from", - url: "https://git.io/vb4Sf" - }, - transform: { - name: "@babel/plugin-proposal-export-namespace-from", - url: "https://git.io/vb4SG" - } - }, - flow: { - syntax: { - name: "@babel/plugin-syntax-flow", - url: "https://git.io/vb4yb" - }, - transform: { - name: "@babel/plugin-transform-flow-strip-types", - url: "https://git.io/vb49g" - } - }, - functionBind: { - syntax: { - name: "@babel/plugin-syntax-function-bind", - url: "https://git.io/vb4y7" - }, - transform: { - name: "@babel/plugin-proposal-function-bind", - url: "https://git.io/vb4St" - } - }, - functionSent: { - syntax: { - name: "@babel/plugin-syntax-function-sent", - url: "https://git.io/vb4yN" - }, - transform: { - name: "@babel/plugin-proposal-function-sent", - url: "https://git.io/vb4SZ" - } - }, - importMeta: { - syntax: { - name: "@babel/plugin-syntax-import-meta", - url: "https://git.io/vbKK6" - } - }, - jsx: { - syntax: { - name: "@babel/plugin-syntax-jsx", - url: "https://git.io/vb4yA" - }, - transform: { - name: "@babel/plugin-transform-react-jsx", - url: "https://git.io/vb4yd" - } - }, - logicalAssignment: { - syntax: { - name: "@babel/plugin-syntax-logical-assignment-operators", - url: "https://git.io/vAlBp" - }, - transform: { - name: "@babel/plugin-proposal-logical-assignment-operators", - url: "https://git.io/vAlRe" - } - }, - nullishCoalescingOperator: { - syntax: { - name: "@babel/plugin-syntax-nullish-coalescing-operator", - url: "https://git.io/vb4yx" - }, - transform: { - name: "@babel/plugin-proposal-nullish-coalescing-operator", - url: "https://git.io/vb4Se" - } - }, - numericSeparator: { - syntax: { - name: "@babel/plugin-syntax-numeric-separator", - url: "https://git.io/vb4Sq" - }, - transform: { - name: "@babel/plugin-proposal-numeric-separator", - url: "https://git.io/vb4yS" - } - }, - optionalChaining: { - syntax: { - name: "@babel/plugin-syntax-optional-chaining", - url: "https://git.io/vb4Sc" - }, - transform: { - name: "@babel/plugin-proposal-optional-chaining", - url: "https://git.io/vb4Sk" - } - }, - pipelineOperator: { - syntax: { - name: "@babel/plugin-syntax-pipeline-operator", - url: "https://git.io/vb4yj" - }, - transform: { - name: "@babel/plugin-proposal-pipeline-operator", - url: "https://git.io/vb4SU" - } - }, - throwExpressions: { - syntax: { - name: "@babel/plugin-syntax-throw-expressions", - url: "https://git.io/vb4SJ" - }, - transform: { - name: "@babel/plugin-proposal-throw-expressions", - url: "https://git.io/vb4yF" - } - }, - typescript: { - syntax: { - name: "@babel/plugin-syntax-typescript", - url: "https://git.io/vb4SC" - }, - transform: { - name: "@babel/plugin-transform-typescript", - url: "https://git.io/vb4Sm" - } - }, - asyncGenerators: { - syntax: { - name: "@babel/plugin-syntax-async-generators", - url: "https://git.io/vb4SY" - }, - transform: { - name: "@babel/plugin-proposal-async-generator-functions", - url: "https://git.io/vb4yp" - } - }, - objectRestSpread: { - syntax: { - name: "@babel/plugin-syntax-object-rest-spread", - url: "https://git.io/vb4y5" - }, - transform: { - name: "@babel/plugin-proposal-object-rest-spread", - url: "https://git.io/vb4Ss" - } - }, - optionalCatchBinding: { - syntax: { - name: "@babel/plugin-syntax-optional-catch-binding", - url: "https://git.io/vb4Sn" - }, - transform: { - name: "@babel/plugin-proposal-optional-catch-binding", - url: "https://git.io/vb4SI" - } - } -}; - -var getNameURLCombination = function getNameURLCombination(_ref) { - var name = _ref.name, - url = _ref.url; - return "".concat(name, " (").concat(url, ")"); -}; - -function generateMissingPluginMessage(missingPluginName, loc, codeFrame) { - var helpMessage = "Support for the experimental syntax '".concat(missingPluginName, "' isn't currently enabled ") + "(".concat(loc.line, ":").concat(loc.column + 1, "):\n\n") + codeFrame; - var pluginInfo = pluginNameMap[missingPluginName]; - - if (pluginInfo) { - var syntaxPlugin = pluginInfo.syntax, - transformPlugin = pluginInfo.transform; - - if (syntaxPlugin) { - if (transformPlugin) { - var transformPluginInfo = getNameURLCombination(transformPlugin); - helpMessage += "\n\nAdd ".concat(transformPluginInfo, " to the 'plugins' section of your Babel config ") + "to enable transformation."; - } else { - var syntaxPluginInfo = getNameURLCombination(syntaxPlugin); - helpMessage += "\n\nAdd ".concat(syntaxPluginInfo, " to the 'plugins' section of your Babel config ") + "to enable parsing."; - } - } - } - - return helpMessage; -} - -},{}],34:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/* eslint-env browser */ - -/** - * This is the web browser implementation of `debug()`. - */ -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = localstorage(); -/** - * Colors. - */ - -exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ -// eslint-disable-next-line complexity - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { - return true; - } // Internet Explorer and Edge do not support colors. - - - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } // Is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - - - return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 - typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker - typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); -} -/** - * Colorize log arguments if enabled. - * - * @api public - */ - - -function formatArgs(args) { - args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); - - if (!this.useColors) { - return; - } - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function (match) { - if (match === '%%') { - return; - } - - index++; - - if (match === '%c') { - // We only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - args.splice(lastC, 0, c); -} -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - - -function log() { - var _console; - - // This hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); -} -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - - -function save(namespaces) { - try { - if (namespaces) { - exports.storage.setItem('debug', namespaces); - } else { - exports.storage.removeItem('debug'); - } - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - - -function load() { - var r; - - try { - r = exports.storage.getItem('debug'); - } catch (error) {} // Swallow - // XXX (@Qix-) should we be logging these? - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - - - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - - -function localstorage() { - try { - // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context - // The Browser also has localStorage in the global context. - return localStorage; - } catch (error) {// Swallow - // XXX (@Qix-) should we be logging these? - } -} - -module.exports = require('./common')(exports); -var formatters = module.exports.formatters; -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -formatters.j = function (v) { - try { - return JSON.stringify(v); - } catch (error) { - return '[UnexpectedJSONParseError]: ' + error.message; - } -}; - -}).call(this,require('_process')) -},{"./common":35,"_process":1054}],35:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - */ -function setup(env) { - createDebug.debug = createDebug; - createDebug.default = createDebug; - createDebug.coerce = coerce; - createDebug.disable = disable; - createDebug.enable = enable; - createDebug.enabled = enabled; - createDebug.humanize = require('ms'); - Object.keys(env).forEach(function (key) { - createDebug[key] = env[key]; - }); - /** - * Active `debug` instances. - */ - - createDebug.instances = []; - /** - * The currently active debug mode names, and names to skip. - */ - - createDebug.names = []; - createDebug.skips = []; - /** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - - createDebug.formatters = {}; - /** - * Selects a color for a debug namespace - * @param {String} namespace The namespace string for the for the debug instance to be colored - * @return {Number|String} An ANSI color code for the given namespace - * @api private - */ - - function selectColor(namespace) { - var hash = 0; - - for (var i = 0; i < namespace.length; i++) { - hash = (hash << 5) - hash + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; - } - - createDebug.selectColor = selectColor; - /** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - - function createDebug(namespace) { - var prevTime; - - function debug() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - // Disabled? - if (!debug.enabled) { - return; - } - - var self = debug; // Set `diff` timestamp - - var curr = Number(new Date()); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - args[0] = createDebug.coerce(args[0]); - - if (typeof args[0] !== 'string') { - // Anything else let's inspect with %O - args.unshift('%O'); - } // Apply any `formatters` transformations - - - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { - // If we encounter an escaped % then don't increase the array index - if (match === '%%') { - return match; - } - - index++; - var formatter = createDebug.formatters[format]; - - if (typeof formatter === 'function') { - var val = args[index]; - match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` - - args.splice(index, 1); - index--; - } - - return match; - }); // Apply env-specific formatting (colors, etc.) - - createDebug.formatArgs.call(self, args); - var logFn = self.log || createDebug.log; - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = createDebug.enabled(namespace); - debug.useColors = createDebug.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - debug.extend = extend; // Debug.formatArgs = formatArgs; - // debug.rawLog = rawLog; - // env-specific initialization logic for debug instances - - if (typeof createDebug.init === 'function') { - createDebug.init(debug); - } - - createDebug.instances.push(debug); - return debug; - } - - function destroy() { - var index = createDebug.instances.indexOf(this); - - if (index !== -1) { - createDebug.instances.splice(index, 1); - return true; - } - - return false; - } - - function extend(namespace, delimiter) { - var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); - newDebug.log = this.log; - return newDebug; - } - /** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - - - function enable(namespaces) { - createDebug.save(namespaces); - createDebug.names = []; - createDebug.skips = []; - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) { - // ignore empty strings - continue; - } - - namespaces = split[i].replace(/\*/g, '.*?'); - - if (namespaces[0] === '-') { - createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - createDebug.names.push(new RegExp('^' + namespaces + '$')); - } - } - - for (i = 0; i < createDebug.instances.length; i++) { - var instance = createDebug.instances[i]; - instance.enabled = createDebug.enabled(instance.namespace); - } - } - /** - * Disable debug output. - * - * @return {String} namespaces - * @api public - */ - - - function disable() { - var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) { - return '-' + namespace; - }))).join(','); - createDebug.enable(''); - return namespaces; - } - /** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - - - function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - - var i; - var len; - - for (i = 0, len = createDebug.skips.length; i < len; i++) { - if (createDebug.skips[i].test(name)) { - return false; - } - } - - for (i = 0, len = createDebug.names.length; i < len; i++) { - if (createDebug.names[i].test(name)) { - return true; - } - } - - return false; - } - /** - * Convert regexp to namespace - * - * @param {RegExp} regxep - * @return {String} namespace - * @api private - */ - - - function toNamespace(regexp) { - return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*'); - } - /** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - - - function coerce(val) { - if (val instanceof Error) { - return val.stack || val.message; - } - - return val; - } - - createDebug.enable(createDebug.load()); - return createDebug; -} - -module.exports = setup; - -},{"ms":36}],36:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/** - * Helpers. - */ -var s = 1000; -var m = s * 60; -var h = m * 60; -var d = h * 24; -var w = d * 7; -var y = d * 365.25; -/** - * Parse or format the given `val`. - * - * Options: - * - * - `long` verbose formatting [false] - * - * @param {String|Number} val - * @param {Object} [options] - * @throws {Error} throw an error if val is not a non-empty string or a number - * @return {String|Number} - * @api public - */ - -module.exports = function (val, options) { - options = options || {}; - - var type = _typeof(val); - - if (type === 'string' && val.length > 0) { - return parse(val); - } else if (type === 'number' && isFinite(val)) { - return options.long ? fmtLong(val) : fmtShort(val); - } - - throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); -}; -/** - * Parse the given `str` and return milliseconds. - * - * @param {String} str - * @return {Number} - * @api private - */ - - -function parse(str) { - str = String(str); - - if (str.length > 100) { - return; - } - - var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); - - if (!match) { - return; - } - - var n = parseFloat(match[1]); - var type = (match[2] || 'ms').toLowerCase(); - - switch (type) { - case 'years': - case 'year': - case 'yrs': - case 'yr': - case 'y': - return n * y; - - case 'weeks': - case 'week': - case 'w': - return n * w; - - case 'days': - case 'day': - case 'd': - return n * d; - - case 'hours': - case 'hour': - case 'hrs': - case 'hr': - case 'h': - return n * h; - - case 'minutes': - case 'minute': - case 'mins': - case 'min': - case 'm': - return n * m; - - case 'seconds': - case 'second': - case 'secs': - case 'sec': - case 's': - return n * s; - - case 'milliseconds': - case 'millisecond': - case 'msecs': - case 'msec': - case 'ms': - return n; - - default: - return undefined; - } -} -/** - * Short format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - - -function fmtShort(ms) { - var msAbs = Math.abs(ms); - - if (msAbs >= d) { - return Math.round(ms / d) + 'd'; - } - - if (msAbs >= h) { - return Math.round(ms / h) + 'h'; - } - - if (msAbs >= m) { - return Math.round(ms / m) + 'm'; - } - - if (msAbs >= s) { - return Math.round(ms / s) + 's'; - } - - return ms + 'ms'; -} -/** - * Long format for `ms`. - * - * @param {Number} ms - * @return {String} - * @api private - */ - - -function fmtLong(ms) { - var msAbs = Math.abs(ms); - - if (msAbs >= d) { - return plural(ms, msAbs, d, 'day'); - } - - if (msAbs >= h) { - return plural(ms, msAbs, h, 'hour'); - } - - if (msAbs >= m) { - return plural(ms, msAbs, m, 'minute'); - } - - if (msAbs >= s) { - return plural(ms, msAbs, s, 'second'); - } - - return ms + ' ms'; -} -/** - * Pluralization helper. - */ - - -function plural(ms, msAbs, n, name) { - var isPlural = msAbs >= n * 1.5; - return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); -} - -},{}],37:[function(require,module,exports){ -module.exports={ - "_from": "@babel/core@*", - "_id": "@babel/core@7.7.2", - "_inBundle": false, - "_integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==", - "_location": "/@babel/core", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@babel/core@*", - "name": "@babel/core", - "escapedName": "@babel%2fcore", - "scope": "@babel", - "rawSpec": "*", - "saveSpec": null, - "fetchSpec": "*" - }, - "_requiredBy": [ - "#DEV:/" - ], - "_resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz", - "_shasum": "ea5b99693bcfc058116f42fa1dd54da412b29d91", - "_spec": "@babel/core@*", - "_where": "/local/home/ossman/devel/noVNC", - "author": { - "name": "Sebastian McKenzie", - "email": "sebmck@gmail.com" - }, - "browser": { - "./lib/config/files/index.js": "./lib/config/files/index-browser.js", - "./lib/transform-file.js": "./lib/transform-file-browser.js" - }, - "bundleDependencies": false, - "dependencies": { - "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.7.2", - "@babel/helpers": "^7.7.0", - "@babel/parser": "^7.7.2", - "@babel/template": "^7.7.0", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.7.2", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "deprecated": false, - "description": "Babel compiler core.", - "devDependencies": { - "@babel/helper-transform-fixture-test-runner": "^7.6.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "gitHead": "35f4d1276310bac6fede4a6f86a5c76f951e179e", - "homepage": "https://babeljs.io/", - "keywords": [ - "6to5", - "babel", - "classes", - "const", - "es6", - "harmony", - "let", - "modules", - "transpile", - "transpiler", - "var", - "babel-core", - "compiler" - ], - "license": "MIT", - "main": "lib/index.js", - "name": "@babel/core", - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/babel/babel/tree/master/packages/babel-core" - }, - "version": "7.7.2" -} - -},{}],38:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var SPACES_RE = /^[ \t]+$/; - -var Buffer = -/*#__PURE__*/ -function () { - function Buffer(map) { - _classCallCheck(this, Buffer); - - this._map = null; - this._buf = []; - this._last = ""; - this._queue = []; - this._position = { - line: 1, - column: 0 - }; - this._sourcePosition = { - identifierName: null, - line: null, - column: null, - filename: null - }; - this._disallowedPop = null; - this._map = map; - } - - _createClass(Buffer, [{ - key: "get", - value: function get() { - this._flush(); - - var map = this._map; - var result = { - code: this._buf.join("").trimRight(), - map: null, - rawMappings: map && map.getRawMappings() - }; - - if (map) { - Object.defineProperty(result, "map", { - configurable: true, - enumerable: true, - get: function get() { - return this.map = map.get(); - }, - set: function set(value) { - Object.defineProperty(this, "map", { - value: value, - writable: true - }); - } - }); - } - - return result; - } - }, { - key: "append", - value: function append(str) { - this._flush(); - - var _this$_sourcePosition = this._sourcePosition, - line = _this$_sourcePosition.line, - column = _this$_sourcePosition.column, - filename = _this$_sourcePosition.filename, - identifierName = _this$_sourcePosition.identifierName, - force = _this$_sourcePosition.force; - - this._append(str, line, column, identifierName, filename, force); - } - }, { - key: "queue", - value: function queue(str) { - if (str === "\n") { - while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) { - this._queue.shift(); - } - } - - var _this$_sourcePosition2 = this._sourcePosition, - line = _this$_sourcePosition2.line, - column = _this$_sourcePosition2.column, - filename = _this$_sourcePosition2.filename, - identifierName = _this$_sourcePosition2.identifierName, - force = _this$_sourcePosition2.force; - - this._queue.unshift([str, line, column, identifierName, filename, force]); - } - }, { - key: "_flush", - value: function _flush() { - var item; - - while (item = this._queue.pop()) { - this._append.apply(this, _toConsumableArray(item)); - } - } - }, { - key: "_append", - value: function _append(str, line, column, identifierName, filename, force) { - if (this._map && str[0] !== "\n") { - this._map.mark(this._position.line, this._position.column, line, column, identifierName, filename, force); - } - - this._buf.push(str); - - this._last = str[str.length - 1]; - - for (var i = 0; i < str.length; i++) { - if (str[i] === "\n") { - this._position.line++; - this._position.column = 0; - } else { - this._position.column++; - } - } - } - }, { - key: "removeTrailingNewline", - value: function removeTrailingNewline() { - if (this._queue.length > 0 && this._queue[0][0] === "\n") { - this._queue.shift(); - } - } - }, { - key: "removeLastSemicolon", - value: function removeLastSemicolon() { - if (this._queue.length > 0 && this._queue[0][0] === ";") { - this._queue.shift(); - } - } - }, { - key: "endsWith", - value: function endsWith(suffix) { - if (suffix.length === 1) { - var last; - - if (this._queue.length > 0) { - var str = this._queue[0][0]; - last = str[str.length - 1]; - } else { - last = this._last; - } - - return last === suffix; - } - - var end = this._last + this._queue.reduce(function (acc, item) { - return item[0] + acc; - }, ""); - - if (suffix.length <= end.length) { - return end.slice(-suffix.length) === suffix; - } - - return false; - } - }, { - key: "hasContent", - value: function hasContent() { - return this._queue.length > 0 || !!this._last; - } - }, { - key: "exactSource", - value: function exactSource(loc, cb) { - this.source("start", loc, true); - cb(); - this.source("end", loc); - - this._disallowPop("start", loc); - } - }, { - key: "source", - value: function source(prop, loc, force) { - if (prop && !loc) return; - - this._normalizePosition(prop, loc, this._sourcePosition, force); - } - }, { - key: "withSource", - value: function withSource(prop, loc, cb) { - if (!this._map) return cb(); - var originalLine = this._sourcePosition.line; - var originalColumn = this._sourcePosition.column; - var originalFilename = this._sourcePosition.filename; - var originalIdentifierName = this._sourcePosition.identifierName; - this.source(prop, loc); - cb(); - - if ((!this._sourcePosition.force || this._sourcePosition.line !== originalLine || this._sourcePosition.column !== originalColumn || this._sourcePosition.filename !== originalFilename) && (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename)) { - this._sourcePosition.line = originalLine; - this._sourcePosition.column = originalColumn; - this._sourcePosition.filename = originalFilename; - this._sourcePosition.identifierName = originalIdentifierName; - this._sourcePosition.force = false; - this._disallowedPop = null; - } - } - }, { - key: "_disallowPop", - value: function _disallowPop(prop, loc) { - if (prop && !loc) return; - this._disallowedPop = this._normalizePosition(prop, loc); - } - }, { - key: "_normalizePosition", - value: function _normalizePosition(prop, loc, targetObj, force) { - var pos = loc ? loc[prop] : null; - - if (targetObj === undefined) { - targetObj = { - identifierName: null, - line: null, - column: null, - filename: null, - force: false - }; - } - - var origLine = targetObj.line; - var origColumn = targetObj.column; - var origFilename = targetObj.filename; - targetObj.identifierName = prop === "start" && loc && loc.identifierName || null; - targetObj.line = pos ? pos.line : null; - targetObj.column = pos ? pos.column : null; - targetObj.filename = loc && loc.filename || null; - - if (force || targetObj.line !== origLine || targetObj.column !== origColumn || targetObj.filename !== origFilename) { - targetObj.force = force; - } - - return targetObj; - } - }, { - key: "getCurrentColumn", - value: function getCurrentColumn() { - var extra = this._queue.reduce(function (acc, item) { - return item[0] + acc; - }, ""); - - var lastIndex = extra.lastIndexOf("\n"); - return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex; - } - }, { - key: "getCurrentLine", - value: function getCurrentLine() { - var extra = this._queue.reduce(function (acc, item) { - return item[0] + acc; - }, ""); - - var count = 0; - - for (var i = 0; i < extra.length; i++) { - if (extra[i] === "\n") count++; - } - - return this._position.line + count; - } - }]); - - return Buffer; -}(); - -exports.default = Buffer; - -},{}],39:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.File = File; -exports.Program = Program; -exports.BlockStatement = BlockStatement; -exports.Noop = Noop; -exports.Directive = Directive; -exports.DirectiveLiteral = DirectiveLiteral; -exports.InterpreterDirective = InterpreterDirective; -exports.Placeholder = Placeholder; - -function File(node) { - if (node.program) { - this.print(node.program.interpreter, node); - } - - this.print(node.program, node); -} - -function Program(node) { - this.printInnerComments(node, false); - this.printSequence(node.directives, node); - if (node.directives && node.directives.length) this.newline(); - this.printSequence(node.body, node); -} - -function BlockStatement(node) { - this.token("{"); - this.printInnerComments(node); - var hasDirectives = node.directives && node.directives.length; - - if (node.body.length || hasDirectives) { - this.newline(); - this.printSequence(node.directives, node, { - indent: true - }); - if (hasDirectives) this.newline(); - this.printSequence(node.body, node, { - indent: true - }); - this.removeTrailingNewline(); - this.source("end", node.loc); - if (!this.endsWith("\n")) this.newline(); - this.rightBrace(); - } else { - this.source("end", node.loc); - this.token("}"); - } -} - -function Noop() {} - -function Directive(node) { - this.print(node.value, node); - this.semicolon(); -} - -var unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/; -var unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/; - -function DirectiveLiteral(node) { - var raw = this.getPossibleRaw(node); - - if (raw != null) { - this.token(raw); - return; - } - - var value = node.value; - - if (!unescapedDoubleQuoteRE.test(value)) { - this.token("\"".concat(value, "\"")); - } else if (!unescapedSingleQuoteRE.test(value)) { - this.token("'".concat(value, "'")); - } else { - throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes."); - } -} - -function InterpreterDirective(node) { - this.token("#!".concat(node.value, "\n")); -} - -function Placeholder(node) { - this.token("%%"); - this.print(node.name); - this.token("%%"); - - if (node.expectedNode === "Statement") { - this.semicolon(); - } -} - -},{}],40:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; -exports.ClassBody = ClassBody; -exports.ClassProperty = ClassProperty; -exports.ClassPrivateProperty = ClassPrivateProperty; -exports.ClassMethod = ClassMethod; -exports.ClassPrivateMethod = ClassPrivateMethod; -exports._classMethodHead = _classMethodHead; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function ClassDeclaration(node, parent) { - if (!this.format.decoratorsBeforeExport || !t.isExportDefaultDeclaration(parent) && !t.isExportNamedDeclaration(parent)) { - this.printJoin(node.decorators, node); - } - - if (node.declare) { - this.word("declare"); - this.space(); - } - - if (node.abstract) { - this.word("abstract"); - this.space(); - } - - this.word("class"); - - if (node.id) { - this.space(); - this.print(node.id, node); - } - - this.print(node.typeParameters, node); - - if (node.superClass) { - this.space(); - this.word("extends"); - this.space(); - this.print(node.superClass, node); - this.print(node.superTypeParameters, node); - } - - if (node.implements) { - this.space(); - this.word("implements"); - this.space(); - this.printList(node.implements, node); - } - - this.space(); - this.print(node.body, node); -} - -function ClassBody(node) { - this.token("{"); - this.printInnerComments(node); - - if (node.body.length === 0) { - this.token("}"); - } else { - this.newline(); - this.indent(); - this.printSequence(node.body, node); - this.dedent(); - if (!this.endsWith("\n")) this.newline(); - this.rightBrace(); - } -} - -function ClassProperty(node) { - this.printJoin(node.decorators, node); - this.tsPrintClassMemberModifiers(node, true); - - if (node.computed) { - this.token("["); - this.print(node.key, node); - this.token("]"); - } else { - this._variance(node); - - this.print(node.key, node); - } - - if (node.optional) { - this.token("?"); - } - - if (node.definite) { - this.token("!"); - } - - this.print(node.typeAnnotation, node); - - if (node.value) { - this.space(); - this.token("="); - this.space(); - this.print(node.value, node); - } - - this.semicolon(); -} - -function ClassPrivateProperty(node) { - if (node.static) { - this.word("static"); - this.space(); - } - - this.print(node.key, node); - this.print(node.typeAnnotation, node); - - if (node.value) { - this.space(); - this.token("="); - this.space(); - this.print(node.value, node); - } - - this.semicolon(); -} - -function ClassMethod(node) { - this._classMethodHead(node); - - this.space(); - this.print(node.body, node); -} - -function ClassPrivateMethod(node) { - this._classMethodHead(node); - - this.space(); - this.print(node.body, node); -} - -function _classMethodHead(node) { - this.printJoin(node.decorators, node); - this.tsPrintClassMemberModifiers(node, false); - - this._methodHead(node); -} - -},{"@babel/types":242}],41:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.UnaryExpression = UnaryExpression; -exports.DoExpression = DoExpression; -exports.ParenthesizedExpression = ParenthesizedExpression; -exports.UpdateExpression = UpdateExpression; -exports.ConditionalExpression = ConditionalExpression; -exports.NewExpression = NewExpression; -exports.SequenceExpression = SequenceExpression; -exports.ThisExpression = ThisExpression; -exports.Super = Super; -exports.Decorator = Decorator; -exports.OptionalMemberExpression = OptionalMemberExpression; -exports.OptionalCallExpression = OptionalCallExpression; -exports.CallExpression = CallExpression; -exports.Import = Import; -exports.EmptyStatement = EmptyStatement; -exports.ExpressionStatement = ExpressionStatement; -exports.AssignmentPattern = AssignmentPattern; -exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression; -exports.BindExpression = BindExpression; -exports.MemberExpression = MemberExpression; -exports.MetaProperty = MetaProperty; -exports.PrivateName = PrivateName; -exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; -exports.AwaitExpression = exports.YieldExpression = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -var n = _interopRequireWildcard(require("../node")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function UnaryExpression(node) { - if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") { - this.word(node.operator); - this.space(); - } else { - this.token(node.operator); - } - - this.print(node.argument, node); -} - -function DoExpression(node) { - this.word("do"); - this.space(); - this.print(node.body, node); -} - -function ParenthesizedExpression(node) { - this.token("("); - this.print(node.expression, node); - this.token(")"); -} - -function UpdateExpression(node) { - if (node.prefix) { - this.token(node.operator); - this.print(node.argument, node); - } else { - this.startTerminatorless(true); - this.print(node.argument, node); - this.endTerminatorless(); - this.token(node.operator); - } -} - -function ConditionalExpression(node) { - this.print(node.test, node); - this.space(); - this.token("?"); - this.space(); - this.print(node.consequent, node); - this.space(); - this.token(":"); - this.space(); - this.print(node.alternate, node); -} - -function NewExpression(node, parent) { - this.word("new"); - this.space(); - this.print(node.callee, node); - - if (this.format.minified && node.arguments.length === 0 && !node.optional && !t.isCallExpression(parent, { - callee: node - }) && !t.isMemberExpression(parent) && !t.isNewExpression(parent)) { - return; - } - - this.print(node.typeArguments, node); - this.print(node.typeParameters, node); - - if (node.optional) { - this.token("?."); - } - - this.token("("); - this.printList(node.arguments, node); - this.token(")"); -} - -function SequenceExpression(node) { - this.printList(node.expressions, node); -} - -function ThisExpression() { - this.word("this"); -} - -function Super() { - this.word("super"); -} - -function Decorator(node) { - this.token("@"); - this.print(node.expression, node); - this.newline(); -} - -function OptionalMemberExpression(node) { - this.print(node.object, node); - - if (!node.computed && t.isMemberExpression(node.property)) { - throw new TypeError("Got a MemberExpression for MemberExpression property"); - } - - var computed = node.computed; - - if (t.isLiteral(node.property) && typeof node.property.value === "number") { - computed = true; - } - - if (node.optional) { - this.token("?."); - } - - if (computed) { - this.token("["); - this.print(node.property, node); - this.token("]"); - } else { - if (!node.optional) { - this.token("."); - } - - this.print(node.property, node); - } -} - -function OptionalCallExpression(node) { - this.print(node.callee, node); - this.print(node.typeArguments, node); - this.print(node.typeParameters, node); - - if (node.optional) { - this.token("?."); - } - - this.token("("); - this.printList(node.arguments, node); - this.token(")"); -} - -function CallExpression(node) { - this.print(node.callee, node); - this.print(node.typeArguments, node); - this.print(node.typeParameters, node); - this.token("("); - this.printList(node.arguments, node); - this.token(")"); -} - -function Import() { - this.word("import"); -} - -function buildYieldAwait(keyword) { - return function (node) { - this.word(keyword); - - if (node.delegate) { - this.token("*"); - } - - if (node.argument) { - this.space(); - var terminatorState = this.startTerminatorless(); - this.print(node.argument, node); - this.endTerminatorless(terminatorState); - } - }; -} - -var YieldExpression = buildYieldAwait("yield"); -exports.YieldExpression = YieldExpression; -var AwaitExpression = buildYieldAwait("await"); -exports.AwaitExpression = AwaitExpression; - -function EmptyStatement() { - this.semicolon(true); -} - -function ExpressionStatement(node) { - this.print(node.expression, node); - this.semicolon(); -} - -function AssignmentPattern(node) { - this.print(node.left, node); - if (node.left.optional) this.token("?"); - this.print(node.left.typeAnnotation, node); - this.space(); - this.token("="); - this.space(); - this.print(node.right, node); -} - -function AssignmentExpression(node, parent) { - var parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent); - - if (parens) { - this.token("("); - } - - this.print(node.left, node); - this.space(); - - if (node.operator === "in" || node.operator === "instanceof") { - this.word(node.operator); - } else { - this.token(node.operator); - } - - this.space(); - this.print(node.right, node); - - if (parens) { - this.token(")"); - } -} - -function BindExpression(node) { - this.print(node.object, node); - this.token("::"); - this.print(node.callee, node); -} - -function MemberExpression(node) { - this.print(node.object, node); - - if (!node.computed && t.isMemberExpression(node.property)) { - throw new TypeError("Got a MemberExpression for MemberExpression property"); - } - - var computed = node.computed; - - if (t.isLiteral(node.property) && typeof node.property.value === "number") { - computed = true; - } - - if (computed) { - this.token("["); - this.print(node.property, node); - this.token("]"); - } else { - this.token("."); - this.print(node.property, node); - } -} - -function MetaProperty(node) { - this.print(node.meta, node); - this.token("."); - this.print(node.property, node); -} - -function PrivateName(node) { - this.token("#"); - this.print(node.id, node); -} - -function V8IntrinsicIdentifier(node) { - this.token("%"); - this.word(node.name); -} - -},{"../node":52,"@babel/types":242}],42:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.AnyTypeAnnotation = AnyTypeAnnotation; -exports.ArrayTypeAnnotation = ArrayTypeAnnotation; -exports.BooleanTypeAnnotation = BooleanTypeAnnotation; -exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; -exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; -exports.DeclareClass = DeclareClass; -exports.DeclareFunction = DeclareFunction; -exports.InferredPredicate = InferredPredicate; -exports.DeclaredPredicate = DeclaredPredicate; -exports.DeclareInterface = DeclareInterface; -exports.DeclareModule = DeclareModule; -exports.DeclareModuleExports = DeclareModuleExports; -exports.DeclareTypeAlias = DeclareTypeAlias; -exports.DeclareOpaqueType = DeclareOpaqueType; -exports.DeclareVariable = DeclareVariable; -exports.DeclareExportDeclaration = DeclareExportDeclaration; -exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; -exports.EnumDeclaration = EnumDeclaration; -exports.EnumBooleanBody = EnumBooleanBody; -exports.EnumNumberBody = EnumNumberBody; -exports.EnumStringBody = EnumStringBody; -exports.EnumSymbolBody = EnumSymbolBody; -exports.EnumDefaultedMember = EnumDefaultedMember; -exports.EnumBooleanMember = EnumBooleanMember; -exports.EnumNumberMember = EnumNumberMember; -exports.EnumStringMember = EnumStringMember; -exports.ExistsTypeAnnotation = ExistsTypeAnnotation; -exports.FunctionTypeAnnotation = FunctionTypeAnnotation; -exports.FunctionTypeParam = FunctionTypeParam; -exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends; -exports._interfaceish = _interfaceish; -exports._variance = _variance; -exports.InterfaceDeclaration = InterfaceDeclaration; -exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; -exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; -exports.MixedTypeAnnotation = MixedTypeAnnotation; -exports.EmptyTypeAnnotation = EmptyTypeAnnotation; -exports.NullableTypeAnnotation = NullableTypeAnnotation; -exports.NumberTypeAnnotation = NumberTypeAnnotation; -exports.StringTypeAnnotation = StringTypeAnnotation; -exports.ThisTypeAnnotation = ThisTypeAnnotation; -exports.TupleTypeAnnotation = TupleTypeAnnotation; -exports.TypeofTypeAnnotation = TypeofTypeAnnotation; -exports.TypeAlias = TypeAlias; -exports.TypeAnnotation = TypeAnnotation; -exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation; -exports.TypeParameter = TypeParameter; -exports.OpaqueType = OpaqueType; -exports.ObjectTypeAnnotation = ObjectTypeAnnotation; -exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; -exports.ObjectTypeCallProperty = ObjectTypeCallProperty; -exports.ObjectTypeIndexer = ObjectTypeIndexer; -exports.ObjectTypeProperty = ObjectTypeProperty; -exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; -exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; -exports.UnionTypeAnnotation = UnionTypeAnnotation; -exports.TypeCastExpression = TypeCastExpression; -exports.Variance = Variance; -exports.VoidTypeAnnotation = VoidTypeAnnotation; -Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { - enumerable: true, - get: function get() { - return _types2.NumericLiteral; - } -}); -Object.defineProperty(exports, "StringLiteralTypeAnnotation", { - enumerable: true, - get: function get() { - return _types2.StringLiteral; - } -}); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _modules = require("./modules"); - -var _types2 = require("./types"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function AnyTypeAnnotation() { - this.word("any"); -} - -function ArrayTypeAnnotation(node) { - this.print(node.elementType, node); - this.token("["); - this.token("]"); -} - -function BooleanTypeAnnotation() { - this.word("boolean"); -} - -function BooleanLiteralTypeAnnotation(node) { - this.word(node.value ? "true" : "false"); -} - -function NullLiteralTypeAnnotation() { - this.word("null"); -} - -function DeclareClass(node, parent) { - if (!t.isDeclareExportDeclaration(parent)) { - this.word("declare"); - this.space(); - } - - this.word("class"); - this.space(); - - this._interfaceish(node); -} - -function DeclareFunction(node, parent) { - if (!t.isDeclareExportDeclaration(parent)) { - this.word("declare"); - this.space(); - } - - this.word("function"); - this.space(); - this.print(node.id, node); - this.print(node.id.typeAnnotation.typeAnnotation, node); - - if (node.predicate) { - this.space(); - this.print(node.predicate, node); - } - - this.semicolon(); -} - -function InferredPredicate() { - this.token("%"); - this.word("checks"); -} - -function DeclaredPredicate(node) { - this.token("%"); - this.word("checks"); - this.token("("); - this.print(node.value, node); - this.token(")"); -} - -function DeclareInterface(node) { - this.word("declare"); - this.space(); - this.InterfaceDeclaration(node); -} - -function DeclareModule(node) { - this.word("declare"); - this.space(); - this.word("module"); - this.space(); - this.print(node.id, node); - this.space(); - this.print(node.body, node); -} - -function DeclareModuleExports(node) { - this.word("declare"); - this.space(); - this.word("module"); - this.token("."); - this.word("exports"); - this.print(node.typeAnnotation, node); -} - -function DeclareTypeAlias(node) { - this.word("declare"); - this.space(); - this.TypeAlias(node); -} - -function DeclareOpaqueType(node, parent) { - if (!t.isDeclareExportDeclaration(parent)) { - this.word("declare"); - this.space(); - } - - this.OpaqueType(node); -} - -function DeclareVariable(node, parent) { - if (!t.isDeclareExportDeclaration(parent)) { - this.word("declare"); - this.space(); - } - - this.word("var"); - this.space(); - this.print(node.id, node); - this.print(node.id.typeAnnotation, node); - this.semicolon(); -} - -function DeclareExportDeclaration(node) { - this.word("declare"); - this.space(); - this.word("export"); - this.space(); - - if (node.default) { - this.word("default"); - this.space(); - } - - FlowExportDeclaration.apply(this, arguments); -} - -function DeclareExportAllDeclaration() { - this.word("declare"); - this.space(); - - _modules.ExportAllDeclaration.apply(this, arguments); -} - -function EnumDeclaration(node) { - var id = node.id, - body = node.body; - this.word("enum"); - this.space(); - this.print(id, node); - this.print(body, node); -} - -function enumExplicitType(context, name, hasExplicitType) { - if (hasExplicitType) { - context.space(); - context.word("of"); - context.space(); - context.word(name); - } - - context.space(); -} - -function enumBody(context, node) { - var members = node.members; - context.token("{"); - context.indent(); - context.newline(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = members[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var member = _step.value; - context.print(member, node); - context.newline(); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - context.dedent(); - context.token("}"); -} - -function EnumBooleanBody(node) { - var explicitType = node.explicitType; - enumExplicitType(this, "boolean", explicitType); - enumBody(this, node); -} - -function EnumNumberBody(node) { - var explicitType = node.explicitType; - enumExplicitType(this, "number", explicitType); - enumBody(this, node); -} - -function EnumStringBody(node) { - var explicitType = node.explicitType; - enumExplicitType(this, "string", explicitType); - enumBody(this, node); -} - -function EnumSymbolBody(node) { - enumExplicitType(this, "symbol", true); - enumBody(this, node); -} - -function EnumDefaultedMember(node) { - var id = node.id; - this.print(id, node); - this.token(","); -} - -function enumInitializedMember(context, node) { - var id = node.id, - init = node.init; - context.print(id, node); - context.space(); - context.token("="); - context.space(); - context.print(init, node); - context.token(","); -} - -function EnumBooleanMember(node) { - enumInitializedMember(this, node); -} - -function EnumNumberMember(node) { - enumInitializedMember(this, node); -} - -function EnumStringMember(node) { - enumInitializedMember(this, node); -} - -function FlowExportDeclaration(node) { - if (node.declaration) { - var declar = node.declaration; - this.print(declar, node); - if (!t.isStatement(declar)) this.semicolon(); - } else { - this.token("{"); - - if (node.specifiers.length) { - this.space(); - this.printList(node.specifiers, node); - this.space(); - } - - this.token("}"); - - if (node.source) { - this.space(); - this.word("from"); - this.space(); - this.print(node.source, node); - } - - this.semicolon(); - } -} - -function ExistsTypeAnnotation() { - this.token("*"); -} - -function FunctionTypeAnnotation(node, parent) { - this.print(node.typeParameters, node); - this.token("("); - this.printList(node.params, node); - - if (node.rest) { - if (node.params.length) { - this.token(","); - this.space(); - } - - this.token("..."); - this.print(node.rest, node); - } - - this.token(")"); - - if (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method) { - this.token(":"); - } else { - this.space(); - this.token("=>"); - } - - this.space(); - this.print(node.returnType, node); -} - -function FunctionTypeParam(node) { - this.print(node.name, node); - if (node.optional) this.token("?"); - - if (node.name) { - this.token(":"); - this.space(); - } - - this.print(node.typeAnnotation, node); -} - -function InterfaceExtends(node) { - this.print(node.id, node); - this.print(node.typeParameters, node); -} - -function _interfaceish(node) { - this.print(node.id, node); - this.print(node.typeParameters, node); - - if (node.extends.length) { - this.space(); - this.word("extends"); - this.space(); - this.printList(node.extends, node); - } - - if (node.mixins && node.mixins.length) { - this.space(); - this.word("mixins"); - this.space(); - this.printList(node.mixins, node); - } - - if (node.implements && node.implements.length) { - this.space(); - this.word("implements"); - this.space(); - this.printList(node.implements, node); - } - - this.space(); - this.print(node.body, node); -} - -function _variance(node) { - if (node.variance) { - if (node.variance.kind === "plus") { - this.token("+"); - } else if (node.variance.kind === "minus") { - this.token("-"); - } - } -} - -function InterfaceDeclaration(node) { - this.word("interface"); - this.space(); - - this._interfaceish(node); -} - -function andSeparator() { - this.space(); - this.token("&"); - this.space(); -} - -function InterfaceTypeAnnotation(node) { - this.word("interface"); - - if (node.extends && node.extends.length) { - this.space(); - this.word("extends"); - this.space(); - this.printList(node.extends, node); - } - - this.space(); - this.print(node.body, node); -} - -function IntersectionTypeAnnotation(node) { - this.printJoin(node.types, node, { - separator: andSeparator - }); -} - -function MixedTypeAnnotation() { - this.word("mixed"); -} - -function EmptyTypeAnnotation() { - this.word("empty"); -} - -function NullableTypeAnnotation(node) { - this.token("?"); - this.print(node.typeAnnotation, node); -} - -function NumberTypeAnnotation() { - this.word("number"); -} - -function StringTypeAnnotation() { - this.word("string"); -} - -function ThisTypeAnnotation() { - this.word("this"); -} - -function TupleTypeAnnotation(node) { - this.token("["); - this.printList(node.types, node); - this.token("]"); -} - -function TypeofTypeAnnotation(node) { - this.word("typeof"); - this.space(); - this.print(node.argument, node); -} - -function TypeAlias(node) { - this.word("type"); - this.space(); - this.print(node.id, node); - this.print(node.typeParameters, node); - this.space(); - this.token("="); - this.space(); - this.print(node.right, node); - this.semicolon(); -} - -function TypeAnnotation(node) { - this.token(":"); - this.space(); - if (node.optional) this.token("?"); - this.print(node.typeAnnotation, node); -} - -function TypeParameterInstantiation(node) { - this.token("<"); - this.printList(node.params, node, {}); - this.token(">"); -} - -function TypeParameter(node) { - this._variance(node); - - this.word(node.name); - - if (node.bound) { - this.print(node.bound, node); - } - - if (node.default) { - this.space(); - this.token("="); - this.space(); - this.print(node.default, node); - } -} - -function OpaqueType(node) { - this.word("opaque"); - this.space(); - this.word("type"); - this.space(); - this.print(node.id, node); - this.print(node.typeParameters, node); - - if (node.supertype) { - this.token(":"); - this.space(); - this.print(node.supertype, node); - } - - if (node.impltype) { - this.space(); - this.token("="); - this.space(); - this.print(node.impltype, node); - } - - this.semicolon(); -} - -function ObjectTypeAnnotation(node) { - var _this = this; - - if (node.exact) { - this.token("{|"); - } else { - this.token("{"); - } - - var props = node.properties.concat(node.callProperties || [], node.indexers || [], node.internalSlots || []); - - if (props.length) { - this.space(); - this.printJoin(props, node, { - addNewlines: function addNewlines(leading) { - if (leading && !props[0]) return 1; - }, - indent: true, - statement: true, - iterator: function iterator() { - if (props.length !== 1 || node.inexact) { - _this.token(","); - - _this.space(); - } - } - }); - this.space(); - } - - if (node.inexact) { - this.indent(); - this.token("..."); - - if (props.length) { - this.newline(); - } - - this.dedent(); - } - - if (node.exact) { - this.token("|}"); - } else { - this.token("}"); - } -} - -function ObjectTypeInternalSlot(node) { - if (node.static) { - this.word("static"); - this.space(); - } - - this.token("["); - this.token("["); - this.print(node.id, node); - this.token("]"); - this.token("]"); - if (node.optional) this.token("?"); - - if (!node.method) { - this.token(":"); - this.space(); - } - - this.print(node.value, node); -} - -function ObjectTypeCallProperty(node) { - if (node.static) { - this.word("static"); - this.space(); - } - - this.print(node.value, node); -} - -function ObjectTypeIndexer(node) { - if (node.static) { - this.word("static"); - this.space(); - } - - this._variance(node); - - this.token("["); - - if (node.id) { - this.print(node.id, node); - this.token(":"); - this.space(); - } - - this.print(node.key, node); - this.token("]"); - this.token(":"); - this.space(); - this.print(node.value, node); -} - -function ObjectTypeProperty(node) { - if (node.proto) { - this.word("proto"); - this.space(); - } - - if (node.static) { - this.word("static"); - this.space(); - } - - this._variance(node); - - this.print(node.key, node); - if (node.optional) this.token("?"); - - if (!node.method) { - this.token(":"); - this.space(); - } - - this.print(node.value, node); -} - -function ObjectTypeSpreadProperty(node) { - this.token("..."); - this.print(node.argument, node); -} - -function QualifiedTypeIdentifier(node) { - this.print(node.qualification, node); - this.token("."); - this.print(node.id, node); -} - -function orSeparator() { - this.space(); - this.token("|"); - this.space(); -} - -function UnionTypeAnnotation(node) { - this.printJoin(node.types, node, { - separator: orSeparator - }); -} - -function TypeCastExpression(node) { - this.token("("); - this.print(node.expression, node); - this.print(node.typeAnnotation, node); - this.token(")"); -} - -function Variance(node) { - if (node.kind === "plus") { - this.token("+"); - } else { - this.token("-"); - } -} - -function VoidTypeAnnotation() { - this.word("void"); -} - -},{"./modules":46,"./types":49,"@babel/types":242}],43:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _templateLiterals = require("./template-literals"); - -Object.keys(_templateLiterals).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _templateLiterals[key]; - } - }); -}); - -var _expressions = require("./expressions"); - -Object.keys(_expressions).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _expressions[key]; - } - }); -}); - -var _statements = require("./statements"); - -Object.keys(_statements).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _statements[key]; - } - }); -}); - -var _classes = require("./classes"); - -Object.keys(_classes).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _classes[key]; - } - }); -}); - -var _methods = require("./methods"); - -Object.keys(_methods).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _methods[key]; - } - }); -}); - -var _modules = require("./modules"); - -Object.keys(_modules).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _modules[key]; - } - }); -}); - -var _types = require("./types"); - -Object.keys(_types).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _types[key]; - } - }); -}); - -var _flow = require("./flow"); - -Object.keys(_flow).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _flow[key]; - } - }); -}); - -var _base = require("./base"); - -Object.keys(_base).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _base[key]; - } - }); -}); - -var _jsx = require("./jsx"); - -Object.keys(_jsx).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _jsx[key]; - } - }); -}); - -var _typescript = require("./typescript"); - -Object.keys(_typescript).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _typescript[key]; - } - }); -}); - -},{"./base":39,"./classes":40,"./expressions":41,"./flow":42,"./jsx":44,"./methods":45,"./modules":46,"./statements":47,"./template-literals":48,"./types":49,"./typescript":50}],44:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.JSXAttribute = JSXAttribute; -exports.JSXIdentifier = JSXIdentifier; -exports.JSXNamespacedName = JSXNamespacedName; -exports.JSXMemberExpression = JSXMemberExpression; -exports.JSXSpreadAttribute = JSXSpreadAttribute; -exports.JSXExpressionContainer = JSXExpressionContainer; -exports.JSXSpreadChild = JSXSpreadChild; -exports.JSXText = JSXText; -exports.JSXElement = JSXElement; -exports.JSXOpeningElement = JSXOpeningElement; -exports.JSXClosingElement = JSXClosingElement; -exports.JSXEmptyExpression = JSXEmptyExpression; -exports.JSXFragment = JSXFragment; -exports.JSXOpeningFragment = JSXOpeningFragment; -exports.JSXClosingFragment = JSXClosingFragment; - -function JSXAttribute(node) { - this.print(node.name, node); - - if (node.value) { - this.token("="); - this.print(node.value, node); - } -} - -function JSXIdentifier(node) { - this.word(node.name); -} - -function JSXNamespacedName(node) { - this.print(node.namespace, node); - this.token(":"); - this.print(node.name, node); -} - -function JSXMemberExpression(node) { - this.print(node.object, node); - this.token("."); - this.print(node.property, node); -} - -function JSXSpreadAttribute(node) { - this.token("{"); - this.token("..."); - this.print(node.argument, node); - this.token("}"); -} - -function JSXExpressionContainer(node) { - this.token("{"); - this.print(node.expression, node); - this.token("}"); -} - -function JSXSpreadChild(node) { - this.token("{"); - this.token("..."); - this.print(node.expression, node); - this.token("}"); -} - -function JSXText(node) { - var raw = this.getPossibleRaw(node); - - if (raw != null) { - this.token(raw); - } else { - this.token(node.value); - } -} - -function JSXElement(node) { - var open = node.openingElement; - this.print(open, node); - if (open.selfClosing) return; - this.indent(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = node.children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var child = _step.value; - this.print(child, node); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - this.dedent(); - this.print(node.closingElement, node); -} - -function spaceSeparator() { - this.space(); -} - -function JSXOpeningElement(node) { - this.token("<"); - this.print(node.name, node); - this.print(node.typeParameters, node); - - if (node.attributes.length > 0) { - this.space(); - this.printJoin(node.attributes, node, { - separator: spaceSeparator - }); - } - - if (node.selfClosing) { - this.space(); - this.token("/>"); - } else { - this.token(">"); - } -} - -function JSXClosingElement(node) { - this.token(""); -} - -function JSXEmptyExpression(node) { - this.printInnerComments(node); -} - -function JSXFragment(node) { - this.print(node.openingFragment, node); - this.indent(); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = node.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var child = _step2.value; - this.print(child, node); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - this.dedent(); - this.print(node.closingFragment, node); -} - -function JSXOpeningFragment() { - this.token("<"); - this.token(">"); -} - -function JSXClosingFragment() { - this.token(""); -} - -},{}],45:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports._params = _params; -exports._parameters = _parameters; -exports._param = _param; -exports._methodHead = _methodHead; -exports._predicate = _predicate; -exports._functionHead = _functionHead; -exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; -exports.ArrowFunctionExpression = ArrowFunctionExpression; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _params(node) { - this.print(node.typeParameters, node); - this.token("("); - - this._parameters(node.params, node); - - this.token(")"); - this.print(node.returnType, node); -} - -function _parameters(parameters, parent) { - for (var i = 0; i < parameters.length; i++) { - this._param(parameters[i], parent); - - if (i < parameters.length - 1) { - this.token(","); - this.space(); - } - } -} - -function _param(parameter, parent) { - this.printJoin(parameter.decorators, parameter); - this.print(parameter, parent); - if (parameter.optional) this.token("?"); - this.print(parameter.typeAnnotation, parameter); -} - -function _methodHead(node) { - var kind = node.kind; - var key = node.key; - - if (kind === "get" || kind === "set") { - this.word(kind); - this.space(); - } - - if (node.async) { - this.word("async"); - this.space(); - } - - if (kind === "method" || kind === "init") { - if (node.generator) { - this.token("*"); - } - } - - if (node.computed) { - this.token("["); - this.print(key, node); - this.token("]"); - } else { - this.print(key, node); - } - - if (node.optional) { - this.token("?"); - } - - this._params(node); -} - -function _predicate(node) { - if (node.predicate) { - if (!node.returnType) { - this.token(":"); - } - - this.space(); - this.print(node.predicate, node); - } -} - -function _functionHead(node) { - if (node.async) { - this.word("async"); - this.space(); - } - - this.word("function"); - if (node.generator) this.token("*"); - this.space(); - - if (node.id) { - this.print(node.id, node); - } - - this._params(node); - - this._predicate(node); -} - -function FunctionExpression(node) { - this._functionHead(node); - - this.space(); - this.print(node.body, node); -} - -function ArrowFunctionExpression(node) { - if (node.async) { - this.word("async"); - this.space(); - } - - var firstParam = node.params[0]; - - if (node.params.length === 1 && t.isIdentifier(firstParam) && !hasTypes(node, firstParam)) { - if (this.format.retainLines && node.loc && node.body.loc && node.loc.start.line < node.body.loc.start.line) { - this.token("("); - - if (firstParam.loc && firstParam.loc.start.line > node.loc.start.line) { - this.indent(); - this.print(firstParam, node); - this.dedent(); - - this._catchUp("start", node.body.loc); - } else { - this.print(firstParam, node); - } - - this.token(")"); - } else { - this.print(firstParam, node); - } - } else { - this._params(node); - } - - this._predicate(node); - - this.space(); - this.token("=>"); - this.space(); - this.print(node.body, node); -} - -function hasTypes(node, param) { - return node.typeParameters || node.returnType || param.typeAnnotation || param.optional || param.trailingComments; -} - -},{"@babel/types":242}],46:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ImportSpecifier = ImportSpecifier; -exports.ImportDefaultSpecifier = ImportDefaultSpecifier; -exports.ExportDefaultSpecifier = ExportDefaultSpecifier; -exports.ExportSpecifier = ExportSpecifier; -exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; -exports.ExportAllDeclaration = ExportAllDeclaration; -exports.ExportNamedDeclaration = ExportNamedDeclaration; -exports.ExportDefaultDeclaration = ExportDefaultDeclaration; -exports.ImportDeclaration = ImportDeclaration; -exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function ImportSpecifier(node) { - if (node.importKind === "type" || node.importKind === "typeof") { - this.word(node.importKind); - this.space(); - } - - this.print(node.imported, node); - - if (node.local && node.local.name !== node.imported.name) { - this.space(); - this.word("as"); - this.space(); - this.print(node.local, node); - } -} - -function ImportDefaultSpecifier(node) { - this.print(node.local, node); -} - -function ExportDefaultSpecifier(node) { - this.print(node.exported, node); -} - -function ExportSpecifier(node) { - this.print(node.local, node); - - if (node.exported && node.local.name !== node.exported.name) { - this.space(); - this.word("as"); - this.space(); - this.print(node.exported, node); - } -} - -function ExportNamespaceSpecifier(node) { - this.token("*"); - this.space(); - this.word("as"); - this.space(); - this.print(node.exported, node); -} - -function ExportAllDeclaration(node) { - this.word("export"); - this.space(); - - if (node.exportKind === "type") { - this.word("type"); - this.space(); - } - - this.token("*"); - this.space(); - this.word("from"); - this.space(); - this.print(node.source, node); - this.semicolon(); -} - -function ExportNamedDeclaration(node) { - if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { - this.printJoin(node.declaration.decorators, node); - } - - this.word("export"); - this.space(); - ExportDeclaration.apply(this, arguments); -} - -function ExportDefaultDeclaration(node) { - if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { - this.printJoin(node.declaration.decorators, node); - } - - this.word("export"); - this.space(); - this.word("default"); - this.space(); - ExportDeclaration.apply(this, arguments); -} - -function ExportDeclaration(node) { - if (node.declaration) { - var declar = node.declaration; - this.print(declar, node); - if (!t.isStatement(declar)) this.semicolon(); - } else { - if (node.exportKind === "type") { - this.word("type"); - this.space(); - } - - var specifiers = node.specifiers.slice(0); - var hasSpecial = false; - - while (true) { - var first = specifiers[0]; - - if (t.isExportDefaultSpecifier(first) || t.isExportNamespaceSpecifier(first)) { - hasSpecial = true; - this.print(specifiers.shift(), node); - - if (specifiers.length) { - this.token(","); - this.space(); - } - } else { - break; - } - } - - if (specifiers.length || !specifiers.length && !hasSpecial) { - this.token("{"); - - if (specifiers.length) { - this.space(); - this.printList(specifiers, node); - this.space(); - } - - this.token("}"); - } - - if (node.source) { - this.space(); - this.word("from"); - this.space(); - this.print(node.source, node); - } - - this.semicolon(); - } -} - -function ImportDeclaration(node) { - this.word("import"); - this.space(); - - if (node.importKind === "type" || node.importKind === "typeof") { - this.word(node.importKind); - this.space(); - } - - var specifiers = node.specifiers.slice(0); - - if (specifiers && specifiers.length) { - while (true) { - var first = specifiers[0]; - - if (t.isImportDefaultSpecifier(first) || t.isImportNamespaceSpecifier(first)) { - this.print(specifiers.shift(), node); - - if (specifiers.length) { - this.token(","); - this.space(); - } - } else { - break; - } - } - - if (specifiers.length) { - this.token("{"); - this.space(); - this.printList(specifiers, node); - this.space(); - this.token("}"); - } - - this.space(); - this.word("from"); - this.space(); - } - - this.print(node.source, node); - this.semicolon(); -} - -function ImportNamespaceSpecifier(node) { - this.token("*"); - this.space(); - this.word("as"); - this.space(); - this.print(node.local, node); -} - -},{"@babel/types":242}],47:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.WithStatement = WithStatement; -exports.IfStatement = IfStatement; -exports.ForStatement = ForStatement; -exports.WhileStatement = WhileStatement; -exports.DoWhileStatement = DoWhileStatement; -exports.LabeledStatement = LabeledStatement; -exports.TryStatement = TryStatement; -exports.CatchClause = CatchClause; -exports.SwitchStatement = SwitchStatement; -exports.SwitchCase = SwitchCase; -exports.DebuggerStatement = DebuggerStatement; -exports.VariableDeclaration = VariableDeclaration; -exports.VariableDeclarator = VariableDeclarator; -exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function WithStatement(node) { - this.word("with"); - this.space(); - this.token("("); - this.print(node.object, node); - this.token(")"); - this.printBlock(node); -} - -function IfStatement(node) { - this.word("if"); - this.space(); - this.token("("); - this.print(node.test, node); - this.token(")"); - this.space(); - var needsBlock = node.alternate && t.isIfStatement(getLastStatement(node.consequent)); - - if (needsBlock) { - this.token("{"); - this.newline(); - this.indent(); - } - - this.printAndIndentOnComments(node.consequent, node); - - if (needsBlock) { - this.dedent(); - this.newline(); - this.token("}"); - } - - if (node.alternate) { - if (this.endsWith("}")) this.space(); - this.word("else"); - this.space(); - this.printAndIndentOnComments(node.alternate, node); - } -} - -function getLastStatement(statement) { - if (!t.isStatement(statement.body)) return statement; - return getLastStatement(statement.body); -} - -function ForStatement(node) { - this.word("for"); - this.space(); - this.token("("); - this.inForStatementInitCounter++; - this.print(node.init, node); - this.inForStatementInitCounter--; - this.token(";"); - - if (node.test) { - this.space(); - this.print(node.test, node); - } - - this.token(";"); - - if (node.update) { - this.space(); - this.print(node.update, node); - } - - this.token(")"); - this.printBlock(node); -} - -function WhileStatement(node) { - this.word("while"); - this.space(); - this.token("("); - this.print(node.test, node); - this.token(")"); - this.printBlock(node); -} - -var buildForXStatement = function buildForXStatement(op) { - return function (node) { - this.word("for"); - this.space(); - - if (op === "of" && node.await) { - this.word("await"); - this.space(); - } - - this.token("("); - this.print(node.left, node); - this.space(); - this.word(op); - this.space(); - this.print(node.right, node); - this.token(")"); - this.printBlock(node); - }; -}; - -var ForInStatement = buildForXStatement("in"); -exports.ForInStatement = ForInStatement; -var ForOfStatement = buildForXStatement("of"); -exports.ForOfStatement = ForOfStatement; - -function DoWhileStatement(node) { - this.word("do"); - this.space(); - this.print(node.body, node); - this.space(); - this.word("while"); - this.space(); - this.token("("); - this.print(node.test, node); - this.token(")"); - this.semicolon(); -} - -function buildLabelStatement(prefix) { - var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "label"; - return function (node) { - this.word(prefix); - var label = node[key]; - - if (label) { - this.space(); - var isLabel = key == "label"; - var terminatorState = this.startTerminatorless(isLabel); - this.print(label, node); - this.endTerminatorless(terminatorState); - } - - this.semicolon(); - }; -} - -var ContinueStatement = buildLabelStatement("continue"); -exports.ContinueStatement = ContinueStatement; -var ReturnStatement = buildLabelStatement("return", "argument"); -exports.ReturnStatement = ReturnStatement; -var BreakStatement = buildLabelStatement("break"); -exports.BreakStatement = BreakStatement; -var ThrowStatement = buildLabelStatement("throw", "argument"); -exports.ThrowStatement = ThrowStatement; - -function LabeledStatement(node) { - this.print(node.label, node); - this.token(":"); - this.space(); - this.print(node.body, node); -} - -function TryStatement(node) { - this.word("try"); - this.space(); - this.print(node.block, node); - this.space(); - - if (node.handlers) { - this.print(node.handlers[0], node); - } else { - this.print(node.handler, node); - } - - if (node.finalizer) { - this.space(); - this.word("finally"); - this.space(); - this.print(node.finalizer, node); - } -} - -function CatchClause(node) { - this.word("catch"); - this.space(); - - if (node.param) { - this.token("("); - this.print(node.param, node); - this.token(")"); - this.space(); - } - - this.print(node.body, node); -} - -function SwitchStatement(node) { - this.word("switch"); - this.space(); - this.token("("); - this.print(node.discriminant, node); - this.token(")"); - this.space(); - this.token("{"); - this.printSequence(node.cases, node, { - indent: true, - addNewlines: function addNewlines(leading, cas) { - if (!leading && node.cases[node.cases.length - 1] === cas) return -1; - } - }); - this.token("}"); -} - -function SwitchCase(node) { - if (node.test) { - this.word("case"); - this.space(); - this.print(node.test, node); - this.token(":"); - } else { - this.word("default"); - this.token(":"); - } - - if (node.consequent.length) { - this.newline(); - this.printSequence(node.consequent, node, { - indent: true - }); - } -} - -function DebuggerStatement() { - this.word("debugger"); - this.semicolon(); -} - -function variableDeclarationIndent() { - this.token(","); - this.newline(); - if (this.endsWith("\n")) for (var i = 0; i < 4; i++) { - this.space(true); - } -} - -function constDeclarationIndent() { - this.token(","); - this.newline(); - if (this.endsWith("\n")) for (var i = 0; i < 6; i++) { - this.space(true); - } -} - -function VariableDeclaration(node, parent) { - if (node.declare) { - this.word("declare"); - this.space(); - } - - this.word(node.kind); - this.space(); - var hasInits = false; - - if (!t.isFor(parent)) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var declar = _step.value; - - if (declar.init) { - hasInits = true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - var separator; - - if (hasInits) { - separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent; - } - - this.printList(node.declarations, node, { - separator: separator - }); - - if (t.isFor(parent)) { - if (parent.left === node || parent.init === node) return; - } - - this.semicolon(); -} - -function VariableDeclarator(node) { - this.print(node.id, node); - if (node.definite) this.token("!"); - this.print(node.id.typeAnnotation, node); - - if (node.init) { - this.space(); - this.token("="); - this.space(); - this.print(node.init, node); - } -} - -},{"@babel/types":242}],48:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TaggedTemplateExpression = TaggedTemplateExpression; -exports.TemplateElement = TemplateElement; -exports.TemplateLiteral = TemplateLiteral; - -function TaggedTemplateExpression(node) { - this.print(node.tag, node); - this.print(node.typeParameters, node); - this.print(node.quasi, node); -} - -function TemplateElement(node, parent) { - var isFirst = parent.quasis[0] === node; - var isLast = parent.quasis[parent.quasis.length - 1] === node; - var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${"); - this.token(value); -} - -function TemplateLiteral(node) { - var quasis = node.quasis; - - for (var i = 0; i < quasis.length; i++) { - this.print(quasis[i], node); - - if (i + 1 < quasis.length) { - this.print(node.expressions[i], node); - } - } -} - -},{}],49:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Identifier = Identifier; -exports.ArgumentPlaceholder = ArgumentPlaceholder; -exports.SpreadElement = exports.RestElement = RestElement; -exports.ObjectPattern = exports.ObjectExpression = ObjectExpression; -exports.ObjectMethod = ObjectMethod; -exports.ObjectProperty = ObjectProperty; -exports.ArrayPattern = exports.ArrayExpression = ArrayExpression; -exports.RegExpLiteral = RegExpLiteral; -exports.BooleanLiteral = BooleanLiteral; -exports.NullLiteral = NullLiteral; -exports.NumericLiteral = NumericLiteral; -exports.StringLiteral = StringLiteral; -exports.BigIntLiteral = BigIntLiteral; -exports.PipelineTopicExpression = PipelineTopicExpression; -exports.PipelineBareFunction = PipelineBareFunction; -exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; - -var t = _interopRequireWildcard(require("@babel/types")); - -var _jsesc = _interopRequireDefault(require("jsesc")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function Identifier(node) { - var _this = this; - - this.exactSource(node.loc, function () { - _this.word(node.name); - }); -} - -function ArgumentPlaceholder() { - this.token("?"); -} - -function RestElement(node) { - this.token("..."); - this.print(node.argument, node); -} - -function ObjectExpression(node) { - var props = node.properties; - this.token("{"); - this.printInnerComments(node); - - if (props.length) { - this.space(); - this.printList(props, node, { - indent: true, - statement: true - }); - this.space(); - } - - this.token("}"); -} - -function ObjectMethod(node) { - this.printJoin(node.decorators, node); - - this._methodHead(node); - - this.space(); - this.print(node.body, node); -} - -function ObjectProperty(node) { - this.printJoin(node.decorators, node); - - if (node.computed) { - this.token("["); - this.print(node.key, node); - this.token("]"); - } else { - if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) { - this.print(node.value, node); - return; - } - - this.print(node.key, node); - - if (node.shorthand && t.isIdentifier(node.key) && t.isIdentifier(node.value) && node.key.name === node.value.name) { - return; - } - } - - this.token(":"); - this.space(); - this.print(node.value, node); -} - -function ArrayExpression(node) { - var elems = node.elements; - var len = elems.length; - this.token("["); - this.printInnerComments(node); - - for (var i = 0; i < elems.length; i++) { - var elem = elems[i]; - - if (elem) { - if (i > 0) this.space(); - this.print(elem, node); - if (i < len - 1) this.token(","); - } else { - this.token(","); - } - } - - this.token("]"); -} - -function RegExpLiteral(node) { - this.word("/".concat(node.pattern, "/").concat(node.flags)); -} - -function BooleanLiteral(node) { - this.word(node.value ? "true" : "false"); -} - -function NullLiteral() { - this.word("null"); -} - -function NumericLiteral(node) { - var raw = this.getPossibleRaw(node); - var value = node.value + ""; - - if (raw == null) { - this.number(value); - } else if (this.format.minified) { - this.number(raw.length < value.length ? raw : value); - } else { - this.number(raw); - } -} - -function StringLiteral(node) { - var raw = this.getPossibleRaw(node); - - if (!this.format.minified && raw != null) { - this.token(raw); - return; - } - - var opts = this.format.jsescOption; - - if (this.format.jsonCompatibleStrings) { - opts.json = true; - } - - var val = (0, _jsesc.default)(node.value, opts); - return this.token(val); -} - -function BigIntLiteral(node) { - var raw = this.getPossibleRaw(node); - - if (!this.format.minified && raw != null) { - this.token(raw); - return; - } - - this.token(node.value); -} - -function PipelineTopicExpression(node) { - this.print(node.expression, node); -} - -function PipelineBareFunction(node) { - this.print(node.callee, node); -} - -function PipelinePrimaryTopicReference() { - this.token("#"); -} - -},{"@babel/types":242,"jsesc":844}],50:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TSTypeAnnotation = TSTypeAnnotation; -exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; -exports.TSTypeParameter = TSTypeParameter; -exports.TSParameterProperty = TSParameterProperty; -exports.TSDeclareFunction = TSDeclareFunction; -exports.TSDeclareMethod = TSDeclareMethod; -exports.TSQualifiedName = TSQualifiedName; -exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; -exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; -exports.TSPropertySignature = TSPropertySignature; -exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName; -exports.TSMethodSignature = TSMethodSignature; -exports.TSIndexSignature = TSIndexSignature; -exports.TSAnyKeyword = TSAnyKeyword; -exports.TSBigIntKeyword = TSBigIntKeyword; -exports.TSUnknownKeyword = TSUnknownKeyword; -exports.TSNumberKeyword = TSNumberKeyword; -exports.TSObjectKeyword = TSObjectKeyword; -exports.TSBooleanKeyword = TSBooleanKeyword; -exports.TSStringKeyword = TSStringKeyword; -exports.TSSymbolKeyword = TSSymbolKeyword; -exports.TSVoidKeyword = TSVoidKeyword; -exports.TSUndefinedKeyword = TSUndefinedKeyword; -exports.TSNullKeyword = TSNullKeyword; -exports.TSNeverKeyword = TSNeverKeyword; -exports.TSThisType = TSThisType; -exports.TSFunctionType = TSFunctionType; -exports.TSConstructorType = TSConstructorType; -exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType; -exports.TSTypeReference = TSTypeReference; -exports.TSTypePredicate = TSTypePredicate; -exports.TSTypeQuery = TSTypeQuery; -exports.TSTypeLiteral = TSTypeLiteral; -exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody; -exports.tsPrintBraced = tsPrintBraced; -exports.TSArrayType = TSArrayType; -exports.TSTupleType = TSTupleType; -exports.TSOptionalType = TSOptionalType; -exports.TSRestType = TSRestType; -exports.TSUnionType = TSUnionType; -exports.TSIntersectionType = TSIntersectionType; -exports.tsPrintUnionOrIntersectionType = tsPrintUnionOrIntersectionType; -exports.TSConditionalType = TSConditionalType; -exports.TSInferType = TSInferType; -exports.TSParenthesizedType = TSParenthesizedType; -exports.TSTypeOperator = TSTypeOperator; -exports.TSIndexedAccessType = TSIndexedAccessType; -exports.TSMappedType = TSMappedType; -exports.TSLiteralType = TSLiteralType; -exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; -exports.TSInterfaceDeclaration = TSInterfaceDeclaration; -exports.TSInterfaceBody = TSInterfaceBody; -exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; -exports.TSAsExpression = TSAsExpression; -exports.TSTypeAssertion = TSTypeAssertion; -exports.TSEnumDeclaration = TSEnumDeclaration; -exports.TSEnumMember = TSEnumMember; -exports.TSModuleDeclaration = TSModuleDeclaration; -exports.TSModuleBlock = TSModuleBlock; -exports.TSImportType = TSImportType; -exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; -exports.TSExternalModuleReference = TSExternalModuleReference; -exports.TSNonNullExpression = TSNonNullExpression; -exports.TSExportAssignment = TSExportAssignment; -exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; -exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase; -exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers; - -function TSTypeAnnotation(node) { - this.token(":"); - this.space(); - if (node.optional) this.token("?"); - this.print(node.typeAnnotation, node); -} - -function TSTypeParameterInstantiation(node) { - this.token("<"); - this.printList(node.params, node, {}); - this.token(">"); -} - -function TSTypeParameter(node) { - this.word(node.name); - - if (node.constraint) { - this.space(); - this.word("extends"); - this.space(); - this.print(node.constraint, node); - } - - if (node.default) { - this.space(); - this.token("="); - this.space(); - this.print(node.default, node); - } -} - -function TSParameterProperty(node) { - if (node.accessibility) { - this.word(node.accessibility); - this.space(); - } - - if (node.readonly) { - this.word("readonly"); - this.space(); - } - - this._param(node.parameter); -} - -function TSDeclareFunction(node) { - if (node.declare) { - this.word("declare"); - this.space(); - } - - this._functionHead(node); - - this.token(";"); -} - -function TSDeclareMethod(node) { - this._classMethodHead(node); - - this.token(";"); -} - -function TSQualifiedName(node) { - this.print(node.left, node); - this.token("."); - this.print(node.right, node); -} - -function TSCallSignatureDeclaration(node) { - this.tsPrintSignatureDeclarationBase(node); - this.token(";"); -} - -function TSConstructSignatureDeclaration(node) { - this.word("new"); - this.space(); - this.tsPrintSignatureDeclarationBase(node); - this.token(";"); -} - -function TSPropertySignature(node) { - var readonly = node.readonly, - initializer = node.initializer; - - if (readonly) { - this.word("readonly"); - this.space(); - } - - this.tsPrintPropertyOrMethodName(node); - this.print(node.typeAnnotation, node); - - if (initializer) { - this.space(); - this.token("="); - this.space(); - this.print(initializer, node); - } - - this.token(";"); -} - -function tsPrintPropertyOrMethodName(node) { - if (node.computed) { - this.token("["); - } - - this.print(node.key, node); - - if (node.computed) { - this.token("]"); - } - - if (node.optional) { - this.token("?"); - } -} - -function TSMethodSignature(node) { - this.tsPrintPropertyOrMethodName(node); - this.tsPrintSignatureDeclarationBase(node); - this.token(";"); -} - -function TSIndexSignature(node) { - var readonly = node.readonly; - - if (readonly) { - this.word("readonly"); - this.space(); - } - - this.token("["); - - this._parameters(node.parameters, node); - - this.token("]"); - this.print(node.typeAnnotation, node); - this.token(";"); -} - -function TSAnyKeyword() { - this.word("any"); -} - -function TSBigIntKeyword() { - this.word("bigint"); -} - -function TSUnknownKeyword() { - this.word("unknown"); -} - -function TSNumberKeyword() { - this.word("number"); -} - -function TSObjectKeyword() { - this.word("object"); -} - -function TSBooleanKeyword() { - this.word("boolean"); -} - -function TSStringKeyword() { - this.word("string"); -} - -function TSSymbolKeyword() { - this.word("symbol"); -} - -function TSVoidKeyword() { - this.word("void"); -} - -function TSUndefinedKeyword() { - this.word("undefined"); -} - -function TSNullKeyword() { - this.word("null"); -} - -function TSNeverKeyword() { - this.word("never"); -} - -function TSThisType() { - this.word("this"); -} - -function TSFunctionType(node) { - this.tsPrintFunctionOrConstructorType(node); -} - -function TSConstructorType(node) { - this.word("new"); - this.space(); - this.tsPrintFunctionOrConstructorType(node); -} - -function tsPrintFunctionOrConstructorType(node) { - var typeParameters = node.typeParameters, - parameters = node.parameters; - this.print(typeParameters, node); - this.token("("); - - this._parameters(parameters, node); - - this.token(")"); - this.space(); - this.token("=>"); - this.space(); - this.print(node.typeAnnotation.typeAnnotation, node); -} - -function TSTypeReference(node) { - this.print(node.typeName, node); - this.print(node.typeParameters, node); -} - -function TSTypePredicate(node) { - if (node.asserts) { - this.word("asserts"); - this.space(); - } - - this.print(node.parameterName); - - if (node.typeAnnotation) { - this.space(); - this.word("is"); - this.space(); - this.print(node.typeAnnotation.typeAnnotation); - } -} - -function TSTypeQuery(node) { - this.word("typeof"); - this.space(); - this.print(node.exprName); -} - -function TSTypeLiteral(node) { - this.tsPrintTypeLiteralOrInterfaceBody(node.members, node); -} - -function tsPrintTypeLiteralOrInterfaceBody(members, node) { - this.tsPrintBraced(members, node); -} - -function tsPrintBraced(members, node) { - this.token("{"); - - if (members.length) { - this.indent(); - this.newline(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = members[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var member = _step.value; - this.print(member, node); - this.newline(); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - this.dedent(); - this.rightBrace(); - } else { - this.token("}"); - } -} - -function TSArrayType(node) { - this.print(node.elementType, node); - this.token("[]"); -} - -function TSTupleType(node) { - this.token("["); - this.printList(node.elementTypes, node); - this.token("]"); -} - -function TSOptionalType(node) { - this.print(node.typeAnnotation, node); - this.token("?"); -} - -function TSRestType(node) { - this.token("..."); - this.print(node.typeAnnotation, node); -} - -function TSUnionType(node) { - this.tsPrintUnionOrIntersectionType(node, "|"); -} - -function TSIntersectionType(node) { - this.tsPrintUnionOrIntersectionType(node, "&"); -} - -function tsPrintUnionOrIntersectionType(node, sep) { - this.printJoin(node.types, node, { - separator: function separator() { - this.space(); - this.token(sep); - this.space(); - } - }); -} - -function TSConditionalType(node) { - this.print(node.checkType); - this.space(); - this.word("extends"); - this.space(); - this.print(node.extendsType); - this.space(); - this.token("?"); - this.space(); - this.print(node.trueType); - this.space(); - this.token(":"); - this.space(); - this.print(node.falseType); -} - -function TSInferType(node) { - this.token("infer"); - this.space(); - this.print(node.typeParameter); -} - -function TSParenthesizedType(node) { - this.token("("); - this.print(node.typeAnnotation, node); - this.token(")"); -} - -function TSTypeOperator(node) { - this.token(node.operator); - this.space(); - this.print(node.typeAnnotation, node); -} - -function TSIndexedAccessType(node) { - this.print(node.objectType, node); - this.token("["); - this.print(node.indexType, node); - this.token("]"); -} - -function TSMappedType(node) { - var readonly = node.readonly, - typeParameter = node.typeParameter, - optional = node.optional; - this.token("{"); - this.space(); - - if (readonly) { - tokenIfPlusMinus(this, readonly); - this.word("readonly"); - this.space(); - } - - this.token("["); - this.word(typeParameter.name); - this.space(); - this.word("in"); - this.space(); - this.print(typeParameter.constraint, typeParameter); - this.token("]"); - - if (optional) { - tokenIfPlusMinus(this, optional); - this.token("?"); - } - - this.token(":"); - this.space(); - this.print(node.typeAnnotation, node); - this.space(); - this.token("}"); -} - -function tokenIfPlusMinus(self, tok) { - if (tok !== true) { - self.token(tok); - } -} - -function TSLiteralType(node) { - this.print(node.literal, node); -} - -function TSExpressionWithTypeArguments(node) { - this.print(node.expression, node); - this.print(node.typeParameters, node); -} - -function TSInterfaceDeclaration(node) { - var declare = node.declare, - id = node.id, - typeParameters = node.typeParameters, - extendz = node.extends, - body = node.body; - - if (declare) { - this.word("declare"); - this.space(); - } - - this.word("interface"); - this.space(); - this.print(id, node); - this.print(typeParameters, node); - - if (extendz) { - this.space(); - this.word("extends"); - this.space(); - this.printList(extendz, node); - } - - this.space(); - this.print(body, node); -} - -function TSInterfaceBody(node) { - this.tsPrintTypeLiteralOrInterfaceBody(node.body, node); -} - -function TSTypeAliasDeclaration(node) { - var declare = node.declare, - id = node.id, - typeParameters = node.typeParameters, - typeAnnotation = node.typeAnnotation; - - if (declare) { - this.word("declare"); - this.space(); - } - - this.word("type"); - this.space(); - this.print(id, node); - this.print(typeParameters, node); - this.space(); - this.token("="); - this.space(); - this.print(typeAnnotation, node); - this.token(";"); -} - -function TSAsExpression(node) { - var expression = node.expression, - typeAnnotation = node.typeAnnotation; - this.print(expression, node); - this.space(); - this.word("as"); - this.space(); - this.print(typeAnnotation, node); -} - -function TSTypeAssertion(node) { - var typeAnnotation = node.typeAnnotation, - expression = node.expression; - this.token("<"); - this.print(typeAnnotation, node); - this.token(">"); - this.space(); - this.print(expression, node); -} - -function TSEnumDeclaration(node) { - var declare = node.declare, - isConst = node.const, - id = node.id, - members = node.members; - - if (declare) { - this.word("declare"); - this.space(); - } - - if (isConst) { - this.word("const"); - this.space(); - } - - this.word("enum"); - this.space(); - this.print(id, node); - this.space(); - this.tsPrintBraced(members, node); -} - -function TSEnumMember(node) { - var id = node.id, - initializer = node.initializer; - this.print(id, node); - - if (initializer) { - this.space(); - this.token("="); - this.space(); - this.print(initializer, node); - } - - this.token(","); -} - -function TSModuleDeclaration(node) { - var declare = node.declare, - id = node.id; - - if (declare) { - this.word("declare"); - this.space(); - } - - if (!node.global) { - this.word(id.type === "Identifier" ? "namespace" : "module"); - this.space(); - } - - this.print(id, node); - - if (!node.body) { - this.token(";"); - return; - } - - var body = node.body; - - while (body.type === "TSModuleDeclaration") { - this.token("."); - this.print(body.id, body); - body = body.body; - } - - this.space(); - this.print(body, node); -} - -function TSModuleBlock(node) { - this.tsPrintBraced(node.body, node); -} - -function TSImportType(node) { - var argument = node.argument, - qualifier = node.qualifier, - typeParameters = node.typeParameters; - this.word("import"); - this.token("("); - this.print(argument, node); - this.token(")"); - - if (qualifier) { - this.token("."); - this.print(qualifier, node); - } - - if (typeParameters) { - this.print(typeParameters, node); - } -} - -function TSImportEqualsDeclaration(node) { - var isExport = node.isExport, - id = node.id, - moduleReference = node.moduleReference; - - if (isExport) { - this.word("export"); - this.space(); - } - - this.word("import"); - this.space(); - this.print(id, node); - this.space(); - this.token("="); - this.space(); - this.print(moduleReference, node); - this.token(";"); -} - -function TSExternalModuleReference(node) { - this.token("require("); - this.print(node.expression, node); - this.token(")"); -} - -function TSNonNullExpression(node) { - this.print(node.expression, node); - this.token("!"); -} - -function TSExportAssignment(node) { - this.word("export"); - this.space(); - this.token("="); - this.space(); - this.print(node.expression, node); - this.token(";"); -} - -function TSNamespaceExportDeclaration(node) { - this.word("export"); - this.space(); - this.word("as"); - this.space(); - this.word("namespace"); - this.space(); - this.print(node.id, node); -} - -function tsPrintSignatureDeclarationBase(node) { - var typeParameters = node.typeParameters, - parameters = node.parameters; - this.print(typeParameters, node); - this.token("("); - - this._parameters(parameters, node); - - this.token(")"); - this.print(node.typeAnnotation, node); -} - -function tsPrintClassMemberModifiers(node, isField) { - if (isField && node.declare) { - this.word("declare"); - this.space(); - } - - if (node.accessibility) { - this.word(node.accessibility); - this.space(); - } - - if (node.static) { - this.word("static"); - this.space(); - } - - if (node.abstract) { - this.word("abstract"); - this.space(); - } - - if (isField && node.readonly) { - this.word("readonly"); - this.space(); - } -} - -},{}],51:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; -exports.CodeGenerator = void 0; - -var _sourceMap = _interopRequireDefault(require("./source-map")); - -var _printer = _interopRequireDefault(require("./printer")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var Generator = -/*#__PURE__*/ -function (_printer$default) { - _inherits(Generator, _printer$default); - - function Generator(ast) { - var _this; - - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var code = arguments.length > 2 ? arguments[2] : undefined; - - _classCallCheck(this, Generator); - - var format = normalizeOptions(code, opts); - var map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; - _this = _possibleConstructorReturn(this, _getPrototypeOf(Generator).call(this, format, map)); - _this.ast = ast; - return _this; - } - - _createClass(Generator, [{ - key: "generate", - value: function generate() { - return _get(_getPrototypeOf(Generator.prototype), "generate", this).call(this, this.ast); - } - }]); - - return Generator; -}(_printer.default); - -function normalizeOptions(code, opts) { - var format = { - auxiliaryCommentBefore: opts.auxiliaryCommentBefore, - auxiliaryCommentAfter: opts.auxiliaryCommentAfter, - shouldPrintComment: opts.shouldPrintComment, - retainLines: opts.retainLines, - retainFunctionParens: opts.retainFunctionParens, - comments: opts.comments == null || opts.comments, - compact: opts.compact, - minified: opts.minified, - concise: opts.concise, - jsonCompatibleStrings: opts.jsonCompatibleStrings, - indent: { - adjustMultilineComment: true, - style: " ", - base: 0 - }, - decoratorsBeforeExport: !!opts.decoratorsBeforeExport, - jsescOption: Object.assign({ - quotes: "double", - wrap: true - }, opts.jsescOption) - }; - - if (format.minified) { - format.compact = true; - - format.shouldPrintComment = format.shouldPrintComment || function () { - return format.comments; - }; - } else { - format.shouldPrintComment = format.shouldPrintComment || function (value) { - return format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0; - }; - } - - if (format.compact === "auto") { - format.compact = code.length > 500000; - - if (format.compact) { - console.error("[BABEL] Note: The code generator has deoptimised the styling of " + "".concat(opts.filename, " as it exceeds the max of ", "500KB", ".")); - } - } - - if (format.compact) { - format.indent.adjustMultilineComment = false; - } - - return format; -} - -var CodeGenerator = -/*#__PURE__*/ -function () { - function CodeGenerator(ast, opts, code) { - _classCallCheck(this, CodeGenerator); - - this._generator = new Generator(ast, opts, code); - } - - _createClass(CodeGenerator, [{ - key: "generate", - value: function generate() { - return this._generator.generate(); - } - }]); - - return CodeGenerator; -}(); - -exports.CodeGenerator = CodeGenerator; - -function _default(ast, opts, code) { - var gen = new Generator(ast, opts, code); - return gen.generate(); -} - -},{"./printer":55,"./source-map":56}],52:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.needsWhitespace = needsWhitespace; -exports.needsWhitespaceBefore = needsWhitespaceBefore; -exports.needsWhitespaceAfter = needsWhitespaceAfter; -exports.needsParens = needsParens; - -var whitespace = _interopRequireWildcard(require("./whitespace")); - -var parens = _interopRequireWildcard(require("./parentheses")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function expandAliases(obj) { - var newObj = {}; - - function add(type, func) { - var fn = newObj[type]; - newObj[type] = fn ? function (node, parent, stack) { - var result = fn(node, parent, stack); - return result == null ? func(node, parent, stack) : result; - } : func; - } - - for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { - var type = _Object$keys[_i]; - var aliases = t.FLIPPED_ALIAS_KEYS[type]; - - if (aliases) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var alias = _step.value; - add(alias, obj[type]); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } else { - add(type, obj[type]); - } - } - - return newObj; -} - -var expandedParens = expandAliases(parens); -var expandedWhitespaceNodes = expandAliases(whitespace.nodes); -var expandedWhitespaceList = expandAliases(whitespace.list); - -function find(obj, node, parent, printStack) { - var fn = obj[node.type]; - return fn ? fn(node, parent, printStack) : null; -} - -function isOrHasCallExpression(node) { - if (t.isCallExpression(node)) { - return true; - } - - if (t.isMemberExpression(node)) { - return isOrHasCallExpression(node.object) || !node.computed && isOrHasCallExpression(node.property); - } else { - return false; - } -} - -function needsWhitespace(node, parent, type) { - if (!node) return 0; - - if (t.isExpressionStatement(node)) { - node = node.expression; - } - - var linesInfo = find(expandedWhitespaceNodes, node, parent); - - if (!linesInfo) { - var items = find(expandedWhitespaceList, node, parent); - - if (items) { - for (var i = 0; i < items.length; i++) { - linesInfo = needsWhitespace(items[i], node, type); - if (linesInfo) break; - } - } - } - - if (_typeof(linesInfo) === "object" && linesInfo !== null) { - return linesInfo[type] || 0; - } - - return 0; -} - -function needsWhitespaceBefore(node, parent) { - return needsWhitespace(node, parent, "before"); -} - -function needsWhitespaceAfter(node, parent) { - return needsWhitespace(node, parent, "after"); -} - -function needsParens(node, parent, printStack) { - if (!parent) return false; - - if (t.isNewExpression(parent) && parent.callee === node) { - if (isOrHasCallExpression(node)) return true; - } - - if (t.isLogicalExpression(node) && parent.operator === "??") return true; - return find(expandedParens, node, parent, printStack); -} - -},{"./parentheses":53,"./whitespace":54,"@babel/types":242}],53:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.NullableTypeAnnotation = NullableTypeAnnotation; -exports.FunctionTypeAnnotation = FunctionTypeAnnotation; -exports.UpdateExpression = UpdateExpression; -exports.ObjectExpression = ObjectExpression; -exports.DoExpression = DoExpression; -exports.Binary = Binary; -exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; -exports.TSAsExpression = TSAsExpression; -exports.TSTypeAssertion = TSTypeAssertion; -exports.TSIntersectionType = exports.TSUnionType = TSUnionType; -exports.BinaryExpression = BinaryExpression; -exports.SequenceExpression = SequenceExpression; -exports.AwaitExpression = exports.YieldExpression = YieldExpression; -exports.ClassExpression = ClassExpression; -exports.UnaryLike = UnaryLike; -exports.FunctionExpression = FunctionExpression; -exports.ArrowFunctionExpression = ArrowFunctionExpression; -exports.ConditionalExpression = ConditionalExpression; -exports.OptionalMemberExpression = OptionalMemberExpression; -exports.AssignmentExpression = AssignmentExpression; -exports.NewExpression = NewExpression; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var PRECEDENCE = { - "||": 0, - "&&": 1, - "|": 2, - "^": 3, - "&": 4, - "==": 5, - "===": 5, - "!=": 5, - "!==": 5, - "<": 6, - ">": 6, - "<=": 6, - ">=": 6, - in: 6, - instanceof: 6, - ">>": 7, - "<<": 7, - ">>>": 7, - "+": 8, - "-": 8, - "*": 9, - "/": 9, - "%": 9, - "**": 10 -}; - -var isClassExtendsClause = function isClassExtendsClause(node, parent) { - return (t.isClassDeclaration(parent) || t.isClassExpression(parent)) && parent.superClass === node; -}; - -function NullableTypeAnnotation(node, parent) { - return t.isArrayTypeAnnotation(parent); -} - -function FunctionTypeAnnotation(node, parent, printStack) { - return t.isUnionTypeAnnotation(parent) || t.isIntersectionTypeAnnotation(parent) || t.isArrayTypeAnnotation(parent) || t.isTypeAnnotation(parent) && t.isArrowFunctionExpression(printStack[printStack.length - 3]); -} - -function UpdateExpression(node, parent) { - return t.isMemberExpression(parent, { - object: node - }) || t.isCallExpression(parent, { - callee: node - }) || t.isNewExpression(parent, { - callee: node - }) || isClassExtendsClause(node, parent); -} - -function ObjectExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerArrow: true - }); -} - -function DoExpression(node, parent, printStack) { - return isFirstInStatement(printStack); -} - -function Binary(node, parent) { - if (node.operator === "**" && t.isBinaryExpression(parent, { - operator: "**" - })) { - return parent.left === node; - } - - if (isClassExtendsClause(node, parent)) { - return true; - } - - if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node || t.isUnaryLike(parent) || t.isMemberExpression(parent) && parent.object === node || t.isAwaitExpression(parent)) { - return true; - } - - if (t.isBinary(parent)) { - var parentOp = parent.operator; - var parentPos = PRECEDENCE[parentOp]; - var nodeOp = node.operator; - var nodePos = PRECEDENCE[nodeOp]; - - if (parentPos === nodePos && parent.right === node && !t.isLogicalExpression(parent) || parentPos > nodePos) { - return true; - } - } - - return false; -} - -function UnionTypeAnnotation(node, parent) { - return t.isArrayTypeAnnotation(parent) || t.isNullableTypeAnnotation(parent) || t.isIntersectionTypeAnnotation(parent) || t.isUnionTypeAnnotation(parent); -} - -function TSAsExpression() { - return true; -} - -function TSTypeAssertion() { - return true; -} - -function TSUnionType(node, parent) { - return t.isTSArrayType(parent) || t.isTSOptionalType(parent) || t.isTSIntersectionType(parent) || t.isTSUnionType(parent) || t.isTSRestType(parent); -} - -function BinaryExpression(node, parent) { - return node.operator === "in" && (t.isVariableDeclarator(parent) || t.isFor(parent)); -} - -function SequenceExpression(node, parent) { - if (t.isForStatement(parent) || t.isThrowStatement(parent) || t.isReturnStatement(parent) || t.isIfStatement(parent) && parent.test === node || t.isWhileStatement(parent) && parent.test === node || t.isForInStatement(parent) && parent.right === node || t.isSwitchStatement(parent) && parent.discriminant === node || t.isExpressionStatement(parent) && parent.expression === node) { - return false; - } - - return true; -} - -function YieldExpression(node, parent) { - return t.isBinary(parent) || t.isUnaryLike(parent) || t.isCallExpression(parent) || t.isMemberExpression(parent) || t.isNewExpression(parent) || t.isAwaitExpression(parent) && t.isYieldExpression(node) || t.isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent); -} - -function ClassExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerDefaultExports: true - }); -} - -function UnaryLike(node, parent) { - return t.isMemberExpression(parent, { - object: node - }) || t.isCallExpression(parent, { - callee: node - }) || t.isNewExpression(parent, { - callee: node - }) || t.isBinaryExpression(parent, { - operator: "**", - left: node - }) || isClassExtendsClause(node, parent); -} - -function FunctionExpression(node, parent, printStack) { - return isFirstInStatement(printStack, { - considerDefaultExports: true - }); -} - -function ArrowFunctionExpression(node, parent) { - return t.isExportDeclaration(parent) || ConditionalExpression(node, parent); -} - -function ConditionalExpression(node, parent) { - if (t.isUnaryLike(parent) || t.isBinary(parent) || t.isConditionalExpression(parent, { - test: node - }) || t.isAwaitExpression(parent) || t.isOptionalMemberExpression(parent) || t.isTaggedTemplateExpression(parent) || t.isTSTypeAssertion(parent) || t.isTSAsExpression(parent)) { - return true; - } - - return UnaryLike(node, parent); -} - -function OptionalMemberExpression(node, parent) { - return t.isCallExpression(parent) || t.isMemberExpression(parent); -} - -function AssignmentExpression(node) { - if (t.isObjectPattern(node.left)) { - return true; - } else { - return ConditionalExpression.apply(void 0, arguments); - } -} - -function NewExpression(node, parent) { - return isClassExtendsClause(node, parent); -} - -function isFirstInStatement(printStack) { - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$considerArrow = _ref.considerArrow, - considerArrow = _ref$considerArrow === void 0 ? false : _ref$considerArrow, - _ref$considerDefaultE = _ref.considerDefaultExports, - considerDefaultExports = _ref$considerDefaultE === void 0 ? false : _ref$considerDefaultE; - - var i = printStack.length - 1; - var node = printStack[i]; - i--; - var parent = printStack[i]; - - while (i > 0) { - if (t.isExpressionStatement(parent, { - expression: node - }) || t.isTaggedTemplateExpression(parent) || considerDefaultExports && t.isExportDefaultDeclaration(parent, { - declaration: node - }) || considerArrow && t.isArrowFunctionExpression(parent, { - body: node - })) { - return true; - } - - if (t.isCallExpression(parent, { - callee: node - }) || t.isSequenceExpression(parent) && parent.expressions[0] === node || t.isMemberExpression(parent, { - object: node - }) || t.isConditional(parent, { - test: node - }) || t.isBinary(parent, { - left: node - }) || t.isAssignmentExpression(parent, { - left: node - })) { - node = parent; - i--; - parent = printStack[i]; - } else { - return false; - } - } - - return false; -} - -},{"@babel/types":242}],54:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.list = exports.nodes = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function crawl(node) { - var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - if (t.isMemberExpression(node)) { - crawl(node.object, state); - if (node.computed) crawl(node.property, state); - } else if (t.isBinary(node) || t.isAssignmentExpression(node)) { - crawl(node.left, state); - crawl(node.right, state); - } else if (t.isCallExpression(node)) { - state.hasCall = true; - crawl(node.callee, state); - } else if (t.isFunction(node)) { - state.hasFunction = true; - } else if (t.isIdentifier(node)) { - state.hasHelper = state.hasHelper || isHelper(node.callee); - } - - return state; -} - -function isHelper(node) { - if (t.isMemberExpression(node)) { - return isHelper(node.object) || isHelper(node.property); - } else if (t.isIdentifier(node)) { - return node.name === "require" || node.name[0] === "_"; - } else if (t.isCallExpression(node)) { - return isHelper(node.callee); - } else if (t.isBinary(node) || t.isAssignmentExpression(node)) { - return t.isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right); - } else { - return false; - } -} - -function isType(node) { - return t.isLiteral(node) || t.isObjectExpression(node) || t.isArrayExpression(node) || t.isIdentifier(node) || t.isMemberExpression(node); -} - -var nodes = { - AssignmentExpression: function AssignmentExpression(node) { - var state = crawl(node.right); - - if (state.hasCall && state.hasHelper || state.hasFunction) { - return { - before: state.hasFunction, - after: true - }; - } - }, - SwitchCase: function SwitchCase(node, parent) { - return { - before: node.consequent.length || parent.cases[0] === node, - after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node - }; - }, - LogicalExpression: function LogicalExpression(node) { - if (t.isFunction(node.left) || t.isFunction(node.right)) { - return { - after: true - }; - } - }, - Literal: function Literal(node) { - if (node.value === "use strict") { - return { - after: true - }; - } - }, - CallExpression: function CallExpression(node) { - if (t.isFunction(node.callee) || isHelper(node)) { - return { - before: true, - after: true - }; - } - }, - VariableDeclaration: function VariableDeclaration(node) { - for (var i = 0; i < node.declarations.length; i++) { - var declar = node.declarations[i]; - var enabled = isHelper(declar.id) && !isType(declar.init); - - if (!enabled) { - var state = crawl(declar.init); - enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; - } - - if (enabled) { - return { - before: true, - after: true - }; - } - } - }, - IfStatement: function IfStatement(node) { - if (t.isBlockStatement(node.consequent)) { - return { - before: true, - after: true - }; - } - } -}; -exports.nodes = nodes; - -nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) { - if (parent.properties[0] === node) { - return { - before: true - }; - } -}; - -nodes.ObjectTypeCallProperty = function (node, parent) { - if (parent.callProperties[0] === node && (!parent.properties || !parent.properties.length)) { - return { - before: true - }; - } -}; - -nodes.ObjectTypeIndexer = function (node, parent) { - if (parent.indexers[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length)) { - return { - before: true - }; - } -}; - -nodes.ObjectTypeInternalSlot = function (node, parent) { - if (parent.internalSlots[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length) && (!parent.indexers || !parent.indexers.length)) { - return { - before: true - }; - } -}; - -var list = { - VariableDeclaration: function VariableDeclaration(node) { - return node.declarations.map(function (decl) { - return decl.init; - }); - }, - ArrayExpression: function ArrayExpression(node) { - return node.elements; - }, - ObjectExpression: function ObjectExpression(node) { - return node.properties; - } -}; -exports.list = list; -[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function (_ref) { - var _ref2 = _slicedToArray(_ref, 2), - type = _ref2[0], - amounts = _ref2[1]; - - if (typeof amounts === "boolean") { - amounts = { - after: amounts, - before: amounts - }; - } - - [type].concat(t.FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) { - nodes[type] = function () { - return amounts; - }; - }); -}); - -},{"@babel/types":242}],55:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _isInteger = _interopRequireDefault(require("lodash/isInteger")); - -var _repeat = _interopRequireDefault(require("lodash/repeat")); - -var _buffer = _interopRequireDefault(require("./buffer")); - -var n = _interopRequireWildcard(require("./node")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var generatorFunctions = _interopRequireWildcard(require("./generators")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var SCIENTIFIC_NOTATION = /e/i; -var ZERO_DECIMAL_INTEGER = /\.0+$/; -var NON_DECIMAL_LITERAL = /^0[box]/; - -var Printer = -/*#__PURE__*/ -function () { - function Printer(format, map) { - _classCallCheck(this, Printer); - - this.inForStatementInitCounter = 0; - this._printStack = []; - this._indent = 0; - this._insideAux = false; - this._printedCommentStarts = {}; - this._parenPushNewlineState = null; - this._noLineTerminator = false; - this._printAuxAfterOnNextUserNode = false; - this._printedComments = new WeakSet(); - this._endsWithInteger = false; - this._endsWithWord = false; - this.format = format || {}; - this._buf = new _buffer.default(map); - } - - _createClass(Printer, [{ - key: "generate", - value: function generate(ast) { - this.print(ast); - - this._maybeAddAuxComment(); - - return this._buf.get(); - } - }, { - key: "indent", - value: function indent() { - if (this.format.compact || this.format.concise) return; - this._indent++; - } - }, { - key: "dedent", - value: function dedent() { - if (this.format.compact || this.format.concise) return; - this._indent--; - } - }, { - key: "semicolon", - value: function semicolon() { - var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - - this._maybeAddAuxComment(); - - this._append(";", !force); - } - }, { - key: "rightBrace", - value: function rightBrace() { - if (this.format.minified) { - this._buf.removeLastSemicolon(); - } - - this.token("}"); - } - }, { - key: "space", - value: function space() { - var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - if (this.format.compact) return; - - if (this._buf.hasContent() && !this.endsWith(" ") && !this.endsWith("\n") || force) { - this._space(); - } - } - }, { - key: "word", - value: function word(str) { - if (this._endsWithWord || this.endsWith("/") && str.indexOf("/") === 0) { - this._space(); - } - - this._maybeAddAuxComment(); - - this._append(str); - - this._endsWithWord = true; - } - }, { - key: "number", - value: function number(str) { - this.word(str); - this._endsWithInteger = (0, _isInteger.default)(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str[str.length - 1] !== "."; - } - }, { - key: "token", - value: function token(str) { - if (str === "--" && this.endsWith("!") || str[0] === "+" && this.endsWith("+") || str[0] === "-" && this.endsWith("-") || str[0] === "." && this._endsWithInteger) { - this._space(); - } - - this._maybeAddAuxComment(); - - this._append(str); - } - }, { - key: "newline", - value: function newline(i) { - if (this.format.retainLines || this.format.compact) return; - - if (this.format.concise) { - this.space(); - return; - } - - if (this.endsWith("\n\n")) return; - if (typeof i !== "number") i = 1; - i = Math.min(2, i); - if (this.endsWith("{\n") || this.endsWith(":\n")) i--; - if (i <= 0) return; - - for (var j = 0; j < i; j++) { - this._newline(); - } - } - }, { - key: "endsWith", - value: function endsWith(str) { - return this._buf.endsWith(str); - } - }, { - key: "removeTrailingNewline", - value: function removeTrailingNewline() { - this._buf.removeTrailingNewline(); - } - }, { - key: "exactSource", - value: function exactSource(loc, cb) { - this._catchUp("start", loc); - - this._buf.exactSource(loc, cb); - } - }, { - key: "source", - value: function source(prop, loc) { - this._catchUp(prop, loc); - - this._buf.source(prop, loc); - } - }, { - key: "withSource", - value: function withSource(prop, loc, cb) { - this._catchUp(prop, loc); - - this._buf.withSource(prop, loc, cb); - } - }, { - key: "_space", - value: function _space() { - this._append(" ", true); - } - }, { - key: "_newline", - value: function _newline() { - this._append("\n", true); - } - }, { - key: "_append", - value: function _append(str) { - var queue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - this._maybeAddParen(str); - - this._maybeIndent(str); - - if (queue) this._buf.queue(str);else this._buf.append(str); - this._endsWithWord = false; - this._endsWithInteger = false; - } - }, { - key: "_maybeIndent", - value: function _maybeIndent(str) { - if (this._indent && this.endsWith("\n") && str[0] !== "\n") { - this._buf.queue(this._getIndent()); - } - } - }, { - key: "_maybeAddParen", - value: function _maybeAddParen(str) { - var parenPushNewlineState = this._parenPushNewlineState; - if (!parenPushNewlineState) return; - this._parenPushNewlineState = null; - var i; - - for (i = 0; i < str.length && str[i] === " "; i++) { - continue; - } - - if (i === str.length) return; - var cha = str[i]; - - if (cha !== "\n") { - if (cha !== "/") return; - if (i + 1 === str.length) return; - var chaPost = str[i + 1]; - if (chaPost !== "/" && chaPost !== "*") return; - } - - this.token("("); - this.indent(); - parenPushNewlineState.printed = true; - } - }, { - key: "_catchUp", - value: function _catchUp(prop, loc) { - if (!this.format.retainLines) return; - var pos = loc ? loc[prop] : null; - - if (pos && pos.line !== null) { - var count = pos.line - this._buf.getCurrentLine(); - - for (var i = 0; i < count; i++) { - this._newline(); - } - } - } - }, { - key: "_getIndent", - value: function _getIndent() { - return (0, _repeat.default)(this.format.indent.style, this._indent); - } - }, { - key: "startTerminatorless", - value: function startTerminatorless() { - var isLabel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - - if (isLabel) { - this._noLineTerminator = true; - return null; - } else { - return this._parenPushNewlineState = { - printed: false - }; - } - } - }, { - key: "endTerminatorless", - value: function endTerminatorless(state) { - this._noLineTerminator = false; - - if (state && state.printed) { - this.dedent(); - this.newline(); - this.token(")"); - } - } - }, { - key: "print", - value: function print(node, parent) { - var _this = this; - - if (!node) return; - var oldConcise = this.format.concise; - - if (node._compact) { - this.format.concise = true; - } - - var printMethod = this[node.type]; - - if (!printMethod) { - throw new ReferenceError("unknown node of type ".concat(JSON.stringify(node.type), " with constructor ").concat(JSON.stringify(node && node.constructor.name))); - } - - this._printStack.push(node); - - var oldInAux = this._insideAux; - this._insideAux = !node.loc; - - this._maybeAddAuxComment(this._insideAux && !oldInAux); - - var needsParens = n.needsParens(node, parent, this._printStack); - - if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) { - needsParens = true; - } - - if (needsParens) this.token("("); - - this._printLeadingComments(node); - - var loc = t.isProgram(node) || t.isFile(node) ? null : node.loc; - this.withSource("start", loc, function () { - printMethod.call(_this, node, parent); - }); - - this._printTrailingComments(node); - - if (needsParens) this.token(")"); - - this._printStack.pop(); - - this.format.concise = oldConcise; - this._insideAux = oldInAux; - } - }, { - key: "_maybeAddAuxComment", - value: function _maybeAddAuxComment(enteredPositionlessNode) { - if (enteredPositionlessNode) this._printAuxBeforeComment(); - if (!this._insideAux) this._printAuxAfterComment(); - } - }, { - key: "_printAuxBeforeComment", - value: function _printAuxBeforeComment() { - if (this._printAuxAfterOnNextUserNode) return; - this._printAuxAfterOnNextUserNode = true; - var comment = this.format.auxiliaryCommentBefore; - - if (comment) { - this._printComment({ - type: "CommentBlock", - value: comment - }); - } - } - }, { - key: "_printAuxAfterComment", - value: function _printAuxAfterComment() { - if (!this._printAuxAfterOnNextUserNode) return; - this._printAuxAfterOnNextUserNode = false; - var comment = this.format.auxiliaryCommentAfter; - - if (comment) { - this._printComment({ - type: "CommentBlock", - value: comment - }); - } - } - }, { - key: "getPossibleRaw", - value: function getPossibleRaw(node) { - var extra = node.extra; - - if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) { - return extra.raw; - } - } - }, { - key: "printJoin", - value: function printJoin(nodes, parent) { - var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - if (!nodes || !nodes.length) return; - if (opts.indent) this.indent(); - var newlineOpts = { - addNewlines: opts.addNewlines - }; - - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - if (!node) continue; - if (opts.statement) this._printNewline(true, node, parent, newlineOpts); - this.print(node, parent); - - if (opts.iterator) { - opts.iterator(node, i); - } - - if (opts.separator && i < nodes.length - 1) { - opts.separator.call(this); - } - - if (opts.statement) this._printNewline(false, node, parent, newlineOpts); - } - - if (opts.indent) this.dedent(); - } - }, { - key: "printAndIndentOnComments", - value: function printAndIndentOnComments(node, parent) { - var indent = node.leadingComments && node.leadingComments.length > 0; - if (indent) this.indent(); - this.print(node, parent); - if (indent) this.dedent(); - } - }, { - key: "printBlock", - value: function printBlock(parent) { - var node = parent.body; - - if (!t.isEmptyStatement(node)) { - this.space(); - } - - this.print(node, parent); - } - }, { - key: "_printTrailingComments", - value: function _printTrailingComments(node) { - this._printComments(this._getComments(false, node)); - } - }, { - key: "_printLeadingComments", - value: function _printLeadingComments(node) { - this._printComments(this._getComments(true, node)); - } - }, { - key: "printInnerComments", - value: function printInnerComments(node) { - var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - if (!node.innerComments || !node.innerComments.length) return; - if (indent) this.indent(); - - this._printComments(node.innerComments); - - if (indent) this.dedent(); - } - }, { - key: "printSequence", - value: function printSequence(nodes, parent) { - var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - opts.statement = true; - return this.printJoin(nodes, parent, opts); - } - }, { - key: "printList", - value: function printList(items, parent) { - var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - - if (opts.separator == null) { - opts.separator = commaSeparator; - } - - return this.printJoin(items, parent, opts); - } - }, { - key: "_printNewline", - value: function _printNewline(leading, node, parent, opts) { - if (this.format.retainLines || this.format.compact) return; - - if (this.format.concise) { - this.space(); - return; - } - - var lines = 0; - - if (this._buf.hasContent()) { - if (!leading) lines++; - if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0; - var needs = leading ? n.needsWhitespaceBefore : n.needsWhitespaceAfter; - if (needs(node, parent)) lines++; - } - - this.newline(lines); - } - }, { - key: "_getComments", - value: function _getComments(leading, node) { - return node && (leading ? node.leadingComments : node.trailingComments) || []; - } - }, { - key: "_printComment", - value: function _printComment(comment) { - var _this2 = this; - - if (!this.format.shouldPrintComment(comment.value)) return; - if (comment.ignore) return; - if (this._printedComments.has(comment)) return; - - this._printedComments.add(comment); - - if (comment.start != null) { - if (this._printedCommentStarts[comment.start]) return; - this._printedCommentStarts[comment.start] = true; - } - - var isBlockComment = comment.type === "CommentBlock"; - this.newline(this._buf.hasContent() && !this._noLineTerminator && isBlockComment ? 1 : 0); - if (!this.endsWith("[") && !this.endsWith("{")) this.space(); - var val = !isBlockComment && !this._noLineTerminator ? "//".concat(comment.value, "\n") : "/*".concat(comment.value, "*/"); - - if (isBlockComment && this.format.indent.adjustMultilineComment) { - var offset = comment.loc && comment.loc.start.column; - - if (offset) { - var newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g"); - val = val.replace(newlineRegex, "\n"); - } - - var indentSize = Math.max(this._getIndent().length, this._buf.getCurrentColumn()); - val = val.replace(/\n(?!$)/g, "\n".concat((0, _repeat.default)(" ", indentSize))); - } - - if (this.endsWith("/")) this._space(); - this.withSource("start", comment.loc, function () { - _this2._append(val); - }); - this.newline(isBlockComment && !this._noLineTerminator ? 1 : 0); - } - }, { - key: "_printComments", - value: function _printComments(comments) { - if (!comments || !comments.length) return; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = comments[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var comment = _step.value; - - this._printComment(comment); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - }]); - - return Printer; -}(); - -exports.default = Printer; -Object.assign(Printer.prototype, generatorFunctions); - -function commaSeparator() { - this.token(","); - this.space(); -} - -},{"./buffer":38,"./generators":43,"./node":52,"@babel/types":242,"lodash/isInteger":1021,"lodash/repeat":1039}],56:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _sourceMap = _interopRequireDefault(require("source-map")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var SourceMap = -/*#__PURE__*/ -function () { - function SourceMap(opts, code) { - _classCallCheck(this, SourceMap); - - this._cachedMap = null; - this._code = code; - this._opts = opts; - this._rawMappings = []; - } - - _createClass(SourceMap, [{ - key: "get", - value: function get() { - if (!this._cachedMap) { - var map = this._cachedMap = new _sourceMap.default.SourceMapGenerator({ - sourceRoot: this._opts.sourceRoot - }); - var code = this._code; - - if (typeof code === "string") { - map.setSourceContent(this._opts.sourceFileName.replace(/\\/g, "/"), code); - } else if (_typeof(code) === "object") { - Object.keys(code).forEach(function (sourceFileName) { - map.setSourceContent(sourceFileName.replace(/\\/g, "/"), code[sourceFileName]); - }); - } - - this._rawMappings.forEach(function (mapping) { - return map.addMapping(mapping); - }, map); - } - - return this._cachedMap.toJSON(); - } - }, { - key: "getRawMappings", - value: function getRawMappings() { - return this._rawMappings.slice(); - } - }, { - key: "mark", - value: function mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) { - if (this._lastGenLine !== generatedLine && line === null) return; - - if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) { - return; - } - - this._cachedMap = null; - this._lastGenLine = generatedLine; - this._lastSourceLine = line; - this._lastSourceColumn = column; - - this._rawMappings.push({ - name: identifierName || undefined, - generated: { - line: generatedLine, - column: generatedColumn - }, - source: line == null ? undefined : (filename || this._opts.sourceFileName).replace(/\\/g, "/"), - original: line == null ? undefined : { - line: line, - column: column - } - }); - } - }]); - - return SourceMap; -}(); - -exports.default = SourceMap; - -},{"source-map":1081}],57:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = annotateAsPure; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var PURE_ANNOTATION = "#__PURE__"; - -var isPureAnnotated = function isPureAnnotated(_ref) { - var leadingComments = _ref.leadingComments; - return !!leadingComments && leadingComments.some(function (comment) { - return /[@#]__PURE__/.test(comment.value); - }); -}; - -function annotateAsPure(pathOrNode) { - var node = pathOrNode.node || pathOrNode; - - if (isPureAnnotated(node)) { - return; - } - - t.addComment(node, "leading", PURE_ANNOTATION); -} - -},{"@babel/types":242}],58:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _helperExplodeAssignableExpression = _interopRequireDefault(require("@babel/helper-explode-assignable-expression")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _default(opts) { - var build = opts.build, - operator = opts.operator; - return { - AssignmentExpression: function AssignmentExpression(path) { - var node = path.node, - scope = path.scope; - if (node.operator !== operator + "=") return; - var nodes = []; - var exploded = (0, _helperExplodeAssignableExpression.default)(node.left, nodes, this, scope); - nodes.push(t.assignmentExpression("=", exploded.ref, build(exploded.uid, node.right))); - path.replaceWith(t.sequenceExpression(nodes)); - }, - BinaryExpression: function BinaryExpression(path) { - var node = path.node; - - if (node.operator === operator) { - path.replaceWith(build(node.left, node.right)); - } - } - }; -} - -},{"@babel/helper-explode-assignable-expression":65,"@babel/types":242}],59:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _helperHoistVariables = _interopRequireDefault(require("@babel/helper-hoist-variables")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var visitor = { - enter: function enter(path, state) { - if (path.isThisExpression()) { - state.foundThis = true; - } - - if (path.isReferencedIdentifier({ - name: "arguments" - })) { - state.foundArguments = true; - } - }, - Function: function Function(path) { - path.skip(); - } -}; - -function _default(path) { - var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : path.scope; - var node = path.node; - var container = t.functionExpression(null, [], node.body, node.generator, node.async); - var callee = container; - var args = []; - (0, _helperHoistVariables.default)(path, function (id) { - return scope.push({ - id: id - }); - }); - var state = { - foundThis: false, - foundArguments: false - }; - path.traverse(visitor, state); - - if (state.foundArguments || state.foundThis) { - callee = t.memberExpression(container, t.identifier("apply")); - args = []; - - if (state.foundThis) { - args.push(t.thisExpression()); - } - - if (state.foundArguments) { - if (!state.foundThis) args.push(t.nullLiteral()); - args.push(t.identifier("arguments")); - } - } - - var call = t.callExpression(callee, args); - if (node.generator) call = t.yieldExpression(call, true); - return t.returnStatement(call); -} - -},{"@babel/helper-hoist-variables":68,"@babel/types":242}],60:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.enableFeature = enableFeature; -exports.hasFeature = hasFeature; -exports.runtimeKey = exports.featuresKey = exports.FEATURES = void 0; -var FEATURES = Object.freeze({ - unicodeFlag: 1 << 0, - dotAllFlag: 1 << 1, - unicodePropertyEscape: 1 << 2, - namedCaptureGroups: 1 << 3 -}); -exports.FEATURES = FEATURES; -var featuresKey = "@babel/plugin-regexp-features/featuresKey"; -exports.featuresKey = featuresKey; -var runtimeKey = "@babel/plugin-regexp-features/runtimeKey"; -exports.runtimeKey = runtimeKey; - -function enableFeature(features, feature) { - return features | feature; -} - -function hasFeature(features, feature) { - return !!(features & feature); -} - -},{}],61:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createRegExpFeaturePlugin = createRegExpFeaturePlugin; - -var _regexpuCore = _interopRequireDefault(require("regexpu-core")); - -var _features = require("./features"); - -var _util = require("./util"); - -var _package = _interopRequireDefault(require("../package.json")); - -var _core = require("@babel/core"); - -var _helperRegex = require("@babel/helper-regex"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var version = _package.default.version.split(".").reduce(function (v, x) { - return v * 1e5 + +x; -}, 0); - -var versionKey = "@babel/plugin-regexp-features/version"; - -function createRegExpFeaturePlugin(_ref) { - var name = _ref.name, - feature = _ref.feature, - _ref$options = _ref.options, - options = _ref$options === void 0 ? {} : _ref$options; - return { - name: name, - pre: function pre() { - var _file$get; - - var file = this.file; - var features = (_file$get = file.get(_features.featuresKey)) !== null && _file$get !== void 0 ? _file$get : 0; - var newFeatures = (0, _features.enableFeature)(features, _features.FEATURES[feature]); - var useUnicodeFlag = options.useUnicodeFlag, - _options$runtime = options.runtime, - runtime = _options$runtime === void 0 ? true : _options$runtime; - - if (useUnicodeFlag === false) { - newFeatures = (0, _features.enableFeature)(newFeatures, _features.FEATURES.unicodeFlag); - } - - if (newFeatures !== features) { - file.set(_features.featuresKey, newFeatures); - } - - if (!runtime) { - file.set(_features.runtimeKey, false); - } - - if (!file.has(versionKey) || file.get(versionKey) < version) { - file.set(versionKey, version); - } - }, - visitor: { - RegExpLiteral: function RegExpLiteral(path) { - var _file$get2; - - var node = path.node; - var file = this.file; - var features = file.get(_features.featuresKey); - var runtime = (_file$get2 = file.get(_features.runtimeKey)) !== null && _file$get2 !== void 0 ? _file$get2 : true; - var regexpuOptions = (0, _util.generateRegexpuOptions)(node, features); - - if (regexpuOptions === null) { - return; - } - - var namedCaptureGroups = {}; - - if (regexpuOptions.namedGroup) { - regexpuOptions.onNamedGroup = function (name, index) { - namedCaptureGroups[name] = index; - }; - } - - node.pattern = (0, _regexpuCore.default)(node.pattern, node.flags, regexpuOptions); - - if (regexpuOptions.namedGroup && Object.keys(namedCaptureGroups).length > 0 && runtime && !isRegExpTest(path)) { - path.replaceWith(_core.types.callExpression(this.addHelper("wrapRegExp"), [node, _core.types.valueToNode(namedCaptureGroups)])); - } - - if ((0, _features.hasFeature)(features, _features.FEATURES.unicodeFlag)) { - (0, _helperRegex.pullFlag)(node, "u"); - } - - if ((0, _features.hasFeature)(features, _features.FEATURES.dotAllFlag)) { - (0, _helperRegex.pullFlag)(node, "s"); - } - } - } - }; -} - -function isRegExpTest(path) { - return path.parentPath.isMemberExpression({ - object: path.node, - computed: false - }) && path.parentPath.get("property").isIdentifier({ - name: "test" - }); -} - -},{"../package.json":63,"./features":60,"./util":62,"@babel/core":19,"@babel/helper-regex":80,"regexpu-core":1066}],62:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.generateRegexpuOptions = generateRegexpuOptions; - -var _features = require("./features"); - -function generateRegexpuOptions(node, features) { - var useUnicodeFlag = false, - dotAllFlag = false, - unicodePropertyEscape = false, - namedGroup = false; - var flags = node.flags, - pattern = node.pattern; - var flagsIncludesU = flags.includes("u"); - - if (flagsIncludesU) { - if (!(0, _features.hasFeature)(features, _features.FEATURES.unicodeFlag)) { - useUnicodeFlag = true; - } - - if ((0, _features.hasFeature)(features, _features.FEATURES.unicodePropertyEscape) && /\\[pP]{/.test(pattern)) { - unicodePropertyEscape = true; - } - } - - if ((0, _features.hasFeature)(features, _features.FEATURES.dotAllFlag) && flags.indexOf("s") >= 0) { - dotAllFlag = true; - } - - if ((0, _features.hasFeature)(features, _features.FEATURES.namedCaptureGroups) && /\(\?<(?![=!])/.test(pattern)) { - namedGroup = true; - } - - if (!namedGroup && !unicodePropertyEscape && !dotAllFlag && (!flagsIncludesU || useUnicodeFlag)) { - return null; - } - - if (flagsIncludesU && flags.indexOf("s") >= 0) { - dotAllFlag = true; - } - - return { - useUnicodeFlag: useUnicodeFlag, - onNamedGroup: function onNamedGroup() {}, - namedGroup: namedGroup, - unicodePropertyEscape: unicodePropertyEscape, - dotAllFlag: dotAllFlag, - lookbehind: true - }; -} - -},{"./features":60}],63:[function(require,module,exports){ -module.exports={ - "_from": "@babel/helper-create-regexp-features-plugin@^7.7.0", - "_id": "@babel/helper-create-regexp-features-plugin@7.7.2", - "_inBundle": false, - "_integrity": "sha512-pAil/ZixjTlrzNpjx+l/C/wJk002Wo7XbbZ8oujH/AoJ3Juv0iN/UTcPUHXKMFLqsfS0Hy6Aow8M31brUYBlQQ==", - "_location": "/@babel/helper-create-regexp-features-plugin", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@babel/helper-create-regexp-features-plugin@^7.7.0", - "name": "@babel/helper-create-regexp-features-plugin", - "escapedName": "@babel%2fhelper-create-regexp-features-plugin", - "scope": "@babel", - "rawSpec": "^7.7.0", - "saveSpec": null, - "fetchSpec": "^7.7.0" - }, - "_requiredBy": [ - "/@babel/plugin-proposal-unicode-property-regex", - "/@babel/plugin-transform-dotall-regex", - "/@babel/plugin-transform-named-capturing-groups-regex", - "/@babel/plugin-transform-unicode-regex" - ], - "_resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.2.tgz", - "_shasum": "6f20443778c8fce2af2ff4206284afc0ced65db6", - "_spec": "@babel/helper-create-regexp-features-plugin@^7.7.0", - "_where": "/local/home/ossman/devel/noVNC/node_modules/@babel/plugin-proposal-unicode-property-regex", - "author": { - "name": "The Babel Team", - "url": "https://babeljs.io/team" - }, - "bugs": { - "url": "https://github.com/babel/babel/issues" - }, - "bundleDependencies": false, - "dependencies": { - "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.6.0" - }, - "deprecated": false, - "description": "Compile ESNext Regular Expressions to ES5", - "devDependencies": { - "@babel/core": "^7.7.2", - "@babel/helper-plugin-test-runner": "^7.0.0" - }, - "gitHead": "35f4d1276310bac6fede4a6f86a5c76f951e179e", - "homepage": "https://github.com/babel/babel#readme", - "keywords": [ - "babel", - "babel-plugin" - ], - "license": "MIT", - "main": "lib/index.js", - "name": "@babel/helper-create-regexp-features-plugin", - "peerDependencies": { - "@babel/core": "^7.0.0" - }, - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/babel/babel.git", - "directory": "packages/babel-helper-create-regexp-features-plugin" - }, - "version": "7.7.2" -} - -},{}],64:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.push = push; -exports.hasComputed = hasComputed; -exports.toComputedObjectFromClass = toComputedObjectFromClass; -exports.toClassObject = toClassObject; -exports.toDefineObject = toDefineObject; - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -var _has = _interopRequireDefault(require("lodash/has")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function toKind(node) { - if (t.isClassMethod(node) || t.isObjectMethod(node)) { - if (node.kind === "get" || node.kind === "set") { - return node.kind; - } - } - - return "value"; -} - -function push(mutatorMap, node, kind, file, scope) { - var alias = t.toKeyAlias(node); - var map = {}; - if ((0, _has.default)(mutatorMap, alias)) map = mutatorMap[alias]; - mutatorMap[alias] = map; - map._inherits = map._inherits || []; - - map._inherits.push(node); - - map._key = node.key; - - if (node.computed) { - map._computed = true; - } - - if (node.decorators) { - var decorators = map.decorators = map.decorators || t.arrayExpression([]); - decorators.elements = decorators.elements.concat(node.decorators.map(function (dec) { - return dec.expression; - }).reverse()); - } - - if (map.value || map.initializer) { - throw file.buildCodeFrameError(node, "Key conflict with sibling node"); - } - - var key, value; - - if (t.isObjectProperty(node) || t.isObjectMethod(node) || t.isClassMethod(node)) { - key = t.toComputedKey(node, node.key); - } - - if (t.isProperty(node)) { - value = node.value; - } else if (t.isObjectMethod(node) || t.isClassMethod(node)) { - value = t.functionExpression(null, node.params, node.body, node.generator, node.async); - value.returnType = node.returnType; - } - - var inheritedKind = toKind(node); - - if (!kind || inheritedKind !== "value") { - kind = inheritedKind; - } - - if (scope && t.isStringLiteral(key) && (kind === "value" || kind === "initializer") && t.isFunctionExpression(value)) { - value = (0, _helperFunctionName.default)({ - id: key, - node: value, - scope: scope - }); - } - - if (value) { - t.inheritsComments(value, node); - map[kind] = value; - } - - return map; -} - -function hasComputed(mutatorMap) { - for (var _i = 0, _Object$keys = Object.keys(mutatorMap); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - - if (mutatorMap[key]._computed) { - return true; - } - } - - return false; -} - -function toComputedObjectFromClass(obj) { - var objExpr = t.arrayExpression([]); - - for (var i = 0; i < obj.properties.length; i++) { - var prop = obj.properties[i]; - var val = prop.value; - val.properties.unshift(t.objectProperty(t.identifier("key"), t.toComputedKey(prop))); - objExpr.elements.push(val); - } - - return objExpr; -} - -function toClassObject(mutatorMap) { - var objExpr = t.objectExpression([]); - Object.keys(mutatorMap).forEach(function (mutatorMapKey) { - var map = mutatorMap[mutatorMapKey]; - var mapNode = t.objectExpression([]); - var propNode = t.objectProperty(map._key, mapNode, map._computed); - Object.keys(map).forEach(function (key) { - var node = map[key]; - if (key[0] === "_") return; - var prop = t.objectProperty(t.identifier(key), node); - t.inheritsComments(prop, node); - t.removeComments(node); - mapNode.properties.push(prop); - }); - objExpr.properties.push(propNode); - }); - return objExpr; -} - -function toDefineObject(mutatorMap) { - Object.keys(mutatorMap).forEach(function (key) { - var map = mutatorMap[key]; - if (map.value) map.writable = t.booleanLiteral(true); - map.configurable = t.booleanLiteral(true); - map.enumerable = t.booleanLiteral(true); - }); - return toClassObject(mutatorMap); -} - -},{"@babel/helper-function-name":66,"@babel/types":242,"lodash/has":1012}],65:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function getObjRef(node, nodes, file, scope) { - var ref; - - if (t.isSuper(node)) { - return node; - } else if (t.isIdentifier(node)) { - if (scope.hasBinding(node.name)) { - return node; - } else { - ref = node; - } - } else if (t.isMemberExpression(node)) { - ref = node.object; - - if (t.isSuper(ref) || t.isIdentifier(ref) && scope.hasBinding(ref.name)) { - return ref; - } - } else { - throw new Error("We can't explode this node type ".concat(node.type)); - } - - var temp = scope.generateUidIdentifierBasedOnNode(ref); - scope.push({ - id: temp - }); - nodes.push(t.assignmentExpression("=", t.cloneNode(temp), t.cloneNode(ref))); - return temp; -} - -function getPropRef(node, nodes, file, scope) { - var prop = node.property; - var key = t.toComputedKey(node, prop); - if (t.isLiteral(key) && t.isPureish(key)) return key; - var temp = scope.generateUidIdentifierBasedOnNode(prop); - scope.push({ - id: temp - }); - nodes.push(t.assignmentExpression("=", t.cloneNode(temp), t.cloneNode(prop))); - return temp; -} - -function _default(node, nodes, file, scope, allowedSingleIdent) { - var obj; - - if (t.isIdentifier(node) && allowedSingleIdent) { - obj = node; - } else { - obj = getObjRef(node, nodes, file, scope); - } - - var ref, uid; - - if (t.isIdentifier(node)) { - ref = t.cloneNode(node); - uid = obj; - } else { - var prop = getPropRef(node, nodes, file, scope); - var computed = node.computed || t.isLiteral(prop); - uid = t.memberExpression(t.cloneNode(obj), t.cloneNode(prop), computed); - ref = t.memberExpression(t.cloneNode(obj), t.cloneNode(prop), computed); - } - - return { - uid: uid, - ref: ref - }; -} - -},{"@babel/types":242}],66:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _helperGetFunctionArity = _interopRequireDefault(require("@babel/helper-get-function-arity")); - -var _template = _interopRequireDefault(require("@babel/template")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var buildPropertyMethodAssignmentWrapper = (0, _template.default)("\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n"); -var buildGeneratorPropertyMethodAssignmentWrapper = (0, _template.default)("\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n"); -var visitor = { - "ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) { - if (path.node.name !== state.name) return; - var localDeclar = path.scope.getBindingIdentifier(state.name); - if (localDeclar !== state.outerDeclar) return; - state.selfReference = true; - path.stop(); - } -}; - -function getNameFromLiteralId(id) { - if (t.isNullLiteral(id)) { - return "null"; - } - - if (t.isRegExpLiteral(id)) { - return "_".concat(id.pattern, "_").concat(id.flags); - } - - if (t.isTemplateLiteral(id)) { - return id.quasis.map(function (quasi) { - return quasi.value.raw; - }).join(""); - } - - if (id.value !== undefined) { - return id.value + ""; - } - - return ""; -} - -function wrap(state, method, id, scope) { - if (state.selfReference) { - if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) { - scope.rename(id.name); - } else { - if (!t.isFunction(method)) return; - var build = buildPropertyMethodAssignmentWrapper; - - if (method.generator) { - build = buildGeneratorPropertyMethodAssignmentWrapper; - } - - var template = build({ - FUNCTION: method, - FUNCTION_ID: id, - FUNCTION_KEY: scope.generateUidIdentifier(id.name) - }).expression; - var params = template.callee.body.body[0].params; - - for (var i = 0, len = (0, _helperGetFunctionArity.default)(method); i < len; i++) { - params.push(scope.generateUidIdentifier("x")); - } - - return template; - } - } - - method.id = id; - scope.getProgramParent().references[id.name] = true; -} - -function visit(node, name, scope) { - var state = { - selfAssignment: false, - selfReference: false, - outerDeclar: scope.getBindingIdentifier(name), - references: [], - name: name - }; - var binding = scope.getOwnBinding(name); - - if (binding) { - if (binding.kind === "param") { - state.selfReference = true; - } else {} - } else if (state.outerDeclar || scope.hasGlobal(name)) { - scope.traverse(node, visitor, state); - } - - return state; -} - -function _default(_ref) { - var node = _ref.node, - parent = _ref.parent, - scope = _ref.scope, - id = _ref.id; - var localBinding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - if (node.id) return; - - if ((t.isObjectProperty(parent) || t.isObjectMethod(parent, { - kind: "method" - })) && (!parent.computed || t.isLiteral(parent.key))) { - id = parent.key; - } else if (t.isVariableDeclarator(parent)) { - id = parent.id; - - if (t.isIdentifier(id) && !localBinding) { - var binding = scope.parent.getBinding(id.name); - - if (binding && binding.constant && scope.getBinding(id.name) === binding) { - node.id = t.cloneNode(id); - node.id[t.NOT_LOCAL_BINDING] = true; - return; - } - } - } else if (t.isAssignmentExpression(parent)) { - id = parent.left; - } else if (!id) { - return; - } - - var name; - - if (id && t.isLiteral(id)) { - name = getNameFromLiteralId(id); - } else if (id && t.isIdentifier(id)) { - name = id.name; - } - - if (name === undefined) { - return; - } - - name = t.toBindingIdentifierName(name); - id = t.identifier(name); - id[t.NOT_LOCAL_BINDING] = true; - var state = visit(node, name, scope); - return wrap(state, node, id, scope) || node; -} - -},{"@babel/helper-get-function-arity":67,"@babel/template":167,"@babel/types":242}],67:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _default(node) { - var params = node.params; - - for (var i = 0; i < params.length; i++) { - var param = params[i]; - - if (t.isAssignmentPattern(param) || t.isRestElement(param)) { - return i; - } - } - - return params.length; -} - -},{"@babel/types":242}],68:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var visitor = { - Scope: function Scope(path, state) { - if (state.kind === "let") path.skip(); - }, - Function: function Function(path) { - path.skip(); - }, - VariableDeclaration: function VariableDeclaration(path, state) { - if (state.kind && path.node.kind !== state.kind) return; - var nodes = []; - var declarations = path.get("declarations"); - var firstId; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var declar = _step.value; - firstId = declar.node.id; - - if (declar.node.init) { - nodes.push(t.expressionStatement(t.assignmentExpression("=", declar.node.id, declar.node.init))); - } - - for (var _i = 0, _Object$keys = Object.keys(declar.getBindingIdentifiers()); _i < _Object$keys.length; _i++) { - var name = _Object$keys[_i]; - state.emit(t.identifier(name), name, declar.node.init !== null); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (path.parentPath.isFor({ - left: path.node - })) { - path.replaceWith(firstId); - } else { - path.replaceWithMultiple(nodes); - } - } -}; - -function _default(path, emit) { - var kind = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "var"; - path.traverse(visitor, { - kind: kind, - emit: emit - }); -} - -},{"@babel/types":242}],69:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = memberExpressionToFunctions; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var AssignmentMemoiser = -/*#__PURE__*/ -function () { - function AssignmentMemoiser() { - _classCallCheck(this, AssignmentMemoiser); - - this._map = new WeakMap(); - } - - _createClass(AssignmentMemoiser, [{ - key: "has", - value: function has(key) { - return this._map.has(key); - } - }, { - key: "get", - value: function get(key) { - if (!this.has(key)) return; - - var record = this._map.get(key); - - var value = record.value; - record.count--; - - if (record.count === 0) { - return t.assignmentExpression("=", value, key); - } - - return value; - } - }, { - key: "set", - value: function set(key, value, count) { - return this._map.set(key, { - count: count, - value: value - }); - } - }]); - - return AssignmentMemoiser; -}(); - -var handle = { - memoise: function memoise() {}, - handle: function handle(member) { - var node = member.node, - parent = member.parent, - parentPath = member.parentPath; - - if (parentPath.isUpdateExpression({ - argument: node - })) { - var operator = parent.operator, - prefix = parent.prefix; - this.memoise(member, 2); - var value = t.binaryExpression(operator[0], t.unaryExpression("+", this.get(member)), t.numericLiteral(1)); - - if (prefix) { - parentPath.replaceWith(this.set(member, value)); - } else { - var scope = member.scope; - var ref = scope.generateUidIdentifierBasedOnNode(node); - scope.push({ - id: ref - }); - value.left = t.assignmentExpression("=", t.cloneNode(ref), value.left); - parentPath.replaceWith(t.sequenceExpression([this.set(member, value), t.cloneNode(ref)])); - } - - return; - } - - if (parentPath.isAssignmentExpression({ - left: node - })) { - var _operator = parent.operator, - right = parent.right; - var _value = right; - - if (_operator !== "=") { - this.memoise(member, 2); - _value = t.binaryExpression(_operator.slice(0, -1), this.get(member), _value); - } - - parentPath.replaceWith(this.set(member, _value)); - return; - } - - if (parentPath.isCallExpression({ - callee: node - })) { - var args = parent.arguments; - parentPath.replaceWith(this.call(member, args)); - return; - } - - if (parentPath.isObjectProperty({ - value: node - }) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({ - left: node - }) && parentPath.parentPath.isObjectProperty({ - value: parent - }) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({ - left: node - }) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) { - member.replaceWith(this.destructureSet(member)); - return; - } - - member.replaceWith(this.get(member)); - } -}; - -function memberExpressionToFunctions(path, visitor, state) { - path.traverse(visitor, Object.assign({}, handle, {}, state, { - memoiser: new AssignmentMemoiser() - })); -} - -},{"@babel/types":242}],70:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _assert = _interopRequireDefault(require("assert")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var ImportBuilder = -/*#__PURE__*/ -function () { - function ImportBuilder(importedSource, scope, hub) { - _classCallCheck(this, ImportBuilder); - - this._statements = []; - this._resultName = null; - this._scope = null; - this._hub = null; - this._scope = scope; - this._hub = hub; - this._importedSource = importedSource; - } - - _createClass(ImportBuilder, [{ - key: "done", - value: function done() { - return { - statements: this._statements, - resultName: this._resultName - }; - } - }, { - key: "import", - value: function _import() { - this._statements.push(t.importDeclaration([], t.stringLiteral(this._importedSource))); - - return this; - } - }, { - key: "require", - value: function require() { - this._statements.push(t.expressionStatement(t.callExpression(t.identifier("require"), [t.stringLiteral(this._importedSource)]))); - - return this; - } - }, { - key: "namespace", - value: function namespace() { - var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "namespace"; - name = this._scope.generateUidIdentifier(name); - var statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); - statement.specifiers = [t.importNamespaceSpecifier(name)]; - this._resultName = t.cloneNode(name); - return this; - } - }, { - key: "default", - value: function _default(name) { - name = this._scope.generateUidIdentifier(name); - var statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); - statement.specifiers = [t.importDefaultSpecifier(name)]; - this._resultName = t.cloneNode(name); - return this; - } - }, { - key: "named", - value: function named(name, importName) { - if (importName === "default") return this.default(name); - name = this._scope.generateUidIdentifier(name); - var statement = this._statements[this._statements.length - 1]; - (0, _assert.default)(statement.type === "ImportDeclaration"); - (0, _assert.default)(statement.specifiers.length === 0); - statement.specifiers = [t.importSpecifier(name, t.identifier(importName))]; - this._resultName = t.cloneNode(name); - return this; - } - }, { - key: "var", - value: function _var(name) { - name = this._scope.generateUidIdentifier(name); - var statement = this._statements[this._statements.length - 1]; - - if (statement.type !== "ExpressionStatement") { - (0, _assert.default)(this._resultName); - statement = t.expressionStatement(this._resultName); - - this._statements.push(statement); - } - - this._statements[this._statements.length - 1] = t.variableDeclaration("var", [t.variableDeclarator(name, statement.expression)]); - this._resultName = t.cloneNode(name); - return this; - } - }, { - key: "defaultInterop", - value: function defaultInterop() { - return this._interop(this._hub.addHelper("interopRequireDefault")); - } - }, { - key: "wildcardInterop", - value: function wildcardInterop() { - return this._interop(this._hub.addHelper("interopRequireWildcard")); - } - }, { - key: "_interop", - value: function _interop(callee) { - var statement = this._statements[this._statements.length - 1]; - - if (statement.type === "ExpressionStatement") { - statement.expression = t.callExpression(callee, [statement.expression]); - } else if (statement.type === "VariableDeclaration") { - (0, _assert.default)(statement.declarations.length === 1); - statement.declarations[0].init = t.callExpression(callee, [statement.declarations[0].init]); - } else { - _assert.default.fail("Unexpected type."); - } - - return this; - } - }, { - key: "prop", - value: function prop(name) { - var statement = this._statements[this._statements.length - 1]; - - if (statement.type === "ExpressionStatement") { - statement.expression = t.memberExpression(statement.expression, t.identifier(name)); - } else if (statement.type === "VariableDeclaration") { - (0, _assert.default)(statement.declarations.length === 1); - statement.declarations[0].init = t.memberExpression(statement.declarations[0].init, t.identifier(name)); - } else { - _assert.default.fail("Unexpected type:" + statement.type); - } - - return this; - } - }, { - key: "read", - value: function read(name) { - this._resultName = t.memberExpression(this._resultName, t.identifier(name)); - } - }]); - - return ImportBuilder; -}(); - -exports.default = ImportBuilder; - -},{"@babel/types":242,"assert":278}],71:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _assert = _interopRequireDefault(require("assert")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _importBuilder = _interopRequireDefault(require("./import-builder")); - -var _isModule = _interopRequireDefault(require("./is-module")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var ImportInjector = -/*#__PURE__*/ -function () { - function ImportInjector(path, importedSource, opts) { - _classCallCheck(this, ImportInjector); - - this._defaultOpts = { - importedSource: null, - importedType: "commonjs", - importedInterop: "babel", - importingInterop: "babel", - ensureLiveReference: false, - ensureNoContext: false - }; - var programPath = path.find(function (p) { - return p.isProgram(); - }); - this._programPath = programPath; - this._programScope = programPath.scope; - this._hub = programPath.hub; - this._defaultOpts = this._applyDefaults(importedSource, opts, true); - } - - _createClass(ImportInjector, [{ - key: "addDefault", - value: function addDefault(importedSourceIn, opts) { - return this.addNamed("default", importedSourceIn, opts); - } - }, { - key: "addNamed", - value: function addNamed(importName, importedSourceIn, opts) { - (0, _assert.default)(typeof importName === "string"); - return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); - } - }, { - key: "addNamespace", - value: function addNamespace(importedSourceIn, opts) { - return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); - } - }, { - key: "addSideEffect", - value: function addSideEffect(importedSourceIn, opts) { - return this._generateImport(this._applyDefaults(importedSourceIn, opts), false); - } - }, { - key: "_applyDefaults", - value: function _applyDefaults(importedSource, opts) { - var isInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var optsList = []; - - if (typeof importedSource === "string") { - optsList.push({ - importedSource: importedSource - }); - optsList.push(opts); - } else { - (0, _assert.default)(!opts, "Unexpected secondary arguments."); - optsList.push(importedSource); - } - - var newOpts = Object.assign({}, this._defaultOpts); - - var _loop = function _loop() { - var opts = _optsList[_i]; - if (!opts) return "continue"; - Object.keys(newOpts).forEach(function (key) { - if (opts[key] !== undefined) newOpts[key] = opts[key]; - }); - - if (!isInit) { - if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint; - if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist; - } - }; - - for (var _i = 0, _optsList = optsList; _i < _optsList.length; _i++) { - var _ret = _loop(); - - if (_ret === "continue") continue; - } - - return newOpts; - } - }, { - key: "_generateImport", - value: function _generateImport(opts, importName) { - var isDefault = importName === "default"; - var isNamed = !!importName && !isDefault; - var isNamespace = importName === null; - var importedSource = opts.importedSource, - importedType = opts.importedType, - importedInterop = opts.importedInterop, - importingInterop = opts.importingInterop, - ensureLiveReference = opts.ensureLiveReference, - ensureNoContext = opts.ensureNoContext, - nameHint = opts.nameHint, - blockHoist = opts.blockHoist; - var name = nameHint || importName; - var isMod = (0, _isModule.default)(this._programPath); - var isModuleForNode = isMod && importingInterop === "node"; - var isModuleForBabel = isMod && importingInterop === "babel"; - var builder = new _importBuilder.default(importedSource, this._programScope, this._hub); - - if (importedType === "es6") { - if (!isModuleForNode && !isModuleForBabel) { - throw new Error("Cannot import an ES6 module from CommonJS"); - } - - builder.import(); - - if (isNamespace) { - builder.namespace(nameHint || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else if (importedType !== "commonjs") { - throw new Error("Unexpected interopType \"".concat(importedType, "\"")); - } else if (importedInterop === "babel") { - if (isModuleForNode) { - name = name !== "default" ? name : importedSource; - var es6Default = "".concat(importedSource, "$es6Default"); - builder.import(); - - if (isNamespace) { - builder.default(es6Default).var(name || importedSource).wildcardInterop(); - } else if (isDefault) { - if (ensureLiveReference) { - builder.default(es6Default).var(name || importedSource).defaultInterop().read("default"); - } else { - builder.default(es6Default).var(name).defaultInterop().prop(importName); - } - } else if (isNamed) { - builder.default(es6Default).read(importName); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.namespace(name || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource).wildcardInterop(); - } else if ((isDefault || isNamed) && ensureLiveReference) { - if (isDefault) { - name = name !== "default" ? name : importedSource; - builder.var(name).read(importName); - builder.defaultInterop(); - } else { - builder.var(importedSource).read(importName); - } - } else if (isDefault) { - builder.var(name).defaultInterop().prop(importName); - } else if (isNamed) { - builder.var(name).prop(importName); - } - } - } else if (importedInterop === "compiled") { - if (isModuleForNode) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault || isNamed) { - builder.default(importedSource).read(name); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.namespace(name || importedSource); - } else if (isDefault || isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource); - } else if (isDefault || isNamed) { - if (ensureLiveReference) { - builder.var(importedSource).read(name); - } else { - builder.prop(importName).var(name); - } - } - } - } else if (importedInterop === "uncompiled") { - if (isDefault && ensureLiveReference) { - throw new Error("No live reference for commonjs default"); - } - - if (isModuleForNode) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault) { - builder.default(name); - } else if (isNamed) { - builder.default(importedSource).read(name); - } - } else if (isModuleForBabel) { - builder.import(); - - if (isNamespace) { - builder.default(name || importedSource); - } else if (isDefault) { - builder.default(name); - } else if (isNamed) { - builder.named(name, importName); - } - } else { - builder.require(); - - if (isNamespace) { - builder.var(name || importedSource); - } else if (isDefault) { - builder.var(name); - } else if (isNamed) { - if (ensureLiveReference) { - builder.var(importedSource).read(name); - } else { - builder.var(name).prop(importName); - } - } - } - } else { - throw new Error("Unknown importedInterop \"".concat(importedInterop, "\".")); - } - - var _builder$done = builder.done(), - statements = _builder$done.statements, - resultName = _builder$done.resultName; - - this._insertStatements(statements, blockHoist); - - if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { - return t.sequenceExpression([t.numericLiteral(0), resultName]); - } - - return resultName; - } - }, { - key: "_insertStatements", - value: function _insertStatements(statements) { - var blockHoist = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3; - statements.forEach(function (node) { - node._blockHoist = blockHoist; - }); - - var targetPath = this._programPath.get("body").find(function (p) { - var val = p.node._blockHoist; - return Number.isFinite(val) && val < 4; - }); - - if (targetPath) { - targetPath.insertBefore(statements); - } else { - this._programPath.unshiftContainer("body", statements); - } - } - }]); - - return ImportInjector; -}(); - -exports.default = ImportInjector; - -},{"./import-builder":70,"./is-module":73,"@babel/types":242,"assert":278}],72:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.addDefault = addDefault; -exports.addNamed = addNamed; -exports.addNamespace = addNamespace; -exports.addSideEffect = addSideEffect; -Object.defineProperty(exports, "ImportInjector", { - enumerable: true, - get: function get() { - return _importInjector.default; - } -}); -Object.defineProperty(exports, "isModule", { - enumerable: true, - get: function get() { - return _isModule.default; - } -}); - -var _importInjector = _interopRequireDefault(require("./import-injector")); - -var _isModule = _interopRequireDefault(require("./is-module")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function addDefault(path, importedSource, opts) { - return new _importInjector.default(path).addDefault(importedSource, opts); -} - -function addNamed(path, name, importedSource, opts) { - return new _importInjector.default(path).addNamed(name, importedSource, opts); -} - -function addNamespace(path, importedSource, opts) { - return new _importInjector.default(path).addNamespace(importedSource, opts); -} - -function addSideEffect(path, importedSource, opts) { - return new _importInjector.default(path).addSideEffect(importedSource, opts); -} - -},{"./import-injector":71,"./is-module":73}],73:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isModule; - -function isModule(path) { - var sourceType = path.node.sourceType; - - if (sourceType !== "module" && sourceType !== "script") { - throw path.buildCodeFrameError("Unknown sourceType \"".concat(sourceType, "\", cannot transform.")); - } - - return path.node.sourceType === "module"; -} - -},{}],74:[function(require,module,exports){ -"use strict"; - -function _templateObject11() { - var data = _taggedTemplateLiteral(["EXPORTS.NAME = VALUE"]); - - _templateObject11 = function _templateObject11() { - return data; - }; - - return data; -} - -function _templateObject10() { - var data = _taggedTemplateLiteral(["\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n "]); - - _templateObject10 = function _templateObject10() { - return data; - }; - - return data; -} - -function _templateObject9() { - var data = _taggedTemplateLiteral(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n "]); - - _templateObject9 = function _templateObject9() { - return data; - }; - - return data; -} - -function _templateObject8() { - var data = _taggedTemplateLiteral(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n "]); - - _templateObject8 = function _templateObject8() { - return data; - }; - - return data; -} - -function _templateObject7() { - var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n "]); - - _templateObject7 = function _templateObject7() { - return data; - }; - - return data; -} - -function _templateObject6() { - var data = _taggedTemplateLiteral(["\n EXPORTS.__esModule = true;\n "]); - - _templateObject6 = function _templateObject6() { - return data; - }; - - return data; -} - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _templateObject5() { - var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE.IMPORT_NAME;\n },\n });\n "]); - - _templateObject5 = function _templateObject5() { - return data; - }; - - return data; -} - -function _templateObject4() { - var data = _taggedTemplateLiteral(["EXPORTS.EXPORT_NAME = NAMESPACE.IMPORT_NAME;"]); - - _templateObject4 = function _templateObject4() { - return data; - }; - - return data; -} - -function _templateObject3() { - var data = _taggedTemplateLiteral(["EXPORTS.NAME = NAMESPACE;"]); - - _templateObject3 = function _templateObject3() { - return data; - }; - - return data; -} - -function _templateObject2() { - var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n "]); - - _templateObject2 = function _templateObject2() { - return data; - }; - - return data; -} - -function _templateObject() { - var data = _taggedTemplateLiteral(["var NAME = SOURCE;"]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.rewriteModuleStatementsAndPrepareHeader = rewriteModuleStatementsAndPrepareHeader; -exports.ensureStatementsHoisted = ensureStatementsHoisted; -exports.wrapInterop = wrapInterop; -exports.buildNamespaceInitStatements = buildNamespaceInitStatements; -Object.defineProperty(exports, "isModule", { - enumerable: true, - get: function get() { - return _helperModuleImports.isModule; - } -}); -Object.defineProperty(exports, "hasExports", { - enumerable: true, - get: function get() { - return _normalizeAndLoadMetadata.hasExports; - } -}); -Object.defineProperty(exports, "isSideEffectImport", { - enumerable: true, - get: function get() { - return _normalizeAndLoadMetadata.isSideEffectImport; - } -}); - -var _assert = _interopRequireDefault(require("assert")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _template = _interopRequireDefault(require("@babel/template")); - -var _chunk = _interopRequireDefault(require("lodash/chunk")); - -var _helperModuleImports = require("@babel/helper-module-imports"); - -var _rewriteThis = _interopRequireDefault(require("./rewrite-this")); - -var _rewriteLiveReferences = _interopRequireDefault(require("./rewrite-live-references")); - -var _normalizeAndLoadMetadata = _interopRequireWildcard(require("./normalize-and-load-metadata")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function rewriteModuleStatementsAndPrepareHeader(path, _ref) { - var exportName = _ref.exportName, - strict = _ref.strict, - allowTopLevelThis = _ref.allowTopLevelThis, - strictMode = _ref.strictMode, - loose = _ref.loose, - noInterop = _ref.noInterop, - lazy = _ref.lazy, - esNamespaceOnly = _ref.esNamespaceOnly; - (0, _assert.default)((0, _helperModuleImports.isModule)(path), "Cannot process module statements in a script"); - path.node.sourceType = "script"; - var meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { - noInterop: noInterop, - loose: loose, - lazy: lazy, - esNamespaceOnly: esNamespaceOnly - }); - - if (!allowTopLevelThis) { - (0, _rewriteThis.default)(path); - } - - (0, _rewriteLiveReferences.default)(path, meta); - - if (strictMode !== false) { - var hasStrict = path.node.directives.some(function (directive) { - return directive.value.value === "use strict"; - }); - - if (!hasStrict) { - path.unshiftContainer("directives", t.directive(t.directiveLiteral("use strict"))); - } - } - - var headers = []; - - if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) { - headers.push(buildESModuleHeader(meta, loose)); - } - - var nameList = buildExportNameListDeclaration(path, meta); - - if (nameList) { - meta.exportNameListName = nameList.name; - headers.push(nameList.statement); - } - - headers.push.apply(headers, _toConsumableArray(buildExportInitializationStatements(path, meta, loose))); - return { - meta: meta, - headers: headers - }; -} - -function ensureStatementsHoisted(statements) { - statements.forEach(function (header) { - header._blockHoist = 3; - }); -} - -function wrapInterop(programPath, expr, type) { - if (type === "none") { - return null; - } - - var helper; - - if (type === "default") { - helper = "interopRequireDefault"; - } else if (type === "namespace") { - helper = "interopRequireWildcard"; - } else { - throw new Error("Unknown interop: ".concat(type)); - } - - return t.callExpression(programPath.hub.addHelper(helper), [expr]); -} - -function buildNamespaceInitStatements(metadata, sourceMetadata) { - var loose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var statements = []; - var srcNamespace = t.identifier(sourceMetadata.name); - if (sourceMetadata.lazy) srcNamespace = t.callExpression(srcNamespace, []); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = sourceMetadata.importsNamespace[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var localName = _step.value; - if (localName === sourceMetadata.name) continue; - statements.push(_template.default.statement(_templateObject())({ - NAME: localName, - SOURCE: t.cloneNode(srcNamespace) - })); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (loose) { - statements.push.apply(statements, _toConsumableArray(buildReexportsFromMeta(metadata, sourceMetadata, loose))); - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = sourceMetadata.reexportNamespace[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var exportName = _step2.value; - statements.push((sourceMetadata.lazy ? _template.default.statement(_templateObject2()) : _template.default.statement(_templateObject3()))({ - EXPORTS: metadata.exportName, - NAME: exportName, - NAMESPACE: t.cloneNode(srcNamespace) - })); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - if (sourceMetadata.reexportAll) { - var statement = buildNamespaceReexport(metadata, t.cloneNode(srcNamespace), loose); - statement.loc = sourceMetadata.reexportAll.loc; - statements.push(statement); - } - - return statements; -} - -var getTemplateForReexport = function getTemplateForReexport(loose) { - return loose ? _template.default.statement(_templateObject4()) : _template.default(_templateObject5()); -}; - -var buildReexportsFromMeta = function buildReexportsFromMeta(meta, metadata, loose) { - var namespace = metadata.lazy ? t.callExpression(t.identifier(metadata.name), []) : t.identifier(metadata.name); - var templateForCurrentMode = getTemplateForReexport(loose); - return Array.from(metadata.reexports, function (_ref2) { - var _ref3 = _slicedToArray(_ref2, 2), - exportName = _ref3[0], - importName = _ref3[1]; - - return templateForCurrentMode({ - EXPORTS: meta.exportName, - EXPORT_NAME: exportName, - NAMESPACE: t.cloneNode(namespace), - IMPORT_NAME: importName - }); - }); -}; - -function buildESModuleHeader(metadata) { - var enumerable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - return (enumerable ? _template.default.statement(_templateObject6()) : _template.default.statement(_templateObject7()))({ - EXPORTS: metadata.exportName - }); -} - -function buildNamespaceReexport(metadata, namespace, loose) { - return (loose ? _template.default.statement(_templateObject8()) : _template.default.statement(_templateObject9()))({ - NAMESPACE: namespace, - EXPORTS: metadata.exportName, - VERIFY_NAME_LIST: metadata.exportNameListName ? _template.default(_templateObject10())({ - EXPORTS_LIST: metadata.exportNameListName - }) : null - }); -} - -function buildExportNameListDeclaration(programPath, metadata) { - var exportedVars = Object.create(null); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = metadata.local.values()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var data = _step3.value; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = data.names[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var _name = _step5.value; - exportedVars[_name] = true; - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - var hasReexport = false; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = metadata.source.values()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var _data = _step4.value; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = _data.reexports.keys()[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var exportName = _step6.value; - exportedVars[exportName] = true; - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; - - try { - for (var _iterator7 = _data.reexportNamespace[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var _exportName = _step7.value; - exportedVars[_exportName] = true; - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return != null) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } - } - - hasReexport = hasReexport || _data.reexportAll; - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - if (!hasReexport || Object.keys(exportedVars).length === 0) return null; - var name = programPath.scope.generateUidIdentifier("exportNames"); - delete exportedVars.default; - return { - name: name.name, - statement: t.variableDeclaration("var", [t.variableDeclarator(name, t.valueToNode(exportedVars))]) - }; -} - -function buildExportInitializationStatements(programPath, metadata) { - var loose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var initStatements = []; - var exportNames = []; - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; - - try { - for (var _iterator8 = metadata.local[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { - var _step8$value = _slicedToArray(_step8.value, 2), - localName = _step8$value[0], - data = _step8$value[1]; - - if (data.kind === "import") {} else if (data.kind === "hoisted") { - initStatements.push(buildInitStatement(metadata, data.names, t.identifier(localName))); - } else { - exportNames.push.apply(exportNames, _toConsumableArray(data.names)); - } - } - } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; - } finally { - try { - if (!_iteratorNormalCompletion8 && _iterator8.return != null) { - _iterator8.return(); - } - } finally { - if (_didIteratorError8) { - throw _iteratorError8; - } - } - } - - var _iteratorNormalCompletion9 = true; - var _didIteratorError9 = false; - var _iteratorError9 = undefined; - - try { - for (var _iterator9 = metadata.source.values()[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { - var _data2 = _step9.value; - - if (!loose) { - initStatements.push.apply(initStatements, _toConsumableArray(buildReexportsFromMeta(metadata, _data2, loose))); - } - - var _iteratorNormalCompletion10 = true; - var _didIteratorError10 = false; - var _iteratorError10 = undefined; - - try { - for (var _iterator10 = _data2.reexportNamespace[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { - var exportName = _step10.value; - exportNames.push(exportName); - } - } catch (err) { - _didIteratorError10 = true; - _iteratorError10 = err; - } finally { - try { - if (!_iteratorNormalCompletion10 && _iterator10.return != null) { - _iterator10.return(); - } - } finally { - if (_didIteratorError10) { - throw _iteratorError10; - } - } - } - } - } catch (err) { - _didIteratorError9 = true; - _iteratorError9 = err; - } finally { - try { - if (!_iteratorNormalCompletion9 && _iterator9.return != null) { - _iterator9.return(); - } - } finally { - if (_didIteratorError9) { - throw _iteratorError9; - } - } - } - - initStatements.push.apply(initStatements, _toConsumableArray((0, _chunk.default)(exportNames, 100).map(function (members) { - return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode()); - }))); - return initStatements; -} - -function buildInitStatement(metadata, exportNames, initExpr) { - return t.expressionStatement(exportNames.reduce(function (acc, exportName) { - return _template.default.expression(_templateObject11())({ - EXPORTS: metadata.exportName, - NAME: exportName, - VALUE: acc - }); - }, initExpr)); -} - -},{"./normalize-and-load-metadata":75,"./rewrite-live-references":76,"./rewrite-this":77,"@babel/helper-module-imports":72,"@babel/template":167,"@babel/types":242,"assert":278,"lodash/chunk":1003}],75:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.hasExports = hasExports; -exports.isSideEffectImport = isSideEffectImport; -exports.default = normalizeModuleAndLoadMetadata; - -var _path = require("path"); - -var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function hasExports(metadata) { - return metadata.hasExports; -} - -function isSideEffectImport(source) { - return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll; -} - -function normalizeModuleAndLoadMetadata(programPath, exportName) { - var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, - _ref$noInterop = _ref.noInterop, - noInterop = _ref$noInterop === void 0 ? false : _ref$noInterop, - _ref$loose = _ref.loose, - loose = _ref$loose === void 0 ? false : _ref$loose, - _ref$lazy = _ref.lazy, - lazy = _ref$lazy === void 0 ? false : _ref$lazy, - _ref$esNamespaceOnly = _ref.esNamespaceOnly, - esNamespaceOnly = _ref$esNamespaceOnly === void 0 ? false : _ref$esNamespaceOnly; - - if (!exportName) { - exportName = programPath.scope.generateUidIdentifier("exports").name; - } - - nameAnonymousExports(programPath); - - var _getModuleMetadata = getModuleMetadata(programPath, { - loose: loose, - lazy: lazy - }), - local = _getModuleMetadata.local, - source = _getModuleMetadata.source, - hasExports = _getModuleMetadata.hasExports; - - removeModuleDeclarations(programPath); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - metadata = _step$value[1]; - - if (metadata.importsNamespace.size > 0) { - metadata.name = metadata.importsNamespace.values().next().value; - } - - if (noInterop) metadata.interop = "none";else if (esNamespaceOnly) { - if (metadata.interop === "namespace") { - metadata.interop = "default"; - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return { - exportName: exportName, - exportNameListName: null, - hasExports: hasExports, - local: local, - source: source - }; -} - -function getModuleMetadata(programPath, _ref2) { - var loose = _ref2.loose, - lazy = _ref2.lazy; - var localData = getLocalExportMetadata(programPath, loose); - var sourceData = new Map(); - - var getData = function getData(sourceNode) { - var source = sourceNode.value; - var data = sourceData.get(source); - - if (!data) { - data = { - name: programPath.scope.generateUidIdentifier((0, _path.basename)(source, (0, _path.extname)(source))).name, - interop: "none", - loc: null, - imports: new Map(), - importsNamespace: new Set(), - reexports: new Map(), - reexportNamespace: new Set(), - reexportAll: null, - lazy: false - }; - sourceData.set(source, data); - } - - return data; - }; - - var hasExports = false; - programPath.get("body").forEach(function (child) { - if (child.isImportDeclaration()) { - var data = getData(child.node.source); - if (!data.loc) data.loc = child.node.loc; - child.get("specifiers").forEach(function (spec) { - if (spec.isImportDefaultSpecifier()) { - var localName = spec.get("local").node.name; - data.imports.set(localName, "default"); - var reexport = localData.get(localName); - - if (reexport) { - localData.delete(localName); - reexport.names.forEach(function (name) { - data.reexports.set(name, "default"); - }); - } - } else if (spec.isImportNamespaceSpecifier()) { - var _localName = spec.get("local").node.name; - data.importsNamespace.add(_localName); - - var _reexport = localData.get(_localName); - - if (_reexport) { - localData.delete(_localName); - - _reexport.names.forEach(function (name) { - data.reexportNamespace.add(name); - }); - } - } else if (spec.isImportSpecifier()) { - var importName = spec.get("imported").node.name; - var _localName2 = spec.get("local").node.name; - data.imports.set(_localName2, importName); - - var _reexport2 = localData.get(_localName2); - - if (_reexport2) { - localData.delete(_localName2); - - _reexport2.names.forEach(function (name) { - data.reexports.set(name, importName); - }); - } - } - }); - } else if (child.isExportAllDeclaration()) { - hasExports = true; - - var _data = getData(child.node.source); - - if (!_data.loc) _data.loc = child.node.loc; - _data.reexportAll = { - loc: child.node.loc - }; - } else if (child.isExportNamedDeclaration() && child.node.source) { - hasExports = true; - - var _data2 = getData(child.node.source); - - if (!_data2.loc) _data2.loc = child.node.loc; - child.get("specifiers").forEach(function (spec) { - if (!spec.isExportSpecifier()) { - throw spec.buildCodeFrameError("Unexpected export specifier type"); - } - - var importName = spec.get("local").node.name; - var exportName = spec.get("exported").node.name; - - _data2.reexports.set(exportName, importName); - - if (exportName === "__esModule") { - throw exportName.buildCodeFrameError('Illegal export "__esModule".'); - } - }); - } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) { - hasExports = true; - } - }); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = sourceData.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var metadata = _step2.value; - var needsDefault = false; - var needsNamed = false; - - if (metadata.importsNamespace.size > 0) { - needsDefault = true; - needsNamed = true; - } - - if (metadata.reexportAll) { - needsNamed = true; - } - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = metadata.imports.values()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var importName = _step4.value; - if (importName === "default") needsDefault = true;else needsNamed = true; - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = metadata.reexports.values()[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var _importName = _step5.value; - if (_importName === "default") needsDefault = true;else needsNamed = true; - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - - if (needsDefault && needsNamed) { - metadata.interop = "namespace"; - } else if (needsDefault) { - metadata.interop = "default"; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = sourceData[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _step3$value = _slicedToArray(_step3.value, 2), - source = _step3$value[0], - _metadata = _step3$value[1]; - - if (lazy !== false && !(isSideEffectImport(_metadata) || _metadata.reexportAll)) { - if (lazy === true) { - _metadata.lazy = !/\./.test(source); - } else if (Array.isArray(lazy)) { - _metadata.lazy = lazy.indexOf(source) !== -1; - } else if (typeof lazy === "function") { - _metadata.lazy = lazy(source); - } else { - throw new Error(".lazy must be a boolean, string array, or function"); - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return { - hasExports: hasExports, - local: localData, - source: sourceData - }; -} - -function getLocalExportMetadata(programPath, loose) { - var bindingKindLookup = new Map(); - programPath.get("body").forEach(function (child) { - var kind; - - if (child.isImportDeclaration()) { - kind = "import"; - } else { - if (child.isExportDefaultDeclaration()) child = child.get("declaration"); - - if (child.isExportNamedDeclaration()) { - if (child.node.declaration) { - child = child.get("declaration"); - } else if (loose && child.node.source && child.get("source").isStringLiteral()) { - child.node.specifiers.forEach(function (specifier) { - bindingKindLookup.set(specifier.local.name, "block"); - }); - return; - } - } - - if (child.isFunctionDeclaration()) { - kind = "hoisted"; - } else if (child.isClassDeclaration()) { - kind = "block"; - } else if (child.isVariableDeclaration({ - kind: "var" - })) { - kind = "var"; - } else if (child.isVariableDeclaration()) { - kind = "block"; - } else { - return; - } - } - - Object.keys(child.getOuterBindingIdentifiers()).forEach(function (name) { - bindingKindLookup.set(name, kind); - }); - }); - var localMetadata = new Map(); - - var getLocalMetadata = function getLocalMetadata(idPath) { - var localName = idPath.node.name; - var metadata = localMetadata.get(localName); - - if (!metadata) { - var kind = bindingKindLookup.get(localName); - - if (kind === undefined) { - throw idPath.buildCodeFrameError("Exporting local \"".concat(localName, "\", which is not declared.")); - } - - metadata = { - names: [], - kind: kind - }; - localMetadata.set(localName, metadata); - } - - return metadata; - }; - - programPath.get("body").forEach(function (child) { - if (child.isExportNamedDeclaration() && (loose || !child.node.source)) { - if (child.node.declaration) { - var declaration = child.get("declaration"); - var ids = declaration.getOuterBindingIdentifierPaths(); - Object.keys(ids).forEach(function (name) { - if (name === "__esModule") { - throw declaration.buildCodeFrameError('Illegal export "__esModule".'); - } - - getLocalMetadata(ids[name]).names.push(name); - }); - } else { - child.get("specifiers").forEach(function (spec) { - var local = spec.get("local"); - var exported = spec.get("exported"); - - if (exported.node.name === "__esModule") { - throw exported.buildCodeFrameError('Illegal export "__esModule".'); - } - - getLocalMetadata(local).names.push(exported.node.name); - }); - } - } else if (child.isExportDefaultDeclaration()) { - var _declaration = child.get("declaration"); - - if (_declaration.isFunctionDeclaration() || _declaration.isClassDeclaration()) { - getLocalMetadata(_declaration.get("id")).names.push("default"); - } else { - throw _declaration.buildCodeFrameError("Unexpected default expression export."); - } - } - }); - return localMetadata; -} - -function nameAnonymousExports(programPath) { - programPath.get("body").forEach(function (child) { - if (!child.isExportDefaultDeclaration()) return; - (0, _helperSplitExportDeclaration.default)(child); - }); -} - -function removeModuleDeclarations(programPath) { - programPath.get("body").forEach(function (child) { - if (child.isImportDeclaration()) { - child.remove(); - } else if (child.isExportNamedDeclaration()) { - if (child.node.declaration) { - child.node.declaration._blockHoist = child.node._blockHoist; - child.replaceWith(child.node.declaration); - } else { - child.remove(); - } - } else if (child.isExportDefaultDeclaration()) { - var declaration = child.get("declaration"); - - if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { - declaration._blockHoist = child.node._blockHoist; - child.replaceWith(declaration); - } else { - throw declaration.buildCodeFrameError("Unexpected default expression export."); - } - } else if (child.isExportAllDeclaration()) { - child.remove(); - } - }); -} - -},{"@babel/helper-split-export-declaration":84,"path":1052}],76:[function(require,module,exports){ -"use strict"; - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n (function() {\n throw new Error('\"' + '", "' + '\" is read-only.');\n })()\n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rewriteLiveReferences; - -var _assert = _interopRequireDefault(require("assert")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _template = _interopRequireDefault(require("@babel/template")); - -var _helperSimpleAccess = _interopRequireDefault(require("@babel/helper-simple-access")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function rewriteLiveReferences(programPath, metadata) { - var imported = new Map(); - var exported = new Map(); - - var requeueInParent = function requeueInParent(path) { - programPath.requeue(path); - }; - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = metadata.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - source = _step$value[0], - data = _step$value[1]; - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = data.imports[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _step3$value = _slicedToArray(_step3.value, 2), - localName = _step3$value[0], - importName = _step3$value[1]; - - imported.set(localName, [source, importName, null]); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = data.importsNamespace[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var _localName = _step4.value; - imported.set(_localName, [source, null, _localName]); - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = metadata.local[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _exportMeta; - - var _step2$value = _slicedToArray(_step2.value, 2), - local = _step2$value[0], - _data = _step2$value[1]; - - var exportMeta = exported.get(local); - - if (!exportMeta) { - exportMeta = []; - exported.set(local, exportMeta); - } - - (_exportMeta = exportMeta).push.apply(_exportMeta, _toConsumableArray(_data.names)); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - programPath.traverse(rewriteBindingInitVisitor, { - metadata: metadata, - requeueInParent: requeueInParent, - scope: programPath.scope, - exported: exported - }); - (0, _helperSimpleAccess.default)(programPath, new Set([].concat(_toConsumableArray(Array.from(imported.keys())), _toConsumableArray(Array.from(exported.keys()))))); - programPath.traverse(rewriteReferencesVisitor, { - seen: new WeakSet(), - metadata: metadata, - requeueInParent: requeueInParent, - scope: programPath.scope, - imported: imported, - exported: exported, - buildImportReference: function buildImportReference(_ref, identNode) { - var _ref2 = _slicedToArray(_ref, 3), - source = _ref2[0], - importName = _ref2[1], - localName = _ref2[2]; - - var meta = metadata.source.get(source); - - if (localName) { - if (meta.lazy) identNode = t.callExpression(identNode, []); - return identNode; - } - - var namespace = t.identifier(meta.name); - if (meta.lazy) namespace = t.callExpression(namespace, []); - return t.memberExpression(namespace, t.identifier(importName)); - } - }); -} - -var rewriteBindingInitVisitor = { - ClassProperty: function ClassProperty(path) { - path.skip(); - }, - Function: function Function(path) { - path.skip(); - }, - ClassDeclaration: function ClassDeclaration(path) { - var requeueInParent = this.requeueInParent, - exported = this.exported, - metadata = this.metadata; - var id = path.node.id; - if (!id) throw new Error("Expected class to have a name"); - var localName = id.name; - var exportNames = exported.get(localName) || []; - - if (exportNames.length > 0) { - var statement = t.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t.identifier(localName))); - statement._blockHoist = path.node._blockHoist; - requeueInParent(path.insertAfter(statement)[0]); - } - }, - VariableDeclaration: function VariableDeclaration(path) { - var requeueInParent = this.requeueInParent, - exported = this.exported, - metadata = this.metadata; - Object.keys(path.getOuterBindingIdentifiers()).forEach(function (localName) { - var exportNames = exported.get(localName) || []; - - if (exportNames.length > 0) { - var statement = t.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t.identifier(localName))); - statement._blockHoist = path.node._blockHoist; - requeueInParent(path.insertAfter(statement)[0]); - } - }); - } -}; - -var buildBindingExportAssignmentExpression = function buildBindingExportAssignmentExpression(metadata, exportNames, localExpr) { - return (exportNames || []).reduce(function (expr, exportName) { - return t.assignmentExpression("=", t.memberExpression(t.identifier(metadata.exportName), t.identifier(exportName)), expr); - }, localExpr); -}; - -var buildImportThrow = function buildImportThrow(localName) { - return _template.default.expression.ast(_templateObject(), localName); -}; - -var rewriteReferencesVisitor = { - ReferencedIdentifier: function ReferencedIdentifier(path) { - var seen = this.seen, - buildImportReference = this.buildImportReference, - scope = this.scope, - imported = this.imported, - requeueInParent = this.requeueInParent; - if (seen.has(path.node)) return; - seen.add(path.node); - var localName = path.node.name; - var localBinding = path.scope.getBinding(localName); - var rootBinding = scope.getBinding(localName); - if (rootBinding !== localBinding) return; - var importData = imported.get(localName); - - if (importData) { - var ref = buildImportReference(importData, path.node); - ref.loc = path.node.loc; - - if (path.parentPath.isCallExpression({ - callee: path.node - }) && t.isMemberExpression(ref)) { - path.replaceWith(t.sequenceExpression([t.numericLiteral(0), ref])); - } else if (path.isJSXIdentifier() && t.isMemberExpression(ref)) { - var object = ref.object, - property = ref.property; - path.replaceWith(t.JSXMemberExpression(t.JSXIdentifier(object.name), t.JSXIdentifier(property.name))); - } else { - path.replaceWith(ref); - } - - requeueInParent(path); - path.skip(); - } - }, - AssignmentExpression: { - exit: function exit(path) { - var _this = this; - - var scope = this.scope, - seen = this.seen, - imported = this.imported, - exported = this.exported, - requeueInParent = this.requeueInParent, - buildImportReference = this.buildImportReference; - if (seen.has(path.node)) return; - seen.add(path.node); - var left = path.get("left"); - if (left.isMemberExpression()) return; - - if (left.isIdentifier()) { - var localName = left.node.name; - - if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { - return; - } - - var exportedNames = exported.get(localName); - var importData = imported.get(localName); - - if ((exportedNames === null || exportedNames === void 0 ? void 0 : exportedNames.length) > 0 || importData) { - (0, _assert.default)(path.node.operator === "=", "Path was not simplified"); - var assignment = path.node; - - if (importData) { - assignment.left = buildImportReference(importData, assignment.left); - assignment.right = t.sequenceExpression([assignment.right, buildImportThrow(localName)]); - } - - path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment)); - requeueInParent(path); - } - } else { - var ids = left.getOuterBindingIdentifiers(); - var programScopeIds = Object.keys(ids).filter(function (localName) { - return scope.getBinding(localName) === path.scope.getBinding(localName); - }); - var id = programScopeIds.find(function (localName) { - return imported.has(localName); - }); - - if (id) { - path.node.right = t.sequenceExpression([path.node.right, buildImportThrow(id)]); - } - - var items = []; - programScopeIds.forEach(function (localName) { - var exportedNames = exported.get(localName) || []; - - if (exportedNames.length > 0) { - items.push(buildBindingExportAssignmentExpression(_this.metadata, exportedNames, t.identifier(localName))); - } - }); - - if (items.length > 0) { - var node = t.sequenceExpression(items); - - if (path.parentPath.isExpressionStatement()) { - node = t.expressionStatement(node); - node._blockHoist = path.parentPath.node._blockHoist; - } - - var statement = path.insertAfter(node)[0]; - requeueInParent(statement); - } - } - } - } -}; - -},{"@babel/helper-simple-access":83,"@babel/template":167,"@babel/types":242,"assert":278}],77:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = rewriteThis; - -function rewriteThis(programPath) { - programPath.traverse(rewriteThisVisitor); -} - -var rewriteThisVisitor = { - ThisExpression: function ThisExpression(path) { - path.replaceWith(path.scope.buildUndefinedNode()); - }, - Function: function Function(path) { - if (!path.isArrowFunctionExpression()) path.skip(); - }, - ClassProperty: function ClassProperty(path) { - path.skip(); - }, - ClassPrivateProperty: function ClassPrivateProperty(path) { - path.skip(); - } -}; - -},{}],78:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _default(callee, thisNode, args) { - if (args.length === 1 && t.isSpreadElement(args[0]) && t.isIdentifier(args[0].argument, { - name: "arguments" - })) { - return t.callExpression(t.memberExpression(callee, t.identifier("apply")), [thisNode, args[0].argument]); - } else { - return t.callExpression(t.memberExpression(callee, t.identifier("call")), [thisNode].concat(_toConsumableArray(args))); - } -} - -},{"@babel/types":242}],79:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.declare = declare; - -function declare(builder) { - return function (api, options, dirname) { - if (!api.assertVersion) { - api = Object.assign(copyApiObject(api), { - assertVersion: function assertVersion(range) { - throwVersionError(range, api.version); - } - }); - } - - return builder(api, options || {}, dirname); - }; -} - -function copyApiObject(api) { - var proto = null; - - if (typeof api.version === "string" && /^7\./.test(api.version)) { - proto = Object.getPrototypeOf(api); - - if (proto && (!has(proto, "version") || !has(proto, "transform") || !has(proto, "template") || !has(proto, "types"))) { - proto = null; - } - } - - return Object.assign({}, proto, api); -} - -function has(obj, key) { - return Object.prototype.hasOwnProperty.call(obj, key); -} - -function throwVersionError(range, version) { - if (typeof range === "number") { - if (!Number.isInteger(range)) { - throw new Error("Expected string or integer value."); - } - - range = "^".concat(range, ".0.0-0"); - } - - if (typeof range !== "string") { - throw new Error("Expected string or integer value."); - } - - var limit = Error.stackTraceLimit; - - if (typeof limit === "number" && limit < 25) { - Error.stackTraceLimit = 25; - } - - var err; - - if (version.slice(0, 2) === "7.") { - err = new Error("Requires Babel \"^7.0.0-beta.41\", but was loaded with \"".concat(version, "\". ") + "You'll need to update your @babel/core version."); - } else { - err = new Error("Requires Babel \"".concat(range, "\", but was loaded with \"").concat(version, "\". ") + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel."); - } - - if (typeof limit === "number") { - Error.stackTraceLimit = limit; - } - - throw Object.assign(err, { - code: "BABEL_VERSION_UNSUPPORTED", - version: version, - range: range - }); -} - -},{}],80:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.is = is; -exports.pullFlag = pullFlag; - -function _pull() { - var data = _interopRequireDefault(require("lodash/pull")); - - _pull = function _pull() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function is(node, flag) { - return node.type === "RegExpLiteral" && node.flags.indexOf(flag) >= 0; -} - -function pullFlag(node, flag) { - var flags = node.flags.split(""); - if (node.flags.indexOf(flag) < 0) return; - (0, _pull().default)(flags, flag); - node.flags = flags.join(""); -} - -},{"lodash/pull":1037}],81:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _helperWrapFunction = _interopRequireDefault(require("@babel/helper-wrap-function")); - -var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var awaitVisitor = { - Function: function Function(path) { - path.skip(); - }, - AwaitExpression: function AwaitExpression(path, _ref) { - var wrapAwait = _ref.wrapAwait; - var argument = path.get("argument"); - - if (path.parentPath.isYieldExpression()) { - path.replaceWith(argument.node); - return; - } - - path.replaceWith(t.yieldExpression(wrapAwait ? t.callExpression(t.cloneNode(wrapAwait), [argument.node]) : argument.node)); - } -}; - -function _default(path, helpers) { - path.traverse(awaitVisitor, { - wrapAwait: helpers.wrapAwait - }); - var isIIFE = checkIsIIFE(path); - path.node.async = false; - path.node.generator = true; - (0, _helperWrapFunction.default)(path, t.cloneNode(helpers.wrapAsync)); - var isProperty = path.isObjectMethod() || path.isClassMethod() || path.parentPath.isObjectProperty() || path.parentPath.isClassProperty(); - - if (!isProperty && !isIIFE && path.isExpression()) { - (0, _helperAnnotateAsPure.default)(path); - } - - function checkIsIIFE(path) { - if (path.parentPath.isCallExpression({ - callee: path.node - })) { - return true; - } - - var parentPath = path.parentPath; - - if (parentPath.isMemberExpression() && t.isIdentifier(parentPath.node.property, { - name: "bind" - })) { - var bindCall = parentPath.parentPath; - return bindCall.isCallExpression() && bindCall.node.arguments.length === 1 && t.isThisExpression(bindCall.node.arguments[0]) && bindCall.parentPath.isCallExpression({ - callee: bindCall.node - }); - } - - return false; - } -} - -},{"@babel/helper-annotate-as-pure":57,"@babel/helper-wrap-function":85,"@babel/types":242}],82:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = exports.environmentVisitor = void 0; - -var _traverse = _interopRequireDefault(require("@babel/traverse")); - -var _helperMemberExpressionToFunctions = _interopRequireDefault(require("@babel/helper-member-expression-to-functions")); - -var _helperOptimiseCallExpression = _interopRequireDefault(require("@babel/helper-optimise-call-expression")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) { - objectRef = t.cloneNode(objectRef); - var targetRef = isStatic || isPrivateMethod ? objectRef : t.memberExpression(objectRef, t.identifier("prototype")); - return t.callExpression(file.addHelper("getPrototypeOf"), [targetRef]); -} - -function skipAllButComputedKey(path) { - if (!path.node.computed) { - path.skip(); - return; - } - - var keys = t.VISITOR_KEYS[path.type]; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - if (key !== "key") path.skipKey(key); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -} - -var environmentVisitor = { - TypeAnnotation: function TypeAnnotation(path) { - path.skip(); - }, - Function: function Function(path) { - if (path.isMethod()) return; - if (path.isArrowFunctionExpression()) return; - path.skip(); - }, - "Method|ClassProperty|ClassPrivateProperty": function MethodClassPropertyClassPrivateProperty(path) { - skipAllButComputedKey(path); - } -}; -exports.environmentVisitor = environmentVisitor; - -var visitor = _traverse.default.visitors.merge([environmentVisitor, { - Super: function Super(path, state) { - var node = path.node, - parentPath = path.parentPath; - if (!parentPath.isMemberExpression({ - object: node - })) return; - state.handle(parentPath); - } -}]); - -var specHandlers = { - memoise: function memoise(superMember, count) { - var scope = superMember.scope, - node = superMember.node; - var computed = node.computed, - property = node.property; - - if (!computed) { - return; - } - - var memo = scope.maybeGenerateMemoised(property); - - if (!memo) { - return; - } - - this.memoiser.set(property, memo, count); - }, - prop: function prop(superMember) { - var _superMember$node = superMember.node, - computed = _superMember$node.computed, - property = _superMember$node.property; - - if (this.memoiser.has(property)) { - return t.cloneNode(this.memoiser.get(property)); - } - - if (computed) { - return t.cloneNode(property); - } - - return t.stringLiteral(property.name); - }, - get: function get(superMember) { - return t.callExpression(this.file.addHelper("get"), [getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod), this.prop(superMember), t.thisExpression()]); - }, - set: function set(superMember, value) { - return t.callExpression(this.file.addHelper("set"), [getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod), this.prop(superMember), value, t.thisExpression(), t.booleanLiteral(superMember.isInStrictMode())]); - }, - destructureSet: function destructureSet(superMember) { - throw superMember.buildCodeFrameError("Destructuring to a super field is not supported yet."); - }, - call: function call(superMember, args) { - return (0, _helperOptimiseCallExpression.default)(this.get(superMember), t.thisExpression(), args); - } -}; -var looseHandlers = Object.assign({}, specHandlers, { - prop: function prop(superMember) { - var property = superMember.node.property; - - if (this.memoiser.has(property)) { - return t.cloneNode(this.memoiser.get(property)); - } - - return t.cloneNode(property); - }, - get: function get(superMember) { - var isStatic = this.isStatic, - superRef = this.superRef; - var computed = superMember.node.computed; - var prop = this.prop(superMember); - var object; - - if (isStatic) { - object = superRef ? t.cloneNode(superRef) : t.memberExpression(t.identifier("Function"), t.identifier("prototype")); - } else { - object = superRef ? t.memberExpression(t.cloneNode(superRef), t.identifier("prototype")) : t.memberExpression(t.identifier("Object"), t.identifier("prototype")); - } - - return t.memberExpression(object, prop, computed); - }, - set: function set(superMember, value) { - var computed = superMember.node.computed; - var prop = this.prop(superMember); - return t.assignmentExpression("=", t.memberExpression(t.thisExpression(), prop, computed), value); - }, - destructureSet: function destructureSet(superMember) { - var computed = superMember.node.computed; - var prop = this.prop(superMember); - return t.memberExpression(t.thisExpression(), prop, computed); - } -}); - -var ReplaceSupers = -/*#__PURE__*/ -function () { - function ReplaceSupers(opts) { - _classCallCheck(this, ReplaceSupers); - - var path = opts.methodPath; - this.methodPath = path; - this.isStatic = path.isObjectMethod() || path.node.static; - this.isPrivateMethod = path.isPrivate() && path.isMethod(); - this.file = opts.file; - this.superRef = opts.superRef; - this.isLoose = opts.isLoose; - this.opts = opts; - } - - _createClass(ReplaceSupers, [{ - key: "getObjectRef", - value: function getObjectRef() { - return t.cloneNode(this.opts.objectRef || this.opts.getObjectRef()); - } - }, { - key: "replace", - value: function replace() { - var handler = this.isLoose ? looseHandlers : specHandlers; - (0, _helperMemberExpressionToFunctions.default)(this.methodPath, visitor, Object.assign({ - file: this.file, - isStatic: this.isStatic, - isPrivateMethod: this.isPrivateMethod, - getObjectRef: this.getObjectRef.bind(this), - superRef: this.superRef - }, handler)); - } - }]); - - return ReplaceSupers; -}(); - -exports.default = ReplaceSupers; - -},{"@babel/helper-member-expression-to-functions":69,"@babel/helper-optimise-call-expression":78,"@babel/traverse":176,"@babel/types":242}],83:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = simplifyAccess; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function simplifyAccess(path, bindingNames) { - path.traverse(simpleAssignmentVisitor, { - scope: path.scope, - bindingNames: bindingNames, - seen: new WeakSet() - }); -} - -var simpleAssignmentVisitor = { - UpdateExpression: { - exit: function exit(path) { - var scope = this.scope, - bindingNames = this.bindingNames; - var arg = path.get("argument"); - if (!arg.isIdentifier()) return; - var localName = arg.node.name; - if (!bindingNames.has(localName)) return; - - if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { - return; - } - - if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) { - var operator = path.node.operator == "++" ? "+=" : "-="; - path.replaceWith(t.assignmentExpression(operator, arg.node, t.numericLiteral(1))); - } else if (path.node.prefix) { - path.replaceWith(t.assignmentExpression("=", t.identifier(localName), t.binaryExpression(path.node.operator[0], t.unaryExpression("+", arg.node), t.numericLiteral(1)))); - } else { - var old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old"); - var varName = old.name; - path.scope.push({ - id: old - }); - var binary = t.binaryExpression(path.node.operator[0], t.identifier(varName), t.numericLiteral(1)); - path.replaceWith(t.sequenceExpression([t.assignmentExpression("=", t.identifier(varName), t.unaryExpression("+", arg.node)), t.assignmentExpression("=", t.cloneNode(arg.node), binary), t.identifier(varName)])); - } - } - }, - AssignmentExpression: { - exit: function exit(path) { - var scope = this.scope, - seen = this.seen, - bindingNames = this.bindingNames; - if (path.node.operator === "=") return; - if (seen.has(path.node)) return; - seen.add(path.node); - var left = path.get("left"); - if (!left.isIdentifier()) return; - var localName = left.node.name; - if (!bindingNames.has(localName)) return; - - if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { - return; - } - - path.node.right = t.binaryExpression(path.node.operator.slice(0, -1), t.cloneNode(path.node.left), path.node.right); - path.node.operator = "="; - } - } -}; - -},{"@babel/types":242}],84:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = splitExportDeclaration; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function splitExportDeclaration(exportDeclaration) { - if (!exportDeclaration.isExportDeclaration()) { - throw new Error("Only export declarations can be splitted."); - } - - var isDefault = exportDeclaration.isExportDefaultDeclaration(); - var declaration = exportDeclaration.get("declaration"); - var isClassDeclaration = declaration.isClassDeclaration(); - - if (isDefault) { - var standaloneDeclaration = declaration.isFunctionDeclaration() || isClassDeclaration; - var scope = declaration.isScope() ? declaration.scope.parent : declaration.scope; - var id = declaration.node.id; - var needBindingRegistration = false; - - if (!id) { - needBindingRegistration = true; - id = scope.generateUidIdentifier("default"); - - if (standaloneDeclaration || declaration.isFunctionExpression() || declaration.isClassExpression()) { - declaration.node.id = t.cloneNode(id); - } - } - - var updatedDeclaration = standaloneDeclaration ? declaration : t.variableDeclaration("var", [t.variableDeclarator(t.cloneNode(id), declaration.node)]); - var updatedExportDeclaration = t.exportNamedDeclaration(null, [t.exportSpecifier(t.cloneNode(id), t.identifier("default"))]); - exportDeclaration.insertAfter(updatedExportDeclaration); - exportDeclaration.replaceWith(updatedDeclaration); - - if (needBindingRegistration) { - scope.registerDeclaration(exportDeclaration); - } - - return exportDeclaration; - } - - if (exportDeclaration.get("specifiers").length > 0) { - throw new Error("It doesn't make sense to split exported specifiers."); - } - - var bindingIdentifiers = declaration.getOuterBindingIdentifiers(); - var specifiers = Object.keys(bindingIdentifiers).map(function (name) { - return t.exportSpecifier(t.identifier(name), t.identifier(name)); - }); - var aliasDeclar = t.exportNamedDeclaration(null, specifiers); - exportDeclaration.insertAfter(aliasDeclar); - exportDeclaration.replaceWith(declaration.node); - return exportDeclaration; -} - -},{"@babel/types":242}],85:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = wrapFunction; - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -var _template = _interopRequireDefault(require("@babel/template")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var buildAnonymousExpressionWrapper = _template.default.expression("\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n"); - -var buildNamedExpressionWrapper = _template.default.expression("\n (function () {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })()\n"); - -var buildDeclarationWrapper = (0, _template.default)("\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n"); - -function classOrObjectMethod(path, callId) { - var node = path.node; - var body = node.body; - var container = t.functionExpression(null, [], t.blockStatement(body.body), true); - body.body = [t.returnStatement(t.callExpression(t.callExpression(callId, [container]), []))]; - node.async = false; - node.generator = false; - path.get("body.body.0.argument.callee.arguments.0").unwrapFunctionEnvironment(); -} - -function plainFunction(path, callId) { - var node = path.node; - var isDeclaration = path.isFunctionDeclaration(); - var functionId = node.id; - var wrapper = isDeclaration ? buildDeclarationWrapper : functionId ? buildNamedExpressionWrapper : buildAnonymousExpressionWrapper; - - if (path.isArrowFunctionExpression()) { - path.arrowFunctionToExpression(); - } - - node.id = null; - - if (isDeclaration) { - node.type = "FunctionExpression"; - } - - var built = t.callExpression(callId, [node]); - var container = wrapper({ - NAME: functionId || null, - REF: path.scope.generateUidIdentifier(functionId ? functionId.name : "ref"), - FUNCTION: built, - PARAMS: node.params.reduce(function (acc, param) { - acc.done = acc.done || t.isAssignmentPattern(param) || t.isRestElement(param); - - if (!acc.done) { - acc.params.push(path.scope.generateUidIdentifier("x")); - } - - return acc; - }, { - params: [], - done: false - }).params - }); - - if (isDeclaration) { - path.replaceWith(container[0]); - path.insertAfter(container[1]); - } else { - var retFunction = container.callee.body.body[1].argument; - - if (!functionId) { - (0, _helperFunctionName.default)({ - node: retFunction, - parent: path.parent, - scope: path.scope - }); - } - - if (!retFunction || retFunction.id || node.params.length) { - path.replaceWith(container); - } else { - path.replaceWith(built); - } - } -} - -function wrapFunction(path, callId) { - if (path.isClassMethod() || path.isObjectMethod()) { - classOrObjectMethod(path, callId); - } else { - plainFunction(path, callId); - } -} - -},{"@babel/helper-function-name":66,"@babel/template":167,"@babel/types":242}],86:[function(require,module,exports){ -"use strict"; - -function _templateObject73() { - var data = _taggedTemplateLiteral(["\n import wrapNativeSuper from \"wrapNativeSuper\";\n import getPrototypeOf from \"getPrototypeOf\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n import inherits from \"inherits\";\n\n export default function _wrapRegExp(re, groups) {\n _wrapRegExp = function(re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _RegExp = wrapNativeSuper(RegExp);\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = _RegExp.call(this, re, flags);\n // if the regex is recreated with 'g' flag\n _groups.set(_this, groups || _groups.get(re));\n return _this;\n }\n inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function(str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function(str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function(_, name) {\n return \"$\" + groups[name];\n })\n );\n } else if (typeof substitution === \"function\") {\n var _this = this;\n return _super[Symbol.replace].call(\n this,\n str,\n function() {\n var args = [];\n args.push.apply(args, arguments);\n if (typeof args[args.length - 1] !== \"object\") {\n // Modern engines already pass result.groups as the last arg.\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n }\n );\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n }\n\n function buildGroups(result, re) {\n // NOTE: This function should return undefined if there are no groups,\n // but in that case Babel doesn't add the wrapper anyway.\n\n var g = _groups.get(re);\n return Object.keys(g).reduce(function(groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n }\n"], ["\n import wrapNativeSuper from \"wrapNativeSuper\";\n import getPrototypeOf from \"getPrototypeOf\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n import inherits from \"inherits\";\n\n export default function _wrapRegExp(re, groups) {\n _wrapRegExp = function(re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _RegExp = wrapNativeSuper(RegExp);\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = _RegExp.call(this, re, flags);\n // if the regex is recreated with 'g' flag\n _groups.set(_this, groups || _groups.get(re));\n return _this;\n }\n inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function(str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function(str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\\\$<([^>]+)>/g, function(_, name) {\n return \"$\" + groups[name];\n })\n );\n } else if (typeof substitution === \"function\") {\n var _this = this;\n return _super[Symbol.replace].call(\n this,\n str,\n function() {\n var args = [];\n args.push.apply(args, arguments);\n if (typeof args[args.length - 1] !== \"object\") {\n // Modern engines already pass result.groups as the last arg.\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n }\n );\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n }\n\n function buildGroups(result, re) {\n // NOTE: This function should return undefined if there are no groups,\n // but in that case Babel doesn't add the wrapper anyway.\n\n var g = _groups.get(re);\n return Object.keys(g).reduce(function(groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n }\n"]); - - _templateObject73 = function _templateObject73() { - return data; - }; - - return data; -} - -function _templateObject72() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n }\n"]); - - _templateObject72 = function _templateObject72() { - return data; - }; - - return data; -} - -function _templateObject71() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n }\n"]); - - _templateObject71 = function _templateObject71() { - return data; - }; - - return data; -} - -function _templateObject70() { - var data = _taggedTemplateLiteral(["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = (cl: Class) => Class;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory(initialize: (instance: C) => void): {\n F: Class,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::*/ F /*: Class */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::*/ receiver /*: C | Class */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::*/(\n obj /*: T */,\n name /*: $Keys */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"], ["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = (cl: Class) => Class;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory(initialize: (instance: C) => void): {\n F: Class,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::*/ F /*: Class */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::*/ receiver /*: C | Class */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::*/(\n obj /*: T */,\n name /*: $Keys */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"]); - - _templateObject70 = function _templateObject70() { - return data; - }; - - return data; -} - -function _templateObject69() { - var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n }\n"]); - - _templateObject69 = function _templateObject69() { - return data; - }; - - return data; -} - -function _templateObject68() { - var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n return method;\n }\n"]); - - _templateObject68 = function _templateObject68() { - return data; - }; - - return data; -} - -function _templateObject67() { - var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n\n return value;\n }\n"]); - - _templateObject67 = function _templateObject67() { - return data; - }; - - return data; -} - -function _templateObject66() { - var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"]); - - _templateObject66 = function _templateObject66() { - return data; - }; - - return data; -} - -function _templateObject65() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldDestructureSet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n var descriptor = privateMap.get(receiver);\n if (descriptor.set) {\n if (!(\"__destrObj\" in descriptor)) {\n descriptor.__destrObj = {\n set value(v) {\n descriptor.set.call(receiver, v)\n },\n };\n }\n return descriptor.__destrObj;\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n return descriptor;\n }\n }\n"]); - - _templateObject65 = function _templateObject65() { - return data; - }; - - return data; -} - -function _templateObject64() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = privateMap.get(receiver);\n if (!descriptor) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n\n return value;\n }\n"]); - - _templateObject64 = function _templateObject64() { - return data; - }; - - return data; -} - -function _templateObject63() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = privateMap.get(receiver);\n if (!descriptor) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"]); - - _templateObject63 = function _templateObject63() { - return data; - }; - - return data; -} - -function _templateObject62() { - var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n return receiver;\n }\n"]); - - _templateObject62 = function _templateObject62() { - return data; - }; - - return data; -} - -function _templateObject61() { - var data = _taggedTemplateLiteral(["\n var id = 0;\n export default function _classPrivateFieldKey(name) {\n return \"__private_\" + (id++) + \"_\" + name;\n }\n"]); - - _templateObject61 = function _templateObject61() { - return data; - }; - - return data; -} - -function _templateObject60() { - var data = _taggedTemplateLiteral(["\n export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){\n var desc = {};\n Object.keys(descriptor).forEach(function(key){\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n if ('value' in desc || desc.initializer){\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function(desc, decorator){\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0){\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0){\n // This is a hack to avoid this being processed by 'transform-runtime'.\n // See issue #9.\n Object.defineProperty(target, property, desc);\n desc = null;\n }\n\n return desc;\n }\n"]); - - _templateObject60 = function _templateObject60() { - return data; - }; - - return data; -} - -function _templateObject59() { - var data = _taggedTemplateLiteral(["\n export default function _initializerDefineProperty(target, property, descriptor, context){\n if (!descriptor) return;\n\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n });\n }\n"]); - - _templateObject59 = function _templateObject59() { - return data; - }; - - return data; -} - -function _templateObject58() { - var data = _taggedTemplateLiteral(["\n export default function _initializerWarningHelper(descriptor, context){\n throw new Error(\n 'Decorating class property failed. Please ensure that ' +\n 'proposal-class-properties is enabled and runs after the decorators transform.'\n );\n }\n"]); - - _templateObject58 = function _templateObject58() { - return data; - }; - - return data; -} - -function _templateObject57() { - var data = _taggedTemplateLiteral(["\n import toPrimitive from \"toPrimitive\";\n\n export default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n"]); - - _templateObject57 = function _templateObject57() { - return data; - }; - - return data; -} - -function _templateObject56() { - var data = _taggedTemplateLiteral(["\n export default function _toPrimitive(\n input,\n hint /*: \"default\" | \"string\" | \"number\" | void */\n ) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n"]); - - _templateObject56 = function _templateObject56() { - return data; - }; - - return data; -} - -function _templateObject55() { - var data = _taggedTemplateLiteral(["\n export default function _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n }\n }\n"]); - - _templateObject55 = function _templateObject55() { - return data; - }; - - return data; -} - -function _templateObject54() { - var data = _taggedTemplateLiteral(["\n export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n"]); - - _templateObject54 = function _templateObject54() { - return data; - }; - - return data; -} - -function _templateObject53() { - var data = _taggedTemplateLiteral(["\n export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n"]); - - _templateObject53 = function _templateObject53() { - return data; - }; - - return data; -} - -function _templateObject52() { - var data = _taggedTemplateLiteral(["\n export default function _iterableToArrayLimitLoose(arr, i) {\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n if (i && _arr.length === i) break;\n }\n return _arr;\n }\n"]); - - _templateObject52 = function _templateObject52() { - return data; - }; - - return data; -} - -function _templateObject51() { - var data = _taggedTemplateLiteral(["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of `for...of` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"], ["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of \\`for...of\\` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"]); - - _templateObject51 = function _templateObject51() { - return data; - }; - - return data; -} - -function _templateObject50() { - var data = _taggedTemplateLiteral(["\n export default function _iterableToArray(iter) {\n if (\n Symbol.iterator in Object(iter) ||\n Object.prototype.toString.call(iter) === \"[object Arguments]\"\n ) return Array.from(iter);\n }\n"]); - - _templateObject50 = function _templateObject50() { - return data; - }; - - return data; -} - -function _templateObject49() { - var data = _taggedTemplateLiteral(["\n export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n"]); - - _templateObject49 = function _templateObject49() { - return data; - }; - - return data; -} - -function _templateObject48() { - var data = _taggedTemplateLiteral(["\n export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n }\n }\n"]); - - _templateObject48 = function _templateObject48() { - return data; - }; - - return data; -} - -function _templateObject47() { - var data = _taggedTemplateLiteral(["\n import arrayWithoutHoles from \"arrayWithoutHoles\";\n import iterableToArray from \"iterableToArray\";\n import nonIterableSpread from \"nonIterableSpread\";\n\n export default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n }\n"]); - - _templateObject47 = function _templateObject47() { - return data; - }; - - return data; -} - -function _templateObject46() { - var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArray from \"iterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n }\n"]); - - _templateObject46 = function _templateObject46() { - return data; - }; - - return data; -} - -function _templateObject45() { - var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimitLoose from \"iterableToArrayLimitLoose\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArrayLoose(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest();\n }\n"]); - - _templateObject45 = function _templateObject45() { - return data; - }; - - return data; -} - -function _templateObject44() { - var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimit from \"iterableToArrayLimit\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n }\n"]); - - _templateObject44 = function _templateObject44() { - return data; - }; - - return data; -} - -function _templateObject43() { - var data = _taggedTemplateLiteral(["\n import undef from \"temporalUndefined\";\n import err from \"tdz\";\n\n export default function _temporalRef(val, name) {\n return val === undef ? err(name) : val;\n }\n"]); - - _templateObject43 = function _templateObject43() { - return data; - }; - - return data; -} - -function _templateObject42() { - var data = _taggedTemplateLiteral(["\n export default function _tdzError(name) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n }\n"]); - - _templateObject42 = function _templateObject42() { - return data; - }; - - return data; -} - -function _templateObject41() { - var data = _taggedTemplateLiteral(["\n // This function isn't mean to be called, but to be used as a reference.\n // We can't use a normal object because it isn't hoisted.\n export default function _temporalUndefined() {}\n"]); - - _templateObject41 = function _templateObject41() { - return data; - }; - - return data; -} - -function _templateObject40() { - var data = _taggedTemplateLiteral(["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n }\n"], ["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\\\"\" + name + \"\\\\\" cannot be referenced in computed property keys.\");\n }\n"]); - - _templateObject40 = function _templateObject40() { - return data; - }; - - return data; -} - -function _templateObject39() { - var data = _taggedTemplateLiteral(["\n export default function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n }\n"], ["\n export default function _readOnlyError(name) {\n throw new Error(\"\\\\\"\" + name + \"\\\\\" is read-only\");\n }\n"]); - - _templateObject39 = function _templateObject39() { - return data; - }; - - return data; -} - -function _templateObject38() { - var data = _taggedTemplateLiteral(["\n export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n strings.raw = raw;\n return strings;\n }\n"]); - - _templateObject38 = function _templateObject38() { - return data; - }; - - return data; -} - -function _templateObject37() { - var data = _taggedTemplateLiteral(["\n export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n }\n"]); - - _templateObject37 = function _templateObject37() { - return data; - }; - - return data; -} - -function _templateObject36() { - var data = _taggedTemplateLiteral(["\n import superPropBase from \"superPropBase\";\n import defineProperty from \"defineProperty\";\n\n function set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n // Both getter and non-writable fall into this.\n return false;\n }\n }\n\n // Without a super that defines the property, spec boils down to\n // \"define on receiver\" for some reason.\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n if (desc) {\n if (!desc.writable) {\n // Setter, getter, and non-writable fall into this.\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n // Avoid setters that may be defined on Sub's prototype, but not on\n // the instance.\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n }\n\n export default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n }\n"]); - - _templateObject36 = function _templateObject36() { - return data; - }; - - return data; -} - -function _templateObject35() { - var data = _taggedTemplateLiteral(["\n import superPropBase from \"superPropBase\";\n\n export default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n\n if (!base) return;\n\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n return _get(target, property, receiver || target);\n }\n"]); - - _templateObject35 = function _templateObject35() { - return data; - }; - - return data; -} - -function _templateObject34() { - var data = _taggedTemplateLiteral(["\n import getPrototypeOf from \"getPrototypeOf\";\n\n export default function _superPropBase(object, property) {\n // Yes, this throws if object is null to being with, that's on purpose.\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n"]); - - _templateObject34 = function _templateObject34() { - return data; - }; - - return data; -} - -function _templateObject33() { - var data = _taggedTemplateLiteral(["\n import assertThisInitialized from \"assertThisInitialized\";\n\n export default function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return assertThisInitialized(self);\n }\n"]); - - _templateObject33 = function _templateObject33() { - return data; - }; - - return data; -} - -function _templateObject32() { - var data = _taggedTemplateLiteral(["\n export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n"]); - - _templateObject32 = function _templateObject32() { - return data; - }; - - return data; -} - -function _templateObject31() { - var data = _taggedTemplateLiteral(["\n import objectWithoutPropertiesLoose from \"objectWithoutPropertiesLoose\";\n\n export default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n"]); - - _templateObject31 = function _templateObject31() { - return data; - }; - - return data; -} - -function _templateObject30() { - var data = _taggedTemplateLiteral(["\n export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n"]); - - _templateObject30 = function _templateObject30() { - return data; - }; - - return data; -} - -function _templateObject29() { - var data = _taggedTemplateLiteral(["\n export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n }\n"]); - - _templateObject29 = function _templateObject29() { - return data; - }; - - return data; -} - -function _templateObject28() { - var data = _taggedTemplateLiteral(["\n export default function _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n }\n"]); - - _templateObject28 = function _templateObject28() { - return data; - }; - - return data; -} - -function _templateObject27() { - var data = _taggedTemplateLiteral(["\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n\n var cache = new WeakMap();\n _getRequireWildcardCache = function () { return cache; };\n return cache;\n }\n\n export default function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || (typeof obj !== \"object\" && typeof obj !== \"function\")) {\n return { default: obj }\n }\n\n var cache = _getRequireWildcardCache();\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n }\n"]); - - _templateObject27 = function _templateObject27() { - return data; - }; - - return data; -} - -function _templateObject26() { - var data = _taggedTemplateLiteral(["\n export default function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n"]); - - _templateObject26 = function _templateObject26() { - return data; - }; - - return data; -} - -function _templateObject25() { - var data = _taggedTemplateLiteral(["\n export default function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n }\n"]); - - _templateObject25 = function _templateObject25() { - return data; - }; - - return data; -} - -function _templateObject24() { - var data = _taggedTemplateLiteral(["\n import getPrototypeOf from \"getPrototypeOf\";\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeFunction from \"isNativeFunction\";\n import construct from \"construct\";\n\n export default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor)\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n }\n });\n\n return setPrototypeOf(Wrapper, Class);\n }\n\n return _wrapNativeSuper(Class)\n }\n"]); - - _templateObject24 = function _templateObject24() { - return data; - }; - - return data; -} - -function _templateObject23() { - var data = _taggedTemplateLiteral(["\n export default function _isNativeFunction(fn) {\n // Note: This function returns \"true\" for core-js functions.\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n }\n"]); - - _templateObject23 = function _templateObject23() { - return data; - }; - - return data; -} - -function _templateObject22() { - var data = _taggedTemplateLiteral(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Date object.\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n export default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n // NOTE: If Parent !== Class, the correct __proto__ is set *after*\n // calling the constructor.\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n // Avoid issues with Class being present but undefined when it wasn't\n // present in the original call.\n return _construct.apply(null, arguments);\n }\n"]); - - _templateObject22 = function _templateObject22() { - return data; - }; - - return data; -} - -function _templateObject21() { - var data = _taggedTemplateLiteral(["\n export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n"]); - - _templateObject21 = function _templateObject21() { - return data; - }; - - return data; -} - -function _templateObject20() { - var data = _taggedTemplateLiteral(["\n export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf\n ? Object.getPrototypeOf\n : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n"]); - - _templateObject20 = function _templateObject20() { - return data; - }; - - return data; -} - -function _templateObject19() { - var data = _taggedTemplateLiteral(["\n export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n"]); - - _templateObject19 = function _templateObject19() { - return data; - }; - - return data; -} - -function _templateObject18() { - var data = _taggedTemplateLiteral(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n }\n"]); - - _templateObject18 = function _templateObject18() { - return data; - }; - - return data; -} - -function _templateObject17() { - var data = _taggedTemplateLiteral(["\n import defineProperty from \"defineProperty\";\n\n // This function is different to \"Reflect.ownKeys\". The enumerableOnly\n // filters on symbol properties only. Returned string properties are always\n // enumerable. It is good to use in objectSpread.\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n\n export default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n }\n"]); - - _templateObject17 = function _templateObject17() { - return data; - }; - - return data; -} - -function _templateObject16() { - var data = _taggedTemplateLiteral(["\n import defineProperty from \"defineProperty\";\n\n export default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n"]); - - _templateObject16 = function _templateObject16() { - return data; - }; - - return data; -} - -function _templateObject15() { - var data = _taggedTemplateLiteral(["\n export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n"]); - - _templateObject15 = function _templateObject15() { - return data; - }; - - return data; -} - -function _templateObject14() { - var data = _taggedTemplateLiteral(["\n export default function _defineProperty(obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n"]); - - _templateObject14 = function _templateObject14() { - return data; - }; - - return data; -} - -function _templateObject13() { - var data = _taggedTemplateLiteral(["\n export default function _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n }\n"]); - - _templateObject13 = function _templateObject13() { - return data; - }; - - return data; -} - -function _templateObject12() { - var data = _taggedTemplateLiteral(["\n export default function _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n // Symbols are not enumerated over by for-in loops. If native\n // Symbols are available, fetch all of the descs object's own\n // symbol properties and define them on our target object too.\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n return obj;\n }\n"]); - - _templateObject12 = function _templateObject12() { - return data; - }; - - return data; -} - -function _templateObject11() { - var data = _taggedTemplateLiteral(["\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n export default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n"]); - - _templateObject11 = function _templateObject11() { - return data; - }; - - return data; -} - -function _templateObject10() { - var data = _taggedTemplateLiteral(["\n export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n"]); - - _templateObject10 = function _templateObject10() { - return data; - }; - - return data; -} - -function _templateObject9() { - var data = _taggedTemplateLiteral(["\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n export default function _asyncToGenerator(fn) {\n return function () {\n var self = this, args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n"]); - - _templateObject9 = function _templateObject9() { - return data; - }; - - return data; -} - -function _templateObject8() { - var data = _taggedTemplateLiteral(["\n export default function _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {}, waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) { resolve(inner[key](value)); });\n return { done: false, value: awaitWrap(value) };\n };\n\n if (typeof Symbol === \"function\" && Symbol.iterator) {\n iter[Symbol.iterator] = function () { return this; };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"next\", value);\n };\n\n if (typeof inner.throw === \"function\") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner.return === \"function\") {\n iter.return = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"return\", value);\n };\n }\n\n return iter;\n }\n"]); - - _templateObject8 = function _templateObject8() { - return data; - }; - - return data; -} - -function _templateObject7() { - var data = _taggedTemplateLiteral(["\n import AwaitValue from \"AwaitValue\";\n\n export default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n }\n"]); - - _templateObject7 = function _templateObject7() { - return data; - }; - - return data; -} - -function _templateObject6() { - var data = _taggedTemplateLiteral(["\n import AsyncGenerator from \"AsyncGenerator\";\n\n export default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n }\n"]); - - _templateObject6 = function _templateObject6() { - return data; - }; - - return data; -} - -function _templateObject5() { - var data = _taggedTemplateLiteral(["\n import AwaitValue from \"AwaitValue\";\n\n export default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null,\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg)\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(\n function (arg) {\n if (wrappedAwait) {\n resume(key === \"return\" ? \"return\" : \"next\", arg);\n return\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n },\n function (err) { resume(\"throw\", err); });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({ value: value, done: true });\n break;\n case \"throw\":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide \"return\" method if generator return is not supported\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\n }\n\n AsyncGenerator.prototype.next = function (arg) { return this._invoke(\"next\", arg); };\n AsyncGenerator.prototype.throw = function (arg) { return this._invoke(\"throw\", arg); };\n AsyncGenerator.prototype.return = function (arg) { return this._invoke(\"return\", arg); };\n"]); - - _templateObject5 = function _templateObject5() { - return data; - }; - - return data; -} - -function _templateObject4() { - var data = _taggedTemplateLiteral(["\n export default function _AwaitValue(value) {\n this.wrapped = value;\n }\n"]); - - _templateObject4 = function _templateObject4() { - return data; - }; - - return data; -} - -function _templateObject3() { - var data = _taggedTemplateLiteral(["\n export default function _asyncIterator(iterable) {\n var method\n if (typeof Symbol !== \"undefined\") {\n if (Symbol.asyncIterator) {\n method = iterable[Symbol.asyncIterator]\n if (method != null) return method.call(iterable);\n }\n if (Symbol.iterator) {\n method = iterable[Symbol.iterator]\n if (method != null) return method.call(iterable);\n }\n }\n throw new TypeError(\"Object is not async iterable\");\n }\n"]); - - _templateObject3 = function _templateObject3() { - return data; - }; - - return data; -} - -function _templateObject2() { - var data = _taggedTemplateLiteral(["\n var REACT_ELEMENT_TYPE;\n\n export default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE = (\n typeof Symbol === \"function\" && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\")\n ) || 0xeac7;\n }\n\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n // If we're going to assign props.children, we create a new object now\n // to avoid mutating defaultProps.\n props = {\n children: void 0,\n };\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null,\n };\n }\n"]); - - _templateObject2 = function _templateObject2() { - return data; - }; - - return data; -} - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n export default function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) { return typeof obj; };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n"]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _template = _interopRequireDefault(require("@babel/template")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var helpers = Object.create(null); -var _default = helpers; -exports.default = _default; - -var helper = function helper(minVersion) { - return function (tpl) { - return { - minVersion: minVersion, - ast: function ast() { - return _template.default.program.ast(tpl); - } - }; - }; -}; - -helpers.typeof = helper("7.0.0-beta.0")(_templateObject()); -helpers.jsx = helper("7.0.0-beta.0")(_templateObject2()); -helpers.asyncIterator = helper("7.0.0-beta.0")(_templateObject3()); -helpers.AwaitValue = helper("7.0.0-beta.0")(_templateObject4()); -helpers.AsyncGenerator = helper("7.0.0-beta.0")(_templateObject5()); -helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")(_templateObject6()); -helpers.awaitAsyncGenerator = helper("7.0.0-beta.0")(_templateObject7()); -helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")(_templateObject8()); -helpers.asyncToGenerator = helper("7.0.0-beta.0")(_templateObject9()); -helpers.classCallCheck = helper("7.0.0-beta.0")(_templateObject10()); -helpers.createClass = helper("7.0.0-beta.0")(_templateObject11()); -helpers.defineEnumerableProperties = helper("7.0.0-beta.0")(_templateObject12()); -helpers.defaults = helper("7.0.0-beta.0")(_templateObject13()); -helpers.defineProperty = helper("7.0.0-beta.0")(_templateObject14()); -helpers.extends = helper("7.0.0-beta.0")(_templateObject15()); -helpers.objectSpread = helper("7.0.0-beta.0")(_templateObject16()); -helpers.objectSpread2 = helper("7.5.0")(_templateObject17()); -helpers.inherits = helper("7.0.0-beta.0")(_templateObject18()); -helpers.inheritsLoose = helper("7.0.0-beta.0")(_templateObject19()); -helpers.getPrototypeOf = helper("7.0.0-beta.0")(_templateObject20()); -helpers.setPrototypeOf = helper("7.0.0-beta.0")(_templateObject21()); -helpers.construct = helper("7.0.0-beta.0")(_templateObject22()); -helpers.isNativeFunction = helper("7.0.0-beta.0")(_templateObject23()); -helpers.wrapNativeSuper = helper("7.0.0-beta.0")(_templateObject24()); -helpers.instanceof = helper("7.0.0-beta.0")(_templateObject25()); -helpers.interopRequireDefault = helper("7.0.0-beta.0")(_templateObject26()); -helpers.interopRequireWildcard = helper("7.0.0-beta.0")(_templateObject27()); -helpers.newArrowCheck = helper("7.0.0-beta.0")(_templateObject28()); -helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")(_templateObject29()); -helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")(_templateObject30()); -helpers.objectWithoutProperties = helper("7.0.0-beta.0")(_templateObject31()); -helpers.assertThisInitialized = helper("7.0.0-beta.0")(_templateObject32()); -helpers.possibleConstructorReturn = helper("7.0.0-beta.0")(_templateObject33()); -helpers.superPropBase = helper("7.0.0-beta.0")(_templateObject34()); -helpers.get = helper("7.0.0-beta.0")(_templateObject35()); -helpers.set = helper("7.0.0-beta.0")(_templateObject36()); -helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")(_templateObject37()); -helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")(_templateObject38()); -helpers.readOnlyError = helper("7.0.0-beta.0")(_templateObject39()); -helpers.classNameTDZError = helper("7.0.0-beta.0")(_templateObject40()); -helpers.temporalUndefined = helper("7.0.0-beta.0")(_templateObject41()); -helpers.tdz = helper("7.5.5")(_templateObject42()); -helpers.temporalRef = helper("7.0.0-beta.0")(_templateObject43()); -helpers.slicedToArray = helper("7.0.0-beta.0")(_templateObject44()); -helpers.slicedToArrayLoose = helper("7.0.0-beta.0")(_templateObject45()); -helpers.toArray = helper("7.0.0-beta.0")(_templateObject46()); -helpers.toConsumableArray = helper("7.0.0-beta.0")(_templateObject47()); -helpers.arrayWithoutHoles = helper("7.0.0-beta.0")(_templateObject48()); -helpers.arrayWithHoles = helper("7.0.0-beta.0")(_templateObject49()); -helpers.iterableToArray = helper("7.0.0-beta.0")(_templateObject50()); -helpers.iterableToArrayLimit = helper("7.0.0-beta.0")(_templateObject51()); -helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")(_templateObject52()); -helpers.nonIterableSpread = helper("7.0.0-beta.0")(_templateObject53()); -helpers.nonIterableRest = helper("7.0.0-beta.0")(_templateObject54()); -helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")(_templateObject55()); -helpers.toPrimitive = helper("7.1.5")(_templateObject56()); -helpers.toPropertyKey = helper("7.1.5")(_templateObject57()); -helpers.initializerWarningHelper = helper("7.0.0-beta.0")(_templateObject58()); -helpers.initializerDefineProperty = helper("7.0.0-beta.0")(_templateObject59()); -helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")(_templateObject60()); -helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")(_templateObject61()); -helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")(_templateObject62()); -helpers.classPrivateFieldGet = helper("7.0.0-beta.0")(_templateObject63()); -helpers.classPrivateFieldSet = helper("7.0.0-beta.0")(_templateObject64()); -helpers.classPrivateFieldDestructureSet = helper("7.4.4")(_templateObject65()); -helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")(_templateObject66()); -helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")(_templateObject67()); -helpers.classStaticPrivateMethodGet = helper("7.3.2")(_templateObject68()); -helpers.classStaticPrivateMethodSet = helper("7.3.2")(_templateObject69()); -helpers.decorate = helper("7.1.5")(_templateObject70()); -helpers.classPrivateMethodGet = helper("7.1.6")(_templateObject71()); -helpers.classPrivateMethodSet = helper("7.1.6")(_templateObject72()); -helpers.wrapRegExp = helper("7.2.6")(_templateObject73()); - -},{"@babel/template":167}],87:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.get = get; -exports.minVersion = minVersion; -exports.getDependencies = getDependencies; -exports.ensure = ensure; -exports.default = exports.list = void 0; - -var _traverse = _interopRequireDefault(require("@babel/traverse")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _helpers = _interopRequireDefault(require("./helpers")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function makePath(path) { - var parts = []; - - for (; path.parentPath; path = path.parentPath) { - parts.push(path.key); - if (path.inList) parts.push(path.listKey); - } - - return parts.reverse().join("."); -} - -function getHelperMetadata(file) { - var globals = new Set(); - var localBindingNames = new Set(); - var dependencies = new Map(); - var exportName; - var exportPath; - var exportBindingAssignments = []; - var importPaths = []; - var importBindingsReferences = []; - (0, _traverse.default)(file, { - ImportDeclaration: function ImportDeclaration(child) { - var name = child.node.source.value; - - if (!_helpers.default[name]) { - throw child.buildCodeFrameError("Unknown helper ".concat(name)); - } - - if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) { - throw child.buildCodeFrameError("Helpers can only import a default value"); - } - - var bindingIdentifier = child.node.specifiers[0].local; - dependencies.set(bindingIdentifier, name); - importPaths.push(makePath(child)); - }, - ExportDefaultDeclaration: function ExportDefaultDeclaration(child) { - var decl = child.get("declaration"); - - if (decl.isFunctionDeclaration()) { - if (!decl.node.id) { - throw decl.buildCodeFrameError("Helpers should give names to their exported func declaration"); - } - - exportName = decl.node.id.name; - } - - exportPath = makePath(child); - }, - ExportAllDeclaration: function ExportAllDeclaration(child) { - throw child.buildCodeFrameError("Helpers can only export default"); - }, - ExportNamedDeclaration: function ExportNamedDeclaration(child) { - throw child.buildCodeFrameError("Helpers can only export default"); - }, - Statement: function Statement(child) { - if (child.isModuleDeclaration()) return; - child.skip(); - } - }); - (0, _traverse.default)(file, { - Program: function Program(path) { - var bindings = path.scope.getAllBindings(); - Object.keys(bindings).forEach(function (name) { - if (name === exportName) return; - if (dependencies.has(bindings[name].identifier)) return; - localBindingNames.add(name); - }); - }, - ReferencedIdentifier: function ReferencedIdentifier(child) { - var name = child.node.name; - var binding = child.scope.getBinding(name, true); - - if (!binding) { - globals.add(name); - } else if (dependencies.has(binding.identifier)) { - importBindingsReferences.push(makePath(child)); - } - }, - AssignmentExpression: function AssignmentExpression(child) { - var left = child.get("left"); - if (!(exportName in left.getBindingIdentifiers())) return; - - if (!left.isIdentifier()) { - throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers"); - } - - var binding = child.scope.getBinding(exportName); - - if (binding && binding.scope.path.isProgram()) { - exportBindingAssignments.push(makePath(child)); - } - } - }); - if (!exportPath) throw new Error("Helpers must default-export something."); - exportBindingAssignments.reverse(); - return { - globals: Array.from(globals), - localBindingNames: Array.from(localBindingNames), - dependencies: dependencies, - exportBindingAssignments: exportBindingAssignments, - exportPath: exportPath, - exportName: exportName, - importBindingsReferences: importBindingsReferences, - importPaths: importPaths - }; -} - -function permuteHelperAST(file, metadata, id, localBindings, getDependency) { - if (localBindings && !id) { - throw new Error("Unexpected local bindings for module-based helpers."); - } - - if (!id) return; - var localBindingNames = metadata.localBindingNames, - dependencies = metadata.dependencies, - exportBindingAssignments = metadata.exportBindingAssignments, - exportPath = metadata.exportPath, - exportName = metadata.exportName, - importBindingsReferences = metadata.importBindingsReferences, - importPaths = metadata.importPaths; - var dependenciesRefs = {}; - dependencies.forEach(function (name, id) { - dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id; - }); - var toRename = {}; - var bindings = new Set(localBindings || []); - localBindingNames.forEach(function (name) { - var newName = name; - - while (bindings.has(newName)) { - newName = "_" + newName; - } - - if (newName !== name) toRename[name] = newName; - }); - - if (id.type === "Identifier" && exportName !== id.name) { - toRename[exportName] = id.name; - } - - (0, _traverse.default)(file, { - Program: function Program(path) { - var exp = path.get(exportPath); - var imps = importPaths.map(function (p) { - return path.get(p); - }); - var impsBindingRefs = importBindingsReferences.map(function (p) { - return path.get(p); - }); - var decl = exp.get("declaration"); - - if (id.type === "Identifier") { - if (decl.isFunctionDeclaration()) { - exp.replaceWith(decl); - } else { - exp.replaceWith(t.variableDeclaration("var", [t.variableDeclarator(id, decl.node)])); - } - } else if (id.type === "MemberExpression") { - if (decl.isFunctionDeclaration()) { - exportBindingAssignments.forEach(function (assignPath) { - var assign = path.get(assignPath); - assign.replaceWith(t.assignmentExpression("=", id, assign.node)); - }); - exp.replaceWith(decl); - path.pushContainer("body", t.expressionStatement(t.assignmentExpression("=", id, t.identifier(exportName)))); - } else { - exp.replaceWith(t.expressionStatement(t.assignmentExpression("=", id, decl.node))); - } - } else { - throw new Error("Unexpected helper format."); - } - - Object.keys(toRename).forEach(function (name) { - path.scope.rename(name, toRename[name]); - }); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = imps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _path = _step.value; - - _path.remove(); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = impsBindingRefs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _path2 = _step2.value; - var node = t.cloneNode(dependenciesRefs[_path2.node.name]); - - _path2.replaceWith(node); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - path.stop(); - } - }); -} - -var helperData = Object.create(null); - -function loadHelper(name) { - if (!helperData[name]) { - var helper = _helpers.default[name]; - - if (!helper) { - throw Object.assign(new ReferenceError("Unknown helper ".concat(name)), { - code: "BABEL_HELPER_UNKNOWN", - helper: name - }); - } - - var fn = function fn() { - return t.file(helper.ast()); - }; - - var metadata = getHelperMetadata(fn()); - helperData[name] = { - build: function build(getDependency, id, localBindings) { - var file = fn(); - permuteHelperAST(file, metadata, id, localBindings, getDependency); - return { - nodes: file.program.body, - globals: metadata.globals - }; - }, - minVersion: function minVersion() { - return helper.minVersion; - }, - dependencies: metadata.dependencies - }; - } - - return helperData[name]; -} - -function get(name, getDependency, id, localBindings) { - return loadHelper(name).build(getDependency, id, localBindings); -} - -function minVersion(name) { - return loadHelper(name).minVersion(); -} - -function getDependencies(name) { - return Array.from(loadHelper(name).dependencies.values()); -} - -function ensure(name) { - loadHelper(name); -} - -var list = Object.keys(_helpers.default).map(function (name) { - return name.replace(/^_/, ""); -}).filter(function (name) { - return name !== "__esModule"; -}); -exports.list = list; -var _default = get; -exports.default = _default; - -},{"./helpers":86,"@babel/traverse":176,"@babel/types":242}],88:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.shouldHighlight = shouldHighlight; -exports.getChalk = getChalk; -exports.default = highlight; - -function _jsTokens() { - var data = _interopRequireWildcard(require("js-tokens")); - - _jsTokens = function _jsTokens() { - return data; - }; - - return data; -} - -function _esutils() { - var data = _interopRequireDefault(require("esutils")); - - _esutils = function _esutils() { - return data; - }; - - return data; -} - -function _chalk() { - var data = _interopRequireDefault(require("chalk")); - - _chalk = function _chalk() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; - - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; - - if (desc.get || desc.set) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - return newObj; - } -} - -function getDefs(chalk) { - return { - keyword: chalk.cyan, - capitalized: chalk.yellow, - jsx_tag: chalk.yellow, - punctuator: chalk.yellow, - number: chalk.magenta, - string: chalk.green, - regex: chalk.magenta, - comment: chalk.grey, - invalid: chalk.white.bgRed.bold - }; -} - -var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; -var JSX_TAG = /^[a-z][\w-]*$/i; -var BRACKET = /^[()[\]{}]$/; - -function getTokenType(match) { - var _match$slice = match.slice(-2), - _match$slice2 = _slicedToArray(_match$slice, 2), - offset = _match$slice2[0], - text = _match$slice2[1]; - - var token = (0, _jsTokens().matchToToken)(match); - - if (token.type === "name") { - if (_esutils().default.keyword.isReservedWordES6(token.value)) { - return "keyword"; - } - - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " 1 && arguments[1] !== undefined ? arguments[1] : {}; - - if (shouldHighlight(options)) { - var chalk = getChalk(options); - var defs = getDefs(chalk); - return highlightTokens(defs, code); - } else { - return code; - } -} - -},{"chalk":296,"esutils":836,"js-tokens":843}],89:[function(require,module,exports){ -'use strict'; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } - -function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -Object.defineProperty(exports, '__esModule', { - value: true -}); -var beforeExpr = true; -var startsExpr = true; -var isLoop = true; -var isAssign = true; -var prefix = true; -var postfix = true; - -var TokenType = function TokenType(label) { - var conf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - _classCallCheck(this, TokenType); - - this.label = label; - this.keyword = conf.keyword; - this.beforeExpr = !!conf.beforeExpr; - this.startsExpr = !!conf.startsExpr; - this.rightAssociative = !!conf.rightAssociative; - this.isLoop = !!conf.isLoop; - this.isAssign = !!conf.isAssign; - this.prefix = !!conf.prefix; - this.postfix = !!conf.postfix; - this.binop = conf.binop != null ? conf.binop : null; - this.updateContext = null; -}; - -var keywords = new Map(); - -function createKeyword(name) { - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - options.keyword = name; - var token = new TokenType(name, options); - keywords.set(name, token); - return token; -} - -function createBinop(name, binop) { - return new TokenType(name, { - beforeExpr: beforeExpr, - binop: binop - }); -} - -var types = { - num: new TokenType("num", { - startsExpr: startsExpr - }), - bigint: new TokenType("bigint", { - startsExpr: startsExpr - }), - regexp: new TokenType("regexp", { - startsExpr: startsExpr - }), - string: new TokenType("string", { - startsExpr: startsExpr - }), - name: new TokenType("name", { - startsExpr: startsExpr - }), - eof: new TokenType("eof"), - bracketL: new TokenType("[", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - bracketR: new TokenType("]"), - braceL: new TokenType("{", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - braceBarL: new TokenType("{|", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - braceR: new TokenType("}"), - braceBarR: new TokenType("|}"), - parenL: new TokenType("(", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - parenR: new TokenType(")"), - comma: new TokenType(",", { - beforeExpr: beforeExpr - }), - semi: new TokenType(";", { - beforeExpr: beforeExpr - }), - colon: new TokenType(":", { - beforeExpr: beforeExpr - }), - doubleColon: new TokenType("::", { - beforeExpr: beforeExpr - }), - dot: new TokenType("."), - question: new TokenType("?", { - beforeExpr: beforeExpr - }), - questionDot: new TokenType("?."), - arrow: new TokenType("=>", { - beforeExpr: beforeExpr - }), - template: new TokenType("template"), - ellipsis: new TokenType("...", { - beforeExpr: beforeExpr - }), - backQuote: new TokenType("`", { - startsExpr: startsExpr - }), - dollarBraceL: new TokenType("${", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - at: new TokenType("@"), - hash: new TokenType("#", { - startsExpr: startsExpr - }), - interpreterDirective: new TokenType("#!..."), - eq: new TokenType("=", { - beforeExpr: beforeExpr, - isAssign: isAssign - }), - assign: new TokenType("_=", { - beforeExpr: beforeExpr, - isAssign: isAssign - }), - incDec: new TokenType("++/--", { - prefix: prefix, - postfix: postfix, - startsExpr: startsExpr - }), - bang: new TokenType("!", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }), - tilde: new TokenType("~", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }), - pipeline: createBinop("|>", 0), - nullishCoalescing: createBinop("??", 1), - logicalOR: createBinop("||", 2), - logicalAND: createBinop("&&", 3), - bitwiseOR: createBinop("|", 4), - bitwiseXOR: createBinop("^", 5), - bitwiseAND: createBinop("&", 6), - equality: createBinop("==/!=/===/!==", 7), - relational: createBinop("/<=/>=", 8), - bitShift: createBinop("<>/>>>", 9), - plusMin: new TokenType("+/-", { - beforeExpr: beforeExpr, - binop: 10, - prefix: prefix, - startsExpr: startsExpr - }), - modulo: new TokenType("%", { - beforeExpr: beforeExpr, - binop: 11, - startsExpr: startsExpr - }), - star: createBinop("*", 11), - slash: createBinop("/", 11), - exponent: new TokenType("**", { - beforeExpr: beforeExpr, - binop: 12, - rightAssociative: true - }), - _break: createKeyword("break"), - _case: createKeyword("case", { - beforeExpr: beforeExpr - }), - _catch: createKeyword("catch"), - _continue: createKeyword("continue"), - _debugger: createKeyword("debugger"), - _default: createKeyword("default", { - beforeExpr: beforeExpr - }), - _do: createKeyword("do", { - isLoop: isLoop, - beforeExpr: beforeExpr - }), - _else: createKeyword("else", { - beforeExpr: beforeExpr - }), - _finally: createKeyword("finally"), - _for: createKeyword("for", { - isLoop: isLoop - }), - _function: createKeyword("function", { - startsExpr: startsExpr - }), - _if: createKeyword("if"), - _return: createKeyword("return", { - beforeExpr: beforeExpr - }), - _switch: createKeyword("switch"), - _throw: createKeyword("throw", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }), - _try: createKeyword("try"), - _var: createKeyword("var"), - _const: createKeyword("const"), - _while: createKeyword("while", { - isLoop: isLoop - }), - _with: createKeyword("with"), - _new: createKeyword("new", { - beforeExpr: beforeExpr, - startsExpr: startsExpr - }), - _this: createKeyword("this", { - startsExpr: startsExpr - }), - _super: createKeyword("super", { - startsExpr: startsExpr - }), - _class: createKeyword("class", { - startsExpr: startsExpr - }), - _extends: createKeyword("extends", { - beforeExpr: beforeExpr - }), - _export: createKeyword("export"), - _import: createKeyword("import", { - startsExpr: startsExpr - }), - _null: createKeyword("null", { - startsExpr: startsExpr - }), - _true: createKeyword("true", { - startsExpr: startsExpr - }), - _false: createKeyword("false", { - startsExpr: startsExpr - }), - _in: createKeyword("in", { - beforeExpr: beforeExpr, - binop: 8 - }), - _instanceof: createKeyword("instanceof", { - beforeExpr: beforeExpr, - binop: 8 - }), - _typeof: createKeyword("typeof", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }), - _void: createKeyword("void", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }), - _delete: createKeyword("delete", { - beforeExpr: beforeExpr, - prefix: prefix, - startsExpr: startsExpr - }) -}; -var SCOPE_OTHER = 0, - SCOPE_PROGRAM = 1, - SCOPE_FUNCTION = 2, - SCOPE_ASYNC = 4, - SCOPE_GENERATOR = 8, - SCOPE_ARROW = 16, - SCOPE_SIMPLE_CATCH = 32, - SCOPE_SUPER = 64, - SCOPE_DIRECT_SUPER = 128, - SCOPE_CLASS = 256, - SCOPE_TS_MODULE = 512, - SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE; - -function functionFlags(isAsync, isGenerator) { - return SCOPE_FUNCTION | (isAsync ? SCOPE_ASYNC : 0) | (isGenerator ? SCOPE_GENERATOR : 0); -} - -var BIND_KIND_VALUE = 1, - BIND_KIND_TYPE = 2, - BIND_SCOPE_VAR = 4, - BIND_SCOPE_LEXICAL = 8, - BIND_SCOPE_FUNCTION = 16, - BIND_FLAGS_NONE = 64, - BIND_FLAGS_CLASS = 128, - BIND_FLAGS_TS_ENUM = 256, - BIND_FLAGS_TS_CONST_ENUM = 512, - BIND_FLAGS_TS_EXPORT_ONLY = 1024; -var BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS, - BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0, - BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0, - BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0, - BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS, - BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0, - BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM, - BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, - BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE, - BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE, - BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM, - BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY; - -function isSimpleProperty(node) { - return node != null && node.type === "Property" && node.kind === "init" && node.method === false; -} - -var estree = function estree(superClass) { - return ( - /*#__PURE__*/ - function (_superClass) { - _inherits(_class, _superClass); - - function _class() { - _classCallCheck(this, _class); - - return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments)); - } - - _createClass(_class, [{ - key: "estreeParseRegExpLiteral", - value: function estreeParseRegExpLiteral(_ref) { - var pattern = _ref.pattern, - flags = _ref.flags; - var regex = null; - - try { - regex = new RegExp(pattern, flags); - } catch (e) {} - - var node = this.estreeParseLiteral(regex); - node.regex = { - pattern: pattern, - flags: flags - }; - return node; - } - }, { - key: "estreeParseLiteral", - value: function estreeParseLiteral(value) { - return this.parseLiteral(value, "Literal"); - } - }, { - key: "directiveToStmt", - value: function directiveToStmt(directive) { - var directiveLiteral = directive.value; - var stmt = this.startNodeAt(directive.start, directive.loc.start); - var expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start); - expression.value = directiveLiteral.value; - expression.raw = directiveLiteral.extra.raw; - stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.end, directiveLiteral.loc.end); - stmt.directive = directiveLiteral.extra.raw.slice(1, -1); - return this.finishNodeAt(stmt, "ExpressionStatement", directive.end, directive.loc.end); - } - }, { - key: "initFunction", - value: function initFunction(node, isAsync) { - _get(_getPrototypeOf(_class.prototype), "initFunction", this).call(this, node, isAsync); - - node.expression = false; - } - }, { - key: "checkDeclaration", - value: function checkDeclaration(node) { - if (isSimpleProperty(node)) { - this.checkDeclaration(node.value); - } else { - _get(_getPrototypeOf(_class.prototype), "checkDeclaration", this).call(this, node); - } - } - }, { - key: "checkGetterSetterParams", - value: function checkGetterSetterParams(method) { - var prop = method; - var paramCount = prop.kind === "get" ? 0 : 1; - var start = prop.start; - - if (prop.value.params.length !== paramCount) { - if (prop.kind === "get") { - this.raise(start, "getter must not have any formal parameters"); - } else { - this.raise(start, "setter must have exactly one formal parameter"); - } - } else if (prop.kind === "set" && prop.value.params[0].type === "RestElement") { - this.raise(start, "setter function argument must not be a rest parameter"); - } - } - }, { - key: "checkLVal", - value: function checkLVal(expr) { - var _this = this; - - var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; - var checkClashes = arguments.length > 2 ? arguments[2] : undefined; - var contextDescription = arguments.length > 3 ? arguments[3] : undefined; - var disallowLetBinding = arguments.length > 4 ? arguments[4] : undefined; - - switch (expr.type) { - case "ObjectPattern": - expr.properties.forEach(function (prop) { - _this.checkLVal(prop.type === "Property" ? prop.value : prop, bindingType, checkClashes, "object destructuring pattern", disallowLetBinding); - }); - break; - - default: - _get(_getPrototypeOf(_class.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription, disallowLetBinding); - - } - } - }, { - key: "checkDuplicatedProto", - value: function checkDuplicatedProto(prop, protoRef) { - if (prop.type === "SpreadElement" || prop.computed || prop.method || prop.shorthand) { - return; - } - - var key = prop.key; - var name = key.type === "Identifier" ? key.name : String(key.value); - - if (name === "__proto__" && prop.kind === "init") { - if (protoRef.used && !protoRef.start) { - protoRef.start = key.start; - } - - protoRef.used = true; - } - } - }, { - key: "isStrictBody", - value: function isStrictBody(node) { - var isBlockStatement = node.body.type === "BlockStatement"; - - if (isBlockStatement && node.body.body.length > 0) { - for (var _i = 0, _node$body$body = node.body.body; _i < _node$body$body.length; _i++) { - var directive = _node$body$body[_i]; - - if (directive.type === "ExpressionStatement" && directive.expression.type === "Literal") { - if (directive.expression.value === "use strict") return true; - } else { - break; - } - } - } - - return false; - } - }, { - key: "isValidDirective", - value: function isValidDirective(stmt) { - return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && (!stmt.expression.extra || !stmt.expression.extra.parenthesized); - } - }, { - key: "stmtToDirective", - value: function stmtToDirective(stmt) { - var directive = _get(_getPrototypeOf(_class.prototype), "stmtToDirective", this).call(this, stmt); - - var value = stmt.expression.value; - directive.value.value = value; - return directive; - } - }, { - key: "parseBlockBody", - value: function parseBlockBody(node, allowDirectives, topLevel, end) { - var _this2 = this; - - _get(_getPrototypeOf(_class.prototype), "parseBlockBody", this).call(this, node, allowDirectives, topLevel, end); - - var directiveStatements = node.directives.map(function (d) { - return _this2.directiveToStmt(d); - }); - node.body = directiveStatements.concat(node.body); - delete node.directives; - } - }, { - key: "pushClassMethod", - value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); - - if (method.typeParameters) { - method.value.typeParameters = method.typeParameters; - delete method.typeParameters; - } - - classBody.body.push(method); - } - }, { - key: "parseExprAtom", - value: function parseExprAtom(refShorthandDefaultPos) { - switch (this.state.type) { - case types.regexp: - return this.estreeParseRegExpLiteral(this.state.value); - - case types.num: - case types.string: - return this.estreeParseLiteral(this.state.value); - - case types._null: - return this.estreeParseLiteral(null); - - case types._true: - return this.estreeParseLiteral(true); - - case types._false: - return this.estreeParseLiteral(false); - - default: - return _get(_getPrototypeOf(_class.prototype), "parseExprAtom", this).call(this, refShorthandDefaultPos); - } - } - }, { - key: "parseLiteral", - value: function parseLiteral(value, type, startPos, startLoc) { - var node = _get(_getPrototypeOf(_class.prototype), "parseLiteral", this).call(this, value, type, startPos, startLoc); - - node.raw = node.extra.raw; - delete node.extra; - return node; - } - }, { - key: "parseFunctionBody", - value: function parseFunctionBody(node, allowExpression) { - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - _get(_getPrototypeOf(_class.prototype), "parseFunctionBody", this).call(this, node, allowExpression, isMethod); - - node.expression = node.body.type !== "BlockStatement"; - } - }, { - key: "parseMethod", - value: function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type) { - var inClassScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; - var funcNode = this.startNode(); - funcNode.kind = node.kind; - funcNode = _get(_getPrototypeOf(_class.prototype), "parseMethod", this).call(this, funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); - funcNode.type = "FunctionExpression"; - delete funcNode.kind; - node.value = funcNode; - type = type === "ClassMethod" ? "MethodDefinition" : type; - return this.finishNode(node, type); - } - }, { - key: "parseObjectMethod", - value: function parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) { - var node = _get(_getPrototypeOf(_class.prototype), "parseObjectMethod", this).call(this, prop, isGenerator, isAsync, isPattern, containsEsc); - - if (node) { - node.type = "Property"; - if (node.kind === "method") node.kind = "init"; - node.shorthand = false; - } - - return node; - } - }, { - key: "parseObjectProperty", - value: function parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos) { - var node = _get(_getPrototypeOf(_class.prototype), "parseObjectProperty", this).call(this, prop, startPos, startLoc, isPattern, refShorthandDefaultPos); - - if (node) { - node.kind = "init"; - node.type = "Property"; - } - - return node; - } - }, { - key: "toAssignable", - value: function toAssignable(node, isBinding, contextDescription) { - if (isSimpleProperty(node)) { - this.toAssignable(node.value, isBinding, contextDescription); - return node; - } - - return _get(_getPrototypeOf(_class.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); - } - }, { - key: "toAssignableObjectExpressionProp", - value: function toAssignableObjectExpressionProp(prop, isBinding, isLast) { - if (prop.kind === "get" || prop.kind === "set") { - throw this.raise(prop.key.start, "Object pattern can't contain getter or setter"); - } else if (prop.method) { - throw this.raise(prop.key.start, "Object pattern can't contain methods"); - } else { - _get(_getPrototypeOf(_class.prototype), "toAssignableObjectExpressionProp", this).call(this, prop, isBinding, isLast); - } - } - }]); - - return _class; - }(superClass) - ); -}; - -var lineBreak = /\r\n?|[\n\u2028\u2029]/; -var lineBreakG = new RegExp(lineBreak.source, "g"); - -function isNewLine(code) { - switch (code) { - case 10: - case 13: - case 8232: - case 8233: - return true; - - default: - return false; - } -} - -var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; - -function isWhitespace(code) { - switch (code) { - case 0x0009: - case 0x000b: - case 0x000c: - case 32: - case 160: - case 5760: - case 0x2000: - case 0x2001: - case 0x2002: - case 0x2003: - case 0x2004: - case 0x2005: - case 0x2006: - case 0x2007: - case 0x2008: - case 0x2009: - case 0x200a: - case 0x202f: - case 0x205f: - case 0x3000: - case 0xfeff: - return true; - - default: - return false; - } -} - -var TokContext = function TokContext(token, isExpr, preserveSpace, override) { - _classCallCheck(this, TokContext); - - this.token = token; - this.isExpr = !!isExpr; - this.preserveSpace = !!preserveSpace; - this.override = override; -}; - -var types$1 = { - braceStatement: new TokContext("{", false), - braceExpression: new TokContext("{", true), - templateQuasi: new TokContext("${", false), - parenStatement: new TokContext("(", false), - parenExpression: new TokContext("(", true), - template: new TokContext("`", true, true, function (p) { - return p.readTmplToken(); - }), - functionExpression: new TokContext("function", true), - functionStatement: new TokContext("function", false) -}; - -types.parenR.updateContext = types.braceR.updateContext = function () { - if (this.state.context.length === 1) { - this.state.exprAllowed = true; - return; - } - - var out = this.state.context.pop(); - - if (out === types$1.braceStatement && this.curContext().token === "function") { - out = this.state.context.pop(); - } - - this.state.exprAllowed = !out.isExpr; -}; - -types.name.updateContext = function (prevType) { - var allowed = false; - - if (prevType !== types.dot) { - if (this.state.value === "of" && !this.state.exprAllowed || this.state.value === "yield" && this.scope.inGenerator) { - allowed = true; - } - } - - this.state.exprAllowed = allowed; - - if (this.state.isIterator) { - this.state.isIterator = false; - } -}; - -types.braceL.updateContext = function (prevType) { - this.state.context.push(this.braceIsBlock(prevType) ? types$1.braceStatement : types$1.braceExpression); - this.state.exprAllowed = true; -}; - -types.dollarBraceL.updateContext = function () { - this.state.context.push(types$1.templateQuasi); - this.state.exprAllowed = true; -}; - -types.parenL.updateContext = function (prevType) { - var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while; - this.state.context.push(statementParens ? types$1.parenStatement : types$1.parenExpression); - this.state.exprAllowed = true; -}; - -types.incDec.updateContext = function () {}; - -types._function.updateContext = types._class.updateContext = function (prevType) { - if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else && !(prevType === types._return && lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start))) && !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat)) { - this.state.context.push(types$1.functionExpression); - } else { - this.state.context.push(types$1.functionStatement); - } - - this.state.exprAllowed = false; -}; - -types.backQuote.updateContext = function () { - if (this.curContext() === types$1.template) { - this.state.context.pop(); - } else { - this.state.context.push(types$1.template); - } - - this.state.exprAllowed = false; -}; - -var reservedWords = { - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], - strictBind: ["eval", "arguments"] -}; -var reservedWordsStrictSet = new Set(reservedWords.strict); -var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); - -var isReservedWord = function isReservedWord(word, inModule) { - return inModule && word === "await" || word === "enum"; -}; - -function isStrictReservedWord(word, inModule) { - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); -} - -function isStrictBindOnlyReservedWord(word) { - return reservedWordsStrictBindSet.has(word); -} - -function isStrictBindReservedWord(word, inModule) { - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); -} - -function isKeyword(word) { - return keywords.has(word); -} - -var keywordRelationalOperator = /^in(stanceof)?$/; -var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; -var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; -var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); -var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); -nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; -var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 477, 28, 11, 0, 9, 21, 155, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 12, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 0, 33, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 0, 161, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 270, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 754, 9486, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541]; -var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 525, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 232, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 792487, 239]; - -function isInAstralSet(code, set) { - var pos = 0x10000; - - for (var i = 0, length = set.length; i < length; i += 2) { - pos += set[i]; - if (pos > code) return false; - pos += set[i + 1]; - if (pos >= code) return true; - } - - return false; -} - -function isIdentifierStart(code) { - if (code < 65) return code === 36; - if (code <= 90) return true; - if (code < 97) return code === 95; - if (code <= 122) return true; - - if (code <= 0xffff) { - return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); - } - - return isInAstralSet(code, astralIdentifierStartCodes); -} - -function isIteratorStart(current, next) { - return current === 64 && next === 64; -} - -function isIdentifierChar(code) { - if (code < 48) return code === 36; - if (code < 58) return true; - if (code < 65) return false; - if (code <= 90) return true; - if (code < 97) return code === 95; - if (code <= 122) return true; - - if (code <= 0xffff) { - return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); - } - - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); -} - -var reservedTypes = ["any", "bool", "boolean", "empty", "false", "mixed", "null", "number", "static", "string", "true", "typeof", "void", "interface", "extends", "_"]; - -function isEsModuleType(bodyElement) { - return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); -} - -function hasTypeImportKind(node) { - return node.importKind === "type" || node.importKind === "typeof"; -} - -function isMaybeDefaultImport(state) { - return (state.type === types.name || !!state.type.keyword) && state.value !== "from"; -} - -var exportSuggestions = { - const: "declare export var", - let: "declare export var", - type: "export type", - interface: "export interface" -}; - -function partition(list, test) { - var list1 = []; - var list2 = []; - - for (var i = 0; i < list.length; i++) { - (test(list[i], i, list) ? list1 : list2).push(list[i]); - } - - return [list1, list2]; -} - -var FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; - -var flow = function flow(superClass) { - return ( - /*#__PURE__*/ - function (_superClass2) { - _inherits(_class2, _superClass2); - - function _class2(options, input) { - var _this3; - - _classCallCheck(this, _class2); - - _this3 = _possibleConstructorReturn(this, _getPrototypeOf(_class2).call(this, options, input)); - _this3.flowPragma = undefined; - return _this3; - } - - _createClass(_class2, [{ - key: "shouldParseTypes", - value: function shouldParseTypes() { - return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; - } - }, { - key: "shouldParseEnums", - value: function shouldParseEnums() { - return !!this.getPluginOption("flow", "enums"); - } - }, { - key: "finishToken", - value: function finishToken(type, val) { - if (type !== types.string && type !== types.semi && type !== types.interpreterDirective) { - if (this.flowPragma === undefined) { - this.flowPragma = null; - } - } - - return _get(_getPrototypeOf(_class2.prototype), "finishToken", this).call(this, type, val); - } - }, { - key: "addComment", - value: function addComment(comment) { - if (this.flowPragma === undefined) { - var matches = FLOW_PRAGMA_REGEX.exec(comment.value); - if (!matches) ;else if (matches[1] === "flow") { - this.flowPragma = "flow"; - } else if (matches[1] === "noflow") { - this.flowPragma = "noflow"; - } else { - throw new Error("Unexpected flow pragma"); - } - } - - return _get(_getPrototypeOf(_class2.prototype), "addComment", this).call(this, comment); - } - }, { - key: "flowParseTypeInitialiser", - value: function flowParseTypeInitialiser(tok) { - var oldInType = this.state.inType; - this.state.inType = true; - this.expect(tok || types.colon); - var type = this.flowParseType(); - this.state.inType = oldInType; - return type; - } - }, { - key: "flowParsePredicate", - value: function flowParsePredicate() { - var node = this.startNode(); - var moduloLoc = this.state.startLoc; - var moduloPos = this.state.start; - this.expect(types.modulo); - var checksLoc = this.state.startLoc; - this.expectContextual("checks"); - - if (moduloLoc.line !== checksLoc.line || moduloLoc.column !== checksLoc.column - 1) { - this.raise(moduloPos, "Spaces between ´%´ and ´checks´ are not allowed here."); - } - - if (this.eat(types.parenL)) { - node.value = this.parseExpression(); - this.expect(types.parenR); - return this.finishNode(node, "DeclaredPredicate"); - } else { - return this.finishNode(node, "InferredPredicate"); - } - } - }, { - key: "flowParseTypeAndPredicateInitialiser", - value: function flowParseTypeAndPredicateInitialiser() { - var oldInType = this.state.inType; - this.state.inType = true; - this.expect(types.colon); - var type = null; - var predicate = null; - - if (this.match(types.modulo)) { - this.state.inType = oldInType; - predicate = this.flowParsePredicate(); - } else { - type = this.flowParseType(); - this.state.inType = oldInType; - - if (this.match(types.modulo)) { - predicate = this.flowParsePredicate(); - } - } - - return [type, predicate]; - } - }, { - key: "flowParseDeclareClass", - value: function flowParseDeclareClass(node) { - this.next(); - this.flowParseInterfaceish(node, true); - return this.finishNode(node, "DeclareClass"); - } - }, { - key: "flowParseDeclareFunction", - value: function flowParseDeclareFunction(node) { - this.next(); - var id = node.id = this.parseIdentifier(); - var typeNode = this.startNode(); - var typeContainer = this.startNode(); - - if (this.isRelational("<")) { - typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - typeNode.typeParameters = null; - } - - this.expect(types.parenL); - var tmp = this.flowParseFunctionTypeParams(); - typeNode.params = tmp.params; - typeNode.rest = tmp.rest; - this.expect(types.parenR); - - var _this$flowParseTypeAn = this.flowParseTypeAndPredicateInitialiser(); - - var _this$flowParseTypeAn2 = _slicedToArray(_this$flowParseTypeAn, 2); - - typeNode.returnType = _this$flowParseTypeAn2[0]; - node.predicate = _this$flowParseTypeAn2[1]; - typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); - id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); - this.resetEndLocation(id); - this.semicolon(); - return this.finishNode(node, "DeclareFunction"); - } - }, { - key: "flowParseDeclare", - value: function flowParseDeclare(node, insideModule) { - if (this.match(types._class)) { - return this.flowParseDeclareClass(node); - } else if (this.match(types._function)) { - return this.flowParseDeclareFunction(node); - } else if (this.match(types._var)) { - return this.flowParseDeclareVariable(node); - } else if (this.eatContextual("module")) { - if (this.match(types.dot)) { - return this.flowParseDeclareModuleExports(node); - } else { - if (insideModule) { - this.raise(this.state.lastTokStart, "`declare module` cannot be used inside another `declare module`"); - } - - return this.flowParseDeclareModule(node); - } - } else if (this.isContextual("type")) { - return this.flowParseDeclareTypeAlias(node); - } else if (this.isContextual("opaque")) { - return this.flowParseDeclareOpaqueType(node); - } else if (this.isContextual("interface")) { - return this.flowParseDeclareInterface(node); - } else if (this.match(types._export)) { - return this.flowParseDeclareExportDeclaration(node, insideModule); - } else { - throw this.unexpected(); - } - } - }, { - key: "flowParseDeclareVariable", - value: function flowParseDeclareVariable(node) { - this.next(); - node.id = this.flowParseTypeAnnotatableIdentifier(true); - this.scope.declareName(node.id.name, BIND_VAR, node.id.start); - this.semicolon(); - return this.finishNode(node, "DeclareVariable"); - } - }, { - key: "flowParseDeclareModule", - value: function flowParseDeclareModule(node) { - var _this4 = this; - - this.scope.enter(SCOPE_OTHER); - - if (this.match(types.string)) { - node.id = this.parseExprAtom(); - } else { - node.id = this.parseIdentifier(); - } - - var bodyNode = node.body = this.startNode(); - var body = bodyNode.body = []; - this.expect(types.braceL); - - while (!this.match(types.braceR)) { - var _bodyNode = this.startNode(); - - if (this.match(types._import)) { - this.next(); - - if (!this.isContextual("type") && !this.match(types._typeof)) { - this.raise(this.state.lastTokStart, "Imports within a `declare module` body must always be `import type` or `import typeof`"); - } - - this.parseImport(_bodyNode); - } else { - this.expectContextual("declare", "Only declares and type imports are allowed inside declare module"); - _bodyNode = this.flowParseDeclare(_bodyNode, true); - } - - body.push(_bodyNode); - } - - this.scope.exit(); - this.expect(types.braceR); - this.finishNode(bodyNode, "BlockStatement"); - var kind = null; - var hasModuleExport = false; - var errorMessage = "Found both `declare module.exports` and `declare export` in the same module. " + "Modules can only have 1 since they are either an ES module or they are a CommonJS module"; - body.forEach(function (bodyElement) { - if (isEsModuleType(bodyElement)) { - if (kind === "CommonJS") { - _this4.raise(bodyElement.start, errorMessage); - } - - kind = "ES"; - } else if (bodyElement.type === "DeclareModuleExports") { - if (hasModuleExport) { - _this4.raise(bodyElement.start, "Duplicate `declare module.exports` statement"); - } - - if (kind === "ES") _this4.raise(bodyElement.start, errorMessage); - kind = "CommonJS"; - hasModuleExport = true; - } - }); - node.kind = kind || "CommonJS"; - return this.finishNode(node, "DeclareModule"); - } - }, { - key: "flowParseDeclareExportDeclaration", - value: function flowParseDeclareExportDeclaration(node, insideModule) { - this.expect(types._export); - - if (this.eat(types._default)) { - if (this.match(types._function) || this.match(types._class)) { - node.declaration = this.flowParseDeclare(this.startNode()); - } else { - node.declaration = this.flowParseType(); - this.semicolon(); - } - - node.default = true; - return this.finishNode(node, "DeclareExportDeclaration"); - } else { - if (this.match(types._const) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) { - var label = this.state.value; - var suggestion = exportSuggestions[label]; - this.unexpected(this.state.start, "`declare export ".concat(label, "` is not supported. Use `").concat(suggestion, "` instead")); - } - - if (this.match(types._var) || this.match(types._function) || this.match(types._class) || this.isContextual("opaque")) { - node.declaration = this.flowParseDeclare(this.startNode()); - node.default = false; - return this.finishNode(node, "DeclareExportDeclaration"); - } else if (this.match(types.star) || this.match(types.braceL) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) { - node = this.parseExport(node); - - if (node.type === "ExportNamedDeclaration") { - node.type = "ExportDeclaration"; - node.default = false; - delete node.exportKind; - } - - node.type = "Declare" + node.type; - return node; - } - } - - throw this.unexpected(); - } - }, { - key: "flowParseDeclareModuleExports", - value: function flowParseDeclareModuleExports(node) { - this.next(); - this.expectContextual("exports"); - node.typeAnnotation = this.flowParseTypeAnnotation(); - this.semicolon(); - return this.finishNode(node, "DeclareModuleExports"); - } - }, { - key: "flowParseDeclareTypeAlias", - value: function flowParseDeclareTypeAlias(node) { - this.next(); - this.flowParseTypeAlias(node); - node.type = "DeclareTypeAlias"; - return node; - } - }, { - key: "flowParseDeclareOpaqueType", - value: function flowParseDeclareOpaqueType(node) { - this.next(); - this.flowParseOpaqueType(node, true); - node.type = "DeclareOpaqueType"; - return node; - } - }, { - key: "flowParseDeclareInterface", - value: function flowParseDeclareInterface(node) { - this.next(); - this.flowParseInterfaceish(node); - return this.finishNode(node, "DeclareInterface"); - } - }, { - key: "flowParseInterfaceish", - value: function flowParseInterfaceish(node) { - var isClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - node.id = this.flowParseRestrictedIdentifier(!isClass); - this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - node.typeParameters = null; - } - - node.extends = []; - node.implements = []; - node.mixins = []; - - if (this.eat(types._extends)) { - do { - node.extends.push(this.flowParseInterfaceExtends()); - } while (!isClass && this.eat(types.comma)); - } - - if (this.isContextual("mixins")) { - this.next(); - - do { - node.mixins.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); - } - - if (this.isContextual("implements")) { - this.next(); - - do { - node.implements.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); - } - - node.body = this.flowParseObjectType({ - allowStatic: isClass, - allowExact: false, - allowSpread: false, - allowProto: isClass, - allowInexact: false - }); - } - }, { - key: "flowParseInterfaceExtends", - value: function flowParseInterfaceExtends() { - var node = this.startNode(); - node.id = this.flowParseQualifiedTypeIdentifier(); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterInstantiation(); - } else { - node.typeParameters = null; - } - - return this.finishNode(node, "InterfaceExtends"); - } - }, { - key: "flowParseInterface", - value: function flowParseInterface(node) { - this.flowParseInterfaceish(node); - return this.finishNode(node, "InterfaceDeclaration"); - } - }, { - key: "checkNotUnderscore", - value: function checkNotUnderscore(word) { - if (word === "_") { - this.raise(this.state.start, "`_` is only allowed as a type argument to call or new"); - } - } - }, { - key: "checkReservedType", - value: function checkReservedType(word, startLoc) { - if (reservedTypes.indexOf(word) > -1) { - this.raise(startLoc, "Cannot overwrite reserved type ".concat(word)); - } - } - }, { - key: "flowParseRestrictedIdentifier", - value: function flowParseRestrictedIdentifier(liberal) { - this.checkReservedType(this.state.value, this.state.start); - return this.parseIdentifier(liberal); - } - }, { - key: "flowParseTypeAlias", - value: function flowParseTypeAlias(node) { - node.id = this.flowParseRestrictedIdentifier(); - this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - node.typeParameters = null; - } - - node.right = this.flowParseTypeInitialiser(types.eq); - this.semicolon(); - return this.finishNode(node, "TypeAlias"); - } - }, { - key: "flowParseOpaqueType", - value: function flowParseOpaqueType(node, declare) { - this.expectContextual("type"); - node.id = this.flowParseRestrictedIdentifier(true); - this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } else { - node.typeParameters = null; - } - - node.supertype = null; - - if (this.match(types.colon)) { - node.supertype = this.flowParseTypeInitialiser(types.colon); - } - - node.impltype = null; - - if (!declare) { - node.impltype = this.flowParseTypeInitialiser(types.eq); - } - - this.semicolon(); - return this.finishNode(node, "OpaqueType"); - } - }, { - key: "flowParseTypeParameter", - value: function flowParseTypeParameter() { - var requireDefault = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var nodeStart = this.state.start; - var node = this.startNode(); - var variance = this.flowParseVariance(); - var ident = this.flowParseTypeAnnotatableIdentifier(); - node.name = ident.name; - node.variance = variance; - node.bound = ident.typeAnnotation; - - if (this.match(types.eq)) { - this.eat(types.eq); - node.default = this.flowParseType(); - } else { - if (requireDefault) { - this.raise(nodeStart, "Type parameter declaration needs a default, since a preceding type parameter declaration has a default."); - } - } - - return this.finishNode(node, "TypeParameter"); - } - }, { - key: "flowParseTypeParameterDeclaration", - value: function flowParseTypeParameterDeclaration() { - var oldInType = this.state.inType; - var node = this.startNode(); - node.params = []; - this.state.inType = true; - - if (this.isRelational("<") || this.match(types.jsxTagStart)) { - this.next(); - } else { - this.unexpected(); - } - - var defaultRequired = false; - - do { - var typeParameter = this.flowParseTypeParameter(defaultRequired); - node.params.push(typeParameter); - - if (typeParameter.default) { - defaultRequired = true; - } - - if (!this.isRelational(">")) { - this.expect(types.comma); - } - } while (!this.isRelational(">")); - - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterDeclaration"); - } - }, { - key: "flowParseTypeParameterInstantiation", - value: function flowParseTypeParameterInstantiation() { - var node = this.startNode(); - var oldInType = this.state.inType; - node.params = []; - this.state.inType = true; - this.expectRelational("<"); - var oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = false; - - while (!this.isRelational(">")) { - node.params.push(this.flowParseType()); - - if (!this.isRelational(">")) { - this.expect(types.comma); - } - } - - this.state.noAnonFunctionType = oldNoAnonFunctionType; - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterInstantiation"); - } - }, { - key: "flowParseTypeParameterInstantiationCallOrNew", - value: function flowParseTypeParameterInstantiationCallOrNew() { - var node = this.startNode(); - var oldInType = this.state.inType; - node.params = []; - this.state.inType = true; - this.expectRelational("<"); - - while (!this.isRelational(">")) { - node.params.push(this.flowParseTypeOrImplicitInstantiation()); - - if (!this.isRelational(">")) { - this.expect(types.comma); - } - } - - this.expectRelational(">"); - this.state.inType = oldInType; - return this.finishNode(node, "TypeParameterInstantiation"); - } - }, { - key: "flowParseInterfaceType", - value: function flowParseInterfaceType() { - var node = this.startNode(); - this.expectContextual("interface"); - node.extends = []; - - if (this.eat(types._extends)) { - do { - node.extends.push(this.flowParseInterfaceExtends()); - } while (this.eat(types.comma)); - } - - node.body = this.flowParseObjectType({ - allowStatic: false, - allowExact: false, - allowSpread: false, - allowProto: false, - allowInexact: false - }); - return this.finishNode(node, "InterfaceTypeAnnotation"); - } - }, { - key: "flowParseObjectPropertyKey", - value: function flowParseObjectPropertyKey() { - return this.match(types.num) || this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); - } - }, { - key: "flowParseObjectTypeIndexer", - value: function flowParseObjectTypeIndexer(node, isStatic, variance) { - node.static = isStatic; - - if (this.lookahead().type === types.colon) { - node.id = this.flowParseObjectPropertyKey(); - node.key = this.flowParseTypeInitialiser(); - } else { - node.id = null; - node.key = this.flowParseType(); - } - - this.expect(types.bracketR); - node.value = this.flowParseTypeInitialiser(); - node.variance = variance; - return this.finishNode(node, "ObjectTypeIndexer"); - } - }, { - key: "flowParseObjectTypeInternalSlot", - value: function flowParseObjectTypeInternalSlot(node, isStatic) { - node.static = isStatic; - node.id = this.flowParseObjectPropertyKey(); - this.expect(types.bracketR); - this.expect(types.bracketR); - - if (this.isRelational("<") || this.match(types.parenL)) { - node.method = true; - node.optional = false; - node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); - } else { - node.method = false; - - if (this.eat(types.question)) { - node.optional = true; - } - - node.value = this.flowParseTypeInitialiser(); - } - - return this.finishNode(node, "ObjectTypeInternalSlot"); - } - }, { - key: "flowParseObjectTypeMethodish", - value: function flowParseObjectTypeMethodish(node) { - node.params = []; - node.rest = null; - node.typeParameters = null; - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } - - this.expect(types.parenL); - - while (!this.match(types.parenR) && !this.match(types.ellipsis)) { - node.params.push(this.flowParseFunctionTypeParam()); - - if (!this.match(types.parenR)) { - this.expect(types.comma); - } - } - - if (this.eat(types.ellipsis)) { - node.rest = this.flowParseFunctionTypeParam(); - } - - this.expect(types.parenR); - node.returnType = this.flowParseTypeInitialiser(); - return this.finishNode(node, "FunctionTypeAnnotation"); - } - }, { - key: "flowParseObjectTypeCallProperty", - value: function flowParseObjectTypeCallProperty(node, isStatic) { - var valueNode = this.startNode(); - node.static = isStatic; - node.value = this.flowParseObjectTypeMethodish(valueNode); - return this.finishNode(node, "ObjectTypeCallProperty"); - } - }, { - key: "flowParseObjectType", - value: function flowParseObjectType(_ref2) { - var allowStatic = _ref2.allowStatic, - allowExact = _ref2.allowExact, - allowSpread = _ref2.allowSpread, - allowProto = _ref2.allowProto, - allowInexact = _ref2.allowInexact; - var oldInType = this.state.inType; - this.state.inType = true; - var nodeStart = this.startNode(); - nodeStart.callProperties = []; - nodeStart.properties = []; - nodeStart.indexers = []; - nodeStart.internalSlots = []; - var endDelim; - var exact; - var inexact = false; - - if (allowExact && this.match(types.braceBarL)) { - this.expect(types.braceBarL); - endDelim = types.braceBarR; - exact = true; - } else { - this.expect(types.braceL); - endDelim = types.braceR; - exact = false; - } - - nodeStart.exact = exact; - - while (!this.match(endDelim)) { - var isStatic = false; - var protoStart = null; - var inexactStart = null; - var node = this.startNode(); - - if (allowProto && this.isContextual("proto")) { - var lookahead = this.lookahead(); - - if (lookahead.type !== types.colon && lookahead.type !== types.question) { - this.next(); - protoStart = this.state.start; - allowStatic = false; - } - } - - if (allowStatic && this.isContextual("static")) { - var _lookahead = this.lookahead(); - - if (_lookahead.type !== types.colon && _lookahead.type !== types.question) { - this.next(); - isStatic = true; - } - } - - var variance = this.flowParseVariance(); - - if (this.eat(types.bracketL)) { - if (protoStart != null) { - this.unexpected(protoStart); - } - - if (this.eat(types.bracketL)) { - if (variance) { - this.unexpected(variance.start); - } - - nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); - } else { - nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); - } - } else if (this.match(types.parenL) || this.isRelational("<")) { - if (protoStart != null) { - this.unexpected(protoStart); - } - - if (variance) { - this.unexpected(variance.start); - } - - nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); - } else { - var _allowInexact; - - var kind = "init"; - - if (this.isContextual("get") || this.isContextual("set")) { - var _lookahead2 = this.lookahead(); - - if (_lookahead2.type === types.name || _lookahead2.type === types.string || _lookahead2.type === types.num) { - kind = this.state.value; - this.next(); - } - } - - var propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, (_allowInexact = allowInexact) !== null && _allowInexact !== void 0 ? _allowInexact : !exact); - - if (propOrInexact === null) { - inexact = true; - inexactStart = this.state.lastTokStart; - } else { - nodeStart.properties.push(propOrInexact); - } - } - - this.flowObjectTypeSemicolon(); - - if (inexactStart && !this.match(types.braceR) && !this.match(types.braceBarR)) { - this.raise(inexactStart, "Explicit inexact syntax must appear at the end of an inexact object"); - } - } - - this.expect(endDelim); - - if (allowSpread) { - nodeStart.inexact = inexact; - } - - var out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); - this.state.inType = oldInType; - return out; - } - }, { - key: "flowParseObjectTypeProperty", - value: function flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) { - if (this.eat(types.ellipsis)) { - var isInexactToken = this.match(types.comma) || this.match(types.semi) || this.match(types.braceR) || this.match(types.braceBarR); - - if (isInexactToken) { - if (!allowSpread) { - this.raise(this.state.lastTokStart, "Explicit inexact syntax cannot appear in class or interface definitions"); - } else if (!allowInexact) { - this.raise(this.state.lastTokStart, "Explicit inexact syntax cannot appear inside an explicit exact object type"); - } - - if (variance) { - this.raise(variance.start, "Explicit inexact syntax cannot have variance"); - } - - return null; - } - - if (!allowSpread) { - this.raise(this.state.lastTokStart, "Spread operator cannot appear in class or interface definitions"); - } - - if (protoStart != null) { - this.unexpected(protoStart); - } - - if (variance) { - this.raise(variance.start, "Spread properties cannot have variance"); - } - - node.argument = this.flowParseType(); - return this.finishNode(node, "ObjectTypeSpreadProperty"); - } else { - node.key = this.flowParseObjectPropertyKey(); - node.static = isStatic; - node.proto = protoStart != null; - node.kind = kind; - var optional = false; - - if (this.isRelational("<") || this.match(types.parenL)) { - node.method = true; - - if (protoStart != null) { - this.unexpected(protoStart); - } - - if (variance) { - this.unexpected(variance.start); - } - - node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); - - if (kind === "get" || kind === "set") { - this.flowCheckGetterSetterParams(node); - } - } else { - if (kind !== "init") this.unexpected(); - node.method = false; - - if (this.eat(types.question)) { - optional = true; - } - - node.value = this.flowParseTypeInitialiser(); - node.variance = variance; - } - - node.optional = optional; - return this.finishNode(node, "ObjectTypeProperty"); - } - } - }, { - key: "flowCheckGetterSetterParams", - value: function flowCheckGetterSetterParams(property) { - var paramCount = property.kind === "get" ? 0 : 1; - var start = property.start; - var length = property.value.params.length + (property.value.rest ? 1 : 0); - - if (length !== paramCount) { - if (property.kind === "get") { - this.raise(start, "getter must not have any formal parameters"); - } else { - this.raise(start, "setter must have exactly one formal parameter"); - } - } - - if (property.kind === "set" && property.value.rest) { - this.raise(start, "setter function argument must not be a rest parameter"); - } - } - }, { - key: "flowObjectTypeSemicolon", - value: function flowObjectTypeSemicolon() { - if (!this.eat(types.semi) && !this.eat(types.comma) && !this.match(types.braceR) && !this.match(types.braceBarR)) { - this.unexpected(); - } - } - }, { - key: "flowParseQualifiedTypeIdentifier", - value: function flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { - startPos = startPos || this.state.start; - startLoc = startLoc || this.state.startLoc; - var node = id || this.parseIdentifier(); - - while (this.eat(types.dot)) { - var node2 = this.startNodeAt(startPos, startLoc); - node2.qualification = node; - node2.id = this.parseIdentifier(); - node = this.finishNode(node2, "QualifiedTypeIdentifier"); - } - - return node; - } - }, { - key: "flowParseGenericType", - value: function flowParseGenericType(startPos, startLoc, id) { - var node = this.startNodeAt(startPos, startLoc); - node.typeParameters = null; - node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterInstantiation(); - } - - return this.finishNode(node, "GenericTypeAnnotation"); - } - }, { - key: "flowParseTypeofType", - value: function flowParseTypeofType() { - var node = this.startNode(); - this.expect(types._typeof); - node.argument = this.flowParsePrimaryType(); - return this.finishNode(node, "TypeofTypeAnnotation"); - } - }, { - key: "flowParseTupleType", - value: function flowParseTupleType() { - var node = this.startNode(); - node.types = []; - this.expect(types.bracketL); - - while (this.state.pos < this.length && !this.match(types.bracketR)) { - node.types.push(this.flowParseType()); - if (this.match(types.bracketR)) break; - this.expect(types.comma); - } - - this.expect(types.bracketR); - return this.finishNode(node, "TupleTypeAnnotation"); - } - }, { - key: "flowParseFunctionTypeParam", - value: function flowParseFunctionTypeParam() { - var name = null; - var optional = false; - var typeAnnotation = null; - var node = this.startNode(); - var lh = this.lookahead(); - - if (lh.type === types.colon || lh.type === types.question) { - name = this.parseIdentifier(); - - if (this.eat(types.question)) { - optional = true; - } - - typeAnnotation = this.flowParseTypeInitialiser(); - } else { - typeAnnotation = this.flowParseType(); - } - - node.name = name; - node.optional = optional; - node.typeAnnotation = typeAnnotation; - return this.finishNode(node, "FunctionTypeParam"); - } - }, { - key: "reinterpretTypeAsFunctionTypeParam", - value: function reinterpretTypeAsFunctionTypeParam(type) { - var node = this.startNodeAt(type.start, type.loc.start); - node.name = null; - node.optional = false; - node.typeAnnotation = type; - return this.finishNode(node, "FunctionTypeParam"); - } - }, { - key: "flowParseFunctionTypeParams", - value: function flowParseFunctionTypeParams() { - var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var rest = null; - - while (!this.match(types.parenR) && !this.match(types.ellipsis)) { - params.push(this.flowParseFunctionTypeParam()); - - if (!this.match(types.parenR)) { - this.expect(types.comma); - } - } - - if (this.eat(types.ellipsis)) { - rest = this.flowParseFunctionTypeParam(); - } - - return { - params: params, - rest: rest - }; - } - }, { - key: "flowIdentToTypeAnnotation", - value: function flowIdentToTypeAnnotation(startPos, startLoc, node, id) { - switch (id.name) { - case "any": - return this.finishNode(node, "AnyTypeAnnotation"); - - case "bool": - case "boolean": - return this.finishNode(node, "BooleanTypeAnnotation"); - - case "mixed": - return this.finishNode(node, "MixedTypeAnnotation"); - - case "empty": - return this.finishNode(node, "EmptyTypeAnnotation"); - - case "number": - return this.finishNode(node, "NumberTypeAnnotation"); - - case "string": - return this.finishNode(node, "StringTypeAnnotation"); - - default: - this.checkNotUnderscore(id.name); - return this.flowParseGenericType(startPos, startLoc, id); - } - } - }, { - key: "flowParsePrimaryType", - value: function flowParsePrimaryType() { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var node = this.startNode(); - var tmp; - var type; - var isGroupedType = false; - var oldNoAnonFunctionType = this.state.noAnonFunctionType; - - switch (this.state.type) { - case types.name: - if (this.isContextual("interface")) { - return this.flowParseInterfaceType(); - } - - return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); - - case types.braceL: - return this.flowParseObjectType({ - allowStatic: false, - allowExact: false, - allowSpread: true, - allowProto: false, - allowInexact: true - }); - - case types.braceBarL: - return this.flowParseObjectType({ - allowStatic: false, - allowExact: true, - allowSpread: true, - allowProto: false, - allowInexact: false - }); - - case types.bracketL: - this.state.noAnonFunctionType = false; - type = this.flowParseTupleType(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - return type; - - case types.relational: - if (this.state.value === "<") { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - this.expect(types.parenL); - tmp = this.flowParseFunctionTypeParams(); - node.params = tmp.params; - node.rest = tmp.rest; - this.expect(types.parenR); - this.expect(types.arrow); - node.returnType = this.flowParseType(); - return this.finishNode(node, "FunctionTypeAnnotation"); - } - - break; - - case types.parenL: - this.next(); - - if (!this.match(types.parenR) && !this.match(types.ellipsis)) { - if (this.match(types.name)) { - var token = this.lookahead().type; - isGroupedType = token !== types.question && token !== types.colon; - } else { - isGroupedType = true; - } - } - - if (isGroupedType) { - this.state.noAnonFunctionType = false; - type = this.flowParseType(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - - if (this.state.noAnonFunctionType || !(this.match(types.comma) || this.match(types.parenR) && this.lookahead().type === types.arrow)) { - this.expect(types.parenR); - return type; - } else { - this.eat(types.comma); - } - } - - if (type) { - tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); - } else { - tmp = this.flowParseFunctionTypeParams(); - } - - node.params = tmp.params; - node.rest = tmp.rest; - this.expect(types.parenR); - this.expect(types.arrow); - node.returnType = this.flowParseType(); - node.typeParameters = null; - return this.finishNode(node, "FunctionTypeAnnotation"); - - case types.string: - return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); - - case types._true: - case types._false: - node.value = this.match(types._true); - this.next(); - return this.finishNode(node, "BooleanLiteralTypeAnnotation"); - - case types.plusMin: - if (this.state.value === "-") { - this.next(); - - if (this.match(types.num)) { - return this.parseLiteral(-this.state.value, "NumberLiteralTypeAnnotation", node.start, node.loc.start); - } - - if (this.match(types.bigint)) { - return this.parseLiteral(-this.state.value, "BigIntLiteralTypeAnnotation", node.start, node.loc.start); - } - - throw this.raise(this.state.start, "Unexpected token, expected \"number\" or \"bigint\""); - } - - this.unexpected(); - - case types.num: - return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); - - case types.bigint: - return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); - - case types._void: - this.next(); - return this.finishNode(node, "VoidTypeAnnotation"); - - case types._null: - this.next(); - return this.finishNode(node, "NullLiteralTypeAnnotation"); - - case types._this: - this.next(); - return this.finishNode(node, "ThisTypeAnnotation"); - - case types.star: - this.next(); - return this.finishNode(node, "ExistsTypeAnnotation"); - - default: - if (this.state.type.keyword === "typeof") { - return this.flowParseTypeofType(); - } else if (this.state.type.keyword) { - var label = this.state.type.label; - this.next(); - return _get(_getPrototypeOf(_class2.prototype), "createIdentifier", this).call(this, node, label); - } - - } - - throw this.unexpected(); - } - }, { - key: "flowParsePostfixType", - value: function flowParsePostfixType() { - var startPos = this.state.start, - startLoc = this.state.startLoc; - var type = this.flowParsePrimaryType(); - - while (this.match(types.bracketL) && !this.canInsertSemicolon()) { - var node = this.startNodeAt(startPos, startLoc); - node.elementType = type; - this.expect(types.bracketL); - this.expect(types.bracketR); - type = this.finishNode(node, "ArrayTypeAnnotation"); - } - - return type; - } - }, { - key: "flowParsePrefixType", - value: function flowParsePrefixType() { - var node = this.startNode(); - - if (this.eat(types.question)) { - node.typeAnnotation = this.flowParsePrefixType(); - return this.finishNode(node, "NullableTypeAnnotation"); - } else { - return this.flowParsePostfixType(); - } - } - }, { - key: "flowParseAnonFunctionWithoutParens", - value: function flowParseAnonFunctionWithoutParens() { - var param = this.flowParsePrefixType(); - - if (!this.state.noAnonFunctionType && this.eat(types.arrow)) { - var node = this.startNodeAt(param.start, param.loc.start); - node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; - node.rest = null; - node.returnType = this.flowParseType(); - node.typeParameters = null; - return this.finishNode(node, "FunctionTypeAnnotation"); - } - - return param; - } - }, { - key: "flowParseIntersectionType", - value: function flowParseIntersectionType() { - var node = this.startNode(); - this.eat(types.bitwiseAND); - var type = this.flowParseAnonFunctionWithoutParens(); - node.types = [type]; - - while (this.eat(types.bitwiseAND)) { - node.types.push(this.flowParseAnonFunctionWithoutParens()); - } - - return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); - } - }, { - key: "flowParseUnionType", - value: function flowParseUnionType() { - var node = this.startNode(); - this.eat(types.bitwiseOR); - var type = this.flowParseIntersectionType(); - node.types = [type]; - - while (this.eat(types.bitwiseOR)) { - node.types.push(this.flowParseIntersectionType()); - } - - return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); - } - }, { - key: "flowParseType", - value: function flowParseType() { - var oldInType = this.state.inType; - this.state.inType = true; - var type = this.flowParseUnionType(); - this.state.inType = oldInType; - this.state.exprAllowed = this.state.exprAllowed || this.state.noAnonFunctionType; - return type; - } - }, { - key: "flowParseTypeOrImplicitInstantiation", - value: function flowParseTypeOrImplicitInstantiation() { - if (this.state.type === types.name && this.state.value === "_") { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var node = this.parseIdentifier(); - return this.flowParseGenericType(startPos, startLoc, node); - } else { - return this.flowParseType(); - } - } - }, { - key: "flowParseTypeAnnotation", - value: function flowParseTypeAnnotation() { - var node = this.startNode(); - node.typeAnnotation = this.flowParseTypeInitialiser(); - return this.finishNode(node, "TypeAnnotation"); - } - }, { - key: "flowParseTypeAnnotatableIdentifier", - value: function flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { - var ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); - - if (this.match(types.colon)) { - ident.typeAnnotation = this.flowParseTypeAnnotation(); - this.resetEndLocation(ident); - } - - return ident; - } - }, { - key: "typeCastToParameter", - value: function typeCastToParameter(node) { - node.expression.typeAnnotation = node.typeAnnotation; - this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); - return node.expression; - } - }, { - key: "flowParseVariance", - value: function flowParseVariance() { - var variance = null; - - if (this.match(types.plusMin)) { - variance = this.startNode(); - - if (this.state.value === "+") { - variance.kind = "plus"; - } else { - variance.kind = "minus"; - } - - this.next(); - this.finishNode(variance, "Variance"); - } - - return variance; - } - }, { - key: "parseFunctionBody", - value: function parseFunctionBody(node, allowExpressionBody) { - var _this5 = this; - - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - if (allowExpressionBody) { - return this.forwardNoArrowParamsConversionAt(node, function () { - return _get(_getPrototypeOf(_class2.prototype), "parseFunctionBody", _this5).call(_this5, node, true, isMethod); - }); - } - - return _get(_getPrototypeOf(_class2.prototype), "parseFunctionBody", this).call(this, node, false, isMethod); - } - }, { - key: "parseFunctionBodyAndFinish", - value: function parseFunctionBodyAndFinish(node, type) { - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - if (this.match(types.colon)) { - var typeNode = this.startNode(); - - var _this$flowParseTypeAn3 = this.flowParseTypeAndPredicateInitialiser(); - - var _this$flowParseTypeAn4 = _slicedToArray(_this$flowParseTypeAn3, 2); - - typeNode.typeAnnotation = _this$flowParseTypeAn4[0]; - node.predicate = _this$flowParseTypeAn4[1]; - node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; - } - - _get(_getPrototypeOf(_class2.prototype), "parseFunctionBodyAndFinish", this).call(this, node, type, isMethod); - } - }, { - key: "parseStatement", - value: function parseStatement(context, topLevel) { - if (this.state.strict && this.match(types.name) && this.state.value === "interface") { - var node = this.startNode(); - this.next(); - return this.flowParseInterface(node); - } else if (this.shouldParseEnums() && this.isContextual("enum")) { - var _node = this.startNode(); - - this.next(); - return this.flowParseEnumDeclaration(_node); - } else { - var stmt = _get(_getPrototypeOf(_class2.prototype), "parseStatement", this).call(this, context, topLevel); - - if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { - this.flowPragma = null; - } - - return stmt; - } - } - }, { - key: "parseExpressionStatement", - value: function parseExpressionStatement(node, expr) { - if (expr.type === "Identifier") { - if (expr.name === "declare") { - if (this.match(types._class) || this.match(types.name) || this.match(types._function) || this.match(types._var) || this.match(types._export)) { - return this.flowParseDeclare(node); - } - } else if (this.match(types.name)) { - if (expr.name === "interface") { - return this.flowParseInterface(node); - } else if (expr.name === "type") { - return this.flowParseTypeAlias(node); - } else if (expr.name === "opaque") { - return this.flowParseOpaqueType(node, false); - } - } - } - - return _get(_getPrototypeOf(_class2.prototype), "parseExpressionStatement", this).call(this, node, expr); - } - }, { - key: "shouldParseExportDeclaration", - value: function shouldParseExportDeclaration() { - return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || _get(_getPrototypeOf(_class2.prototype), "shouldParseExportDeclaration", this).call(this); - } - }, { - key: "isExportDefaultSpecifier", - value: function isExportDefaultSpecifier() { - if (this.match(types.name) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) { - return false; - } - - return _get(_getPrototypeOf(_class2.prototype), "isExportDefaultSpecifier", this).call(this); - } - }, { - key: "parseExportDefaultExpression", - value: function parseExportDefaultExpression() { - if (this.shouldParseEnums() && this.isContextual("enum")) { - var node = this.startNode(); - this.next(); - return this.flowParseEnumDeclaration(node); - } - - return _get(_getPrototypeOf(_class2.prototype), "parseExportDefaultExpression", this).call(this); - } - }, { - key: "parseConditional", - value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { - var _this6 = this; - - if (!this.match(types.question)) return expr; - - if (refNeedsArrowPos) { - var result = this.tryParse(function () { - return _get(_getPrototypeOf(_class2.prototype), "parseConditional", _this6).call(_this6, expr, noIn, startPos, startLoc); - }); - - if (!result.node) { - refNeedsArrowPos.start = result.error.pos || this.state.start; - return expr; - } - - if (result.error) this.state = result.failState; - return result.node; - } - - this.expect(types.question); - var state = this.state.clone(); - var originalNoArrowAt = this.state.noArrowAt; - var node = this.startNodeAt(startPos, startLoc); - - var _this$tryParseConditi = this.tryParseConditionalConsequent(), - consequent = _this$tryParseConditi.consequent, - failed = _this$tryParseConditi.failed; - - var _this$getArrowLikeExp = this.getArrowLikeExpressions(consequent), - _this$getArrowLikeExp2 = _slicedToArray(_this$getArrowLikeExp, 2), - valid = _this$getArrowLikeExp2[0], - invalid = _this$getArrowLikeExp2[1]; - - if (failed || invalid.length > 0) { - var noArrowAt = _toConsumableArray(originalNoArrowAt); - - if (invalid.length > 0) { - this.state = state; - this.state.noArrowAt = noArrowAt; - - for (var i = 0; i < invalid.length; i++) { - noArrowAt.push(invalid[i].start); - } - - var _this$tryParseConditi2 = this.tryParseConditionalConsequent(); - - consequent = _this$tryParseConditi2.consequent; - failed = _this$tryParseConditi2.failed; - - var _this$getArrowLikeExp3 = this.getArrowLikeExpressions(consequent); - - var _this$getArrowLikeExp4 = _slicedToArray(_this$getArrowLikeExp3, 2); - - valid = _this$getArrowLikeExp4[0]; - invalid = _this$getArrowLikeExp4[1]; - } - - if (failed && valid.length > 1) { - this.raise(state.start, "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."); - } - - if (failed && valid.length === 1) { - this.state = state; - this.state.noArrowAt = noArrowAt.concat(valid[0].start); - - var _this$tryParseConditi3 = this.tryParseConditionalConsequent(); - - consequent = _this$tryParseConditi3.consequent; - failed = _this$tryParseConditi3.failed; - } - } - - this.getArrowLikeExpressions(consequent, true); - this.state.noArrowAt = originalNoArrowAt; - this.expect(types.colon); - node.test = expr; - node.consequent = consequent; - node.alternate = this.forwardNoArrowParamsConversionAt(node, function () { - return _this6.parseMaybeAssign(noIn, undefined, undefined, undefined); - }); - return this.finishNode(node, "ConditionalExpression"); - } - }, { - key: "tryParseConditionalConsequent", - value: function tryParseConditionalConsequent() { - this.state.noArrowParamsConversionAt.push(this.state.start); - var consequent = this.parseMaybeAssign(); - var failed = !this.match(types.colon); - this.state.noArrowParamsConversionAt.pop(); - return { - consequent: consequent, - failed: failed - }; - } - }, { - key: "getArrowLikeExpressions", - value: function getArrowLikeExpressions(node, disallowInvalid) { - var _this7 = this; - - var stack = [node]; - var arrows = []; - - while (stack.length !== 0) { - var _node2 = stack.pop(); - - if (_node2.type === "ArrowFunctionExpression") { - if (_node2.typeParameters || !_node2.returnType) { - this.finishArrowValidation(_node2); - } else { - arrows.push(_node2); - } - - stack.push(_node2.body); - } else if (_node2.type === "ConditionalExpression") { - stack.push(_node2.consequent); - stack.push(_node2.alternate); - } - } - - if (disallowInvalid) { - arrows.forEach(function (node) { - return _this7.finishArrowValidation(node); - }); - return [arrows, []]; - } - - return partition(arrows, function (node) { - return node.params.every(function (param) { - return _this7.isAssignable(param, true); - }); - }); - } - }, { - key: "finishArrowValidation", - value: function finishArrowValidation(node) { - var _node$extra; - - this.toAssignableList(node.params, true, "arrow function parameters", (_node$extra = node.extra) === null || _node$extra === void 0 ? void 0 : _node$extra.trailingComma); - this.scope.enter(functionFlags(false, false) | SCOPE_ARROW); - - _get(_getPrototypeOf(_class2.prototype), "checkParams", this).call(this, node, false, true); - - this.scope.exit(); - } - }, { - key: "forwardNoArrowParamsConversionAt", - value: function forwardNoArrowParamsConversionAt(node, parse) { - var result; - - if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - this.state.noArrowParamsConversionAt.push(this.state.start); - result = parse(); - this.state.noArrowParamsConversionAt.pop(); - } else { - result = parse(); - } - - return result; - } - }, { - key: "parseParenItem", - value: function parseParenItem(node, startPos, startLoc) { - node = _get(_getPrototypeOf(_class2.prototype), "parseParenItem", this).call(this, node, startPos, startLoc); - - if (this.eat(types.question)) { - node.optional = true; - this.resetEndLocation(node); - } - - if (this.match(types.colon)) { - var typeCastNode = this.startNodeAt(startPos, startLoc); - typeCastNode.expression = node; - typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); - return this.finishNode(typeCastNode, "TypeCastExpression"); - } - - return node; - } - }, { - key: "assertModuleNodeAllowed", - value: function assertModuleNodeAllowed(node) { - if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { - return; - } - - _get(_getPrototypeOf(_class2.prototype), "assertModuleNodeAllowed", this).call(this, node); - } - }, { - key: "parseExport", - value: function parseExport(node) { - var decl = _get(_getPrototypeOf(_class2.prototype), "parseExport", this).call(this, node); - - if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { - decl.exportKind = decl.exportKind || "value"; - } - - return decl; - } - }, { - key: "parseExportDeclaration", - value: function parseExportDeclaration(node) { - if (this.isContextual("type")) { - node.exportKind = "type"; - var declarationNode = this.startNode(); - this.next(); - - if (this.match(types.braceL)) { - node.specifiers = this.parseExportSpecifiers(); - this.parseExportFrom(node); - return null; - } else { - return this.flowParseTypeAlias(declarationNode); - } - } else if (this.isContextual("opaque")) { - node.exportKind = "type"; - - var _declarationNode = this.startNode(); - - this.next(); - return this.flowParseOpaqueType(_declarationNode, false); - } else if (this.isContextual("interface")) { - node.exportKind = "type"; - - var _declarationNode2 = this.startNode(); - - this.next(); - return this.flowParseInterface(_declarationNode2); - } else if (this.shouldParseEnums() && this.isContextual("enum")) { - node.exportKind = "value"; - - var _declarationNode3 = this.startNode(); - - this.next(); - return this.flowParseEnumDeclaration(_declarationNode3); - } else { - return _get(_getPrototypeOf(_class2.prototype), "parseExportDeclaration", this).call(this, node); - } - } - }, { - key: "eatExportStar", - value: function eatExportStar(node) { - if (_get(_getPrototypeOf(_class2.prototype), "eatExportStar", this).apply(this, arguments)) return true; - - if (this.isContextual("type") && this.lookahead().type === types.star) { - node.exportKind = "type"; - this.next(); - this.next(); - return true; - } - - return false; - } - }, { - key: "maybeParseExportNamespaceSpecifier", - value: function maybeParseExportNamespaceSpecifier(node) { - var pos = this.state.start; - - var hasNamespace = _get(_getPrototypeOf(_class2.prototype), "maybeParseExportNamespaceSpecifier", this).call(this, node); - - if (hasNamespace && node.exportKind === "type") { - this.unexpected(pos); - } - - return hasNamespace; - } - }, { - key: "parseClassId", - value: function parseClassId(node, isStatement, optionalId) { - _get(_getPrototypeOf(_class2.prototype), "parseClassId", this).call(this, node, isStatement, optionalId); - - if (this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } - } - }, { - key: "getTokenFromCode", - value: function getTokenFromCode(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (code === 123 && next === 124) { - return this.finishOp(types.braceBarL, 2); - } else if (this.state.inType && (code === 62 || code === 60)) { - return this.finishOp(types.relational, 1); - } else if (isIteratorStart(code, next)) { - this.state.isIterator = true; - return _get(_getPrototypeOf(_class2.prototype), "readWord", this).call(this); - } else { - return _get(_getPrototypeOf(_class2.prototype), "getTokenFromCode", this).call(this, code); - } - } - }, { - key: "isAssignable", - value: function isAssignable(node, isBinding) { - var _this8 = this; - - switch (node.type) { - case "Identifier": - case "ObjectPattern": - case "ArrayPattern": - case "AssignmentPattern": - return true; - - case "ObjectExpression": - { - var _last = node.properties.length - 1; - - return node.properties.every(function (prop, i) { - return prop.type !== "ObjectMethod" && (i === _last || prop.type === "SpreadElement") && _this8.isAssignable(prop); - }); - } - - case "ObjectProperty": - return this.isAssignable(node.value); - - case "SpreadElement": - return this.isAssignable(node.argument); - - case "ArrayExpression": - return node.elements.every(function (element) { - return _this8.isAssignable(element); - }); - - case "AssignmentExpression": - return node.operator === "="; - - case "ParenthesizedExpression": - case "TypeCastExpression": - return this.isAssignable(node.expression); - - case "MemberExpression": - case "OptionalMemberExpression": - return !isBinding; - - default: - return false; - } - } - }, { - key: "toAssignable", - value: function toAssignable(node, isBinding, contextDescription) { - if (node.type === "TypeCastExpression") { - return _get(_getPrototypeOf(_class2.prototype), "toAssignable", this).call(this, this.typeCastToParameter(node), isBinding, contextDescription); - } else { - return _get(_getPrototypeOf(_class2.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); - } - } - }, { - key: "toAssignableList", - value: function toAssignableList(exprList, isBinding, contextDescription, trailingCommaPos) { - for (var i = 0; i < exprList.length; i++) { - var expr = exprList[i]; - - if (expr && expr.type === "TypeCastExpression") { - exprList[i] = this.typeCastToParameter(expr); - } - } - - return _get(_getPrototypeOf(_class2.prototype), "toAssignableList", this).call(this, exprList, isBinding, contextDescription, trailingCommaPos); - } - }, { - key: "toReferencedList", - value: function toReferencedList(exprList, isParenthesizedExpr) { - for (var i = 0; i < exprList.length; i++) { - var expr = exprList[i]; - - if (expr && expr.type === "TypeCastExpression" && (!expr.extra || !expr.extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { - this.raise(expr.typeAnnotation.start, "The type cast expression is expected to be wrapped with parenthesis"); - } - } - - return exprList; - } - }, { - key: "checkLVal", - value: function checkLVal(expr) { - var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; - var checkClashes = arguments.length > 2 ? arguments[2] : undefined; - var contextDescription = arguments.length > 3 ? arguments[3] : undefined; - - if (expr.type !== "TypeCastExpression") { - return _get(_getPrototypeOf(_class2.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription); - } - } - }, { - key: "parseClassProperty", - value: function parseClassProperty(node) { - if (this.match(types.colon)) { - node.typeAnnotation = this.flowParseTypeAnnotation(); - } - - return _get(_getPrototypeOf(_class2.prototype), "parseClassProperty", this).call(this, node); - } - }, { - key: "parseClassPrivateProperty", - value: function parseClassPrivateProperty(node) { - if (this.match(types.colon)) { - node.typeAnnotation = this.flowParseTypeAnnotation(); - } - - return _get(_getPrototypeOf(_class2.prototype), "parseClassPrivateProperty", this).call(this, node); - } - }, { - key: "isClassMethod", - value: function isClassMethod() { - return this.isRelational("<") || _get(_getPrototypeOf(_class2.prototype), "isClassMethod", this).call(this); - } - }, { - key: "isClassProperty", - value: function isClassProperty() { - return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "isClassProperty", this).call(this); - } - }, { - key: "isNonstaticConstructor", - value: function isNonstaticConstructor(method) { - return !this.match(types.colon) && _get(_getPrototypeOf(_class2.prototype), "isNonstaticConstructor", this).call(this, method); - } - }, { - key: "pushClassMethod", - value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - if (method.variance) { - this.unexpected(method.variance.start); - } - - delete method.variance; - - if (this.isRelational("<")) { - method.typeParameters = this.flowParseTypeParameterDeclaration(); - } - - _get(_getPrototypeOf(_class2.prototype), "pushClassMethod", this).call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); - } - }, { - key: "pushClassPrivateMethod", - value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { - if (method.variance) { - this.unexpected(method.variance.start); - } - - delete method.variance; - - if (this.isRelational("<")) { - method.typeParameters = this.flowParseTypeParameterDeclaration(); - } - - _get(_getPrototypeOf(_class2.prototype), "pushClassPrivateMethod", this).call(this, classBody, method, isGenerator, isAsync); - } - }, { - key: "parseClassSuper", - value: function parseClassSuper(node) { - _get(_getPrototypeOf(_class2.prototype), "parseClassSuper", this).call(this, node); - - if (node.superClass && this.isRelational("<")) { - node.superTypeParameters = this.flowParseTypeParameterInstantiation(); - } - - if (this.isContextual("implements")) { - this.next(); - var implemented = node.implements = []; - - do { - var _node3 = this.startNode(); - - _node3.id = this.flowParseRestrictedIdentifier(true); - - if (this.isRelational("<")) { - _node3.typeParameters = this.flowParseTypeParameterInstantiation(); - } else { - _node3.typeParameters = null; - } - - implemented.push(this.finishNode(_node3, "ClassImplements")); - } while (this.eat(types.comma)); - } - } - }, { - key: "parsePropertyName", - value: function parsePropertyName(node) { - var variance = this.flowParseVariance(); - - var key = _get(_getPrototypeOf(_class2.prototype), "parsePropertyName", this).call(this, node); - - node.variance = variance; - return key; - } - }, { - key: "parseObjPropValue", - value: function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc) { - if (prop.variance) { - this.unexpected(prop.variance.start); - } - - delete prop.variance; - var typeParameters; - - if (this.isRelational("<")) { - typeParameters = this.flowParseTypeParameterDeclaration(); - if (!this.match(types.parenL)) this.unexpected(); - } - - _get(_getPrototypeOf(_class2.prototype), "parseObjPropValue", this).call(this, prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc); - - if (typeParameters) { - (prop.value || prop).typeParameters = typeParameters; - } - } - }, { - key: "parseAssignableListItemTypes", - value: function parseAssignableListItemTypes(param) { - if (this.eat(types.question)) { - if (param.type !== "Identifier") { - this.raise(param.start, "A binding pattern parameter cannot be optional in an implementation signature."); - } - - param.optional = true; - } - - if (this.match(types.colon)) { - param.typeAnnotation = this.flowParseTypeAnnotation(); - } - - this.resetEndLocation(param); - return param; - } - }, { - key: "parseMaybeDefault", - value: function parseMaybeDefault(startPos, startLoc, left) { - var node = _get(_getPrototypeOf(_class2.prototype), "parseMaybeDefault", this).call(this, startPos, startLoc, left); - - if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { - this.raise(node.typeAnnotation.start, "Type annotations must come before default assignments, " + "e.g. instead of `age = 25: number` use `age: number = 25`"); - } - - return node; - } - }, { - key: "shouldParseDefaultImport", - value: function shouldParseDefaultImport(node) { - if (!hasTypeImportKind(node)) { - return _get(_getPrototypeOf(_class2.prototype), "shouldParseDefaultImport", this).call(this, node); - } - - return isMaybeDefaultImport(this.state); - } - }, { - key: "parseImportSpecifierLocal", - value: function parseImportSpecifierLocal(node, specifier, type, contextDescription) { - specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true) : this.parseIdentifier(); - this.checkLVal(specifier.local, BIND_LEXICAL, undefined, contextDescription); - node.specifiers.push(this.finishNode(specifier, type)); - } - }, { - key: "maybeParseDefaultImportSpecifier", - value: function maybeParseDefaultImportSpecifier(node) { - node.importKind = "value"; - var kind = null; - - if (this.match(types._typeof)) { - kind = "typeof"; - } else if (this.isContextual("type")) { - kind = "type"; - } - - if (kind) { - var lh = this.lookahead(); - - if (kind === "type" && lh.type === types.star) { - this.unexpected(lh.start); - } - - if (isMaybeDefaultImport(lh) || lh.type === types.braceL || lh.type === types.star) { - this.next(); - node.importKind = kind; - } - } - - return _get(_getPrototypeOf(_class2.prototype), "maybeParseDefaultImportSpecifier", this).call(this, node); - } - }, { - key: "parseImportSpecifier", - value: function parseImportSpecifier(node) { - var specifier = this.startNode(); - var firstIdentLoc = this.state.start; - var firstIdent = this.parseIdentifier(true); - var specifierTypeKind = null; - - if (firstIdent.name === "type") { - specifierTypeKind = "type"; - } else if (firstIdent.name === "typeof") { - specifierTypeKind = "typeof"; - } - - var isBinding = false; - - if (this.isContextual("as") && !this.isLookaheadContextual("as")) { - var as_ident = this.parseIdentifier(true); - - if (specifierTypeKind !== null && !this.match(types.name) && !this.state.type.keyword) { - specifier.imported = as_ident; - specifier.importKind = specifierTypeKind; - specifier.local = as_ident.__clone(); - } else { - specifier.imported = firstIdent; - specifier.importKind = null; - specifier.local = this.parseIdentifier(); - } - } else if (specifierTypeKind !== null && (this.match(types.name) || this.state.type.keyword)) { - specifier.imported = this.parseIdentifier(true); - specifier.importKind = specifierTypeKind; - - if (this.eatContextual("as")) { - specifier.local = this.parseIdentifier(); - } else { - isBinding = true; - specifier.local = specifier.imported.__clone(); - } - } else { - isBinding = true; - specifier.imported = firstIdent; - specifier.importKind = null; - specifier.local = specifier.imported.__clone(); - } - - var nodeIsTypeImport = hasTypeImportKind(node); - var specifierIsTypeImport = hasTypeImportKind(specifier); - - if (nodeIsTypeImport && specifierIsTypeImport) { - this.raise(firstIdentLoc, "The `type` and `typeof` keywords on named imports can only be used on regular " + "`import` statements. It cannot be used with `import type` or `import typeof` statements"); - } - - if (nodeIsTypeImport || specifierIsTypeImport) { - this.checkReservedType(specifier.local.name, specifier.local.start); - } - - if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) { - this.checkReservedWord(specifier.local.name, specifier.start, true, true); - } - - this.checkLVal(specifier.local, BIND_LEXICAL, undefined, "import specifier"); - node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); - } - }, { - key: "parseFunctionParams", - value: function parseFunctionParams(node, allowModifiers) { - var kind = node.kind; - - if (kind !== "get" && kind !== "set" && this.isRelational("<")) { - node.typeParameters = this.flowParseTypeParameterDeclaration(); - } - - _get(_getPrototypeOf(_class2.prototype), "parseFunctionParams", this).call(this, node, allowModifiers); - } - }, { - key: "parseVarId", - value: function parseVarId(decl, kind) { - _get(_getPrototypeOf(_class2.prototype), "parseVarId", this).call(this, decl, kind); - - if (this.match(types.colon)) { - decl.id.typeAnnotation = this.flowParseTypeAnnotation(); - this.resetEndLocation(decl.id); - } - } - }, { - key: "parseAsyncArrowFromCallExpression", - value: function parseAsyncArrowFromCallExpression(node, call) { - if (this.match(types.colon)) { - var oldNoAnonFunctionType = this.state.noAnonFunctionType; - this.state.noAnonFunctionType = true; - node.returnType = this.flowParseTypeAnnotation(); - this.state.noAnonFunctionType = oldNoAnonFunctionType; - } - - return _get(_getPrototypeOf(_class2.prototype), "parseAsyncArrowFromCallExpression", this).call(this, node, call); - } - }, { - key: "shouldParseAsyncArrow", - value: function shouldParseAsyncArrow() { - return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "shouldParseAsyncArrow", this).call(this); - } - }, { - key: "parseMaybeAssign", - value: function parseMaybeAssign(noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos) { - var _this9 = this; - - var state = null; - var jsx; - - if (this.hasPlugin("jsx") && (this.match(types.jsxTagStart) || this.isRelational("<"))) { - state = this.state.clone(); - jsx = this.tryParse(function () { - return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", _this9).call(_this9, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); - }, state); - if (!jsx.error) return jsx.node; - var context = this.state.context; - - if (context[context.length - 1] === types$1.j_oTag) { - context.length -= 2; - } else if (context[context.length - 1] === types$1.j_expr) { - context.length -= 1; - } - } - - if (jsx && jsx.error || this.isRelational("<")) { - state = state || this.state.clone(); - var typeParameters; - var arrow = this.tryParse(function () { - typeParameters = _this9.flowParseTypeParameterDeclaration(); - - var arrowExpression = _this9.forwardNoArrowParamsConversionAt(typeParameters, function () { - return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", _this9).call(_this9, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); - }); - - arrowExpression.typeParameters = typeParameters; - - _this9.resetStartLocationFromNode(arrowExpression, typeParameters); - - return arrowExpression; - }, state); - var arrowExpression = arrow.node && arrow.node.type === "ArrowFunctionExpression" ? arrow.node : null; - if (!arrow.error && arrowExpression) return arrowExpression; - - if (jsx && jsx.node) { - this.state = jsx.failState; - return jsx.node; - } - - if (arrowExpression) { - this.state = arrow.failState; - return arrowExpression; - } - - if (jsx && jsx.thrown) throw jsx.error; - if (arrow.thrown) throw arrow.error; - throw this.raise(typeParameters.start, "Expected an arrow function after this type parameter declaration"); - } - - return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", this).call(this, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); - } - }, { - key: "parseArrow", - value: function parseArrow(node) { - var _this10 = this; - - if (this.match(types.colon)) { - var result = this.tryParse(function () { - var oldNoAnonFunctionType = _this10.state.noAnonFunctionType; - _this10.state.noAnonFunctionType = true; - - var typeNode = _this10.startNode(); - - var _this10$flowParseType = _this10.flowParseTypeAndPredicateInitialiser(); - - var _this10$flowParseType2 = _slicedToArray(_this10$flowParseType, 2); - - typeNode.typeAnnotation = _this10$flowParseType2[0]; - node.predicate = _this10$flowParseType2[1]; - _this10.state.noAnonFunctionType = oldNoAnonFunctionType; - if (_this10.canInsertSemicolon()) _this10.unexpected(); - if (!_this10.match(types.arrow)) _this10.unexpected(); - return typeNode; - }); - if (result.thrown) return null; - if (result.error) this.state = result.failState; - node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; - } - - return _get(_getPrototypeOf(_class2.prototype), "parseArrow", this).call(this, node); - } - }, { - key: "shouldParseArrow", - value: function shouldParseArrow() { - return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "shouldParseArrow", this).call(this); - } - }, { - key: "setArrowFunctionParameters", - value: function setArrowFunctionParameters(node, params) { - if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - node.params = params; - } else { - _get(_getPrototypeOf(_class2.prototype), "setArrowFunctionParameters", this).call(this, node, params); - } - } - }, { - key: "checkParams", - value: function checkParams(node, allowDuplicates, isArrowFunction) { - if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { - return; - } - - return _get(_getPrototypeOf(_class2.prototype), "checkParams", this).apply(this, arguments); - } - }, { - key: "parseParenAndDistinguishExpression", - value: function parseParenAndDistinguishExpression(canBeArrow) { - return _get(_getPrototypeOf(_class2.prototype), "parseParenAndDistinguishExpression", this).call(this, canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); - } - }, { - key: "parseSubscripts", - value: function parseSubscripts(base, startPos, startLoc, noCalls) { - var _this11 = this; - - if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { - this.next(); - var node = this.startNodeAt(startPos, startLoc); - node.callee = base; - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - base = this.finishNode(node, "CallExpression"); - } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) { - var state = this.state.clone(); - var arrow = this.tryParse(function (abort) { - return _this11.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(); - }, state); - if (!arrow.error && !arrow.aborted) return arrow.node; - var result = this.tryParse(function () { - return _get(_getPrototypeOf(_class2.prototype), "parseSubscripts", _this11).call(_this11, base, startPos, startLoc, noCalls); - }, state); - if (result.node && !result.error) return result.node; - - if (arrow.node) { - this.state = arrow.failState; - return arrow.node; - } - - if (result.node) { - this.state = result.failState; - return result.node; - } - - throw arrow.error || result.error; - } - - return _get(_getPrototypeOf(_class2.prototype), "parseSubscripts", this).call(this, base, startPos, startLoc, noCalls); - } - }, { - key: "parseSubscript", - value: function parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { - var _this12 = this; - - if (this.match(types.questionDot) && this.isLookaheadRelational("<")) { - this.expectPlugin("optionalChaining"); - subscriptState.optionalChainMember = true; - - if (noCalls) { - subscriptState.stop = true; - return base; - } - - this.next(); - var node = this.startNodeAt(startPos, startLoc); - node.callee = base; - node.typeArguments = this.flowParseTypeParameterInstantiation(); - this.expect(types.parenL); - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - node.optional = true; - return this.finishCallExpression(node, true); - } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) { - var _node4 = this.startNodeAt(startPos, startLoc); - - _node4.callee = base; - var result = this.tryParse(function () { - _node4.typeArguments = _this12.flowParseTypeParameterInstantiationCallOrNew(); - - _this12.expect(types.parenL); - - _node4.arguments = _this12.parseCallExpressionArguments(types.parenR, false); - if (subscriptState.optionalChainMember) _node4.optional = false; - return _this12.finishCallExpression(_node4, subscriptState.optionalChainMember); - }); - - if (result.node) { - if (result.error) this.state = result.failState; - return result.node; - } - } - - return _get(_getPrototypeOf(_class2.prototype), "parseSubscript", this).call(this, base, startPos, startLoc, noCalls, subscriptState); - } - }, { - key: "parseNewArguments", - value: function parseNewArguments(node) { - var _this13 = this; - - var targs = null; - - if (this.shouldParseTypes() && this.isRelational("<")) { - targs = this.tryParse(function () { - return _this13.flowParseTypeParameterInstantiationCallOrNew(); - }).node; - } - - node.typeArguments = targs; - - _get(_getPrototypeOf(_class2.prototype), "parseNewArguments", this).call(this, node); - } - }, { - key: "parseAsyncArrowWithTypeParameters", - value: function parseAsyncArrowWithTypeParameters(startPos, startLoc) { - var node = this.startNodeAt(startPos, startLoc); - this.parseFunctionParams(node); - if (!this.parseArrow(node)) return; - return this.parseArrowExpression(node, undefined, true); - } - }, { - key: "readToken_mult_modulo", - value: function readToken_mult_modulo(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (code === 42 && next === 47 && this.state.hasFlowComment) { - this.state.hasFlowComment = false; - this.state.pos += 2; - this.nextToken(); - return; - } - - _get(_getPrototypeOf(_class2.prototype), "readToken_mult_modulo", this).call(this, code); - } - }, { - key: "readToken_pipe_amp", - value: function readToken_pipe_amp(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (code === 124 && next === 125) { - this.finishOp(types.braceBarR, 2); - return; - } - - _get(_getPrototypeOf(_class2.prototype), "readToken_pipe_amp", this).call(this, code); - } - }, { - key: "parseTopLevel", - value: function parseTopLevel(file, program) { - var fileNode = _get(_getPrototypeOf(_class2.prototype), "parseTopLevel", this).call(this, file, program); - - if (this.state.hasFlowComment) { - this.raise(this.state.pos, "Unterminated flow-comment"); - } - - return fileNode; - } - }, { - key: "skipBlockComment", - value: function skipBlockComment() { - if (this.hasPlugin("flowComments") && this.skipFlowComment()) { - if (this.state.hasFlowComment) { - this.unexpected(null, "Cannot have a flow comment inside another flow comment"); - } - - this.hasFlowCommentCompletion(); - this.state.pos += this.skipFlowComment(); - this.state.hasFlowComment = true; - return; - } - - if (this.state.hasFlowComment) { - var end = this.input.indexOf("*-/", this.state.pos += 2); - - if (end === -1) { - throw this.raise(this.state.pos - 2, "Unterminated comment"); - } - - this.state.pos = end + 3; - return; - } - - _get(_getPrototypeOf(_class2.prototype), "skipBlockComment", this).call(this); - } - }, { - key: "skipFlowComment", - value: function skipFlowComment() { - var pos = this.state.pos; - var shiftToFirstNonWhiteSpace = 2; - - while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { - shiftToFirstNonWhiteSpace++; - } - - var ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); - var ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); - - if (ch2 === 58 && ch3 === 58) { - return shiftToFirstNonWhiteSpace + 2; - } - - if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { - return shiftToFirstNonWhiteSpace + 12; - } - - if (ch2 === 58 && ch3 !== 58) { - return shiftToFirstNonWhiteSpace; - } - - return false; - } - }, { - key: "hasFlowCommentCompletion", - value: function hasFlowCommentCompletion() { - var end = this.input.indexOf("*/", this.state.pos); - - if (end === -1) { - throw this.raise(this.state.pos, "Unterminated comment"); - } - } - }, { - key: "flowEnumErrorBooleanMemberNotInitialized", - value: function flowEnumErrorBooleanMemberNotInitialized(pos, _ref3) { - var enumName = _ref3.enumName, - memberName = _ref3.memberName; - this.raise(pos, "Boolean enum members need to be initialized. Use either `".concat(memberName, " = true,` ") + "or `".concat(memberName, " = false,` in enum `").concat(enumName, "`.")); - } - }, { - key: "flowEnumErrorInvalidMemberName", - value: function flowEnumErrorInvalidMemberName(pos, _ref4) { - var enumName = _ref4.enumName, - memberName = _ref4.memberName; - var suggestion = memberName[0].toUpperCase() + memberName.slice(1); - this.raise(pos, "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using " + "`".concat(memberName, "`, consider using `").concat(suggestion, "`, in enum `").concat(enumName, "`.")); - } - }, { - key: "flowEnumErrorDuplicateMemberName", - value: function flowEnumErrorDuplicateMemberName(pos, _ref5) { - var enumName = _ref5.enumName, - memberName = _ref5.memberName; - this.raise(pos, "Enum member names need to be unique, but the name `".concat(memberName, "` has already been used ") + "before in enum `".concat(enumName, "`.")); - } - }, { - key: "flowEnumErrorInconsistentMemberValues", - value: function flowEnumErrorInconsistentMemberValues(pos, _ref6) { - var enumName = _ref6.enumName; - this.raise(pos, "Enum `".concat(enumName, "` has inconsistent member initializers. Either use no initializers, or ") + "consistently use literals (either booleans, numbers, or strings) for all member initializers."); - } - }, { - key: "flowEnumErrorInvalidExplicitType", - value: function flowEnumErrorInvalidExplicitType(pos, _ref7) { - var enumName = _ref7.enumName, - suppliedType = _ref7.suppliedType; - var suggestion = "Use one of `boolean`, `number`, `string`, or `symbol` in " + "enum `".concat(enumName, "`."); - var message = suppliedType === null ? "Supplied enum type is not valid. ".concat(suggestion) : "Enum type `".concat(suppliedType, "` is not valid. ").concat(suggestion); - return this.raise(pos, message); - } - }, { - key: "flowEnumErrorInvalidMemberInitializer", - value: function flowEnumErrorInvalidMemberInitializer(pos, _ref8) { - var enumName = _ref8.enumName, - explicitType = _ref8.explicitType, - memberName = _ref8.memberName; - var message = null; - - switch (explicitType) { - case "boolean": - case "number": - case "string": - message = "Enum `".concat(enumName, "` has type `").concat(explicitType, "`, so the initializer of ") + "`".concat(memberName, "` needs to be a ").concat(explicitType, " literal."); - break; - - case "symbol": - message = "Symbol enum members cannot be initialized. Use `".concat(memberName, ",` in ") + "enum `".concat(enumName, "`."); - break; - - default: - message = "The enum member initializer for `".concat(memberName, "` needs to be a literal (either ") + "a boolean, number, or string) in enum `".concat(enumName, "`."); - } - - return this.raise(pos, message); - } - }, { - key: "flowEnumErrorNumberMemberNotInitialized", - value: function flowEnumErrorNumberMemberNotInitialized(pos, _ref9) { - var enumName = _ref9.enumName, - memberName = _ref9.memberName; - this.raise(pos, "Number enum members need to be initialized, e.g. `".concat(memberName, " = 1` in enum `").concat(enumName, "`.")); - } - }, { - key: "flowEnumErrorStringMemberInconsistentlyInitailized", - value: function flowEnumErrorStringMemberInconsistentlyInitailized(pos, _ref10) { - var enumName = _ref10.enumName; - this.raise(pos, "String enum members need to consistently either all use initializers, or use no initializers, " + "in enum `".concat(enumName, "`.")); - } - }, { - key: "flowEnumMemberInit", - value: function flowEnumMemberInit() { - var _this14 = this; - - var startPos = this.state.start; - - var endOfInit = function endOfInit() { - return _this14.match(types.comma) || _this14.match(types.braceR); - }; - - switch (this.state.type) { - case types.num: - { - var _literal = this.parseLiteral(this.state.value, "NumericLiteral"); - - if (endOfInit()) { - return { - type: "number", - pos: _literal.start, - value: _literal - }; - } - - return { - type: "invalid", - pos: startPos - }; - } - - case types.string: - { - var _literal2 = this.parseLiteral(this.state.value, "StringLiteral"); - - if (endOfInit()) { - return { - type: "string", - pos: _literal2.start, - value: _literal2 - }; - } - - return { - type: "invalid", - pos: startPos - }; - } - - case types._true: - case types._false: - { - var _literal3 = this.parseBooleanLiteral(); - - if (endOfInit()) { - return { - type: "boolean", - pos: _literal3.start, - value: _literal3 - }; - } - - return { - type: "invalid", - pos: startPos - }; - } - - default: - return { - type: "invalid", - pos: startPos - }; - } - } - }, { - key: "flowEnumMemberRaw", - value: function flowEnumMemberRaw() { - var pos = this.state.start; - var id = this.parseIdentifier(true); - var init = this.eat(types.eq) ? this.flowEnumMemberInit() : { - type: "none", - pos: pos - }; - return { - id: id, - init: init - }; - } - }, { - key: "flowEnumCheckExplicitTypeMismatch", - value: function flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) { - var explicitType = context.explicitType; - - if (explicitType === null) { - return; - } - - if (explicitType !== expectedType) { - this.flowEnumErrorInvalidMemberInitializer(pos, context); - } - } - }, { - key: "flowEnumMembers", - value: function flowEnumMembers(_ref11) { - var enumName = _ref11.enumName, - explicitType = _ref11.explicitType; - var seenNames = new Set(); - var members = { - booleanMembers: [], - numberMembers: [], - stringMembers: [], - defaultedMembers: [] - }; - - while (!this.match(types.braceR)) { - var memberNode = this.startNode(); - - var _this$flowEnumMemberR = this.flowEnumMemberRaw(), - id = _this$flowEnumMemberR.id, - init = _this$flowEnumMemberR.init; - - var memberName = id.name; - - if (memberName === "") { - continue; - } - - if (/^[a-z]/.test(memberName)) { - this.flowEnumErrorInvalidMemberName(id.start, { - enumName: enumName, - memberName: memberName - }); - } - - if (seenNames.has(memberName)) { - this.flowEnumErrorDuplicateMemberName(id.start, { - enumName: enumName, - memberName: memberName - }); - } - - seenNames.add(memberName); - var context = { - enumName: enumName, - explicitType: explicitType, - memberName: memberName - }; - memberNode.id = id; - - switch (init.type) { - case "boolean": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean"); - memberNode.init = init.value; - members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); - break; - } - - case "number": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number"); - memberNode.init = init.value; - members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); - break; - } - - case "string": - { - this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string"); - memberNode.init = init.value; - members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); - break; - } - - case "invalid": - { - throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context); - } - - case "none": - { - switch (explicitType) { - case "boolean": - this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context); - break; - - case "number": - this.flowEnumErrorNumberMemberNotInitialized(init.pos, context); - break; - - default: - members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); - } - } - } - - if (!this.match(types.braceR)) { - this.expect(types.comma); - } - } - - return members; - } - }, { - key: "flowEnumStringBody", - value: function flowEnumStringBody(bodyNode, initializedMembers, defaultedMembers, _ref12) { - var enumName = _ref12.enumName; - - if (initializedMembers.length === 0) { - bodyNode.members = defaultedMembers; - } else if (defaultedMembers.length === 0) { - bodyNode.members = initializedMembers; - } else if (defaultedMembers.length > initializedMembers.length) { - bodyNode.members = defaultedMembers; - - for (var _i = 0; _i < initializedMembers.length; _i++) { - var member = initializedMembers[_i]; - this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { - enumName: enumName - }); - } - } else { - bodyNode.members = initializedMembers; - - for (var _i2 = 0; _i2 < defaultedMembers.length; _i2++) { - var _member = defaultedMembers[_i2]; - this.flowEnumErrorStringMemberInconsistentlyInitailized(_member.start, { - enumName: enumName - }); - } - } - - return this.finishNode(bodyNode, "EnumStringBody"); - } - }, { - key: "flowEnumParseExplicitType", - value: function flowEnumParseExplicitType(_ref13) { - var enumName = _ref13.enumName; - - if (this.eatContextual("of")) { - if (!this.match(types.name)) { - throw this.flowEnumErrorInvalidExplicitType(this.state.start, { - enumName: enumName, - suppliedType: null - }); - } - - var value = this.state.value; - this.next(); - - if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { - this.flowEnumErrorInvalidExplicitType(this.state.start, { - enumName: enumName, - suppliedType: value - }); - } - - return value; - } - - return null; - } - }, { - key: "flowParseEnumDeclaration", - value: function flowParseEnumDeclaration(node) { - var _this15 = this; - - var id = this.parseIdentifier(); - node.id = id; - var enumName = id.name; - var explicitType = this.flowEnumParseExplicitType({ - enumName: enumName - }); - this.expect(types.braceL); - var bodyNode = this.startNode(); - var members = this.flowEnumMembers({ - enumName: enumName, - explicitType: explicitType - }); - - switch (explicitType) { - case "boolean": - bodyNode.explicitType = true; - bodyNode.members = members.booleanMembers; - node.body = this.finishNode(bodyNode, "EnumBooleanBody"); - break; - - case "number": - bodyNode.explicitType = true; - bodyNode.members = members.numberMembers; - node.body = this.finishNode(bodyNode, "EnumNumberBody"); - break; - - case "string": - bodyNode.explicitType = true; - node.body = this.flowEnumStringBody(bodyNode, members.stringMembers, members.defaultedMembers, { - enumName: enumName - }); - break; - - case "symbol": - bodyNode.members = members.defaultedMembers; - node.body = this.finishNode(bodyNode, "EnumSymbolBody"); - break; - - default: - { - var empty = function empty() { - bodyNode.members = []; - return _this15.finishNode(bodyNode, "EnumStringBody"); - }; - - bodyNode.explicitType = false; - var boolsLen = members.booleanMembers.length; - var numsLen = members.numberMembers.length; - var strsLen = members.stringMembers.length; - var defaultedLen = members.defaultedMembers.length; - - if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { - node.body = empty(); - } else if (!boolsLen && !numsLen) { - node.body = this.flowEnumStringBody(bodyNode, members.stringMembers, members.defaultedMembers, { - enumName: enumName - }); - } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { - bodyNode.members = members.booleanMembers; - node.body = this.finishNode(bodyNode, "EnumBooleanBody"); - - for (var _i3 = 0, _members$defaultedMem = members.defaultedMembers; _i3 < _members$defaultedMem.length; _i3++) { - var member = _members$defaultedMem[_i3]; - this.flowEnumErrorBooleanMemberNotInitialized(member.start, { - enumName: enumName, - memberName: member.id.name - }); - } - } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { - bodyNode.members = members.numberMembers; - node.body = this.finishNode(bodyNode, "EnumNumberBody"); - - for (var _i4 = 0, _members$defaultedMem2 = members.defaultedMembers; _i4 < _members$defaultedMem2.length; _i4++) { - var _member2 = _members$defaultedMem2[_i4]; - this.flowEnumErrorNumberMemberNotInitialized(_member2.start, { - enumName: enumName, - memberName: _member2.id.name - }); - } - } else { - node.body = empty(); - this.flowEnumErrorInconsistentMemberValues(id.start, { - enumName: enumName - }); - } - } - } - - this.expect(types.braceR); - return this.finishNode(node, "EnumDeclaration"); - } - }]); - - return _class2; - }(superClass) - ); -}; - -var entities = { - quot: "\"", - amp: "&", - apos: "'", - lt: "<", - gt: ">", - nbsp: "\xA0", - iexcl: "\xA1", - cent: "\xA2", - pound: "\xA3", - curren: "\xA4", - yen: "\xA5", - brvbar: "\xA6", - sect: "\xA7", - uml: "\xA8", - copy: "\xA9", - ordf: "\xAA", - laquo: "\xAB", - not: "\xAC", - shy: "\xAD", - reg: "\xAE", - macr: "\xAF", - deg: "\xB0", - plusmn: "\xB1", - sup2: "\xB2", - sup3: "\xB3", - acute: "\xB4", - micro: "\xB5", - para: "\xB6", - middot: "\xB7", - cedil: "\xB8", - sup1: "\xB9", - ordm: "\xBA", - raquo: "\xBB", - frac14: "\xBC", - frac12: "\xBD", - frac34: "\xBE", - iquest: "\xBF", - Agrave: "\xC0", - Aacute: "\xC1", - Acirc: "\xC2", - Atilde: "\xC3", - Auml: "\xC4", - Aring: "\xC5", - AElig: "\xC6", - Ccedil: "\xC7", - Egrave: "\xC8", - Eacute: "\xC9", - Ecirc: "\xCA", - Euml: "\xCB", - Igrave: "\xCC", - Iacute: "\xCD", - Icirc: "\xCE", - Iuml: "\xCF", - ETH: "\xD0", - Ntilde: "\xD1", - Ograve: "\xD2", - Oacute: "\xD3", - Ocirc: "\xD4", - Otilde: "\xD5", - Ouml: "\xD6", - times: "\xD7", - Oslash: "\xD8", - Ugrave: "\xD9", - Uacute: "\xDA", - Ucirc: "\xDB", - Uuml: "\xDC", - Yacute: "\xDD", - THORN: "\xDE", - szlig: "\xDF", - agrave: "\xE0", - aacute: "\xE1", - acirc: "\xE2", - atilde: "\xE3", - auml: "\xE4", - aring: "\xE5", - aelig: "\xE6", - ccedil: "\xE7", - egrave: "\xE8", - eacute: "\xE9", - ecirc: "\xEA", - euml: "\xEB", - igrave: "\xEC", - iacute: "\xED", - icirc: "\xEE", - iuml: "\xEF", - eth: "\xF0", - ntilde: "\xF1", - ograve: "\xF2", - oacute: "\xF3", - ocirc: "\xF4", - otilde: "\xF5", - ouml: "\xF6", - divide: "\xF7", - oslash: "\xF8", - ugrave: "\xF9", - uacute: "\xFA", - ucirc: "\xFB", - uuml: "\xFC", - yacute: "\xFD", - thorn: "\xFE", - yuml: "\xFF", - OElig: "\u0152", - oelig: "\u0153", - Scaron: "\u0160", - scaron: "\u0161", - Yuml: "\u0178", - fnof: "\u0192", - circ: "\u02C6", - tilde: "\u02DC", - Alpha: "\u0391", - Beta: "\u0392", - Gamma: "\u0393", - Delta: "\u0394", - Epsilon: "\u0395", - Zeta: "\u0396", - Eta: "\u0397", - Theta: "\u0398", - Iota: "\u0399", - Kappa: "\u039A", - Lambda: "\u039B", - Mu: "\u039C", - Nu: "\u039D", - Xi: "\u039E", - Omicron: "\u039F", - Pi: "\u03A0", - Rho: "\u03A1", - Sigma: "\u03A3", - Tau: "\u03A4", - Upsilon: "\u03A5", - Phi: "\u03A6", - Chi: "\u03A7", - Psi: "\u03A8", - Omega: "\u03A9", - alpha: "\u03B1", - beta: "\u03B2", - gamma: "\u03B3", - delta: "\u03B4", - epsilon: "\u03B5", - zeta: "\u03B6", - eta: "\u03B7", - theta: "\u03B8", - iota: "\u03B9", - kappa: "\u03BA", - lambda: "\u03BB", - mu: "\u03BC", - nu: "\u03BD", - xi: "\u03BE", - omicron: "\u03BF", - pi: "\u03C0", - rho: "\u03C1", - sigmaf: "\u03C2", - sigma: "\u03C3", - tau: "\u03C4", - upsilon: "\u03C5", - phi: "\u03C6", - chi: "\u03C7", - psi: "\u03C8", - omega: "\u03C9", - thetasym: "\u03D1", - upsih: "\u03D2", - piv: "\u03D6", - ensp: "\u2002", - emsp: "\u2003", - thinsp: "\u2009", - zwnj: "\u200C", - zwj: "\u200D", - lrm: "\u200E", - rlm: "\u200F", - ndash: "\u2013", - mdash: "\u2014", - lsquo: "\u2018", - rsquo: "\u2019", - sbquo: "\u201A", - ldquo: "\u201C", - rdquo: "\u201D", - bdquo: "\u201E", - dagger: "\u2020", - Dagger: "\u2021", - bull: "\u2022", - hellip: "\u2026", - permil: "\u2030", - prime: "\u2032", - Prime: "\u2033", - lsaquo: "\u2039", - rsaquo: "\u203A", - oline: "\u203E", - frasl: "\u2044", - euro: "\u20AC", - image: "\u2111", - weierp: "\u2118", - real: "\u211C", - trade: "\u2122", - alefsym: "\u2135", - larr: "\u2190", - uarr: "\u2191", - rarr: "\u2192", - darr: "\u2193", - harr: "\u2194", - crarr: "\u21B5", - lArr: "\u21D0", - uArr: "\u21D1", - rArr: "\u21D2", - dArr: "\u21D3", - hArr: "\u21D4", - forall: "\u2200", - part: "\u2202", - exist: "\u2203", - empty: "\u2205", - nabla: "\u2207", - isin: "\u2208", - notin: "\u2209", - ni: "\u220B", - prod: "\u220F", - sum: "\u2211", - minus: "\u2212", - lowast: "\u2217", - radic: "\u221A", - prop: "\u221D", - infin: "\u221E", - ang: "\u2220", - and: "\u2227", - or: "\u2228", - cap: "\u2229", - cup: "\u222A", - int: "\u222B", - there4: "\u2234", - sim: "\u223C", - cong: "\u2245", - asymp: "\u2248", - ne: "\u2260", - equiv: "\u2261", - le: "\u2264", - ge: "\u2265", - sub: "\u2282", - sup: "\u2283", - nsub: "\u2284", - sube: "\u2286", - supe: "\u2287", - oplus: "\u2295", - otimes: "\u2297", - perp: "\u22A5", - sdot: "\u22C5", - lceil: "\u2308", - rceil: "\u2309", - lfloor: "\u230A", - rfloor: "\u230B", - lang: "\u2329", - rang: "\u232A", - loz: "\u25CA", - spades: "\u2660", - clubs: "\u2663", - hearts: "\u2665", - diams: "\u2666" -}; -var HEX_NUMBER = /^[\da-fA-F]+$/; -var DECIMAL_NUMBER = /^\d+$/; -types$1.j_oTag = new TokContext("...", true, true); -types.jsxName = new TokenType("jsxName"); -types.jsxText = new TokenType("jsxText", { - beforeExpr: true -}); -types.jsxTagStart = new TokenType("jsxTagStart", { - startsExpr: true -}); -types.jsxTagEnd = new TokenType("jsxTagEnd"); - -types.jsxTagStart.updateContext = function () { - this.state.context.push(types$1.j_expr); - this.state.context.push(types$1.j_oTag); - this.state.exprAllowed = false; -}; - -types.jsxTagEnd.updateContext = function (prevType) { - var out = this.state.context.pop(); - - if (out === types$1.j_oTag && prevType === types.slash || out === types$1.j_cTag) { - this.state.context.pop(); - this.state.exprAllowed = this.curContext() === types$1.j_expr; - } else { - this.state.exprAllowed = true; - } -}; - -function isFragment(object) { - return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; -} - -function getQualifiedJSXName(object) { - if (object.type === "JSXIdentifier") { - return object.name; - } - - if (object.type === "JSXNamespacedName") { - return object.namespace.name + ":" + object.name.name; - } - - if (object.type === "JSXMemberExpression") { - return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); - } - - throw new Error("Node had unexpected type: " + object.type); -} - -var jsx = function jsx(superClass) { - return ( - /*#__PURE__*/ - function (_superClass3) { - _inherits(_class3, _superClass3); - - function _class3() { - _classCallCheck(this, _class3); - - return _possibleConstructorReturn(this, _getPrototypeOf(_class3).apply(this, arguments)); - } - - _createClass(_class3, [{ - key: "jsxReadToken", - value: function jsxReadToken() { - var out = ""; - var chunkStart = this.state.pos; - - for (;;) { - if (this.state.pos >= this.length) { - throw this.raise(this.state.start, "Unterminated JSX contents"); - } - - var ch = this.input.charCodeAt(this.state.pos); - - switch (ch) { - case 60: - case 123: - if (this.state.pos === this.state.start) { - if (ch === 60 && this.state.exprAllowed) { - ++this.state.pos; - return this.finishToken(types.jsxTagStart); - } - - return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, ch); - } - - out += this.input.slice(chunkStart, this.state.pos); - return this.finishToken(types.jsxText, out); - - case 38: - out += this.input.slice(chunkStart, this.state.pos); - out += this.jsxReadEntity(); - chunkStart = this.state.pos; - break; - - default: - if (isNewLine(ch)) { - out += this.input.slice(chunkStart, this.state.pos); - out += this.jsxReadNewLine(true); - chunkStart = this.state.pos; - } else { - ++this.state.pos; - } - - } - } - } - }, { - key: "jsxReadNewLine", - value: function jsxReadNewLine(normalizeCRLF) { - var ch = this.input.charCodeAt(this.state.pos); - var out; - ++this.state.pos; - - if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { - ++this.state.pos; - out = normalizeCRLF ? "\n" : "\r\n"; - } else { - out = String.fromCharCode(ch); - } - - ++this.state.curLine; - this.state.lineStart = this.state.pos; - return out; - } - }, { - key: "jsxReadString", - value: function jsxReadString(quote) { - var out = ""; - var chunkStart = ++this.state.pos; - - for (;;) { - if (this.state.pos >= this.length) { - throw this.raise(this.state.start, "Unterminated string constant"); - } - - var ch = this.input.charCodeAt(this.state.pos); - if (ch === quote) break; - - if (ch === 38) { - out += this.input.slice(chunkStart, this.state.pos); - out += this.jsxReadEntity(); - chunkStart = this.state.pos; - } else if (isNewLine(ch)) { - out += this.input.slice(chunkStart, this.state.pos); - out += this.jsxReadNewLine(false); - chunkStart = this.state.pos; - } else { - ++this.state.pos; - } - } - - out += this.input.slice(chunkStart, this.state.pos++); - return this.finishToken(types.string, out); - } - }, { - key: "jsxReadEntity", - value: function jsxReadEntity() { - var str = ""; - var count = 0; - var entity; - var ch = this.input[this.state.pos]; - var startPos = ++this.state.pos; - - while (this.state.pos < this.length && count++ < 10) { - ch = this.input[this.state.pos++]; - - if (ch === ";") { - if (str[0] === "#") { - if (str[1] === "x") { - str = str.substr(2); - - if (HEX_NUMBER.test(str)) { - entity = String.fromCodePoint(parseInt(str, 16)); - } - } else { - str = str.substr(1); - - if (DECIMAL_NUMBER.test(str)) { - entity = String.fromCodePoint(parseInt(str, 10)); - } - } - } else { - entity = entities[str]; - } - - break; - } - - str += ch; - } - - if (!entity) { - this.state.pos = startPos; - return "&"; - } - - return entity; - } - }, { - key: "jsxReadWord", - value: function jsxReadWord() { - var ch; - var start = this.state.pos; - - do { - ch = this.input.charCodeAt(++this.state.pos); - } while (isIdentifierChar(ch) || ch === 45); - - return this.finishToken(types.jsxName, this.input.slice(start, this.state.pos)); - } - }, { - key: "jsxParseIdentifier", - value: function jsxParseIdentifier() { - var node = this.startNode(); - - if (this.match(types.jsxName)) { - node.name = this.state.value; - } else if (this.state.type.keyword) { - node.name = this.state.type.keyword; - } else { - this.unexpected(); - } - - this.next(); - return this.finishNode(node, "JSXIdentifier"); - } - }, { - key: "jsxParseNamespacedName", - value: function jsxParseNamespacedName() { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var name = this.jsxParseIdentifier(); - if (!this.eat(types.colon)) return name; - var node = this.startNodeAt(startPos, startLoc); - node.namespace = name; - node.name = this.jsxParseIdentifier(); - return this.finishNode(node, "JSXNamespacedName"); - } - }, { - key: "jsxParseElementName", - value: function jsxParseElementName() { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var node = this.jsxParseNamespacedName(); - - if (node.type === "JSXNamespacedName") { - return node; - } - - while (this.eat(types.dot)) { - var newNode = this.startNodeAt(startPos, startLoc); - newNode.object = node; - newNode.property = this.jsxParseIdentifier(); - node = this.finishNode(newNode, "JSXMemberExpression"); - } - - return node; - } - }, { - key: "jsxParseAttributeValue", - value: function jsxParseAttributeValue() { - var node; - - switch (this.state.type) { - case types.braceL: - node = this.startNode(); - this.next(); - node = this.jsxParseExpressionContainer(node); - - if (node.expression.type === "JSXEmptyExpression") { - this.raise(node.start, "JSX attributes must only be assigned a non-empty expression"); - } - - return node; - - case types.jsxTagStart: - case types.string: - return this.parseExprAtom(); - - default: - throw this.raise(this.state.start, "JSX value should be either an expression or a quoted JSX text"); - } - } - }, { - key: "jsxParseEmptyExpression", - value: function jsxParseEmptyExpression() { - var node = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc); - return this.finishNodeAt(node, "JSXEmptyExpression", this.state.start, this.state.startLoc); - } - }, { - key: "jsxParseSpreadChild", - value: function jsxParseSpreadChild(node) { - this.next(); - node.expression = this.parseExpression(); - this.expect(types.braceR); - return this.finishNode(node, "JSXSpreadChild"); - } - }, { - key: "jsxParseExpressionContainer", - value: function jsxParseExpressionContainer(node) { - if (this.match(types.braceR)) { - node.expression = this.jsxParseEmptyExpression(); - } else { - node.expression = this.parseExpression(); - } - - this.expect(types.braceR); - return this.finishNode(node, "JSXExpressionContainer"); - } - }, { - key: "jsxParseAttribute", - value: function jsxParseAttribute() { - var node = this.startNode(); - - if (this.eat(types.braceL)) { - this.expect(types.ellipsis); - node.argument = this.parseMaybeAssign(); - this.expect(types.braceR); - return this.finishNode(node, "JSXSpreadAttribute"); - } - - node.name = this.jsxParseNamespacedName(); - node.value = this.eat(types.eq) ? this.jsxParseAttributeValue() : null; - return this.finishNode(node, "JSXAttribute"); - } - }, { - key: "jsxParseOpeningElementAt", - value: function jsxParseOpeningElementAt(startPos, startLoc) { - var node = this.startNodeAt(startPos, startLoc); - - if (this.match(types.jsxTagEnd)) { - this.expect(types.jsxTagEnd); - return this.finishNode(node, "JSXOpeningFragment"); - } - - node.name = this.jsxParseElementName(); - return this.jsxParseOpeningElementAfterName(node); - } - }, { - key: "jsxParseOpeningElementAfterName", - value: function jsxParseOpeningElementAfterName(node) { - var attributes = []; - - while (!this.match(types.slash) && !this.match(types.jsxTagEnd)) { - attributes.push(this.jsxParseAttribute()); - } - - node.attributes = attributes; - node.selfClosing = this.eat(types.slash); - this.expect(types.jsxTagEnd); - return this.finishNode(node, "JSXOpeningElement"); - } - }, { - key: "jsxParseClosingElementAt", - value: function jsxParseClosingElementAt(startPos, startLoc) { - var node = this.startNodeAt(startPos, startLoc); - - if (this.match(types.jsxTagEnd)) { - this.expect(types.jsxTagEnd); - return this.finishNode(node, "JSXClosingFragment"); - } - - node.name = this.jsxParseElementName(); - this.expect(types.jsxTagEnd); - return this.finishNode(node, "JSXClosingElement"); - } - }, { - key: "jsxParseElementAt", - value: function jsxParseElementAt(startPos, startLoc) { - var node = this.startNodeAt(startPos, startLoc); - var children = []; - var openingElement = this.jsxParseOpeningElementAt(startPos, startLoc); - var closingElement = null; - - if (!openingElement.selfClosing) { - contents: for (;;) { - switch (this.state.type) { - case types.jsxTagStart: - startPos = this.state.start; - startLoc = this.state.startLoc; - this.next(); - - if (this.eat(types.slash)) { - closingElement = this.jsxParseClosingElementAt(startPos, startLoc); - break contents; - } - - children.push(this.jsxParseElementAt(startPos, startLoc)); - break; - - case types.jsxText: - children.push(this.parseExprAtom()); - break; - - case types.braceL: - { - var _node5 = this.startNode(); - - this.next(); - - if (this.match(types.ellipsis)) { - children.push(this.jsxParseSpreadChild(_node5)); - } else { - children.push(this.jsxParseExpressionContainer(_node5)); - } - - break; - } - - default: - throw this.unexpected(); - } - } - - if (isFragment(openingElement) && !isFragment(closingElement)) { - this.raise(closingElement.start, "Expected corresponding JSX closing tag for <>"); - } else if (!isFragment(openingElement) && isFragment(closingElement)) { - this.raise(closingElement.start, "Expected corresponding JSX closing tag for <" + getQualifiedJSXName(openingElement.name) + ">"); - } else if (!isFragment(openingElement) && !isFragment(closingElement)) { - if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { - this.raise(closingElement.start, "Expected corresponding JSX closing tag for <" + getQualifiedJSXName(openingElement.name) + ">"); - } - } - } - - if (isFragment(openingElement)) { - node.openingFragment = openingElement; - node.closingFragment = closingElement; - } else { - node.openingElement = openingElement; - node.closingElement = closingElement; - } - - node.children = children; - - if (this.isRelational("<")) { - throw this.raise(this.state.start, "Adjacent JSX elements must be wrapped in an enclosing tag. " + "Did you want a JSX fragment <>...?"); - } - - return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); - } - }, { - key: "jsxParseElement", - value: function jsxParseElement() { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - this.next(); - return this.jsxParseElementAt(startPos, startLoc); - } - }, { - key: "parseExprAtom", - value: function parseExprAtom(refShortHandDefaultPos) { - if (this.match(types.jsxText)) { - return this.parseLiteral(this.state.value, "JSXText"); - } else if (this.match(types.jsxTagStart)) { - return this.jsxParseElement(); - } else if (this.isRelational("<") && this.input.charCodeAt(this.state.pos) !== 33) { - this.finishToken(types.jsxTagStart); - return this.jsxParseElement(); - } else { - return _get(_getPrototypeOf(_class3.prototype), "parseExprAtom", this).call(this, refShortHandDefaultPos); - } - } - }, { - key: "getTokenFromCode", - value: function getTokenFromCode(code) { - if (this.state.inPropertyName) return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, code); - var context = this.curContext(); - - if (context === types$1.j_expr) { - return this.jsxReadToken(); - } - - if (context === types$1.j_oTag || context === types$1.j_cTag) { - if (isIdentifierStart(code)) { - return this.jsxReadWord(); - } - - if (code === 62) { - ++this.state.pos; - return this.finishToken(types.jsxTagEnd); - } - - if ((code === 34 || code === 39) && context === types$1.j_oTag) { - return this.jsxReadString(code); - } - } - - if (code === 60 && this.state.exprAllowed && this.input.charCodeAt(this.state.pos + 1) !== 33) { - ++this.state.pos; - return this.finishToken(types.jsxTagStart); - } - - return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, code); - } - }, { - key: "updateContext", - value: function updateContext(prevType) { - if (this.match(types.braceL)) { - var curContext = this.curContext(); - - if (curContext === types$1.j_oTag) { - this.state.context.push(types$1.braceExpression); - } else if (curContext === types$1.j_expr) { - this.state.context.push(types$1.templateQuasi); - } else { - _get(_getPrototypeOf(_class3.prototype), "updateContext", this).call(this, prevType); - } - - this.state.exprAllowed = true; - } else if (this.match(types.slash) && prevType === types.jsxTagStart) { - this.state.context.length -= 2; - this.state.context.push(types$1.j_cTag); - this.state.exprAllowed = false; - } else { - return _get(_getPrototypeOf(_class3.prototype), "updateContext", this).call(this, prevType); - } - } - }]); - - return _class3; - }(superClass) - ); -}; - -var Scope = function Scope(flags) { - _classCallCheck(this, Scope); - - this.var = []; - this.lexical = []; - this.functions = []; - this.flags = flags; -}; - -var ScopeHandler = -/*#__PURE__*/ -function () { - function ScopeHandler(raise, inModule) { - _classCallCheck(this, ScopeHandler); - - this.scopeStack = []; - this.undefinedExports = new Map(); - this.raise = raise; - this.inModule = inModule; - } - - _createClass(ScopeHandler, [{ - key: "createScope", - value: function createScope(flags) { - return new Scope(flags); - } - }, { - key: "enter", - value: function enter(flags) { - this.scopeStack.push(this.createScope(flags)); - } - }, { - key: "exit", - value: function exit() { - this.scopeStack.pop(); - } - }, { - key: "treatFunctionsAsVarInScope", - value: function treatFunctionsAsVarInScope(scope) { - return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM); - } - }, { - key: "declareName", - value: function declareName(name, bindingType, pos) { - var scope = this.currentScope(); - - if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { - this.checkRedeclarationInScope(scope, name, bindingType, pos); - - if (bindingType & BIND_SCOPE_FUNCTION) { - scope.functions.push(name); - } else { - scope.lexical.push(name); - } - - if (bindingType & BIND_SCOPE_LEXICAL) { - this.maybeExportDefined(scope, name); - } - } else if (bindingType & BIND_SCOPE_VAR) { - for (var i = this.scopeStack.length - 1; i >= 0; --i) { - scope = this.scopeStack[i]; - this.checkRedeclarationInScope(scope, name, bindingType, pos); - scope.var.push(name); - this.maybeExportDefined(scope, name); - if (scope.flags & SCOPE_VAR) break; - } - } - - if (this.inModule && scope.flags & SCOPE_PROGRAM) { - this.undefinedExports.delete(name); - } - } - }, { - key: "maybeExportDefined", - value: function maybeExportDefined(scope, name) { - if (this.inModule && scope.flags & SCOPE_PROGRAM) { - this.undefinedExports.delete(name); - } - } - }, { - key: "checkRedeclarationInScope", - value: function checkRedeclarationInScope(scope, name, bindingType, pos) { - if (this.isRedeclaredInScope(scope, name, bindingType)) { - this.raise(pos, "Identifier '".concat(name, "' has already been declared")); - } - } - }, { - key: "isRedeclaredInScope", - value: function isRedeclaredInScope(scope, name, bindingType) { - if (!(bindingType & BIND_KIND_VALUE)) return false; - - if (bindingType & BIND_SCOPE_LEXICAL) { - return scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1; - } - - if (bindingType & BIND_SCOPE_FUNCTION) { - return scope.lexical.indexOf(name) > -1 || !this.treatFunctionsAsVarInScope(scope) && scope.var.indexOf(name) > -1; - } - - return scope.lexical.indexOf(name) > -1 && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical[0] === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.indexOf(name) > -1; - } - }, { - key: "checkLocalExport", - value: function checkLocalExport(id) { - if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && this.scopeStack[0].var.indexOf(id.name) === -1 && this.scopeStack[0].functions.indexOf(id.name) === -1) { - this.undefinedExports.set(id.name, id.start); - } - } - }, { - key: "currentScope", - value: function currentScope() { - return this.scopeStack[this.scopeStack.length - 1]; - } - }, { - key: "currentVarScope", - value: function currentVarScope() { - for (var i = this.scopeStack.length - 1;; i--) { - var scope = this.scopeStack[i]; - - if (scope.flags & SCOPE_VAR) { - return scope; - } - } - } - }, { - key: "currentThisScope", - value: function currentThisScope() { - for (var i = this.scopeStack.length - 1;; i--) { - var scope = this.scopeStack[i]; - - if ((scope.flags & SCOPE_VAR || scope.flags & SCOPE_CLASS) && !(scope.flags & SCOPE_ARROW)) { - return scope; - } - } - } - }, { - key: "inFunction", - get: function get() { - return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0; - } - }, { - key: "inGenerator", - get: function get() { - return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0; - } - }, { - key: "inAsync", - get: function get() { - return (this.currentVarScope().flags & SCOPE_ASYNC) > 0; - } - }, { - key: "allowSuper", - get: function get() { - return (this.currentThisScope().flags & SCOPE_SUPER) > 0; - } - }, { - key: "allowDirectSuper", - get: function get() { - return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0; - } - }, { - key: "inNonArrowFunction", - get: function get() { - return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0; - } - }, { - key: "treatFunctionsAsVar", - get: function get() { - return this.treatFunctionsAsVarInScope(this.currentScope()); - } - }]); - - return ScopeHandler; -}(); - -var TypeScriptScope = -/*#__PURE__*/ -function (_Scope) { - _inherits(TypeScriptScope, _Scope); - - function TypeScriptScope() { - var _getPrototypeOf2; - - var _this16; - - _classCallCheck(this, TypeScriptScope); - - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - _this16 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TypeScriptScope)).call.apply(_getPrototypeOf2, [this].concat(args))); - _this16.types = []; - _this16.enums = []; - _this16.constEnums = []; - _this16.classes = []; - _this16.exportOnlyBindings = []; - return _this16; - } - - return TypeScriptScope; -}(Scope); - -var TypeScriptScopeHandler = -/*#__PURE__*/ -function (_ScopeHandler) { - _inherits(TypeScriptScopeHandler, _ScopeHandler); - - function TypeScriptScopeHandler() { - _classCallCheck(this, TypeScriptScopeHandler); - - return _possibleConstructorReturn(this, _getPrototypeOf(TypeScriptScopeHandler).apply(this, arguments)); - } - - _createClass(TypeScriptScopeHandler, [{ - key: "createScope", - value: function createScope(flags) { - return new TypeScriptScope(flags); - } - }, { - key: "declareName", - value: function declareName(name, bindingType, pos) { - var scope = this.currentScope(); - - if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) { - this.maybeExportDefined(scope, name); - scope.exportOnlyBindings.push(name); - return; - } - - _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "declareName", this).apply(this, arguments); - - if (bindingType & BIND_KIND_TYPE) { - if (!(bindingType & BIND_KIND_VALUE)) { - this.checkRedeclarationInScope(scope, name, bindingType, pos); - this.maybeExportDefined(scope, name); - } - - scope.types.push(name); - } - - if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.push(name); - if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.push(name); - if (bindingType & BIND_FLAGS_CLASS) scope.classes.push(name); - } - }, { - key: "isRedeclaredInScope", - value: function isRedeclaredInScope(scope, name, bindingType) { - if (scope.enums.indexOf(name) > -1) { - if (bindingType & BIND_FLAGS_TS_ENUM) { - var isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM); - var wasConst = scope.constEnums.indexOf(name) > -1; - return isConst !== wasConst; - } - - return true; - } - - if (bindingType & BIND_FLAGS_CLASS && scope.classes.indexOf(name) > -1) { - if (scope.lexical.indexOf(name) > -1) { - return !!(bindingType & BIND_KIND_VALUE); - } else { - return false; - } - } - - if (bindingType & BIND_KIND_TYPE && scope.types.indexOf(name) > -1) { - return true; - } - - return _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "isRedeclaredInScope", this).apply(this, arguments); - } - }, { - key: "checkLocalExport", - value: function checkLocalExport(id) { - if (this.scopeStack[0].types.indexOf(id.name) === -1 && this.scopeStack[0].exportOnlyBindings.indexOf(id.name) === -1) { - _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "checkLocalExport", this).call(this, id); - } - } - }]); - - return TypeScriptScopeHandler; -}(ScopeHandler); - -function nonNull(x) { - if (x == null) { - throw new Error("Unexpected ".concat(x, " value.")); - } - - return x; -} - -function assert(x) { - if (!x) { - throw new Error("Assert fail"); - } -} - -function keywordTypeFromName(value) { - switch (value) { - case "any": - return "TSAnyKeyword"; - - case "boolean": - return "TSBooleanKeyword"; - - case "bigint": - return "TSBigIntKeyword"; - - case "never": - return "TSNeverKeyword"; - - case "number": - return "TSNumberKeyword"; - - case "object": - return "TSObjectKeyword"; - - case "string": - return "TSStringKeyword"; - - case "symbol": - return "TSSymbolKeyword"; - - case "undefined": - return "TSUndefinedKeyword"; - - case "unknown": - return "TSUnknownKeyword"; - - default: - return undefined; - } -} - -var typescript = function typescript(superClass) { - return ( - /*#__PURE__*/ - function (_superClass4) { - _inherits(_class4, _superClass4); - - function _class4() { - _classCallCheck(this, _class4); - - return _possibleConstructorReturn(this, _getPrototypeOf(_class4).apply(this, arguments)); - } - - _createClass(_class4, [{ - key: "getScopeHandler", - value: function getScopeHandler() { - return TypeScriptScopeHandler; - } - }, { - key: "tsIsIdentifier", - value: function tsIsIdentifier() { - return this.match(types.name); - } - }, { - key: "tsNextTokenCanFollowModifier", - value: function tsNextTokenCanFollowModifier() { - this.next(); - return !this.hasPrecedingLineBreak() && !this.match(types.parenL) && !this.match(types.parenR) && !this.match(types.colon) && !this.match(types.eq) && !this.match(types.question) && !this.match(types.bang); - } - }, { - key: "tsParseModifier", - value: function tsParseModifier(allowedModifiers) { - if (!this.match(types.name)) { - return undefined; - } - - var modifier = this.state.value; - - if (allowedModifiers.indexOf(modifier) !== -1 && this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { - return modifier; - } - - return undefined; - } - }, { - key: "tsParseModifiers", - value: function tsParseModifiers(allowedModifiers) { - var modifiers = Object.create(null); - - while (true) { - var startPos = this.state.start; - var modifier = this.tsParseModifier(allowedModifiers); - if (!modifier) break; - - if (Object.hasOwnProperty.call(modifiers, modifier)) { - this.raise(startPos, "Duplicate modifier: '".concat(modifier, "'")); - } - - modifiers[modifier] = true; - } - - return modifiers; - } - }, { - key: "tsIsListTerminator", - value: function tsIsListTerminator(kind) { - switch (kind) { - case "EnumMembers": - case "TypeMembers": - return this.match(types.braceR); - - case "HeritageClauseElement": - return this.match(types.braceL); - - case "TupleElementTypes": - return this.match(types.bracketR); - - case "TypeParametersOrArguments": - return this.isRelational(">"); - } - - throw new Error("Unreachable"); - } - }, { - key: "tsParseList", - value: function tsParseList(kind, parseElement) { - var result = []; - - while (!this.tsIsListTerminator(kind)) { - result.push(parseElement()); - } - - return result; - } - }, { - key: "tsParseDelimitedList", - value: function tsParseDelimitedList(kind, parseElement) { - return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true)); - } - }, { - key: "tsParseDelimitedListWorker", - value: function tsParseDelimitedListWorker(kind, parseElement, expectSuccess) { - var result = []; - - while (true) { - if (this.tsIsListTerminator(kind)) { - break; - } - - var element = parseElement(); - - if (element == null) { - return undefined; - } - - result.push(element); - - if (this.eat(types.comma)) { - continue; - } - - if (this.tsIsListTerminator(kind)) { - break; - } - - if (expectSuccess) { - this.expect(types.comma); - } - - return undefined; - } - - return result; - } - }, { - key: "tsParseBracketedList", - value: function tsParseBracketedList(kind, parseElement, bracket, skipFirstToken) { - if (!skipFirstToken) { - if (bracket) { - this.expect(types.bracketL); - } else { - this.expectRelational("<"); - } - } - - var result = this.tsParseDelimitedList(kind, parseElement); - - if (bracket) { - this.expect(types.bracketR); - } else { - this.expectRelational(">"); - } - - return result; - } - }, { - key: "tsParseImportType", - value: function tsParseImportType() { - var node = this.startNode(); - this.expect(types._import); - this.expect(types.parenL); - - if (!this.match(types.string)) { - this.raise(this.state.start, "Argument in a type import must be a string literal"); - } - - node.argument = this.parseExprAtom(); - this.expect(types.parenR); - - if (this.eat(types.dot)) { - node.qualifier = this.tsParseEntityName(true); - } - - if (this.isRelational("<")) { - node.typeParameters = this.tsParseTypeArguments(); - } - - return this.finishNode(node, "TSImportType"); - } - }, { - key: "tsParseEntityName", - value: function tsParseEntityName(allowReservedWords) { - var entity = this.parseIdentifier(); - - while (this.eat(types.dot)) { - var node = this.startNodeAtNode(entity); - node.left = entity; - node.right = this.parseIdentifier(allowReservedWords); - entity = this.finishNode(node, "TSQualifiedName"); - } - - return entity; - } - }, { - key: "tsParseTypeReference", - value: function tsParseTypeReference() { - var node = this.startNode(); - node.typeName = this.tsParseEntityName(false); - - if (!this.hasPrecedingLineBreak() && this.isRelational("<")) { - node.typeParameters = this.tsParseTypeArguments(); - } - - return this.finishNode(node, "TSTypeReference"); - } - }, { - key: "tsParseThisTypePredicate", - value: function tsParseThisTypePredicate(lhs) { - this.next(); - var node = this.startNodeAtNode(lhs); - node.parameterName = lhs; - node.typeAnnotation = this.tsParseTypeAnnotation(false); - return this.finishNode(node, "TSTypePredicate"); - } - }, { - key: "tsParseThisTypeNode", - value: function tsParseThisTypeNode() { - var node = this.startNode(); - this.next(); - return this.finishNode(node, "TSThisType"); - } - }, { - key: "tsParseTypeQuery", - value: function tsParseTypeQuery() { - var node = this.startNode(); - this.expect(types._typeof); - - if (this.match(types._import)) { - node.exprName = this.tsParseImportType(); - } else { - node.exprName = this.tsParseEntityName(true); - } - - return this.finishNode(node, "TSTypeQuery"); - } - }, { - key: "tsParseTypeParameter", - value: function tsParseTypeParameter() { - var node = this.startNode(); - node.name = this.parseIdentifierName(node.start); - node.constraint = this.tsEatThenParseType(types._extends); - node.default = this.tsEatThenParseType(types.eq); - return this.finishNode(node, "TSTypeParameter"); - } - }, { - key: "tsTryParseTypeParameters", - value: function tsTryParseTypeParameters() { - if (this.isRelational("<")) { - return this.tsParseTypeParameters(); - } - } - }, { - key: "tsParseTypeParameters", - value: function tsParseTypeParameters() { - var node = this.startNode(); - - if (this.isRelational("<") || this.match(types.jsxTagStart)) { - this.next(); - } else { - this.unexpected(); - } - - node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this), false, true); - return this.finishNode(node, "TSTypeParameterDeclaration"); - } - }, { - key: "tsTryNextParseConstantContext", - value: function tsTryNextParseConstantContext() { - if (this.lookahead().type === types._const) { - this.next(); - return this.tsParseTypeReference(); - } - - return null; - } - }, { - key: "tsFillSignature", - value: function tsFillSignature(returnToken, signature) { - var returnTokenRequired = returnToken === types.arrow; - signature.typeParameters = this.tsTryParseTypeParameters(); - this.expect(types.parenL); - signature.parameters = this.tsParseBindingListForSignature(); - - if (returnTokenRequired) { - signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); - } else if (this.match(returnToken)) { - signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); - } - } - }, { - key: "tsParseBindingListForSignature", - value: function tsParseBindingListForSignature() { - var _this17 = this; - - return this.parseBindingList(types.parenR, 41).map(function (pattern) { - if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") { - _this17.raise(pattern.start, "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern," + "instead got ".concat(pattern.type)); - } - - return pattern; - }); - } - }, { - key: "tsParseTypeMemberSemicolon", - value: function tsParseTypeMemberSemicolon() { - if (!this.eat(types.comma)) { - this.semicolon(); - } - } - }, { - key: "tsParseSignatureMember", - value: function tsParseSignatureMember(kind, node) { - this.tsFillSignature(types.colon, node); - this.tsParseTypeMemberSemicolon(); - return this.finishNode(node, kind); - } - }, { - key: "tsIsUnambiguouslyIndexSignature", - value: function tsIsUnambiguouslyIndexSignature() { - this.next(); - return this.eat(types.name) && this.match(types.colon); - } - }, { - key: "tsTryParseIndexSignature", - value: function tsTryParseIndexSignature(node) { - if (!(this.match(types.bracketL) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { - return undefined; - } - - this.expect(types.bracketL); - var id = this.parseIdentifier(); - id.typeAnnotation = this.tsParseTypeAnnotation(); - this.resetEndLocation(id); - this.expect(types.bracketR); - node.parameters = [id]; - var type = this.tsTryParseTypeAnnotation(); - if (type) node.typeAnnotation = type; - this.tsParseTypeMemberSemicolon(); - return this.finishNode(node, "TSIndexSignature"); - } - }, { - key: "tsParsePropertyOrMethodSignature", - value: function tsParsePropertyOrMethodSignature(node, readonly) { - if (this.eat(types.question)) node.optional = true; - var nodeAny = node; - - if (!readonly && (this.match(types.parenL) || this.isRelational("<"))) { - var method = nodeAny; - this.tsFillSignature(types.colon, method); - this.tsParseTypeMemberSemicolon(); - return this.finishNode(method, "TSMethodSignature"); - } else { - var property = nodeAny; - if (readonly) property.readonly = true; - var type = this.tsTryParseTypeAnnotation(); - if (type) property.typeAnnotation = type; - this.tsParseTypeMemberSemicolon(); - return this.finishNode(property, "TSPropertySignature"); - } - } - }, { - key: "tsParseTypeMember", - value: function tsParseTypeMember() { - var node = this.startNode(); - - if (this.match(types.parenL) || this.isRelational("<")) { - return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); - } - - if (this.match(types._new)) { - var id = this.startNode(); - this.next(); - - if (this.match(types.parenL) || this.isRelational("<")) { - return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); - } else { - node.key = this.createIdentifier(id, "new"); - return this.tsParsePropertyOrMethodSignature(node, false); - } - } - - var readonly = !!this.tsParseModifier(["readonly"]); - var idx = this.tsTryParseIndexSignature(node); - - if (idx) { - if (readonly) node.readonly = true; - return idx; - } - - this.parsePropertyName(node); - return this.tsParsePropertyOrMethodSignature(node, readonly); - } - }, { - key: "tsParseTypeLiteral", - value: function tsParseTypeLiteral() { - var node = this.startNode(); - node.members = this.tsParseObjectTypeMembers(); - return this.finishNode(node, "TSTypeLiteral"); - } - }, { - key: "tsParseObjectTypeMembers", - value: function tsParseObjectTypeMembers() { - this.expect(types.braceL); - var members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); - this.expect(types.braceR); - return members; - } - }, { - key: "tsIsStartOfMappedType", - value: function tsIsStartOfMappedType() { - this.next(); - - if (this.eat(types.plusMin)) { - return this.isContextual("readonly"); - } - - if (this.isContextual("readonly")) { - this.next(); - } - - if (!this.match(types.bracketL)) { - return false; - } - - this.next(); - - if (!this.tsIsIdentifier()) { - return false; - } - - this.next(); - return this.match(types._in); - } - }, { - key: "tsParseMappedTypeParameter", - value: function tsParseMappedTypeParameter() { - var node = this.startNode(); - node.name = this.parseIdentifierName(node.start); - node.constraint = this.tsExpectThenParseType(types._in); - return this.finishNode(node, "TSTypeParameter"); - } - }, { - key: "tsParseMappedType", - value: function tsParseMappedType() { - var node = this.startNode(); - this.expect(types.braceL); - - if (this.match(types.plusMin)) { - node.readonly = this.state.value; - this.next(); - this.expectContextual("readonly"); - } else if (this.eatContextual("readonly")) { - node.readonly = true; - } - - this.expect(types.bracketL); - node.typeParameter = this.tsParseMappedTypeParameter(); - this.expect(types.bracketR); - - if (this.match(types.plusMin)) { - node.optional = this.state.value; - this.next(); - this.expect(types.question); - } else if (this.eat(types.question)) { - node.optional = true; - } - - node.typeAnnotation = this.tsTryParseType(); - this.semicolon(); - this.expect(types.braceR); - return this.finishNode(node, "TSMappedType"); - } - }, { - key: "tsParseTupleType", - value: function tsParseTupleType() { - var _this18 = this; - - var node = this.startNode(); - node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); - var seenOptionalElement = false; - node.elementTypes.forEach(function (elementNode) { - if (elementNode.type === "TSOptionalType") { - seenOptionalElement = true; - } else if (seenOptionalElement && elementNode.type !== "TSRestType") { - _this18.raise(elementNode.start, "A required element cannot follow an optional element."); - } - }); - return this.finishNode(node, "TSTupleType"); - } - }, { - key: "tsParseTupleElementType", - value: function tsParseTupleElementType() { - if (this.match(types.ellipsis)) { - var restNode = this.startNode(); - this.next(); - restNode.typeAnnotation = this.tsParseType(); - this.checkCommaAfterRest(93); - return this.finishNode(restNode, "TSRestType"); - } - - var type = this.tsParseType(); - - if (this.eat(types.question)) { - var optionalTypeNode = this.startNodeAtNode(type); - optionalTypeNode.typeAnnotation = type; - return this.finishNode(optionalTypeNode, "TSOptionalType"); - } - - return type; - } - }, { - key: "tsParseParenthesizedType", - value: function tsParseParenthesizedType() { - var node = this.startNode(); - this.expect(types.parenL); - node.typeAnnotation = this.tsParseType(); - this.expect(types.parenR); - return this.finishNode(node, "TSParenthesizedType"); - } - }, { - key: "tsParseFunctionOrConstructorType", - value: function tsParseFunctionOrConstructorType(type) { - var node = this.startNode(); - - if (type === "TSConstructorType") { - this.expect(types._new); - } - - this.tsFillSignature(types.arrow, node); - return this.finishNode(node, type); - } - }, { - key: "tsParseLiteralTypeNode", - value: function tsParseLiteralTypeNode() { - var _this19 = this; - - var node = this.startNode(); - - node.literal = function () { - switch (_this19.state.type) { - case types.num: - case types.string: - case types._true: - case types._false: - return _this19.parseExprAtom(); - - default: - throw _this19.unexpected(); - } - }(); - - return this.finishNode(node, "TSLiteralType"); - } - }, { - key: "tsParseTemplateLiteralType", - value: function tsParseTemplateLiteralType() { - var node = this.startNode(); - var templateNode = this.parseTemplate(false); - - if (templateNode.expressions.length > 0) { - this.raise(templateNode.expressions[0].start, "Template literal types cannot have any substitution"); - } - - node.literal = templateNode; - return this.finishNode(node, "TSLiteralType"); - } - }, { - key: "tsParseNonArrayType", - value: function tsParseNonArrayType() { - switch (this.state.type) { - case types.name: - case types._void: - case types._null: - { - var type = this.match(types._void) ? "TSVoidKeyword" : this.match(types._null) ? "TSNullKeyword" : keywordTypeFromName(this.state.value); - - if (type !== undefined && this.lookaheadCharCode() !== 46) { - var node = this.startNode(); - this.next(); - return this.finishNode(node, type); - } - - return this.tsParseTypeReference(); - } - - case types.string: - case types.num: - case types._true: - case types._false: - return this.tsParseLiteralTypeNode(); - - case types.plusMin: - if (this.state.value === "-") { - var _node6 = this.startNode(); - - if (this.lookahead().type !== types.num) { - throw this.unexpected(); - } - - _node6.literal = this.parseMaybeUnary(); - return this.finishNode(_node6, "TSLiteralType"); - } - - break; - - case types._this: - { - var thisKeyword = this.tsParseThisTypeNode(); - - if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { - return this.tsParseThisTypePredicate(thisKeyword); - } else { - return thisKeyword; - } - } - - case types._typeof: - return this.tsParseTypeQuery(); - - case types._import: - return this.tsParseImportType(); - - case types.braceL: - return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); - - case types.bracketL: - return this.tsParseTupleType(); - - case types.parenL: - return this.tsParseParenthesizedType(); - - case types.backQuote: - return this.tsParseTemplateLiteralType(); - } - - throw this.unexpected(); - } - }, { - key: "tsParseArrayTypeOrHigher", - value: function tsParseArrayTypeOrHigher() { - var type = this.tsParseNonArrayType(); - - while (!this.hasPrecedingLineBreak() && this.eat(types.bracketL)) { - if (this.match(types.bracketR)) { - var node = this.startNodeAtNode(type); - node.elementType = type; - this.expect(types.bracketR); - type = this.finishNode(node, "TSArrayType"); - } else { - var _node7 = this.startNodeAtNode(type); - - _node7.objectType = type; - _node7.indexType = this.tsParseType(); - this.expect(types.bracketR); - type = this.finishNode(_node7, "TSIndexedAccessType"); - } - } - - return type; - } - }, { - key: "tsParseTypeOperator", - value: function tsParseTypeOperator(operator) { - var node = this.startNode(); - this.expectContextual(operator); - node.operator = operator; - node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); - - if (operator === "readonly") { - this.tsCheckTypeAnnotationForReadOnly(node); - } - - return this.finishNode(node, "TSTypeOperator"); - } - }, { - key: "tsCheckTypeAnnotationForReadOnly", - value: function tsCheckTypeAnnotationForReadOnly(node) { - switch (node.typeAnnotation.type) { - case "TSTupleType": - case "TSArrayType": - return; - - default: - this.raise(node.start, "'readonly' type modifier is only permitted on array and tuple literal types."); - } - } - }, { - key: "tsParseInferType", - value: function tsParseInferType() { - var node = this.startNode(); - this.expectContextual("infer"); - var typeParameter = this.startNode(); - typeParameter.name = this.parseIdentifierName(typeParameter.start); - node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); - return this.finishNode(node, "TSInferType"); - } - }, { - key: "tsParseTypeOperatorOrHigher", - value: function tsParseTypeOperatorOrHigher() { - var _this20 = this; - - var operator = ["keyof", "unique", "readonly"].find(function (kw) { - return _this20.isContextual(kw); - }); - return operator ? this.tsParseTypeOperator(operator) : this.isContextual("infer") ? this.tsParseInferType() : this.tsParseArrayTypeOrHigher(); - } - }, { - key: "tsParseUnionOrIntersectionType", - value: function tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { - this.eat(operator); - var type = parseConstituentType(); - - if (this.match(operator)) { - var _types = [type]; - - while (this.eat(operator)) { - _types.push(parseConstituentType()); - } - - var node = this.startNodeAtNode(type); - node.types = _types; - type = this.finishNode(node, kind); - } - - return type; - } - }, { - key: "tsParseIntersectionTypeOrHigher", - value: function tsParseIntersectionTypeOrHigher() { - return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), types.bitwiseAND); - } - }, { - key: "tsParseUnionTypeOrHigher", - value: function tsParseUnionTypeOrHigher() { - return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), types.bitwiseOR); - } - }, { - key: "tsIsStartOfFunctionType", - value: function tsIsStartOfFunctionType() { - if (this.isRelational("<")) { - return true; - } - - return this.match(types.parenL) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); - } - }, { - key: "tsSkipParameterStart", - value: function tsSkipParameterStart() { - if (this.match(types.name) || this.match(types._this)) { - this.next(); - return true; - } - - if (this.match(types.braceL)) { - var braceStackCounter = 1; - this.next(); - - while (braceStackCounter > 0) { - if (this.match(types.braceL)) { - ++braceStackCounter; - } else if (this.match(types.braceR)) { - --braceStackCounter; - } - - this.next(); - } - - return true; - } - - if (this.match(types.bracketL)) { - var _braceStackCounter = 1; - this.next(); - - while (_braceStackCounter > 0) { - if (this.match(types.bracketL)) { - ++_braceStackCounter; - } else if (this.match(types.bracketR)) { - --_braceStackCounter; - } - - this.next(); - } - - return true; - } - - return false; - } - }, { - key: "tsIsUnambiguouslyStartOfFunctionType", - value: function tsIsUnambiguouslyStartOfFunctionType() { - this.next(); - - if (this.match(types.parenR) || this.match(types.ellipsis)) { - return true; - } - - if (this.tsSkipParameterStart()) { - if (this.match(types.colon) || this.match(types.comma) || this.match(types.question) || this.match(types.eq)) { - return true; - } - - if (this.match(types.parenR)) { - this.next(); - - if (this.match(types.arrow)) { - return true; - } - } - } - - return false; - } - }, { - key: "tsParseTypeOrTypePredicateAnnotation", - value: function tsParseTypeOrTypePredicateAnnotation(returnToken) { - var _this21 = this; - - return this.tsInType(function () { - var t = _this21.startNode(); - - _this21.expect(returnToken); - - var asserts = _this21.tsTryParse(_this21.tsParseTypePredicateAsserts.bind(_this21)); - - var typePredicateVariable = _this21.tsIsIdentifier() && _this21.tsTryParse(_this21.tsParseTypePredicatePrefix.bind(_this21)); - - if (!typePredicateVariable) { - if (!asserts) { - return _this21.tsParseTypeAnnotation(false, t); - } - - var _node8 = _this21.startNodeAtNode(t); - - _node8.parameterName = _this21.parseIdentifier(); - _node8.asserts = asserts; - t.typeAnnotation = _this21.finishNode(_node8, "TSTypePredicate"); - return _this21.finishNode(t, "TSTypeAnnotation"); - } - - var type = _this21.tsParseTypeAnnotation(false); - - var node = _this21.startNodeAtNode(t); - - node.parameterName = typePredicateVariable; - node.typeAnnotation = type; - node.asserts = asserts; - t.typeAnnotation = _this21.finishNode(node, "TSTypePredicate"); - return _this21.finishNode(t, "TSTypeAnnotation"); - }); - } - }, { - key: "tsTryParseTypeOrTypePredicateAnnotation", - value: function tsTryParseTypeOrTypePredicateAnnotation() { - return this.match(types.colon) ? this.tsParseTypeOrTypePredicateAnnotation(types.colon) : undefined; - } - }, { - key: "tsTryParseTypeAnnotation", - value: function tsTryParseTypeAnnotation() { - return this.match(types.colon) ? this.tsParseTypeAnnotation() : undefined; - } - }, { - key: "tsTryParseType", - value: function tsTryParseType() { - return this.tsEatThenParseType(types.colon); - } - }, { - key: "tsParseTypePredicatePrefix", - value: function tsParseTypePredicatePrefix() { - var id = this.parseIdentifier(); - - if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { - this.next(); - return id; - } - } - }, { - key: "tsParseTypePredicateAsserts", - value: function tsParseTypePredicateAsserts() { - if (!this.tsIsIdentifier()) { - return false; - } - - var id = this.parseIdentifier(); - - if (id.name !== "asserts" || this.hasPrecedingLineBreak() || !this.tsIsIdentifier()) { - return false; - } - - return true; - } - }, { - key: "tsParseTypeAnnotation", - value: function tsParseTypeAnnotation() { - var _this22 = this; - - var eatColon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.startNode(); - this.tsInType(function () { - if (eatColon) _this22.expect(types.colon); - t.typeAnnotation = _this22.tsParseType(); - }); - return this.finishNode(t, "TSTypeAnnotation"); - } - }, { - key: "tsParseType", - value: function tsParseType() { - assert(this.state.inType); - var type = this.tsParseNonConditionalType(); - - if (this.hasPrecedingLineBreak() || !this.eat(types._extends)) { - return type; - } - - var node = this.startNodeAtNode(type); - node.checkType = type; - node.extendsType = this.tsParseNonConditionalType(); - this.expect(types.question); - node.trueType = this.tsParseType(); - this.expect(types.colon); - node.falseType = this.tsParseType(); - return this.finishNode(node, "TSConditionalType"); - } - }, { - key: "tsParseNonConditionalType", - value: function tsParseNonConditionalType() { - if (this.tsIsStartOfFunctionType()) { - return this.tsParseFunctionOrConstructorType("TSFunctionType"); - } - - if (this.match(types._new)) { - return this.tsParseFunctionOrConstructorType("TSConstructorType"); - } - - return this.tsParseUnionTypeOrHigher(); - } - }, { - key: "tsParseTypeAssertion", - value: function tsParseTypeAssertion() { - var node = this.startNode(); - - var _const = this.tsTryNextParseConstantContext(); - - node.typeAnnotation = _const || this.tsNextThenParseType(); - this.expectRelational(">"); - node.expression = this.parseMaybeUnary(); - return this.finishNode(node, "TSTypeAssertion"); - } - }, { - key: "tsParseHeritageClause", - value: function tsParseHeritageClause(descriptor) { - var originalStart = this.state.start; - var delimitedList = this.tsParseDelimitedList("HeritageClauseElement", this.tsParseExpressionWithTypeArguments.bind(this)); - - if (!delimitedList.length) { - this.raise(originalStart, "'".concat(descriptor, "' list cannot be empty.")); - } - - return delimitedList; - } - }, { - key: "tsParseExpressionWithTypeArguments", - value: function tsParseExpressionWithTypeArguments() { - var node = this.startNode(); - node.expression = this.tsParseEntityName(false); - - if (this.isRelational("<")) { - node.typeParameters = this.tsParseTypeArguments(); - } - - return this.finishNode(node, "TSExpressionWithTypeArguments"); - } - }, { - key: "tsParseInterfaceDeclaration", - value: function tsParseInterfaceDeclaration(node) { - node.id = this.parseIdentifier(); - this.checkLVal(node.id, BIND_TS_INTERFACE, undefined, "typescript interface declaration"); - node.typeParameters = this.tsTryParseTypeParameters(); - - if (this.eat(types._extends)) { - node.extends = this.tsParseHeritageClause("extends"); - } - - var body = this.startNode(); - body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); - node.body = this.finishNode(body, "TSInterfaceBody"); - return this.finishNode(node, "TSInterfaceDeclaration"); - } - }, { - key: "tsParseTypeAliasDeclaration", - value: function tsParseTypeAliasDeclaration(node) { - node.id = this.parseIdentifier(); - this.checkLVal(node.id, BIND_TS_TYPE, undefined, "typescript type alias"); - node.typeParameters = this.tsTryParseTypeParameters(); - node.typeAnnotation = this.tsExpectThenParseType(types.eq); - this.semicolon(); - return this.finishNode(node, "TSTypeAliasDeclaration"); - } - }, { - key: "tsInNoContext", - value: function tsInNoContext(cb) { - var oldContext = this.state.context; - this.state.context = [oldContext[0]]; - - try { - return cb(); - } finally { - this.state.context = oldContext; - } - } - }, { - key: "tsInType", - value: function tsInType(cb) { - var oldInType = this.state.inType; - this.state.inType = true; - - try { - return cb(); - } finally { - this.state.inType = oldInType; - } - } - }, { - key: "tsEatThenParseType", - value: function tsEatThenParseType(token) { - return !this.match(token) ? undefined : this.tsNextThenParseType(); - } - }, { - key: "tsExpectThenParseType", - value: function tsExpectThenParseType(token) { - var _this23 = this; - - return this.tsDoThenParseType(function () { - return _this23.expect(token); - }); - } - }, { - key: "tsNextThenParseType", - value: function tsNextThenParseType() { - var _this24 = this; - - return this.tsDoThenParseType(function () { - return _this24.next(); - }); - } - }, { - key: "tsDoThenParseType", - value: function tsDoThenParseType(cb) { - var _this25 = this; - - return this.tsInType(function () { - cb(); - return _this25.tsParseType(); - }); - } - }, { - key: "tsParseEnumMember", - value: function tsParseEnumMember() { - var node = this.startNode(); - node.id = this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); - - if (this.eat(types.eq)) { - node.initializer = this.parseMaybeAssign(); - } - - return this.finishNode(node, "TSEnumMember"); - } - }, { - key: "tsParseEnumDeclaration", - value: function tsParseEnumDeclaration(node, isConst) { - if (isConst) node.const = true; - node.id = this.parseIdentifier(); - this.checkLVal(node.id, isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM, undefined, "typescript enum declaration"); - this.expect(types.braceL); - node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); - this.expect(types.braceR); - return this.finishNode(node, "TSEnumDeclaration"); - } - }, { - key: "tsParseModuleBlock", - value: function tsParseModuleBlock() { - var node = this.startNode(); - this.scope.enter(SCOPE_OTHER); - this.expect(types.braceL); - this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, types.braceR); - this.scope.exit(); - return this.finishNode(node, "TSModuleBlock"); - } - }, { - key: "tsParseModuleOrNamespaceDeclaration", - value: function tsParseModuleOrNamespaceDeclaration(node) { - var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - node.id = this.parseIdentifier(); - - if (!nested) { - this.checkLVal(node.id, BIND_TS_NAMESPACE, null, "module or namespace declaration"); - } - - if (this.eat(types.dot)) { - var inner = this.startNode(); - this.tsParseModuleOrNamespaceDeclaration(inner, true); - node.body = inner; - } else { - this.scope.enter(SCOPE_TS_MODULE); - node.body = this.tsParseModuleBlock(); - this.scope.exit(); - } - - return this.finishNode(node, "TSModuleDeclaration"); - } - }, { - key: "tsParseAmbientExternalModuleDeclaration", - value: function tsParseAmbientExternalModuleDeclaration(node) { - if (this.isContextual("global")) { - node.global = true; - node.id = this.parseIdentifier(); - } else if (this.match(types.string)) { - node.id = this.parseExprAtom(); - } else { - this.unexpected(); - } - - if (this.match(types.braceL)) { - this.scope.enter(SCOPE_TS_MODULE); - node.body = this.tsParseModuleBlock(); - this.scope.exit(); - } else { - this.semicolon(); - } - - return this.finishNode(node, "TSModuleDeclaration"); - } - }, { - key: "tsParseImportEqualsDeclaration", - value: function tsParseImportEqualsDeclaration(node, isExport) { - node.isExport = isExport || false; - node.id = this.parseIdentifier(); - this.expect(types.eq); - node.moduleReference = this.tsParseModuleReference(); - this.semicolon(); - return this.finishNode(node, "TSImportEqualsDeclaration"); - } - }, { - key: "tsIsExternalModuleReference", - value: function tsIsExternalModuleReference() { - return this.isContextual("require") && this.lookaheadCharCode() === 40; - } - }, { - key: "tsParseModuleReference", - value: function tsParseModuleReference() { - return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); - } - }, { - key: "tsParseExternalModuleReference", - value: function tsParseExternalModuleReference() { - var node = this.startNode(); - this.expectContextual("require"); - this.expect(types.parenL); - - if (!this.match(types.string)) { - throw this.unexpected(); - } - - node.expression = this.parseExprAtom(); - this.expect(types.parenR); - return this.finishNode(node, "TSExternalModuleReference"); - } - }, { - key: "tsLookAhead", - value: function tsLookAhead(f) { - var state = this.state.clone(); - var res = f(); - this.state = state; - return res; - } - }, { - key: "tsTryParseAndCatch", - value: function tsTryParseAndCatch(f) { - var result = this.tryParse(function (abort) { - return f() || abort(); - }); - if (result.aborted || !result.node) return undefined; - if (result.error) this.state = result.failState; - return result.node; - } - }, { - key: "tsTryParse", - value: function tsTryParse(f) { - var state = this.state.clone(); - var result = f(); - - if (result !== undefined && result !== false) { - return result; - } else { - this.state = state; - return undefined; - } - } - }, { - key: "tsTryParseDeclare", - value: function tsTryParseDeclare(nany) { - if (this.isLineTerminator()) { - return; - } - - var starttype = this.state.type; - var kind; - - if (this.isContextual("let")) { - starttype = types._var; - kind = "let"; - } - - switch (starttype) { - case types._function: - return this.parseFunctionStatement(nany, false, true); - - case types._class: - nany.declare = true; - return this.parseClass(nany, true, false); - - case types._const: - if (this.match(types._const) && this.isLookaheadContextual("enum")) { - this.expect(types._const); - this.expectContextual("enum"); - return this.tsParseEnumDeclaration(nany, true); - } - - case types._var: - kind = kind || this.state.value; - return this.parseVarStatement(nany, kind); - - case types.name: - { - var value = this.state.value; - - if (value === "global") { - return this.tsParseAmbientExternalModuleDeclaration(nany); - } else { - return this.tsParseDeclaration(nany, value, true); - } - } - } - } - }, { - key: "tsTryParseExportDeclaration", - value: function tsTryParseExportDeclaration() { - return this.tsParseDeclaration(this.startNode(), this.state.value, true); - } - }, { - key: "tsParseExpressionStatement", - value: function tsParseExpressionStatement(node, expr) { - switch (expr.name) { - case "declare": - { - var declaration = this.tsTryParseDeclare(node); - - if (declaration) { - declaration.declare = true; - return declaration; - } - - break; - } - - case "global": - if (this.match(types.braceL)) { - this.scope.enter(SCOPE_TS_MODULE); - var mod = node; - mod.global = true; - mod.id = expr; - mod.body = this.tsParseModuleBlock(); - this.scope.exit(); - return this.finishNode(mod, "TSModuleDeclaration"); - } - - break; - - default: - return this.tsParseDeclaration(node, expr.name, false); - } - } - }, { - key: "tsParseDeclaration", - value: function tsParseDeclaration(node, value, next) { - switch (value) { - case "abstract": - if (this.tsCheckLineTerminatorAndMatch(types._class, next)) { - var cls = node; - cls.abstract = true; - - if (next) { - this.next(); - - if (!this.match(types._class)) { - this.unexpected(null, types._class); - } - } - - return this.parseClass(cls, true, false); - } - - break; - - case "enum": - if (next || this.match(types.name)) { - if (next) this.next(); - return this.tsParseEnumDeclaration(node, false); - } - - break; - - case "interface": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); - return this.tsParseInterfaceDeclaration(node); - } - - break; - - case "module": - if (next) this.next(); - - if (this.match(types.string)) { - return this.tsParseAmbientExternalModuleDeclaration(node); - } else if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - return this.tsParseModuleOrNamespaceDeclaration(node); - } - - break; - - case "namespace": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); - return this.tsParseModuleOrNamespaceDeclaration(node); - } - - break; - - case "type": - if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { - if (next) this.next(); - return this.tsParseTypeAliasDeclaration(node); - } - - break; - } - } - }, { - key: "tsCheckLineTerminatorAndMatch", - value: function tsCheckLineTerminatorAndMatch(tokenType, next) { - return (next || this.match(tokenType)) && !this.isLineTerminator(); - } - }, { - key: "tsTryParseGenericAsyncArrowFunction", - value: function tsTryParseGenericAsyncArrowFunction(startPos, startLoc) { - var _this26 = this; - - if (!this.isRelational("<")) { - return undefined; - } - - var res = this.tsTryParseAndCatch(function () { - var node = _this26.startNodeAt(startPos, startLoc); - - node.typeParameters = _this26.tsParseTypeParameters(); - - _get(_getPrototypeOf(_class4.prototype), "parseFunctionParams", _this26).call(_this26, node); - - node.returnType = _this26.tsTryParseTypeOrTypePredicateAnnotation(); - - _this26.expect(types.arrow); - - return node; - }); - - if (!res) { - return undefined; - } - - return this.parseArrowExpression(res, null, true); - } - }, { - key: "tsParseTypeArguments", - value: function tsParseTypeArguments() { - var _this27 = this; - - var node = this.startNode(); - node.params = this.tsInType(function () { - return _this27.tsInNoContext(function () { - _this27.expectRelational("<"); - - return _this27.tsParseDelimitedList("TypeParametersOrArguments", _this27.tsParseType.bind(_this27)); - }); - }); - this.state.exprAllowed = false; - this.expectRelational(">"); - return this.finishNode(node, "TSTypeParameterInstantiation"); - } - }, { - key: "tsIsDeclarationStart", - value: function tsIsDeclarationStart() { - if (this.match(types.name)) { - switch (this.state.value) { - case "abstract": - case "declare": - case "enum": - case "interface": - case "module": - case "namespace": - case "type": - return true; - } - } - - return false; - } - }, { - key: "isExportDefaultSpecifier", - value: function isExportDefaultSpecifier() { - if (this.tsIsDeclarationStart()) return false; - return _get(_getPrototypeOf(_class4.prototype), "isExportDefaultSpecifier", this).call(this); - } - }, { - key: "parseAssignableListItem", - value: function parseAssignableListItem(allowModifiers, decorators) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var accessibility; - var readonly = false; - - if (allowModifiers) { - accessibility = this.parseAccessModifier(); - readonly = !!this.tsParseModifier(["readonly"]); - } - - var left = this.parseMaybeDefault(); - this.parseAssignableListItemTypes(left); - var elt = this.parseMaybeDefault(left.start, left.loc.start, left); - - if (accessibility || readonly) { - var pp = this.startNodeAt(startPos, startLoc); - - if (decorators.length) { - pp.decorators = decorators; - } - - if (accessibility) pp.accessibility = accessibility; - if (readonly) pp.readonly = readonly; - - if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { - this.raise(pp.start, "A parameter property may not be declared using a binding pattern."); - } - - pp.parameter = elt; - return this.finishNode(pp, "TSParameterProperty"); - } - - if (decorators.length) { - left.decorators = decorators; - } - - return elt; - } - }, { - key: "parseFunctionBodyAndFinish", - value: function parseFunctionBodyAndFinish(node, type) { - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - - if (this.match(types.colon)) { - node.returnType = this.tsParseTypeOrTypePredicateAnnotation(types.colon); - } - - var bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" ? "TSDeclareMethod" : undefined; - - if (bodilessType && !this.match(types.braceL) && this.isLineTerminator()) { - this.finishNode(node, bodilessType); - return; - } - - _get(_getPrototypeOf(_class4.prototype), "parseFunctionBodyAndFinish", this).call(this, node, type, isMethod); - } - }, { - key: "registerFunctionStatementId", - value: function registerFunctionStatementId(node) { - if (!node.body && node.id) { - this.checkLVal(node.id, BIND_TS_AMBIENT, null, "function name"); - } else { - _get(_getPrototypeOf(_class4.prototype), "registerFunctionStatementId", this).apply(this, arguments); - } - } - }, { - key: "parseSubscript", - value: function parseSubscript(base, startPos, startLoc, noCalls, state) { - var _this28 = this; - - if (!this.hasPrecedingLineBreak() && this.match(types.bang)) { - this.state.exprAllowed = false; - this.next(); - var nonNullExpression = this.startNodeAt(startPos, startLoc); - nonNullExpression.expression = base; - return this.finishNode(nonNullExpression, "TSNonNullExpression"); - } - - if (this.isRelational("<")) { - var result = this.tsTryParseAndCatch(function () { - if (!noCalls && _this28.atPossibleAsync(base)) { - var asyncArrowFn = _this28.tsTryParseGenericAsyncArrowFunction(startPos, startLoc); - - if (asyncArrowFn) { - return asyncArrowFn; - } - } - - var node = _this28.startNodeAt(startPos, startLoc); - - node.callee = base; - - var typeArguments = _this28.tsParseTypeArguments(); - - if (typeArguments) { - if (!noCalls && _this28.eat(types.parenL)) { - node.arguments = _this28.parseCallExpressionArguments(types.parenR, false); - node.typeParameters = typeArguments; - return _this28.finishCallExpression(node, state.optionalChainMember); - } else if (_this28.match(types.backQuote)) { - return _this28.parseTaggedTemplateExpression(startPos, startLoc, base, state, typeArguments); - } - } - - _this28.unexpected(); - }); - if (result) return result; - } - - return _get(_getPrototypeOf(_class4.prototype), "parseSubscript", this).call(this, base, startPos, startLoc, noCalls, state); - } - }, { - key: "parseNewArguments", - value: function parseNewArguments(node) { - var _this29 = this; - - if (this.isRelational("<")) { - var typeParameters = this.tsTryParseAndCatch(function () { - var args = _this29.tsParseTypeArguments(); - - if (!_this29.match(types.parenL)) _this29.unexpected(); - return args; - }); - - if (typeParameters) { - node.typeParameters = typeParameters; - } - } - - _get(_getPrototypeOf(_class4.prototype), "parseNewArguments", this).call(this, node); - } - }, { - key: "parseExprOp", - value: function parseExprOp(left, leftStartPos, leftStartLoc, minPrec, noIn) { - if (nonNull(types._in.binop) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) { - var node = this.startNodeAt(leftStartPos, leftStartLoc); - node.expression = left; - - var _const = this.tsTryNextParseConstantContext(); - - if (_const) { - node.typeAnnotation = _const; - } else { - node.typeAnnotation = this.tsNextThenParseType(); - } - - this.finishNode(node, "TSAsExpression"); - return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn); - } - - return _get(_getPrototypeOf(_class4.prototype), "parseExprOp", this).call(this, left, leftStartPos, leftStartLoc, minPrec, noIn); - } - }, { - key: "checkReservedWord", - value: function checkReservedWord(word, startLoc, checkKeywords, isBinding) {} - }, { - key: "checkDuplicateExports", - value: function checkDuplicateExports() {} - }, { - key: "parseImport", - value: function parseImport(node) { - if (this.match(types.name) && this.lookahead().type === types.eq) { - return this.tsParseImportEqualsDeclaration(node); - } - - return _get(_getPrototypeOf(_class4.prototype), "parseImport", this).call(this, node); - } - }, { - key: "parseExport", - value: function parseExport(node) { - if (this.match(types._import)) { - this.expect(types._import); - return this.tsParseImportEqualsDeclaration(node, true); - } else if (this.eat(types.eq)) { - var assign = node; - assign.expression = this.parseExpression(); - this.semicolon(); - return this.finishNode(assign, "TSExportAssignment"); - } else if (this.eatContextual("as")) { - var decl = node; - this.expectContextual("namespace"); - decl.id = this.parseIdentifier(); - this.semicolon(); - return this.finishNode(decl, "TSNamespaceExportDeclaration"); - } else { - return _get(_getPrototypeOf(_class4.prototype), "parseExport", this).call(this, node); - } - } - }, { - key: "isAbstractClass", - value: function isAbstractClass() { - return this.isContextual("abstract") && this.lookahead().type === types._class; - } - }, { - key: "parseExportDefaultExpression", - value: function parseExportDefaultExpression() { - if (this.isAbstractClass()) { - var cls = this.startNode(); - this.next(); - this.parseClass(cls, true, true); - cls.abstract = true; - return cls; - } - - if (this.state.value === "interface") { - var result = this.tsParseDeclaration(this.startNode(), this.state.value, true); - if (result) return result; - } - - return _get(_getPrototypeOf(_class4.prototype), "parseExportDefaultExpression", this).call(this); - } - }, { - key: "parseStatementContent", - value: function parseStatementContent(context, topLevel) { - if (this.state.type === types._const) { - var ahead = this.lookahead(); - - if (ahead.type === types.name && ahead.value === "enum") { - var node = this.startNode(); - this.expect(types._const); - this.expectContextual("enum"); - return this.tsParseEnumDeclaration(node, true); - } - } - - return _get(_getPrototypeOf(_class4.prototype), "parseStatementContent", this).call(this, context, topLevel); - } - }, { - key: "parseAccessModifier", - value: function parseAccessModifier() { - return this.tsParseModifier(["public", "protected", "private"]); - } - }, { - key: "parseClassMember", - value: function parseClassMember(classBody, member, state, constructorAllowsSuper) { - var accessibility = this.parseAccessModifier(); - if (accessibility) member.accessibility = accessibility; - - _get(_getPrototypeOf(_class4.prototype), "parseClassMember", this).call(this, classBody, member, state, constructorAllowsSuper); - } - }, { - key: "parseClassMemberWithIsStatic", - value: function parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper) { - var modifiers = this.tsParseModifiers(["abstract", "readonly", "declare"]); - Object.assign(member, modifiers); - var idx = this.tsTryParseIndexSignature(member); - - if (idx) { - classBody.body.push(idx); - - if (modifiers.abstract) { - this.raise(member.start, "Index signatures cannot have the 'abstract' modifier"); - } - - if (isStatic) { - this.raise(member.start, "Index signatures cannot have the 'static' modifier"); - } - - if (member.accessibility) { - this.raise(member.start, "Index signatures cannot have an accessibility modifier ('".concat(member.accessibility, "')")); - } - - return; - } - - _get(_getPrototypeOf(_class4.prototype), "parseClassMemberWithIsStatic", this).call(this, classBody, member, state, isStatic, constructorAllowsSuper); - } - }, { - key: "parsePostMemberNameModifiers", - value: function parsePostMemberNameModifiers(methodOrProp) { - var optional = this.eat(types.question); - if (optional) methodOrProp.optional = true; - - if (methodOrProp.readonly && this.match(types.parenL)) { - this.raise(methodOrProp.start, "Class methods cannot have the 'readonly' modifier"); - } - - if (methodOrProp.declare && this.match(types.parenL)) { - this.raise(methodOrProp.start, "Class methods cannot have the 'declare' modifier"); - } - } - }, { - key: "parseExpressionStatement", - value: function parseExpressionStatement(node, expr) { - var decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined; - return decl || _get(_getPrototypeOf(_class4.prototype), "parseExpressionStatement", this).call(this, node, expr); - } - }, { - key: "shouldParseExportDeclaration", - value: function shouldParseExportDeclaration() { - if (this.tsIsDeclarationStart()) return true; - return _get(_getPrototypeOf(_class4.prototype), "shouldParseExportDeclaration", this).call(this); - } - }, { - key: "parseConditional", - value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { - var _this30 = this; - - if (!refNeedsArrowPos || !this.match(types.question)) { - return _get(_getPrototypeOf(_class4.prototype), "parseConditional", this).call(this, expr, noIn, startPos, startLoc, refNeedsArrowPos); - } - - var result = this.tryParse(function () { - return _get(_getPrototypeOf(_class4.prototype), "parseConditional", _this30).call(_this30, expr, noIn, startPos, startLoc); - }); - - if (!result.node) { - refNeedsArrowPos.start = result.error.pos || this.state.start; - return expr; - } - - if (result.error) this.state = result.failState; - return result.node; - } - }, { - key: "parseParenItem", - value: function parseParenItem(node, startPos, startLoc) { - node = _get(_getPrototypeOf(_class4.prototype), "parseParenItem", this).call(this, node, startPos, startLoc); - - if (this.eat(types.question)) { - node.optional = true; - this.resetEndLocation(node); - } - - if (this.match(types.colon)) { - var typeCastNode = this.startNodeAt(startPos, startLoc); - typeCastNode.expression = node; - typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); - return this.finishNode(typeCastNode, "TSTypeCastExpression"); - } - - return node; - } - }, { - key: "parseExportDeclaration", - value: function parseExportDeclaration(node) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var isDeclare = this.eatContextual("declare"); - var declaration; - - if (this.match(types.name)) { - declaration = this.tsTryParseExportDeclaration(); - } - - if (!declaration) { - declaration = _get(_getPrototypeOf(_class4.prototype), "parseExportDeclaration", this).call(this, node); - } - - if (declaration && isDeclare) { - this.resetStartLocation(declaration, startPos, startLoc); - declaration.declare = true; - } - - return declaration; - } - }, { - key: "parseClassId", - value: function parseClassId(node, isStatement, optionalId) { - if ((!isStatement || optionalId) && this.isContextual("implements")) { - return; - } - - _get(_getPrototypeOf(_class4.prototype), "parseClassId", this).call(this, node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS); - - var typeParameters = this.tsTryParseTypeParameters(); - if (typeParameters) node.typeParameters = typeParameters; - } - }, { - key: "parseClassPropertyAnnotation", - value: function parseClassPropertyAnnotation(node) { - if (!node.optional && this.eat(types.bang)) { - node.definite = true; - } - - var type = this.tsTryParseTypeAnnotation(); - if (type) node.typeAnnotation = type; - } - }, { - key: "parseClassProperty", - value: function parseClassProperty(node) { - this.parseClassPropertyAnnotation(node); - - if (node.declare && this.match(types.equal)) { - this.raise(this.state.start, "'declare' class fields cannot have an initializer"); - } - - return _get(_getPrototypeOf(_class4.prototype), "parseClassProperty", this).call(this, node); - } - }, { - key: "parseClassPrivateProperty", - value: function parseClassPrivateProperty(node) { - if (node.abstract) { - this.raise(node.start, "Private elements cannot have the 'abstract' modifier."); - } - - if (node.accessibility) { - this.raise(node.start, "Private elements cannot have an accessibility modifier ('".concat(node.accessibility, "')")); - } - - this.parseClassPropertyAnnotation(node); - return _get(_getPrototypeOf(_class4.prototype), "parseClassPrivateProperty", this).call(this, node); - } - }, { - key: "pushClassMethod", - value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - var typeParameters = this.tsTryParseTypeParameters(); - if (typeParameters) method.typeParameters = typeParameters; - - _get(_getPrototypeOf(_class4.prototype), "pushClassMethod", this).call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); - } - }, { - key: "pushClassPrivateMethod", - value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { - var typeParameters = this.tsTryParseTypeParameters(); - if (typeParameters) method.typeParameters = typeParameters; - - _get(_getPrototypeOf(_class4.prototype), "pushClassPrivateMethod", this).call(this, classBody, method, isGenerator, isAsync); - } - }, { - key: "parseClassSuper", - value: function parseClassSuper(node) { - _get(_getPrototypeOf(_class4.prototype), "parseClassSuper", this).call(this, node); - - if (node.superClass && this.isRelational("<")) { - node.superTypeParameters = this.tsParseTypeArguments(); - } - - if (this.eatContextual("implements")) { - node.implements = this.tsParseHeritageClause("implements"); - } - } - }, { - key: "parseObjPropValue", - value: function parseObjPropValue(prop) { - var _get2; - - var typeParameters = this.tsTryParseTypeParameters(); - if (typeParameters) prop.typeParameters = typeParameters; - - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - (_get2 = _get(_getPrototypeOf(_class4.prototype), "parseObjPropValue", this)).call.apply(_get2, [this, prop].concat(args)); - } - }, { - key: "parseFunctionParams", - value: function parseFunctionParams(node, allowModifiers) { - var typeParameters = this.tsTryParseTypeParameters(); - if (typeParameters) node.typeParameters = typeParameters; - - _get(_getPrototypeOf(_class4.prototype), "parseFunctionParams", this).call(this, node, allowModifiers); - } - }, { - key: "parseVarId", - value: function parseVarId(decl, kind) { - _get(_getPrototypeOf(_class4.prototype), "parseVarId", this).call(this, decl, kind); - - if (decl.id.type === "Identifier" && this.eat(types.bang)) { - decl.definite = true; - } - - var type = this.tsTryParseTypeAnnotation(); - - if (type) { - decl.id.typeAnnotation = type; - this.resetEndLocation(decl.id); - } - } - }, { - key: "parseAsyncArrowFromCallExpression", - value: function parseAsyncArrowFromCallExpression(node, call) { - if (this.match(types.colon)) { - node.returnType = this.tsParseTypeAnnotation(); - } - - return _get(_getPrototypeOf(_class4.prototype), "parseAsyncArrowFromCallExpression", this).call(this, node, call); - } - }, { - key: "parseMaybeAssign", - value: function parseMaybeAssign() { - var _this31 = this; - - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - var state; - var jsx; - var typeCast; - - if (this.match(types.jsxTagStart)) { - state = this.state.clone(); - jsx = this.tryParse(function () { - var _get3; - - return (_get3 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get3, [_this31].concat(args)); - }, state); - if (!jsx.error) return jsx.node; - var context = this.state.context; - - if (context[context.length - 1] === types$1.j_oTag) { - context.length -= 2; - } else if (context[context.length - 1] === types$1.j_expr) { - context.length -= 1; - } - } - - if (!(jsx && jsx.error) && !this.isRelational("<")) { - var _get4; - - return (_get4 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", this)).call.apply(_get4, [this].concat(args)); - } - - var typeParameters; - state = state || this.state.clone(); - var arrow = this.tryParse(function (abort) { - var _get5; - - typeParameters = _this31.tsParseTypeParameters(); - - var expr = (_get5 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get5, [_this31].concat(args)); - - if (expr.type !== "ArrowFunctionExpression" || expr.extra && expr.extra.parenthesized) { - abort(); - } - - if (typeParameters && typeParameters.params.length !== 0) { - _this31.resetStartLocationFromNode(expr, typeParameters); - } - - expr.typeParameters = typeParameters; - return expr; - }, state); - if (!arrow.error && !arrow.aborted) return arrow.node; - - if (!jsx) { - assert(!this.hasPlugin("jsx")); - typeCast = this.tryParse(function () { - var _get6; - - return (_get6 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get6, [_this31].concat(args)); - }, state); - if (!typeCast.error) return typeCast.node; - } - - if (jsx && jsx.node) { - this.state = jsx.failState; - return jsx.node; - } - - if (arrow.node) { - this.state = arrow.failState; - return arrow.node; - } - - if (typeCast && typeCast.node) { - this.state = typeCast.failState; - return typeCast.node; - } - - if (jsx && jsx.thrown) throw jsx.error; - if (arrow.thrown) throw arrow.error; - if (typeCast && typeCast.thrown) throw typeCast.error; - throw jsx && jsx.error || arrow.error || typeCast && typeCast.error; - } - }, { - key: "parseMaybeUnary", - value: function parseMaybeUnary(refShorthandDefaultPos) { - if (!this.hasPlugin("jsx") && this.isRelational("<")) { - return this.tsParseTypeAssertion(); - } else { - return _get(_getPrototypeOf(_class4.prototype), "parseMaybeUnary", this).call(this, refShorthandDefaultPos); - } - } - }, { - key: "parseArrow", - value: function parseArrow(node) { - var _this32 = this; - - if (this.match(types.colon)) { - var result = this.tryParse(function (abort) { - var returnType = _this32.tsParseTypeOrTypePredicateAnnotation(types.colon); - - if (_this32.canInsertSemicolon() || !_this32.match(types.arrow)) abort(); - return returnType; - }); - if (result.aborted) return; - - if (!result.thrown) { - if (result.error) this.state = result.failState; - node.returnType = result.node; - } - } - - return _get(_getPrototypeOf(_class4.prototype), "parseArrow", this).call(this, node); - } - }, { - key: "parseAssignableListItemTypes", - value: function parseAssignableListItemTypes(param) { - if (this.eat(types.question)) { - if (param.type !== "Identifier") { - this.raise(param.start, "A binding pattern parameter cannot be optional in an implementation signature."); - } - - param.optional = true; - } - - var type = this.tsTryParseTypeAnnotation(); - if (type) param.typeAnnotation = type; - this.resetEndLocation(param); - return param; - } - }, { - key: "toAssignable", - value: function toAssignable(node, isBinding, contextDescription) { - switch (node.type) { - case "TSTypeCastExpression": - return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, this.typeCastToParameter(node), isBinding, contextDescription); - - case "TSParameterProperty": - return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); - - case "TSAsExpression": - case "TSNonNullExpression": - case "TSTypeAssertion": - node.expression = this.toAssignable(node.expression, isBinding, contextDescription); - return node; - - default: - return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); - } - } - }, { - key: "checkLVal", - value: function checkLVal(expr) { - var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; - var checkClashes = arguments.length > 2 ? arguments[2] : undefined; - var contextDescription = arguments.length > 3 ? arguments[3] : undefined; - - switch (expr.type) { - case "TSTypeCastExpression": - return; - - case "TSParameterProperty": - this.checkLVal(expr.parameter, bindingType, checkClashes, "parameter property"); - return; - - case "TSAsExpression": - case "TSNonNullExpression": - case "TSTypeAssertion": - this.checkLVal(expr.expression, bindingType, checkClashes, contextDescription); - return; - - default: - _get(_getPrototypeOf(_class4.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription); - - return; - } - } - }, { - key: "parseBindingAtom", - value: function parseBindingAtom() { - switch (this.state.type) { - case types._this: - return this.parseIdentifier(true); - - default: - return _get(_getPrototypeOf(_class4.prototype), "parseBindingAtom", this).call(this); - } - } - }, { - key: "parseMaybeDecoratorArguments", - value: function parseMaybeDecoratorArguments(expr) { - if (this.isRelational("<")) { - var typeArguments = this.tsParseTypeArguments(); - - if (this.match(types.parenL)) { - var call = _get(_getPrototypeOf(_class4.prototype), "parseMaybeDecoratorArguments", this).call(this, expr); - - call.typeParameters = typeArguments; - return call; - } - - this.unexpected(this.state.start, types.parenL); - } - - return _get(_getPrototypeOf(_class4.prototype), "parseMaybeDecoratorArguments", this).call(this, expr); - } - }, { - key: "isClassMethod", - value: function isClassMethod() { - return this.isRelational("<") || _get(_getPrototypeOf(_class4.prototype), "isClassMethod", this).call(this); - } - }, { - key: "isClassProperty", - value: function isClassProperty() { - return this.match(types.bang) || this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "isClassProperty", this).call(this); - } - }, { - key: "parseMaybeDefault", - value: function parseMaybeDefault() { - var _get7; - - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - var node = (_get7 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeDefault", this)).call.apply(_get7, [this].concat(args)); - - if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { - this.raise(node.typeAnnotation.start, "Type annotations must come before default assignments, " + "e.g. instead of `age = 25: number` use `age: number = 25`"); - } - - return node; - } - }, { - key: "getTokenFromCode", - value: function getTokenFromCode(code) { - if (this.state.inType && (code === 62 || code === 60)) { - return this.finishOp(types.relational, 1); - } else { - return _get(_getPrototypeOf(_class4.prototype), "getTokenFromCode", this).call(this, code); - } - } - }, { - key: "toAssignableList", - value: function toAssignableList(exprList) { - for (var i = 0; i < exprList.length; i++) { - var expr = exprList[i]; - if (!expr) continue; - - switch (expr.type) { - case "TSTypeCastExpression": - exprList[i] = this.typeCastToParameter(expr); - break; - - case "TSAsExpression": - case "TSTypeAssertion": - this.raise(expr.start, "Unexpected type cast in parameter position."); - break; - } - } - - return _get(_getPrototypeOf(_class4.prototype), "toAssignableList", this).apply(this, arguments); - } - }, { - key: "typeCastToParameter", - value: function typeCastToParameter(node) { - node.expression.typeAnnotation = node.typeAnnotation; - this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); - return node.expression; - } - }, { - key: "toReferencedList", - value: function toReferencedList(exprList, isInParens) { - for (var i = 0; i < exprList.length; i++) { - var expr = exprList[i]; - - if (expr && expr._exprListItem && expr.type === "TsTypeCastExpression") { - this.raise(expr.start, "Did not expect a type annotation here."); - } - } - - return exprList; - } - }, { - key: "shouldParseArrow", - value: function shouldParseArrow() { - return this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "shouldParseArrow", this).call(this); - } - }, { - key: "shouldParseAsyncArrow", - value: function shouldParseAsyncArrow() { - return this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "shouldParseAsyncArrow", this).call(this); - } - }, { - key: "canHaveLeadingDecorator", - value: function canHaveLeadingDecorator() { - return _get(_getPrototypeOf(_class4.prototype), "canHaveLeadingDecorator", this).call(this) || this.isAbstractClass(); - } - }, { - key: "jsxParseOpeningElementAfterName", - value: function jsxParseOpeningElementAfterName(node) { - var _this33 = this; - - if (this.isRelational("<")) { - var typeArguments = this.tsTryParseAndCatch(function () { - return _this33.tsParseTypeArguments(); - }); - if (typeArguments) node.typeParameters = typeArguments; - } - - return _get(_getPrototypeOf(_class4.prototype), "jsxParseOpeningElementAfterName", this).call(this, node); - } - }, { - key: "getGetterSetterExpectedParamCount", - value: function getGetterSetterExpectedParamCount(method) { - var baseCount = _get(_getPrototypeOf(_class4.prototype), "getGetterSetterExpectedParamCount", this).call(this, method); - - var firstParam = method.params[0]; - var hasContextParam = firstParam && firstParam.type === "Identifier" && firstParam.name === "this"; - return hasContextParam ? baseCount + 1 : baseCount; - } - }]); - - return _class4; - }(superClass) - ); -}; - -types.placeholder = new TokenType("%%", { - startsExpr: true -}); - -var placeholders = function placeholders(superClass) { - return ( - /*#__PURE__*/ - function (_superClass5) { - _inherits(_class5, _superClass5); - - function _class5() { - _classCallCheck(this, _class5); - - return _possibleConstructorReturn(this, _getPrototypeOf(_class5).apply(this, arguments)); - } - - _createClass(_class5, [{ - key: "parsePlaceholder", - value: function parsePlaceholder(expectedNode) { - if (this.match(types.placeholder)) { - var node = this.startNode(); - this.next(); - this.assertNoSpace("Unexpected space in placeholder."); - node.name = _get(_getPrototypeOf(_class5.prototype), "parseIdentifier", this).call(this, true); - this.assertNoSpace("Unexpected space in placeholder."); - this.expect(types.placeholder); - return this.finishPlaceholder(node, expectedNode); - } - } - }, { - key: "finishPlaceholder", - value: function finishPlaceholder(node, expectedNode) { - var isFinished = !!(node.expectedNode && node.type === "Placeholder"); - node.expectedNode = expectedNode; - return isFinished ? node : this.finishNode(node, "Placeholder"); - } - }, { - key: "getTokenFromCode", - value: function getTokenFromCode(code) { - if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { - return this.finishOp(types.placeholder, 2); - } - - return _get(_getPrototypeOf(_class5.prototype), "getTokenFromCode", this).apply(this, arguments); - } - }, { - key: "parseExprAtom", - value: function parseExprAtom() { - return this.parsePlaceholder("Expression") || _get(_getPrototypeOf(_class5.prototype), "parseExprAtom", this).apply(this, arguments); - } - }, { - key: "parseIdentifier", - value: function parseIdentifier() { - return this.parsePlaceholder("Identifier") || _get(_getPrototypeOf(_class5.prototype), "parseIdentifier", this).apply(this, arguments); - } - }, { - key: "checkReservedWord", - value: function checkReservedWord(word) { - if (word !== undefined) _get(_getPrototypeOf(_class5.prototype), "checkReservedWord", this).apply(this, arguments); - } - }, { - key: "parseBindingAtom", - value: function parseBindingAtom() { - return this.parsePlaceholder("Pattern") || _get(_getPrototypeOf(_class5.prototype), "parseBindingAtom", this).apply(this, arguments); - } - }, { - key: "checkLVal", - value: function checkLVal(expr) { - if (expr.type !== "Placeholder") _get(_getPrototypeOf(_class5.prototype), "checkLVal", this).apply(this, arguments); - } - }, { - key: "toAssignable", - value: function toAssignable(node) { - if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { - node.expectedNode = "Pattern"; - return node; - } - - return _get(_getPrototypeOf(_class5.prototype), "toAssignable", this).apply(this, arguments); - } - }, { - key: "verifyBreakContinue", - value: function verifyBreakContinue(node) { - if (node.label && node.label.type === "Placeholder") return; - - _get(_getPrototypeOf(_class5.prototype), "verifyBreakContinue", this).apply(this, arguments); - } - }, { - key: "parseExpressionStatement", - value: function parseExpressionStatement(node, expr) { - if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) { - return _get(_getPrototypeOf(_class5.prototype), "parseExpressionStatement", this).apply(this, arguments); - } - - if (this.match(types.colon)) { - var stmt = node; - stmt.label = this.finishPlaceholder(expr, "Identifier"); - this.next(); - stmt.body = this.parseStatement("label"); - return this.finishNode(stmt, "LabeledStatement"); - } - - this.semicolon(); - node.name = expr.name; - return this.finishPlaceholder(node, "Statement"); - } - }, { - key: "parseBlock", - value: function parseBlock() { - return this.parsePlaceholder("BlockStatement") || _get(_getPrototypeOf(_class5.prototype), "parseBlock", this).apply(this, arguments); - } - }, { - key: "parseFunctionId", - value: function parseFunctionId() { - return this.parsePlaceholder("Identifier") || _get(_getPrototypeOf(_class5.prototype), "parseFunctionId", this).apply(this, arguments); - } - }, { - key: "parseClass", - value: function parseClass(node, isStatement, optionalId) { - var type = isStatement ? "ClassDeclaration" : "ClassExpression"; - this.next(); - this.takeDecorators(node); - var placeholder = this.parsePlaceholder("Identifier"); - - if (placeholder) { - if (this.match(types._extends) || this.match(types.placeholder) || this.match(types.braceL)) { - node.id = placeholder; - } else if (optionalId || !isStatement) { - node.id = null; - node.body = this.finishPlaceholder(placeholder, "ClassBody"); - return this.finishNode(node, type); - } else { - this.unexpected(null, "A class name is required"); - } - } else { - this.parseClassId(node, isStatement, optionalId); - } - - this.parseClassSuper(node); - node.body = this.parsePlaceholder("ClassBody") || this.parseClassBody(!!node.superClass); - return this.finishNode(node, type); - } - }, { - key: "parseExport", - value: function parseExport(node) { - var placeholder = this.parsePlaceholder("Identifier"); - if (!placeholder) return _get(_getPrototypeOf(_class5.prototype), "parseExport", this).apply(this, arguments); - - if (!this.isContextual("from") && !this.match(types.comma)) { - node.specifiers = []; - node.source = null; - node.declaration = this.finishPlaceholder(placeholder, "Declaration"); - return this.finishNode(node, "ExportNamedDeclaration"); - } - - this.expectPlugin("exportDefaultFrom"); - var specifier = this.startNode(); - specifier.exported = placeholder; - node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; - return _get(_getPrototypeOf(_class5.prototype), "parseExport", this).call(this, node); - } - }, { - key: "maybeParseExportDefaultSpecifier", - value: function maybeParseExportDefaultSpecifier(node) { - if (node.specifiers && node.specifiers.length > 0) { - return true; - } - - return _get(_getPrototypeOf(_class5.prototype), "maybeParseExportDefaultSpecifier", this).apply(this, arguments); - } - }, { - key: "checkExport", - value: function checkExport(node) { - var specifiers = node.specifiers; - - if (specifiers && specifiers.length) { - node.specifiers = specifiers.filter(function (node) { - return node.exported.type === "Placeholder"; - }); - } - - _get(_getPrototypeOf(_class5.prototype), "checkExport", this).call(this, node); - - node.specifiers = specifiers; - } - }, { - key: "parseImport", - value: function parseImport(node) { - var placeholder = this.parsePlaceholder("Identifier"); - if (!placeholder) return _get(_getPrototypeOf(_class5.prototype), "parseImport", this).apply(this, arguments); - node.specifiers = []; - - if (!this.isContextual("from") && !this.match(types.comma)) { - node.source = this.finishPlaceholder(placeholder, "StringLiteral"); - this.semicolon(); - return this.finishNode(node, "ImportDeclaration"); - } - - var specifier = this.startNodeAtNode(placeholder); - specifier.local = placeholder; - this.finishNode(specifier, "ImportDefaultSpecifier"); - node.specifiers.push(specifier); - - if (this.eat(types.comma)) { - var hasStarImport = this.maybeParseStarImportSpecifier(node); - if (!hasStarImport) this.parseNamedImportSpecifiers(node); - } - - this.expectContextual("from"); - node.source = this.parseImportSource(); - this.semicolon(); - return this.finishNode(node, "ImportDeclaration"); - } - }, { - key: "parseImportSource", - value: function parseImportSource() { - return this.parsePlaceholder("StringLiteral") || _get(_getPrototypeOf(_class5.prototype), "parseImportSource", this).apply(this, arguments); - } - }]); - - return _class5; - }(superClass) - ); -}; - -var v8intrinsic = function v8intrinsic(superClass) { - return ( - /*#__PURE__*/ - function (_superClass6) { - _inherits(_class6, _superClass6); - - function _class6() { - _classCallCheck(this, _class6); - - return _possibleConstructorReturn(this, _getPrototypeOf(_class6).apply(this, arguments)); - } - - _createClass(_class6, [{ - key: "parseV8Intrinsic", - value: function parseV8Intrinsic() { - if (this.match(types.modulo)) { - var v8IntrinsicStart = this.state.start; - var node = this.startNode(); - this.eat(types.modulo); - - if (this.match(types.name)) { - var name = this.parseIdentifierName(this.state.start); - var identifier = this.createIdentifier(node, name); - identifier.type = "V8IntrinsicIdentifier"; - - if (this.match(types.parenL)) { - return identifier; - } - } - - this.unexpected(v8IntrinsicStart); - } - } - }, { - key: "parseExprAtom", - value: function parseExprAtom() { - return this.parseV8Intrinsic() || _get(_getPrototypeOf(_class6.prototype), "parseExprAtom", this).apply(this, arguments); - } - }]); - - return _class6; - }(superClass) - ); -}; - -function hasPlugin(plugins, name) { - return plugins.some(function (plugin) { - if (Array.isArray(plugin)) { - return plugin[0] === name; - } else { - return plugin === name; - } - }); -} - -function getPluginOption(plugins, name, option) { - var plugin = plugins.find(function (plugin) { - if (Array.isArray(plugin)) { - return plugin[0] === name; - } else { - return plugin === name; - } - }); - - if (plugin && Array.isArray(plugin)) { - return plugin[1][option]; - } - - return null; -} - -var PIPELINE_PROPOSALS = ["minimal", "smart", "fsharp"]; - -function validatePlugins(plugins) { - if (hasPlugin(plugins, "decorators")) { - if (hasPlugin(plugins, "decorators-legacy")) { - throw new Error("Cannot use the decorators and decorators-legacy plugin together"); - } - - var decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); - - if (decoratorsBeforeExport == null) { - throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'."); - } else if (typeof decoratorsBeforeExport !== "boolean") { - throw new Error("'decoratorsBeforeExport' must be a boolean."); - } - } - - if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { - throw new Error("Cannot combine flow and typescript plugins."); - } - - if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { - throw new Error("Cannot combine placeholders and v8intrinsic plugins."); - } - - if (hasPlugin(plugins, "pipelineOperator") && !PIPELINE_PROPOSALS.includes(getPluginOption(plugins, "pipelineOperator", "proposal"))) { - throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: " + PIPELINE_PROPOSALS.map(function (p) { - return "'".concat(p, "'"); - }).join(", ")); - } -} - -var mixinPlugins = { - estree: estree, - jsx: jsx, - flow: flow, - typescript: typescript, - v8intrinsic: v8intrinsic, - placeholders: placeholders -}; -var mixinPluginNames = Object.keys(mixinPlugins); -var defaultOptions = { - sourceType: "script", - sourceFilename: undefined, - startLine: 1, - allowAwaitOutsideFunction: false, - allowReturnOutsideFunction: false, - allowImportExportEverywhere: false, - allowSuperOutsideMethod: false, - allowUndeclaredExports: false, - plugins: [], - strictMode: null, - ranges: false, - tokens: false, - createParenthesizedExpressions: false, - errorRecovery: false -}; - -function getOptions(opts) { - var options = {}; - - for (var _i = 0, _Object$keys = Object.keys(defaultOptions); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; - } - - return options; -} - -var Position = function Position(line, col) { - _classCallCheck(this, Position); - - this.line = line; - this.column = col; -}; - -var SourceLocation = function SourceLocation(start, end) { - _classCallCheck(this, SourceLocation); - - this.start = start; - this.end = end; -}; - -function getLineInfo(input, offset) { - var line = 1; - var lineStart = 0; - var match; - lineBreakG.lastIndex = 0; - - while ((match = lineBreakG.exec(input)) && match.index < offset) { - line++; - lineStart = lineBreakG.lastIndex; - } - - return new Position(line, offset - lineStart); -} - -var BaseParser = -/*#__PURE__*/ -function () { - function BaseParser() { - _classCallCheck(this, BaseParser); - - this.sawUnambiguousESM = false; - this.ambiguousScriptDifferentAst = false; - } - - _createClass(BaseParser, [{ - key: "hasPlugin", - value: function hasPlugin(name) { - return this.plugins.has(name); - } - }, { - key: "getPluginOption", - value: function getPluginOption(plugin, name) { - if (this.hasPlugin(plugin)) return this.plugins.get(plugin)[name]; - } - }]); - - return BaseParser; -}(); - -function last(stack) { - return stack[stack.length - 1]; -} - -var CommentsParser = -/*#__PURE__*/ -function (_BaseParser) { - _inherits(CommentsParser, _BaseParser); - - function CommentsParser() { - _classCallCheck(this, CommentsParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(CommentsParser).apply(this, arguments)); - } - - _createClass(CommentsParser, [{ - key: "addComment", - value: function addComment(comment) { - if (this.filename) comment.loc.filename = this.filename; - this.state.trailingComments.push(comment); - this.state.leadingComments.push(comment); - } - }, { - key: "adjustCommentsAfterTrailingComma", - value: function adjustCommentsAfterTrailingComma(node, elements, takeAllComments) { - if (this.state.leadingComments.length === 0) { - return; - } - - var lastElement = null; - var i = elements.length; - - while (lastElement === null && i > 0) { - lastElement = elements[--i]; - } - - if (lastElement === null) { - return; - } - - for (var j = 0; j < this.state.leadingComments.length; j++) { - if (this.state.leadingComments[j].end < this.state.commentPreviousNode.end) { - this.state.leadingComments.splice(j, 1); - j--; - } - } - - var newTrailingComments = []; - - for (var _i7 = 0; _i7 < this.state.leadingComments.length; _i7++) { - var leadingComment = this.state.leadingComments[_i7]; - - if (leadingComment.end < node.end) { - newTrailingComments.push(leadingComment); - - if (!takeAllComments) { - this.state.leadingComments.splice(_i7, 1); - _i7--; - } - } else { - if (node.trailingComments === undefined) { - node.trailingComments = []; - } - - node.trailingComments.push(leadingComment); - } - } - - if (takeAllComments) this.state.leadingComments = []; - - if (newTrailingComments.length > 0) { - lastElement.trailingComments = newTrailingComments; - } else if (lastElement.trailingComments !== undefined) { - lastElement.trailingComments = []; - } - } - }, { - key: "processComment", - value: function processComment(node) { - if (node.type === "Program" && node.body.length > 0) return; - var stack = this.state.commentStack; - var firstChild, lastChild, trailingComments, i, j; - - if (this.state.trailingComments.length > 0) { - if (this.state.trailingComments[0].start >= node.end) { - trailingComments = this.state.trailingComments; - this.state.trailingComments = []; - } else { - this.state.trailingComments.length = 0; - } - } else if (stack.length > 0) { - var lastInStack = last(stack); - - if (lastInStack.trailingComments && lastInStack.trailingComments[0].start >= node.end) { - trailingComments = lastInStack.trailingComments; - delete lastInStack.trailingComments; - } - } - - if (stack.length > 0 && last(stack).start >= node.start) { - firstChild = stack.pop(); - } - - while (stack.length > 0 && last(stack).start >= node.start) { - lastChild = stack.pop(); - } - - if (!lastChild && firstChild) lastChild = firstChild; - - if (firstChild) { - switch (node.type) { - case "ObjectExpression": - this.adjustCommentsAfterTrailingComma(node, node.properties); - break; - - case "ObjectPattern": - this.adjustCommentsAfterTrailingComma(node, node.properties, true); - break; - - case "CallExpression": - this.adjustCommentsAfterTrailingComma(node, node.arguments); - break; - - case "ArrayExpression": - this.adjustCommentsAfterTrailingComma(node, node.elements); - break; - - case "ArrayPattern": - this.adjustCommentsAfterTrailingComma(node, node.elements, true); - break; - } - } else if (this.state.commentPreviousNode && (this.state.commentPreviousNode.type === "ImportSpecifier" && node.type !== "ImportSpecifier" || this.state.commentPreviousNode.type === "ExportSpecifier" && node.type !== "ExportSpecifier")) { - this.adjustCommentsAfterTrailingComma(node, [this.state.commentPreviousNode], true); - } - - if (lastChild) { - if (lastChild.leadingComments) { - if (lastChild !== node && lastChild.leadingComments.length > 0 && last(lastChild.leadingComments).end <= node.start) { - node.leadingComments = lastChild.leadingComments; - delete lastChild.leadingComments; - } else { - for (i = lastChild.leadingComments.length - 2; i >= 0; --i) { - if (lastChild.leadingComments[i].end <= node.start) { - node.leadingComments = lastChild.leadingComments.splice(0, i + 1); - break; - } - } - } - } - } else if (this.state.leadingComments.length > 0) { - if (last(this.state.leadingComments).end <= node.start) { - if (this.state.commentPreviousNode) { - for (j = 0; j < this.state.leadingComments.length; j++) { - if (this.state.leadingComments[j].end < this.state.commentPreviousNode.end) { - this.state.leadingComments.splice(j, 1); - j--; - } - } - } - - if (this.state.leadingComments.length > 0) { - node.leadingComments = this.state.leadingComments; - this.state.leadingComments = []; - } - } else { - for (i = 0; i < this.state.leadingComments.length; i++) { - if (this.state.leadingComments[i].end > node.start) { - break; - } - } - - var leadingComments = this.state.leadingComments.slice(0, i); - - if (leadingComments.length) { - node.leadingComments = leadingComments; - } - - trailingComments = this.state.leadingComments.slice(i); - - if (trailingComments.length === 0) { - trailingComments = null; - } - } - } - - this.state.commentPreviousNode = node; - - if (trailingComments) { - if (trailingComments.length && trailingComments[0].start >= node.start && last(trailingComments).end <= node.end) { - node.innerComments = trailingComments; - } else { - node.trailingComments = trailingComments; - } - } - - stack.push(node); - } - }]); - - return CommentsParser; -}(BaseParser); - -var LocationParser = -/*#__PURE__*/ -function (_CommentsParser) { - _inherits(LocationParser, _CommentsParser); - - function LocationParser() { - _classCallCheck(this, LocationParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(LocationParser).apply(this, arguments)); - } - - _createClass(LocationParser, [{ - key: "getLocationForPosition", - value: function getLocationForPosition(pos) { - var loc; - if (pos === this.state.start) loc = this.state.startLoc;else if (pos === this.state.lastTokStart) loc = this.state.lastTokStartLoc;else if (pos === this.state.end) loc = this.state.endLoc;else if (pos === this.state.lastTokEnd) loc = this.state.lastTokEndLoc;else loc = getLineInfo(this.input, pos); - return loc; - } - }, { - key: "raise", - value: function raise(pos, message) { - var _ref14 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, - missingPluginNames = _ref14.missingPluginNames, - code = _ref14.code; - - var loc = this.getLocationForPosition(pos); - message += " (".concat(loc.line, ":").concat(loc.column, ")"); - var err = new SyntaxError(message); - err.pos = pos; - err.loc = loc; - - if (missingPluginNames) { - err.missingPlugin = missingPluginNames; - } - - if (code !== undefined) { - err.code = code; - } - - if (this.options.errorRecovery) { - if (!this.isLookahead) this.state.errors.push(err); - return err; - } else { - throw err; - } - } - }]); - - return LocationParser; -}(CommentsParser); - -var State = -/*#__PURE__*/ -function () { - function State() { - _classCallCheck(this, State); - - this.errors = []; - this.potentialArrowAt = -1; - this.noArrowAt = []; - this.noArrowParamsConversionAt = []; - this.inParameters = false; - this.maybeInArrowParameters = false; - this.inPipeline = false; - this.inType = false; - this.noAnonFunctionType = false; - this.inPropertyName = false; - this.inClassProperty = false; - this.hasFlowComment = false; - this.isIterator = false; - this.topicContext = { - maxNumOfResolvableTopics: 0, - maxTopicIndex: null - }; - this.soloAwait = false; - this.inFSharpPipelineDirectBody = false; - this.classLevel = 0; - this.labels = []; - this.decoratorStack = [[]]; - this.yieldPos = -1; - this.awaitPos = -1; - this.tokens = []; - this.comments = []; - this.trailingComments = []; - this.leadingComments = []; - this.commentStack = []; - this.commentPreviousNode = null; - this.pos = 0; - this.lineStart = 0; - this.type = types.eof; - this.value = null; - this.start = 0; - this.end = 0; - this.lastTokEndLoc = null; - this.lastTokStartLoc = null; - this.lastTokStart = 0; - this.lastTokEnd = 0; - this.context = [types$1.braceStatement]; - this.exprAllowed = true; - this.containsEsc = false; - this.containsOctal = false; - this.octalPosition = null; - this.exportedIdentifiers = []; - this.invalidTemplateEscapePosition = null; - } - - _createClass(State, [{ - key: "init", - value: function init(options) { - this.strict = options.strictMode === false ? false : options.sourceType === "module"; - this.curLine = options.startLine; - this.startLoc = this.endLoc = this.curPosition(); - } - }, { - key: "curPosition", - value: function curPosition() { - return new Position(this.curLine, this.pos - this.lineStart); - } - }, { - key: "clone", - value: function clone(skipArrays) { - var state = new State(); - var keys = Object.keys(this); - - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i]; - var val = this[key]; - - if (!skipArrays && Array.isArray(val)) { - val = val.slice(); - } - - state[key] = val; - } - - return state; - } - }]); - - return State; -}(); - -var _isDigit = function isDigit(code) { - return code >= 48 && code <= 57; -}; - -var VALID_REGEX_FLAGS = new Set(["g", "m", "s", "i", "y", "u"]); -var forbiddenNumericSeparatorSiblings = { - decBinOct: [46, 66, 69, 79, 95, 98, 101, 111], - hex: [46, 88, 95, 120] -}; -var allowedNumericSeparatorSiblings = {}; -allowedNumericSeparatorSiblings.bin = [48, 49]; -allowedNumericSeparatorSiblings.oct = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.bin), [50, 51, 52, 53, 54, 55]); -allowedNumericSeparatorSiblings.dec = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.oct), [56, 57]); -allowedNumericSeparatorSiblings.hex = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.dec), [65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102]); - -var Token = function Token(state) { - _classCallCheck(this, Token); - - this.type = state.type; - this.value = state.value; - this.start = state.start; - this.end = state.end; - this.loc = new SourceLocation(state.startLoc, state.endLoc); -}; - -var Tokenizer = -/*#__PURE__*/ -function (_LocationParser) { - _inherits(Tokenizer, _LocationParser); - - function Tokenizer(options, input) { - var _this34; - - _classCallCheck(this, Tokenizer); - - _this34 = _possibleConstructorReturn(this, _getPrototypeOf(Tokenizer).call(this)); - _this34.state = new State(); - - _this34.state.init(options); - - _this34.input = input; - _this34.length = input.length; - _this34.isLookahead = false; - return _this34; - } - - _createClass(Tokenizer, [{ - key: "next", - value: function next() { - if (!this.isLookahead) { - this.checkKeywordEscapes(); - - if (this.options.tokens) { - this.state.tokens.push(new Token(this.state)); - } - } - - this.state.lastTokEnd = this.state.end; - this.state.lastTokStart = this.state.start; - this.state.lastTokEndLoc = this.state.endLoc; - this.state.lastTokStartLoc = this.state.startLoc; - this.nextToken(); - } - }, { - key: "eat", - value: function eat(type) { - if (this.match(type)) { - this.next(); - return true; - } else { - return false; - } - } - }, { - key: "match", - value: function match(type) { - return this.state.type === type; - } - }, { - key: "lookahead", - value: function lookahead() { - var old = this.state; - this.state = old.clone(true); - this.isLookahead = true; - this.next(); - this.isLookahead = false; - var curr = this.state; - this.state = old; - return curr; - } - }, { - key: "nextTokenStart", - value: function nextTokenStart() { - var thisTokEnd = this.state.pos; - skipWhiteSpace.lastIndex = thisTokEnd; - var skip = skipWhiteSpace.exec(this.input); - return thisTokEnd + skip[0].length; - } - }, { - key: "lookaheadCharCode", - value: function lookaheadCharCode() { - return this.input.charCodeAt(this.nextTokenStart()); - } - }, { - key: "setStrict", - value: function setStrict(strict) { - this.state.strict = strict; - if (!this.match(types.num) && !this.match(types.string)) return; - this.state.pos = this.state.start; - - while (this.state.pos < this.state.lineStart) { - this.state.lineStart = this.input.lastIndexOf("\n", this.state.lineStart - 2) + 1; - --this.state.curLine; - } - - this.nextToken(); - } - }, { - key: "curContext", - value: function curContext() { - return this.state.context[this.state.context.length - 1]; - } - }, { - key: "nextToken", - value: function nextToken() { - var curContext = this.curContext(); - if (!curContext || !curContext.preserveSpace) this.skipSpace(); - this.state.containsOctal = false; - this.state.octalPosition = null; - this.state.start = this.state.pos; - this.state.startLoc = this.state.curPosition(); - - if (this.state.pos >= this.length) { - this.finishToken(types.eof); - return; - } - - if (curContext.override) { - curContext.override(this); - } else { - this.getTokenFromCode(this.input.codePointAt(this.state.pos)); - } - } - }, { - key: "pushComment", - value: function pushComment(block, text, start, end, startLoc, endLoc) { - var comment = { - type: block ? "CommentBlock" : "CommentLine", - value: text, - start: start, - end: end, - loc: new SourceLocation(startLoc, endLoc) - }; - if (this.options.tokens) this.state.tokens.push(comment); - this.state.comments.push(comment); - this.addComment(comment); - } - }, { - key: "skipBlockComment", - value: function skipBlockComment() { - var startLoc = this.state.curPosition(); - var start = this.state.pos; - var end = this.input.indexOf("*/", this.state.pos + 2); - if (end === -1) throw this.raise(start, "Unterminated comment"); - this.state.pos = end + 2; - lineBreakG.lastIndex = start; - var match; - - while ((match = lineBreakG.exec(this.input)) && match.index < this.state.pos) { - ++this.state.curLine; - this.state.lineStart = match.index + match[0].length; - } - - if (this.isLookahead) return; - this.pushComment(true, this.input.slice(start + 2, end), start, this.state.pos, startLoc, this.state.curPosition()); - } - }, { - key: "skipLineComment", - value: function skipLineComment(startSkip) { - var start = this.state.pos; - var startLoc = this.state.curPosition(); - var ch = this.input.charCodeAt(this.state.pos += startSkip); - - if (this.state.pos < this.length) { - while (!isNewLine(ch) && ++this.state.pos < this.length) { - ch = this.input.charCodeAt(this.state.pos); - } - } - - if (this.isLookahead) return; - this.pushComment(false, this.input.slice(start + startSkip, this.state.pos), start, this.state.pos, startLoc, this.state.curPosition()); - } - }, { - key: "skipSpace", - value: function skipSpace() { - loop: while (this.state.pos < this.length) { - var ch = this.input.charCodeAt(this.state.pos); - - switch (ch) { - case 32: - case 160: - case 9: - ++this.state.pos; - break; - - case 13: - if (this.input.charCodeAt(this.state.pos + 1) === 10) { - ++this.state.pos; - } - - case 10: - case 8232: - case 8233: - ++this.state.pos; - ++this.state.curLine; - this.state.lineStart = this.state.pos; - break; - - case 47: - switch (this.input.charCodeAt(this.state.pos + 1)) { - case 42: - this.skipBlockComment(); - break; - - case 47: - this.skipLineComment(2); - break; - - default: - break loop; - } - - break; - - default: - if (isWhitespace(ch)) { - ++this.state.pos; - } else { - break loop; - } - - } - } - } - }, { - key: "finishToken", - value: function finishToken(type, val) { - this.state.end = this.state.pos; - this.state.endLoc = this.state.curPosition(); - var prevType = this.state.type; - this.state.type = type; - this.state.value = val; - if (!this.isLookahead) this.updateContext(prevType); - } - }, { - key: "readToken_numberSign", - value: function readToken_numberSign() { - if (this.state.pos === 0 && this.readToken_interpreter()) { - return; - } - - var nextPos = this.state.pos + 1; - var next = this.input.charCodeAt(nextPos); - - if (next >= 48 && next <= 57) { - throw this.raise(this.state.pos, "Unexpected digit after hash token"); - } - - if ((this.hasPlugin("classPrivateProperties") || this.hasPlugin("classPrivateMethods")) && this.state.classLevel > 0) { - ++this.state.pos; - this.finishToken(types.hash); - return; - } else if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { - this.finishOp(types.hash, 1); - } else { - throw this.raise(this.state.pos, "Unexpected character '#'"); - } - } - }, { - key: "readToken_dot", - value: function readToken_dot() { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next >= 48 && next <= 57) { - this.readNumber(true); - return; - } - - if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { - this.state.pos += 3; - this.finishToken(types.ellipsis); - } else { - ++this.state.pos; - this.finishToken(types.dot); - } - } - }, { - key: "readToken_slash", - value: function readToken_slash() { - if (this.state.exprAllowed && !this.state.inType) { - ++this.state.pos; - this.readRegexp(); - return; - } - - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === 61) { - this.finishOp(types.assign, 2); - } else { - this.finishOp(types.slash, 1); - } - } - }, { - key: "readToken_interpreter", - value: function readToken_interpreter() { - if (this.state.pos !== 0 || this.length < 2) return false; - var start = this.state.pos; - this.state.pos += 1; - var ch = this.input.charCodeAt(this.state.pos); - if (ch !== 33) return false; - - while (!isNewLine(ch) && ++this.state.pos < this.length) { - ch = this.input.charCodeAt(this.state.pos); - } - - var value = this.input.slice(start + 2, this.state.pos); - this.finishToken(types.interpreterDirective, value); - return true; - } - }, { - key: "readToken_mult_modulo", - value: function readToken_mult_modulo(code) { - var type = code === 42 ? types.star : types.modulo; - var width = 1; - var next = this.input.charCodeAt(this.state.pos + 1); - var exprAllowed = this.state.exprAllowed; - - if (code === 42 && next === 42) { - width++; - next = this.input.charCodeAt(this.state.pos + 2); - type = types.exponent; - } - - if (next === 61 && !exprAllowed) { - width++; - type = types.assign; - } - - this.finishOp(type, width); - } - }, { - key: "readToken_pipe_amp", - value: function readToken_pipe_amp(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === code) { - if (this.input.charCodeAt(this.state.pos + 2) === 61) { - this.finishOp(types.assign, 3); - } else { - this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2); - } - - return; - } - - if (code === 124) { - if (next === 62) { - this.finishOp(types.pipeline, 2); - return; - } - } - - if (next === 61) { - this.finishOp(types.assign, 2); - return; - } - - this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1); - } - }, { - key: "readToken_caret", - value: function readToken_caret() { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === 61) { - this.finishOp(types.assign, 2); - } else { - this.finishOp(types.bitwiseXOR, 1); - } - } - }, { - key: "readToken_plus_min", - value: function readToken_plus_min(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === code) { - if (next === 45 && !this.inModule && this.input.charCodeAt(this.state.pos + 2) === 62 && (this.state.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.pos)))) { - this.skipLineComment(3); - this.skipSpace(); - this.nextToken(); - return; - } - - this.finishOp(types.incDec, 2); - return; - } - - if (next === 61) { - this.finishOp(types.assign, 2); - } else { - this.finishOp(types.plusMin, 1); - } - } - }, { - key: "readToken_lt_gt", - value: function readToken_lt_gt(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - var size = 1; - - if (next === code) { - size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; - - if (this.input.charCodeAt(this.state.pos + size) === 61) { - this.finishOp(types.assign, size + 1); - return; - } - - this.finishOp(types.bitShift, size); - return; - } - - if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.state.pos + 2) === 45 && this.input.charCodeAt(this.state.pos + 3) === 45) { - this.skipLineComment(4); - this.skipSpace(); - this.nextToken(); - return; - } - - if (next === 61) { - size = 2; - } - - this.finishOp(types.relational, size); - } - }, { - key: "readToken_eq_excl", - value: function readToken_eq_excl(code) { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === 61) { - this.finishOp(types.equality, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); - return; - } - - if (code === 61 && next === 62) { - this.state.pos += 2; - this.finishToken(types.arrow); - return; - } - - this.finishOp(code === 61 ? types.eq : types.bang, 1); - } - }, { - key: "readToken_question", - value: function readToken_question() { - var next = this.input.charCodeAt(this.state.pos + 1); - var next2 = this.input.charCodeAt(this.state.pos + 2); - - if (next === 63 && !this.state.inType) { - if (next2 === 61) { - this.finishOp(types.assign, 3); - } else { - this.finishOp(types.nullishCoalescing, 2); - } - } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { - this.state.pos += 2; - this.finishToken(types.questionDot); - } else { - ++this.state.pos; - this.finishToken(types.question); - } - } - }, { - key: "getTokenFromCode", - value: function getTokenFromCode(code) { - switch (code) { - case 46: - this.readToken_dot(); - return; - - case 40: - ++this.state.pos; - this.finishToken(types.parenL); - return; - - case 41: - ++this.state.pos; - this.finishToken(types.parenR); - return; - - case 59: - ++this.state.pos; - this.finishToken(types.semi); - return; - - case 44: - ++this.state.pos; - this.finishToken(types.comma); - return; - - case 91: - ++this.state.pos; - this.finishToken(types.bracketL); - return; - - case 93: - ++this.state.pos; - this.finishToken(types.bracketR); - return; - - case 123: - ++this.state.pos; - this.finishToken(types.braceL); - return; - - case 125: - ++this.state.pos; - this.finishToken(types.braceR); - return; - - case 58: - if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { - this.finishOp(types.doubleColon, 2); - } else { - ++this.state.pos; - this.finishToken(types.colon); - } - - return; - - case 63: - this.readToken_question(); - return; - - case 96: - ++this.state.pos; - this.finishToken(types.backQuote); - return; - - case 48: - { - var next = this.input.charCodeAt(this.state.pos + 1); - - if (next === 120 || next === 88) { - this.readRadixNumber(16); - return; - } - - if (next === 111 || next === 79) { - this.readRadixNumber(8); - return; - } - - if (next === 98 || next === 66) { - this.readRadixNumber(2); - return; - } - } - - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - this.readNumber(false); - return; - - case 34: - case 39: - this.readString(code); - return; - - case 47: - this.readToken_slash(); - return; - - case 37: - case 42: - this.readToken_mult_modulo(code); - return; - - case 124: - case 38: - this.readToken_pipe_amp(code); - return; - - case 94: - this.readToken_caret(); - return; - - case 43: - case 45: - this.readToken_plus_min(code); - return; - - case 60: - case 62: - this.readToken_lt_gt(code); - return; - - case 61: - case 33: - this.readToken_eq_excl(code); - return; - - case 126: - this.finishOp(types.tilde, 1); - return; - - case 64: - ++this.state.pos; - this.finishToken(types.at); - return; - - case 35: - this.readToken_numberSign(); - return; - - case 92: - this.readWord(); - return; - - default: - if (isIdentifierStart(code)) { - this.readWord(); - return; - } - - } - - throw this.raise(this.state.pos, "Unexpected character '".concat(String.fromCodePoint(code), "'")); - } - }, { - key: "finishOp", - value: function finishOp(type, size) { - var str = this.input.slice(this.state.pos, this.state.pos + size); - this.state.pos += size; - this.finishToken(type, str); - } - }, { - key: "readRegexp", - value: function readRegexp() { - var start = this.state.pos; - var escaped, inClass; - - for (;;) { - if (this.state.pos >= this.length) { - throw this.raise(start, "Unterminated regular expression"); - } - - var ch = this.input.charAt(this.state.pos); - - if (lineBreak.test(ch)) { - throw this.raise(start, "Unterminated regular expression"); - } - - if (escaped) { - escaped = false; - } else { - if (ch === "[") { - inClass = true; - } else if (ch === "]" && inClass) { - inClass = false; - } else if (ch === "/" && !inClass) { - break; - } - - escaped = ch === "\\"; - } - - ++this.state.pos; - } - - var content = this.input.slice(start, this.state.pos); - ++this.state.pos; - var mods = ""; - - while (this.state.pos < this.length) { - var char = this.input[this.state.pos]; - var charCode = this.input.codePointAt(this.state.pos); - - if (VALID_REGEX_FLAGS.has(char)) { - if (mods.indexOf(char) > -1) { - this.raise(this.state.pos + 1, "Duplicate regular expression flag"); - } - } else if (isIdentifierChar(charCode) || charCode === 92) { - this.raise(this.state.pos + 1, "Invalid regular expression flag"); - } else { - break; - } - - ++this.state.pos; - mods += char; - } - - this.finishToken(types.regexp, { - pattern: content, - flags: mods - }); - } - }, { - key: "readInt", - value: function readInt(radix, len, forceLen) { - var allowNumSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - var start = this.state.pos; - var forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; - var allowedSiblings = radix === 16 ? allowedNumericSeparatorSiblings.hex : radix === 10 ? allowedNumericSeparatorSiblings.dec : radix === 8 ? allowedNumericSeparatorSiblings.oct : allowedNumericSeparatorSiblings.bin; - var invalid = false; - var total = 0; - - for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) { - var code = this.input.charCodeAt(this.state.pos); - var val = void 0; - - if (this.hasPlugin("numericSeparator")) { - if (code === 95) { - var prev = this.input.charCodeAt(this.state.pos - 1); - var next = this.input.charCodeAt(this.state.pos + 1); - - if (allowedSiblings.indexOf(next) === -1) { - this.raise(this.state.pos, "A numeric separator is only allowed between two digits"); - } else if (forbiddenSiblings.indexOf(prev) > -1 || forbiddenSiblings.indexOf(next) > -1 || Number.isNaN(next)) { - this.raise(this.state.pos, "A numeric separator is only allowed between two digits"); - } - - if (!allowNumSeparator) { - this.raise(this.state.pos, "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences"); - } - - ++this.state.pos; - continue; - } - } - - if (code >= 97) { - val = code - 97 + 10; - } else if (code >= 65) { - val = code - 65 + 10; - } else if (_isDigit(code)) { - val = code - 48; - } else { - val = Infinity; - } - - if (val >= radix) { - if (this.options.errorRecovery && val <= 9) { - val = 0; - this.raise(this.state.start + i + 2, "Expected number in radix " + radix); - } else if (forceLen) { - val = 0; - invalid = true; - } else { - break; - } - } - - ++this.state.pos; - total = total * radix + val; - } - - if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) { - return null; - } - - return total; - } - }, { - key: "readRadixNumber", - value: function readRadixNumber(radix) { - var start = this.state.pos; - var isBigInt = false; - this.state.pos += 2; - var val = this.readInt(radix); - - if (val == null) { - this.raise(this.state.start + 2, "Expected number in radix " + radix); - } - - if (this.hasPlugin("bigInt")) { - if (this.input.charCodeAt(this.state.pos) === 110) { - ++this.state.pos; - isBigInt = true; - } - } - - if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { - throw this.raise(this.state.pos, "Identifier directly after number"); - } - - if (isBigInt) { - var str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); - this.finishToken(types.bigint, str); - return; - } - - this.finishToken(types.num, val); - } - }, { - key: "readNumber", - value: function readNumber(startsWithDot) { - var start = this.state.pos; - var isFloat = false; - var isBigInt = false; - var isNonOctalDecimalInt = false; - - if (!startsWithDot && this.readInt(10) === null) { - this.raise(start, "Invalid number"); - } - - var octal = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; - - if (octal) { - if (this.state.strict) { - this.raise(start, "Legacy octal literals are not allowed in strict mode"); - } - - if (/[89]/.test(this.input.slice(start, this.state.pos))) { - octal = false; - isNonOctalDecimalInt = true; - } - } - - var next = this.input.charCodeAt(this.state.pos); - - if (next === 46 && !octal) { - ++this.state.pos; - this.readInt(10); - isFloat = true; - next = this.input.charCodeAt(this.state.pos); - } - - if ((next === 69 || next === 101) && !octal) { - next = this.input.charCodeAt(++this.state.pos); - - if (next === 43 || next === 45) { - ++this.state.pos; - } - - if (this.readInt(10) === null) this.raise(start, "Invalid number"); - isFloat = true; - next = this.input.charCodeAt(this.state.pos); - } - - if (this.hasPlugin("numericSeparator") && (octal || isNonOctalDecimalInt)) { - var underscorePos = this.input.slice(start, this.state.pos).indexOf("_"); - - if (underscorePos > 0) { - this.raise(underscorePos + start, "Numeric separator can not be used after leading 0"); - } - } - - if (this.hasPlugin("bigInt")) { - if (next === 110) { - if (isFloat || octal || isNonOctalDecimalInt) { - this.raise(start, "Invalid BigIntLiteral"); - } - - ++this.state.pos; - isBigInt = true; - } - } - - if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { - throw this.raise(this.state.pos, "Identifier directly after number"); - } - - var str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); - - if (isBigInt) { - this.finishToken(types.bigint, str); - return; - } - - var val = octal ? parseInt(str, 8) : parseFloat(str); - this.finishToken(types.num, val); - } - }, { - key: "readCodePoint", - value: function readCodePoint(throwOnInvalid) { - var ch = this.input.charCodeAt(this.state.pos); - var code; - - if (ch === 123) { - var codePos = ++this.state.pos; - code = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, true, throwOnInvalid); - ++this.state.pos; - - if (code === null) { - --this.state.invalidTemplateEscapePosition; - } else if (code > 0x10ffff) { - if (throwOnInvalid) { - this.raise(codePos, "Code point out of bounds"); - } else { - this.state.invalidTemplateEscapePosition = codePos - 2; - return null; - } - } - } else { - code = this.readHexChar(4, false, throwOnInvalid); - } - - return code; - } - }, { - key: "readString", - value: function readString(quote) { - var out = "", - chunkStart = ++this.state.pos; - - for (;;) { - if (this.state.pos >= this.length) { - throw this.raise(this.state.start, "Unterminated string constant"); - } - - var ch = this.input.charCodeAt(this.state.pos); - if (ch === quote) break; - - if (ch === 92) { - out += this.input.slice(chunkStart, this.state.pos); - out += this.readEscapedChar(false); - chunkStart = this.state.pos; - } else if (ch === 8232 || ch === 8233) { - ++this.state.pos; - ++this.state.curLine; - } else if (isNewLine(ch)) { - throw this.raise(this.state.start, "Unterminated string constant"); - } else { - ++this.state.pos; - } - } - - out += this.input.slice(chunkStart, this.state.pos++); - this.finishToken(types.string, out); - } - }, { - key: "readTmplToken", - value: function readTmplToken() { - var out = "", - chunkStart = this.state.pos, - containsInvalid = false; - - for (;;) { - if (this.state.pos >= this.length) { - throw this.raise(this.state.start, "Unterminated template"); - } - - var ch = this.input.charCodeAt(this.state.pos); - - if (ch === 96 || ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) { - if (this.state.pos === this.state.start && this.match(types.template)) { - if (ch === 36) { - this.state.pos += 2; - this.finishToken(types.dollarBraceL); - return; - } else { - ++this.state.pos; - this.finishToken(types.backQuote); - return; - } - } - - out += this.input.slice(chunkStart, this.state.pos); - this.finishToken(types.template, containsInvalid ? null : out); - return; - } - - if (ch === 92) { - out += this.input.slice(chunkStart, this.state.pos); - var escaped = this.readEscapedChar(true); - - if (escaped === null) { - containsInvalid = true; - } else { - out += escaped; - } - - chunkStart = this.state.pos; - } else if (isNewLine(ch)) { - out += this.input.slice(chunkStart, this.state.pos); - ++this.state.pos; - - switch (ch) { - case 13: - if (this.input.charCodeAt(this.state.pos) === 10) { - ++this.state.pos; - } - - case 10: - out += "\n"; - break; - - default: - out += String.fromCharCode(ch); - break; - } - - ++this.state.curLine; - this.state.lineStart = this.state.pos; - chunkStart = this.state.pos; - } else { - ++this.state.pos; - } - } - } - }, { - key: "readEscapedChar", - value: function readEscapedChar(inTemplate) { - var throwOnInvalid = !inTemplate; - var ch = this.input.charCodeAt(++this.state.pos); - ++this.state.pos; - - switch (ch) { - case 110: - return "\n"; - - case 114: - return "\r"; - - case 120: - { - var code = this.readHexChar(2, false, throwOnInvalid); - return code === null ? null : String.fromCharCode(code); - } - - case 117: - { - var _code = this.readCodePoint(throwOnInvalid); - - return _code === null ? null : String.fromCodePoint(_code); - } - - case 116: - return "\t"; - - case 98: - return "\b"; - - case 118: - return "\x0B"; - - case 102: - return "\f"; - - case 13: - if (this.input.charCodeAt(this.state.pos) === 10) { - ++this.state.pos; - } - - case 10: - this.state.lineStart = this.state.pos; - ++this.state.curLine; - - case 8232: - case 8233: - return ""; - - case 56: - case 57: - if (inTemplate) { - var codePos = this.state.pos - 1; - this.state.invalidTemplateEscapePosition = codePos; - return null; - } - - default: - if (ch >= 48 && ch <= 55) { - var _codePos = this.state.pos - 1; - - var octalStr = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/)[0]; - var octal = parseInt(octalStr, 8); - - if (octal > 255) { - octalStr = octalStr.slice(0, -1); - octal = parseInt(octalStr, 8); - } - - this.state.pos += octalStr.length - 1; - var next = this.input.charCodeAt(this.state.pos); - - if (octalStr !== "0" || next === 56 || next === 57) { - if (inTemplate) { - this.state.invalidTemplateEscapePosition = _codePos; - return null; - } else if (this.state.strict) { - this.raise(_codePos, "Octal literal in strict mode"); - } else if (!this.state.containsOctal) { - this.state.containsOctal = true; - this.state.octalPosition = _codePos; - } - } - - return String.fromCharCode(octal); - } - - return String.fromCharCode(ch); - } - } - }, { - key: "readHexChar", - value: function readHexChar(len, forceLen, throwOnInvalid) { - var codePos = this.state.pos; - var n = this.readInt(16, len, forceLen, false); - - if (n === null) { - if (throwOnInvalid) { - this.raise(codePos, "Bad character escape sequence"); - } else { - this.state.pos = codePos - 1; - this.state.invalidTemplateEscapePosition = codePos - 1; - } - } - - return n; - } - }, { - key: "readWord1", - value: function readWord1() { - var word = ""; - this.state.containsEsc = false; - var start = this.state.pos; - var chunkStart = this.state.pos; - - while (this.state.pos < this.length) { - var ch = this.input.codePointAt(this.state.pos); - - if (isIdentifierChar(ch)) { - this.state.pos += ch <= 0xffff ? 1 : 2; - } else if (this.state.isIterator && ch === 64) { - ++this.state.pos; - } else if (ch === 92) { - this.state.containsEsc = true; - word += this.input.slice(chunkStart, this.state.pos); - var escStart = this.state.pos; - var identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; - - if (this.input.charCodeAt(++this.state.pos) !== 117) { - this.raise(this.state.pos, "Expecting Unicode escape sequence \\uXXXX"); - continue; - } - - ++this.state.pos; - var esc = this.readCodePoint(true); - - if (esc !== null) { - if (!identifierCheck(esc)) { - this.raise(escStart, "Invalid Unicode escape"); - } - - word += String.fromCodePoint(esc); - } - - chunkStart = this.state.pos; - } else { - break; - } - } - - return word + this.input.slice(chunkStart, this.state.pos); - } - }, { - key: "isIterator", - value: function isIterator(word) { - return word === "@@iterator" || word === "@@asyncIterator"; - } - }, { - key: "readWord", - value: function readWord() { - var word = this.readWord1(); - var type = keywords.get(word) || types.name; - - if (this.state.isIterator && (!this.isIterator(word) || !this.state.inType)) { - this.raise(this.state.pos, "Invalid identifier ".concat(word)); - } - - this.finishToken(type, word); - } - }, { - key: "checkKeywordEscapes", - value: function checkKeywordEscapes() { - var kw = this.state.type.keyword; - - if (kw && this.state.containsEsc) { - this.raise(this.state.start, "Escape sequence in keyword ".concat(kw)); - } - } - }, { - key: "braceIsBlock", - value: function braceIsBlock(prevType) { - var parent = this.curContext(); - - if (parent === types$1.functionExpression || parent === types$1.functionStatement) { - return true; - } - - if (prevType === types.colon && (parent === types$1.braceStatement || parent === types$1.braceExpression)) { - return !parent.isExpr; - } - - if (prevType === types._return || prevType === types.name && this.state.exprAllowed) { - return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); - } - - if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow) { - return true; - } - - if (prevType === types.braceL) { - return parent === types$1.braceStatement; - } - - if (prevType === types._var || prevType === types._const || prevType === types.name) { - return false; - } - - if (prevType === types.relational) { - return true; - } - - return !this.state.exprAllowed; - } - }, { - key: "updateContext", - value: function updateContext(prevType) { - var type = this.state.type; - var update; - - if (type.keyword && (prevType === types.dot || prevType === types.questionDot)) { - this.state.exprAllowed = false; - } else if (update = type.updateContext) { - update.call(this, prevType); - } else { - this.state.exprAllowed = type.beforeExpr; - } - } - }]); - - return Tokenizer; -}(LocationParser); - -var literal = /^('|")((?:\\?.)*?)\1/; - -var UtilParser = -/*#__PURE__*/ -function (_Tokenizer) { - _inherits(UtilParser, _Tokenizer); - - function UtilParser() { - _classCallCheck(this, UtilParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(UtilParser).apply(this, arguments)); - } - - _createClass(UtilParser, [{ - key: "addExtra", - value: function addExtra(node, key, val) { - if (!node) return; - var extra = node.extra = node.extra || {}; - extra[key] = val; - } - }, { - key: "isRelational", - value: function isRelational(op) { - return this.match(types.relational) && this.state.value === op; - } - }, { - key: "isLookaheadRelational", - value: function isLookaheadRelational(op) { - var next = this.nextTokenStart(); - - if (this.input.charAt(next) === op) { - if (next + 1 === this.input.length) { - return true; - } - - var afterNext = this.input.charCodeAt(next + 1); - return afterNext !== op.charCodeAt(0) && afterNext !== 61; - } - - return false; - } - }, { - key: "expectRelational", - value: function expectRelational(op) { - if (this.isRelational(op)) { - this.next(); - } else { - this.unexpected(null, types.relational); - } - } - }, { - key: "eatRelational", - value: function eatRelational(op) { - if (this.isRelational(op)) { - this.next(); - return true; - } - - return false; - } - }, { - key: "isContextual", - value: function isContextual(name) { - return this.match(types.name) && this.state.value === name && !this.state.containsEsc; - } - }, { - key: "isUnparsedContextual", - value: function isUnparsedContextual(nameStart, name) { - var nameEnd = nameStart + name.length; - return this.input.slice(nameStart, nameEnd) === name && (nameEnd === this.input.length || !isIdentifierChar(this.input.charCodeAt(nameEnd))); - } - }, { - key: "isLookaheadContextual", - value: function isLookaheadContextual(name) { - var next = this.nextTokenStart(); - return this.isUnparsedContextual(next, name); - } - }, { - key: "eatContextual", - value: function eatContextual(name) { - return this.isContextual(name) && this.eat(types.name); - } - }, { - key: "expectContextual", - value: function expectContextual(name, message) { - if (!this.eatContextual(name)) this.unexpected(null, message); - } - }, { - key: "canInsertSemicolon", - value: function canInsertSemicolon() { - return this.match(types.eof) || this.match(types.braceR) || this.hasPrecedingLineBreak(); - } - }, { - key: "hasPrecedingLineBreak", - value: function hasPrecedingLineBreak() { - return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); - } - }, { - key: "isLineTerminator", - value: function isLineTerminator() { - return this.eat(types.semi) || this.canInsertSemicolon(); - } - }, { - key: "semicolon", - value: function semicolon() { - if (!this.isLineTerminator()) this.unexpected(null, types.semi); - } - }, { - key: "expect", - value: function expect(type, pos) { - this.eat(type) || this.unexpected(pos, type); - } - }, { - key: "assertNoSpace", - value: function assertNoSpace() { - var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Unexpected space."; - - if (this.state.start > this.state.lastTokEnd) { - this.raise(this.state.lastTokEnd, message); - } - } - }, { - key: "unexpected", - value: function unexpected(pos) { - var messageOrType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Unexpected token"; - - if (typeof messageOrType !== "string") { - messageOrType = "Unexpected token, expected \"".concat(messageOrType.label, "\""); - } - - throw this.raise(pos != null ? pos : this.state.start, messageOrType); - } - }, { - key: "expectPlugin", - value: function expectPlugin(name, pos) { - if (!this.hasPlugin(name)) { - throw this.raise(pos != null ? pos : this.state.start, "This experimental syntax requires enabling the parser plugin: '".concat(name, "'"), { - missingPluginNames: [name] - }); - } - - return true; - } - }, { - key: "expectOnePlugin", - value: function expectOnePlugin(names, pos) { - var _this35 = this; - - if (!names.some(function (n) { - return _this35.hasPlugin(n); - })) { - throw this.raise(pos != null ? pos : this.state.start, "This experimental syntax requires enabling one of the following parser plugin(s): '".concat(names.join(", "), "'"), { - missingPluginNames: names - }); - } - } - }, { - key: "checkYieldAwaitInDefaultParams", - value: function checkYieldAwaitInDefaultParams() { - if (this.state.yieldPos !== -1 && (this.state.awaitPos === -1 || this.state.yieldPos < this.state.awaitPos)) { - this.raise(this.state.yieldPos, "Yield cannot be used as name inside a generator function"); - } - - if (this.state.awaitPos !== -1) { - this.raise(this.state.awaitPos, "Await cannot be used as name inside an async function"); - } - } - }, { - key: "strictDirective", - value: function strictDirective(start) { - for (;;) { - skipWhiteSpace.lastIndex = start; - start += skipWhiteSpace.exec(this.input)[0].length; - var match = literal.exec(this.input.slice(start)); - if (!match) break; - if (match[2] === "use strict") return true; - start += match[0].length; - skipWhiteSpace.lastIndex = start; - start += skipWhiteSpace.exec(this.input)[0].length; - - if (this.input[start] === ";") { - start++; - } - } - - return false; - } - }, { - key: "tryParse", - value: function tryParse(fn) { - var oldState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state.clone(); - var abortSignal = { - node: null - }; - - try { - var node = fn(function () { - var node = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - abortSignal.node = node; - throw abortSignal; - }); - - if (this.state.errors.length > oldState.errors.length) { - var failState = this.state; - this.state = oldState; - return { - node: node, - error: failState.errors[oldState.errors.length], - thrown: false, - aborted: false, - failState: failState - }; - } - - return { - node: node, - error: null, - thrown: false, - aborted: false, - failState: null - }; - } catch (error) { - var _failState = this.state; - this.state = oldState; - - if (error instanceof SyntaxError) { - return { - node: null, - error: error, - thrown: true, - aborted: false, - failState: _failState - }; - } - - if (error === abortSignal) { - return { - node: abortSignal.node, - error: null, - thrown: false, - aborted: true, - failState: _failState - }; - } - - throw error; - } - } - }]); - - return UtilParser; -}(Tokenizer); - -var Node = -/*#__PURE__*/ -function () { - function Node(parser, pos, loc) { - _classCallCheck(this, Node); - - this.type = ""; - this.start = pos; - this.end = 0; - this.loc = new SourceLocation(loc); - if (parser && parser.options.ranges) this.range = [pos, 0]; - if (parser && parser.filename) this.loc.filename = parser.filename; - } - - _createClass(Node, [{ - key: "__clone", - value: function __clone() { - var newNode = new Node(); - var keys = Object.keys(this); - - for (var i = 0, length = keys.length; i < length; i++) { - var key = keys[i]; - - if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { - newNode[key] = this[key]; - } - } - - return newNode; - } - }]); - - return Node; -}(); - -var NodeUtils = -/*#__PURE__*/ -function (_UtilParser) { - _inherits(NodeUtils, _UtilParser); - - function NodeUtils() { - _classCallCheck(this, NodeUtils); - - return _possibleConstructorReturn(this, _getPrototypeOf(NodeUtils).apply(this, arguments)); - } - - _createClass(NodeUtils, [{ - key: "startNode", - value: function startNode() { - return new Node(this, this.state.start, this.state.startLoc); - } - }, { - key: "startNodeAt", - value: function startNodeAt(pos, loc) { - return new Node(this, pos, loc); - } - }, { - key: "startNodeAtNode", - value: function startNodeAtNode(type) { - return this.startNodeAt(type.start, type.loc.start); - } - }, { - key: "finishNode", - value: function finishNode(node, type) { - return this.finishNodeAt(node, type, this.state.lastTokEnd, this.state.lastTokEndLoc); - } - }, { - key: "finishNodeAt", - value: function finishNodeAt(node, type, pos, loc) { - node.type = type; - node.end = pos; - node.loc.end = loc; - if (this.options.ranges) node.range[1] = pos; - this.processComment(node); - return node; - } - }, { - key: "resetStartLocation", - value: function resetStartLocation(node, start, startLoc) { - node.start = start; - node.loc.start = startLoc; - if (this.options.ranges) node.range[0] = start; - } - }, { - key: "resetEndLocation", - value: function resetEndLocation(node) { - var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state.lastTokEnd; - var endLoc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.state.lastTokEndLoc; - node.end = end; - node.loc.end = endLoc; - if (this.options.ranges) node.range[1] = end; - } - }, { - key: "resetStartLocationFromNode", - value: function resetStartLocationFromNode(node, locationNode) { - this.resetStartLocation(node, locationNode.start, locationNode.loc.start); - } - }]); - - return NodeUtils; -}(UtilParser); - -var LValParser = -/*#__PURE__*/ -function (_NodeUtils) { - _inherits(LValParser, _NodeUtils); - - function LValParser() { - _classCallCheck(this, LValParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(LValParser).apply(this, arguments)); - } - - _createClass(LValParser, [{ - key: "toAssignable", - value: function toAssignable(node, isBinding, contextDescription) { - var _node$extra2; - - if (node) { - switch (node.type) { - case "Identifier": - case "ObjectPattern": - case "ArrayPattern": - case "AssignmentPattern": - break; - - case "ObjectExpression": - node.type = "ObjectPattern"; - - for (var i = 0, length = node.properties.length, _last2 = length - 1; i < length; i++) { - var _node$extra; - - var prop = node.properties[i]; - var isLast = i === _last2; - this.toAssignableObjectExpressionProp(prop, isBinding, isLast); - - if (isLast && prop.type === "RestElement" && ((_node$extra = node.extra) === null || _node$extra === void 0 ? void 0 : _node$extra.trailingComma)) { - this.raiseRestNotLast(node.extra.trailingComma); - } - } - - break; - - case "ObjectProperty": - this.toAssignable(node.value, isBinding, contextDescription); - break; - - case "SpreadElement": - { - this.checkToRestConversion(node); - node.type = "RestElement"; - var arg = node.argument; - this.toAssignable(arg, isBinding, contextDescription); - break; - } - - case "ArrayExpression": - node.type = "ArrayPattern"; - this.toAssignableList(node.elements, isBinding, contextDescription, (_node$extra2 = node.extra) === null || _node$extra2 === void 0 ? void 0 : _node$extra2.trailingComma); - break; - - case "AssignmentExpression": - if (node.operator !== "=") { - this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); - } - - node.type = "AssignmentPattern"; - delete node.operator; - this.toAssignable(node.left, isBinding, contextDescription); - break; - - case "ParenthesizedExpression": - node.expression = this.toAssignable(node.expression, isBinding, contextDescription); - break; - - case "MemberExpression": - if (!isBinding) break; - - default: - } - } - - return node; - } - }, { - key: "toAssignableObjectExpressionProp", - value: function toAssignableObjectExpressionProp(prop, isBinding, isLast) { - if (prop.type === "ObjectMethod") { - var error = prop.kind === "get" || prop.kind === "set" ? "Object pattern can't contain getter or setter" : "Object pattern can't contain methods"; - this.raise(prop.key.start, error); - } else if (prop.type === "SpreadElement" && !isLast) { - this.raiseRestNotLast(prop.start); - } else { - this.toAssignable(prop, isBinding, "object destructuring pattern"); - } - } - }, { - key: "toAssignableList", - value: function toAssignableList(exprList, isBinding, contextDescription, trailingCommaPos) { - var end = exprList.length; - - if (end) { - var _last3 = exprList[end - 1]; - - if (_last3 && _last3.type === "RestElement") { - --end; - } else if (_last3 && _last3.type === "SpreadElement") { - _last3.type = "RestElement"; - var arg = _last3.argument; - this.toAssignable(arg, isBinding, contextDescription); - - if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern" && arg.type !== "ObjectPattern") { - this.unexpected(arg.start); - } - - if (trailingCommaPos) { - this.raiseTrailingCommaAfterRest(trailingCommaPos); - } - - --end; - } - } - - for (var i = 0; i < end; i++) { - var elt = exprList[i]; - - if (elt) { - this.toAssignable(elt, isBinding, contextDescription); - - if (elt.type === "RestElement") { - this.raiseRestNotLast(elt.start); - } - } - } - - return exprList; - } - }, { - key: "toReferencedList", - value: function toReferencedList(exprList, isParenthesizedExpr) { - return exprList; - } - }, { - key: "toReferencedListDeep", - value: function toReferencedListDeep(exprList, isParenthesizedExpr) { - this.toReferencedList(exprList, isParenthesizedExpr); - - for (var _i = 0; _i < exprList.length; _i++) { - var expr = exprList[_i]; - - if (expr && expr.type === "ArrayExpression") { - this.toReferencedListDeep(expr.elements); - } - } - - return exprList; - } - }, { - key: "parseSpread", - value: function parseSpread(refShorthandDefaultPos, refNeedsArrowPos) { - var node = this.startNode(); - this.next(); - node.argument = this.parseMaybeAssign(false, refShorthandDefaultPos, undefined, refNeedsArrowPos); - return this.finishNode(node, "SpreadElement"); - } - }, { - key: "parseRestBinding", - value: function parseRestBinding() { - var node = this.startNode(); - this.next(); - node.argument = this.parseBindingAtom(); - return this.finishNode(node, "RestElement"); - } - }, { - key: "parseBindingAtom", - value: function parseBindingAtom() { - switch (this.state.type) { - case types.bracketL: - { - var node = this.startNode(); - this.next(); - node.elements = this.parseBindingList(types.bracketR, 93, true); - return this.finishNode(node, "ArrayPattern"); - } - - case types.braceL: - return this.parseObj(true); - } - - return this.parseIdentifier(); - } - }, { - key: "parseBindingList", - value: function parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) { - var elts = []; - var first = true; - - while (!this.eat(close)) { - if (first) { - first = false; - } else { - this.expect(types.comma); - } - - if (allowEmpty && this.match(types.comma)) { - elts.push(null); - } else if (this.eat(close)) { - break; - } else if (this.match(types.ellipsis)) { - elts.push(this.parseAssignableListItemTypes(this.parseRestBinding())); - this.checkCommaAfterRest(closeCharCode); - this.expect(close); - break; - } else { - var decorators = []; - - if (this.match(types.at) && this.hasPlugin("decorators")) { - this.raise(this.state.start, "Stage 2 decorators cannot be used to decorate parameters"); - } - - while (this.match(types.at)) { - decorators.push(this.parseDecorator()); - } - - elts.push(this.parseAssignableListItem(allowModifiers, decorators)); - } - } - - return elts; - } - }, { - key: "parseAssignableListItem", - value: function parseAssignableListItem(allowModifiers, decorators) { - var left = this.parseMaybeDefault(); - this.parseAssignableListItemTypes(left); - var elt = this.parseMaybeDefault(left.start, left.loc.start, left); - - if (decorators.length) { - left.decorators = decorators; - } - - return elt; - } - }, { - key: "parseAssignableListItemTypes", - value: function parseAssignableListItemTypes(param) { - return param; - } - }, { - key: "parseMaybeDefault", - value: function parseMaybeDefault(startPos, startLoc, left) { - startLoc = startLoc || this.state.startLoc; - startPos = startPos || this.state.start; - left = left || this.parseBindingAtom(); - if (!this.eat(types.eq)) return left; - var node = this.startNodeAt(startPos, startLoc); - node.left = left; - node.right = this.parseMaybeAssign(); - return this.finishNode(node, "AssignmentPattern"); - } - }, { - key: "checkLVal", - value: function checkLVal(expr) { - var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; - var checkClashes = arguments.length > 2 ? arguments[2] : undefined; - var contextDescription = arguments.length > 3 ? arguments[3] : undefined; - var disallowLetBinding = arguments.length > 4 ? arguments[4] : undefined; - var strictModeChanged = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; - - switch (expr.type) { - case "Identifier": - if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(expr.name, this.inModule) : isStrictBindOnlyReservedWord(expr.name))) { - this.raise(expr.start, "".concat(bindingType === BIND_NONE ? "Assigning to" : "Binding", " '").concat(expr.name, "' in strict mode")); - } - - if (checkClashes) { - var key = "_".concat(expr.name); - - if (checkClashes[key]) { - this.raise(expr.start, "Argument name clash"); - } else { - checkClashes[key] = true; - } - } - - if (disallowLetBinding && expr.name === "let") { - this.raise(expr.start, "'let' is not allowed to be used as a name in 'let' or 'const' declarations."); - } - - if (!(bindingType & BIND_NONE)) { - this.scope.declareName(expr.name, bindingType, expr.start); - } - - break; - - case "MemberExpression": - if (bindingType !== BIND_NONE) { - this.raise(expr.start, "Binding member expression"); - } - - break; - - case "ObjectPattern": - for (var _i2 = 0, _expr$properties = expr.properties; _i2 < _expr$properties.length; _i2++) { - var prop = _expr$properties[_i2]; - if (prop.type === "ObjectProperty") prop = prop.value;else if (prop.type === "ObjectMethod") continue; - this.checkLVal(prop, bindingType, checkClashes, "object destructuring pattern", disallowLetBinding); - } - - break; - - case "ArrayPattern": - for (var _i3 = 0, _expr$elements = expr.elements; _i3 < _expr$elements.length; _i3++) { - var elem = _expr$elements[_i3]; - - if (elem) { - this.checkLVal(elem, bindingType, checkClashes, "array destructuring pattern", disallowLetBinding); - } - } - - break; - - case "AssignmentPattern": - this.checkLVal(expr.left, bindingType, checkClashes, "assignment pattern"); - break; - - case "RestElement": - this.checkLVal(expr.argument, bindingType, checkClashes, "rest element"); - break; - - case "ParenthesizedExpression": - this.checkLVal(expr.expression, bindingType, checkClashes, "parenthesized expression"); - break; - - default: - { - var message = (bindingType === BIND_NONE ? "Invalid" : "Binding invalid") + " left-hand side" + (contextDescription ? " in " + contextDescription : "expression"); - this.raise(expr.start, message); - } - } - } - }, { - key: "checkToRestConversion", - value: function checkToRestConversion(node) { - if (node.argument.type !== "Identifier" && node.argument.type !== "MemberExpression") { - this.raise(node.argument.start, "Invalid rest operator's argument"); - } - } - }, { - key: "checkCommaAfterRest", - value: function checkCommaAfterRest(close) { - if (this.match(types.comma)) { - if (this.lookaheadCharCode() === close) { - this.raiseTrailingCommaAfterRest(this.state.start); - } else { - this.raiseRestNotLast(this.state.start); - } - } - } - }, { - key: "raiseRestNotLast", - value: function raiseRestNotLast(pos) { - throw this.raise(pos, "Rest element must be last element"); - } - }, { - key: "raiseTrailingCommaAfterRest", - value: function raiseTrailingCommaAfterRest(pos) { - this.raise(pos, "Unexpected trailing comma after rest element"); - } - }]); - - return LValParser; -}(NodeUtils); - -var unwrapParenthesizedExpression = function unwrapParenthesizedExpression(node) { - return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; -}; - -var ExpressionParser = -/*#__PURE__*/ -function (_LValParser) { - _inherits(ExpressionParser, _LValParser); - - function ExpressionParser() { - _classCallCheck(this, ExpressionParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(ExpressionParser).apply(this, arguments)); - } - - _createClass(ExpressionParser, [{ - key: "checkDuplicatedProto", - value: function checkDuplicatedProto(prop, protoRef) { - if (prop.type === "SpreadElement" || prop.computed || prop.kind || prop.shorthand) { - return; - } - - var key = prop.key; - var name = key.type === "Identifier" ? key.name : String(key.value); - - if (name === "__proto__") { - if (protoRef.used && !protoRef.start) { - protoRef.start = key.start; - } - - protoRef.used = true; - } - } - }, { - key: "getExpression", - value: function getExpression() { - this.scope.enter(SCOPE_PROGRAM); - this.nextToken(); - var expr = this.parseExpression(); - - if (!this.match(types.eof)) { - this.unexpected(); - } - - expr.comments = this.state.comments; - expr.errors = this.state.errors; - return expr; - } - }, { - key: "parseExpression", - value: function parseExpression(noIn, refShorthandDefaultPos) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var expr = this.parseMaybeAssign(noIn, refShorthandDefaultPos); - - if (this.match(types.comma)) { - var node = this.startNodeAt(startPos, startLoc); - node.expressions = [expr]; - - while (this.eat(types.comma)) { - node.expressions.push(this.parseMaybeAssign(noIn, refShorthandDefaultPos)); - } - - this.toReferencedList(node.expressions); - return this.finishNode(node, "SequenceExpression"); - } - - return expr; - } - }, { - key: "parseMaybeAssign", - value: function parseMaybeAssign(noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - - if (this.isContextual("yield")) { - if (this.scope.inGenerator) { - var _left = this.parseYield(noIn); - - if (afterLeftParse) { - _left = afterLeftParse.call(this, _left, startPos, startLoc); - } - - return _left; - } else { - this.state.exprAllowed = false; - } - } - - var failOnShorthandAssign; - - if (refShorthandDefaultPos) { - failOnShorthandAssign = false; - } else { - refShorthandDefaultPos = { - start: 0 - }; - failOnShorthandAssign = true; - } - - if (this.match(types.parenL) || this.match(types.name)) { - this.state.potentialArrowAt = this.state.start; - } - - var left = this.parseMaybeConditional(noIn, refShorthandDefaultPos, refNeedsArrowPos); - - if (afterLeftParse) { - left = afterLeftParse.call(this, left, startPos, startLoc); - } - - if (this.state.type.isAssign) { - var node = this.startNodeAt(startPos, startLoc); - var operator = this.state.value; - node.operator = operator; - - if (operator === "??=") { - this.expectPlugin("nullishCoalescingOperator"); - this.expectPlugin("logicalAssignment"); - } - - if (operator === "||=" || operator === "&&=") { - this.expectPlugin("logicalAssignment"); - } - - node.left = this.match(types.eq) ? this.toAssignable(left, undefined, "assignment expression") : left; - - if (refShorthandDefaultPos.start >= node.left.start) { - refShorthandDefaultPos.start = 0; - } - - this.checkLVal(left, undefined, undefined, "assignment expression"); - var maybePattern = unwrapParenthesizedExpression(left); - var patternErrorMsg; - - if (maybePattern.type === "ObjectPattern") { - patternErrorMsg = "`({a}) = 0` use `({a} = 0)`"; - } else if (maybePattern.type === "ArrayPattern") { - patternErrorMsg = "`([a]) = 0` use `([a] = 0)`"; - } - - if (patternErrorMsg && (left.extra && left.extra.parenthesized || left.type === "ParenthesizedExpression")) { - this.raise(maybePattern.start, "You're trying to assign to a parenthesized expression, eg. instead of ".concat(patternErrorMsg)); - } - - this.next(); - node.right = this.parseMaybeAssign(noIn); - return this.finishNode(node, "AssignmentExpression"); - } else if (failOnShorthandAssign && refShorthandDefaultPos.start) { - this.unexpected(refShorthandDefaultPos.start); - } - - return left; - } - }, { - key: "parseMaybeConditional", - value: function parseMaybeConditional(noIn, refShorthandDefaultPos, refNeedsArrowPos) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var potentialArrowAt = this.state.potentialArrowAt; - var expr = this.parseExprOps(noIn, refShorthandDefaultPos); - - if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { - return expr; - } - - if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; - return this.parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos); - } - }, { - key: "parseConditional", - value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { - if (this.eat(types.question)) { - var node = this.startNodeAt(startPos, startLoc); - node.test = expr; - node.consequent = this.parseMaybeAssign(); - this.expect(types.colon); - node.alternate = this.parseMaybeAssign(noIn); - return this.finishNode(node, "ConditionalExpression"); - } - - return expr; - } - }, { - key: "parseExprOps", - value: function parseExprOps(noIn, refShorthandDefaultPos) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var potentialArrowAt = this.state.potentialArrowAt; - var expr = this.parseMaybeUnary(refShorthandDefaultPos); - - if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { - return expr; - } - - if (refShorthandDefaultPos && refShorthandDefaultPos.start) { - return expr; - } - - return this.parseExprOp(expr, startPos, startLoc, -1, noIn); - } - }, { - key: "parseExprOp", - value: function parseExprOp(left, leftStartPos, leftStartLoc, minPrec, noIn) { - var prec = this.state.type.binop; - - if (prec != null && (!noIn || !this.match(types._in))) { - if (prec > minPrec) { - var operator = this.state.value; - - if (operator === "|>" && this.state.inFSharpPipelineDirectBody) { - return left; - } - - var node = this.startNodeAt(leftStartPos, leftStartLoc); - node.left = left; - node.operator = operator; - - if (operator === "**" && left.type === "UnaryExpression" && (this.options.createParenthesizedExpressions || !(left.extra && left.extra.parenthesized))) { - this.raise(left.argument.start, "Illegal expression. Wrap left hand side or entire exponentiation in parentheses."); - } - - var op = this.state.type; - - if (op === types.pipeline) { - this.expectPlugin("pipelineOperator"); - this.state.inPipeline = true; - this.checkPipelineAtInfixOperator(left, leftStartPos); - } else if (op === types.nullishCoalescing) { - this.expectPlugin("nullishCoalescingOperator"); - } - - this.next(); - - if (op === types.pipeline && this.getPluginOption("pipelineOperator", "proposal") === "minimal") { - if (this.match(types.name) && this.state.value === "await" && this.scope.inAsync) { - throw this.raise(this.state.start, "Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal"); - } - } - - node.right = this.parseExprOpRightExpr(op, prec, noIn); - - if (op === types.nullishCoalescing) { - if (left.type === "LogicalExpression" && left.operator !== "??" && !(left.extra && left.extra.parenthesized)) { - throw this.raise(left.start, "Nullish coalescing operator(??) requires parens when mixing with logical operators"); - } else if (node.right.type === "LogicalExpression" && node.right.operator !== "??" && !(node.right.extra && node.right.extra.parenthesized)) { - throw this.raise(node.right.start, "Nullish coalescing operator(??) requires parens when mixing with logical operators"); - } - } - - this.finishNode(node, op === types.logicalOR || op === types.logicalAND || op === types.nullishCoalescing ? "LogicalExpression" : "BinaryExpression"); - return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn); - } - } - - return left; - } - }, { - key: "parseExprOpRightExpr", - value: function parseExprOpRightExpr(op, prec, noIn) { - var _this36 = this; - - var startPos = this.state.start; - var startLoc = this.state.startLoc; - - switch (op) { - case types.pipeline: - switch (this.getPluginOption("pipelineOperator", "proposal")) { - case "smart": - return this.withTopicPermittingContext(function () { - return _this36.parseSmartPipelineBody(_this36.parseExprOpBaseRightExpr(op, prec, noIn), startPos, startLoc); - }); - - case "fsharp": - return this.withSoloAwaitPermittingContext(function () { - return _this36.parseFSharpPipelineBody(prec, noIn); - }); - } - - default: - return this.parseExprOpBaseRightExpr(op, prec, noIn); - } - } - }, { - key: "parseExprOpBaseRightExpr", - value: function parseExprOpBaseRightExpr(op, prec, noIn) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - return this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, op.rightAssociative ? prec - 1 : prec, noIn); - } - }, { - key: "parseMaybeUnary", - value: function parseMaybeUnary(refShorthandDefaultPos) { - if (this.isContextual("await") && this.isAwaitAllowed()) { - return this.parseAwait(); - } else if (this.state.type.prefix) { - var node = this.startNode(); - var update = this.match(types.incDec); - node.operator = this.state.value; - node.prefix = true; - - if (node.operator === "throw") { - this.expectPlugin("throwExpressions"); - } - - this.next(); - node.argument = this.parseMaybeUnary(); - - if (refShorthandDefaultPos && refShorthandDefaultPos.start) { - this.unexpected(refShorthandDefaultPos.start); - } - - if (update) { - this.checkLVal(node.argument, undefined, undefined, "prefix operation"); - } else if (this.state.strict && node.operator === "delete") { - var arg = node.argument; - - if (arg.type === "Identifier") { - this.raise(node.start, "Deleting local variable in strict mode"); - } else if (arg.type === "MemberExpression" && arg.property.type === "PrivateName") { - this.raise(node.start, "Deleting a private field is not allowed"); - } - } - - return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); - } - - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var expr = this.parseExprSubscripts(refShorthandDefaultPos); - if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; - - while (this.state.type.postfix && !this.canInsertSemicolon()) { - var _node9 = this.startNodeAt(startPos, startLoc); - - _node9.operator = this.state.value; - _node9.prefix = false; - _node9.argument = expr; - this.checkLVal(expr, undefined, undefined, "postfix operation"); - this.next(); - expr = this.finishNode(_node9, "UpdateExpression"); - } - - return expr; - } - }, { - key: "parseExprSubscripts", - value: function parseExprSubscripts(refShorthandDefaultPos) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var potentialArrowAt = this.state.potentialArrowAt; - var expr = this.parseExprAtom(refShorthandDefaultPos); - - if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { - return expr; - } - - if (refShorthandDefaultPos && refShorthandDefaultPos.start) { - return expr; - } - - return this.parseSubscripts(expr, startPos, startLoc); - } - }, { - key: "parseSubscripts", - value: function parseSubscripts(base, startPos, startLoc, noCalls) { - var state = { - optionalChainMember: false, - maybeAsyncArrow: this.atPossibleAsync(base), - stop: false - }; - - do { - base = this.parseSubscript(base, startPos, startLoc, noCalls, state); - state.maybeAsyncArrow = false; - } while (!state.stop); - - return base; - } - }, { - key: "parseSubscript", - value: function parseSubscript(base, startPos, startLoc, noCalls, state) { - if (!noCalls && this.eat(types.doubleColon)) { - var node = this.startNodeAt(startPos, startLoc); - node.object = base; - node.callee = this.parseNoCallExpr(); - state.stop = true; - return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls); - } else if (this.match(types.questionDot)) { - this.expectPlugin("optionalChaining"); - state.optionalChainMember = true; - - if (noCalls && this.lookaheadCharCode() === 40) { - state.stop = true; - return base; - } - - this.next(); - - var _node10 = this.startNodeAt(startPos, startLoc); - - if (this.eat(types.bracketL)) { - _node10.object = base; - _node10.property = this.parseExpression(); - _node10.computed = true; - _node10.optional = true; - this.expect(types.bracketR); - return this.finishNode(_node10, "OptionalMemberExpression"); - } else if (this.eat(types.parenL)) { - _node10.callee = base; - _node10.arguments = this.parseCallExpressionArguments(types.parenR, false); - _node10.optional = true; - return this.finishCallExpression(_node10, true); - } else { - _node10.object = base; - _node10.property = this.parseIdentifier(true); - _node10.computed = false; - _node10.optional = true; - return this.finishNode(_node10, "OptionalMemberExpression"); - } - } else if (this.eat(types.dot)) { - var _node11 = this.startNodeAt(startPos, startLoc); - - _node11.object = base; - _node11.property = this.parseMaybePrivateName(); - _node11.computed = false; - - if (_node11.property.type === "PrivateName" && _node11.object.type === "Super") { - this.raise(startPos, "Private fields can't be accessed on super"); - } - - if (state.optionalChainMember) { - _node11.optional = false; - return this.finishNode(_node11, "OptionalMemberExpression"); - } - - return this.finishNode(_node11, "MemberExpression"); - } else if (this.eat(types.bracketL)) { - var _node12 = this.startNodeAt(startPos, startLoc); - - _node12.object = base; - _node12.property = this.parseExpression(); - _node12.computed = true; - this.expect(types.bracketR); - - if (state.optionalChainMember) { - _node12.optional = false; - return this.finishNode(_node12, "OptionalMemberExpression"); - } - - return this.finishNode(_node12, "MemberExpression"); - } else if (!noCalls && this.match(types.parenL)) { - var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; - var oldYieldPos = this.state.yieldPos; - var oldAwaitPos = this.state.awaitPos; - this.state.maybeInArrowParameters = true; - this.state.yieldPos = -1; - this.state.awaitPos = -1; - this.next(); - - var _node13 = this.startNodeAt(startPos, startLoc); - - _node13.callee = base; - _node13.arguments = this.parseCallExpressionArguments(types.parenR, state.maybeAsyncArrow, base.type === "Import", base.type !== "Super", _node13); - this.finishCallExpression(_node13, state.optionalChainMember); - - if (state.maybeAsyncArrow && this.shouldParseAsyncArrow()) { - state.stop = true; - _node13 = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), _node13); - this.checkYieldAwaitInDefaultParams(); - this.state.yieldPos = oldYieldPos; - this.state.awaitPos = oldAwaitPos; - } else { - this.toReferencedListDeep(_node13.arguments); - if (oldYieldPos !== -1) this.state.yieldPos = oldYieldPos; - - if (!this.isAwaitAllowed() && !oldMaybeInArrowParameters || oldAwaitPos !== -1) { - this.state.awaitPos = oldAwaitPos; - } - } - - this.state.maybeInArrowParameters = oldMaybeInArrowParameters; - return _node13; - } else if (this.match(types.backQuote)) { - return this.parseTaggedTemplateExpression(startPos, startLoc, base, state); - } else { - state.stop = true; - return base; - } - } - }, { - key: "parseTaggedTemplateExpression", - value: function parseTaggedTemplateExpression(startPos, startLoc, base, state, typeArguments) { - var node = this.startNodeAt(startPos, startLoc); - node.tag = base; - node.quasi = this.parseTemplate(true); - if (typeArguments) node.typeParameters = typeArguments; - - if (state.optionalChainMember) { - this.raise(startPos, "Tagged Template Literals are not allowed in optionalChain"); - } - - return this.finishNode(node, "TaggedTemplateExpression"); - } - }, { - key: "atPossibleAsync", - value: function atPossibleAsync(base) { - return base.type === "Identifier" && base.name === "async" && this.state.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async"; - } - }, { - key: "finishCallExpression", - value: function finishCallExpression(node, optional) { - if (node.callee.type === "Import") { - if (node.arguments.length !== 1) { - this.raise(node.start, "import() requires exactly one argument"); - } else { - var importArg = node.arguments[0]; - - if (importArg && importArg.type === "SpreadElement") { - this.raise(importArg.start, "... is not allowed in import()"); - } - } - } - - return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); - } - }, { - key: "parseCallExpressionArguments", - value: function parseCallExpressionArguments(close, possibleAsyncArrow, dynamicImport, allowPlaceholder, nodeForExtra) { - var elts = []; - var innerParenStart; - var first = true; - var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; - this.state.inFSharpPipelineDirectBody = false; - - while (!this.eat(close)) { - if (first) { - first = false; - } else { - this.expect(types.comma); - - if (this.match(close)) { - if (dynamicImport) { - this.raise(this.state.lastTokStart, "Trailing comma is disallowed inside import(...) arguments"); - } - - if (nodeForExtra) { - this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); - } - - this.next(); - break; - } - } - - if (this.match(types.parenL) && !innerParenStart) { - innerParenStart = this.state.start; - } - - elts.push(this.parseExprListItem(false, possibleAsyncArrow ? { - start: 0 - } : undefined, possibleAsyncArrow ? { - start: 0 - } : undefined, allowPlaceholder)); - } - - if (possibleAsyncArrow && innerParenStart && this.shouldParseAsyncArrow()) { - this.unexpected(); - } - - this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; - return elts; - } - }, { - key: "shouldParseAsyncArrow", - value: function shouldParseAsyncArrow() { - return this.match(types.arrow) && !this.canInsertSemicolon(); - } - }, { - key: "parseAsyncArrowFromCallExpression", - value: function parseAsyncArrowFromCallExpression(node, call) { - var _call$extra; - - this.expect(types.arrow); - this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) === null || _call$extra === void 0 ? void 0 : _call$extra.trailingComma); - return node; - } - }, { - key: "parseNoCallExpr", - value: function parseNoCallExpr() { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); - } - }, { - key: "parseExprAtom", - value: function parseExprAtom(refShorthandDefaultPos) { - if (this.state.type === types.slash) this.readRegexp(); - var canBeArrow = this.state.potentialArrowAt === this.state.start; - var node; - - switch (this.state.type) { - case types._super: - node = this.startNode(); - this.next(); - - if (this.match(types.parenL) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { - this.raise(node.start, "super() is only valid inside a class constructor of a subclass. " + "Maybe a typo in the method name ('constructor') or not extending another class?"); - } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { - this.raise(node.start, "super is only allowed in object methods and classes"); - } - - if (!this.match(types.parenL) && !this.match(types.bracketL) && !this.match(types.dot)) { - this.raise(node.start, "super can only be used with function calls (i.e. super()) or " + "in property accesses (i.e. super.prop or super[prop])"); - } - - return this.finishNode(node, "Super"); - - case types._import: - node = this.startNode(); - this.next(); - - if (this.match(types.dot)) { - return this.parseImportMetaProperty(node); - } - - this.expectPlugin("dynamicImport", node.start); - - if (!this.match(types.parenL)) { - this.unexpected(null, types.parenL); - } - - return this.finishNode(node, "Import"); - - case types._this: - node = this.startNode(); - this.next(); - return this.finishNode(node, "ThisExpression"); - - case types.name: - { - node = this.startNode(); - var containsEsc = this.state.containsEsc; - var id = this.parseIdentifier(); - - if (!containsEsc && id.name === "async" && this.match(types._function) && !this.canInsertSemicolon()) { - this.next(); - return this.parseFunction(node, undefined, true); - } else if (canBeArrow && !containsEsc && id.name === "async" && this.match(types.name) && !this.canInsertSemicolon()) { - var params = [this.parseIdentifier()]; - this.expect(types.arrow); - this.parseArrowExpression(node, params, true); - return node; - } - - if (canBeArrow && this.match(types.arrow) && !this.canInsertSemicolon()) { - this.next(); - this.parseArrowExpression(node, [id], false); - return node; - } - - return id; - } - - case types._do: - { - this.expectPlugin("doExpressions"); - - var _node14 = this.startNode(); - - this.next(); - var oldLabels = this.state.labels; - this.state.labels = []; - _node14.body = this.parseBlock(); - this.state.labels = oldLabels; - return this.finishNode(_node14, "DoExpression"); - } - - case types.regexp: - { - var value = this.state.value; - node = this.parseLiteral(value.value, "RegExpLiteral"); - node.pattern = value.pattern; - node.flags = value.flags; - return node; - } - - case types.num: - return this.parseLiteral(this.state.value, "NumericLiteral"); - - case types.bigint: - return this.parseLiteral(this.state.value, "BigIntLiteral"); - - case types.string: - return this.parseLiteral(this.state.value, "StringLiteral"); - - case types._null: - node = this.startNode(); - this.next(); - return this.finishNode(node, "NullLiteral"); - - case types._true: - case types._false: - return this.parseBooleanLiteral(); - - case types.parenL: - return this.parseParenAndDistinguishExpression(canBeArrow); - - case types.bracketL: - { - var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; - this.state.inFSharpPipelineDirectBody = false; - node = this.startNode(); - this.next(); - node.elements = this.parseExprList(types.bracketR, true, refShorthandDefaultPos, node); - - if (!this.state.maybeInArrowParameters) { - this.toReferencedList(node.elements); - } - - this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; - return this.finishNode(node, "ArrayExpression"); - } - - case types.braceL: - { - var _oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; - this.state.inFSharpPipelineDirectBody = false; - var ret = this.parseObj(false, refShorthandDefaultPos); - this.state.inFSharpPipelineDirectBody = _oldInFSharpPipelineDirectBody; - return ret; - } - - case types._function: - return this.parseFunctionExpression(); - - case types.at: - this.parseDecorators(); - - case types._class: - node = this.startNode(); - this.takeDecorators(node); - return this.parseClass(node, false); - - case types._new: - return this.parseNew(); - - case types.backQuote: - return this.parseTemplate(false); - - case types.doubleColon: - { - node = this.startNode(); - this.next(); - node.object = null; - var callee = node.callee = this.parseNoCallExpr(); - - if (callee.type === "MemberExpression") { - return this.finishNode(node, "BindExpression"); - } else { - throw this.raise(callee.start, "Binding should be performed on object property."); - } - } - - case types.hash: - { - if (this.state.inPipeline) { - node = this.startNode(); - - if (this.getPluginOption("pipelineOperator", "proposal") !== "smart") { - this.raise(node.start, "Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option."); - } - - this.next(); - - if (!this.primaryTopicReferenceIsAllowedInCurrentTopicContext()) { - this.raise(node.start, "Topic reference was used in a lexical context without topic binding"); - } - - this.registerTopicReference(); - return this.finishNode(node, "PipelinePrimaryTopicReference"); - } - } - - default: - throw this.unexpected(); - } - } - }, { - key: "parseBooleanLiteral", - value: function parseBooleanLiteral() { - var node = this.startNode(); - node.value = this.match(types._true); - this.next(); - return this.finishNode(node, "BooleanLiteral"); - } - }, { - key: "parseMaybePrivateName", - value: function parseMaybePrivateName() { - var isPrivate = this.match(types.hash); - - if (isPrivate) { - this.expectOnePlugin(["classPrivateProperties", "classPrivateMethods"]); - var node = this.startNode(); - this.next(); - this.assertNoSpace("Unexpected space between # and identifier"); - node.id = this.parseIdentifier(true); - return this.finishNode(node, "PrivateName"); - } else { - return this.parseIdentifier(true); - } - } - }, { - key: "parseFunctionExpression", - value: function parseFunctionExpression() { - var node = this.startNode(); - var meta = this.startNode(); - this.next(); - meta = this.createIdentifier(meta, "function"); - - if (this.scope.inGenerator && this.eat(types.dot)) { - return this.parseMetaProperty(node, meta, "sent"); - } - - return this.parseFunction(node); - } - }, { - key: "parseMetaProperty", - value: function parseMetaProperty(node, meta, propertyName) { - node.meta = meta; - - if (meta.name === "function" && propertyName === "sent") { - if (this.isContextual(propertyName)) { - this.expectPlugin("functionSent"); - } else if (!this.hasPlugin("functionSent")) { - this.unexpected(); - } - } - - var containsEsc = this.state.containsEsc; - node.property = this.parseIdentifier(true); - - if (node.property.name !== propertyName || containsEsc) { - this.raise(node.property.start, "The only valid meta property for ".concat(meta.name, " is ").concat(meta.name, ".").concat(propertyName)); - } - - return this.finishNode(node, "MetaProperty"); - } - }, { - key: "parseImportMetaProperty", - value: function parseImportMetaProperty(node) { - var id = this.createIdentifier(this.startNodeAtNode(node), "import"); - this.expect(types.dot); - - if (this.isContextual("meta")) { - this.expectPlugin("importMeta"); - - if (!this.inModule) { - this.raise(id.start, "import.meta may appear only with 'sourceType: \"module\"'", { - code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" - }); - } - - this.sawUnambiguousESM = true; - } else if (!this.hasPlugin("importMeta")) { - this.raise(id.start, "Dynamic imports require a parameter: import('a.js')"); - } - - return this.parseMetaProperty(node, id, "meta"); - } - }, { - key: "parseLiteral", - value: function parseLiteral(value, type, startPos, startLoc) { - startPos = startPos || this.state.start; - startLoc = startLoc || this.state.startLoc; - var node = this.startNodeAt(startPos, startLoc); - this.addExtra(node, "rawValue", value); - this.addExtra(node, "raw", this.input.slice(startPos, this.state.end)); - node.value = value; - this.next(); - return this.finishNode(node, type); - } - }, { - key: "parseParenAndDistinguishExpression", - value: function parseParenAndDistinguishExpression(canBeArrow) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var val; - this.expect(types.parenL); - var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; - var oldYieldPos = this.state.yieldPos; - var oldAwaitPos = this.state.awaitPos; - var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; - this.state.maybeInArrowParameters = true; - this.state.yieldPos = -1; - this.state.awaitPos = -1; - this.state.inFSharpPipelineDirectBody = false; - var innerStartPos = this.state.start; - var innerStartLoc = this.state.startLoc; - var exprList = []; - var refShorthandDefaultPos = { - start: 0 - }; - var refNeedsArrowPos = { - start: 0 - }; - var first = true; - var spreadStart; - var optionalCommaStart; - - while (!this.match(types.parenR)) { - if (first) { - first = false; - } else { - this.expect(types.comma, refNeedsArrowPos.start || null); - - if (this.match(types.parenR)) { - optionalCommaStart = this.state.start; - break; - } - } - - if (this.match(types.ellipsis)) { - var spreadNodeStartPos = this.state.start; - var spreadNodeStartLoc = this.state.startLoc; - spreadStart = this.state.start; - exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc)); - this.checkCommaAfterRest(41); - break; - } else { - exprList.push(this.parseMaybeAssign(false, refShorthandDefaultPos, this.parseParenItem, refNeedsArrowPos)); - } - } - - var innerEndPos = this.state.start; - var innerEndLoc = this.state.startLoc; - this.expect(types.parenR); - this.state.maybeInArrowParameters = oldMaybeInArrowParameters; - this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; - var arrowNode = this.startNodeAt(startPos, startLoc); - - if (canBeArrow && this.shouldParseArrow() && (arrowNode = this.parseArrow(arrowNode))) { - this.checkYieldAwaitInDefaultParams(); - this.state.yieldPos = oldYieldPos; - this.state.awaitPos = oldAwaitPos; - - for (var _i = 0; _i < exprList.length; _i++) { - var param = exprList[_i]; - - if (param.extra && param.extra.parenthesized) { - this.unexpected(param.extra.parenStart); - } - } - - this.parseArrowExpression(arrowNode, exprList, false); - return arrowNode; - } - - if (oldYieldPos !== -1) this.state.yieldPos = oldYieldPos; - if (oldAwaitPos !== -1) this.state.awaitPos = oldAwaitPos; - - if (!exprList.length) { - this.unexpected(this.state.lastTokStart); - } - - if (optionalCommaStart) this.unexpected(optionalCommaStart); - if (spreadStart) this.unexpected(spreadStart); - - if (refShorthandDefaultPos.start) { - this.unexpected(refShorthandDefaultPos.start); - } - - if (refNeedsArrowPos.start) this.unexpected(refNeedsArrowPos.start); - this.toReferencedListDeep(exprList, true); - - if (exprList.length > 1) { - val = this.startNodeAt(innerStartPos, innerStartLoc); - val.expressions = exprList; - this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); - } else { - val = exprList[0]; - } - - if (!this.options.createParenthesizedExpressions) { - this.addExtra(val, "parenthesized", true); - this.addExtra(val, "parenStart", startPos); - return val; - } - - var parenExpression = this.startNodeAt(startPos, startLoc); - parenExpression.expression = val; - this.finishNode(parenExpression, "ParenthesizedExpression"); - return parenExpression; - } - }, { - key: "shouldParseArrow", - value: function shouldParseArrow() { - return !this.canInsertSemicolon(); - } - }, { - key: "parseArrow", - value: function parseArrow(node) { - if (this.eat(types.arrow)) { - return node; - } - } - }, { - key: "parseParenItem", - value: function parseParenItem(node, startPos, startLoc) { - return node; - } - }, { - key: "parseNew", - value: function parseNew() { - var node = this.startNode(); - var meta = this.startNode(); - this.next(); - meta = this.createIdentifier(meta, "new"); - - if (this.eat(types.dot)) { - var metaProp = this.parseMetaProperty(node, meta, "target"); - - if (!this.scope.inNonArrowFunction && !this.state.inClassProperty) { - var error = "new.target can only be used in functions"; - - if (this.hasPlugin("classProperties")) { - error += " or class properties"; - } - - this.raise(metaProp.start, error); - } - - return metaProp; - } - - node.callee = this.parseNoCallExpr(); - - if (node.callee.type === "Import") { - this.raise(node.callee.start, "Cannot use new with import(...)"); - } else if (node.callee.type === "OptionalMemberExpression" || node.callee.type === "OptionalCallExpression") { - this.raise(this.state.lastTokEnd, "constructors in/after an Optional Chain are not allowed"); - } else if (this.eat(types.questionDot)) { - this.raise(this.state.start, "constructors in/after an Optional Chain are not allowed"); - } - - this.parseNewArguments(node); - return this.finishNode(node, "NewExpression"); - } - }, { - key: "parseNewArguments", - value: function parseNewArguments(node) { - if (this.eat(types.parenL)) { - var args = this.parseExprList(types.parenR); - this.toReferencedList(args); - node.arguments = args; - } else { - node.arguments = []; - } - } - }, { - key: "parseTemplateElement", - value: function parseTemplateElement(isTagged) { - var elem = this.startNode(); - - if (this.state.value === null) { - if (!isTagged) { - this.raise(this.state.invalidTemplateEscapePosition || 0, "Invalid escape sequence in template"); - } else { - this.state.invalidTemplateEscapePosition = null; - } - } - - elem.value = { - raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, "\n"), - cooked: this.state.value - }; - this.next(); - elem.tail = this.match(types.backQuote); - return this.finishNode(elem, "TemplateElement"); - } - }, { - key: "parseTemplate", - value: function parseTemplate(isTagged) { - var node = this.startNode(); - this.next(); - node.expressions = []; - var curElt = this.parseTemplateElement(isTagged); - node.quasis = [curElt]; - - while (!curElt.tail) { - this.expect(types.dollarBraceL); - node.expressions.push(this.parseExpression()); - this.expect(types.braceR); - node.quasis.push(curElt = this.parseTemplateElement(isTagged)); - } - - this.next(); - return this.finishNode(node, "TemplateLiteral"); - } - }, { - key: "parseObj", - value: function parseObj(isPattern, refShorthandDefaultPos) { - var propHash = Object.create(null); - var first = true; - var node = this.startNode(); - node.properties = []; - this.next(); - - while (!this.eat(types.braceR)) { - if (first) { - first = false; - } else { - this.expect(types.comma); - - if (this.match(types.braceR)) { - this.addExtra(node, "trailingComma", this.state.lastTokStart); - this.next(); - break; - } - } - - var prop = this.parseObjectMember(isPattern, refShorthandDefaultPos); - if (!isPattern) this.checkDuplicatedProto(prop, propHash); - - if (prop.shorthand) { - this.addExtra(prop, "shorthand", true); - } - - node.properties.push(prop); - } - - if (!this.match(types.eq) && propHash.start !== undefined) { - this.raise(propHash.start, "Redefinition of __proto__ property"); - } - - return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression"); - } - }, { - key: "isAsyncProp", - value: function isAsyncProp(prop) { - return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && (this.match(types.name) || this.match(types.num) || this.match(types.string) || this.match(types.bracketL) || this.state.type.keyword || this.match(types.star)) && !this.hasPrecedingLineBreak(); - } - }, { - key: "parseObjectMember", - value: function parseObjectMember(isPattern, refShorthandDefaultPos) { - var decorators = []; - - if (this.match(types.at)) { - if (this.hasPlugin("decorators")) { - this.raise(this.state.start, "Stage 2 decorators disallow object literal property decorators"); - } - - while (this.match(types.at)) { - decorators.push(this.parseDecorator()); - } - } - - var prop = this.startNode(); - var isGenerator = false; - var isAsync = false; - var startPos; - var startLoc; - - if (this.match(types.ellipsis)) { - if (decorators.length) this.unexpected(); - - if (isPattern) { - this.next(); - prop.argument = this.parseIdentifier(); - this.checkCommaAfterRest(125); - return this.finishNode(prop, "RestElement"); - } - - return this.parseSpread(); - } - - if (decorators.length) { - prop.decorators = decorators; - decorators = []; - } - - prop.method = false; - - if (isPattern || refShorthandDefaultPos) { - startPos = this.state.start; - startLoc = this.state.startLoc; - } - - if (!isPattern) { - isGenerator = this.eat(types.star); - } - - var containsEsc = this.state.containsEsc; - this.parsePropertyName(prop); - - if (!isPattern && !containsEsc && !isGenerator && this.isAsyncProp(prop)) { - isAsync = true; - isGenerator = this.eat(types.star); - this.parsePropertyName(prop); - } else { - isAsync = false; - } - - this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc); - return prop; - } - }, { - key: "isGetterOrSetterMethod", - value: function isGetterOrSetterMethod(prop, isPattern) { - return !isPattern && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.match(types.string) || this.match(types.num) || this.match(types.bracketL) || this.match(types.name) || !!this.state.type.keyword); - } - }, { - key: "getGetterSetterExpectedParamCount", - value: function getGetterSetterExpectedParamCount(method) { - return method.kind === "get" ? 0 : 1; - } - }, { - key: "checkGetterSetterParams", - value: function checkGetterSetterParams(method) { - var paramCount = this.getGetterSetterExpectedParamCount(method); - var start = method.start; - - if (method.params.length !== paramCount) { - if (method.kind === "get") { - this.raise(start, "getter must not have any formal parameters"); - } else { - this.raise(start, "setter must have exactly one formal parameter"); - } - } - - if (method.kind === "set" && method.params[method.params.length - 1].type === "RestElement") { - this.raise(start, "setter function argument must not be a rest parameter"); - } - } - }, { - key: "parseObjectMethod", - value: function parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) { - if (isAsync || isGenerator || this.match(types.parenL)) { - if (isPattern) this.unexpected(); - prop.kind = "method"; - prop.method = true; - return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); - } - - if (!containsEsc && this.isGetterOrSetterMethod(prop, isPattern)) { - if (isGenerator || isAsync) this.unexpected(); - prop.kind = prop.key.name; - this.parsePropertyName(prop); - this.parseMethod(prop, false, false, false, false, "ObjectMethod"); - this.checkGetterSetterParams(prop); - return prop; - } - } - }, { - key: "parseObjectProperty", - value: function parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos) { - prop.shorthand = false; - - if (this.eat(types.colon)) { - prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssign(false, refShorthandDefaultPos); - return this.finishNode(prop, "ObjectProperty"); - } - - if (!prop.computed && prop.key.type === "Identifier") { - this.checkReservedWord(prop.key.name, prop.key.start, true, true); - - if (isPattern) { - prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone()); - } else if (this.match(types.eq) && refShorthandDefaultPos) { - if (!refShorthandDefaultPos.start) { - refShorthandDefaultPos.start = this.state.start; - } - - prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone()); - } else { - prop.value = prop.key.__clone(); - } - - prop.shorthand = true; - return this.finishNode(prop, "ObjectProperty"); - } - } - }, { - key: "parseObjPropValue", - value: function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc) { - var node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos); - if (!node) this.unexpected(); - return node; - } - }, { - key: "parsePropertyName", - value: function parsePropertyName(prop) { - if (this.eat(types.bracketL)) { - prop.computed = true; - prop.key = this.parseMaybeAssign(); - this.expect(types.bracketR); - } else { - var oldInPropertyName = this.state.inPropertyName; - this.state.inPropertyName = true; - prop.key = this.match(types.num) || this.match(types.string) ? this.parseExprAtom() : this.parseMaybePrivateName(); - - if (prop.key.type !== "PrivateName") { - prop.computed = false; - } - - this.state.inPropertyName = oldInPropertyName; - } - - return prop.key; - } - }, { - key: "initFunction", - value: function initFunction(node, isAsync) { - node.id = null; - node.generator = false; - node.async = !!isAsync; - } - }, { - key: "parseMethod", - value: function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type) { - var inClassScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; - var oldYieldPos = this.state.yieldPos; - var oldAwaitPos = this.state.awaitPos; - this.state.yieldPos = -1; - this.state.awaitPos = -1; - this.initFunction(node, isAsync); - node.generator = !!isGenerator; - var allowModifiers = isConstructor; - this.scope.enter(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); - this.parseFunctionParams(node, allowModifiers); - this.checkYieldAwaitInDefaultParams(); - this.parseFunctionBodyAndFinish(node, type, true); - this.scope.exit(); - this.state.yieldPos = oldYieldPos; - this.state.awaitPos = oldAwaitPos; - return node; - } - }, { - key: "parseArrowExpression", - value: function parseArrowExpression(node, params, isAsync, trailingCommaPos) { - this.scope.enter(functionFlags(isAsync, false) | SCOPE_ARROW); - this.initFunction(node, isAsync); - var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; - var oldYieldPos = this.state.yieldPos; - var oldAwaitPos = this.state.awaitPos; - this.state.maybeInArrowParameters = false; - this.state.yieldPos = -1; - this.state.awaitPos = -1; - if (params) this.setArrowFunctionParameters(node, params, trailingCommaPos); - this.parseFunctionBody(node, true); - this.scope.exit(); - this.state.maybeInArrowParameters = oldMaybeInArrowParameters; - this.state.yieldPos = oldYieldPos; - this.state.awaitPos = oldAwaitPos; - return this.finishNode(node, "ArrowFunctionExpression"); - } - }, { - key: "setArrowFunctionParameters", - value: function setArrowFunctionParameters(node, params, trailingCommaPos) { - node.params = this.toAssignableList(params, true, "arrow function parameters", trailingCommaPos); - } - }, { - key: "isStrictBody", - value: function isStrictBody(node) { - var isBlockStatement = node.body.type === "BlockStatement"; - - if (isBlockStatement && node.body.directives.length) { - for (var _i2 = 0, _node$body$directives = node.body.directives; _i2 < _node$body$directives.length; _i2++) { - var directive = _node$body$directives[_i2]; - - if (directive.value.value === "use strict") { - return true; - } - } - } - - return false; - } - }, { - key: "parseFunctionBodyAndFinish", - value: function parseFunctionBodyAndFinish(node, type) { - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - this.parseFunctionBody(node, false, isMethod); - this.finishNode(node, type); - } - }, { - key: "parseFunctionBody", - value: function parseFunctionBody(node, allowExpression) { - var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var isExpression = allowExpression && !this.match(types.braceL); - var oldStrict = this.state.strict; - var useStrict = false; - var oldInParameters = this.state.inParameters; - this.state.inParameters = false; - - if (isExpression) { - node.body = this.parseMaybeAssign(); - this.checkParams(node, false, allowExpression, false); - } else { - var nonSimple = !this.isSimpleParamList(node.params); - - if (!oldStrict || nonSimple) { - useStrict = this.strictDirective(this.state.end); - - if (useStrict && nonSimple) { - var errorPos = (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.end : node.start; - this.raise(errorPos, "Illegal 'use strict' directive in function with non-simple parameter list"); - } - } - - var oldLabels = this.state.labels; - this.state.labels = []; - if (useStrict) this.state.strict = true; - this.checkParams(node, !oldStrict && !useStrict && !allowExpression && !isMethod && !nonSimple, allowExpression, !oldStrict && useStrict); - node.body = this.parseBlock(true, false); - this.state.labels = oldLabels; - } - - this.state.inParameters = oldInParameters; - - if (this.state.strict && node.id) { - this.checkLVal(node.id, BIND_OUTSIDE, undefined, "function name", undefined, !oldStrict && useStrict); - } - - this.state.strict = oldStrict; - } - }, { - key: "isSimpleParamList", - value: function isSimpleParamList(params) { - for (var i = 0, len = params.length; i < len; i++) { - if (params[i].type !== "Identifier") return false; - } - - return true; - } - }, { - key: "checkParams", - value: function checkParams(node, allowDuplicates, isArrowFunction) { - var strictModeChanged = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - var nameHash = Object.create(null); - - for (var i = 0; i < node.params.length; i++) { - this.checkLVal(node.params[i], BIND_VAR, allowDuplicates ? null : nameHash, "function parameter list", undefined, strictModeChanged); - } - } - }, { - key: "parseExprList", - value: function parseExprList(close, allowEmpty, refShorthandDefaultPos, nodeForExtra) { - var elts = []; - var first = true; - - while (!this.eat(close)) { - if (first) { - first = false; - } else { - this.expect(types.comma); - - if (this.match(close)) { - if (nodeForExtra) { - this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); - } - - this.next(); - break; - } - } - - elts.push(this.parseExprListItem(allowEmpty, refShorthandDefaultPos)); - } - - return elts; - } - }, { - key: "parseExprListItem", - value: function parseExprListItem(allowEmpty, refShorthandDefaultPos, refNeedsArrowPos, allowPlaceholder) { - var elt; - - if (allowEmpty && this.match(types.comma)) { - elt = null; - } else if (this.match(types.ellipsis)) { - var spreadNodeStartPos = this.state.start; - var spreadNodeStartLoc = this.state.startLoc; - elt = this.parseParenItem(this.parseSpread(refShorthandDefaultPos, refNeedsArrowPos), spreadNodeStartPos, spreadNodeStartLoc); - } else if (this.match(types.question)) { - this.expectPlugin("partialApplication"); - - if (!allowPlaceholder) { - this.raise(this.state.start, "Unexpected argument placeholder"); - } - - var node = this.startNode(); - this.next(); - elt = this.finishNode(node, "ArgumentPlaceholder"); - } else { - elt = this.parseMaybeAssign(false, refShorthandDefaultPos, this.parseParenItem, refNeedsArrowPos); - } - - return elt; - } - }, { - key: "parseIdentifier", - value: function parseIdentifier(liberal) { - var node = this.startNode(); - var name = this.parseIdentifierName(node.start, liberal); - return this.createIdentifier(node, name); - } - }, { - key: "createIdentifier", - value: function createIdentifier(node, name) { - node.name = name; - node.loc.identifierName = name; - return this.finishNode(node, "Identifier"); - } - }, { - key: "parseIdentifierName", - value: function parseIdentifierName(pos, liberal) { - var name; - - if (this.match(types.name)) { - name = this.state.value; - } else if (this.state.type.keyword) { - name = this.state.type.keyword; - - if ((name === "class" || name === "function") && (this.state.lastTokEnd !== this.state.lastTokStart + 1 || this.input.charCodeAt(this.state.lastTokStart) !== 46)) { - this.state.context.pop(); - } - } else { - throw this.unexpected(); - } - - if (liberal) { - this.state.type = types.name; - } else { - this.checkReservedWord(name, this.state.start, !!this.state.type.keyword, false); - } - - this.next(); - return name; - } - }, { - key: "checkReservedWord", - value: function checkReservedWord(word, startLoc, checkKeywords, isBinding) { - if (this.scope.inGenerator && word === "yield") { - this.raise(startLoc, "Can not use 'yield' as identifier inside a generator"); - return; - } - - if (word === "await") { - if (this.scope.inAsync) { - this.raise(startLoc, "Can not use 'await' as identifier inside an async function"); - return; - } - - if (this.state.awaitPos === -1 && (this.state.maybeInArrowParameters || this.isAwaitAllowed())) { - this.state.awaitPos = this.state.start; - } - } - - if (this.state.inClassProperty && word === "arguments") { - this.raise(startLoc, "'arguments' is not allowed in class field initializer"); - return; - } - - if (checkKeywords && isKeyword(word)) { - this.raise(startLoc, "Unexpected keyword '".concat(word, "'")); - return; - } - - var reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; - - if (reservedTest(word, this.inModule)) { - if (!this.scope.inAsync && word === "await") { - this.raise(startLoc, "Can not use keyword 'await' outside an async function"); - } else { - this.raise(startLoc, "Unexpected reserved word '".concat(word, "'")); - } - } - } - }, { - key: "isAwaitAllowed", - value: function isAwaitAllowed() { - if (this.scope.inFunction) return this.scope.inAsync; - if (this.options.allowAwaitOutsideFunction) return true; - if (this.hasPlugin("topLevelAwait")) return this.inModule; - return false; - } - }, { - key: "parseAwait", - value: function parseAwait() { - var node = this.startNode(); - this.next(); - - if (this.state.inParameters) { - this.raise(node.start, "await is not allowed in async function parameters"); - } else if (this.state.awaitPos === -1) { - this.state.awaitPos = node.start; - } - - if (this.eat(types.star)) { - this.raise(node.start, "await* has been removed from the async functions proposal. Use Promise.all() instead."); - } - - if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { - if (this.hasPrecedingLineBreak() || this.match(types.plusMin) || this.match(types.parenL) || this.match(types.bracketL) || this.match(types.backQuote) || this.match(types.regexp) || this.match(types.slash) || this.hasPlugin("v8intrinsic") && this.match(types.modulo)) { - this.ambiguousScriptDifferentAst = true; - } else { - this.sawUnambiguousESM = true; - } - } - - if (!this.state.soloAwait) { - node.argument = this.parseMaybeUnary(); - } - - return this.finishNode(node, "AwaitExpression"); - } - }, { - key: "parseYield", - value: function parseYield(noIn) { - var node = this.startNode(); - - if (this.state.inParameters) { - this.raise(node.start, "yield is not allowed in generator parameters"); - } else if (this.state.yieldPos === -1) { - this.state.yieldPos = node.start; - } - - this.next(); - - if (this.match(types.semi) || !this.match(types.star) && !this.state.type.startsExpr || this.hasPrecedingLineBreak()) { - node.delegate = false; - node.argument = null; - } else { - node.delegate = this.eat(types.star); - node.argument = this.parseMaybeAssign(noIn); - } - - return this.finishNode(node, "YieldExpression"); - } - }, { - key: "checkPipelineAtInfixOperator", - value: function checkPipelineAtInfixOperator(left, leftStartPos) { - if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { - if (left.type === "SequenceExpression") { - this.raise(leftStartPos, "Pipeline head should not be a comma-separated sequence expression"); - } - } - } - }, { - key: "parseSmartPipelineBody", - value: function parseSmartPipelineBody(childExpression, startPos, startLoc) { - var pipelineStyle = this.checkSmartPipelineBodyStyle(childExpression); - this.checkSmartPipelineBodyEarlyErrors(childExpression, pipelineStyle, startPos); - return this.parseSmartPipelineBodyInStyle(childExpression, pipelineStyle, startPos, startLoc); - } - }, { - key: "checkSmartPipelineBodyEarlyErrors", - value: function checkSmartPipelineBodyEarlyErrors(childExpression, pipelineStyle, startPos) { - if (this.match(types.arrow)) { - throw this.raise(this.state.start, "Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized"); - } else if (pipelineStyle === "PipelineTopicExpression" && childExpression.type === "SequenceExpression") { - this.raise(startPos, "Pipeline body may not be a comma-separated sequence expression"); - } - } - }, { - key: "parseSmartPipelineBodyInStyle", - value: function parseSmartPipelineBodyInStyle(childExpression, pipelineStyle, startPos, startLoc) { - var bodyNode = this.startNodeAt(startPos, startLoc); - - switch (pipelineStyle) { - case "PipelineBareFunction": - bodyNode.callee = childExpression; - break; - - case "PipelineBareConstructor": - bodyNode.callee = childExpression.callee; - break; - - case "PipelineBareAwaitedFunction": - bodyNode.callee = childExpression.argument; - break; - - case "PipelineTopicExpression": - if (!this.topicReferenceWasUsedInCurrentTopicContext()) { - this.raise(startPos, "Pipeline is in topic style but does not use topic reference"); - } - - bodyNode.expression = childExpression; - break; - - default: - throw new Error("Internal @babel/parser error: Unknown pipeline style (".concat(pipelineStyle, ")")); - } - - return this.finishNode(bodyNode, pipelineStyle); - } - }, { - key: "checkSmartPipelineBodyStyle", - value: function checkSmartPipelineBodyStyle(expression) { - switch (expression.type) { - default: - return this.isSimpleReference(expression) ? "PipelineBareFunction" : "PipelineTopicExpression"; - } - } - }, { - key: "isSimpleReference", - value: function isSimpleReference(expression) { - switch (expression.type) { - case "MemberExpression": - return !expression.computed && this.isSimpleReference(expression.object); - - case "Identifier": - return true; - - default: - return false; - } - } - }, { - key: "withTopicPermittingContext", - value: function withTopicPermittingContext(callback) { - var outerContextTopicState = this.state.topicContext; - this.state.topicContext = { - maxNumOfResolvableTopics: 1, - maxTopicIndex: null - }; - - try { - return callback(); - } finally { - this.state.topicContext = outerContextTopicState; - } - } - }, { - key: "withTopicForbiddingContext", - value: function withTopicForbiddingContext(callback) { - var outerContextTopicState = this.state.topicContext; - this.state.topicContext = { - maxNumOfResolvableTopics: 0, - maxTopicIndex: null - }; - - try { - return callback(); - } finally { - this.state.topicContext = outerContextTopicState; - } - } - }, { - key: "withSoloAwaitPermittingContext", - value: function withSoloAwaitPermittingContext(callback) { - var outerContextSoloAwaitState = this.state.soloAwait; - this.state.soloAwait = true; - - try { - return callback(); - } finally { - this.state.soloAwait = outerContextSoloAwaitState; - } - } - }, { - key: "registerTopicReference", - value: function registerTopicReference() { - this.state.topicContext.maxTopicIndex = 0; - } - }, { - key: "primaryTopicReferenceIsAllowedInCurrentTopicContext", - value: function primaryTopicReferenceIsAllowedInCurrentTopicContext() { - return this.state.topicContext.maxNumOfResolvableTopics >= 1; - } - }, { - key: "topicReferenceWasUsedInCurrentTopicContext", - value: function topicReferenceWasUsedInCurrentTopicContext() { - return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; - } - }, { - key: "parseFSharpPipelineBody", - value: function parseFSharpPipelineBody(prec, noIn) { - var startPos = this.state.start; - var startLoc = this.state.startLoc; - this.state.potentialArrowAt = this.state.start; - var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; - this.state.inFSharpPipelineDirectBody = true; - var ret = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec, noIn); - this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; - return ret; - } - }]); - - return ExpressionParser; -}(LValParser); - -var loopLabel = { - kind: "loop" -}, - switchLabel = { - kind: "switch" -}; -var FUNC_NO_FLAGS = 0, - FUNC_STATEMENT = 1, - FUNC_HANGING_STATEMENT = 2, - FUNC_NULLABLE_ID = 4; - -var StatementParser = -/*#__PURE__*/ -function (_ExpressionParser) { - _inherits(StatementParser, _ExpressionParser); - - function StatementParser() { - _classCallCheck(this, StatementParser); - - return _possibleConstructorReturn(this, _getPrototypeOf(StatementParser).apply(this, arguments)); - } - - _createClass(StatementParser, [{ - key: "parseTopLevel", - value: function parseTopLevel(file, program) { - program.sourceType = this.options.sourceType; - program.interpreter = this.parseInterpreterDirective(); - this.parseBlockBody(program, true, true, types.eof); - - if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { - for (var _i = 0, _Array$from = Array.from(this.scope.undefinedExports); _i < _Array$from.length; _i++) { - var _Array$from$_i = _slicedToArray(_Array$from[_i], 1), - name = _Array$from$_i[0]; - - var pos = this.scope.undefinedExports.get(name); - this.raise(pos, "Export '".concat(name, "' is not defined")); - } - } - - file.program = this.finishNode(program, "Program"); - file.comments = this.state.comments; - if (this.options.tokens) file.tokens = this.state.tokens; - return this.finishNode(file, "File"); - } - }, { - key: "stmtToDirective", - value: function stmtToDirective(stmt) { - var expr = stmt.expression; - var directiveLiteral = this.startNodeAt(expr.start, expr.loc.start); - var directive = this.startNodeAt(stmt.start, stmt.loc.start); - var raw = this.input.slice(expr.start, expr.end); - var val = directiveLiteral.value = raw.slice(1, -1); - this.addExtra(directiveLiteral, "raw", raw); - this.addExtra(directiveLiteral, "rawValue", val); - directive.value = this.finishNodeAt(directiveLiteral, "DirectiveLiteral", expr.end, expr.loc.end); - return this.finishNodeAt(directive, "Directive", stmt.end, stmt.loc.end); - } - }, { - key: "parseInterpreterDirective", - value: function parseInterpreterDirective() { - if (!this.match(types.interpreterDirective)) { - return null; - } - - var node = this.startNode(); - node.value = this.state.value; - this.next(); - return this.finishNode(node, "InterpreterDirective"); - } - }, { - key: "isLet", - value: function isLet(context) { - if (!this.isContextual("let")) { - return false; - } - - var next = this.nextTokenStart(); - var nextCh = this.input.charCodeAt(next); - if (nextCh === 91) return true; - if (context) return false; - if (nextCh === 123) return true; - - if (isIdentifierStart(nextCh)) { - var pos = next + 1; - - while (isIdentifierChar(this.input.charCodeAt(pos))) { - ++pos; - } - - var ident = this.input.slice(next, pos); - if (!keywordRelationalOperator.test(ident)) return true; - } - - return false; - } - }, { - key: "parseStatement", - value: function parseStatement(context, topLevel) { - if (this.match(types.at)) { - this.parseDecorators(true); - } - - return this.parseStatementContent(context, topLevel); - } - }, { - key: "parseStatementContent", - value: function parseStatementContent(context, topLevel) { - var starttype = this.state.type; - var node = this.startNode(); - var kind; - - if (this.isLet(context)) { - starttype = types._var; - kind = "let"; - } - - switch (starttype) { - case types._break: - case types._continue: - return this.parseBreakContinueStatement(node, starttype.keyword); - - case types._debugger: - return this.parseDebuggerStatement(node); - - case types._do: - return this.parseDoStatement(node); - - case types._for: - return this.parseForStatement(node); - - case types._function: - if (this.lookaheadCharCode() === 46) break; - - if (context) { - if (this.state.strict) { - this.raise(this.state.start, "In strict mode code, functions can only be declared at top level or inside a block"); - } else if (context !== "if" && context !== "label") { - this.raise(this.state.start, "In non-strict mode code, functions can only be declared at top level, " + "inside a block, or as the body of an if statement"); - } - } - - return this.parseFunctionStatement(node, false, !context); - - case types._class: - if (context) this.unexpected(); - return this.parseClass(node, true); - - case types._if: - return this.parseIfStatement(node); - - case types._return: - return this.parseReturnStatement(node); - - case types._switch: - return this.parseSwitchStatement(node); - - case types._throw: - return this.parseThrowStatement(node); - - case types._try: - return this.parseTryStatement(node); - - case types._const: - case types._var: - kind = kind || this.state.value; - - if (context && kind !== "var") { - this.raise(this.state.start, "Lexical declaration cannot appear in a single-statement context"); - } - - return this.parseVarStatement(node, kind); - - case types._while: - return this.parseWhileStatement(node); - - case types._with: - return this.parseWithStatement(node); - - case types.braceL: - return this.parseBlock(); - - case types.semi: - return this.parseEmptyStatement(node); - - case types._export: - case types._import: - { - var nextTokenCharCode = this.lookaheadCharCode(); - - if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { - break; - } - - if (!this.options.allowImportExportEverywhere && !topLevel) { - this.raise(this.state.start, "'import' and 'export' may only appear at the top level"); - } - - this.next(); - var result; - - if (starttype === types._import) { - result = this.parseImport(node); - - if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { - this.sawUnambiguousESM = true; - } - } else { - result = this.parseExport(node); - - if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { - this.sawUnambiguousESM = true; - } - } - - this.assertModuleNodeAllowed(node); - return result; - } - - default: - { - if (this.isAsyncFunction()) { - if (context) { - this.raise(this.state.start, "Async functions can only be declared at the top level or inside a block"); - } - - this.next(); - return this.parseFunctionStatement(node, true, !context); - } - } - } - - var maybeName = this.state.value; - var expr = this.parseExpression(); - - if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon)) { - return this.parseLabeledStatement(node, maybeName, expr, context); - } else { - return this.parseExpressionStatement(node, expr); - } - } - }, { - key: "assertModuleNodeAllowed", - value: function assertModuleNodeAllowed(node) { - if (!this.options.allowImportExportEverywhere && !this.inModule) { - this.raise(node.start, "'import' and 'export' may appear only with 'sourceType: \"module\"'", { - code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" - }); - } - } - }, { - key: "takeDecorators", - value: function takeDecorators(node) { - var decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; - - if (decorators.length) { - node.decorators = decorators; - this.resetStartLocationFromNode(node, decorators[0]); - this.state.decoratorStack[this.state.decoratorStack.length - 1] = []; - } - } - }, { - key: "canHaveLeadingDecorator", - value: function canHaveLeadingDecorator() { - return this.match(types._class); - } - }, { - key: "parseDecorators", - value: function parseDecorators(allowExport) { - var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; - - while (this.match(types.at)) { - var decorator = this.parseDecorator(); - currentContextDecorators.push(decorator); - } - - if (this.match(types._export)) { - if (!allowExport) { - this.unexpected(); - } - - if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) { - this.raise(this.state.start, "Using the export keyword between a decorator and a class is not allowed. " + "Please use `export @dec class` instead."); - } - } else if (!this.canHaveLeadingDecorator()) { - throw this.raise(this.state.start, "Leading decorators must be attached to a class declaration"); - } - } - }, { - key: "parseDecorator", - value: function parseDecorator() { - this.expectOnePlugin(["decorators-legacy", "decorators"]); - var node = this.startNode(); - this.next(); - - if (this.hasPlugin("decorators")) { - this.state.decoratorStack.push([]); - var startPos = this.state.start; - var startLoc = this.state.startLoc; - var expr; - - if (this.eat(types.parenL)) { - expr = this.parseExpression(); - this.expect(types.parenR); - } else { - expr = this.parseIdentifier(false); - - while (this.eat(types.dot)) { - var _node15 = this.startNodeAt(startPos, startLoc); - - _node15.object = expr; - _node15.property = this.parseIdentifier(true); - _node15.computed = false; - expr = this.finishNode(_node15, "MemberExpression"); - } - } - - node.expression = this.parseMaybeDecoratorArguments(expr); - this.state.decoratorStack.pop(); - } else { - node.expression = this.parseExprSubscripts(); - } - - return this.finishNode(node, "Decorator"); - } - }, { - key: "parseMaybeDecoratorArguments", - value: function parseMaybeDecoratorArguments(expr) { - if (this.eat(types.parenL)) { - var node = this.startNodeAtNode(expr); - node.callee = expr; - node.arguments = this.parseCallExpressionArguments(types.parenR, false); - this.toReferencedList(node.arguments); - return this.finishNode(node, "CallExpression"); - } - - return expr; - } - }, { - key: "parseBreakContinueStatement", - value: function parseBreakContinueStatement(node, keyword) { - var isBreak = keyword === "break"; - this.next(); - - if (this.isLineTerminator()) { - node.label = null; - } else { - node.label = this.parseIdentifier(); - this.semicolon(); - } - - this.verifyBreakContinue(node, keyword); - return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); - } - }, { - key: "verifyBreakContinue", - value: function verifyBreakContinue(node, keyword) { - var isBreak = keyword === "break"; - var i; - - for (i = 0; i < this.state.labels.length; ++i) { - var lab = this.state.labels[i]; - - if (node.label == null || lab.name === node.label.name) { - if (lab.kind != null && (isBreak || lab.kind === "loop")) break; - if (node.label && isBreak) break; - } - } - - if (i === this.state.labels.length) { - this.raise(node.start, "Unsyntactic " + keyword); - } - } - }, { - key: "parseDebuggerStatement", - value: function parseDebuggerStatement(node) { - this.next(); - this.semicolon(); - return this.finishNode(node, "DebuggerStatement"); - } - }, { - key: "parseHeaderExpression", - value: function parseHeaderExpression() { - this.expect(types.parenL); - var val = this.parseExpression(); - this.expect(types.parenR); - return val; - } - }, { - key: "parseDoStatement", - value: function parseDoStatement(node) { - var _this37 = this; - - this.next(); - this.state.labels.push(loopLabel); - node.body = this.withTopicForbiddingContext(function () { - return _this37.parseStatement("do"); - }); - this.state.labels.pop(); - this.expect(types._while); - node.test = this.parseHeaderExpression(); - this.eat(types.semi); - return this.finishNode(node, "DoWhileStatement"); - } - }, { - key: "parseForStatement", - value: function parseForStatement(node) { - this.next(); - this.state.labels.push(loopLabel); - var awaitAt = -1; - - if (this.isAwaitAllowed() && this.eatContextual("await")) { - awaitAt = this.state.lastTokStart; - } - - this.scope.enter(SCOPE_OTHER); - this.expect(types.parenL); - - if (this.match(types.semi)) { - if (awaitAt > -1) { - this.unexpected(awaitAt); - } - - return this.parseFor(node, null); - } - - var isLet = this.isLet(); - - if (this.match(types._var) || this.match(types._const) || isLet) { - var _init = this.startNode(); - - var kind = isLet ? "let" : this.state.value; - this.next(); - this.parseVar(_init, true, kind); - this.finishNode(_init, "VariableDeclaration"); - - if ((this.match(types._in) || this.isContextual("of")) && _init.declarations.length === 1) { - return this.parseForIn(node, _init, awaitAt); - } - - if (awaitAt > -1) { - this.unexpected(awaitAt); - } - - return this.parseFor(node, _init); - } - - var refShorthandDefaultPos = { - start: 0 - }; - var init = this.parseExpression(true, refShorthandDefaultPos); - - if (this.match(types._in) || this.isContextual("of")) { - var description = this.isContextual("of") ? "for-of statement" : "for-in statement"; - this.toAssignable(init, undefined, description); - this.checkLVal(init, undefined, undefined, description); - return this.parseForIn(node, init, awaitAt); - } else if (refShorthandDefaultPos.start) { - this.unexpected(refShorthandDefaultPos.start); - } - - if (awaitAt > -1) { - this.unexpected(awaitAt); - } - - return this.parseFor(node, init); - } - }, { - key: "parseFunctionStatement", - value: function parseFunctionStatement(node, isAsync, declarationPosition) { - this.next(); - return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync); - } - }, { - key: "parseIfStatement", - value: function parseIfStatement(node) { - this.next(); - node.test = this.parseHeaderExpression(); - node.consequent = this.parseStatement("if"); - node.alternate = this.eat(types._else) ? this.parseStatement("if") : null; - return this.finishNode(node, "IfStatement"); - } - }, { - key: "parseReturnStatement", - value: function parseReturnStatement(node) { - if (!this.scope.inFunction && !this.options.allowReturnOutsideFunction) { - this.raise(this.state.start, "'return' outside of function"); - } - - this.next(); - - if (this.isLineTerminator()) { - node.argument = null; - } else { - node.argument = this.parseExpression(); - this.semicolon(); - } - - return this.finishNode(node, "ReturnStatement"); - } - }, { - key: "parseSwitchStatement", - value: function parseSwitchStatement(node) { - this.next(); - node.discriminant = this.parseHeaderExpression(); - var cases = node.cases = []; - this.expect(types.braceL); - this.state.labels.push(switchLabel); - this.scope.enter(SCOPE_OTHER); - var cur; - - for (var sawDefault; !this.match(types.braceR);) { - if (this.match(types._case) || this.match(types._default)) { - var isCase = this.match(types._case); - if (cur) this.finishNode(cur, "SwitchCase"); - cases.push(cur = this.startNode()); - cur.consequent = []; - this.next(); - - if (isCase) { - cur.test = this.parseExpression(); - } else { - if (sawDefault) { - this.raise(this.state.lastTokStart, "Multiple default clauses"); - } - - sawDefault = true; - cur.test = null; - } - - this.expect(types.colon); - } else { - if (cur) { - cur.consequent.push(this.parseStatement(null)); - } else { - this.unexpected(); - } - } - } - - this.scope.exit(); - if (cur) this.finishNode(cur, "SwitchCase"); - this.next(); - this.state.labels.pop(); - return this.finishNode(node, "SwitchStatement"); - } - }, { - key: "parseThrowStatement", - value: function parseThrowStatement(node) { - this.next(); - - if (lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start))) { - this.raise(this.state.lastTokEnd, "Illegal newline after throw"); - } - - node.argument = this.parseExpression(); - this.semicolon(); - return this.finishNode(node, "ThrowStatement"); - } - }, { - key: "parseTryStatement", - value: function parseTryStatement(node) { - var _this38 = this; - - this.next(); - node.block = this.parseBlock(); - node.handler = null; - - if (this.match(types._catch)) { - var clause = this.startNode(); - this.next(); - - if (this.match(types.parenL)) { - this.expect(types.parenL); - clause.param = this.parseBindingAtom(); - var simple = clause.param.type === "Identifier"; - this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0); - this.checkLVal(clause.param, BIND_LEXICAL, null, "catch clause"); - this.expect(types.parenR); - } else { - clause.param = null; - this.scope.enter(SCOPE_OTHER); - } - - clause.body = this.withTopicForbiddingContext(function () { - return _this38.parseBlock(false, false); - }); - this.scope.exit(); - node.handler = this.finishNode(clause, "CatchClause"); - } - - node.finalizer = this.eat(types._finally) ? this.parseBlock() : null; - - if (!node.handler && !node.finalizer) { - this.raise(node.start, "Missing catch or finally clause"); - } - - return this.finishNode(node, "TryStatement"); - } - }, { - key: "parseVarStatement", - value: function parseVarStatement(node, kind) { - this.next(); - this.parseVar(node, false, kind); - this.semicolon(); - return this.finishNode(node, "VariableDeclaration"); - } - }, { - key: "parseWhileStatement", - value: function parseWhileStatement(node) { - var _this39 = this; - - this.next(); - node.test = this.parseHeaderExpression(); - this.state.labels.push(loopLabel); - node.body = this.withTopicForbiddingContext(function () { - return _this39.parseStatement("while"); - }); - this.state.labels.pop(); - return this.finishNode(node, "WhileStatement"); - } - }, { - key: "parseWithStatement", - value: function parseWithStatement(node) { - var _this40 = this; - - if (this.state.strict) { - this.raise(this.state.start, "'with' in strict mode"); - } - - this.next(); - node.object = this.parseHeaderExpression(); - node.body = this.withTopicForbiddingContext(function () { - return _this40.parseStatement("with"); - }); - return this.finishNode(node, "WithStatement"); - } - }, { - key: "parseEmptyStatement", - value: function parseEmptyStatement(node) { - this.next(); - return this.finishNode(node, "EmptyStatement"); - } - }, { - key: "parseLabeledStatement", - value: function parseLabeledStatement(node, maybeName, expr, context) { - for (var _i2 = 0, _this$state$labels = this.state.labels; _i2 < _this$state$labels.length; _i2++) { - var label = _this$state$labels[_i2]; - - if (label.name === maybeName) { - this.raise(expr.start, "Label '".concat(maybeName, "' is already declared")); - } - } - - var kind = this.state.type.isLoop ? "loop" : this.match(types._switch) ? "switch" : null; - - for (var i = this.state.labels.length - 1; i >= 0; i--) { - var _label = this.state.labels[i]; - - if (_label.statementStart === node.start) { - _label.statementStart = this.state.start; - _label.kind = kind; - } else { - break; - } - } - - this.state.labels.push({ - name: maybeName, - kind: kind, - statementStart: this.state.start - }); - node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); - this.state.labels.pop(); - node.label = expr; - return this.finishNode(node, "LabeledStatement"); - } - }, { - key: "parseExpressionStatement", - value: function parseExpressionStatement(node, expr) { - node.expression = expr; - this.semicolon(); - return this.finishNode(node, "ExpressionStatement"); - } - }, { - key: "parseBlock", - value: function parseBlock() { - var allowDirectives = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var createNewLexicalScope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - var node = this.startNode(); - this.expect(types.braceL); - - if (createNewLexicalScope) { - this.scope.enter(SCOPE_OTHER); - } - - this.parseBlockBody(node, allowDirectives, false, types.braceR); - - if (createNewLexicalScope) { - this.scope.exit(); - } - - return this.finishNode(node, "BlockStatement"); - } - }, { - key: "isValidDirective", - value: function isValidDirective(stmt) { - return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; - } - }, { - key: "parseBlockBody", - value: function parseBlockBody(node, allowDirectives, topLevel, end) { - var body = node.body = []; - var directives = node.directives = []; - this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end); - } - }, { - key: "parseBlockOrModuleBlockBody", - value: function parseBlockOrModuleBlockBody(body, directives, topLevel, end) { - var parsedNonDirective = false; - var oldStrict; - var octalPosition; - - while (!this.eat(end)) { - if (!parsedNonDirective && this.state.containsOctal && !octalPosition) { - octalPosition = this.state.octalPosition; - } - - var stmt = this.parseStatement(null, topLevel); - - if (directives && !parsedNonDirective && this.isValidDirective(stmt)) { - var directive = this.stmtToDirective(stmt); - directives.push(directive); - - if (oldStrict === undefined && directive.value.value === "use strict") { - oldStrict = this.state.strict; - this.setStrict(true); - - if (octalPosition) { - this.raise(octalPosition, "Octal literal in strict mode"); - } - } - - continue; - } - - parsedNonDirective = true; - body.push(stmt); - } - - if (oldStrict === false) { - this.setStrict(false); - } - } - }, { - key: "parseFor", - value: function parseFor(node, init) { - var _this41 = this; - - node.init = init; - this.expect(types.semi); - node.test = this.match(types.semi) ? null : this.parseExpression(); - this.expect(types.semi); - node.update = this.match(types.parenR) ? null : this.parseExpression(); - this.expect(types.parenR); - node.body = this.withTopicForbiddingContext(function () { - return _this41.parseStatement("for"); - }); - this.scope.exit(); - this.state.labels.pop(); - return this.finishNode(node, "ForStatement"); - } - }, { - key: "parseForIn", - value: function parseForIn(node, init, awaitAt) { - var _this42 = this; - - var isForIn = this.match(types._in); - this.next(); - - if (isForIn) { - if (awaitAt > -1) this.unexpected(awaitAt); - } else { - node.await = awaitAt > -1; - } - - if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { - this.raise(init.start, "".concat(isForIn ? "for-in" : "for-of", " loop variable declaration may not have an initializer")); - } else if (init.type === "AssignmentPattern") { - this.raise(init.start, "Invalid left-hand side in for-loop"); - } - - node.left = init; - node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign(); - this.expect(types.parenR); - node.body = this.withTopicForbiddingContext(function () { - return _this42.parseStatement("for"); - }); - this.scope.exit(); - this.state.labels.pop(); - return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); - } - }, { - key: "parseVar", - value: function parseVar(node, isFor, kind) { - var declarations = node.declarations = []; - var isTypescript = this.hasPlugin("typescript"); - node.kind = kind; - - for (;;) { - var decl = this.startNode(); - this.parseVarId(decl, kind); - - if (this.eat(types.eq)) { - decl.init = this.parseMaybeAssign(isFor); - } else { - if (kind === "const" && !(this.match(types._in) || this.isContextual("of"))) { - if (!isTypescript) { - this.unexpected(); - } - } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(types._in) || this.isContextual("of")))) { - this.raise(this.state.lastTokEnd, "Complex binding patterns require an initialization value"); - } - - decl.init = null; - } - - declarations.push(this.finishNode(decl, "VariableDeclarator")); - if (!this.eat(types.comma)) break; - } - - return node; - } - }, { - key: "parseVarId", - value: function parseVarId(decl, kind) { - decl.id = this.parseBindingAtom(); - this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, undefined, "variable declaration", kind !== "var"); - } - }, { - key: "parseFunction", - value: function parseFunction(node) { - var _this43 = this; - - var statement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FUNC_NO_FLAGS; - var isAsync = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - var isStatement = statement & FUNC_STATEMENT; - var isHangingStatement = statement & FUNC_HANGING_STATEMENT; - var requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID); - this.initFunction(node, isAsync); - - if (this.match(types.star) && isHangingStatement) { - this.raise(this.state.start, "Generators can only be declared at the top level or inside a block"); - } - - node.generator = this.eat(types.star); - - if (isStatement) { - node.id = this.parseFunctionId(requireId); - } - - var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; - var oldInClassProperty = this.state.inClassProperty; - var oldYieldPos = this.state.yieldPos; - var oldAwaitPos = this.state.awaitPos; - this.state.maybeInArrowParameters = false; - this.state.inClassProperty = false; - this.state.yieldPos = -1; - this.state.awaitPos = -1; - this.scope.enter(functionFlags(node.async, node.generator)); - - if (!isStatement) { - node.id = this.parseFunctionId(); - } - - this.parseFunctionParams(node); - this.withTopicForbiddingContext(function () { - _this43.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); - }); - this.scope.exit(); - - if (isStatement && !isHangingStatement) { - this.registerFunctionStatementId(node); - } - - this.state.maybeInArrowParameters = oldMaybeInArrowParameters; - this.state.inClassProperty = oldInClassProperty; - this.state.yieldPos = oldYieldPos; - this.state.awaitPos = oldAwaitPos; - return node; - } - }, { - key: "parseFunctionId", - value: function parseFunctionId(requireId) { - return requireId || this.match(types.name) ? this.parseIdentifier() : null; - } - }, { - key: "parseFunctionParams", - value: function parseFunctionParams(node, allowModifiers) { - var oldInParameters = this.state.inParameters; - this.state.inParameters = true; - this.expect(types.parenL); - node.params = this.parseBindingList(types.parenR, 41, false, allowModifiers); - this.state.inParameters = oldInParameters; - this.checkYieldAwaitInDefaultParams(); - } - }, { - key: "registerFunctionStatementId", - value: function registerFunctionStatementId(node) { - if (!node.id) return; - this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.start); - } - }, { - key: "parseClass", - value: function parseClass(node, isStatement, optionalId) { - this.next(); - this.takeDecorators(node); - var oldStrict = this.state.strict; - this.state.strict = true; - this.parseClassId(node, isStatement, optionalId); - this.parseClassSuper(node); - node.body = this.parseClassBody(!!node.superClass); - this.state.strict = oldStrict; - return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); - } - }, { - key: "isClassProperty", - value: function isClassProperty() { - return this.match(types.eq) || this.match(types.semi) || this.match(types.braceR); - } - }, { - key: "isClassMethod", - value: function isClassMethod() { - return this.match(types.parenL); - } - }, { - key: "isNonstaticConstructor", - value: function isNonstaticConstructor(method) { - return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); - } - }, { - key: "parseClassBody", - value: function parseClassBody(constructorAllowsSuper) { - var _this44 = this; - - this.state.classLevel++; - var state = { - hadConstructor: false - }; - var decorators = []; - var classBody = this.startNode(); - classBody.body = []; - this.expect(types.braceL); - this.withTopicForbiddingContext(function () { - while (!_this44.eat(types.braceR)) { - if (_this44.eat(types.semi)) { - if (decorators.length > 0) { - throw _this44.raise(_this44.state.lastTokEnd, "Decorators must not be followed by a semicolon"); - } - - continue; - } - - if (_this44.match(types.at)) { - decorators.push(_this44.parseDecorator()); - continue; - } - - var member = _this44.startNode(); - - if (decorators.length) { - member.decorators = decorators; - - _this44.resetStartLocationFromNode(member, decorators[0]); - - decorators = []; - } - - _this44.parseClassMember(classBody, member, state, constructorAllowsSuper); - - if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { - _this44.raise(member.start, "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?"); - } - } - }); - - if (decorators.length) { - throw this.raise(this.state.start, "You have trailing decorators with no method"); - } - - this.state.classLevel--; - return this.finishNode(classBody, "ClassBody"); - } - }, { - key: "parseClassMember", - value: function parseClassMember(classBody, member, state, constructorAllowsSuper) { - var isStatic = false; - var containsEsc = this.state.containsEsc; - - if (this.match(types.name) && this.state.value === "static") { - var key = this.parseIdentifier(true); - - if (this.isClassMethod()) { - var method = member; - method.kind = "method"; - method.computed = false; - method.key = key; - method.static = false; - this.pushClassMethod(classBody, method, false, false, false, false); - return; - } else if (this.isClassProperty()) { - var prop = member; - prop.computed = false; - prop.key = key; - prop.static = false; - classBody.body.push(this.parseClassProperty(prop)); - return; - } else if (containsEsc) { - throw this.unexpected(); - } - - isStatic = true; - } - - this.parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper); - } - }, { - key: "parseClassMemberWithIsStatic", - value: function parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper) { - var publicMethod = member; - var privateMethod = member; - var publicProp = member; - var privateProp = member; - var method = publicMethod; - var publicMember = publicMethod; - member.static = isStatic; - - if (this.eat(types.star)) { - method.kind = "method"; - this.parseClassPropertyName(method); - - if (method.key.type === "PrivateName") { - this.pushClassPrivateMethod(classBody, privateMethod, true, false); - return; - } - - if (this.isNonstaticConstructor(publicMethod)) { - this.raise(publicMethod.key.start, "Constructor can't be a generator"); - } - - this.pushClassMethod(classBody, publicMethod, true, false, false, false); - return; - } - - var containsEsc = this.state.containsEsc; - var key = this.parseClassPropertyName(member); - var isPrivate = key.type === "PrivateName"; - var isSimple = key.type === "Identifier"; - var maybeQuestionTokenStart = this.state.start; - this.parsePostMemberNameModifiers(publicMember); - - if (this.isClassMethod()) { - method.kind = "method"; - - if (isPrivate) { - this.pushClassPrivateMethod(classBody, privateMethod, false, false); - return; - } - - var isConstructor = this.isNonstaticConstructor(publicMethod); - var allowsDirectSuper = false; - - if (isConstructor) { - publicMethod.kind = "constructor"; - - if (state.hadConstructor && !this.hasPlugin("typescript")) { - this.raise(key.start, "Duplicate constructor in the same class"); - } - - state.hadConstructor = true; - allowsDirectSuper = constructorAllowsSuper; - } - - this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); - } else if (this.isClassProperty()) { - if (isPrivate) { - this.pushClassPrivateProperty(classBody, privateProp); - } else { - this.pushClassProperty(classBody, publicProp); - } - } else if (isSimple && key.name === "async" && !containsEsc && !this.isLineTerminator()) { - var isGenerator = this.eat(types.star); - - if (publicMember.optional) { - this.unexpected(maybeQuestionTokenStart); - } - - method.kind = "method"; - this.parseClassPropertyName(method); - - if (method.key.type === "PrivateName") { - this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); - } else { - if (this.isNonstaticConstructor(publicMethod)) { - this.raise(publicMethod.key.start, "Constructor can't be an async function"); - } - - this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); - } - } else if (isSimple && (key.name === "get" || key.name === "set") && !containsEsc && !(this.match(types.star) && this.isLineTerminator())) { - method.kind = key.name; - this.parseClassPropertyName(publicMethod); - - if (method.key.type === "PrivateName") { - this.pushClassPrivateMethod(classBody, privateMethod, false, false); - } else { - if (this.isNonstaticConstructor(publicMethod)) { - this.raise(publicMethod.key.start, "Constructor can't have get/set modifier"); - } - - this.pushClassMethod(classBody, publicMethod, false, false, false, false); - } - - this.checkGetterSetterParams(publicMethod); - } else if (this.isLineTerminator()) { - if (isPrivate) { - this.pushClassPrivateProperty(classBody, privateProp); - } else { - this.pushClassProperty(classBody, publicProp); - } - } else { - this.unexpected(); - } - } - }, { - key: "parseClassPropertyName", - value: function parseClassPropertyName(member) { - var key = this.parsePropertyName(member); - - if (!member.computed && member.static && (key.name === "prototype" || key.value === "prototype")) { - this.raise(key.start, "Classes may not have static property named prototype"); - } - - if (key.type === "PrivateName" && key.id.name === "constructor") { - this.raise(key.start, "Classes may not have a private field named '#constructor'"); - } - - return key; - } - }, { - key: "pushClassProperty", - value: function pushClassProperty(classBody, prop) { - if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { - this.raise(prop.key.start, "Classes may not have a field named 'constructor'"); - } - - classBody.body.push(this.parseClassProperty(prop)); - } - }, { - key: "pushClassPrivateProperty", - value: function pushClassPrivateProperty(classBody, prop) { - this.expectPlugin("classPrivateProperties", prop.key.start); - classBody.body.push(this.parseClassPrivateProperty(prop)); - } - }, { - key: "pushClassMethod", - value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { - classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); - } - }, { - key: "pushClassPrivateMethod", - value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { - this.expectPlugin("classPrivateMethods", method.key.start); - classBody.body.push(this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true)); - } - }, { - key: "parsePostMemberNameModifiers", - value: function parsePostMemberNameModifiers(methodOrProp) {} - }, { - key: "parseAccessModifier", - value: function parseAccessModifier() { - return undefined; - } - }, { - key: "parseClassPrivateProperty", - value: function parseClassPrivateProperty(node) { - this.state.inClassProperty = true; - this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); - node.value = this.eat(types.eq) ? this.parseMaybeAssign() : null; - this.semicolon(); - this.state.inClassProperty = false; - this.scope.exit(); - return this.finishNode(node, "ClassPrivateProperty"); - } - }, { - key: "parseClassProperty", - value: function parseClassProperty(node) { - if (!node.typeAnnotation) { - this.expectPlugin("classProperties"); - } - - this.state.inClassProperty = true; - this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); - - if (this.match(types.eq)) { - this.expectPlugin("classProperties"); - this.next(); - node.value = this.parseMaybeAssign(); - } else { - node.value = null; - } - - this.semicolon(); - this.state.inClassProperty = false; - this.scope.exit(); - return this.finishNode(node, "ClassProperty"); - } - }, { - key: "parseClassId", - value: function parseClassId(node, isStatement, optionalId) { - var bindingType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : BIND_CLASS; - - if (this.match(types.name)) { - node.id = this.parseIdentifier(); - - if (isStatement) { - this.checkLVal(node.id, bindingType, undefined, "class name"); - } - } else { - if (optionalId || !isStatement) { - node.id = null; - } else { - this.unexpected(null, "A class name is required"); - } - } - } - }, { - key: "parseClassSuper", - value: function parseClassSuper(node) { - node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null; - } - }, { - key: "parseExport", - value: function parseExport(node) { - var hasDefault = this.maybeParseExportDefaultSpecifier(node); - var parseAfterDefault = !hasDefault || this.eat(types.comma); - var hasStar = parseAfterDefault && this.eatExportStar(node); - var hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); - var parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(types.comma)); - var isFromRequired = hasDefault || hasStar; - - if (hasStar && !hasNamespace) { - if (hasDefault) this.unexpected(); - this.parseExportFrom(node, true); - return this.finishNode(node, "ExportAllDeclaration"); - } - - var hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); - - if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) { - throw this.unexpected(null, types.braceL); - } - - var hasDeclaration; - - if (isFromRequired || hasSpecifiers) { - hasDeclaration = false; - this.parseExportFrom(node, isFromRequired); - } else { - hasDeclaration = this.maybeParseExportDeclaration(node); - } - - if (isFromRequired || hasSpecifiers || hasDeclaration) { - this.checkExport(node, true, false, !!node.source); - return this.finishNode(node, "ExportNamedDeclaration"); - } - - if (this.eat(types._default)) { - node.declaration = this.parseExportDefaultExpression(); - this.checkExport(node, true, true); - return this.finishNode(node, "ExportDefaultDeclaration"); - } - - throw this.unexpected(null, types.braceL); - } - }, { - key: "eatExportStar", - value: function eatExportStar(node) { - return this.eat(types.star); - } - }, { - key: "maybeParseExportDefaultSpecifier", - value: function maybeParseExportDefaultSpecifier(node) { - if (this.isExportDefaultSpecifier()) { - this.expectPlugin("exportDefaultFrom"); - var specifier = this.startNode(); - specifier.exported = this.parseIdentifier(true); - node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; - return true; - } - - return false; - } - }, { - key: "maybeParseExportNamespaceSpecifier", - value: function maybeParseExportNamespaceSpecifier(node) { - if (this.isContextual("as")) { - if (!node.specifiers) node.specifiers = []; - var specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc); - this.next(); - specifier.exported = this.parseIdentifier(true); - node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); - return true; - } - - return false; - } - }, { - key: "maybeParseExportNamedSpecifiers", - value: function maybeParseExportNamedSpecifiers(node) { - if (this.match(types.braceL)) { - var _node$specifiers2; - - if (!node.specifiers) node.specifiers = []; - - (_node$specifiers2 = node.specifiers).push.apply(_node$specifiers2, _toConsumableArray(this.parseExportSpecifiers())); - - node.source = null; - node.declaration = null; - return true; - } - - return false; - } - }, { - key: "maybeParseExportDeclaration", - value: function maybeParseExportDeclaration(node) { - if (this.shouldParseExportDeclaration()) { - if (this.isContextual("async")) { - var next = this.nextTokenStart(); - - if (!this.isUnparsedContextual(next, "function")) { - this.unexpected(next, "Unexpected token, expected \"function\""); - } - } - - node.specifiers = []; - node.source = null; - node.declaration = this.parseExportDeclaration(node); - return true; - } - - return false; - } - }, { - key: "isAsyncFunction", - value: function isAsyncFunction() { - if (!this.isContextual("async")) return false; - var next = this.nextTokenStart(); - return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function"); - } - }, { - key: "parseExportDefaultExpression", - value: function parseExportDefaultExpression() { - var expr = this.startNode(); - var isAsync = this.isAsyncFunction(); - - if (this.match(types._function) || isAsync) { - this.next(); - - if (isAsync) { - this.next(); - } - - return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync); - } else if (this.match(types._class)) { - return this.parseClass(expr, true, true); - } else if (this.match(types.at)) { - if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) { - this.raise(this.state.start, "Decorators must be placed *before* the 'export' keyword." + " You can set the 'decoratorsBeforeExport' option to false to use" + " the 'export @decorator class {}' syntax"); - } - - this.parseDecorators(false); - return this.parseClass(expr, true, true); - } else if (this.match(types._const) || this.match(types._var) || this.isLet()) { - throw this.raise(this.state.start, "Only expressions, functions or classes are allowed as the `default` export."); - } else { - var res = this.parseMaybeAssign(); - this.semicolon(); - return res; - } - } - }, { - key: "parseExportDeclaration", - value: function parseExportDeclaration(node) { - return this.parseStatement(null); - } - }, { - key: "isExportDefaultSpecifier", - value: function isExportDefaultSpecifier() { - if (this.match(types.name)) { - return this.state.value !== "async" && this.state.value !== "let"; - } - - if (!this.match(types._default)) { - return false; - } - - var next = this.nextTokenStart(); - return this.input.charCodeAt(next) === 44 || this.isUnparsedContextual(next, "from"); - } - }, { - key: "parseExportFrom", - value: function parseExportFrom(node, expect) { - if (this.eatContextual("from")) { - node.source = this.parseImportSource(); - this.checkExport(node); - } else { - if (expect) { - this.unexpected(); - } else { - node.source = null; - } - } - - this.semicolon(); - } - }, { - key: "shouldParseExportDeclaration", - value: function shouldParseExportDeclaration() { - if (this.match(types.at)) { - this.expectOnePlugin(["decorators", "decorators-legacy"]); - - if (this.hasPlugin("decorators")) { - if (this.getPluginOption("decorators", "decoratorsBeforeExport")) { - this.unexpected(this.state.start, "Decorators must be placed *before* the 'export' keyword." + " You can set the 'decoratorsBeforeExport' option to false to use" + " the 'export @decorator class {}' syntax"); - } else { - return true; - } - } - } - - return this.state.type.keyword === "var" || this.state.type.keyword === "const" || this.state.type.keyword === "function" || this.state.type.keyword === "class" || this.isLet() || this.isAsyncFunction(); - } - }, { - key: "checkExport", - value: function checkExport(node, checkNames, isDefault, isFrom) { - if (checkNames) { - if (isDefault) { - this.checkDuplicateExports(node, "default"); - } else if (node.specifiers && node.specifiers.length) { - for (var _i3 = 0, _node$specifiers = node.specifiers; _i3 < _node$specifiers.length; _i3++) { - var specifier = _node$specifiers[_i3]; - this.checkDuplicateExports(specifier, specifier.exported.name); - - if (!isFrom && specifier.local) { - this.checkReservedWord(specifier.local.name, specifier.local.start, true, false); - this.scope.checkLocalExport(specifier.local); - } - } - } else if (node.declaration) { - if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { - var id = node.declaration.id; - if (!id) throw new Error("Assertion failure"); - this.checkDuplicateExports(node, id.name); - } else if (node.declaration.type === "VariableDeclaration") { - for (var _i4 = 0, _node$declaration$dec = node.declaration.declarations; _i4 < _node$declaration$dec.length; _i4++) { - var declaration = _node$declaration$dec[_i4]; - this.checkDeclaration(declaration.id); - } - } - } - } - - var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; - - if (currentContextDecorators.length) { - var isClass = node.declaration && (node.declaration.type === "ClassDeclaration" || node.declaration.type === "ClassExpression"); - - if (!node.declaration || !isClass) { - throw this.raise(node.start, "You can only use decorators on an export when exporting a class"); - } - - this.takeDecorators(node.declaration); - } - } - }, { - key: "checkDeclaration", - value: function checkDeclaration(node) { - if (node.type === "Identifier") { - this.checkDuplicateExports(node, node.name); - } else if (node.type === "ObjectPattern") { - for (var _i5 = 0, _node$properties = node.properties; _i5 < _node$properties.length; _i5++) { - var prop = _node$properties[_i5]; - this.checkDeclaration(prop); - } - } else if (node.type === "ArrayPattern") { - for (var _i6 = 0, _node$elements = node.elements; _i6 < _node$elements.length; _i6++) { - var elem = _node$elements[_i6]; - - if (elem) { - this.checkDeclaration(elem); - } - } - } else if (node.type === "ObjectProperty") { - this.checkDeclaration(node.value); - } else if (node.type === "RestElement") { - this.checkDeclaration(node.argument); - } else if (node.type === "AssignmentPattern") { - this.checkDeclaration(node.left); - } - } - }, { - key: "checkDuplicateExports", - value: function checkDuplicateExports(node, name) { - if (this.state.exportedIdentifiers.indexOf(name) > -1) { - this.raise(node.start, name === "default" ? "Only one default export allowed per module." : "`".concat(name, "` has already been exported. Exported identifiers must be unique.")); - } - - this.state.exportedIdentifiers.push(name); - } - }, { - key: "parseExportSpecifiers", - value: function parseExportSpecifiers() { - var nodes = []; - var first = true; - this.expect(types.braceL); - - while (!this.eat(types.braceR)) { - if (first) { - first = false; - } else { - this.expect(types.comma); - if (this.eat(types.braceR)) break; - } - - var node = this.startNode(); - node.local = this.parseIdentifier(true); - node.exported = this.eatContextual("as") ? this.parseIdentifier(true) : node.local.__clone(); - nodes.push(this.finishNode(node, "ExportSpecifier")); - } - - return nodes; - } - }, { - key: "parseImport", - value: function parseImport(node) { - node.specifiers = []; - - if (!this.match(types.string)) { - var hasDefault = this.maybeParseDefaultImportSpecifier(node); - var parseNext = !hasDefault || this.eat(types.comma); - var hasStar = parseNext && this.maybeParseStarImportSpecifier(node); - if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); - this.expectContextual("from"); - } - - node.source = this.parseImportSource(); - this.semicolon(); - return this.finishNode(node, "ImportDeclaration"); - } - }, { - key: "parseImportSource", - value: function parseImportSource() { - if (!this.match(types.string)) this.unexpected(); - return this.parseExprAtom(); - } - }, { - key: "shouldParseDefaultImport", - value: function shouldParseDefaultImport(node) { - return this.match(types.name); - } - }, { - key: "parseImportSpecifierLocal", - value: function parseImportSpecifierLocal(node, specifier, type, contextDescription) { - specifier.local = this.parseIdentifier(); - this.checkLVal(specifier.local, BIND_LEXICAL, undefined, contextDescription); - node.specifiers.push(this.finishNode(specifier, type)); - } - }, { - key: "maybeParseDefaultImportSpecifier", - value: function maybeParseDefaultImportSpecifier(node) { - if (this.shouldParseDefaultImport(node)) { - this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier", "default import specifier"); - return true; - } - - return false; - } - }, { - key: "maybeParseStarImportSpecifier", - value: function maybeParseStarImportSpecifier(node) { - if (this.match(types.star)) { - var specifier = this.startNode(); - this.next(); - this.expectContextual("as"); - this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier", "import namespace specifier"); - return true; - } - - return false; - } - }, { - key: "parseNamedImportSpecifiers", - value: function parseNamedImportSpecifiers(node) { - var first = true; - this.expect(types.braceL); - - while (!this.eat(types.braceR)) { - if (first) { - first = false; - } else { - if (this.eat(types.colon)) { - throw this.raise(this.state.start, "ES2015 named imports do not destructure. " + "Use another statement for destructuring after the import."); - } - - this.expect(types.comma); - if (this.eat(types.braceR)) break; - } - - this.parseImportSpecifier(node); - } - } - }, { - key: "parseImportSpecifier", - value: function parseImportSpecifier(node) { - var specifier = this.startNode(); - specifier.imported = this.parseIdentifier(true); - - if (this.eatContextual("as")) { - specifier.local = this.parseIdentifier(); - } else { - this.checkReservedWord(specifier.imported.name, specifier.start, true, true); - specifier.local = specifier.imported.__clone(); - } - - this.checkLVal(specifier.local, BIND_LEXICAL, undefined, "import specifier"); - node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); - } - }]); - - return StatementParser; -}(ExpressionParser); - -var Parser = -/*#__PURE__*/ -function (_StatementParser) { - _inherits(Parser, _StatementParser); - - function Parser(options, input) { - var _this45; - - _classCallCheck(this, Parser); - - options = getOptions(options); - _this45 = _possibleConstructorReturn(this, _getPrototypeOf(Parser).call(this, options, input)); - - var ScopeHandler = _this45.getScopeHandler(); - - _this45.options = options; - _this45.inModule = _this45.options.sourceType === "module"; - _this45.scope = new ScopeHandler(_this45.raise.bind(_assertThisInitialized(_this45)), _this45.inModule); - _this45.plugins = pluginsMap(_this45.options.plugins); - _this45.filename = options.sourceFilename; - return _this45; - } - - _createClass(Parser, [{ - key: "getScopeHandler", - value: function getScopeHandler() { - return ScopeHandler; - } - }, { - key: "parse", - value: function parse() { - this.scope.enter(SCOPE_PROGRAM); - var file = this.startNode(); - var program = this.startNode(); - this.nextToken(); - file.errors = null; - this.parseTopLevel(file, program); - file.errors = this.state.errors; - return file; - } - }]); - - return Parser; -}(StatementParser); - -function pluginsMap(plugins) { - var pluginMap = new Map(); - - for (var _i = 0; _i < plugins.length; _i++) { - var plugin = plugins[_i]; - - var _ref15 = Array.isArray(plugin) ? plugin : [plugin, {}], - _ref16 = _slicedToArray(_ref15, 2), - name = _ref16[0], - options = _ref16[1]; - - if (!pluginMap.has(name)) pluginMap.set(name, options || {}); - } - - return pluginMap; -} - -function parse(input, options) { - if (options && options.sourceType === "unambiguous") { - options = Object.assign({}, options); - - try { - options.sourceType = "module"; - var parser = getParser(options, input); - var ast = parser.parse(); - - if (parser.sawUnambiguousESM) { - return ast; - } - - if (parser.ambiguousScriptDifferentAst) { - try { - options.sourceType = "script"; - return getParser(options, input).parse(); - } catch (_unused) {} - } else { - ast.program.sourceType = "script"; - } - - return ast; - } catch (moduleError) { - try { - options.sourceType = "script"; - return getParser(options, input).parse(); - } catch (_unused2) {} - - throw moduleError; - } - } else { - return getParser(options, input).parse(); - } -} - -function parseExpression(input, options) { - var parser = getParser(options, input); - - if (parser.options.strictMode) { - parser.state.strict = true; - } - - return parser.getExpression(); -} - -function getParser(options, input) { - var cls = Parser; - - if (options && options.plugins) { - validatePlugins(options.plugins); - cls = getParserClass(options.plugins); - } - - return new cls(options, input); -} - -var parserClassCache = {}; - -function getParserClass(pluginsFromOptions) { - var pluginList = mixinPluginNames.filter(function (name) { - return hasPlugin(pluginsFromOptions, name); - }); - var key = pluginList.join("/"); - var cls = parserClassCache[key]; - - if (!cls) { - cls = Parser; - - for (var _i = 0; _i < pluginList.length; _i++) { - var plugin = pluginList[_i]; - cls = mixinPlugins[plugin](cls); - } - - parserClassCache[key] = cls; - } - - return cls; -} - -exports.parse = parse; -exports.parseExpression = parseExpression; -exports.tokTypes = types; - -},{}],90:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _core = require("@babel/core"); - -var buildForAwait = (0, _core.template)("\n async function wrapper() {\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY;\n try {\n for (\n var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY, STEP_VALUE;\n (\n STEP_KEY = await ITERATOR_KEY.next(),\n ITERATOR_COMPLETION = STEP_KEY.done,\n STEP_VALUE = await STEP_KEY.value,\n !ITERATOR_COMPLETION\n );\n ITERATOR_COMPLETION = true) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n await ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n }\n"); - -function _default(path, _ref) { - var getAsyncIterator = _ref.getAsyncIterator; - var node = path.node, - scope = path.scope, - parent = path.parent; - var stepKey = scope.generateUidIdentifier("step"); - var stepValue = scope.generateUidIdentifier("value"); - var left = node.left; - var declar; - - if (_core.types.isIdentifier(left) || _core.types.isPattern(left) || _core.types.isMemberExpression(left)) { - declar = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, stepValue)); - } else if (_core.types.isVariableDeclaration(left)) { - declar = _core.types.variableDeclaration(left.kind, [_core.types.variableDeclarator(left.declarations[0].id, stepValue)]); - } - - var template = buildForAwait({ - ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"), - ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"), - ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"), - ITERATOR_KEY: scope.generateUidIdentifier("iterator"), - GET_ITERATOR: getAsyncIterator, - OBJECT: node.right, - STEP_VALUE: stepValue, - STEP_KEY: stepKey - }); - template = template.body.body; - - var isLabeledParent = _core.types.isLabeledStatement(parent); - - var tryBody = template[3].block.body; - var loop = tryBody[0]; - - if (isLabeledParent) { - tryBody[0] = _core.types.labeledStatement(parent.label, loop); - } - - return { - replaceParent: isLabeledParent, - node: template, - declar: declar, - loop: loop - }; -} - -},{"@babel/core":19}],91:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperRemapAsyncToGenerator = _interopRequireDefault(require("@babel/helper-remap-async-to-generator")); - -var _pluginSyntaxAsyncGenerators = _interopRequireDefault(require("@babel/plugin-syntax-async-generators")); - -var _core = require("@babel/core"); - -var _forAwait = _interopRequireDefault(require("./for-await")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - var yieldStarVisitor = { - Function: function Function(path) { - path.skip(); - }, - YieldExpression: function YieldExpression(_ref, state) { - var node = _ref.node; - if (!node.delegate) return; - var callee = state.addHelper("asyncGeneratorDelegate"); - node.argument = _core.types.callExpression(callee, [_core.types.callExpression(state.addHelper("asyncIterator"), [node.argument]), state.addHelper("awaitAsyncGenerator")]); - } - }; - var forAwaitVisitor = { - Function: function Function(path) { - path.skip(); - }, - ForOfStatement: function ForOfStatement(path, _ref2) { - var file = _ref2.file; - var node = path.node; - if (!node.await) return; - var build = (0, _forAwait.default)(path, { - getAsyncIterator: file.addHelper("asyncIterator") - }); - var declar = build.declar, - loop = build.loop; - var block = loop.body; - path.ensureBlock(); - - if (declar) { - block.body.push(declar); - } - - block.body = block.body.concat(node.body.body); - - _core.types.inherits(loop, node); - - _core.types.inherits(loop.body, node.body); - - if (build.replaceParent) { - path.parentPath.replaceWithMultiple(build.node); - } else { - path.replaceWithMultiple(build.node); - } - } - }; - var visitor = { - Function: function Function(path, state) { - if (!path.node.async) return; - path.traverse(forAwaitVisitor, state); - if (!path.node.generator) return; - path.traverse(yieldStarVisitor, state); - (0, _helperRemapAsyncToGenerator.default)(path, { - wrapAsync: state.addHelper("wrapAsyncGenerator"), - wrapAwait: state.addHelper("awaitAsyncGenerator") - }); - } - }; - return { - name: "proposal-async-generator-functions", - inherits: _pluginSyntaxAsyncGenerators.default, - visitor: { - Program: function Program(path, state) { - path.traverse(visitor, state); - } - } - }; -}); - -exports.default = _default; - -},{"./for-await":90,"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-remap-async-to-generator":81,"@babel/plugin-syntax-async-generators":98}],92:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _pluginSyntaxDynamicImport = _interopRequireDefault(require("@babel/plugin-syntax-dynamic-import")); - -var _package = require("../package.json"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var SUPPORTED_MODULES = ["commonjs", "amd", "systemjs"]; -var MODULES_NOT_FOUND = "@babel/plugin-proposal-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n"; - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - return { - name: "proposal-dynamic-import", - inherits: _pluginSyntaxDynamicImport.default, - pre: function pre() { - this.file.set("@babel/plugin-proposal-dynamic-import", _package.version); - }, - visitor: { - Program: function Program() { - var modules = this.file.get("@babel/plugin-transform-modules-*"); - - if (!SUPPORTED_MODULES.includes(modules)) { - throw new Error(MODULES_NOT_FOUND); - } - } - } - }; -}); - -exports.default = _default; - -},{"../package.json":93,"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-dynamic-import":99}],93:[function(require,module,exports){ -module.exports={ - "_from": "@babel/plugin-proposal-dynamic-import@^7.7.0", - "_id": "@babel/plugin-proposal-dynamic-import@7.7.0", - "_inBundle": false, - "_integrity": "sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7/6zWcLLnKAQ==", - "_location": "/@babel/plugin-proposal-dynamic-import", - "_phantomChildren": {}, - "_requested": { - "type": "range", - "registry": true, - "raw": "@babel/plugin-proposal-dynamic-import@^7.7.0", - "name": "@babel/plugin-proposal-dynamic-import", - "escapedName": "@babel%2fplugin-proposal-dynamic-import", - "scope": "@babel", - "rawSpec": "^7.7.0", - "saveSpec": null, - "fetchSpec": "^7.7.0" - }, - "_requiredBy": [ - "/@babel/preset-env" - ], - "_resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.0.tgz", - "_shasum": "dc02a8bad8d653fb59daf085516fa416edd2aa7f", - "_spec": "@babel/plugin-proposal-dynamic-import@^7.7.0", - "_where": "/local/home/ossman/devel/noVNC/node_modules/@babel/preset-env", - "bundleDependencies": false, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-dynamic-import": "^7.2.0" - }, - "deprecated": false, - "description": "Transform import() expressions", - "devDependencies": { - "@babel/core": "^7.7.0", - "@babel/helper-plugin-test-runner": "^7.0.0" - }, - "gitHead": "97faa83953cb87e332554fa559a4956d202343ea", - "keywords": [ - "babel-plugin" - ], - "license": "MIT", - "main": "lib/index.js", - "name": "@babel/plugin-proposal-dynamic-import", - "peerDependencies": { - "@babel/core": "^7.0.0-0" - }, - "publishConfig": { - "access": "public" - }, - "repository": { - "type": "git", - "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import" - }, - "version": "7.7.0" -} - -},{}],94:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _pluginSyntaxJsonStrings() { - var data = _interopRequireDefault(require("@babel/plugin-syntax-json-strings")); - - _pluginSyntaxJsonStrings = function _pluginSyntaxJsonStrings() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - var regex = /(\\*)([\u2028\u2029])/g; - - function replace(match, escapes, separator) { - var isEscaped = escapes.length % 2 === 1; - if (isEscaped) return match; - return "".concat(escapes, "\\u").concat(separator.charCodeAt(0).toString(16)); - } - - return { - name: "proposal-json-strings", - inherits: _pluginSyntaxJsonStrings().default, - visitor: { - "DirectiveLiteral|StringLiteral": function DirectiveLiteralStringLiteral(_ref) { - var node = _ref.node; - var extra = node.extra; - if (!extra || !extra.raw) return; - extra.raw = extra.raw.replace(regex, replace); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-json-strings":100}],95:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _pluginSyntaxObjectRestSpread() { - var data = _interopRequireDefault(require("@babel/plugin-syntax-object-rest-spread")); - - _pluginSyntaxObjectRestSpread = function _pluginSyntaxObjectRestSpread() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var ZERO_REFS = function () { - var node = _core().types.identifier("a"); - - var property = _core().types.objectProperty(_core().types.identifier("key"), node); - - var pattern = _core().types.objectPattern([property]); - - return _core().types.isReferenced(node, property, pattern) ? 1 : 0; -}(); - -var _default = (0, _helperPluginUtils().declare)(function (api, opts) { - api.assertVersion(7); - var _opts$useBuiltIns = opts.useBuiltIns, - useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns, - _opts$loose = opts.loose, - loose = _opts$loose === void 0 ? false : _opts$loose; - - if (typeof loose !== "boolean") { - throw new Error(".loose must be a boolean, or undefined"); - } - - function getExtendsHelper(file) { - return useBuiltIns ? _core().types.memberExpression(_core().types.identifier("Object"), _core().types.identifier("assign")) : file.addHelper("extends"); - } - - function hasRestElement(path) { - var foundRestElement = false; - visitRestElements(path, function (restElement) { - foundRestElement = true; - restElement.stop(); - }); - return foundRestElement; - } - - function hasObjectPatternRestElement(path) { - var foundRestElement = false; - visitRestElements(path, function (restElement) { - if (restElement.parentPath.isObjectPattern()) { - foundRestElement = true; - restElement.stop(); - } - }); - return foundRestElement; - } - - function visitRestElements(path, visitor) { - path.traverse({ - Expression: function Expression(path) { - var parentType = path.parent.type; - - if (parentType === "AssignmentPattern" && path.key === "right" || parentType === "ObjectProperty" && path.parent.computed && path.key === "key") { - path.skip(); - } - }, - RestElement: visitor - }); - } - - function hasSpread(node) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = node.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var prop = _step.value; - - if (_core().types.isSpreadElement(prop)) { - return true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return false; - } - - function extractNormalizedKeys(path) { - var props = path.node.properties; - var keys = []; - var allLiteral = true; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var prop = _step2.value; - - if (_core().types.isIdentifier(prop.key) && !prop.computed) { - keys.push(_core().types.stringLiteral(prop.key.name)); - } else if (_core().types.isTemplateLiteral(prop.key)) { - keys.push(_core().types.cloneNode(prop.key)); - } else if (_core().types.isLiteral(prop.key)) { - keys.push(_core().types.stringLiteral(String(prop.key.value))); - } else { - keys.push(_core().types.cloneNode(prop.key)); - allLiteral = false; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - return { - keys: keys, - allLiteral: allLiteral - }; - } - - function replaceImpureComputedKeys(path) { - var impureComputedPropertyDeclarators = []; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = path.get("properties")[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var propPath = _step3.value; - var key = propPath.get("key"); - - if (propPath.node.computed && !key.isPure()) { - var name = path.scope.generateUidBasedOnNode(key.node); - - var declarator = _core().types.variableDeclarator(_core().types.identifier(name), key.node); - - impureComputedPropertyDeclarators.push(declarator); - key.replaceWith(_core().types.identifier(name)); - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return impureComputedPropertyDeclarators; - } - - function removeUnusedExcludedKeys(path) { - var bindings = path.getOuterBindingIdentifierPaths(); - Object.keys(bindings).forEach(function (bindingName) { - var bindingParentPath = bindings[bindingName].parentPath; - - if (path.scope.getBinding(bindingName).references > ZERO_REFS || !bindingParentPath.isObjectProperty()) { - return; - } - - bindingParentPath.remove(); - }); - } - - function createObjectSpread(path, file, objRef) { - var props = path.get("properties"); - var last = props[props.length - 1]; - - _core().types.assertRestElement(last.node); - - var restElement = _core().types.cloneNode(last.node); - - last.remove(); - var impureComputedPropertyDeclarators = replaceImpureComputedKeys(path); - - var _extractNormalizedKey = extractNormalizedKeys(path), - keys = _extractNormalizedKey.keys, - allLiteral = _extractNormalizedKey.allLiteral; - - if (keys.length === 0) { - return [impureComputedPropertyDeclarators, restElement.argument, _core().types.callExpression(getExtendsHelper(file), [_core().types.objectExpression([]), _core().types.cloneNode(objRef)])]; - } - - var keyExpression; - - if (!allLiteral) { - keyExpression = _core().types.callExpression(_core().types.memberExpression(_core().types.arrayExpression(keys), _core().types.identifier("map")), [file.addHelper("toPropertyKey")]); - } else { - keyExpression = _core().types.arrayExpression(keys); - } - - return [impureComputedPropertyDeclarators, restElement.argument, _core().types.callExpression(file.addHelper("objectWithoutProperties".concat(loose ? "Loose" : "")), [_core().types.cloneNode(objRef), keyExpression])]; - } - - function replaceRestElement(parentPath, paramPath) { - if (paramPath.isAssignmentPattern()) { - replaceRestElement(parentPath, paramPath.get("left")); - return; - } - - if (paramPath.isArrayPattern() && hasRestElement(paramPath)) { - var elements = paramPath.get("elements"); - - for (var i = 0; i < elements.length; i++) { - replaceRestElement(parentPath, elements[i]); - } - } - - if (paramPath.isObjectPattern() && hasRestElement(paramPath)) { - var uid = parentPath.scope.generateUidIdentifier("ref"); - - var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(paramPath.node, uid)]); - - parentPath.ensureBlock(); - parentPath.get("body").unshiftContainer("body", declar); - paramPath.replaceWith(_core().types.cloneNode(uid)); - } - } - - return { - name: "proposal-object-rest-spread", - inherits: _pluginSyntaxObjectRestSpread().default, - visitor: { - Function: function Function(path) { - var params = path.get("params"); - - for (var i = params.length - 1; i >= 0; i--) { - replaceRestElement(params[i].parentPath, params[i]); - } - }, - VariableDeclarator: function VariableDeclarator(path, file) { - if (!path.get("id").isObjectPattern()) { - return; - } - - var insertionPath = path; - var originalPath = path; - visitRestElements(path.get("id"), function (path) { - if (!path.parentPath.isObjectPattern()) { - return; - } - - if (originalPath.node.id.properties.length > 1 && !_core().types.isIdentifier(originalPath.node.init)) { - var initRef = path.scope.generateUidIdentifierBasedOnNode(originalPath.node.init, "ref"); - originalPath.insertBefore(_core().types.variableDeclarator(initRef, originalPath.node.init)); - originalPath.replaceWith(_core().types.variableDeclarator(originalPath.node.id, _core().types.cloneNode(initRef))); - return; - } - - var ref = originalPath.node.init; - var refPropertyPath = []; - var kind; - path.findParent(function (path) { - if (path.isObjectProperty()) { - refPropertyPath.unshift(path.node.key.name); - } else if (path.isVariableDeclarator()) { - kind = path.parentPath.node.kind; - return true; - } - }); - - if (refPropertyPath.length) { - refPropertyPath.forEach(function (prop) { - ref = _core().types.memberExpression(ref, _core().types.identifier(prop)); - }); - } - - var objectPatternPath = path.findParent(function (path) { - return path.isObjectPattern(); - }); - - var _createObjectSpread = createObjectSpread(objectPatternPath, file, ref), - _createObjectSpread2 = _slicedToArray(_createObjectSpread, 3), - impureComputedPropertyDeclarators = _createObjectSpread2[0], - argument = _createObjectSpread2[1], - callExpression = _createObjectSpread2[2]; - - if (loose) { - removeUnusedExcludedKeys(objectPatternPath); - } - - _core().types.assertIdentifier(argument); - - insertionPath.insertBefore(impureComputedPropertyDeclarators); - insertionPath.insertAfter(_core().types.variableDeclarator(argument, callExpression)); - insertionPath = insertionPath.getSibling(insertionPath.key + 1); - path.scope.registerBinding(kind, insertionPath); - - if (objectPatternPath.node.properties.length === 0) { - objectPatternPath.findParent(function (path) { - return path.isObjectProperty() || path.isVariableDeclarator(); - }).remove(); - } - }); - }, - ExportNamedDeclaration: function ExportNamedDeclaration(path) { - var declaration = path.get("declaration"); - if (!declaration.isVariableDeclaration()) return; - var hasRest = declaration.get("declarations").some(function (path) { - return hasRestElement(path.get("id")); - }); - if (!hasRest) return; - var specifiers = []; - - for (var _i2 = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers(path)); _i2 < _Object$keys.length; _i2++) { - var name = _Object$keys[_i2]; - specifiers.push(_core().types.exportSpecifier(_core().types.identifier(name), _core().types.identifier(name))); - } - - path.replaceWith(declaration.node); - path.insertAfter(_core().types.exportNamedDeclaration(null, specifiers)); - }, - CatchClause: function CatchClause(path) { - var paramPath = path.get("param"); - replaceRestElement(paramPath.parentPath, paramPath); - }, - AssignmentExpression: function AssignmentExpression(path, file) { - var leftPath = path.get("left"); - - if (leftPath.isObjectPattern() && hasRestElement(leftPath)) { - var nodes = []; - var refName = path.scope.generateUidBasedOnNode(path.node.right, "ref"); - nodes.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.identifier(refName), path.node.right)])); - - var _createObjectSpread3 = createObjectSpread(leftPath, file, _core().types.identifier(refName)), - _createObjectSpread4 = _slicedToArray(_createObjectSpread3, 3), - impureComputedPropertyDeclarators = _createObjectSpread4[0], - argument = _createObjectSpread4[1], - callExpression = _createObjectSpread4[2]; - - if (impureComputedPropertyDeclarators.length > 0) { - nodes.push(_core().types.variableDeclaration("var", impureComputedPropertyDeclarators)); - } - - var nodeWithoutSpread = _core().types.cloneNode(path.node); - - nodeWithoutSpread.right = _core().types.identifier(refName); - nodes.push(_core().types.expressionStatement(nodeWithoutSpread)); - nodes.push(_core().types.toStatement(_core().types.assignmentExpression("=", argument, callExpression))); - nodes.push(_core().types.expressionStatement(_core().types.identifier(refName))); - path.replaceWithMultiple(nodes); - } - }, - ForXStatement: function ForXStatement(path) { - var node = path.node, - scope = path.scope; - var leftPath = path.get("left"); - var left = node.left; - - if (!hasObjectPatternRestElement(leftPath)) { - return; - } - - if (!_core().types.isVariableDeclaration(left)) { - var temp = scope.generateUidIdentifier("ref"); - node.left = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(temp)]); - path.ensureBlock(); - - if (node.body.body.length === 0 && path.isCompletionRecord()) { - node.body.body.unshift(_core().types.expressionStatement(scope.buildUndefinedNode())); - } - - node.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, _core().types.cloneNode(temp)))); - } else { - var pattern = left.declarations[0].id; - var key = scope.generateUidIdentifier("ref"); - node.left = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(key, null)]); - path.ensureBlock(); - node.body.body.unshift(_core().types.variableDeclaration(node.left.kind, [_core().types.variableDeclarator(pattern, _core().types.cloneNode(key))])); - } - }, - ArrayPattern: function ArrayPattern(path) { - var objectPatterns = []; - visitRestElements(path, function (path) { - if (!path.parentPath.isObjectPattern()) { - return; - } - - var objectPattern = path.parentPath; - var uid = path.scope.generateUidIdentifier("ref"); - objectPatterns.push(_core().types.variableDeclarator(objectPattern.node, uid)); - objectPattern.replaceWith(_core().types.cloneNode(uid)); - path.skip(); - }); - - if (objectPatterns.length > 0) { - var statementPath = path.getStatementParent(); - statementPath.insertAfter(_core().types.variableDeclaration(statementPath.node.kind || "var", objectPatterns)); - } - }, - ObjectExpression: function ObjectExpression(path, file) { - if (!hasSpread(path.node)) return; - var args = []; - var props = []; - - function push() { - args.push(_core().types.objectExpression(props)); - props = []; - } - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = path.node.properties[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var prop = _step4.value; - - if (_core().types.isSpreadElement(prop)) { - push(); - args.push(prop.argument); - } else { - props.push(prop); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - if (props.length) { - push(); - } - - var helper; - - if (loose) { - helper = getExtendsHelper(file); - } else { - try { - helper = file.addHelper("objectSpread2"); - } catch (_unused) { - this.file.declarations["objectSpread2"] = null; - helper = file.addHelper("objectSpread"); - } - } - - path.replaceWith(_core().types.callExpression(helper, args)); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-object-rest-spread":101}],96:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _pluginSyntaxOptionalCatchBinding() { - var data = _interopRequireDefault(require("@babel/plugin-syntax-optional-catch-binding")); - - _pluginSyntaxOptionalCatchBinding = function _pluginSyntaxOptionalCatchBinding() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "proposal-optional-catch-binding", - inherits: _pluginSyntaxOptionalCatchBinding().default, - visitor: { - CatchClause: function CatchClause(path) { - if (!path.node.param) { - var uid = path.scope.generateUidIdentifier("unused"); - var paramPath = path.get("param"); - paramPath.replaceWith(uid); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-optional-catch-binding":102}],97:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var _options$useUnicodeFl = options.useUnicodeFlag, - useUnicodeFlag = _options$useUnicodeFl === void 0 ? true : _options$useUnicodeFl; - - if (typeof useUnicodeFlag !== "boolean") { - throw new Error(".useUnicodeFlag must be a boolean, or undefined"); - } - - return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ - name: "proposal-unicode-property-regex", - feature: "unicodePropertyEscape", - options: { - useUnicodeFlag: useUnicodeFlag - } - }); -}); - -exports.default = _default; - -},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],98:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-async-generators", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("asyncGenerators"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],99:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-dynamic-import", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("dynamicImport"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],100:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-json-strings", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("jsonStrings"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],101:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-object-rest-spread", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("objectRestSpread"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],102:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-optional-catch-binding", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("optionalCatchBinding"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],103:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - return { - name: "syntax-top-level-await", - manipulateOptions: function manipulateOptions(opts, parserOpts) { - parserOpts.plugins.push("topLevelAwait"); - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],104:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var spec = options.spec; - return { - name: "transform-arrow-functions", - visitor: { - ArrowFunctionExpression: function ArrowFunctionExpression(path) { - if (!path.isArrowFunctionExpression()) return; - path.arrowFunctionToExpression({ - allowInsertArrow: false, - specCompliant: !!spec - }); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],105:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperRemapAsyncToGenerator = _interopRequireDefault(require("@babel/helper-remap-async-to-generator")); - -var _helperModuleImports = require("@babel/helper-module-imports"); - -var _core = require("@babel/core"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var method = options.method, - module = options.module; - - if (method && module) { - return { - name: "transform-async-to-generator", - visitor: { - Function: function Function(path, state) { - if (!path.node.async || path.node.generator) return; - var wrapAsync = state.methodWrapper; - - if (wrapAsync) { - wrapAsync = _core.types.cloneNode(wrapAsync); - } else { - wrapAsync = state.methodWrapper = (0, _helperModuleImports.addNamed)(path, method, module); - } - - (0, _helperRemapAsyncToGenerator.default)(path, { - wrapAsync: wrapAsync - }); - } - } - }; - } - - return { - name: "transform-async-to-generator", - visitor: { - Function: function Function(path, state) { - if (!path.node.async || path.node.generator) return; - (0, _helperRemapAsyncToGenerator.default)(path, { - wrapAsync: state.addHelper("asyncToGenerator") - }); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-module-imports":72,"@babel/helper-plugin-utils":79,"@babel/helper-remap-async-to-generator":81}],106:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - - function statementList(key, path) { - var paths = path.get(key); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = paths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _path = _step.value; - var func = _path.node; - if (!_path.isFunctionDeclaration()) continue; - - var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(func.id, _core().types.toExpression(func))]); - - declar._blockHoist = 2; - func.id = null; - - _path.replaceWith(declar); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return { - name: "transform-block-scoped-functions", - visitor: { - BlockStatement: function BlockStatement(path) { - var node = path.node, - parent = path.parent; - - if (_core().types.isFunction(parent, { - body: node - }) || _core().types.isExportDeclaration(parent)) { - return; - } - - statementList("body", path); - }, - SwitchCase: function SwitchCase(path) { - statementList("consequent", path); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],107:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _tdz = require("./tdz"); - -var _values = _interopRequireDefault(require("lodash/values")); - -var _extend = _interopRequireDefault(require("lodash/extend")); - -var _core = require("@babel/core"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var DONE = new WeakSet(); - -var _default = (0, _helperPluginUtils.declare)(function (api, opts) { - api.assertVersion(7); - var _opts$throwIfClosureR = opts.throwIfClosureRequired, - throwIfClosureRequired = _opts$throwIfClosureR === void 0 ? false : _opts$throwIfClosureR, - _opts$tdz = opts.tdz, - tdzEnabled = _opts$tdz === void 0 ? false : _opts$tdz; - - if (typeof throwIfClosureRequired !== "boolean") { - throw new Error(".throwIfClosureRequired must be a boolean, or undefined"); - } - - if (typeof tdzEnabled !== "boolean") { - throw new Error(".tdz must be a boolean, or undefined"); - } - - return { - name: "transform-block-scoping", - visitor: { - VariableDeclaration: function VariableDeclaration(path) { - var node = path.node, - parent = path.parent, - scope = path.scope; - if (!isBlockScoped(node)) return; - convertBlockScopedToVar(path, null, parent, scope, true); - - if (node._tdzThis) { - var nodes = [node]; - - for (var i = 0; i < node.declarations.length; i++) { - var decl = node.declarations[i]; - - var assign = _core.types.assignmentExpression("=", decl.id, decl.init || scope.buildUndefinedNode()); - - assign._ignoreBlockScopingTDZ = true; - nodes.push(_core.types.expressionStatement(assign)); - decl.init = this.addHelper("temporalUndefined"); - } - - node._blockHoist = 2; - - if (path.isCompletionRecord()) { - nodes.push(_core.types.expressionStatement(scope.buildUndefinedNode())); - } - - path.replaceWithMultiple(nodes); - } - }, - Loop: function Loop(path, state) { - var parent = path.parent, - scope = path.scope; - path.ensureBlock(); - var blockScoping = new BlockScoping(path, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state); - var replace = blockScoping.run(); - if (replace) path.replaceWith(replace); - }, - CatchClause: function CatchClause(path, state) { - var parent = path.parent, - scope = path.scope; - var blockScoping = new BlockScoping(null, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state); - blockScoping.run(); - }, - "BlockStatement|SwitchStatement|Program": function BlockStatementSwitchStatementProgram(path, state) { - if (!ignoreBlock(path)) { - var blockScoping = new BlockScoping(null, path, path.parent, path.scope, throwIfClosureRequired, tdzEnabled, state); - blockScoping.run(); - } - } - } - }; -}); - -exports.default = _default; - -function ignoreBlock(path) { - return _core.types.isLoop(path.parent) || _core.types.isCatchClause(path.parent); -} - -var buildRetCheck = (0, _core.template)("\n if (typeof RETURN === \"object\") return RETURN.v;\n"); - -function isBlockScoped(node) { - if (!_core.types.isVariableDeclaration(node)) return false; - if (node[_core.types.BLOCK_SCOPED_SYMBOL]) return true; - if (node.kind !== "let" && node.kind !== "const") return false; - return true; -} - -function isInLoop(path) { - var loopOrFunctionParent = path.find(function (path) { - return path.isLoop() || path.isFunction(); - }); - return loopOrFunctionParent && loopOrFunctionParent.isLoop(); -} - -function convertBlockScopedToVar(path, node, parent, scope) { - var moveBindingsToParent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - - if (!node) { - node = path.node; - } - - if (isInLoop(path) && !_core.types.isFor(parent)) { - for (var i = 0; i < node.declarations.length; i++) { - var declar = node.declarations[i]; - declar.init = declar.init || scope.buildUndefinedNode(); - } - } - - node[_core.types.BLOCK_SCOPED_SYMBOL] = true; - node.kind = "var"; - - if (moveBindingsToParent) { - var parentScope = scope.getFunctionParent() || scope.getProgramParent(); - - for (var _i = 0, _Object$keys = Object.keys(path.getBindingIdentifiers()); _i < _Object$keys.length; _i++) { - var name = _Object$keys[_i]; - var binding = scope.getOwnBinding(name); - if (binding) binding.kind = "var"; - scope.moveBindingTo(name, parentScope); - } - } -} - -function isVar(node) { - return _core.types.isVariableDeclaration(node, { - kind: "var" - }) && !isBlockScoped(node); -} - -var letReferenceBlockVisitor = _core.traverse.visitors.merge([{ - Loop: { - enter: function enter(path, state) { - state.loopDepth++; - }, - exit: function exit(path, state) { - state.loopDepth--; - } - }, - Function: function Function(path, state) { - if (state.loopDepth > 0) { - path.traverse(letReferenceFunctionVisitor, state); - } else { - path.traverse(_tdz.visitor, state); - } - - return path.skip(); - } -}, _tdz.visitor]); - -var letReferenceFunctionVisitor = _core.traverse.visitors.merge([{ - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - var ref = state.letReferences[path.node.name]; - if (!ref) return; - var localBinding = path.scope.getBindingIdentifier(path.node.name); - if (localBinding && localBinding !== ref) return; - state.closurify = true; - } -}, _tdz.visitor]); - -var hoistVarDeclarationsVisitor = { - enter: function enter(path, self) { - var node = path.node, - parent = path.parent; - - if (path.isForStatement()) { - if (isVar(node.init, node)) { - var nodes = self.pushDeclar(node.init); - - if (nodes.length === 1) { - node.init = nodes[0]; - } else { - node.init = _core.types.sequenceExpression(nodes); - } - } - } else if (path.isFor()) { - if (isVar(node.left, node)) { - self.pushDeclar(node.left); - node.left = node.left.declarations[0].id; - } - } else if (isVar(node, parent)) { - path.replaceWithMultiple(self.pushDeclar(node).map(function (expr) { - return _core.types.expressionStatement(expr); - })); - } else if (path.isFunction()) { - return path.skip(); - } - } -}; -var loopLabelVisitor = { - LabeledStatement: function LabeledStatement(_ref, state) { - var node = _ref.node; - state.innerLabels.push(node.label.name); - } -}; -var continuationVisitor = { - enter: function enter(path, state) { - if (path.isAssignmentExpression() || path.isUpdateExpression()) { - for (var _i2 = 0, _Object$keys2 = Object.keys(path.getBindingIdentifiers()); _i2 < _Object$keys2.length; _i2++) { - var name = _Object$keys2[_i2]; - - if (state.outsideReferences[name] !== path.scope.getBindingIdentifier(name)) { - continue; - } - - state.reassignments[name] = true; - } - } else if (path.isReturnStatement()) { - state.returnStatements.push(path); - } - } -}; - -function loopNodeTo(node) { - if (_core.types.isBreakStatement(node)) { - return "break"; - } else if (_core.types.isContinueStatement(node)) { - return "continue"; - } -} - -var loopVisitor = { - Loop: function Loop(path, state) { - var oldIgnoreLabeless = state.ignoreLabeless; - state.ignoreLabeless = true; - path.traverse(loopVisitor, state); - state.ignoreLabeless = oldIgnoreLabeless; - path.skip(); - }, - Function: function Function(path) { - path.skip(); - }, - SwitchCase: function SwitchCase(path, state) { - var oldInSwitchCase = state.inSwitchCase; - state.inSwitchCase = true; - path.traverse(loopVisitor, state); - state.inSwitchCase = oldInSwitchCase; - path.skip(); - }, - "BreakStatement|ContinueStatement|ReturnStatement": function BreakStatementContinueStatementReturnStatement(path, state) { - var node = path.node, - scope = path.scope; - if (node[this.LOOP_IGNORE]) return; - var replace; - var loopText = loopNodeTo(node); - - if (loopText) { - if (node.label) { - if (state.innerLabels.indexOf(node.label.name) >= 0) { - return; - } - - loopText = "".concat(loopText, "|").concat(node.label.name); - } else { - if (state.ignoreLabeless) return; - if (_core.types.isBreakStatement(node) && state.inSwitchCase) return; - } - - state.hasBreakContinue = true; - state.map[loopText] = node; - replace = _core.types.stringLiteral(loopText); - } - - if (path.isReturnStatement()) { - state.hasReturn = true; - replace = _core.types.objectExpression([_core.types.objectProperty(_core.types.identifier("v"), node.argument || scope.buildUndefinedNode())]); - } - - if (replace) { - replace = _core.types.returnStatement(replace); - replace[this.LOOP_IGNORE] = true; - path.skip(); - path.replaceWith(_core.types.inherits(replace, node)); - } - } -}; - -var BlockScoping = -/*#__PURE__*/ -function () { - function BlockScoping(loopPath, blockPath, parent, scope, throwIfClosureRequired, tdzEnabled, state) { - _classCallCheck(this, BlockScoping); - - this.parent = parent; - this.scope = scope; - this.state = state; - this.throwIfClosureRequired = throwIfClosureRequired; - this.tdzEnabled = tdzEnabled; - this.blockPath = blockPath; - this.block = blockPath.node; - this.outsideLetReferences = Object.create(null); - this.hasLetReferences = false; - this.letReferences = Object.create(null); - this.body = []; - - if (loopPath) { - this.loopParent = loopPath.parent; - this.loopLabel = _core.types.isLabeledStatement(this.loopParent) && this.loopParent.label; - this.loopPath = loopPath; - this.loop = loopPath.node; - } - } - - _createClass(BlockScoping, [{ - key: "run", - value: function run() { - var block = this.block; - if (DONE.has(block)) return; - DONE.add(block); - var needsClosure = this.getLetReferences(); - this.checkConstants(); - - if (_core.types.isFunction(this.parent) || _core.types.isProgram(this.block)) { - this.updateScopeInfo(); - return; - } - - if (!this.hasLetReferences) return; - - if (needsClosure) { - this.wrapClosure(); - } else { - this.remap(); - } - - this.updateScopeInfo(needsClosure); - - if (this.loopLabel && !_core.types.isLabeledStatement(this.loopParent)) { - return _core.types.labeledStatement(this.loopLabel, this.loop); - } - } - }, { - key: "checkConstants", - value: function checkConstants() { - var scope = this.scope; - var state = this.state; - - for (var _i3 = 0, _Object$keys3 = Object.keys(scope.bindings); _i3 < _Object$keys3.length; _i3++) { - var name = _Object$keys3[_i3]; - var binding = scope.bindings[name]; - if (binding.kind !== "const") continue; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = binding.constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var violation = _step.value; - var readOnlyError = state.addHelper("readOnlyError"); - - var throwNode = _core.types.callExpression(readOnlyError, [_core.types.stringLiteral(name)]); - - if (violation.isAssignmentExpression()) { - violation.get("right").replaceWith(_core.types.sequenceExpression([throwNode, violation.get("right").node])); - } else if (violation.isUpdateExpression()) { - violation.replaceWith(_core.types.sequenceExpression([throwNode, violation.node])); - } else if (violation.isForXStatement()) { - violation.ensureBlock(); - violation.node.body.body.unshift(_core.types.expressionStatement(throwNode)); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - } - }, { - key: "updateScopeInfo", - value: function updateScopeInfo(wrappedInClosure) { - var blockScope = this.blockPath.scope; - var parentScope = blockScope.getFunctionParent() || blockScope.getProgramParent(); - var letRefs = this.letReferences; - - for (var _i4 = 0, _Object$keys4 = Object.keys(letRefs); _i4 < _Object$keys4.length; _i4++) { - var key = _Object$keys4[_i4]; - var ref = letRefs[key]; - var binding = blockScope.getBinding(ref.name); - if (!binding) continue; - - if (binding.kind === "let" || binding.kind === "const") { - binding.kind = "var"; - - if (wrappedInClosure) { - if (blockScope.hasOwnBinding(ref.name)) { - blockScope.removeBinding(ref.name); - } - } else { - blockScope.moveBindingTo(ref.name, parentScope); - } - } - } - } - }, { - key: "remap", - value: function remap() { - var letRefs = this.letReferences; - var outsideLetRefs = this.outsideLetReferences; - var scope = this.scope; - var blockPathScope = this.blockPath.scope; - - for (var _i5 = 0, _Object$keys5 = Object.keys(letRefs); _i5 < _Object$keys5.length; _i5++) { - var key = _Object$keys5[_i5]; - var ref = letRefs[key]; - - if (scope.parentHasBinding(key) || scope.hasGlobal(key)) { - if (scope.hasOwnBinding(key)) { - scope.rename(ref.name); - } - - if (blockPathScope.hasOwnBinding(key)) { - blockPathScope.rename(ref.name); - } - } - } - - for (var _i6 = 0, _Object$keys6 = Object.keys(outsideLetRefs); _i6 < _Object$keys6.length; _i6++) { - var _key = _Object$keys6[_i6]; - var _ref2 = letRefs[_key]; - - if (isInLoop(this.blockPath) && blockPathScope.hasOwnBinding(_key)) { - blockPathScope.rename(_ref2.name); - } - } - } - }, { - key: "wrapClosure", - value: function wrapClosure() { - if (this.throwIfClosureRequired) { - throw this.blockPath.buildCodeFrameError("Compiling let/const in this block would add a closure " + "(throwIfClosureRequired)."); - } - - var block = this.block; - var outsideRefs = this.outsideLetReferences; - - if (this.loop) { - for (var _i7 = 0, _Object$keys7 = Object.keys(outsideRefs); _i7 < _Object$keys7.length; _i7++) { - var name = _Object$keys7[_i7]; - var id = outsideRefs[name]; - - if (this.scope.hasGlobal(id.name) || this.scope.parentHasBinding(id.name)) { - delete outsideRefs[id.name]; - delete this.letReferences[id.name]; - this.scope.rename(id.name); - this.letReferences[id.name] = id; - outsideRefs[id.name] = id; - } - } - } - - this.has = this.checkLoop(); - this.hoistVarDeclarations(); - var args = (0, _values.default)(outsideRefs).map(function (id) { - return _core.types.cloneNode(id); - }); - var params = args.map(function (id) { - return _core.types.cloneNode(id); - }); - var isSwitch = this.blockPath.isSwitchStatement(); - - var fn = _core.types.functionExpression(null, params, _core.types.blockStatement(isSwitch ? [block] : block.body)); - - this.addContinuations(fn); - - var call = _core.types.callExpression(_core.types.nullLiteral(), args); - - var basePath = ".callee"; - - var hasYield = _core.traverse.hasType(fn.body, "YieldExpression", _core.types.FUNCTION_TYPES); - - if (hasYield) { - fn.generator = true; - call = _core.types.yieldExpression(call, true); - basePath = ".argument" + basePath; - } - - var hasAsync = _core.traverse.hasType(fn.body, "AwaitExpression", _core.types.FUNCTION_TYPES); - - if (hasAsync) { - fn.async = true; - call = _core.types.awaitExpression(call); - basePath = ".argument" + basePath; - } - - var placeholderPath; - var index; - - if (this.has.hasReturn || this.has.hasBreakContinue) { - var ret = this.scope.generateUid("ret"); - this.body.push(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(ret), call)])); - placeholderPath = "declarations.0.init" + basePath; - index = this.body.length - 1; - this.buildHas(ret); - } else { - this.body.push(_core.types.expressionStatement(call)); - placeholderPath = "expression" + basePath; - index = this.body.length - 1; - } - - var callPath; - - if (isSwitch) { - var _this$blockPath = this.blockPath, - parentPath = _this$blockPath.parentPath, - listKey = _this$blockPath.listKey, - key = _this$blockPath.key; - this.blockPath.replaceWithMultiple(this.body); - callPath = parentPath.get(listKey)[key + index]; - } else { - block.body = this.body; - callPath = this.blockPath.get("body")[index]; - } - - var placeholder = callPath.get(placeholderPath); - var fnPath; - - if (this.loop) { - var loopId = this.scope.generateUid("loop"); - var p = this.loopPath.insertBefore(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(loopId), fn)])); - placeholder.replaceWith(_core.types.identifier(loopId)); - fnPath = p[0].get("declarations.0.init"); - } else { - placeholder.replaceWith(fn); - fnPath = placeholder; - } - - fnPath.unwrapFunctionEnvironment(); - } - }, { - key: "addContinuations", - value: function addContinuations(fn) { - var _this = this; - - var state = { - reassignments: {}, - returnStatements: [], - outsideReferences: this.outsideLetReferences - }; - this.scope.traverse(fn, continuationVisitor, state); - - var _loop = function _loop(i) { - var param = fn.params[i]; - if (!state.reassignments[param.name]) return "continue"; - var paramName = param.name; - - var newParamName = _this.scope.generateUid(param.name); - - fn.params[i] = _core.types.identifier(newParamName); - - _this.scope.rename(paramName, newParamName, fn); - - state.returnStatements.forEach(function (returnStatement) { - returnStatement.insertBefore(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(paramName), _core.types.identifier(newParamName)))); - }); - fn.body.body.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(paramName), _core.types.identifier(newParamName)))); - }; - - for (var i = 0; i < fn.params.length; i++) { - var _ret = _loop(i); - - if (_ret === "continue") continue; - } - } - }, { - key: "getLetReferences", - value: function getLetReferences() { - var _this2 = this; - - var block = this.block; - var declarators = []; - - if (this.loop) { - var init = this.loop.left || this.loop.init; - - if (isBlockScoped(init)) { - declarators.push(init); - (0, _extend.default)(this.outsideLetReferences, _core.types.getBindingIdentifiers(init)); - } - } - - var addDeclarationsFromChild = function addDeclarationsFromChild(path, node) { - node = node || path.node; - - if (_core.types.isClassDeclaration(node) || _core.types.isFunctionDeclaration(node) || isBlockScoped(node)) { - if (isBlockScoped(node)) { - convertBlockScopedToVar(path, node, block, _this2.scope); - } - - declarators = declarators.concat(node.declarations || node); - } - - if (_core.types.isLabeledStatement(node)) { - addDeclarationsFromChild(path.get("body"), node.body); - } - }; - - if (block.body) { - var declarPaths = this.blockPath.get("body"); - - for (var i = 0; i < block.body.length; i++) { - addDeclarationsFromChild(declarPaths[i]); - } - } - - if (block.cases) { - var _declarPaths = this.blockPath.get("cases"); - - for (var _i8 = 0; _i8 < block.cases.length; _i8++) { - var consequents = block.cases[_i8].consequent; - - for (var j = 0; j < consequents.length; j++) { - var declar = consequents[j]; - addDeclarationsFromChild(_declarPaths[_i8], declar); - } - } - } - - for (var _i9 = 0; _i9 < declarators.length; _i9++) { - var _declar = declarators[_i9]; - - var keys = _core.types.getBindingIdentifiers(_declar, false, true); - - (0, _extend.default)(this.letReferences, keys); - this.hasLetReferences = true; - } - - if (!this.hasLetReferences) return; - var state = { - letReferences: this.letReferences, - closurify: false, - loopDepth: 0, - tdzEnabled: this.tdzEnabled, - addHelper: function addHelper(name) { - return _this2.state.addHelper(name); - } - }; - - if (isInLoop(this.blockPath)) { - state.loopDepth++; - } - - this.blockPath.traverse(letReferenceBlockVisitor, state); - return state.closurify; - } - }, { - key: "checkLoop", - value: function checkLoop() { - var state = { - hasBreakContinue: false, - ignoreLabeless: false, - inSwitchCase: false, - innerLabels: [], - hasReturn: false, - isLoop: !!this.loop, - map: {}, - LOOP_IGNORE: Symbol() - }; - this.blockPath.traverse(loopLabelVisitor, state); - this.blockPath.traverse(loopVisitor, state); - return state; - } - }, { - key: "hoistVarDeclarations", - value: function hoistVarDeclarations() { - this.blockPath.traverse(hoistVarDeclarationsVisitor, this); - } - }, { - key: "pushDeclar", - value: function pushDeclar(node) { - var declars = []; - - var names = _core.types.getBindingIdentifiers(node); - - for (var _i10 = 0, _Object$keys8 = Object.keys(names); _i10 < _Object$keys8.length; _i10++) { - var name = _Object$keys8[_i10]; - declars.push(_core.types.variableDeclarator(names[name])); - } - - this.body.push(_core.types.variableDeclaration(node.kind, declars)); - var replace = []; - - for (var i = 0; i < node.declarations.length; i++) { - var declar = node.declarations[i]; - if (!declar.init) continue; - - var expr = _core.types.assignmentExpression("=", _core.types.cloneNode(declar.id), _core.types.cloneNode(declar.init)); - - replace.push(_core.types.inherits(expr, declar)); - } - - return replace; - } - }, { - key: "buildHas", - value: function buildHas(ret) { - var body = this.body; - var retCheck; - var has = this.has; - var cases = []; - - if (has.hasReturn) { - retCheck = buildRetCheck({ - RETURN: _core.types.identifier(ret) - }); - } - - if (has.hasBreakContinue) { - for (var _i11 = 0, _Object$keys9 = Object.keys(has.map); _i11 < _Object$keys9.length; _i11++) { - var key = _Object$keys9[_i11]; - cases.push(_core.types.switchCase(_core.types.stringLiteral(key), [has.map[key]])); - } - - if (has.hasReturn) { - cases.push(_core.types.switchCase(null, [retCheck])); - } - - if (cases.length === 1) { - var single = cases[0]; - body.push(_core.types.ifStatement(_core.types.binaryExpression("===", _core.types.identifier(ret), single.test), single.consequent[0])); - } else { - if (this.loop) { - for (var i = 0; i < cases.length; i++) { - var caseConsequent = cases[i].consequent[0]; - - if (_core.types.isBreakStatement(caseConsequent) && !caseConsequent.label) { - if (!this.loopLabel) { - this.loopLabel = this.scope.generateUidIdentifier("loop"); - } - - caseConsequent.label = _core.types.cloneNode(this.loopLabel); - } - } - } - - body.push(_core.types.switchStatement(_core.types.identifier(ret), cases)); - } - } else { - if (has.hasReturn) { - body.push(retCheck); - } - } - } - }]); - - return BlockScoping; -}(); - -},{"./tdz":108,"@babel/core":19,"@babel/helper-plugin-utils":79,"lodash/extend":1010,"lodash/values":1048}],108:[function(require,module,exports){ -"use strict"; - -function _templateObject() { - var data = _taggedTemplateLiteral(["", "(\"", "\")"]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.visitor = void 0; - -var _core = require("@babel/core"); - -function getTDZStatus(refPath, bindingPath) { - var executionStatus = bindingPath._guessExecutionStatusRelativeTo(refPath); - - if (executionStatus === "before") { - return "outside"; - } else if (executionStatus === "after") { - return "inside"; - } else { - return "maybe"; - } -} - -function buildTDZAssert(node, state) { - return _core.types.callExpression(state.addHelper("temporalRef"), [node, _core.types.stringLiteral(node.name)]); -} - -function isReference(node, scope, state) { - var declared = state.letReferences[node.name]; - if (!declared) return false; - return scope.getBindingIdentifier(node.name) === declared; -} - -var visitor = { - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - if (!state.tdzEnabled) return; - var node = path.node, - parent = path.parent, - scope = path.scope; - if (path.parentPath.isFor({ - left: node - })) return; - if (!isReference(node, scope, state)) return; - var bindingPath = scope.getBinding(node.name).path; - if (bindingPath.isFunctionDeclaration()) return; - var status = getTDZStatus(path, bindingPath); - if (status === "outside") return; - - if (status === "maybe") { - var assert = buildTDZAssert(node, state); - bindingPath.parent._tdzThis = true; - path.skip(); - - if (path.parentPath.isUpdateExpression()) { - if (parent._ignoreBlockScopingTDZ) return; - path.parentPath.replaceWith(_core.types.sequenceExpression([assert, parent])); - } else { - path.replaceWith(assert); - } - } else if (status === "inside") { - path.replaceWith(_core.template.ast(_templateObject(), state.addHelper("tdz"), node.name)); - } - }, - AssignmentExpression: { - exit: function exit(path, state) { - if (!state.tdzEnabled) return; - var node = path.node; - if (node._ignoreBlockScopingTDZ) return; - var nodes = []; - var ids = path.getBindingIdentifiers(); - - for (var _i = 0, _Object$keys = Object.keys(ids); _i < _Object$keys.length; _i++) { - var name = _Object$keys[_i]; - var id = ids[name]; - - if (isReference(id, path.scope, state)) { - nodes.push(id); - } - } - - if (nodes.length) { - node._ignoreBlockScopingTDZ = true; - nodes.push(node); - path.replaceWithMultiple(nodes.map(function (n) { - return _core.types.expressionStatement(n); - })); - } - } - } -}; -exports.visitor = visitor; - -},{"@babel/core":19}],109:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); - -var _core = require("@babel/core"); - -var _globals = _interopRequireDefault(require("globals")); - -var _transformClass = _interopRequireDefault(require("./transformClass")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var getBuiltinClasses = function getBuiltinClasses(category) { - return Object.keys(_globals.default[category]).filter(function (name) { - return /^[A-Z]/.test(name); - }); -}; - -var builtinClasses = new Set([].concat(_toConsumableArray(getBuiltinClasses("builtin")), _toConsumableArray(getBuiltinClasses("browser")))); - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose; - var VISITED = Symbol(); - return { - name: "transform-classes", - visitor: { - ExportDefaultDeclaration: function ExportDefaultDeclaration(path) { - if (!path.get("declaration").isClassDeclaration()) return; - (0, _helperSplitExportDeclaration.default)(path); - }, - ClassDeclaration: function ClassDeclaration(path) { - var node = path.node; - var ref = node.id || path.scope.generateUidIdentifier("class"); - path.replaceWith(_core.types.variableDeclaration("let", [_core.types.variableDeclarator(ref, _core.types.toExpression(node))])); - }, - ClassExpression: function ClassExpression(path, state) { - var node = path.node; - if (node[VISITED]) return; - var inferred = (0, _helperFunctionName.default)(path); - - if (inferred && inferred !== node) { - path.replaceWith(inferred); - return; - } - - node[VISITED] = true; - path.replaceWith((0, _transformClass.default)(path, state.file, builtinClasses, loose)); - - if (path.isCallExpression()) { - (0, _helperAnnotateAsPure.default)(path); - - if (path.get("callee").isArrowFunctionExpression()) { - path.get("callee").arrowFunctionToExpression(); - } - } - } - } - }; -}); - -exports.default = _default; - -},{"./transformClass":110,"@babel/core":19,"@babel/helper-annotate-as-pure":57,"@babel/helper-function-name":66,"@babel/helper-plugin-utils":79,"@babel/helper-split-export-declaration":84,"globals":838}],110:[function(require,module,exports){ -"use strict"; - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n (function () {\n super(...arguments);\n })\n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = transformClass; - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -var _helperReplaceSupers = _interopRequireWildcard(require("@babel/helper-replace-supers")); - -var _helperOptimiseCallExpression = _interopRequireDefault(require("@babel/helper-optimise-call-expression")); - -var defineMap = _interopRequireWildcard(require("@babel/helper-define-map")); - -var _core = require("@babel/core"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function buildConstructor(classRef, constructorBody, node) { - var func = _core.types.functionDeclaration(_core.types.cloneNode(classRef), [], constructorBody); - - _core.types.inherits(func, node); - - return func; -} - -function transformClass(path, file, builtinClasses, isLoose) { - var classState = { - parent: undefined, - scope: undefined, - node: undefined, - path: undefined, - file: undefined, - classId: undefined, - classRef: undefined, - superName: undefined, - superReturns: [], - isDerived: false, - extendsNative: false, - construct: undefined, - constructorBody: undefined, - userConstructor: undefined, - userConstructorPath: undefined, - hasConstructor: false, - instancePropBody: [], - instancePropRefs: {}, - staticPropBody: [], - body: [], - superThises: [], - pushedConstructor: false, - pushedInherits: false, - protoAlias: null, - isLoose: false, - hasInstanceDescriptors: false, - hasStaticDescriptors: false, - instanceMutatorMap: {}, - staticMutatorMap: {} - }; - - var setState = function setState(newState) { - Object.assign(classState, newState); - }; - - var findThisesVisitor = _core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { - ThisExpression: function ThisExpression(path) { - classState.superThises.push(path); - } - }]); - - function pushToMap(node, enumerable) { - var kind = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "value"; - var scope = arguments.length > 3 ? arguments[3] : undefined; - var mutatorMap; - - if (node.static) { - setState({ - hasStaticDescriptors: true - }); - mutatorMap = classState.staticMutatorMap; - } else { - setState({ - hasInstanceDescriptors: true - }); - mutatorMap = classState.instanceMutatorMap; - } - - var map = defineMap.push(mutatorMap, node, kind, classState.file, scope); - - if (enumerable) { - map.enumerable = _core.types.booleanLiteral(true); - } - - return map; - } - - function maybeCreateConstructor() { - var hasConstructor = false; - var paths = classState.path.get("body.body"); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = paths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _path = _step.value; - hasConstructor = _path.equals("kind", "constructor"); - if (hasConstructor) break; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (hasConstructor) return; - var params, body; - - if (classState.isDerived) { - var _constructor = _core.template.expression.ast(_templateObject()); - - params = _constructor.params; - body = _constructor.body; - } else { - params = []; - body = _core.types.blockStatement([]); - } - - classState.path.get("body").unshiftContainer("body", _core.types.classMethod("constructor", _core.types.identifier("constructor"), params, body)); - } - - function buildBody() { - maybeCreateConstructor(); - pushBody(); - verifyConstructor(); - - if (classState.userConstructor) { - var constructorBody = classState.constructorBody, - userConstructor = classState.userConstructor, - construct = classState.construct; - constructorBody.body = constructorBody.body.concat(userConstructor.body.body); - - _core.types.inherits(construct, userConstructor); - - _core.types.inherits(constructorBody, userConstructor.body); - } - - pushDescriptors(); - } - - function pushBody() { - var classBodyPaths = classState.path.get("body.body"); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = classBodyPaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _path2 = _step2.value; - var node = _path2.node; - - if (_path2.isClassProperty()) { - throw _path2.buildCodeFrameError("Missing class properties transform."); - } - - if (node.decorators) { - throw _path2.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one."); - } - - if (_core.types.isClassMethod(node)) { - (function () { - var isConstructor = node.kind === "constructor"; - var replaceSupers = new _helperReplaceSupers.default({ - methodPath: _path2, - objectRef: classState.classRef, - superRef: classState.superName, - isLoose: classState.isLoose, - file: classState.file - }); - replaceSupers.replace(); - var superReturns = []; - - _path2.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { - ReturnStatement: function ReturnStatement(path) { - if (!path.getFunctionParent().isArrowFunctionExpression()) { - superReturns.push(path); - } - } - }])); - - if (isConstructor) { - pushConstructor(superReturns, node, _path2); - } else { - pushMethod(node, _path2); - } - })(); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - - function clearDescriptors() { - setState({ - hasInstanceDescriptors: false, - hasStaticDescriptors: false, - instanceMutatorMap: {}, - staticMutatorMap: {} - }); - } - - function pushDescriptors() { - pushInheritsToBody(); - var body = classState.body; - var instanceProps; - var staticProps; - - if (classState.hasInstanceDescriptors) { - instanceProps = defineMap.toClassObject(classState.instanceMutatorMap); - } - - if (classState.hasStaticDescriptors) { - staticProps = defineMap.toClassObject(classState.staticMutatorMap); - } - - if (instanceProps || staticProps) { - if (instanceProps) { - instanceProps = defineMap.toComputedObjectFromClass(instanceProps); - } - - if (staticProps) { - staticProps = defineMap.toComputedObjectFromClass(staticProps); - } - - var args = [_core.types.cloneNode(classState.classRef), _core.types.nullLiteral(), _core.types.nullLiteral()]; - if (instanceProps) args[1] = instanceProps; - if (staticProps) args[2] = staticProps; - var lastNonNullIndex = 0; - - for (var i = 0; i < args.length; i++) { - if (!_core.types.isNullLiteral(args[i])) lastNonNullIndex = i; - } - - args = args.slice(0, lastNonNullIndex + 1); - body.push(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("createClass"), args))); - } - - clearDescriptors(); - } - - function wrapSuperCall(bareSuper, superRef, thisRef, body) { - var bareSuperNode = bareSuper.node; - var call; - - if (classState.isLoose) { - bareSuperNode.arguments.unshift(_core.types.thisExpression()); - - if (bareSuperNode.arguments.length === 2 && _core.types.isSpreadElement(bareSuperNode.arguments[1]) && _core.types.isIdentifier(bareSuperNode.arguments[1].argument, { - name: "arguments" - })) { - bareSuperNode.arguments[1] = bareSuperNode.arguments[1].argument; - bareSuperNode.callee = _core.types.memberExpression(_core.types.cloneNode(superRef), _core.types.identifier("apply")); - } else { - bareSuperNode.callee = _core.types.memberExpression(_core.types.cloneNode(superRef), _core.types.identifier("call")); - } - - call = _core.types.logicalExpression("||", bareSuperNode, _core.types.thisExpression()); - } else { - bareSuperNode = (0, _helperOptimiseCallExpression.default)(_core.types.callExpression(classState.file.addHelper("getPrototypeOf"), [_core.types.cloneNode(classState.classRef)]), _core.types.thisExpression(), bareSuperNode.arguments); - call = _core.types.callExpression(classState.file.addHelper("possibleConstructorReturn"), [_core.types.thisExpression(), bareSuperNode]); - } - - if (bareSuper.parentPath.isExpressionStatement() && bareSuper.parentPath.container === body.node.body && body.node.body.length - 1 === bareSuper.parentPath.key) { - if (classState.superThises.length) { - call = _core.types.assignmentExpression("=", thisRef(), call); - } - - bareSuper.parentPath.replaceWith(_core.types.returnStatement(call)); - } else { - bareSuper.replaceWith(_core.types.assignmentExpression("=", thisRef(), call)); - } - } - - function verifyConstructor() { - if (!classState.isDerived) return; - var path = classState.userConstructorPath; - var body = path.get("body"); - path.traverse(findThisesVisitor); - - var _thisRef = function thisRef() { - var ref = path.scope.generateDeclaredUidIdentifier("this"); - - _thisRef = function thisRef() { - return _core.types.cloneNode(ref); - }; - - return ref; - }; - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = classState.superThises[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var thisPath = _step3.value; - var node = thisPath.node, - parentPath = thisPath.parentPath; - - if (parentPath.isMemberExpression({ - object: node - })) { - thisPath.replaceWith(_thisRef()); - continue; - } - - thisPath.replaceWith(_core.types.callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()])); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - var bareSupers = new Set(); - path.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { - Super: function Super(path) { - var node = path.node, - parentPath = path.parentPath; - - if (parentPath.isCallExpression({ - callee: node - })) { - bareSupers.add(parentPath); - } - } - }])); - var guaranteedSuperBeforeFinish = !!bareSupers.size; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = bareSupers[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var bareSuper = _step4.value; - wrapSuperCall(bareSuper, classState.superName, _thisRef, body); - - if (guaranteedSuperBeforeFinish) { - bareSuper.find(function (parentPath) { - if (parentPath === path) { - return true; - } - - if (parentPath.isLoop() || parentPath.isConditional() || parentPath.isArrowFunctionExpression()) { - guaranteedSuperBeforeFinish = false; - return true; - } - }); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - var wrapReturn; - - if (classState.isLoose) { - wrapReturn = function wrapReturn(returnArg) { - var thisExpr = _core.types.callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()]); - - return returnArg ? _core.types.logicalExpression("||", returnArg, thisExpr) : thisExpr; - }; - } else { - wrapReturn = function wrapReturn(returnArg) { - return _core.types.callExpression(classState.file.addHelper("possibleConstructorReturn"), [_thisRef()].concat(returnArg || [])); - }; - } - - var bodyPaths = body.get("body"); - - if (!bodyPaths.length || !bodyPaths.pop().isReturnStatement()) { - body.pushContainer("body", _core.types.returnStatement(guaranteedSuperBeforeFinish ? _thisRef() : wrapReturn())); - } - - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = classState.superReturns[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var returnPath = _step5.value; - returnPath.get("argument").replaceWith(wrapReturn(returnPath.node.argument)); - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - } - - function pushMethod(node, path) { - var scope = path ? path.scope : classState.scope; - - if (node.kind === "method") { - if (processMethod(node, scope)) return; - } - - pushToMap(node, false, null, scope); - } - - function processMethod(node, scope) { - if (classState.isLoose && !node.decorators) { - var classRef = classState.classRef; - - if (!node.static) { - insertProtoAliasOnce(); - classRef = classState.protoAlias; - } - - var methodName = _core.types.memberExpression(_core.types.cloneNode(classRef), node.key, node.computed || _core.types.isLiteral(node.key)); - - var func = _core.types.functionExpression(null, node.params, node.body, node.generator, node.async); - - _core.types.inherits(func, node); - - var key = _core.types.toComputedKey(node, node.key); - - if (_core.types.isStringLiteral(key)) { - func = (0, _helperFunctionName.default)({ - node: func, - id: key, - scope: scope - }); - } - - var expr = _core.types.expressionStatement(_core.types.assignmentExpression("=", methodName, func)); - - _core.types.inheritsComments(expr, node); - - classState.body.push(expr); - return true; - } - - return false; - } - - function insertProtoAliasOnce() { - if (classState.protoAlias === null) { - setState({ - protoAlias: classState.scope.generateUidIdentifier("proto") - }); - - var classProto = _core.types.memberExpression(classState.classRef, _core.types.identifier("prototype")); - - var protoDeclaration = _core.types.variableDeclaration("var", [_core.types.variableDeclarator(classState.protoAlias, classProto)]); - - classState.body.push(protoDeclaration); - } - } - - function pushConstructor(superReturns, method, path) { - if (path.scope.hasOwnBinding(classState.classRef.name)) { - path.scope.rename(classState.classRef.name); - } - - setState({ - userConstructorPath: path, - userConstructor: method, - hasConstructor: true, - superReturns: superReturns - }); - var construct = classState.construct; - - _core.types.inheritsComments(construct, method); - - construct.params = method.params; - - _core.types.inherits(construct.body, method.body); - - construct.body.directives = method.body.directives; - pushConstructorToBody(); - } - - function pushConstructorToBody() { - if (classState.pushedConstructor) return; - classState.pushedConstructor = true; - - if (classState.hasInstanceDescriptors || classState.hasStaticDescriptors) { - pushDescriptors(); - } - - classState.body.push(classState.construct); - pushInheritsToBody(); - } - - function pushInheritsToBody() { - if (!classState.isDerived || classState.pushedInherits) return; - setState({ - pushedInherits: true - }); - classState.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper(classState.isLoose ? "inheritsLoose" : "inherits"), [_core.types.cloneNode(classState.classRef), _core.types.cloneNode(classState.superName)]))); - } - - function setupClosureParamsArgs() { - var superName = classState.superName; - var closureParams = []; - var closureArgs = []; - - if (classState.isDerived) { - var arg = classState.extendsNative ? _core.types.callExpression(classState.file.addHelper("wrapNativeSuper"), [_core.types.cloneNode(superName)]) : _core.types.cloneNode(superName); - var param = classState.scope.generateUidIdentifierBasedOnNode(superName); - closureParams.push(param); - closureArgs.push(arg); - setState({ - superName: _core.types.cloneNode(param) - }); - } - - return { - closureParams: closureParams, - closureArgs: closureArgs - }; - } - - function classTransformer(path, file, builtinClasses, isLoose) { - setState({ - parent: path.parent, - scope: path.scope, - node: path.node, - path: path, - file: file, - isLoose: isLoose - }); - setState({ - classId: classState.node.id, - classRef: classState.node.id ? _core.types.identifier(classState.node.id.name) : classState.scope.generateUidIdentifier("class"), - superName: classState.node.superClass, - isDerived: !!classState.node.superClass, - constructorBody: _core.types.blockStatement([]) - }); - setState({ - extendsNative: classState.isDerived && builtinClasses.has(classState.superName.name) && !classState.scope.hasBinding(classState.superName.name, true) - }); - var classRef = classState.classRef, - node = classState.node, - constructorBody = classState.constructorBody; - setState({ - construct: buildConstructor(classRef, constructorBody, node) - }); - var body = classState.body; - - var _setupClosureParamsAr = setupClosureParamsArgs(), - closureParams = _setupClosureParamsAr.closureParams, - closureArgs = _setupClosureParamsAr.closureArgs; - - buildBody(); - - if (!classState.isLoose) { - constructorBody.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("classCallCheck"), [_core.types.thisExpression(), _core.types.cloneNode(classState.classRef)]))); - } - - body = body.concat(classState.staticPropBody.map(function (fn) { - return fn(_core.types.cloneNode(classState.classRef)); - })); - var isStrict = path.isInStrictMode(); - var constructorOnly = classState.classId && body.length === 1; - - if (constructorOnly && !isStrict) { - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = classState.construct.params[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var param = _step6.value; - - if (!_core.types.isIdentifier(param)) { - constructorOnly = false; - break; - } - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - } - - var directives = constructorOnly ? body[0].body.directives : []; - - if (!isStrict) { - directives.push(_core.types.directive(_core.types.directiveLiteral("use strict"))); - } - - if (constructorOnly) { - return _core.types.toExpression(body[0]); - } - - body.push(_core.types.returnStatement(_core.types.cloneNode(classState.classRef))); - - var container = _core.types.arrowFunctionExpression(closureParams, _core.types.blockStatement(body, directives)); - - return _core.types.callExpression(container, closureArgs); - } - - return classTransformer(path, file, builtinClasses, isLoose); -} - -},{"@babel/core":19,"@babel/helper-define-map":64,"@babel/helper-function-name":66,"@babel/helper-optimise-call-expression":78,"@babel/helper-replace-supers":82}],111:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose; - var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec; - var buildMutatorMapAssign = (0, _core().template)("\n MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\n MUTATOR_MAP_REF[KEY].KIND = VALUE;\n "); - - function getValue(prop) { - if (_core().types.isObjectProperty(prop)) { - return prop.value; - } else if (_core().types.isObjectMethod(prop)) { - return _core().types.functionExpression(null, prop.params, prop.body, prop.generator, prop.async); - } - } - - function pushAssign(objId, prop, body) { - if (prop.kind === "get" && prop.kind === "set") { - pushMutatorDefine(objId, prop, body); - } else { - body.push(_core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.memberExpression(_core().types.cloneNode(objId), prop.key, prop.computed || _core().types.isLiteral(prop.key)), getValue(prop)))); - } - } - - function pushMutatorDefine(_ref, prop) { - var body = _ref.body, - getMutatorId = _ref.getMutatorId, - scope = _ref.scope; - var key = !prop.computed && _core().types.isIdentifier(prop.key) ? _core().types.stringLiteral(prop.key.name) : prop.key; - var maybeMemoise = scope.maybeGenerateMemoised(key); - - if (maybeMemoise) { - body.push(_core().types.expressionStatement(_core().types.assignmentExpression("=", maybeMemoise, key))); - key = maybeMemoise; - } - - body.push.apply(body, _toConsumableArray(buildMutatorMapAssign({ - MUTATOR_MAP_REF: getMutatorId(), - KEY: _core().types.cloneNode(key), - VALUE: getValue(prop), - KIND: _core().types.identifier(prop.kind) - }))); - } - - function pushComputedPropsLoose(info) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = info.computedProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var prop = _step.value; - - if (prop.kind === "get" || prop.kind === "set") { - pushMutatorDefine(info, prop); - } else { - pushAssign(_core().types.cloneNode(info.objId), prop, info.body); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - function pushComputedPropsSpec(info) { - var objId = info.objId, - body = info.body, - computedProps = info.computedProps, - state = info.state; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = computedProps[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var prop = _step2.value; - - var key = _core().types.toComputedKey(prop); - - if (prop.kind === "get" || prop.kind === "set") { - pushMutatorDefine(info, prop); - } else if (_core().types.isStringLiteral(key, { - value: "__proto__" - })) { - pushAssign(objId, prop, body); - } else { - if (computedProps.length === 1) { - return _core().types.callExpression(state.addHelper("defineProperty"), [info.initPropExpression, key, getValue(prop)]); - } else { - body.push(_core().types.expressionStatement(_core().types.callExpression(state.addHelper("defineProperty"), [_core().types.cloneNode(objId), key, getValue(prop)]))); - } - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - - return { - name: "transform-computed-properties", - visitor: { - ObjectExpression: { - exit: function exit(path, state) { - var node = path.node, - parent = path.parent, - scope = path.scope; - var hasComputed = false; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = node.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var prop = _step3.value; - hasComputed = prop.computed === true; - if (hasComputed) break; - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - if (!hasComputed) return; - var initProps = []; - var computedProps = []; - var foundComputed = false; - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = node.properties[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var _prop = _step4.value; - - if (_prop.computed) { - foundComputed = true; - } - - if (foundComputed) { - computedProps.push(_prop); - } else { - initProps.push(_prop); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - var objId = scope.generateUidIdentifierBasedOnNode(parent); - - var initPropExpression = _core().types.objectExpression(initProps); - - var body = []; - body.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(objId, initPropExpression)])); - var mutatorRef; - - var getMutatorId = function getMutatorId() { - if (!mutatorRef) { - mutatorRef = scope.generateUidIdentifier("mutatorMap"); - body.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(mutatorRef, _core().types.objectExpression([]))])); - } - - return _core().types.cloneNode(mutatorRef); - }; - - var single = pushComputedProps({ - scope: scope, - objId: objId, - body: body, - computedProps: computedProps, - initPropExpression: initPropExpression, - getMutatorId: getMutatorId, - state: state - }); - - if (mutatorRef) { - body.push(_core().types.expressionStatement(_core().types.callExpression(state.addHelper("defineEnumerableProperties"), [_core().types.cloneNode(objId), _core().types.cloneNode(mutatorRef)]))); - } - - if (single) { - path.replaceWith(single); - } else { - body.push(_core().types.expressionStatement(_core().types.cloneNode(objId))); - path.replaceWithMultiple(body); - } - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],112:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var _options$loose = options.loose, - loose = _options$loose === void 0 ? false : _options$loose, - _options$useBuiltIns = options.useBuiltIns, - useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns; - - if (typeof loose !== "boolean") { - throw new Error(".loose must be a boolean or undefined"); - } - - var arrayOnlySpread = loose; - - function getExtendsHelper(file) { - return useBuiltIns ? _core().types.memberExpression(_core().types.identifier("Object"), _core().types.identifier("assign")) : file.addHelper("extends"); - } - - function variableDeclarationHasPattern(node) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var declar = _step.value; - - if (_core().types.isPattern(declar.id)) { - return true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return false; - } - - function hasRest(pattern) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = pattern.elements[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var elem = _step2.value; - - if (_core().types.isRestElement(elem)) { - return true; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - return false; - } - - function hasObjectRest(pattern) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = pattern.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var elem = _step3.value; - - if (_core().types.isRestElement(elem)) { - return true; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return false; - } - - var STOP_TRAVERSAL = {}; - - var arrayUnpackVisitor = function arrayUnpackVisitor(node, ancestors, state) { - if (!ancestors.length) { - return; - } - - if (_core().types.isIdentifier(node) && _core().types.isReferenced(node, ancestors[ancestors.length - 1]) && state.bindings[node.name]) { - state.deopt = true; - throw STOP_TRAVERSAL; - } - }; - - var DestructuringTransformer = - /*#__PURE__*/ - function () { - function DestructuringTransformer(opts) { - _classCallCheck(this, DestructuringTransformer); - - this.blockHoist = opts.blockHoist; - this.operator = opts.operator; - this.arrays = {}; - this.nodes = opts.nodes || []; - this.scope = opts.scope; - this.kind = opts.kind; - this.arrayOnlySpread = opts.arrayOnlySpread; - this.addHelper = opts.addHelper; - } - - _createClass(DestructuringTransformer, [{ - key: "buildVariableAssignment", - value: function buildVariableAssignment(id, init) { - var op = this.operator; - if (_core().types.isMemberExpression(id)) op = "="; - var node; - - if (op) { - node = _core().types.expressionStatement(_core().types.assignmentExpression(op, id, _core().types.cloneNode(init) || this.scope.buildUndefinedNode())); - } else { - node = _core().types.variableDeclaration(this.kind, [_core().types.variableDeclarator(id, _core().types.cloneNode(init))]); - } - - node._blockHoist = this.blockHoist; - return node; - } - }, { - key: "buildVariableDeclaration", - value: function buildVariableDeclaration(id, init) { - var declar = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.cloneNode(id), _core().types.cloneNode(init))]); - - declar._blockHoist = this.blockHoist; - return declar; - } - }, { - key: "push", - value: function push(id, _init) { - var init = _core().types.cloneNode(_init); - - if (_core().types.isObjectPattern(id)) { - this.pushObjectPattern(id, init); - } else if (_core().types.isArrayPattern(id)) { - this.pushArrayPattern(id, init); - } else if (_core().types.isAssignmentPattern(id)) { - this.pushAssignmentPattern(id, init); - } else { - this.nodes.push(this.buildVariableAssignment(id, init)); - } - } - }, { - key: "toArray", - value: function toArray(node, count) { - if (this.arrayOnlySpread || _core().types.isIdentifier(node) && this.arrays[node.name]) { - return node; - } else { - return this.scope.toArray(node, count); - } - } - }, { - key: "pushAssignmentPattern", - value: function pushAssignmentPattern(_ref, valueRef) { - var left = _ref.left, - right = _ref.right; - var tempId = this.scope.generateUidIdentifierBasedOnNode(valueRef); - this.nodes.push(this.buildVariableDeclaration(tempId, valueRef)); - - var tempConditional = _core().types.conditionalExpression(_core().types.binaryExpression("===", _core().types.cloneNode(tempId), this.scope.buildUndefinedNode()), right, _core().types.cloneNode(tempId)); - - if (_core().types.isPattern(left)) { - var patternId; - var node; - - if (this.kind === "const") { - patternId = this.scope.generateUidIdentifier(tempId.name); - node = this.buildVariableDeclaration(patternId, tempConditional); - } else { - patternId = tempId; - node = _core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.cloneNode(tempId), tempConditional)); - } - - this.nodes.push(node); - this.push(left, patternId); - } else { - this.nodes.push(this.buildVariableAssignment(left, tempConditional)); - } - } - }, { - key: "pushObjectRest", - value: function pushObjectRest(pattern, objRef, spreadProp, spreadPropIndex) { - var keys = []; - var allLiteral = true; - - for (var i = 0; i < pattern.properties.length; i++) { - var prop = pattern.properties[i]; - if (i >= spreadPropIndex) break; - if (_core().types.isRestElement(prop)) continue; - var key = prop.key; - - if (_core().types.isIdentifier(key) && !prop.computed) { - keys.push(_core().types.stringLiteral(key.name)); - } else if (_core().types.isTemplateLiteral(prop.key)) { - keys.push(_core().types.cloneNode(prop.key)); - } else if (_core().types.isLiteral(key)) { - keys.push(_core().types.stringLiteral(String(key.value))); - } else { - keys.push(_core().types.cloneNode(key)); - allLiteral = false; - } - } - - var value; - - if (keys.length === 0) { - value = _core().types.callExpression(getExtendsHelper(this), [_core().types.objectExpression([]), _core().types.cloneNode(objRef)]); - } else { - var keyExpression = _core().types.arrayExpression(keys); - - if (!allLiteral) { - keyExpression = _core().types.callExpression(_core().types.memberExpression(keyExpression, _core().types.identifier("map")), [this.addHelper("toPropertyKey")]); - } - - value = _core().types.callExpression(this.addHelper("objectWithoutProperties".concat(loose ? "Loose" : "")), [_core().types.cloneNode(objRef), keyExpression]); - } - - this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value)); - } - }, { - key: "pushObjectProperty", - value: function pushObjectProperty(prop, propRef) { - if (_core().types.isLiteral(prop.key)) prop.computed = true; - var pattern = prop.value; - - var objRef = _core().types.memberExpression(_core().types.cloneNode(propRef), prop.key, prop.computed); - - if (_core().types.isPattern(pattern)) { - this.push(pattern, objRef); - } else { - this.nodes.push(this.buildVariableAssignment(pattern, objRef)); - } - } - }, { - key: "pushObjectPattern", - value: function pushObjectPattern(pattern, objRef) { - if (!pattern.properties.length) { - this.nodes.push(_core().types.expressionStatement(_core().types.callExpression(this.addHelper("objectDestructuringEmpty"), [objRef]))); - } - - if (pattern.properties.length > 1 && !this.scope.isStatic(objRef)) { - var temp = this.scope.generateUidIdentifierBasedOnNode(objRef); - this.nodes.push(this.buildVariableDeclaration(temp, objRef)); - objRef = temp; - } - - if (hasObjectRest(pattern)) { - var copiedPattern; - - for (var i = 0; i < pattern.properties.length; i++) { - var prop = pattern.properties[i]; - - if (_core().types.isRestElement(prop)) { - break; - } - - var key = prop.key; - - if (prop.computed && !this.scope.isPure(key)) { - var name = this.scope.generateUidIdentifierBasedOnNode(key); - this.nodes.push(this.buildVariableDeclaration(name, key)); - - if (!copiedPattern) { - copiedPattern = pattern = Object.assign({}, pattern, { - properties: pattern.properties.slice() - }); - } - - copiedPattern.properties[i] = Object.assign({}, copiedPattern.properties[i], { - key: name - }); - } - } - } - - for (var _i = 0; _i < pattern.properties.length; _i++) { - var _prop = pattern.properties[_i]; - - if (_core().types.isRestElement(_prop)) { - this.pushObjectRest(pattern, objRef, _prop, _i); - } else { - this.pushObjectProperty(_prop, objRef); - } - } - } - }, { - key: "canUnpackArrayPattern", - value: function canUnpackArrayPattern(pattern, arr) { - if (!_core().types.isArrayExpression(arr)) return false; - if (pattern.elements.length > arr.elements.length) return; - - if (pattern.elements.length < arr.elements.length && !hasRest(pattern)) { - return false; - } - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = pattern.elements[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var elem = _step4.value; - if (!elem) return false; - if (_core().types.isMemberExpression(elem)) return false; - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = arr.elements[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var _elem = _step5.value; - if (_core().types.isSpreadElement(_elem)) return false; - if (_core().types.isCallExpression(_elem)) return false; - if (_core().types.isMemberExpression(_elem)) return false; - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - - var bindings = _core().types.getBindingIdentifiers(pattern); - - var state = { - deopt: false, - bindings: bindings - }; - - try { - _core().types.traverse(arr, arrayUnpackVisitor, state); - } catch (e) { - if (e !== STOP_TRAVERSAL) throw e; - } - - return !state.deopt; - } - }, { - key: "pushUnpackedArrayPattern", - value: function pushUnpackedArrayPattern(pattern, arr) { - for (var i = 0; i < pattern.elements.length; i++) { - var elem = pattern.elements[i]; - - if (_core().types.isRestElement(elem)) { - this.push(elem.argument, _core().types.arrayExpression(arr.elements.slice(i))); - } else { - this.push(elem, arr.elements[i]); - } - } - } - }, { - key: "pushArrayPattern", - value: function pushArrayPattern(pattern, arrayRef) { - if (!pattern.elements) return; - - if (this.canUnpackArrayPattern(pattern, arrayRef)) { - return this.pushUnpackedArrayPattern(pattern, arrayRef); - } - - var count = !hasRest(pattern) && pattern.elements.length; - var toArray = this.toArray(arrayRef, count); - - if (_core().types.isIdentifier(toArray)) { - arrayRef = toArray; - } else { - arrayRef = this.scope.generateUidIdentifierBasedOnNode(arrayRef); - this.arrays[arrayRef.name] = true; - this.nodes.push(this.buildVariableDeclaration(arrayRef, toArray)); - } - - for (var i = 0; i < pattern.elements.length; i++) { - var elem = pattern.elements[i]; - if (!elem) continue; - var elemRef = void 0; - - if (_core().types.isRestElement(elem)) { - elemRef = this.toArray(arrayRef); - elemRef = _core().types.callExpression(_core().types.memberExpression(elemRef, _core().types.identifier("slice")), [_core().types.numericLiteral(i)]); - elem = elem.argument; - } else { - elemRef = _core().types.memberExpression(arrayRef, _core().types.numericLiteral(i), true); - } - - this.push(elem, elemRef); - } - } - }, { - key: "init", - value: function init(pattern, ref) { - if (!_core().types.isArrayExpression(ref) && !_core().types.isMemberExpression(ref)) { - var memo = this.scope.maybeGenerateMemoised(ref, true); - - if (memo) { - this.nodes.push(this.buildVariableDeclaration(memo, _core().types.cloneNode(ref))); - ref = memo; - } - } - - this.push(pattern, ref); - return this.nodes; - } - }]); - - return DestructuringTransformer; - }(); - - return { - name: "transform-destructuring", - visitor: { - ExportNamedDeclaration: function ExportNamedDeclaration(path) { - var declaration = path.get("declaration"); - if (!declaration.isVariableDeclaration()) return; - if (!variableDeclarationHasPattern(declaration.node)) return; - var specifiers = []; - - for (var _i2 = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers(path)); _i2 < _Object$keys.length; _i2++) { - var name = _Object$keys[_i2]; - specifiers.push(_core().types.exportSpecifier(_core().types.identifier(name), _core().types.identifier(name))); - } - - path.replaceWith(declaration.node); - path.insertAfter(_core().types.exportNamedDeclaration(null, specifiers)); - }, - ForXStatement: function ForXStatement(path) { - var _this = this; - - var node = path.node, - scope = path.scope; - var left = node.left; - - if (_core().types.isPattern(left)) { - var temp = scope.generateUidIdentifier("ref"); - node.left = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(temp)]); - path.ensureBlock(); - - if (node.body.body.length === 0 && path.isCompletionRecord()) { - node.body.body.unshift(_core().types.expressionStatement(scope.buildUndefinedNode())); - } - - node.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, temp))); - return; - } - - if (!_core().types.isVariableDeclaration(left)) return; - var pattern = left.declarations[0].id; - if (!_core().types.isPattern(pattern)) return; - var key = scope.generateUidIdentifier("ref"); - node.left = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(key, null)]); - var nodes = []; - var destructuring = new DestructuringTransformer({ - kind: left.kind, - scope: scope, - nodes: nodes, - arrayOnlySpread: arrayOnlySpread, - addHelper: function addHelper(name) { - return _this.addHelper(name); - } - }); - destructuring.init(pattern, key); - path.ensureBlock(); - var block = node.body; - block.body = nodes.concat(block.body); - }, - CatchClause: function CatchClause(_ref2) { - var _this2 = this; - - var node = _ref2.node, - scope = _ref2.scope; - var pattern = node.param; - if (!_core().types.isPattern(pattern)) return; - var ref = scope.generateUidIdentifier("ref"); - node.param = ref; - var nodes = []; - var destructuring = new DestructuringTransformer({ - kind: "let", - scope: scope, - nodes: nodes, - arrayOnlySpread: arrayOnlySpread, - addHelper: function addHelper(name) { - return _this2.addHelper(name); - } - }); - destructuring.init(pattern, ref); - node.body.body = nodes.concat(node.body.body); - }, - AssignmentExpression: function AssignmentExpression(path) { - var _this3 = this; - - var node = path.node, - scope = path.scope; - if (!_core().types.isPattern(node.left)) return; - var nodes = []; - var destructuring = new DestructuringTransformer({ - operator: node.operator, - scope: scope, - nodes: nodes, - arrayOnlySpread: arrayOnlySpread, - addHelper: function addHelper(name) { - return _this3.addHelper(name); - } - }); - var ref; - - if (path.isCompletionRecord() || !path.parentPath.isExpressionStatement()) { - ref = scope.generateUidIdentifierBasedOnNode(node.right, "ref"); - nodes.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(ref, node.right)])); - - if (_core().types.isArrayExpression(node.right)) { - destructuring.arrays[ref.name] = true; - } - } - - destructuring.init(node.left, ref || node.right); - - if (ref) { - if (path.parentPath.isArrowFunctionExpression()) { - path.replaceWith(_core().types.blockStatement([])); - nodes.push(_core().types.returnStatement(_core().types.cloneNode(ref))); - } else { - nodes.push(_core().types.expressionStatement(_core().types.cloneNode(ref))); - } - } - - path.replaceWithMultiple(nodes); - }, - VariableDeclaration: function VariableDeclaration(path) { - var _this4 = this; - - var node = path.node, - scope = path.scope, - parent = path.parent; - if (_core().types.isForXStatement(parent)) return; - if (!parent || !path.container) return; - if (!variableDeclarationHasPattern(node)) return; - var nodeKind = node.kind; - var nodes = []; - var declar; - - for (var i = 0; i < node.declarations.length; i++) { - declar = node.declarations[i]; - var patternId = declar.init; - var pattern = declar.id; - var destructuring = new DestructuringTransformer({ - blockHoist: node._blockHoist, - nodes: nodes, - scope: scope, - kind: node.kind, - arrayOnlySpread: arrayOnlySpread, - addHelper: function addHelper(name) { - return _this4.addHelper(name); - } - }); - - if (_core().types.isPattern(pattern)) { - destructuring.init(pattern, patternId); - - if (+i !== node.declarations.length - 1) { - _core().types.inherits(nodes[nodes.length - 1], declar); - } - } else { - nodes.push(_core().types.inherits(destructuring.buildVariableAssignment(declar.id, _core().types.cloneNode(declar.init)), declar)); - } - } - - var tail = null; - var nodesOut = []; - - for (var _i3 = 0, _nodes = nodes; _i3 < _nodes.length; _i3++) { - var _node = _nodes[_i3]; - - if (tail !== null && _core().types.isVariableDeclaration(_node)) { - var _tail$declarations; - - (_tail$declarations = tail.declarations).push.apply(_tail$declarations, _toConsumableArray(_node.declarations)); - } else { - _node.kind = nodeKind; - nodesOut.push(_node); - tail = _core().types.isVariableDeclaration(_node) ? _node : null; - } - } - - for (var _i4 = 0, _nodesOut = nodesOut; _i4 < _nodesOut.length; _i4++) { - var nodeOut = _nodesOut[_i4]; - if (!nodeOut.declarations) continue; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = nodeOut.declarations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var declaration = _step6.value; - var name = declaration.id.name; - - if (scope.bindings[name]) { - scope.bindings[name].kind = nodeOut.kind; - } - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - } - - if (nodesOut.length === 1) { - path.replaceWith(nodesOut[0]); - } else { - path.replaceWithMultiple(nodesOut); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],113:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ - name: "transform-dotall-regex", - feature: "dotAllFlag" - }); -}); - -exports.default = _default; - -},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],114:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function getName(key) { - if (_core().types.isIdentifier(key)) { - return key.name; - } - - return key.value.toString(); -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-duplicate-keys", - visitor: { - ObjectExpression: function ObjectExpression(path) { - var node = path.node; - var plainProps = node.properties.filter(function (prop) { - return !_core().types.isSpreadElement(prop) && !prop.computed; - }); - var alreadySeenData = Object.create(null); - var alreadySeenGetters = Object.create(null); - var alreadySeenSetters = Object.create(null); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = plainProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var prop = _step.value; - var name = getName(prop.key); - var isDuplicate = false; - - switch (prop.kind) { - case "get": - if (alreadySeenData[name] || alreadySeenGetters[name]) { - isDuplicate = true; - } - - alreadySeenGetters[name] = true; - break; - - case "set": - if (alreadySeenData[name] || alreadySeenSetters[name]) { - isDuplicate = true; - } - - alreadySeenSetters[name] = true; - break; - - default: - if (alreadySeenData[name] || alreadySeenGetters[name] || alreadySeenSetters[name]) { - isDuplicate = true; - } - - alreadySeenData[name] = true; - } - - if (isDuplicate) { - prop.computed = true; - prop.key = _core().types.stringLiteral(name); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],115:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _helperBuilderBinaryAssignmentOperatorVisitor() { - var data = _interopRequireDefault(require("@babel/helper-builder-binary-assignment-operator-visitor")); - - _helperBuilderBinaryAssignmentOperatorVisitor = function _helperBuilderBinaryAssignmentOperatorVisitor() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-exponentiation-operator", - visitor: (0, _helperBuilderBinaryAssignmentOperatorVisitor().default)({ - operator: "**", - build: function build(left, right) { - return _core().types.callExpression(_core().types.memberExpression(_core().types.identifier("Math"), _core().types.identifier("pow")), [left, right]); - } - }) - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-builder-binary-assignment-operator-visitor":58,"@babel/helper-plugin-utils":79}],116:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose, - assumeArray = options.assumeArray; - - if (loose === true && assumeArray === true) { - throw new Error("The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of"); - } - - if (assumeArray) { - return { - name: "transform-for-of", - visitor: { - ForOfStatement: function ForOfStatement(path) { - var scope = path.scope; - var _path$node = path.node, - left = _path$node.left, - right = _path$node.right, - body = _path$node.body; - var i = scope.generateUidIdentifier("i"); - var array = scope.maybeGenerateMemoised(right, true); - var inits = [_core().types.variableDeclarator(i, _core().types.numericLiteral(0))]; - - if (array) { - inits.push(_core().types.variableDeclarator(array, right)); - } else { - array = right; - } - - var item = _core().types.memberExpression(_core().types.cloneNode(array), _core().types.cloneNode(i), true); - - var assignment; - - if (_core().types.isVariableDeclaration(left)) { - assignment = left; - assignment.declarations[0].init = item; - } else { - assignment = _core().types.expressionStatement(_core().types.assignmentExpression("=", left, item)); - } - - var block = _core().types.toBlock(body); - - block.body.unshift(assignment); - path.replaceWith(_core().types.forStatement(_core().types.variableDeclaration("let", inits), _core().types.binaryExpression("<", _core().types.cloneNode(i), _core().types.memberExpression(_core().types.cloneNode(array), _core().types.identifier("length"))), _core().types.updateExpression("++", _core().types.cloneNode(i)), block)); - } - } - }; - } - - var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec; - var buildForOfArray = (0, _core().template)("\n for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n "); - var buildForOfLoose = (0, _core().template)("\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n INTERMEDIATE;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n "); - var buildForOf = (0, _core().template)("\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (\n var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n ITERATOR_COMPLETION = true\n ) {}\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n "); - - function _ForOfStatementArray(path) { - var node = path.node, - scope = path.scope; - var right = scope.generateUidIdentifierBasedOnNode(node.right, "arr"); - var iterationKey = scope.generateUidIdentifier("i"); - var loop = buildForOfArray({ - BODY: node.body, - KEY: iterationKey, - NAME: right, - ARR: node.right - }); - - _core().types.inherits(loop, node); - - _core().types.ensureBlock(loop); - - var iterationValue = _core().types.memberExpression(_core().types.cloneNode(right), _core().types.cloneNode(iterationKey), true); - - var left = node.left; - - if (_core().types.isVariableDeclaration(left)) { - left.declarations[0].init = iterationValue; - loop.body.body.unshift(left); - } else { - loop.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, iterationValue))); - } - - if (path.parentPath.isLabeledStatement()) { - loop = _core().types.labeledStatement(path.parentPath.node.label, loop); - } - - return [loop]; - } - - function replaceWithArray(path) { - if (path.parentPath.isLabeledStatement()) { - path.parentPath.replaceWithMultiple(_ForOfStatementArray(path)); - } else { - path.replaceWithMultiple(_ForOfStatementArray(path)); - } - } - - return { - name: "transform-for-of", - visitor: { - ForOfStatement: function ForOfStatement(path, state) { - var right = path.get("right"); - - if (right.isArrayExpression() || right.isGenericType("Array") || _core().types.isArrayTypeAnnotation(right.getTypeAnnotation())) { - replaceWithArray(path); - return; - } - - var node = path.node; - var build = pushComputedProps(path, state); - var declar = build.declar; - var loop = build.loop; - var block = loop.body; - path.ensureBlock(); - - if (declar) { - block.body.push(declar); - } - - block.body = block.body.concat(node.body.body); - - _core().types.inherits(loop, node); - - _core().types.inherits(loop.body, node.body); - - if (build.replaceParent) { - path.parentPath.replaceWithMultiple(build.node); - path.remove(); - } else { - path.replaceWithMultiple(build.node); - } - } - } - }; - - function pushComputedPropsLoose(path, file) { - var node = path.node, - scope = path.scope, - parent = path.parent; - var left = node.left; - var declar, id, intermediate; - - if (_core().types.isIdentifier(left) || _core().types.isPattern(left) || _core().types.isMemberExpression(left)) { - id = left; - intermediate = null; - } else if (_core().types.isVariableDeclaration(left)) { - id = scope.generateUidIdentifier("ref"); - declar = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(left.declarations[0].id, _core().types.identifier(id.name))]); - intermediate = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.identifier(id.name))]); - } else { - throw file.buildCodeFrameError(left, "Unknown node type ".concat(left.type, " in ForStatement")); - } - - var iteratorKey = scope.generateUidIdentifier("iterator"); - var isArrayKey = scope.generateUidIdentifier("isArray"); - var loop = buildForOfLoose({ - LOOP_OBJECT: iteratorKey, - IS_ARRAY: isArrayKey, - OBJECT: node.right, - INDEX: scope.generateUidIdentifier("i"), - ID: id, - INTERMEDIATE: intermediate - }); - - var isLabeledParent = _core().types.isLabeledStatement(parent); - - var labeled; - - if (isLabeledParent) { - labeled = _core().types.labeledStatement(parent.label, loop); - } - - return { - replaceParent: isLabeledParent, - declar: declar, - node: labeled || loop, - loop: loop - }; - } - - function pushComputedPropsSpec(path, file) { - var node = path.node, - scope = path.scope, - parent = path.parent; - var left = node.left; - var declar; - var stepKey = scope.generateUid("step"); - - var stepValue = _core().types.memberExpression(_core().types.identifier(stepKey), _core().types.identifier("value")); - - if (_core().types.isIdentifier(left) || _core().types.isPattern(left) || _core().types.isMemberExpression(left)) { - declar = _core().types.expressionStatement(_core().types.assignmentExpression("=", left, stepValue)); - } else if (_core().types.isVariableDeclaration(left)) { - declar = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(left.declarations[0].id, stepValue)]); - } else { - throw file.buildCodeFrameError(left, "Unknown node type ".concat(left.type, " in ForStatement")); - } - - var template = buildForOf({ - ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"), - ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"), - ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"), - ITERATOR_KEY: scope.generateUidIdentifier("iterator"), - STEP_KEY: _core().types.identifier(stepKey), - OBJECT: node.right - }); - - var isLabeledParent = _core().types.isLabeledStatement(parent); - - var tryBody = template[3].block.body; - var loop = tryBody[0]; - - if (isLabeledParent) { - tryBody[0] = _core().types.labeledStatement(parent.label, loop); - } - - return { - replaceParent: isLabeledParent, - declar: declar, - loop: loop, - node: template - }; - } -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],117:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-function-name", - visitor: { - FunctionExpression: { - exit: function exit(path) { - if (path.key !== "value" && !path.parentPath.isObjectProperty()) { - var replacement = (0, _helperFunctionName.default)(path); - if (replacement) path.replaceWith(replacement); - } - } - }, - ObjectProperty: function ObjectProperty(path) { - var value = path.get("value"); - - if (value.isFunction()) { - var newNode = (0, _helperFunctionName.default)(value); - if (newNode) value.replaceWith(newNode); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-function-name":66,"@babel/helper-plugin-utils":79}],118:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-literals", - visitor: { - NumericLiteral: function NumericLiteral(_ref) { - var node = _ref.node; - - if (node.extra && /^0[ob]/i.test(node.extra.raw)) { - node.extra = undefined; - } - }, - StringLiteral: function StringLiteral(_ref2) { - var node = _ref2.node; - - if (node.extra && /\\[u]/gi.test(node.extra.raw)) { - node.extra = undefined; - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/helper-plugin-utils":79}],119:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-member-expression-literals", - visitor: { - MemberExpression: { - exit: function exit(_ref) { - var node = _ref.node; - var prop = node.property; - - if (!node.computed && _core().types.isIdentifier(prop) && !_core().types.isValidES3Identifier(prop.name)) { - node.property = _core().types.stringLiteral(prop.name); - node.computed = true; - } - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],120:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n new Promise((", ", ", ") =>\n ", "(\n [", "],\n imported => ", "(", "),\n ", "\n )\n )"]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _helperModuleTransforms() { - var data = require("@babel/helper-module-transforms"); - - _helperModuleTransforms = function _helperModuleTransforms() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _utils() { - var data = require("babel-plugin-dynamic-import-node/utils"); - - _utils = function _utils() { - return data; - }; - - return data; -} - -var buildWrapper = (0, _core().template)("\n define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n })\n"); -var buildAnonymousWrapper = (0, _core().template)("\n define([\"require\"], function(REQUIRE) {\n })\n"); - -function injectWrapper(path, wrapper) { - var _path$node = path.node, - body = _path$node.body, - directives = _path$node.directives; - path.node.directives = []; - path.node.body = []; - var amdWrapper = path.pushContainer("body", wrapper)[0]; - var amdFactory = amdWrapper.get("expression.arguments").filter(function (arg) { - return arg.isFunctionExpression(); - })[0].get("body"); - amdFactory.pushContainer("directives", directives); - amdFactory.pushContainer("body", body); -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose, - allowTopLevelThis = options.allowTopLevelThis, - strict = options.strict, - strictMode = options.strictMode, - noInterop = options.noInterop; - return { - name: "transform-modules-amd", - pre: function pre() { - this.file.set("@babel/plugin-transform-modules-*", "amd"); - }, - visitor: { - CallExpression: function CallExpression(path, state) { - if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return; - if (!path.get("callee").isImport()) return; - var requireId = state.requireId, - resolveId = state.resolveId, - rejectId = state.rejectId; - - if (!requireId) { - requireId = path.scope.generateUidIdentifier("require"); - state.requireId = requireId; - } - - if (!resolveId || !rejectId) { - resolveId = path.scope.generateUidIdentifier("resolve"); - rejectId = path.scope.generateUidIdentifier("reject"); - state.resolveId = resolveId; - state.rejectId = rejectId; - } - - var result = _core().types.identifier("imported"); - - if (!noInterop) result = (0, _helperModuleTransforms().wrapInterop)(path, result, "namespace"); - path.replaceWith(_core().template.expression.ast(_templateObject(), resolveId, rejectId, requireId, (0, _utils().getImportSource)(_core().types, path.node), resolveId, result, rejectId)); - }, - Program: { - exit: function exit(path, _ref) { - var requireId = _ref.requireId; - - if (!(0, _helperModuleTransforms().isModule)(path)) { - if (requireId) { - injectWrapper(path, buildAnonymousWrapper({ - REQUIRE: requireId - })); - } - - return; - } - - var amdArgs = []; - var importNames = []; - - if (requireId) { - amdArgs.push(_core().types.stringLiteral("require")); - importNames.push(requireId); - } - - var moduleName = this.getModuleName(); - if (moduleName) moduleName = _core().types.stringLiteral(moduleName); - - var _ref2 = (0, _helperModuleTransforms().rewriteModuleStatementsAndPrepareHeader)(path, { - loose: loose, - strict: strict, - strictMode: strictMode, - allowTopLevelThis: allowTopLevelThis, - noInterop: noInterop - }), - meta = _ref2.meta, - headers = _ref2.headers; - - if ((0, _helperModuleTransforms().hasExports)(meta)) { - amdArgs.push(_core().types.stringLiteral("exports")); - importNames.push(_core().types.identifier(meta.exportName)); - } - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - source = _step$value[0], - metadata = _step$value[1]; - - amdArgs.push(_core().types.stringLiteral(source)); - importNames.push(_core().types.identifier(metadata.name)); - - if (!(0, _helperModuleTransforms().isSideEffectImport)(metadata)) { - var interop = (0, _helperModuleTransforms().wrapInterop)(path, _core().types.identifier(metadata.name), metadata.interop); - - if (interop) { - var header = _core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.identifier(metadata.name), interop)); - - header.loc = metadata.loc; - headers.push(header); - } - } - - headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms().buildNamespaceInitStatements)(meta, metadata, loose))); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - (0, _helperModuleTransforms().ensureStatementsHoisted)(headers); - path.unshiftContainer("body", headers); - injectWrapper(path, buildWrapper({ - MODULE_NAME: moduleName, - AMD_ARGUMENTS: _core().types.arrayExpression(amdArgs), - IMPORT_NAMES: importNames - })); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"babel-plugin-dynamic-import-node/utils":283}],121:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _templateObject3() { - var data = _taggedTemplateLiteral(["\n var ", " = ", ";\n "]); - - _templateObject3 = function _templateObject3() { - return data; - }; - - return data; -} - -function _templateObject2() { - var data = _taggedTemplateLiteral(["\n function ", "() {\n const data = ", ";\n ", " = function(){ return data; };\n return data;\n }\n "]); - - _templateObject2 = function _templateObject2() { - return data; - }; - - return data; -} - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"", "\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperModuleTransforms = require("@babel/helper-module-transforms"); - -var _helperSimpleAccess = _interopRequireDefault(require("@babel/helper-simple-access")); - -var _core = require("@babel/core"); - -var _utils = require("babel-plugin-dynamic-import-node/utils"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var transformImportCall = (0, _utils.createDynamicImportTransform)(api); - var loose = options.loose, - _options$strictNamesp = options.strictNamespace, - strictNamespace = _options$strictNamesp === void 0 ? false : _options$strictNamesp, - _options$mjsStrictNam = options.mjsStrictNamespace, - mjsStrictNamespace = _options$mjsStrictNam === void 0 ? true : _options$mjsStrictNam, - allowTopLevelThis = options.allowTopLevelThis, - strict = options.strict, - strictMode = options.strictMode, - noInterop = options.noInterop, - _options$lazy = options.lazy, - lazy = _options$lazy === void 0 ? false : _options$lazy, - _options$allowCommonJ = options.allowCommonJSExports, - allowCommonJSExports = _options$allowCommonJ === void 0 ? true : _options$allowCommonJ; - - if (typeof lazy !== "boolean" && typeof lazy !== "function" && (!Array.isArray(lazy) || !lazy.every(function (item) { - return typeof item === "string"; - }))) { - throw new Error(".lazy must be a boolean, array of strings, or a function"); - } - - if (typeof strictNamespace !== "boolean") { - throw new Error(".strictNamespace must be a boolean, or undefined"); - } - - if (typeof mjsStrictNamespace !== "boolean") { - throw new Error(".mjsStrictNamespace must be a boolean, or undefined"); - } - - var getAssertion = function getAssertion(localName) { - return _core.template.expression.ast(_templateObject(), localName); - }; - - var moduleExportsVisitor = { - ReferencedIdentifier: function ReferencedIdentifier(path) { - var localName = path.node.name; - if (localName !== "module" && localName !== "exports") return; - var localBinding = path.scope.getBinding(localName); - var rootBinding = this.scope.getBinding(localName); - - if (rootBinding !== localBinding || path.parentPath.isObjectProperty({ - value: path.node - }) && path.parentPath.parentPath.isObjectPattern() || path.parentPath.isAssignmentExpression({ - left: path.node - }) || path.isAssignmentExpression({ - left: path.node - })) { - return; - } - - path.replaceWith(getAssertion(localName)); - }, - AssignmentExpression: function AssignmentExpression(path) { - var _this = this; - - var left = path.get("left"); - - if (left.isIdentifier()) { - var localName = path.node.name; - if (localName !== "module" && localName !== "exports") return; - var localBinding = path.scope.getBinding(localName); - var rootBinding = this.scope.getBinding(localName); - if (rootBinding !== localBinding) return; - var right = path.get("right"); - right.replaceWith(_core.types.sequenceExpression([right.node, getAssertion(localName)])); - } else if (left.isPattern()) { - var ids = left.getOuterBindingIdentifiers(); - var _localName = Object.keys(ids).filter(function (localName) { - if (localName !== "module" && localName !== "exports") return false; - return _this.scope.getBinding(localName) === path.scope.getBinding(localName); - })[0]; - - if (_localName) { - var _right = path.get("right"); - - _right.replaceWith(_core.types.sequenceExpression([_right.node, getAssertion(_localName)])); - } - } - } - }; - return { - name: "transform-modules-commonjs", - pre: function pre() { - this.file.set("@babel/plugin-transform-modules-*", "commonjs"); - }, - visitor: { - CallExpression: function CallExpression(path) { - if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return; - if (!path.get("callee").isImport()) return; - var scope = path.scope; - - do { - scope.rename("require"); - } while (scope = scope.parent); - - transformImportCall(this, path.get("callee")); - }, - Program: { - exit: function exit(path, state) { - if (!(0, _helperModuleTransforms.isModule)(path)) return; - path.scope.rename("exports"); - path.scope.rename("module"); - path.scope.rename("require"); - path.scope.rename("__filename"); - path.scope.rename("__dirname"); - - if (!allowCommonJSExports) { - (0, _helperSimpleAccess.default)(path, new Set(["module", "exports"])); - path.traverse(moduleExportsVisitor, { - scope: path.scope - }); - } - - var moduleName = this.getModuleName(); - if (moduleName) moduleName = _core.types.stringLiteral(moduleName); - - var _ref = (0, _helperModuleTransforms.rewriteModuleStatementsAndPrepareHeader)(path, { - exportName: "exports", - loose: loose, - strict: strict, - strictMode: strictMode, - allowTopLevelThis: allowTopLevelThis, - noInterop: noInterop, - lazy: lazy, - esNamespaceOnly: typeof state.filename === "string" && /\.mjs$/.test(state.filename) ? mjsStrictNamespace : strictNamespace - }), - meta = _ref.meta, - headers = _ref.headers; - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - source = _step$value[0], - metadata = _step$value[1]; - - var loadExpr = _core.types.callExpression(_core.types.identifier("require"), [_core.types.stringLiteral(source)]); - - var header = void 0; - - if ((0, _helperModuleTransforms.isSideEffectImport)(metadata)) { - if (metadata.lazy) throw new Error("Assertion failure"); - header = _core.types.expressionStatement(loadExpr); - } else { - var init = (0, _helperModuleTransforms.wrapInterop)(path, loadExpr, metadata.interop) || loadExpr; - - if (metadata.lazy) { - header = _core.template.ast(_templateObject2(), metadata.name, init, metadata.name); - } else { - header = _core.template.ast(_templateObject3(), metadata.name, init); - } - } - - header.loc = metadata.loc; - headers.push(header); - headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms.buildNamespaceInitStatements)(meta, metadata, loose))); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - (0, _helperModuleTransforms.ensureStatementsHoisted)(headers); - path.unshiftContainer("body", headers); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"@babel/helper-simple-access":83,"babel-plugin-dynamic-import-node/utils":283}],122:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _helperHoistVariables = _interopRequireDefault(require("@babel/helper-hoist-variables")); - -var _core = require("@babel/core"); - -var _utils = require("babel-plugin-dynamic-import-node/utils"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var buildTemplate = (0, _core.template)("\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: function () {\n BODY;\n }\n };\n });\n"); -var buildExportAll = (0, _core.template)("\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n"); -var MISSING_PLUGIN_WARNING = "WARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-proposal-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n"; - -function constructExportCall(path, exportIdent, exportNames, exportValues, exportStarTarget) { - var statements = []; - - if (exportNames.length === 1) { - statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.stringLiteral(exportNames[0]), exportValues[0]]))); - } else if (!exportStarTarget) { - var objectProperties = []; - - for (var i = 0; i < exportNames.length; i++) { - var exportName = exportNames[i]; - var exportValue = exportValues[i]; - objectProperties.push(_core.types.objectProperty(_core.types.identifier(exportName), exportValue)); - } - - statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.objectExpression(objectProperties)]))); - } else { - var exportObj = path.scope.generateUid("exportObj"); - statements.push(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(exportObj), _core.types.objectExpression([]))])); - statements.push(buildExportAll({ - KEY: path.scope.generateUidIdentifier("key"), - EXPORT_OBJ: _core.types.identifier(exportObj), - TARGET: exportStarTarget - })); - - for (var _i = 0; _i < exportNames.length; _i++) { - var _exportName = exportNames[_i]; - var _exportValue = exportValues[_i]; - statements.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.memberExpression(_core.types.identifier(exportObj), _core.types.identifier(_exportName)), _exportValue))); - } - - statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.identifier(exportObj)]))); - } - - return statements; -} - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var _options$systemGlobal = options.systemGlobal, - systemGlobal = _options$systemGlobal === void 0 ? "System" : _options$systemGlobal; - var IGNORE_REASSIGNMENT_SYMBOL = Symbol(); - var reassignmentVisitor = { - "AssignmentExpression|UpdateExpression": function AssignmentExpressionUpdateExpression(path) { - if (path.node[IGNORE_REASSIGNMENT_SYMBOL]) return; - path.node[IGNORE_REASSIGNMENT_SYMBOL] = true; - var arg = path.get(path.isAssignmentExpression() ? "left" : "argument"); - - if (arg.isObjectPattern() || arg.isArrayPattern()) { - var exprs = [path.node]; - - for (var _i2 = 0, _Object$keys = Object.keys(arg.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) { - var _name = _Object$keys[_i2]; - - if (this.scope.getBinding(_name) !== path.scope.getBinding(_name)) { - return; - } - - var _exportedNames = this.exports[_name]; - if (!_exportedNames) return; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = _exportedNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var exportedName = _step.value; - exprs.push(this.buildCall(exportedName, _core.types.identifier(_name)).expression); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - path.replaceWith(_core.types.sequenceExpression(exprs)); - return; - } - - if (!arg.isIdentifier()) return; - var name = arg.node.name; - if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return; - var exportedNames = this.exports[name]; - if (!exportedNames) return; - var node = path.node; - var isPostUpdateExpression = path.isUpdateExpression({ - prefix: false - }); - - if (isPostUpdateExpression) { - node = _core.types.binaryExpression(node.operator[0], _core.types.unaryExpression("+", _core.types.cloneNode(node.argument)), _core.types.numericLiteral(1)); - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = exportedNames[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _exportedName = _step2.value; - node = this.buildCall(_exportedName, node).expression; - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - if (isPostUpdateExpression) { - node = _core.types.sequenceExpression([node, path.node]); - } - - path.replaceWith(node); - } - }; - return { - name: "transform-modules-systemjs", - pre: function pre() { - this.file.set("@babel/plugin-transform-modules-*", "systemjs"); - }, - visitor: { - CallExpression: function CallExpression(path, state) { - if (_core.types.isImport(path.node.callee)) { - if (!this.file.has("@babel/plugin-proposal-dynamic-import")) { - console.warn(MISSING_PLUGIN_WARNING); - } - - path.replaceWith(_core.types.callExpression(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("import")), [(0, _utils.getImportSource)(_core.types, path.node)])); - } - }, - MetaProperty: function MetaProperty(path, state) { - if (path.node.meta.name === "import" && path.node.property.name === "meta") { - path.replaceWith(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("meta"))); - } - }, - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - if (path.node.name === "__moduleName" && !path.scope.hasBinding("__moduleName")) { - path.replaceWith(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("id"))); - } - }, - Program: { - enter: function enter(path, state) { - state.contextIdent = path.scope.generateUid("context"); - }, - exit: function exit(path, state) { - var undefinedIdent = path.scope.buildUndefinedNode(); - var exportIdent = path.scope.generateUid("export"); - var contextIdent = state.contextIdent; - var exportMap = Object.create(null); - var modules = []; - var beforeBody = []; - var setters = []; - var sources = []; - var variableIds = []; - var removedPaths = []; - - function addExportName(key, val) { - exportMap[key] = exportMap[key] || []; - exportMap[key].push(val); - } - - function pushModule(source, key, specifiers) { - var module; - modules.forEach(function (m) { - if (m.key === source) { - module = m; - } - }); - - if (!module) { - modules.push(module = { - key: source, - imports: [], - exports: [] - }); - } - - module[key] = module[key].concat(specifiers); - } - - function buildExportCall(name, val) { - return _core.types.expressionStatement(_core.types.callExpression(_core.types.identifier(exportIdent), [_core.types.stringLiteral(name), val])); - } - - var exportNames = []; - var exportValues = []; - var body = path.get("body"); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = body[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _path = _step3.value; - - if (_path.isFunctionDeclaration()) { - beforeBody.push(_path.node); - removedPaths.push(_path); - } else if (_path.isClassDeclaration()) { - variableIds.push(_path.node.id); - - _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(_path.node.id), _core.types.toExpression(_path.node)))); - } else if (_path.isImportDeclaration()) { - var source = _path.node.source.value; - pushModule(source, "imports", _path.node.specifiers); - - for (var _i4 = 0, _Object$keys2 = Object.keys(_path.getBindingIdentifiers()); _i4 < _Object$keys2.length; _i4++) { - var name = _Object$keys2[_i4]; - - _path.scope.removeBinding(name); - - variableIds.push(_core.types.identifier(name)); - } - - _path.remove(); - } else if (_path.isExportAllDeclaration()) { - pushModule(_path.node.source.value, "exports", _path.node); - - _path.remove(); - } else if (_path.isExportDefaultDeclaration()) { - var declar = _path.get("declaration"); - - var id = declar.node.id; - - if (declar.isClassDeclaration()) { - if (id) { - exportNames.push("default"); - exportValues.push(undefinedIdent); - variableIds.push(id); - addExportName(id.name, "default"); - - _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(id), _core.types.toExpression(declar.node)))); - } else { - exportNames.push("default"); - exportValues.push(_core.types.toExpression(declar.node)); - removedPaths.push(_path); - } - } else if (declar.isFunctionDeclaration()) { - if (id) { - beforeBody.push(declar.node); - exportNames.push("default"); - exportValues.push(_core.types.cloneNode(id)); - addExportName(id.name, "default"); - } else { - exportNames.push("default"); - exportValues.push(_core.types.toExpression(declar.node)); - } - - removedPaths.push(_path); - } else { - _path.replaceWith(buildExportCall("default", declar.node)); - } - } else if (_path.isExportNamedDeclaration()) { - var _declar = _path.get("declaration"); - - if (_declar.node) { - _path.replaceWith(_declar); - - if (_path.isFunction()) { - var node = _declar.node; - var _name2 = node.id.name; - addExportName(_name2, _name2); - beforeBody.push(node); - exportNames.push(_name2); - exportValues.push(_core.types.cloneNode(node.id)); - removedPaths.push(_path); - } else if (_path.isClass()) { - var _name3 = _declar.node.id.name; - exportNames.push(_name3); - exportValues.push(undefinedIdent); - variableIds.push(_declar.node.id); - - _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(_declar.node.id), _core.types.toExpression(_declar.node)))); - - addExportName(_name3, _name3); - } else { - for (var _i5 = 0, _Object$keys3 = Object.keys(_declar.getBindingIdentifiers()); _i5 < _Object$keys3.length; _i5++) { - var _name4 = _Object$keys3[_i5]; - addExportName(_name4, _name4); - } - } - } else { - var specifiers = _path.node.specifiers; - - if (specifiers && specifiers.length) { - if (_path.node.source) { - pushModule(_path.node.source.value, "exports", specifiers); - - _path.remove(); - } else { - var nodes = []; - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = specifiers[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var specifier = _step6.value; - - var binding = _path.scope.getBinding(specifier.local.name); - - if (binding && _core.types.isFunctionDeclaration(binding.path.node)) { - exportNames.push(specifier.exported.name); - exportValues.push(_core.types.cloneNode(specifier.local)); - } else if (!binding) { - nodes.push(buildExportCall(specifier.exported.name, specifier.local)); - } - - addExportName(specifier.local.name, specifier.exported.name); - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - - _path.replaceWithMultiple(nodes); - } - } else { - _path.remove(); - } - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - modules.forEach(function (specifiers) { - var setterBody = []; - var target = path.scope.generateUid(specifiers.key); - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = specifiers.imports[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var specifier = _step4.value; - - if (_core.types.isImportNamespaceSpecifier(specifier)) { - setterBody.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", specifier.local, _core.types.identifier(target)))); - } else if (_core.types.isImportDefaultSpecifier(specifier)) { - specifier = _core.types.importSpecifier(specifier.local, _core.types.identifier("default")); - } - - if (_core.types.isImportSpecifier(specifier)) { - setterBody.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", specifier.local, _core.types.memberExpression(_core.types.identifier(target), specifier.imported)))); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - if (specifiers.exports.length) { - var _exportNames = []; - var _exportValues = []; - var hasExportStar = false; - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = specifiers.exports[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var node = _step5.value; - - if (_core.types.isExportAllDeclaration(node)) { - hasExportStar = true; - } else if (_core.types.isExportSpecifier(node)) { - _exportNames.push(node.exported.name); - - _exportValues.push(_core.types.memberExpression(_core.types.identifier(target), node.local)); - } else {} - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - - setterBody = setterBody.concat(constructExportCall(path, _core.types.identifier(exportIdent), _exportNames, _exportValues, hasExportStar ? _core.types.identifier(target) : null)); - } - - sources.push(_core.types.stringLiteral(specifiers.key)); - setters.push(_core.types.functionExpression(null, [_core.types.identifier(target)], _core.types.blockStatement(setterBody))); - }); - var moduleName = this.getModuleName(); - if (moduleName) moduleName = _core.types.stringLiteral(moduleName); - (0, _helperHoistVariables.default)(path, function (id, name, hasInit) { - variableIds.push(id); - - if (!hasInit) { - exportNames.push(name); - exportValues.push(undefinedIdent); - } - }, null); - - if (variableIds.length) { - beforeBody.unshift(_core.types.variableDeclaration("var", variableIds.map(function (id) { - return _core.types.variableDeclarator(id); - }))); - } - - if (exportNames.length) { - beforeBody = beforeBody.concat(constructExportCall(path, _core.types.identifier(exportIdent), exportNames, exportValues, null)); - } - - path.traverse(reassignmentVisitor, { - exports: exportMap, - buildCall: buildExportCall, - scope: path.scope - }); - - for (var _i3 = 0, _removedPaths = removedPaths; _i3 < _removedPaths.length; _i3++) { - var _path2 = _removedPaths[_i3]; - - _path2.remove(); - } - - path.node.body = [buildTemplate({ - SYSTEM_REGISTER: _core.types.memberExpression(_core.types.identifier(systemGlobal), _core.types.identifier("register")), - BEFORE_BODY: beforeBody, - MODULE_NAME: moduleName, - SETTERS: _core.types.arrayExpression(setters), - SOURCES: _core.types.arrayExpression(sources), - BODY: path.node.body, - EXPORT_IDENTIFIER: _core.types.identifier(exportIdent), - CONTEXT_IDENTIFIER: _core.types.identifier(contextIdent) - })]; - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-hoist-variables":68,"@babel/helper-plugin-utils":79,"babel-plugin-dynamic-import-node/utils":283}],123:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _path = require("path"); - -var _helperModuleTransforms = require("@babel/helper-module-transforms"); - -var _core = require("@babel/core"); - -var buildPrerequisiteAssignment = (0, _core.template)("\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n"); -var buildWrapper = (0, _core.template)("\n (function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== \"undefined\") {\n factory(COMMONJS_ARGUMENTS);\n } else {\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n\n GLOBAL_TO_ASSIGN;\n }\n })(\n typeof globalThis === \"object\" ? globalThis\n : typeof self === \"object\" ? self\n : this,\n function(IMPORT_NAMES) {\n })\n"); - -var _default = (0, _helperPluginUtils.declare)(function (api, options) { - api.assertVersion(7); - var globals = options.globals, - exactGlobals = options.exactGlobals, - loose = options.loose, - allowTopLevelThis = options.allowTopLevelThis, - strict = options.strict, - strictMode = options.strictMode, - noInterop = options.noInterop; - - function buildBrowserInit(browserGlobals, exactGlobals, filename, moduleName) { - var moduleNameOrBasename = moduleName ? moduleName.value : (0, _path.basename)(filename, (0, _path.extname)(filename)); - - var globalToAssign = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(moduleNameOrBasename))); - - var initAssignments = []; - - if (exactGlobals) { - var globalName = browserGlobals[moduleNameOrBasename]; - - if (globalName) { - initAssignments = []; - var members = globalName.split("."); - globalToAssign = members.slice(1).reduce(function (accum, curr) { - initAssignments.push(buildPrerequisiteAssignment({ - GLOBAL_REFERENCE: _core.types.cloneNode(accum) - })); - return _core.types.memberExpression(accum, _core.types.identifier(curr)); - }, _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(members[0]))); - } - } - - initAssignments.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", globalToAssign, _core.types.memberExpression(_core.types.identifier("mod"), _core.types.identifier("exports"))))); - return initAssignments; - } - - function buildBrowserArg(browserGlobals, exactGlobals, source) { - var memberExpression; - - if (exactGlobals) { - var globalRef = browserGlobals[source]; - - if (globalRef) { - memberExpression = globalRef.split(".").reduce(function (accum, curr) { - return _core.types.memberExpression(accum, _core.types.identifier(curr)); - }, _core.types.identifier("global")); - } else { - memberExpression = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(source))); - } - } else { - var requireName = (0, _path.basename)(source, (0, _path.extname)(source)); - var globalName = browserGlobals[requireName] || requireName; - memberExpression = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(globalName))); - } - - return memberExpression; - } - - return { - name: "transform-modules-umd", - visitor: { - Program: { - exit: function exit(path) { - if (!(0, _helperModuleTransforms.isModule)(path)) return; - var browserGlobals = globals || {}; - var moduleName = this.getModuleName(); - if (moduleName) moduleName = _core.types.stringLiteral(moduleName); - - var _ref = (0, _helperModuleTransforms.rewriteModuleStatementsAndPrepareHeader)(path, { - loose: loose, - strict: strict, - strictMode: strictMode, - allowTopLevelThis: allowTopLevelThis, - noInterop: noInterop - }), - meta = _ref.meta, - headers = _ref.headers; - - var amdArgs = []; - var commonjsArgs = []; - var browserArgs = []; - var importNames = []; - - if ((0, _helperModuleTransforms.hasExports)(meta)) { - amdArgs.push(_core.types.stringLiteral("exports")); - commonjsArgs.push(_core.types.identifier("exports")); - browserArgs.push(_core.types.memberExpression(_core.types.identifier("mod"), _core.types.identifier("exports"))); - importNames.push(_core.types.identifier(meta.exportName)); - } - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _step$value = _slicedToArray(_step.value, 2), - source = _step$value[0], - metadata = _step$value[1]; - - amdArgs.push(_core.types.stringLiteral(source)); - commonjsArgs.push(_core.types.callExpression(_core.types.identifier("require"), [_core.types.stringLiteral(source)])); - browserArgs.push(buildBrowserArg(browserGlobals, exactGlobals, source)); - importNames.push(_core.types.identifier(metadata.name)); - - if (!(0, _helperModuleTransforms.isSideEffectImport)(metadata)) { - var interop = (0, _helperModuleTransforms.wrapInterop)(path, _core.types.identifier(metadata.name), metadata.interop); - - if (interop) { - var header = _core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(metadata.name), interop)); - - header.loc = meta.loc; - headers.push(header); - } - } - - headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms.buildNamespaceInitStatements)(meta, metadata, loose))); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - (0, _helperModuleTransforms.ensureStatementsHoisted)(headers); - path.unshiftContainer("body", headers); - var _path$node = path.node, - body = _path$node.body, - directives = _path$node.directives; - path.node.directives = []; - path.node.body = []; - var umdWrapper = path.pushContainer("body", [buildWrapper({ - MODULE_NAME: moduleName, - AMD_ARGUMENTS: _core.types.arrayExpression(amdArgs), - COMMONJS_ARGUMENTS: commonjsArgs, - BROWSER_ARGUMENTS: browserArgs, - IMPORT_NAMES: importNames, - GLOBAL_TO_ASSIGN: buildBrowserInit(browserGlobals, exactGlobals, this.filename || "unknown", moduleName) - })])[0]; - var umdFactory = umdWrapper.get("expression.arguments")[1].get("body"); - umdFactory.pushContainer("directives", directives); - umdFactory.pushContainer("body", body); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"path":1052}],124:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); - -function _default(core, options) { - var _options$runtime = options.runtime, - runtime = _options$runtime === void 0 ? true : _options$runtime; - - if (typeof runtime !== "boolean") { - throw new Error("The 'runtime' option must be boolean"); - } - - return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ - name: "transform-named-capturing-groups-regex", - feature: "namedCaptureGroups", - options: { - runtime: runtime - } - }); -} - -},{"@babel/helper-create-regexp-features-plugin":61}],125:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-new-target", - visitor: { - MetaProperty: function MetaProperty(path) { - var meta = path.get("meta"); - var property = path.get("property"); - var scope = path.scope; - - if (meta.isIdentifier({ - name: "new" - }) && property.isIdentifier({ - name: "target" - })) { - var func = path.findParent(function (path) { - if (path.isClass()) return true; - - if (path.isFunction() && !path.isArrowFunctionExpression()) { - if (path.isClassMethod({ - kind: "constructor" - })) { - return false; - } - - return true; - } - - return false; - }); - - if (!func) { - throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class."); - } - - var node = func.node; - - if (!node.id) { - if (func.isMethod()) { - path.replaceWith(scope.buildUndefinedNode()); - return; - } - - node.id = scope.generateUidIdentifier("target"); - } - - var _constructor = _core().types.memberExpression(_core().types.thisExpression(), _core().types.identifier("constructor")); - - if (func.isClass()) { - path.replaceWith(_constructor); - return; - } - - path.replaceWith(_core().types.conditionalExpression(_core().types.binaryExpression("instanceof", _core().types.thisExpression(), _core().types.cloneNode(node.id)), _constructor, scope.buildUndefinedNode())); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],126:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _helperReplaceSupers() { - var data = _interopRequireDefault(require("@babel/helper-replace-supers")); - - _helperReplaceSupers = function _helperReplaceSupers() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function replacePropertySuper(path, getObjectRef, file) { - var replaceSupers = new (_helperReplaceSupers().default)({ - getObjectRef: getObjectRef, - methodPath: path, - file: file - }); - replaceSupers.replace(); -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-object-super", - visitor: { - ObjectExpression: function ObjectExpression(path, state) { - var objectRef; - - var getObjectRef = function getObjectRef() { - return objectRef = objectRef || path.scope.generateUidIdentifier("obj"); - }; - - path.get("properties").forEach(function (propPath) { - if (!propPath.isMethod()) return; - replacePropertySuper(propPath, getObjectRef, state); - }); - - if (objectRef) { - path.scope.push({ - id: _core().types.cloneNode(objectRef) - }); - path.replaceWith(_core().types.assignmentExpression("=", _core().types.cloneNode(objectRef), path.node)); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-replace-supers":82}],127:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -var _params = _interopRequireDefault(require("./params")); - -var _rest = _interopRequireDefault(require("./rest")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose; - return { - name: "transform-parameters", - visitor: { - Function: function Function(path) { - if (path.isArrowFunctionExpression() && path.get("params").some(function (param) { - return param.isRestElement() || param.isAssignmentPattern(); - })) { - path.arrowFunctionToExpression(); - } - - var convertedRest = (0, _rest.default)(path); - var convertedParams = (0, _params.default)(path, loose); - - if (convertedRest || convertedParams) { - path.scope.crawl(); - } - } - } - }; -}); - -exports.default = _default; - -},{"./params":128,"./rest":129,"@babel/helper-plugin-utils":79}],128:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = convertFunctionParams; - -function _helperCallDelegate() { - var data = _interopRequireDefault(require("@babel/helper-call-delegate")); - - _helperCallDelegate = function _helperCallDelegate() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var buildDefaultParam = (0, _core().template)("\n let VARIABLE_NAME =\n arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n arguments[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n"); -var buildLooseDefaultParam = (0, _core().template)("\n if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n }\n"); -var buildLooseDestructuredDefaultParam = (0, _core().template)("\n let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n"); -var buildSafeArgumentsAccess = (0, _core().template)("\n let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n"); - -function isSafeBinding(scope, node) { - if (!scope.hasOwnBinding(node.name)) return true; - - var _scope$getOwnBinding = scope.getOwnBinding(node.name), - kind = _scope$getOwnBinding.kind; - - return kind === "param" || kind === "local"; -} - -var iifeVisitor = { - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - var scope = path.scope, - node = path.node; - - if (node.name === "eval" || !isSafeBinding(scope, node)) { - state.iife = true; - path.stop(); - } - }, - Scope: function Scope(path) { - path.skip(); - } -}; - -function convertFunctionParams(path, loose) { - var node = path.node, - scope = path.scope; - var state = { - iife: false, - scope: scope - }; - var body = []; - var params = path.get("params"); - var firstOptionalIndex = null; - - for (var i = 0; i < params.length; i++) { - var param = params[i]; - var paramIsAssignmentPattern = param.isAssignmentPattern(); - - if (paramIsAssignmentPattern && (loose || node.kind === "set")) { - var left = param.get("left"); - var right = param.get("right"); - var undefinedNode = scope.buildUndefinedNode(); - - if (left.isIdentifier()) { - body.push(buildLooseDefaultParam({ - ASSIGNMENT_IDENTIFIER: _core().types.cloneNode(left.node), - DEFAULT_VALUE: right.node, - UNDEFINED: undefinedNode - })); - param.replaceWith(left.node); - } else if (left.isObjectPattern() || left.isArrayPattern()) { - var paramName = scope.generateUidIdentifier(); - body.push(buildLooseDestructuredDefaultParam({ - ASSIGNMENT_IDENTIFIER: left.node, - DEFAULT_VALUE: right.node, - PARAMETER_NAME: _core().types.cloneNode(paramName), - UNDEFINED: undefinedNode - })); - param.replaceWith(paramName); - } - } else if (paramIsAssignmentPattern) { - if (firstOptionalIndex === null) firstOptionalIndex = i; - - var _left = param.get("left"); - - var _right = param.get("right"); - - if (!state.iife) { - if (_right.isIdentifier() && !isSafeBinding(scope, _right.node)) { - state.iife = true; - } else { - _right.traverse(iifeVisitor, state); - } - } - - var defNode = buildDefaultParam({ - VARIABLE_NAME: _left.node, - DEFAULT_VALUE: _right.node, - ARGUMENT_KEY: _core().types.numericLiteral(i) - }); - body.push(defNode); - } else if (firstOptionalIndex !== null) { - var _defNode = buildSafeArgumentsAccess([param.node, _core().types.numericLiteral(i)]); - - body.push(_defNode); - } else if (param.isObjectPattern() || param.isArrayPattern()) { - var uid = path.scope.generateUidIdentifier("ref"); - - var _defNode2 = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(param.node, uid)]); - - body.push(_defNode2); - param.replaceWith(_core().types.cloneNode(uid)); - } - - if (!state.iife && !param.isIdentifier()) { - param.traverse(iifeVisitor, state); - } - } - - if (body.length === 0) return false; - - if (firstOptionalIndex !== null) { - node.params = node.params.slice(0, firstOptionalIndex); - } - - path.ensureBlock(); - - if (state.iife) { - body.push((0, _helperCallDelegate().default)(path, scope)); - path.set("body", _core().types.blockStatement(body)); - } else { - path.get("body").unshiftContainer("body", body); - } - - return true; -} - -},{"@babel/core":19,"@babel/helper-call-delegate":59}],129:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = convertFunctionRest; - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var buildRest = (0, _core().template)("\n for (var LEN = ARGUMENTS.length,\n ARRAY = new Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n"); -var restIndex = (0, _core().template)("\n (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n"); -var restIndexImpure = (0, _core().template)("\n REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n"); -var restLength = (0, _core().template)("\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n"); - -function referencesRest(path, state) { - if (path.node.name === state.name) { - return path.scope.bindingIdentifierEquals(state.name, state.outerBinding); - } - - return false; -} - -var memberExpressionOptimisationVisitor = { - Scope: function Scope(path, state) { - if (!path.scope.bindingIdentifierEquals(state.name, state.outerBinding)) { - path.skip(); - } - }, - Flow: function Flow(path) { - if (path.isTypeCastExpression()) return; - path.skip(); - }, - Function: function Function(path, state) { - var oldNoOptimise = state.noOptimise; - state.noOptimise = true; - path.traverse(memberExpressionOptimisationVisitor, state); - state.noOptimise = oldNoOptimise; - path.skip(); - }, - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - var node = path.node; - - if (node.name === "arguments") { - state.deopted = true; - } - - if (!referencesRest(path, state)) return; - - if (state.noOptimise) { - state.deopted = true; - } else { - var parentPath = path.parentPath; - - if (parentPath.listKey === "params" && parentPath.key < state.offset) { - return; - } - - if (parentPath.isMemberExpression({ - object: node - })) { - var grandparentPath = parentPath.parentPath; - var argsOptEligible = !state.deopted && !(grandparentPath.isAssignmentExpression() && parentPath.node === grandparentPath.node.left || grandparentPath.isLVal() || grandparentPath.isForXStatement() || grandparentPath.isUpdateExpression() || grandparentPath.isUnaryExpression({ - operator: "delete" - }) || (grandparentPath.isCallExpression() || grandparentPath.isNewExpression()) && parentPath.node === grandparentPath.node.callee); - - if (argsOptEligible) { - if (parentPath.node.computed) { - if (parentPath.get("property").isBaseType("number")) { - state.candidates.push({ - cause: "indexGetter", - path: path - }); - return; - } - } else if (parentPath.node.property.name === "length") { - state.candidates.push({ - cause: "lengthGetter", - path: path - }); - return; - } - } - } - - if (state.offset === 0 && parentPath.isSpreadElement()) { - var call = parentPath.parentPath; - - if (call.isCallExpression() && call.node.arguments.length === 1) { - state.candidates.push({ - cause: "argSpread", - path: path - }); - return; - } - } - - state.references.push(path); - } - }, - BindingIdentifier: function BindingIdentifier(path, state) { - if (referencesRest(path, state)) { - state.deopted = true; - } - } -}; - -function hasRest(node) { - var length = node.params.length; - return length > 0 && _core().types.isRestElement(node.params[length - 1]); -} - -function optimiseIndexGetter(path, argsId, offset) { - var offsetLiteral = _core().types.numericLiteral(offset); - - var index; - - if (_core().types.isNumericLiteral(path.parent.property)) { - index = _core().types.numericLiteral(path.parent.property.value + offset); - } else if (offset === 0) { - index = path.parent.property; - } else { - index = _core().types.binaryExpression("+", path.parent.property, _core().types.cloneNode(offsetLiteral)); - } - - var scope = path.scope; - - if (!scope.isPure(index)) { - var temp = scope.generateUidIdentifierBasedOnNode(index); - scope.push({ - id: temp, - kind: "var" - }); - path.parentPath.replaceWith(restIndexImpure({ - ARGUMENTS: argsId, - OFFSET: offsetLiteral, - INDEX: index, - REF: _core().types.cloneNode(temp) - })); - } else { - var parentPath = path.parentPath; - parentPath.replaceWith(restIndex({ - ARGUMENTS: argsId, - OFFSET: offsetLiteral, - INDEX: index - })); - var offsetTestPath = parentPath.get("test").get("left"); - var valRes = offsetTestPath.evaluate(); - - if (valRes.confident) { - if (valRes.value === true) { - parentPath.replaceWith(parentPath.scope.buildUndefinedNode()); - } else { - parentPath.get("test").replaceWith(parentPath.get("test").get("right")); - } - } - } -} - -function optimiseLengthGetter(path, argsId, offset) { - if (offset) { - path.parentPath.replaceWith(restLength({ - ARGUMENTS: argsId, - OFFSET: _core().types.numericLiteral(offset) - })); - } else { - path.replaceWith(argsId); - } -} - -function convertFunctionRest(path) { - var node = path.node, - scope = path.scope; - if (!hasRest(node)) return false; - var rest = node.params.pop().argument; - - var argsId = _core().types.identifier("arguments"); - - if (_core().types.isPattern(rest)) { - var pattern = rest; - rest = scope.generateUidIdentifier("ref"); - - var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(pattern, rest)]); - - node.body.body.unshift(declar); - } - - var state = { - references: [], - offset: node.params.length, - argumentsNode: argsId, - outerBinding: scope.getBindingIdentifier(rest.name), - candidates: [], - name: rest.name, - deopted: false - }; - path.traverse(memberExpressionOptimisationVisitor, state); - - if (!state.deopted && !state.references.length) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = state.candidates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ref = _step.value; - var _path = _ref.path, - cause = _ref.cause; - - var clonedArgsId = _core().types.cloneNode(argsId); - - switch (cause) { - case "indexGetter": - optimiseIndexGetter(_path, clonedArgsId, state.offset); - break; - - case "lengthGetter": - optimiseLengthGetter(_path, clonedArgsId, state.offset); - break; - - default: - _path.replaceWith(clonedArgsId); - - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return true; - } - - state.references = state.references.concat(state.candidates.map(function (_ref2) { - var path = _ref2.path; - return path; - })); - - var start = _core().types.numericLiteral(node.params.length); - - var key = scope.generateUidIdentifier("key"); - var len = scope.generateUidIdentifier("len"); - var arrKey, arrLen; - - if (node.params.length) { - arrKey = _core().types.binaryExpression("-", _core().types.cloneNode(key), _core().types.cloneNode(start)); - arrLen = _core().types.conditionalExpression(_core().types.binaryExpression(">", _core().types.cloneNode(len), _core().types.cloneNode(start)), _core().types.binaryExpression("-", _core().types.cloneNode(len), _core().types.cloneNode(start)), _core().types.numericLiteral(0)); - } else { - arrKey = _core().types.identifier(key.name); - arrLen = _core().types.identifier(len.name); - } - - var loop = buildRest({ - ARGUMENTS: argsId, - ARRAY_KEY: arrKey, - ARRAY_LEN: arrLen, - START: start, - ARRAY: rest, - KEY: key, - LEN: len - }); - - if (state.deopted) { - node.body.body.unshift(loop); - } else { - var target = path.getEarliestCommonAncestorFrom(state.references).getStatementParent(); - target.findParent(function (path) { - if (path.isLoop()) { - target = path; - } else { - return path.isFunction(); - } - }); - target.insertBefore(loop); - } - - return true; -} - -},{"@babel/core":19}],130:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-property-literals", - visitor: { - ObjectProperty: { - exit: function exit(_ref) { - var node = _ref.node; - var key = node.key; - - if (!node.computed && _core().types.isIdentifier(key) && !_core().types.isValidES3Identifier(key.name)) { - node.key = _core().types.stringLiteral(key.name); - } - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],131:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "default", { - enumerable: true, - get: function get() { - return _regeneratorTransform.default; - } -}); - -var _regeneratorTransform = _interopRequireDefault(require("regenerator-transform")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -},{"regenerator-transform":1058}],132:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-reserved-words", - visitor: { - "BindingIdentifier|ReferencedIdentifier": function BindingIdentifierReferencedIdentifier(path) { - if (!_core().types.isValidES3Identifier(path.node.name)) { - path.scope.rename(path.node.name); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],133:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-shorthand-properties", - visitor: { - ObjectMethod: function ObjectMethod(path) { - var node = path.node; - - if (node.kind === "method") { - var func = _core().types.functionExpression(null, node.params, node.body, node.generator, node.async); - - func.returnType = node.returnType; - path.replaceWith(_core().types.objectProperty(node.key, func, node.computed)); - } - }, - ObjectProperty: function ObjectProperty(_ref) { - var node = _ref.node; - - if (node.shorthand) { - node.shorthand = false; - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],134:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose; - - function getSpreadLiteral(spread, scope) { - if (loose && !_core().types.isIdentifier(spread.argument, { - name: "arguments" - })) { - return spread.argument; - } else { - return scope.toArray(spread.argument, true); - } - } - - function hasSpread(nodes) { - for (var i = 0; i < nodes.length; i++) { - if (_core().types.isSpreadElement(nodes[i])) { - return true; - } - } - - return false; - } - - function push(_props, nodes) { - if (!_props.length) return _props; - nodes.push(_core().types.arrayExpression(_props)); - return []; - } - - function build(props, scope) { - var nodes = []; - var _props = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var prop = _step.value; - - if (_core().types.isSpreadElement(prop)) { - _props = push(_props, nodes); - nodes.push(getSpreadLiteral(prop, scope)); - } else { - _props.push(prop); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - push(_props, nodes); - return nodes; - } - - return { - name: "transform-spread", - visitor: { - ArrayExpression: function ArrayExpression(path) { - var node = path.node, - scope = path.scope; - var elements = node.elements; - if (!hasSpread(elements)) return; - var nodes = build(elements, scope); - var first = nodes[0]; - - if (nodes.length === 1 && first !== elements[0].argument) { - path.replaceWith(first); - return; - } - - if (!_core().types.isArrayExpression(first)) { - first = _core().types.arrayExpression([]); - } else { - nodes.shift(); - } - - path.replaceWith(_core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes)); - }, - CallExpression: function CallExpression(path) { - var node = path.node, - scope = path.scope; - var args = node.arguments; - if (!hasSpread(args)) return; - var calleePath = path.get("callee"); - if (calleePath.isSuper()) return; - var contextLiteral = scope.buildUndefinedNode(); - node.arguments = []; - var nodes; - - if (args.length === 1 && args[0].argument.name === "arguments") { - nodes = [args[0].argument]; - } else { - nodes = build(args, scope); - } - - var first = nodes.shift(); - - if (nodes.length) { - node.arguments.push(_core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes)); - } else { - node.arguments.push(first); - } - - var callee = node.callee; - - if (calleePath.isMemberExpression()) { - var temp = scope.maybeGenerateMemoised(callee.object); - - if (temp) { - callee.object = _core().types.assignmentExpression("=", temp, callee.object); - contextLiteral = temp; - } else { - contextLiteral = _core().types.cloneNode(callee.object); - } - - _core().types.appendToMemberExpression(callee, _core().types.identifier("apply")); - } else { - node.callee = _core().types.memberExpression(node.callee, _core().types.identifier("apply")); - } - - if (_core().types.isSuper(contextLiteral)) { - contextLiteral = _core().types.thisExpression(); - } - - node.arguments.unshift(_core().types.cloneNode(contextLiteral)); - }, - NewExpression: function NewExpression(path) { - var node = path.node, - scope = path.scope; - var args = node.arguments; - if (!hasSpread(args)) return; - var nodes = build(args, scope); - var first = nodes.shift(); - - if (nodes.length) { - args = _core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes); - } else { - args = first; - } - - path.replaceWith(_core().types.callExpression(path.hub.addHelper("construct"), [node.callee, args])); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],135:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function regex() { - var data = _interopRequireWildcard(require("@babel/helper-regex")); - - regex = function regex() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {}; - - if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; - - if (desc.get || desc.set) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - return newObj; - } -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-sticky-regex", - visitor: { - RegExpLiteral: function RegExpLiteral(path) { - var node = path.node; - if (!regex().is(node, "y")) return; - path.replaceWith(_core().types.newExpression(_core().types.identifier("RegExp"), [_core().types.stringLiteral(node.pattern), _core().types.stringLiteral(node.flags)])); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-regex":80}],136:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _templateObject() { - var data = _taggedTemplateLiteral(["\n function ", "() {\n const data = ", ";\n ", " = function() { return data };\n return data;\n } \n "]); - - _templateObject = function _templateObject() { - return data; - }; - - return data; -} - -function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api, options) { - api.assertVersion(7); - var loose = options.loose; - var helperName = "taggedTemplateLiteral"; - if (loose) helperName += "Loose"; - - function buildConcatCallExpressions(items) { - var avail = true; - return items.reduce(function (left, right) { - var canBeInserted = _core().types.isLiteral(right); - - if (!canBeInserted && avail) { - canBeInserted = true; - avail = false; - } - - if (canBeInserted && _core().types.isCallExpression(left)) { - left.arguments.push(right); - return left; - } - - return _core().types.callExpression(_core().types.memberExpression(left, _core().types.identifier("concat")), [right]); - }); - } - - return { - name: "transform-template-literals", - visitor: { - TaggedTemplateExpression: function TaggedTemplateExpression(path) { - var node = path.node; - var quasi = node.quasi; - var strings = []; - var raws = []; - var isStringsRawEqual = true; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = quasi.quasis[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var elem = _step.value; - var _elem$value = elem.value, - raw = _elem$value.raw, - cooked = _elem$value.cooked; - var value = cooked == null ? path.scope.buildUndefinedNode() : _core().types.stringLiteral(cooked); - strings.push(value); - raws.push(_core().types.stringLiteral(raw)); - - if (raw !== cooked) { - isStringsRawEqual = false; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - var scope = path.scope.getProgramParent(); - var templateObject = scope.generateUidIdentifier("templateObject"); - var helperId = this.addHelper(helperName); - var callExpressionInput = [_core().types.arrayExpression(strings)]; - - if (!isStringsRawEqual) { - callExpressionInput.push(_core().types.arrayExpression(raws)); - } - - var lazyLoad = _core().template.ast(_templateObject(), templateObject, _core().types.callExpression(helperId, callExpressionInput), templateObject); - - scope.path.unshiftContainer("body", lazyLoad); - path.replaceWith(_core().types.callExpression(node.tag, [_core().types.callExpression(_core().types.cloneNode(templateObject), [])].concat(_toConsumableArray(quasi.expressions)))); - }, - TemplateLiteral: function TemplateLiteral(path) { - var nodes = []; - var expressions = path.get("expressions"); - var index = 0; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = path.node.quasis[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var elem = _step2.value; - - if (elem.value.cooked) { - nodes.push(_core().types.stringLiteral(elem.value.cooked)); - } - - if (index < expressions.length) { - var expr = expressions[index++]; - var node = expr.node; - - if (!_core().types.isStringLiteral(node, { - value: "" - })) { - nodes.push(node); - } - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var considerSecondNode = !loose || !_core().types.isStringLiteral(nodes[1]); - - if (!_core().types.isStringLiteral(nodes[0]) && considerSecondNode) { - nodes.unshift(_core().types.stringLiteral("")); - } - - var root = nodes[0]; - - if (loose) { - for (var i = 1; i < nodes.length; i++) { - root = _core().types.binaryExpression("+", root, nodes[i]); - } - } else if (nodes.length > 1) { - root = buildConcatCallExpressions(nodes); - } - - path.replaceWith(root); - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],137:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -function _helperPluginUtils() { - var data = require("@babel/helper-plugin-utils"); - - _helperPluginUtils = function _helperPluginUtils() { - return data; - }; - - return data; -} - -function _core() { - var data = require("@babel/core"); - - _core = function _core() { - return data; - }; - - return data; -} - -var _default = (0, _helperPluginUtils().declare)(function (api) { - api.assertVersion(7); - return { - name: "transform-typeof-symbol", - visitor: { - Scope: function Scope(_ref) { - var scope = _ref.scope; - - if (!scope.getBinding("Symbol")) { - return; - } - - scope.rename("Symbol"); - }, - UnaryExpression: function UnaryExpression(path) { - var node = path.node, - parent = path.parent; - if (node.operator !== "typeof") return; - - if (path.parentPath.isBinaryExpression() && _core().types.EQUALITY_BINARY_OPERATORS.indexOf(parent.operator) >= 0) { - var opposite = path.getOpposite(); - - if (opposite.isLiteral() && opposite.node.value !== "symbol" && opposite.node.value !== "object") { - return; - } - } - - var helper = this.addHelper("typeof"); - var isUnderHelper = path.findParent(function (path) { - return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name; - }); - - if (isUnderHelper) { - return; - } - - var call = _core().types.callExpression(helper, [node.argument]); - - var arg = path.get("argument"); - - if (arg.isIdentifier() && !path.scope.hasBinding(arg.node.name, true)) { - var unary = _core().types.unaryExpression("typeof", _core().types.cloneNode(node.argument)); - - path.replaceWith(_core().types.conditionalExpression(_core().types.binaryExpression("===", unary, _core().types.stringLiteral("undefined")), _core().types.stringLiteral("undefined"), call)); - } else { - path.replaceWith(call); - } - } - } - }; -}); - -exports.default = _default; - -},{"@babel/core":19,"@babel/helper-plugin-utils":79}],138:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -var _default = (0, _helperPluginUtils.declare)(function (api) { - api.assertVersion(7); - return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ - name: "transform-unicode-regex", - feature: "unicodeFlag" - }); -}); - -exports.default = _default; - -},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],139:[function(require,module,exports){ -module.exports={ - "es6.module": { - "edge": "16", - "firefox": "60", - "chrome": "61", - "safari": "10.1", - "opera": "48", - "ios_saf": "10.3", - "and_chr": "71", - "and_ff": "64" - } -} - -},{}],140:[function(require,module,exports){ -module.exports={ - "es6.array.copy-within": { - "chrome": "45", - "edge": "12", - "firefox": "32", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "5", - "opera": "32", - "electron": "0.35" - }, - "es6.array.every": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.fill": { - "chrome": "45", - "edge": "12", - "firefox": "31", - "safari": "7.1", - "node": "4", - "ios": "8", - "samsung": "5", - "opera": "32", - "electron": "0.35" - }, - "es6.array.filter": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.find": { - "chrome": "45", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "4", - "ios": "8", - "samsung": "5", - "opera": "32", - "electron": "0.35" - }, - "es6.array.find-index": { - "chrome": "45", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "4", - "ios": "8", - "samsung": "5", - "opera": "32", - "electron": "0.35" - }, - "es7.array.flat-map": { - "chrome": "69", - "firefox": "62", - "safari": "12", - "node": "11", - "ios": "12", - "opera": "56", - "electron": "4" - }, - "es6.array.for-each": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.from": { - "chrome": "51", - "edge": "15", - "firefox": "36", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es7.array.includes": { - "chrome": "47", - "edge": "14", - "firefox": "43", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "34", - "electron": "0.36" - }, - "es6.array.index-of": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.is-array": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "4", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.iterator": { - "chrome": "38", - "edge": "12", - "firefox": "28", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.array.last-index-of": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.map": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.of": { - "chrome": "45", - "edge": "12", - "firefox": "25", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "5", - "opera": "32", - "electron": "0.35" - }, - "es6.array.reduce": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "3", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.reduce-right": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "3", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.some": { - "chrome": "5", - "opera": "10.10", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.array.sort": { - "chrome": "63", - "opera": "50", - "edge": "12", - "firefox": "5", - "safari": "12", - "node": "10", - "ie": "9", - "ios": "12", - "samsung": "8.2", - "electron": "3.1" - }, - "es6.array.species": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.date.now": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "2", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.date.to-iso-string": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "3.5", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.date.to-json": { - "chrome": "5", - "opera": "12.10", - "edge": "12", - "firefox": "4", - "safari": "10", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "10", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.date.to-primitive": { - "chrome": "47", - "edge": "15", - "firefox": "44", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "34", - "electron": "0.36" - }, - "es6.date.to-string": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "10", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.function.bind": { - "chrome": "7", - "opera": "12", - "edge": "12", - "firefox": "4", - "safari": "5.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "5" - }, - "es6.function.has-instance": { - "chrome": "51", - "edge": "15", - "firefox": "50", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.function.name": { - "chrome": "5", - "opera": "10.50", - "edge": "14", - "firefox": "2", - "safari": "4", - "node": "0.10", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.map": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.math.acosh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.asinh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.atanh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.cbrt": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.clz32": { - "chrome": "38", - "edge": "12", - "firefox": "31", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.cosh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.expm1": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.fround": { - "chrome": "38", - "edge": "12", - "firefox": "26", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.hypot": { - "chrome": "38", - "edge": "12", - "firefox": "27", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.imul": { - "chrome": "30", - "edge": "12", - "firefox": "23", - "safari": "7", - "node": "0.12", - "android": "4.4", - "ios": "7", - "samsung": "2.1", - "opera": "17", - "electron": "0.2" - }, - "es6.math.log1p": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.log10": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.log2": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.sign": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.sinh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.tanh": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.math.trunc": { - "chrome": "38", - "edge": "12", - "firefox": "25", - "safari": "7.1", - "node": "0.12", - "ios": "8", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.number.constructor": { - "chrome": "41", - "edge": "12", - "firefox": "36", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.number.epsilon": { - "chrome": "34", - "edge": "12", - "firefox": "25", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.is-finite": { - "chrome": "19", - "edge": "12", - "firefox": "16", - "safari": "9", - "node": "0.12", - "android": "4.1", - "ios": "9", - "samsung": "2.1", - "electron": "0.2" - }, - "es6.number.is-integer": { - "chrome": "34", - "edge": "12", - "firefox": "16", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.is-nan": { - "chrome": "19", - "edge": "12", - "firefox": "15", - "safari": "9", - "node": "0.12", - "android": "4.1", - "ios": "9", - "samsung": "2.1", - "electron": "0.2" - }, - "es6.number.is-safe-integer": { - "chrome": "34", - "edge": "12", - "firefox": "32", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.max-safe-integer": { - "chrome": "34", - "edge": "12", - "firefox": "31", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.min-safe-integer": { - "chrome": "34", - "edge": "12", - "firefox": "31", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.parse-float": { - "chrome": "34", - "edge": "12", - "firefox": "25", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.number.parse-int": { - "chrome": "34", - "edge": "12", - "firefox": "25", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es6.object.assign": { - "chrome": "49", - "edge": "13", - "firefox": "36", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.object.create": { - "chrome": "5", - "opera": "12", - "edge": "12", - "firefox": "4", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es7.object.define-getter": { - "chrome": "62", - "edge": "16", - "firefox": "48", - "safari": "9", - "node": "8.10", - "ios": "9", - "samsung": "8.2", - "opera": "49", - "electron": "3.1" - }, - "es7.object.define-setter": { - "chrome": "62", - "edge": "16", - "firefox": "48", - "safari": "9", - "node": "8.10", - "ios": "9", - "samsung": "8.2", - "opera": "49", - "electron": "3.1" - }, - "es6.object.define-property": { - "chrome": "5", - "opera": "12", - "edge": "12", - "firefox": "4", - "safari": "5.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.object.define-properties": { - "chrome": "5", - "opera": "12", - "edge": "12", - "firefox": "4", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es7.object.entries": { - "chrome": "54", - "edge": "14", - "firefox": "47", - "safari": "10.1", - "node": "7", - "ios": "10.3", - "samsung": "6.2", - "opera": "41", - "electron": "1.5" - }, - "es6.object.freeze": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.get-own-property-descriptor": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es7.object.get-own-property-descriptors": { - "chrome": "54", - "edge": "15", - "firefox": "50", - "safari": "10.1", - "node": "7", - "ios": "10.3", - "samsung": "6.2", - "opera": "41", - "electron": "1.5" - }, - "es6.object.get-own-property-names": { - "chrome": "40", - "edge": "12", - "firefox": "33", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "27", - "electron": "0.21" - }, - "es6.object.get-prototype-of": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es7.object.lookup-getter": { - "chrome": "62", - "firefox": "36", - "safari": "9", - "node": "8.10", - "ios": "9", - "samsung": "8.2", - "opera": "49", - "electron": "3.1" - }, - "es7.object.lookup-setter": { - "chrome": "62", - "firefox": "36", - "safari": "9", - "node": "8.10", - "ios": "9", - "samsung": "8.2", - "opera": "49", - "electron": "3.1" - }, - "es6.object.prevent-extensions": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.to-string": { - "chrome": "57", - "edge": "15", - "firefox": "51", - "safari": "10", - "node": "8", - "ios": "10", - "samsung": "7.2", - "opera": "44", - "electron": "1.7" - }, - "es6.object.is": { - "chrome": "19", - "edge": "12", - "firefox": "22", - "safari": "9", - "node": "0.12", - "android": "4.1", - "ios": "9", - "samsung": "2.1", - "electron": "0.2" - }, - "es6.object.is-frozen": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.is-sealed": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.is-extensible": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.keys": { - "chrome": "40", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "27", - "electron": "0.21" - }, - "es6.object.seal": { - "chrome": "44", - "edge": "12", - "firefox": "35", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "es6.object.set-prototype-of": { - "chrome": "34", - "edge": "12", - "firefox": "31", - "safari": "9", - "node": "0.12", - "ie": "11", - "ios": "9", - "samsung": "2.1", - "opera": "21", - "electron": "0.2" - }, - "es7.object.values": { - "chrome": "54", - "edge": "14", - "firefox": "47", - "safari": "10.1", - "node": "7", - "ios": "10.3", - "samsung": "6.2", - "opera": "41", - "electron": "1.5" - }, - "es6.promise": { - "chrome": "51", - "edge": "14", - "firefox": "45", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es7.promise.finally": { - "chrome": "63", - "edge": "18", - "firefox": "58", - "safari": "11.1", - "node": "10", - "ios": "11.3", - "samsung": "8.2", - "opera": "50", - "electron": "3.1" - }, - "es6.reflect.apply": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.construct": { - "chrome": "49", - "edge": "13", - "firefox": "49", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.define-property": { - "chrome": "49", - "edge": "13", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.delete-property": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.get": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.get-own-property-descriptor": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.get-prototype-of": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.has": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.is-extensible": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.own-keys": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.prevent-extensions": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.set": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.reflect.set-prototype-of": { - "chrome": "49", - "edge": "12", - "firefox": "42", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.regexp.constructor": { - "chrome": "50", - "firefox": "40", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.regexp.flags": { - "chrome": "49", - "firefox": "37", - "safari": "9", - "node": "6", - "ios": "9", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "es6.regexp.match": { - "chrome": "50", - "firefox": "49", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.regexp.replace": { - "chrome": "50", - "firefox": "49", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.regexp.split": { - "chrome": "50", - "firefox": "49", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.regexp.search": { - "chrome": "50", - "firefox": "49", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.regexp.to-string": { - "chrome": "50", - "firefox": "39", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "es6.set": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.symbol": { - "chrome": "51", - "firefox": "51", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es7.symbol.async-iterator": { - "chrome": "63", - "firefox": "57", - "safari": "12", - "node": "10", - "ios": "12", - "samsung": "8.2", - "opera": "50", - "electron": "3.1" - }, - "es6.string.anchor": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.big": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.blink": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.bold": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.code-point-at": { - "chrome": "41", - "edge": "12", - "firefox": "29", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.ends-with": { - "chrome": "41", - "edge": "12", - "firefox": "29", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.fixed": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.fontcolor": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.fontsize": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.from-code-point": { - "chrome": "41", - "edge": "12", - "firefox": "29", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.includes": { - "chrome": "41", - "edge": "12", - "firefox": "40", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.italics": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.iterator": { - "chrome": "38", - "edge": "12", - "firefox": "36", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "es6.string.link": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es7.string.pad-start": { - "chrome": "57", - "edge": "15", - "firefox": "48", - "safari": "10", - "node": "8", - "ios": "10", - "samsung": "7.2", - "opera": "44", - "electron": "1.7" - }, - "es7.string.pad-end": { - "chrome": "57", - "edge": "15", - "firefox": "48", - "safari": "10", - "node": "8", - "ios": "10", - "samsung": "7.2", - "opera": "44", - "electron": "1.7" - }, - "es6.string.raw": { - "chrome": "41", - "edge": "12", - "firefox": "34", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.repeat": { - "chrome": "41", - "edge": "12", - "firefox": "24", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.small": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.starts-with": { - "chrome": "41", - "edge": "12", - "firefox": "29", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "es6.string.strike": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.sub": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.sup": { - "chrome": "5", - "edge": "12", - "firefox": "17", - "safari": "6", - "node": "0.10", - "android": "4", - "ios": "7", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.string.trim": { - "chrome": "5", - "opera": "10.50", - "edge": "12", - "firefox": "3.5", - "safari": "4", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es7.string.trim-left": { - "chrome": "66", - "firefox": "61", - "safari": "12", - "node": "10", - "ios": "12", - "opera": "53", - "electron": "3.1" - }, - "es7.string.trim-right": { - "chrome": "66", - "firefox": "61", - "safari": "12", - "node": "10", - "ios": "12", - "opera": "53", - "electron": "3.1" - }, - "es6.typed.array-buffer": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.data-view": { - "chrome": "5", - "opera": "12", - "edge": "12", - "firefox": "15", - "safari": "5.1", - "node": "0.10", - "ie": "10", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "1.1" - }, - "es6.typed.int8-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.uint8-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.uint8-clamped-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.int16-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.uint16-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.int32-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.uint32-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.float32-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.typed.float64-array": { - "chrome": "51", - "edge": "13", - "firefox": "48", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.weak-map": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "9", - "node": "6.5", - "ios": "9", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "es6.weak-set": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "9", - "node": "6.5", - "ios": "9", - "samsung": "5", - "opera": "38", - "electron": "1.2" - } -} - -},{}],141:[function(require,module,exports){ -"use strict"; - -module.exports = new Map(); // async -> regenerator is better than async -> generator -> regenerator - -ifIncluded("transform-regenerator").isUnnecessary("transform-async-to-generator"); - -function ifIncluded(name) { - var set = new Set(); - module.exports.set(name, set); - return { - isUnnecessary: function isUnnecessary(name) { - set.add(name); - return this; - } - }; -} - -},{}],142:[function(require,module,exports){ -module.exports={ - "transform-template-literals": { - "chrome": "41", - "edge": "13", - "firefox": "34", - "node": "4", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "transform-literals": { - "chrome": "44", - "edge": "12", - "firefox": "53", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "transform-function-name": { - "chrome": "51", - "firefox": "53", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "transform-arrow-functions": { - "chrome": "47", - "edge": "13", - "firefox": "45", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "34", - "electron": "0.36" - }, - "transform-block-scoped-functions": { - "chrome": "41", - "edge": "12", - "firefox": "46", - "safari": "10", - "node": "4", - "ie": "11", - "ios": "10", - "samsung": "3.4", - "opera": "28", - "electron": "0.24" - }, - "transform-classes": { - "chrome": "46", - "edge": "13", - "firefox": "45", - "safari": "10", - "node": "5", - "ios": "10", - "samsung": "5", - "opera": "33", - "electron": "0.36" - }, - "transform-object-super": { - "chrome": "46", - "edge": "13", - "firefox": "45", - "safari": "10", - "node": "5", - "ios": "10", - "samsung": "5", - "opera": "33", - "electron": "0.36" - }, - "transform-shorthand-properties": { - "chrome": "43", - "edge": "12", - "firefox": "33", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "4", - "opera": "30", - "electron": "0.29" - }, - "transform-duplicate-keys": { - "chrome": "42", - "edge": "12", - "firefox": "34", - "safari": "9", - "node": "4", - "ios": "9", - "samsung": "3.4", - "opera": "29", - "electron": "0.27" - }, - "transform-computed-properties": { - "chrome": "44", - "edge": "12", - "firefox": "34", - "safari": "7.1", - "node": "4", - "ios": "8", - "samsung": "4", - "opera": "31", - "electron": "0.31" - }, - "transform-for-of": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "transform-sticky-regex": { - "chrome": "49", - "edge": "13", - "firefox": "3", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "transform-dotall-regex": { - "chrome": "62", - "safari": "11.1", - "node": "8.10", - "ios": "11.3", - "samsung": "8.2", - "opera": "49", - "electron": "3.1" - }, - "transform-unicode-regex": { - "chrome": "50", - "edge": "13", - "firefox": "46", - "safari": "12", - "node": "6", - "ios": "12", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "transform-spread": { - "chrome": "46", - "edge": "13", - "firefox": "36", - "safari": "10", - "node": "5", - "ios": "10", - "samsung": "5", - "opera": "33", - "electron": "0.36" - }, - "transform-parameters": { - "chrome": "49", - "edge": "18", - "firefox": "53", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "transform-destructuring": { - "chrome": "51", - "edge": "15", - "firefox": "53", - "safari": "10", - "node": "6.5", - "ios": "10", - "samsung": "5", - "opera": "38", - "electron": "1.2" - }, - "transform-block-scoping": { - "chrome": "49", - "edge": "14", - "firefox": "51", - "safari": "11", - "node": "6", - "ios": "11", - "samsung": "5", - "opera": "36", - "electron": "1" - }, - "transform-typeof-symbol": { - "chrome": "38", - "edge": "12", - "firefox": "36", - "safari": "9", - "node": "0.12", - "ios": "9", - "samsung": "3", - "opera": "25", - "electron": "0.2" - }, - "transform-new-target": { - "chrome": "46", - "edge": "14", - "firefox": "41", - "safari": "10", - "node": "5", - "ios": "10", - "samsung": "5", - "opera": "33", - "electron": "0.36" - }, - "transform-regenerator": { - "chrome": "50", - "edge": "13", - "firefox": "53", - "safari": "10", - "node": "6", - "ios": "10", - "samsung": "5", - "opera": "37", - "electron": "1.1" - }, - "transform-exponentiation-operator": { - "chrome": "52", - "edge": "14", - "firefox": "52", - "safari": "10.1", - "node": "7", - "ios": "10.3", - "samsung": "6.2", - "opera": "39", - "electron": "1.3" - }, - "transform-async-to-generator": { - "chrome": "55", - "edge": "15", - "firefox": "52", - "safari": "11", - "node": "7.6", - "ios": "11", - "samsung": "6.2", - "opera": "42", - "electron": "1.6" - }, - "proposal-async-generator-functions": { - "chrome": "63", - "firefox": "57", - "safari": "12", - "node": "10", - "ios": "12", - "samsung": "8.2", - "opera": "50", - "electron": "3.1" - }, - "proposal-object-rest-spread": { - "chrome": "60", - "firefox": "55", - "safari": "11.1", - "node": "8.3", - "ios": "11.3", - "samsung": "8.2", - "opera": "47", - "electron": "2.1" - }, - "proposal-unicode-property-regex": { - "chrome": "64", - "safari": "11.1", - "node": "10", - "ios": "11.3", - "opera": "51", - "electron": "3.1" - }, - "proposal-json-strings": { - "chrome": "66", - "firefox": "62", - "safari": "12", - "node": "10", - "ios": "12", - "opera": "53", - "electron": "3.1" - }, - "proposal-optional-catch-binding": { - "chrome": "66", - "firefox": "58", - "safari": "11.1", - "node": "10", - "ios": "11.3", - "opera": "53", - "electron": "3.1" - }, - "transform-named-capturing-groups-regex": { - "chrome": "64", - "safari": "11.1", - "node": "10", - "ios": "11.3", - "opera": "51", - "electron": "3.1" - }, - "transform-member-expression-literals": { - "chrome": "7", - "opera": "12", - "edge": "12", - "firefox": "2", - "safari": "5.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "5" - }, - "transform-property-literals": { - "chrome": "7", - "opera": "12", - "edge": "12", - "firefox": "2", - "safari": "5.1", - "node": "0.10", - "ie": "9", - "android": "4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "5" - }, - "transform-reserved-words": { - "chrome": "13", - "opera": "10.50", - "edge": "12", - "firefox": "2", - "safari": "3.1", - "node": "0.10", - "ie": "9", - "android": "4.4", - "ios": "6", - "phantom": "2", - "samsung": "2.1", - "electron": "0.2" - } -} - -},{}],143:[function(require,module,exports){ -"use strict"; - -// These mappings represent the syntax proposals that have been -// shipped by browsers, and are enabled by the `shippedProposals` option. -var proposalPlugins = {}; -var pluginSyntaxMap = new Map([["proposal-async-generator-functions", "syntax-async-generators"], ["proposal-object-rest-spread", "syntax-object-rest-spread"], ["proposal-optional-catch-binding", "syntax-optional-catch-binding"], ["proposal-unicode-property-regex", null], ["proposal-json-strings", "syntax-json-strings"]]); -module.exports = { - proposalPlugins: proposalPlugins, - pluginSyntaxMap: pluginSyntaxMap -}; - -},{}],144:[function(require,module,exports){ -"use strict"; - -module.exports = { - safari: "tp" -}; - -},{}],145:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = { - "syntax-async-generators": require("@babel/plugin-syntax-async-generators"), - "syntax-dynamic-import": require("@babel/plugin-syntax-dynamic-import"), - "syntax-json-strings": require("@babel/plugin-syntax-json-strings"), - "syntax-object-rest-spread": require("@babel/plugin-syntax-object-rest-spread"), - "syntax-optional-catch-binding": require("@babel/plugin-syntax-optional-catch-binding"), - "syntax-top-level-await": require("@babel/plugin-syntax-top-level-await"), - "transform-async-to-generator": require("@babel/plugin-transform-async-to-generator"), - "proposal-async-generator-functions": require("@babel/plugin-proposal-async-generator-functions"), - "proposal-dynamic-import": require("@babel/plugin-proposal-dynamic-import"), - "proposal-json-strings": require("@babel/plugin-proposal-json-strings"), - "transform-arrow-functions": require("@babel/plugin-transform-arrow-functions"), - "transform-block-scoped-functions": require("@babel/plugin-transform-block-scoped-functions"), - "transform-block-scoping": require("@babel/plugin-transform-block-scoping"), - "transform-classes": require("@babel/plugin-transform-classes"), - "transform-computed-properties": require("@babel/plugin-transform-computed-properties"), - "transform-destructuring": require("@babel/plugin-transform-destructuring"), - "transform-dotall-regex": require("@babel/plugin-transform-dotall-regex"), - "transform-duplicate-keys": require("@babel/plugin-transform-duplicate-keys"), - "transform-for-of": require("@babel/plugin-transform-for-of"), - "transform-function-name": require("@babel/plugin-transform-function-name"), - "transform-literals": require("@babel/plugin-transform-literals"), - "transform-member-expression-literals": require("@babel/plugin-transform-member-expression-literals"), - "transform-modules-amd": require("@babel/plugin-transform-modules-amd"), - "transform-modules-commonjs": require("@babel/plugin-transform-modules-commonjs"), - "transform-modules-systemjs": require("@babel/plugin-transform-modules-systemjs"), - "transform-modules-umd": require("@babel/plugin-transform-modules-umd"), - "transform-named-capturing-groups-regex": require("@babel/plugin-transform-named-capturing-groups-regex"), - "transform-object-super": require("@babel/plugin-transform-object-super"), - "transform-parameters": require("@babel/plugin-transform-parameters"), - "transform-property-literals": require("@babel/plugin-transform-property-literals"), - "transform-reserved-words": require("@babel/plugin-transform-reserved-words"), - "transform-shorthand-properties": require("@babel/plugin-transform-shorthand-properties"), - "transform-spread": require("@babel/plugin-transform-spread"), - "transform-sticky-regex": require("@babel/plugin-transform-sticky-regex"), - "transform-template-literals": require("@babel/plugin-transform-template-literals"), - "transform-typeof-symbol": require("@babel/plugin-transform-typeof-symbol"), - "transform-unicode-regex": require("@babel/plugin-transform-unicode-regex"), - "transform-exponentiation-operator": require("@babel/plugin-transform-exponentiation-operator"), - "transform-new-target": require("@babel/plugin-transform-new-target"), - "proposal-object-rest-spread": require("@babel/plugin-proposal-object-rest-spread"), - "proposal-optional-catch-binding": require("@babel/plugin-proposal-optional-catch-binding"), - "transform-regenerator": require("@babel/plugin-transform-regenerator"), - "proposal-unicode-property-regex": require("@babel/plugin-proposal-unicode-property-regex") -}; -exports.default = _default; - -},{"@babel/plugin-proposal-async-generator-functions":91,"@babel/plugin-proposal-dynamic-import":92,"@babel/plugin-proposal-json-strings":94,"@babel/plugin-proposal-object-rest-spread":95,"@babel/plugin-proposal-optional-catch-binding":96,"@babel/plugin-proposal-unicode-property-regex":97,"@babel/plugin-syntax-async-generators":98,"@babel/plugin-syntax-dynamic-import":99,"@babel/plugin-syntax-json-strings":100,"@babel/plugin-syntax-object-rest-spread":101,"@babel/plugin-syntax-optional-catch-binding":102,"@babel/plugin-syntax-top-level-await":103,"@babel/plugin-transform-arrow-functions":104,"@babel/plugin-transform-async-to-generator":105,"@babel/plugin-transform-block-scoped-functions":106,"@babel/plugin-transform-block-scoping":107,"@babel/plugin-transform-classes":109,"@babel/plugin-transform-computed-properties":111,"@babel/plugin-transform-destructuring":112,"@babel/plugin-transform-dotall-regex":113,"@babel/plugin-transform-duplicate-keys":114,"@babel/plugin-transform-exponentiation-operator":115,"@babel/plugin-transform-for-of":116,"@babel/plugin-transform-function-name":117,"@babel/plugin-transform-literals":118,"@babel/plugin-transform-member-expression-literals":119,"@babel/plugin-transform-modules-amd":120,"@babel/plugin-transform-modules-commonjs":121,"@babel/plugin-transform-modules-systemjs":122,"@babel/plugin-transform-modules-umd":123,"@babel/plugin-transform-named-capturing-groups-regex":124,"@babel/plugin-transform-new-target":125,"@babel/plugin-transform-object-super":126,"@babel/plugin-transform-parameters":127,"@babel/plugin-transform-property-literals":130,"@babel/plugin-transform-regenerator":131,"@babel/plugin-transform-reserved-words":132,"@babel/plugin-transform-shorthand-properties":133,"@babel/plugin-transform-spread":134,"@babel/plugin-transform-sticky-regex":135,"@babel/plugin-transform-template-literals":136,"@babel/plugin-transform-typeof-symbol":137,"@babel/plugin-transform-unicode-regex":138}],146:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.logUsagePolyfills = exports.logEntryPolyfills = exports.logPluginOrPolyfill = void 0; - -var _semver = _interopRequireDefault(require("semver")); - -var _utils = require("./utils"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var wordEnds = function wordEnds(size) { - return size > 1 ? "s" : ""; -}; - -var logPluginOrPolyfill = function logPluginOrPolyfill(item, targetVersions, list) { - var minVersions = list[item] || {}; - var filteredList = Object.keys(targetVersions).reduce(function (result, env) { - var minVersion = minVersions[env]; - var targetVersion = targetVersions[env]; - - if (!minVersion) { - result[env] = (0, _utils.prettifyVersion)(targetVersion); - } else { - var minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); - var targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); - - if (!targetIsUnreleased && (minIsUnreleased || _semver.default.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { - result[env] = (0, _utils.prettifyVersion)(targetVersion); - } - } - - return result; - }, {}); - var formattedTargets = JSON.stringify(filteredList).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }'); - console.log(" ".concat(item, " ").concat(formattedTargets)); -}; - -exports.logPluginOrPolyfill = logPluginOrPolyfill; - -var logEntryPolyfills = function logEntryPolyfills(polyfillName, importPolyfillIncluded, polyfills, filename, polyfillTargets, allBuiltInsList) { - if (process.env.BABEL_ENV === "test") { - filename = filename.replace(/\\/g, "/"); - } - - if (!importPolyfillIncluded) { - console.log("\n[".concat(filename, "] Import of ").concat(polyfillName, " was not found.")); - return; - } - - if (!polyfills.size) { - console.log("\n[".concat(filename, "] Based on your targets, polyfills were not added.")); - return; - } - - console.log("\n[".concat(filename, "] Replaced ").concat(polyfillName, " entries with the following polyfill").concat(wordEnds(polyfills.size), ":")); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = polyfills[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var polyfill = _step.value; - logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -}; - -exports.logEntryPolyfills = logEntryPolyfills; - -var logUsagePolyfills = function logUsagePolyfills(polyfills, filename, polyfillTargets, allBuiltInsList) { - if (process.env.BABEL_ENV === "test") { - filename = filename.replace(/\\/g, "/"); - } - - if (!polyfills.size) { - console.log("\n[".concat(filename, "] Based on your code and targets, core-js polyfills were not added.")); - return; - } - - console.log("\n[".concat(filename, "] Added following core-js polyfill").concat(wordEnds(polyfills.size), ":")); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = polyfills[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var polyfill = _step2.value; - logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } -}; - -exports.logUsagePolyfills = logUsagePolyfills; - -}).call(this,require('_process')) -},{"./utils":164,"_process":1054,"semver":1070}],147:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isPluginRequired = isPluginRequired; -exports.default = _default; -exports.removeUnnecessaryItems = removeUnnecessaryItems; - -var _semver = _interopRequireDefault(require("semver")); - -var _utils = require("./utils"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isPluginRequired(supportedEnvironments, plugin) { - var targetEnvironments = Object.keys(supportedEnvironments); - - if (targetEnvironments.length === 0) { - return true; - } - - var isRequiredForEnvironments = targetEnvironments.filter(function (environment) { - if (!plugin[environment]) { - return true; - } - - var lowestImplementedVersion = plugin[environment]; - var lowestTargetedVersion = supportedEnvironments[environment]; - - if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { - return false; - } - - if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) { - return true; - } - - if (!_semver.default.valid(lowestTargetedVersion.toString())) { - throw new Error("Invalid version passed for target \"".concat(environment, "\": \"").concat(lowestTargetedVersion, "\". ") + "Versions must be in semver format (major.minor.patch)"); - } - - return _semver.default.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString()); - }); - return isRequiredForEnvironments.length > 0; -} - -function _default(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) { - var result = new Set(); - - for (var item in list) { - if (!excludes.has(item) && (isPluginRequired(targets, list[item]) || includes.has(item))) { - result.add(item); - } else if (pluginSyntaxMap) { - var shippedProposalsSyntax = pluginSyntaxMap.get(item); - - if (shippedProposalsSyntax) { - result.add(shippedProposalsSyntax); - } - } - } - - if (defaultIncludes) { - defaultIncludes.forEach(function (item) { - return !excludes.has(item) && result.add(item); - }); - } - - if (defaultExcludes) { - defaultExcludes.forEach(function (item) { - return !includes.has(item) && result.delete(item); - }); - } - - return result; -} - -function removeUnnecessaryItems(items, overlapping) { - items.forEach(function (item) { - var names = overlapping.get(item); - if (names) names.forEach(function (name) { - return items.delete(name); - }); - }); -} - -},{"./utils":164,"semver":1070}],148:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; -var defaultExcludesForLooseMode = ["transform-typeof-symbol"]; - -function _default(_ref) { - var loose = _ref.loose; - return loose ? defaultExcludesForLooseMode : null; -} - -},{}],149:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "isPluginRequired", { - enumerable: true, - get: function get() { - return _filterItems.isPluginRequired; - } -}); -exports.default = exports.getPolyfillPlugins = exports.getModulesPluginNames = exports.transformIncludesAndExcludes = void 0; - -var _semver = require("semver"); - -var _debug = require("./debug"); - -var _getOptionSpecificExcludes = _interopRequireDefault(require("./get-option-specific-excludes")); - -var _filterItems = _interopRequireWildcard(require("./filter-items")); - -var _moduleTransformations = _interopRequireDefault(require("./module-transformations")); - -var _normalizeOptions = _interopRequireDefault(require("./normalize-options")); - -var _plugins = _interopRequireDefault(require("../data/plugins.json")); - -var _shippedProposals = require("../data/shipped-proposals"); - -var _overlappingPlugins = _interopRequireDefault(require("../data/overlapping-plugins")); - -var _usagePlugin = _interopRequireDefault(require("./polyfills/corejs2/usage-plugin")); - -var _usagePlugin2 = _interopRequireDefault(require("./polyfills/corejs3/usage-plugin")); - -var _usagePlugin3 = _interopRequireDefault(require("./polyfills/regenerator/usage-plugin")); - -var _entryPlugin = _interopRequireDefault(require("./polyfills/corejs2/entry-plugin")); - -var _entryPlugin2 = _interopRequireDefault(require("./polyfills/corejs3/entry-plugin")); - -var _entryPlugin3 = _interopRequireDefault(require("./polyfills/regenerator/entry-plugin")); - -var _targetsParser = _interopRequireDefault(require("./targets-parser")); - -var _availablePlugins = _interopRequireDefault(require("./available-plugins")); - -var _utils = require("./utils"); - -var _helperPluginUtils = require("@babel/helper-plugin-utils"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var pluginListWithoutProposals = (0, _utils.filterStageFromList)(_plugins.default, _shippedProposals.proposalPlugins); - -var getPlugin = function getPlugin(pluginName) { - var plugin = _availablePlugins.default[pluginName]; - - if (!plugin) { - throw new Error("Could not find plugin \"".concat(pluginName, "\". Ensure there is an entry in ./available-plugins.js for it.")); - } - - return plugin; -}; - -var transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) { - return opts.reduce(function (result, opt) { - var target = opt.match(/^(es|es6|es7|esnext|web)\./) ? "builtIns" : "plugins"; - result[target].add(opt); - return result; - }, { - all: opts, - plugins: new Set(), - builtIns: new Set() - }); -}; - -exports.transformIncludesAndExcludes = transformIncludesAndExcludes; - -var getModulesPluginNames = function getModulesPluginNames(_ref) { - var modules = _ref.modules, - transformations = _ref.transformations, - shouldTransformESM = _ref.shouldTransformESM, - shouldTransformDynamicImport = _ref.shouldTransformDynamicImport, - shouldParseTopLevelAwait = _ref.shouldParseTopLevelAwait; - var modulesPluginNames = []; - - if (modules !== false && transformations[modules]) { - if (shouldTransformESM) { - modulesPluginNames.push(transformations[modules]); - } - - if (shouldTransformDynamicImport && shouldTransformESM && modules !== "umd") { - modulesPluginNames.push("proposal-dynamic-import"); - } else { - if (shouldTransformDynamicImport) { - console.warn("Dynamic import can only be supported when transforming ES modules" + " to AMD, CommonJS or SystemJS. Only the parser plugin will be enabled."); - } - - modulesPluginNames.push("syntax-dynamic-import"); - } - } else { - modulesPluginNames.push("syntax-dynamic-import"); - } - - if (shouldParseTopLevelAwait) { - modulesPluginNames.push("syntax-top-level-await"); - } - - return modulesPluginNames; -}; - -exports.getModulesPluginNames = getModulesPluginNames; - -var getPolyfillPlugins = function getPolyfillPlugins(_ref2) { - var useBuiltIns = _ref2.useBuiltIns, - corejs = _ref2.corejs, - polyfillTargets = _ref2.polyfillTargets, - include = _ref2.include, - exclude = _ref2.exclude, - proposals = _ref2.proposals, - shippedProposals = _ref2.shippedProposals, - regenerator = _ref2.regenerator, - debug = _ref2.debug; - var polyfillPlugins = []; - - if (useBuiltIns === "usage" || useBuiltIns === "entry") { - var pluginOptions = { - corejs: corejs, - polyfillTargets: polyfillTargets, - include: include, - exclude: exclude, - proposals: proposals, - shippedProposals: shippedProposals, - regenerator: regenerator, - debug: debug - }; - - if (corejs) { - if (useBuiltIns === "usage") { - if (corejs.major === 2) { - polyfillPlugins.push([_usagePlugin.default, pluginOptions]); - } else { - polyfillPlugins.push([_usagePlugin2.default, pluginOptions]); - } - - if (regenerator) { - polyfillPlugins.push([_usagePlugin3.default, pluginOptions]); - } - } else { - if (corejs.major === 2) { - polyfillPlugins.push([_entryPlugin.default, pluginOptions]); - } else { - polyfillPlugins.push([_entryPlugin2.default, pluginOptions]); - - if (!regenerator) { - polyfillPlugins.push([_entryPlugin3.default, pluginOptions]); - } - } - } - } - } - - return polyfillPlugins; -}; - -exports.getPolyfillPlugins = getPolyfillPlugins; - -function supportsStaticESM(caller) { - return !!(caller && caller.supportsStaticESM); -} - -function supportsDynamicImport(caller) { - return !!(caller && caller.supportsDynamicImport); -} - -function supportsTopLevelAwait(caller) { - return !!(caller && caller.supportsTopLevelAwait); -} - -var _default = (0, _helperPluginUtils.declare)(function (api, opts) { - api.assertVersion(7); - - var _ref3 = (0, _normalizeOptions.default)(opts), - configPath = _ref3.configPath, - debug = _ref3.debug, - optionsExclude = _ref3.exclude, - forceAllTransforms = _ref3.forceAllTransforms, - ignoreBrowserslistConfig = _ref3.ignoreBrowserslistConfig, - optionsInclude = _ref3.include, - loose = _ref3.loose, - modules = _ref3.modules, - shippedProposals = _ref3.shippedProposals, - spec = _ref3.spec, - optionsTargets = _ref3.targets, - useBuiltIns = _ref3.useBuiltIns, - _ref3$corejs = _ref3.corejs, - corejs = _ref3$corejs.version, - proposals = _ref3$corejs.proposals; - - var hasUglifyTarget = false; - - if (optionsTargets && optionsTargets.uglify) { - hasUglifyTarget = true; - delete optionsTargets.uglify; - console.log(""); - console.log("The uglify target has been deprecated. Set the top level"); - console.log("option `forceAllTransforms: true` instead."); - console.log(""); - } - - if (optionsTargets && optionsTargets.esmodules && optionsTargets.browsers) { - console.log(""); - console.log("@babel/preset-env: esmodules and browsers targets have been specified together."); - console.log("`browsers` target, `".concat(optionsTargets.browsers, "` will be ignored.")); - console.log(""); - } - - var targets = (0, _targetsParser.default)(optionsTargets, { - ignoreBrowserslistConfig: ignoreBrowserslistConfig, - configPath: configPath - }); - var include = transformIncludesAndExcludes(optionsInclude); - var exclude = transformIncludesAndExcludes(optionsExclude); - var transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets; - var modulesPluginNames = getModulesPluginNames({ - modules: modules, - transformations: _moduleTransformations.default, - shouldTransformESM: modules !== "auto" || !api.caller || !api.caller(supportsStaticESM), - shouldTransformDynamicImport: modules !== "auto" || !api.caller || !api.caller(supportsDynamicImport), - shouldParseTopLevelAwait: !api.caller || api.caller(supportsTopLevelAwait) - }); - var pluginNames = (0, _filterItems.default)(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, (0, _getOptionSpecificExcludes.default)({ - loose: loose - }), _shippedProposals.pluginSyntaxMap); - (0, _filterItems.removeUnnecessaryItems)(pluginNames, _overlappingPlugins.default); - var polyfillPlugins = getPolyfillPlugins({ - useBuiltIns: useBuiltIns, - corejs: corejs, - polyfillTargets: targets, - include: include.builtIns, - exclude: exclude.builtIns, - proposals: proposals, - shippedProposals: shippedProposals, - regenerator: pluginNames.has("transform-regenerator"), - debug: debug - }); - var pluginUseBuiltIns = useBuiltIns !== false; - var plugins = Array.from(pluginNames).map(function (pluginName) { - return [getPlugin(pluginName), { - spec: spec, - loose: loose, - useBuiltIns: pluginUseBuiltIns - }]; - }).concat(polyfillPlugins); - - if (debug) { - console.log("@babel/preset-env: `DEBUG` option"); - console.log("\nUsing targets:"); - console.log(JSON.stringify((0, _utils.prettifyTargets)(targets), null, 2)); - console.log("\nUsing modules transform: ".concat(modules.toString())); - console.log("\nUsing plugins:"); - pluginNames.forEach(function (pluginName) { - (0, _debug.logPluginOrPolyfill)(pluginName, targets, _plugins.default); - }); - - if (!useBuiltIns) { - console.log("\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set."); - } else { - console.log("\nUsing polyfills with `".concat(useBuiltIns, "` option:")); - } - } - - return { - plugins: plugins - }; -}); - -exports.default = _default; - -},{"../data/overlapping-plugins":141,"../data/plugins.json":142,"../data/shipped-proposals":143,"./available-plugins":145,"./debug":146,"./filter-items":147,"./get-option-specific-excludes":148,"./module-transformations":150,"./normalize-options":151,"./polyfills/corejs2/entry-plugin":154,"./polyfills/corejs2/usage-plugin":156,"./polyfills/corejs3/entry-plugin":158,"./polyfills/corejs3/usage-plugin":160,"./polyfills/regenerator/entry-plugin":161,"./polyfills/regenerator/usage-plugin":162,"./targets-parser":163,"./utils":164,"@babel/helper-plugin-utils":79,"semver":1070}],150:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = { - auto: "transform-modules-commonjs", - amd: "transform-modules-amd", - commonjs: "transform-modules-commonjs", - cjs: "transform-modules-commonjs", - systemjs: "transform-modules-systemjs", - umd: "transform-modules-umd" -}; -exports.default = _default; - -},{}],151:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.normalizeCoreJSOption = normalizeCoreJSOption; -exports.default = normalizeOptions; -exports.validateUseBuiltInsOption = exports.validateModulesOption = exports.validateIgnoreBrowserslistConfig = exports.validateBoolOption = exports.validateConfigPathOption = exports.checkDuplicateIncludeExcludes = exports.normalizePluginName = void 0; - -var _data = _interopRequireDefault(require("core-js-compat/data")); - -var _invariant = _interopRequireDefault(require("invariant")); - -var _semver = require("semver"); - -var _corejs2BuiltIns = _interopRequireDefault(require("../data/corejs2-built-ins.json")); - -var _plugins = _interopRequireDefault(require("../data/plugins.json")); - -var _moduleTransformations = _interopRequireDefault(require("./module-transformations")); - -var _options = require("./options"); - -var _getPlatformSpecificDefault = require("./polyfills/corejs2/get-platform-specific-default"); - -var _targetsParser = require("./targets-parser"); - -var _utils = require("./utils"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var validateTopLevelOptions = function validateTopLevelOptions(options) { - var validOptions = Object.keys(_options.TopLevelOptions); - - for (var option in options) { - if (!_options.TopLevelOptions[option]) { - throw new Error("Invalid Option: ".concat(option, " is not a valid top-level option.\n Maybe you meant to use '").concat((0, _utils.findSuggestion)(validOptions, option), "'?")); - } - } -}; - -var allPluginsList = Object.keys(_plugins.default); -var modulePlugins = ["proposal-dynamic-import"].concat(_toConsumableArray(Object.keys(_moduleTransformations.default).map(function (m) { - return _moduleTransformations.default[m]; -}))); - -var getValidIncludesAndExcludes = function getValidIncludesAndExcludes(type, corejs) { - return new Set([].concat(_toConsumableArray(allPluginsList), _toConsumableArray(type === "exclude" ? modulePlugins : []), _toConsumableArray(corejs ? corejs == 2 ? [].concat(_toConsumableArray(Object.keys(_corejs2BuiltIns.default)), _toConsumableArray(_getPlatformSpecificDefault.defaultWebIncludes)) : Object.keys(_data.default) : []))); -}; - -var pluginToRegExp = function pluginToRegExp(plugin) { - if (plugin instanceof RegExp) return plugin; - - try { - return new RegExp("^".concat(normalizePluginName(plugin), "$")); - } catch (e) { - return null; - } -}; - -var selectPlugins = function selectPlugins(regexp, type, corejs) { - return Array.from(getValidIncludesAndExcludes(type, corejs)).filter(function (item) { - return regexp instanceof RegExp && regexp.test(item); - }); -}; - -var flatten = function flatten(array) { - var _ref; - - return (_ref = []).concat.apply(_ref, _toConsumableArray(array)); -}; - -var expandIncludesAndExcludes = function expandIncludesAndExcludes() { - var plugins = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var type = arguments.length > 1 ? arguments[1] : undefined; - var corejs = arguments.length > 2 ? arguments[2] : undefined; - if (plugins.length === 0) return []; - var selectedPlugins = plugins.map(function (plugin) { - return selectPlugins(pluginToRegExp(plugin), type, corejs); - }); - var invalidRegExpList = plugins.filter(function (p, i) { - return selectedPlugins[i].length === 0; - }); - (0, _invariant.default)(invalidRegExpList.length === 0, "Invalid Option: The plugins/built-ins '".concat(invalidRegExpList.join(", "), "' passed to the '").concat(type, "' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env")); - return flatten(selectedPlugins); -}; - -var normalizePluginName = function normalizePluginName(plugin) { - return plugin.replace(/^(@babel\/|babel-)(plugin-)?/, ""); -}; - -exports.normalizePluginName = normalizePluginName; - -var checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes() { - var include = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var exclude = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - var duplicates = include.filter(function (opt) { - return exclude.indexOf(opt) >= 0; - }); - (0, _invariant.default)(duplicates.length === 0, "Invalid Option: The plugins/built-ins '".concat(duplicates.join(", "), "' were found in both the \"include\" and\n \"exclude\" options.")); -}; - -exports.checkDuplicateIncludeExcludes = checkDuplicateIncludeExcludes; - -var normalizeTargets = function normalizeTargets(targets) { - if ((0, _targetsParser.isBrowsersQueryValid)(targets)) { - return { - browsers: targets - }; - } - - return Object.assign({}, targets); -}; - -var validateConfigPathOption = function validateConfigPathOption() { - var configPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : process.cwd(); - (0, _invariant.default)(typeof configPath === "string", "Invalid Option: The configPath option '".concat(configPath, "' is invalid, only strings are allowed.")); - return configPath; -}; - -exports.validateConfigPathOption = validateConfigPathOption; - -var validateBoolOption = function validateBoolOption(name, value, defaultValue) { - if (typeof value === "undefined") { - value = defaultValue; - } - - if (typeof value !== "boolean") { - throw new Error("Preset env: '".concat(name, "' option must be a boolean.")); - } - - return value; -}; - -exports.validateBoolOption = validateBoolOption; - -var validateIgnoreBrowserslistConfig = function validateIgnoreBrowserslistConfig(ignoreBrowserslistConfig) { - return validateBoolOption(_options.TopLevelOptions.ignoreBrowserslistConfig, ignoreBrowserslistConfig, false); -}; - -exports.validateIgnoreBrowserslistConfig = validateIgnoreBrowserslistConfig; - -var validateModulesOption = function validateModulesOption() { - var modulesOpt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _options.ModulesOption.auto; - (0, _invariant.default)(_options.ModulesOption[modulesOpt.toString()] || _options.ModulesOption[modulesOpt.toString()] === _options.ModulesOption.false, "Invalid Option: The 'modules' option must be one of \n" + " - 'false' to indicate no module processing\n" + " - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'" + " - 'auto' (default) which will automatically select 'false' if the current\n" + " process is known to support ES module syntax, or \"commonjs\" otherwise\n"); - return modulesOpt; -}; - -exports.validateModulesOption = validateModulesOption; - -var validateUseBuiltInsOption = function validateUseBuiltInsOption() { - var builtInsOpt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - (0, _invariant.default)(_options.UseBuiltInsOption[builtInsOpt.toString()] || _options.UseBuiltInsOption[builtInsOpt.toString()] === _options.UseBuiltInsOption.false, "Invalid Option: The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file"); - return builtInsOpt; -}; - -exports.validateUseBuiltInsOption = validateUseBuiltInsOption; - -function normalizeCoreJSOption(corejs, useBuiltIns) { - var proposals = false; - var rawVersion; - - if (useBuiltIns && corejs === undefined) { - rawVersion = 2; - console.warn("\nWARNING: We noticed you're using the `useBuiltIns` option without declaring a " + "core-js version. Currently, we assume version 2.x when no version " + "is passed. Since this default version will likely change in future " + "versions of Babel, we recommend explicitly setting the core-js version " + "you are using via the `corejs` option.\n" + "\nYou should also be sure that the version you pass to the `corejs` " + "option matches the version specified in your `package.json`'s " + "`dependencies` section. If it doesn't, you need to run one of the " + "following commands:\n\n" + " npm install --save core-js@2 npm install --save core-js@3\n" + " yarn add core-js@2 yarn add core-js@3\n"); - } else if (_typeof(corejs) === "object" && corejs !== null) { - rawVersion = corejs.version; - proposals = Boolean(corejs.proposals); - } else { - rawVersion = corejs; - } - - var version = rawVersion ? (0, _semver.coerce)(String(rawVersion)) : false; - - if (!useBuiltIns && version) { - console.log("\nThe `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n"); - } - - if (useBuiltIns && (!version || version.major < 2 || version.major > 3)) { - throw new RangeError("Invalid Option: The version passed to `corejs` is invalid. Currently, " + "only core-js@2 and core-js@3 are supported."); - } - - return { - version: version, - proposals: proposals - }; -} - -function normalizeOptions(opts) { - validateTopLevelOptions(opts); - var useBuiltIns = validateUseBuiltInsOption(opts.useBuiltIns); - var corejs = normalizeCoreJSOption(opts.corejs, useBuiltIns); - var include = expandIncludesAndExcludes(opts.include, _options.TopLevelOptions.include, !!corejs.version && corejs.version.major); - var exclude = expandIncludesAndExcludes(opts.exclude, _options.TopLevelOptions.exclude, !!corejs.version && corejs.version.major); - checkDuplicateIncludeExcludes(include, exclude); - var shippedProposals = validateBoolOption(_options.TopLevelOptions.shippedProposals, opts.shippedProposals, false) || corejs.proposals; - return { - configPath: validateConfigPathOption(opts.configPath), - corejs: corejs, - debug: validateBoolOption(_options.TopLevelOptions.debug, opts.debug, false), - include: include, - exclude: exclude, - forceAllTransforms: validateBoolOption(_options.TopLevelOptions.forceAllTransforms, opts.forceAllTransforms, false), - ignoreBrowserslistConfig: validateIgnoreBrowserslistConfig(opts.ignoreBrowserslistConfig), - loose: validateBoolOption(_options.TopLevelOptions.loose, opts.loose, false), - modules: validateModulesOption(opts.modules), - shippedProposals: shippedProposals, - spec: validateBoolOption(_options.TopLevelOptions.spec, opts.spec, false), - targets: normalizeTargets(opts.targets), - useBuiltIns: useBuiltIns - }; -} - -}).call(this,require('_process')) -},{"../data/corejs2-built-ins.json":140,"../data/plugins.json":142,"./module-transformations":150,"./options":152,"./polyfills/corejs2/get-platform-specific-default":155,"./targets-parser":163,"./utils":164,"_process":1054,"core-js-compat/data":303,"invariant":840,"semver":1070}],152:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TargetNames = exports.UseBuiltInsOption = exports.ModulesOption = exports.TopLevelOptions = void 0; -var TopLevelOptions = { - configPath: "configPath", - corejs: "corejs", - debug: "debug", - exclude: "exclude", - forceAllTransforms: "forceAllTransforms", - ignoreBrowserslistConfig: "ignoreBrowserslistConfig", - include: "include", - loose: "loose", - modules: "modules", - shippedProposals: "shippedProposals", - spec: "spec", - targets: "targets", - useBuiltIns: "useBuiltIns" -}; -exports.TopLevelOptions = TopLevelOptions; -var ModulesOption = { - false: false, - auto: "auto", - amd: "amd", - commonjs: "commonjs", - cjs: "cjs", - systemjs: "systemjs", - umd: "umd" -}; -exports.ModulesOption = ModulesOption; -var UseBuiltInsOption = { - false: false, - entry: "entry", - usage: "usage" -}; -exports.UseBuiltInsOption = UseBuiltInsOption; -var TargetNames = { - esmodules: "esmodules", - node: "node", - browsers: "browsers", - chrome: "chrome", - opera: "opera", - edge: "edge", - firefox: "firefox", - safari: "safari", - ie: "ie", - ios: "ios", - android: "android", - electron: "electron", - samsung: "samsung", - uglify: "uglify" -}; -exports.TargetNames = TargetNames; - -},{}],153:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.StaticProperties = exports.InstanceProperties = exports.BuiltIns = void 0; -var ArrayNatureIterators = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"]; -var CommonIterators = ["es6.string.iterator"].concat(ArrayNatureIterators); -var PromiseDependencies = ["es6.object.to-string", "es6.promise"]; -var BuiltIns = { - DataView: "es6.typed.data-view", - Float32Array: "es6.typed.float32-array", - Float64Array: "es6.typed.float64-array", - Int8Array: "es6.typed.int8-array", - Int16Array: "es6.typed.int16-array", - Int32Array: "es6.typed.int32-array", - Map: ["es6.map"].concat(_toConsumableArray(CommonIterators)), - Number: "es6.number.constructor", - Promise: PromiseDependencies, - RegExp: ["es6.regexp.constructor"], - Set: ["es6.set"].concat(_toConsumableArray(CommonIterators)), - Symbol: ["es6.symbol", "es7.symbol.async-iterator"], - Uint8Array: "es6.typed.uint8-array", - Uint8ClampedArray: "es6.typed.uint8-clamped-array", - Uint16Array: "es6.typed.uint16-array", - Uint32Array: "es6.typed.uint32-array", - WeakMap: ["es6.weak-map"].concat(_toConsumableArray(CommonIterators)), - WeakSet: ["es6.weak-set"].concat(_toConsumableArray(CommonIterators)) -}; -exports.BuiltIns = BuiltIns; -var InstanceProperties = { - __defineGetter__: ["es7.object.define-getter"], - __defineSetter__: ["es7.object.define-setter"], - __lookupGetter__: ["es7.object.lookup-getter"], - __lookupSetter__: ["es7.object.lookup-setter"], - anchor: ["es6.string.anchor"], - big: ["es6.string.big"], - bind: ["es6.function.bind"], - blink: ["es6.string.blink"], - bold: ["es6.string.bold"], - codePointAt: ["es6.string.code-point-at"], - copyWithin: ["es6.array.copy-within"], - endsWith: ["es6.string.ends-with"], - entries: ArrayNatureIterators, - every: ["es6.array.is-array"], - fill: ["es6.array.fill"], - filter: ["es6.array.filter"], - finally: ["es7.promise.finally"].concat(PromiseDependencies), - find: ["es6.array.find"], - findIndex: ["es6.array.find-index"], - fixed: ["es6.string.fixed"], - flags: ["es6.regexp.flags"], - flatMap: ["es7.array.flat-map"], - fontcolor: ["es6.string.fontcolor"], - fontsize: ["es6.string.fontsize"], - forEach: ["es6.array.for-each"], - includes: ["es6.string.includes", "es7.array.includes"], - indexOf: ["es6.array.index-of"], - italics: ["es6.string.italics"], - keys: ArrayNatureIterators, - lastIndexOf: ["es6.array.last-index-of"], - link: ["es6.string.link"], - map: ["es6.array.map"], - match: ["es6.regexp.match"], - name: ["es6.function.name"], - padStart: ["es7.string.pad-start"], - padEnd: ["es7.string.pad-end"], - reduce: ["es6.array.reduce"], - reduceRight: ["es6.array.reduce-right"], - repeat: ["es6.string.repeat"], - replace: ["es6.regexp.replace"], - search: ["es6.regexp.search"], - slice: ["es6.array.slice"], - small: ["es6.string.small"], - some: ["es6.array.some"], - sort: ["es6.array.sort"], - split: ["es6.regexp.split"], - startsWith: ["es6.string.starts-with"], - strike: ["es6.string.strike"], - sub: ["es6.string.sub"], - sup: ["es6.string.sup"], - toISOString: ["es6.date.to-iso-string"], - toJSON: ["es6.date.to-json"], - toString: ["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"], - trim: ["es6.string.trim"], - trimEnd: ["es7.string.trim-right"], - trimLeft: ["es7.string.trim-left"], - trimRight: ["es7.string.trim-right"], - trimStart: ["es7.string.trim-left"], - values: ArrayNatureIterators -}; -exports.InstanceProperties = InstanceProperties; -var StaticProperties = { - Array: { - from: ["es6.array.from", "es6.string.iterator"], - isArray: "es6.array.is-array", - of: "es6.array.of" - }, - Date: { - now: "es6.date.now" - }, - Object: { - assign: "es6.object.assign", - create: "es6.object.create", - defineProperty: "es6.object.define-property", - defineProperties: "es6.object.define-properties", - entries: "es7.object.entries", - freeze: "es6.object.freeze", - getOwnPropertyDescriptors: "es7.object.get-own-property-descriptors", - getOwnPropertySymbols: "es6.symbol", - is: "es6.object.is", - isExtensible: "es6.object.is-extensible", - isFrozen: "es6.object.is-frozen", - isSealed: "es6.object.is-sealed", - keys: "es6.object.keys", - preventExtensions: "es6.object.prevent-extensions", - seal: "es6.object.seal", - setPrototypeOf: "es6.object.set-prototype-of", - values: "es7.object.values" - }, - Math: { - acosh: "es6.math.acosh", - asinh: "es6.math.asinh", - atanh: "es6.math.atanh", - cbrt: "es6.math.cbrt", - clz32: "es6.math.clz32", - cosh: "es6.math.cosh", - expm1: "es6.math.expm1", - fround: "es6.math.fround", - hypot: "es6.math.hypot", - imul: "es6.math.imul", - log1p: "es6.math.log1p", - log10: "es6.math.log10", - log2: "es6.math.log2", - sign: "es6.math.sign", - sinh: "es6.math.sinh", - tanh: "es6.math.tanh", - trunc: "es6.math.trunc" - }, - String: { - fromCodePoint: "es6.string.from-code-point", - raw: "es6.string.raw" - }, - Number: { - EPSILON: "es6.number.epsilon", - MIN_SAFE_INTEGER: "es6.number.min-safe-integer", - MAX_SAFE_INTEGER: "es6.number.max-safe-integer", - isFinite: "es6.number.is-finite", - isInteger: "es6.number.is-integer", - isSafeInteger: "es6.number.is-safe-integer", - isNaN: "es6.number.is-nan", - parseFloat: "es6.number.parse-float", - parseInt: "es6.number.parse-int" - }, - Promise: { - all: CommonIterators, - race: CommonIterators - }, - Reflect: { - apply: "es6.reflect.apply", - construct: "es6.reflect.construct", - defineProperty: "es6.reflect.define-property", - deleteProperty: "es6.reflect.delete-property", - get: "es6.reflect.get", - getOwnPropertyDescriptor: "es6.reflect.get-own-property-descriptor", - getPrototypeOf: "es6.reflect.get-prototype-of", - has: "es6.reflect.has", - isExtensible: "es6.reflect.is-extensible", - ownKeys: "es6.reflect.own-keys", - preventExtensions: "es6.reflect.prevent-extensions", - set: "es6.reflect.set", - setPrototypeOf: "es6.reflect.set-prototype-of" - } -}; -exports.StaticProperties = StaticProperties; - -},{}],154:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json")); - -var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default")); - -var _filterItems = _interopRequireDefault(require("../../filter-items")); - -var _utils = require("../../utils"); - -var _debug = require("../../debug"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _default(_, _ref) { - var include = _ref.include, - exclude = _ref.exclude, - polyfillTargets = _ref.polyfillTargets, - regenerator = _ref.regenerator, - debug = _ref.debug; - var polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets)); - var isPolyfillImport = { - ImportDeclaration: function ImportDeclaration(path) { - if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { - this.replaceBySeparateModulesImport(path); - } - }, - Program: function Program(path) { - var _this = this; - - path.get("body").forEach(function (bodyPath) { - if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { - _this.replaceBySeparateModulesImport(bodyPath); - } - }); - } - }; - return { - name: "corejs2-entry", - visitor: isPolyfillImport, - pre: function pre() { - this.importPolyfillIncluded = false; - - this.replaceBySeparateModulesImport = function (path) { - this.importPolyfillIncluded = true; - - if (regenerator) { - (0, _utils.createImport)(path, "regenerator-runtime"); - } - - var modules = Array.from(polyfills).reverse(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = modules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var module = _step.value; - (0, _utils.createImport)(path, module); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - path.remove(); - }; - }, - post: function post() { - if (debug) { - (0, _debug.logEntryPolyfills)("@babel/polyfill", this.importPolyfillIncluded, polyfills, this.file.opts.filename, polyfillTargets, _corejs2BuiltIns.default); - } - } - }; -} - -},{"../../../data/corejs2-built-ins.json":140,"../../debug":146,"../../filter-items":147,"../../utils":164,"./get-platform-specific-default":155}],155:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; -exports.defaultWebIncludes = void 0; -var defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; -exports.defaultWebIncludes = defaultWebIncludes; - -function _default(targets) { - var targetNames = Object.keys(targets); - var isAnyTarget = !targetNames.length; - var isWebTarget = targetNames.some(function (name) { - return name !== "node"; - }); - return isAnyTarget || isWebTarget ? defaultWebIncludes : null; -} - -},{}],156:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json")); - -var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default")); - -var _filterItems = _interopRequireDefault(require("../../filter-items")); - -var _builtInDefinitions = require("./built-in-definitions"); - -var _utils = require("../../utils"); - -var _debug = require("../../debug"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead."; - -function _default(_ref2, _ref3) { - var t = _ref2.types; - var include = _ref3.include, - exclude = _ref3.exclude, - polyfillTargets = _ref3.polyfillTargets, - debug = _ref3.debug; - var polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets)); - var addAndRemovePolyfillImports = { - ImportDeclaration: function ImportDeclaration(path) { - if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { - console.warn(NO_DIRECT_POLYFILL_IMPORT); - path.remove(); - } - }, - Program: function Program(path) { - path.get("body").forEach(function (bodyPath) { - if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { - console.warn(NO_DIRECT_POLYFILL_IMPORT); - bodyPath.remove(); - } - }); - }, - ReferencedIdentifier: function ReferencedIdentifier(_ref4) { - var name = _ref4.node.name, - parent = _ref4.parent, - scope = _ref4.scope; - if (t.isMemberExpression(parent)) return; - if (!(0, _utils.has)(_builtInDefinitions.BuiltIns, name)) return; - if (scope.getBindingIdentifier(name)) return; - var BuiltInDependencies = _builtInDefinitions.BuiltIns[name]; - this.addUnsupported(BuiltInDependencies); - }, - CallExpression: function CallExpression(path) { - if (path.node.arguments.length) return; - var callee = path.node.callee; - if (!t.isMemberExpression(callee)) return; - if (!callee.computed) return; - - if (!path.get("callee.property").matchesPattern("Symbol.iterator")) { - return; - } - - this.addImport("web.dom.iterable"); - }, - BinaryExpression: function BinaryExpression(path) { - if (path.node.operator !== "in") return; - if (!path.get("left").matchesPattern("Symbol.iterator")) return; - this.addImport("web.dom.iterable"); - }, - YieldExpression: function YieldExpression(path) { - if (path.node.delegate) { - this.addImport("web.dom.iterable"); - } - }, - MemberExpression: { - enter: function enter(path) { - var node = path.node; - var object = node.object, - property = node.property; - if ((0, _utils.isNamespaced)(path.get("object"))) return; - var evaluatedPropType = object.name; - var propertyName = ""; - var instanceType = ""; - - if (node.computed) { - if (t.isStringLiteral(property)) { - propertyName = property.value; - } else { - var result = path.get("property").evaluate(); - - if (result.confident && result.value) { - propertyName = result.value; - } - } - } else { - propertyName = property.name; - } - - if (path.scope.getBindingIdentifier(object.name)) { - var _result = path.get("object").evaluate(); - - if (_result.value) { - instanceType = (0, _utils.getType)(_result.value); - } else if (_result.deopt && _result.deopt.isIdentifier()) { - evaluatedPropType = _result.deopt.node.name; - } - } - - if ((0, _utils.has)(_builtInDefinitions.StaticProperties, evaluatedPropType)) { - var BuiltInProperties = _builtInDefinitions.StaticProperties[evaluatedPropType]; - - if ((0, _utils.has)(BuiltInProperties, propertyName)) { - var StaticPropertyDependencies = BuiltInProperties[propertyName]; - this.addUnsupported(StaticPropertyDependencies); - } - } - - if ((0, _utils.has)(_builtInDefinitions.InstanceProperties, propertyName)) { - var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[propertyName]; - - if (instanceType) { - InstancePropertyDependencies = InstancePropertyDependencies.filter(function (module) { - return module.includes(instanceType); - }); - } - - this.addUnsupported(InstancePropertyDependencies); - } - }, - exit: function exit(path) { - var name = path.node.object.name; - if (!(0, _utils.has)(_builtInDefinitions.BuiltIns, name)) return; - if (path.scope.getBindingIdentifier(name)) return; - var BuiltInDependencies = _builtInDefinitions.BuiltIns[name]; - this.addUnsupported(BuiltInDependencies); - } - }, - VariableDeclarator: function VariableDeclarator(path) { - var node = path.node; - var id = node.id, - init = node.init; - if (!t.isObjectPattern(id)) return; - if (init && path.scope.getBindingIdentifier(init.name)) return; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = id.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var _ref = _step.value; - var key = _ref.key; - - if (!node.computed && t.isIdentifier(key) && (0, _utils.has)(_builtInDefinitions.InstanceProperties, key.name)) { - var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[key.name]; - this.addUnsupported(InstancePropertyDependencies); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - }; - return { - name: "corejs2-usage", - pre: function pre(_ref5) { - var path = _ref5.path; - this.polyfillsSet = new Set(); - - this.addImport = function (builtIn) { - if (!this.polyfillsSet.has(builtIn)) { - this.polyfillsSet.add(builtIn); - (0, _utils.createImport)(path, builtIn); - } - }; - - this.addUnsupported = function (builtIn) { - var modules = Array.isArray(builtIn) ? builtIn : [builtIn]; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = modules[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var module = _step2.value; - - if (polyfills.has(module)) { - this.addImport(module); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - }; - }, - post: function post() { - if (debug) { - (0, _debug.logUsagePolyfills)(this.polyfillsSet, this.file.opts.filename, polyfillTargets, _corejs2BuiltIns.default); - } - }, - visitor: addAndRemovePolyfillImports - }; -} - -},{"../../../data/corejs2-built-ins.json":140,"../../debug":146,"../../filter-items":147,"../../utils":164,"./built-in-definitions":153,"./get-platform-specific-default":155}],157:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.PossibleGlobalObjects = exports.CommonInstanceDependencies = exports.StaticProperties = exports.InstanceProperties = exports.BuiltIns = exports.PromiseDependencies = exports.CommonIterators = void 0; -var ArrayNatureIterators = ["es.array.iterator", "web.dom-collections.iterator"]; -var CommonIterators = ["es.string.iterator"].concat(ArrayNatureIterators); -exports.CommonIterators = CommonIterators; -var ArrayNatureIteratorsWithTag = ["es.object.to-string"].concat(ArrayNatureIterators); -var CommonIteratorsWithTag = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators)); -var TypedArrayDependencies = ["es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice"]; -var TypedArrayStaticMethods = { - from: "es.typed-array.from", - of: "es.typed-array.of" -}; -var PromiseDependencies = ["es.promise", "es.object.to-string"]; -exports.PromiseDependencies = PromiseDependencies; -var PromiseDependenciesWithIterators = [].concat(PromiseDependencies, _toConsumableArray(CommonIterators)); -var SymbolDependencies = ["es.symbol", "es.symbol.description", "es.object.to-string"]; -var MapDependencies = ["es.map", "esnext.map.delete-all", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag)); -var SetDependencies = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag)); -var WeakMapDependencies = ["es.weak-map", "esnext.weak-map.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag)); -var WeakSetDependencies = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag)); -var URLSearchParamsDependencies = ["web.url"].concat(_toConsumableArray(CommonIteratorsWithTag)); -var BuiltIns = { - AggregateError: ["esnext.aggregate-error"].concat(_toConsumableArray(CommonIterators)), - ArrayBuffer: ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"], - DataView: ["es.data-view", "es.array-buffer.slice", "es.object.to-string"], - Date: ["es.date.to-string"], - Float32Array: ["es.typed-array.float32-array"].concat(TypedArrayDependencies), - Float64Array: ["es.typed-array.float64-array"].concat(TypedArrayDependencies), - Int8Array: ["es.typed-array.int8-array"].concat(TypedArrayDependencies), - Int16Array: ["es.typed-array.int16-array"].concat(TypedArrayDependencies), - Int32Array: ["es.typed-array.int32-array"].concat(TypedArrayDependencies), - Uint8Array: ["es.typed-array.uint8-array"].concat(TypedArrayDependencies), - Uint8ClampedArray: ["es.typed-array.uint8-clamped-array"].concat(TypedArrayDependencies), - Uint16Array: ["es.typed-array.uint16-array"].concat(TypedArrayDependencies), - Uint32Array: ["es.typed-array.uint32-array"].concat(TypedArrayDependencies), - Map: MapDependencies, - Number: ["es.number.constructor"], - Observable: ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag)), - Promise: PromiseDependencies, - RegExp: ["es.regexp.constructor", "es.regexp.exec", "es.regexp.to-string"], - Set: SetDependencies, - Symbol: SymbolDependencies, - URL: ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies)), - URLSearchParams: URLSearchParamsDependencies, - WeakMap: WeakMapDependencies, - WeakSet: WeakSetDependencies, - clearImmediate: ["web.immediate"], - compositeKey: ["esnext.composite-key"], - compositeSymbol: ["esnext.composite-symbol"].concat(SymbolDependencies), - fetch: PromiseDependencies, - globalThis: ["esnext.global-this"], - parseFloat: ["es.parse-float"], - parseInt: ["es.parse-int"], - queueMicrotask: ["web.queue-microtask"], - setTimeout: ["web.timers"], - setInterval: ["web.timers"], - setImmediate: ["web.immediate"] -}; -exports.BuiltIns = BuiltIns; -var InstanceProperties = { - at: ["esnext.string.at"], - anchor: ["es.string.anchor"], - big: ["es.string.big"], - bind: ["es.function.bind"], - blink: ["es.string.blink"], - bold: ["es.string.bold"], - codePointAt: ["es.string.code-point-at"], - codePoints: ["esnext.string.code-points"], - concat: ["es.array.concat"], - copyWithin: ["es.array.copy-within"], - description: ["es.symbol", "es.symbol.description"], - endsWith: ["es.string.ends-with"], - entries: ArrayNatureIteratorsWithTag, - every: ["es.array.every"], - exec: ["es.regexp.exec"], - fill: ["es.array.fill"], - filter: ["es.array.filter"], - finally: ["es.promise.finally"].concat(PromiseDependencies), - find: ["es.array.find"], - findIndex: ["es.array.find-index"], - fixed: ["es.string.fixed"], - flags: ["es.regexp.flags"], - flat: ["es.array.flat", "es.array.unscopables.flat"], - flatMap: ["es.array.flat-map", "es.array.unscopables.flat-map"], - fontcolor: ["es.string.fontcolor"], - fontsize: ["es.string.fontsize"], - forEach: ["es.array.for-each", "web.dom-collections.for-each"], - includes: ["es.array.includes", "es.string.includes"], - indexOf: ["es.array.index-of"], - italics: ["es.string.italics"], - join: ["es.array.join"], - keys: ArrayNatureIteratorsWithTag, - lastIndex: ["esnext.array.last-index"], - lastIndexOf: ["es.array.last-index-of"], - lastItem: ["esnext.array.last-item"], - link: ["es.string.link"], - match: ["es.string.match", "es.regexp.exec"], - matchAll: ["esnext.string.match-all"], - map: ["es.array.map"], - name: ["es.function.name"], - padEnd: ["es.string.pad-end"], - padStart: ["es.string.pad-start"], - reduce: ["es.array.reduce"], - reduceRight: ["es.array.reduce-right"], - repeat: ["es.string.repeat"], - replace: ["es.string.replace", "es.regexp.exec"], - replaceAll: ["esnext.string.replace-all"], - reverse: ["es.array.reverse"], - search: ["es.string.search", "es.regexp.exec"], - slice: ["es.array.slice"], - small: ["es.string.small"], - some: ["es.array.some"], - sort: ["es.array.sort"], - splice: ["es.array.splice"], - split: ["es.string.split", "es.regexp.exec"], - startsWith: ["es.string.starts-with"], - strike: ["es.string.strike"], - sub: ["es.string.sub"], - sup: ["es.string.sup"], - toFixed: ["es.number.to-fixed"], - toISOString: ["es.date.to-iso-string"], - toJSON: ["es.date.to-json", "web.url.to-json"], - toPrecision: ["es.number.to-precision"], - toString: ["es.object.to-string", "es.regexp.to-string", "es.date.to-string"], - trim: ["es.string.trim"], - trimEnd: ["es.string.trim-end"], - trimLeft: ["es.string.trim-start"], - trimRight: ["es.string.trim-end"], - trimStart: ["es.string.trim-start"], - values: ArrayNatureIteratorsWithTag, - __defineGetter__: ["es.object.define-getter"], - __defineSetter__: ["es.object.define-setter"], - __lookupGetter__: ["es.object.lookup-getter"], - __lookupSetter__: ["es.object.lookup-setter"] -}; -exports.InstanceProperties = InstanceProperties; -var StaticProperties = { - Array: { - from: ["es.array.from", "es.string.iterator"], - isArray: ["es.array.is-array"], - of: ["es.array.of"] - }, - Date: { - now: "es.date.now" - }, - Object: { - assign: "es.object.assign", - create: "es.object.create", - defineProperty: "es.object.define-property", - defineProperties: "es.object.define-properties", - entries: "es.object.entries", - freeze: "es.object.freeze", - fromEntries: ["es.object.from-entries", "es.array.iterator"], - getOwnPropertyDescriptor: "es.object.get-own-property-descriptor", - getOwnPropertyDescriptors: "es.object.get-own-property-descriptors", - getOwnPropertyNames: "es.object.get-own-property-names", - getOwnPropertySymbols: "es.symbol", - getPrototypeOf: "es.object.get-prototype-of", - is: "es.object.is", - isExtensible: "es.object.is-extensible", - isFrozen: "es.object.is-frozen", - isSealed: "es.object.is-sealed", - keys: "es.object.keys", - preventExtensions: "es.object.prevent-extensions", - seal: "es.object.seal", - setPrototypeOf: "es.object.set-prototype-of", - values: "es.object.values" - }, - Math: { - DEG_PER_RAD: "esnext.math.deg-per-rad", - RAD_PER_DEG: "esnext.math.rad-per-deg", - acosh: "es.math.acosh", - asinh: "es.math.asinh", - atanh: "es.math.atanh", - cbrt: "es.math.cbrt", - clamp: "esnext.math.clamp", - clz32: "es.math.clz32", - cosh: "es.math.cosh", - degrees: "esnext.math.degrees", - expm1: "es.math.expm1", - fround: "es.math.fround", - fscale: "esnext.math.fscale", - hypot: "es.math.hypot", - iaddh: "esnext.math.iaddh", - imul: "es.math.imul", - imulh: "esnext.math.imulh", - isubh: "esnext.math.isubh", - log1p: "es.math.log1p", - log10: "es.math.log10", - log2: "es.math.log2", - radians: "esnext.math.radians", - scale: "esnext.math.scale", - seededPRNG: "esnext.math.seeded-prng", - sign: "es.math.sign", - signbit: "esnext.math.signbit", - sinh: "es.math.sinh", - tanh: "es.math.tanh", - trunc: "es.math.trunc", - umulh: "esnext.math.umulh" - }, - String: { - fromCodePoint: "es.string.from-code-point", - raw: "es.string.raw" - }, - Number: { - EPSILON: "es.number.epsilon", - MIN_SAFE_INTEGER: "es.number.min-safe-integer", - MAX_SAFE_INTEGER: "es.number.max-safe-integer", - fromString: "esnext.number.from-string", - isFinite: "es.number.is-finite", - isInteger: "es.number.is-integer", - isSafeInteger: "es.number.is-safe-integer", - isNaN: "es.number.is-nan", - parseFloat: "es.number.parse-float", - parseInt: "es.number.parse-int" - }, - Map: { - from: ["esnext.map.from"].concat(_toConsumableArray(MapDependencies)), - groupBy: ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies)), - keyBy: ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies)), - of: ["esnext.map.of"].concat(_toConsumableArray(MapDependencies)) - }, - Set: { - from: ["esnext.set.from"].concat(_toConsumableArray(SetDependencies)), - of: ["esnext.set.of"].concat(_toConsumableArray(SetDependencies)) - }, - WeakMap: { - from: ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies)), - of: ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)) - }, - WeakSet: { - from: ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies)), - of: ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)) - }, - Promise: { - all: PromiseDependenciesWithIterators, - allSettled: ["esnext.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators)), - any: ["esnext.promise.any"].concat(_toConsumableArray(PromiseDependenciesWithIterators)), - race: PromiseDependenciesWithIterators, - try: ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators)) - }, - Reflect: { - apply: "es.reflect.apply", - construct: "es.reflect.construct", - defineMetadata: "esnext.reflect.define-metadata", - defineProperty: "es.reflect.define-property", - deleteMetadata: "esnext.reflect.delete-metadata", - deleteProperty: "es.reflect.delete-property", - get: "es.reflect.get", - getMetadata: "esnext.reflect.get-metadata", - getMetadataKeys: "esnext.reflect.get-metadata-keys", - getOwnMetadata: "esnext.reflect.get-own-metadata", - getOwnMetadataKeys: "esnext.reflect.get-own-metadata-keys", - getOwnPropertyDescriptor: "es.reflect.get-own-property-descriptor", - getPrototypeOf: "es.reflect.get-prototype-of", - has: "es.reflect.has", - hasMetadata: "esnext.reflect.has-metadata", - hasOwnMetadata: "esnext.reflect.has-own-metadata", - isExtensible: "es.reflect.is-extensible", - metadata: "esnext.reflect.metadata", - ownKeys: "es.reflect.own-keys", - preventExtensions: "es.reflect.prevent-extensions", - set: "es.reflect.set", - setPrototypeOf: "es.reflect.set-prototype-of" - }, - Symbol: { - asyncIterator: ["es.symbol.async-iterator"], - dispose: ["esnext.symbol.dispose"], - hasInstance: ["es.symbol.has-instance", "es.function.has-instance"], - isConcatSpreadable: ["es.symbol.is-concat-spreadable", "es.array.concat"], - iterator: ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag)), - match: ["es.symbol.match", "es.string.match"], - observable: ["esnext.symbol.observable"], - patternMatch: ["esnext.symbol.pattern-match"], - replace: ["es.symbol.replace", "es.string.replace"], - search: ["es.symbol.search", "es.string.search"], - species: ["es.symbol.species", "es.array.species"], - split: ["es.symbol.split", "es.string.split"], - toPrimitive: ["es.symbol.to-primitive", "es.date.to-primitive"], - toStringTag: ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"], - unscopables: ["es.symbol.unscopables"] - }, - ArrayBuffer: { - isView: ["es.array-buffer.is-view"] - }, - Int8Array: TypedArrayStaticMethods, - Uint8Array: TypedArrayStaticMethods, - Uint8ClampedArray: TypedArrayStaticMethods, - Int16Array: TypedArrayStaticMethods, - Uint16Array: TypedArrayStaticMethods, - Int32Array: TypedArrayStaticMethods, - Uint32Array: TypedArrayStaticMethods, - Float32Array: TypedArrayStaticMethods, - Float64Array: TypedArrayStaticMethods -}; -exports.StaticProperties = StaticProperties; -var CommonInstanceDependencies = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]); -exports.CommonInstanceDependencies = CommonInstanceDependencies; -var PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]); -exports.PossibleGlobalObjects = PossibleGlobalObjects; - -},{}],158:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _data = _interopRequireDefault(require("core-js-compat/data")); - -var _entries = _interopRequireDefault(require("core-js-compat/entries")); - -var _getModulesListForTargetVersion = _interopRequireDefault(require("core-js-compat/get-modules-list-for-target-version")); - -var _filterItems = _interopRequireDefault(require("../../filter-items")); - -var _utils = require("../../utils"); - -var _debug = require("../../debug"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isBabelPolyfillSource(source) { - return source === "@babel/polyfill" || source === "babel-polyfill"; -} - -function isCoreJSSource(source) { - if (typeof source === "string") { - source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase(); - } - - return (0, _utils.has)(_entries.default, source) && _entries.default[source]; -} - -var BABEL_POLYFILL_DEPRECATION = "\n `@babel/polyfill` is deprecated. Please, use required parts of `core-js`\n and `regenerator-runtime/runtime` separately"; - -function _default(_, _ref) { - var corejs = _ref.corejs, - include = _ref.include, - exclude = _ref.exclude, - polyfillTargets = _ref.polyfillTargets, - debug = _ref.debug; - var polyfills = (0, _filterItems.default)(_data.default, include, exclude, polyfillTargets, null); - var available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version)); - - function shouldReplace(source, modules) { - if (!modules) return false; - - if (modules.length === 1 && polyfills.has(modules[0]) && available.has(modules[0]) && (0, _utils.getModulePath)(modules[0]) === source) { - return false; - } - - return true; - } - - var isPolyfillImport = { - ImportDeclaration: function ImportDeclaration(path) { - var source = (0, _utils.getImportSource)(path); - if (!source) return; - - if (isBabelPolyfillSource(source)) { - console.warn(BABEL_POLYFILL_DEPRECATION); - } else { - var modules = isCoreJSSource(source); - - if (shouldReplace(source, modules)) { - this.replaceBySeparateModulesImport(path, modules); - } - } - }, - Program: { - enter: function enter(path) { - var _this = this; - - path.get("body").forEach(function (bodyPath) { - var source = (0, _utils.getRequireSource)(bodyPath); - if (!source) return; - - if (isBabelPolyfillSource(source)) { - console.warn(BABEL_POLYFILL_DEPRECATION); - } else { - var modules = isCoreJSSource(source); - - if (shouldReplace(source, modules)) { - _this.replaceBySeparateModulesImport(bodyPath, modules); - } - } - }); - }, - exit: function exit(path) { - var _this2 = this; - - var filtered = (0, _utils.intersection)(polyfills, this.polyfillsSet, available); - var reversed = Array.from(filtered).reverse(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = reversed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var module = _step.value; - - if (!this.injectedPolyfills.has(module)) { - (0, _utils.createImport)(path, module); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - filtered.forEach(function (module) { - return _this2.injectedPolyfills.add(module); - }); - } - } - }; - return { - name: "corejs3-entry", - visitor: isPolyfillImport, - pre: function pre() { - this.injectedPolyfills = new Set(); - this.polyfillsSet = new Set(); - - this.replaceBySeparateModulesImport = function (path, modules) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = modules[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var module = _step2.value; - this.polyfillsSet.add(module); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - path.remove(); - }; - }, - post: function post() { - if (debug) { - (0, _debug.logEntryPolyfills)("core-js", this.injectedPolyfills.size > 0, this.injectedPolyfills, this.file.opts.filename, polyfillTargets, _data.default); - } - } - }; -} - -},{"../../debug":146,"../../filter-items":147,"../../utils":164,"core-js-compat/data":303,"core-js-compat/entries":304,"core-js-compat/get-modules-list-for-target-version":305}],159:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = ["esnext.global-this", "esnext.string.match-all"]; -exports.default = _default; - -},{}],160:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _data = _interopRequireDefault(require("core-js-compat/data")); - -var _shippedProposals = _interopRequireDefault(require("./shipped-proposals")); - -var _getModulesListForTargetVersion = _interopRequireDefault(require("core-js-compat/get-modules-list-for-target-version")); - -var _filterItems = _interopRequireDefault(require("../../filter-items")); - -var _builtInDefinitions = require("./built-in-definitions"); - -var _utils = require("../../utils"); - -var _debug = require("../../debug"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the direct import of `core-js` or use `useBuiltIns: 'entry'` instead."; -var corejs3PolyfillsWithoutProposals = Object.keys(_data.default).filter(function (name) { - return !name.startsWith("esnext."); -}).reduce(function (memo, key) { - memo[key] = _data.default[key]; - return memo; -}, {}); - -var corejs3PolyfillsWithShippedProposals = _shippedProposals.default.reduce(function (memo, key) { - memo[key] = _data.default[key]; - return memo; -}, Object.assign({}, corejs3PolyfillsWithoutProposals)); - -function _default(_, _ref) { - var corejs = _ref.corejs, - include = _ref.include, - exclude = _ref.exclude, - polyfillTargets = _ref.polyfillTargets, - proposals = _ref.proposals, - shippedProposals = _ref.shippedProposals, - debug = _ref.debug; - var polyfills = (0, _filterItems.default)(proposals ? _data.default : shippedProposals ? corejs3PolyfillsWithShippedProposals : corejs3PolyfillsWithoutProposals, include, exclude, polyfillTargets, null); - var available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version)); - - function resolveKey(path, computed) { - var node = path.node, - parent = path.parent, - scope = path.scope; - if (path.isStringLiteral()) return node.value; - var name = node.name; - var isIdentifier = path.isIdentifier(); - if (isIdentifier && !(computed || parent.computed)) return name; - - if (!isIdentifier || scope.getBindingIdentifier(name)) { - var _path$evaluate = path.evaluate(), - value = _path$evaluate.value; - - if (typeof value === "string") return value; - } - } - - function resolveSource(path) { - var node = path.node, - scope = path.scope; - var builtIn, instanceType; - - if (node) { - builtIn = node.name; - - if (!path.isIdentifier() || scope.getBindingIdentifier(builtIn)) { - var _path$evaluate2 = path.evaluate(), - deopt = _path$evaluate2.deopt, - value = _path$evaluate2.value; - - if (value !== undefined) { - instanceType = (0, _utils.getType)(value); - } else if (deopt && deopt.isIdentifier()) { - builtIn = deopt.node.name; - } - } - } - - return { - builtIn: builtIn, - instanceType: instanceType, - isNamespaced: (0, _utils.isNamespaced)(path) - }; - } - - var addAndRemovePolyfillImports = { - ImportDeclaration: function ImportDeclaration(path) { - if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { - console.warn(NO_DIRECT_POLYFILL_IMPORT); - path.remove(); - } - }, - Program: { - enter: function enter(path) { - path.get("body").forEach(function (bodyPath) { - if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { - console.warn(NO_DIRECT_POLYFILL_IMPORT); - bodyPath.remove(); - } - }); - }, - exit: function exit(path) { - var _this = this; - - var filtered = (0, _utils.intersection)(polyfills, this.polyfillsSet, available); - var reversed = Array.from(filtered).reverse(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = reversed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var module = _step.value; - - if (!this.injectedPolyfills.has(module)) { - (0, _utils.createImport)(path, module); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - filtered.forEach(function (module) { - return _this.injectedPolyfills.add(module); - }); - } - }, - Import: function Import() { - this.addUnsupported(_builtInDefinitions.PromiseDependencies); - }, - Function: function Function(_ref2) { - var node = _ref2.node; - - if (node.async) { - this.addUnsupported(_builtInDefinitions.PromiseDependencies); - } - }, - "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern() { - this.addUnsupported(_builtInDefinitions.CommonIterators); - }, - SpreadElement: function SpreadElement(_ref3) { - var parentPath = _ref3.parentPath; - - if (!parentPath.isObjectExpression()) { - this.addUnsupported(_builtInDefinitions.CommonIterators); - } - }, - YieldExpression: function YieldExpression(_ref4) { - var node = _ref4.node; - - if (node.delegate) { - this.addUnsupported(_builtInDefinitions.CommonIterators); - } - }, - ReferencedIdentifier: function ReferencedIdentifier(_ref5) { - var name = _ref5.node.name, - scope = _ref5.scope; - if (scope.getBindingIdentifier(name)) return; - this.addBuiltInDependencies(name); - }, - MemberExpression: function MemberExpression(path) { - var source = resolveSource(path.get("object")); - var key = resolveKey(path.get("property")); - this.addPropertyDependencies(source, key); - }, - ObjectPattern: function ObjectPattern(path) { - var parentPath = path.parentPath, - parent = path.parent, - key = path.key; - var source; - - if (parentPath.isVariableDeclarator()) { - source = resolveSource(parentPath.get("init")); - } else if (parentPath.isAssignmentExpression()) { - source = resolveSource(parentPath.get("right")); - } else if (parentPath.isFunctionExpression()) { - var grand = parentPath.parentPath; - - if (grand.isCallExpression() || grand.isNewExpression()) { - if (grand.node.callee === parent) { - source = resolveSource(grand.get("arguments")[key]); - } - } - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = path.get("properties")[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var property = _step2.value; - - if (property.isObjectProperty()) { - var _key = resolveKey(property.get("key")); - - this.addPropertyDependencies(source, _key); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - }, - BinaryExpression: function BinaryExpression(path) { - if (path.node.operator !== "in") return; - var source = resolveSource(path.get("right")); - var key = resolveKey(path.get("left"), true); - this.addPropertyDependencies(source, key); - } - }; - return { - name: "corejs3-usage", - pre: function pre() { - this.injectedPolyfills = new Set(); - this.polyfillsSet = new Set(); - - this.addUnsupported = function (builtIn) { - var modules = Array.isArray(builtIn) ? builtIn : [builtIn]; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = modules[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var module = _step3.value; - this.polyfillsSet.add(module); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - }; - - this.addBuiltInDependencies = function (builtIn) { - if ((0, _utils.has)(_builtInDefinitions.BuiltIns, builtIn)) { - var BuiltInDependencies = _builtInDefinitions.BuiltIns[builtIn]; - this.addUnsupported(BuiltInDependencies); - } - }; - - this.addPropertyDependencies = function () { - var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var key = arguments.length > 1 ? arguments[1] : undefined; - var builtIn = source.builtIn, - instanceType = source.instanceType, - isNamespaced = source.isNamespaced; - if (isNamespaced) return; - - if (_builtInDefinitions.PossibleGlobalObjects.has(builtIn)) { - this.addBuiltInDependencies(key); - } else if ((0, _utils.has)(_builtInDefinitions.StaticProperties, builtIn)) { - var BuiltInProperties = _builtInDefinitions.StaticProperties[builtIn]; - - if ((0, _utils.has)(BuiltInProperties, key)) { - var StaticPropertyDependencies = BuiltInProperties[key]; - return this.addUnsupported(StaticPropertyDependencies); - } - } - - if (!(0, _utils.has)(_builtInDefinitions.InstanceProperties, key)) return; - var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[key]; - - if (instanceType) { - InstancePropertyDependencies = InstancePropertyDependencies.filter(function (m) { - return m.includes(instanceType) || _builtInDefinitions.CommonInstanceDependencies.has(m); - }); - } - - this.addUnsupported(InstancePropertyDependencies); - }; - }, - post: function post() { - if (debug) { - (0, _debug.logUsagePolyfills)(this.injectedPolyfills, this.file.opts.filename, polyfillTargets, _data.default); - } - }, - visitor: addAndRemovePolyfillImports - }; -} - -},{"../../debug":146,"../../filter-items":147,"../../utils":164,"./built-in-definitions":157,"./shipped-proposals":159,"core-js-compat/data":303,"core-js-compat/get-modules-list-for-target-version":305}],161:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _utils = require("../../utils"); - -function isRegeneratorSource(source) { - return source === "regenerator-runtime/runtime"; -} - -function _default() { - var visitor = { - ImportDeclaration: function ImportDeclaration(path) { - if (isRegeneratorSource((0, _utils.getImportSource)(path))) { - this.regeneratorImportExcluded = true; - path.remove(); - } - }, - Program: function Program(path) { - var _this = this; - - path.get("body").forEach(function (bodyPath) { - if (isRegeneratorSource((0, _utils.getRequireSource)(bodyPath))) { - _this.regeneratorImportExcluded = true; - bodyPath.remove(); - } - }); - } - }; - return { - name: "regenerator-entry", - visitor: visitor, - pre: function pre() { - this.regeneratorImportExcluded = false; - }, - post: function post() { - if (this.opts.debug && this.regeneratorImportExcluded) { - var filename = this.file.opts.filename; - - if (process.env.BABEL_ENV === "test") { - filename = filename.replace(/\\/g, "/"); - } - - console.log("\n[".concat(filename, "] Based on your targets, regenerator-runtime import excluded.")); - } - } - }; -} - -}).call(this,require('_process')) -},{"../../utils":164,"_process":1054}],162:[function(require,module,exports){ -(function (process){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _utils = require("../../utils"); - -function _default() { - return { - name: "regenerator-usage", - pre: function pre() { - this.usesRegenerator = false; - }, - visitor: { - Function: function Function(path) { - var node = path.node; - - if (!this.usesRegenerator && (node.generator || node.async)) { - this.usesRegenerator = true; - (0, _utils.createImport)(path, "regenerator-runtime"); - } - } - }, - post: function post() { - if (this.opts.debug && this.usesRegenerator) { - var filename = this.file.opts.filename; - - if (process.env.BABEL_ENV === "test") { - filename = filename.replace(/\\/g, "/"); - } - - console.log("\n[".concat(filename, "] Based on your code and targets, added regenerator-runtime.")); - } - } - }; -} - -}).call(this,require('_process')) -},{"../../utils":164,"_process":1054}],163:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = exports.semverMin = exports.isBrowsersQueryValid = void 0; - -var _browserslist = _interopRequireDefault(require("browserslist")); - -var _invariant = _interopRequireDefault(require("invariant")); - -var _semver = _interopRequireDefault(require("semver")); - -var _utils = require("./utils"); - -var _builtInModules = _interopRequireDefault(require("../data/built-in-modules.json")); - -var _options = require("./options"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var browserslistDefaults = _browserslist.default.defaults; -var validBrowserslistTargets = [].concat(_toConsumableArray(Object.keys(_browserslist.default.data)), _toConsumableArray(Object.keys(_browserslist.default.aliases))); - -var objectToBrowserslist = function objectToBrowserslist(object) { - return Object.keys(object).reduce(function (list, targetName) { - if (validBrowserslistTargets.indexOf(targetName) >= 0) { - var targetVersion = object[targetName]; - return list.concat("".concat(targetName, " ").concat(targetVersion)); - } - - return list; - }, []); -}; - -var validateTargetNames = function validateTargetNames(targets) { - var validTargets = Object.keys(_options.TargetNames); - - for (var target in targets) { - if (!_options.TargetNames[target]) { - throw new Error("Invalid Option: '".concat(target, "' is not a valid target\n Maybe you meant to use '").concat((0, _utils.findSuggestion)(validTargets, target), "'?")); - } - } -}; - -var browserNameMap = { - and_chr: "chrome", - and_ff: "firefox", - android: "android", - chrome: "chrome", - edge: "edge", - firefox: "firefox", - ie: "ie", - ie_mob: "ie", - ios_saf: "ios", - node: "node", - op_mob: "opera", - opera: "opera", - safari: "safari", - samsung: "samsung" -}; - -var isBrowsersQueryValid = function isBrowsersQueryValid(browsers) { - return typeof browsers === "string" || Array.isArray(browsers); -}; - -exports.isBrowsersQueryValid = isBrowsersQueryValid; - -var validateBrowsers = function validateBrowsers(browsers) { - (0, _invariant.default)(typeof browsers === "undefined" || isBrowsersQueryValid(browsers), "Invalid Option: '".concat(browsers, "' is not a valid browserslist query")); - return browsers; -}; - -var semverMin = function semverMin(first, second) { - return first && _semver.default.lt(first, second) ? first : second; -}; - -exports.semverMin = semverMin; - -var mergeBrowsers = function mergeBrowsers(fromQuery, fromTarget) { - return Object.keys(fromTarget).reduce(function (queryObj, targKey) { - if (targKey !== _options.TargetNames.browsers) { - queryObj[targKey] = fromTarget[targKey]; - } - - return queryObj; - }, fromQuery); -}; - -var getLowestVersions = function getLowestVersions(browsers) { - return browsers.reduce(function (all, browser) { - var _browser$split = browser.split(" "), - _browser$split2 = _slicedToArray(_browser$split, 2), - browserName = _browser$split2[0], - browserVersion = _browser$split2[1]; - - var normalizedBrowserName = browserNameMap[browserName]; - - if (!normalizedBrowserName) { - return all; - } - - try { - var splitVersion = browserVersion.split("-")[0].toLowerCase(); - var isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, browserName); - - if (!all[normalizedBrowserName]) { - all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion); - return all; - } - - var version = all[normalizedBrowserName]; - var isUnreleased = (0, _utils.isUnreleasedVersion)(version, browserName); - - if (isUnreleased && isSplitUnreleased) { - all[normalizedBrowserName] = (0, _utils.getLowestUnreleased)(version, splitVersion, browserName); - } else if (isUnreleased) { - all[normalizedBrowserName] = (0, _utils.semverify)(splitVersion); - } else if (!isUnreleased && !isSplitUnreleased) { - var parsedBrowserVersion = (0, _utils.semverify)(splitVersion); - all[normalizedBrowserName] = semverMin(version, parsedBrowserVersion); - } - } catch (e) {} - - return all; - }, {}); -}; - -var outputDecimalWarning = function outputDecimalWarning(decimalTargets) { - if (!decimalTargets || !decimalTargets.length) { - return; - } - - console.log("Warning, the following targets are using a decimal version:"); - console.log(""); - decimalTargets.forEach(function (_ref) { - var target = _ref.target, - value = _ref.value; - return console.log(" ".concat(target, ": ").concat(value)); - }); - console.log(""); - console.log("We recommend using a string for minor/patch versions to avoid numbers like 6.10"); - console.log("getting parsed as 6.1, which can lead to unexpected behavior."); - console.log(""); -}; - -var semverifyTarget = function semverifyTarget(target, value) { - try { - return (0, _utils.semverify)(value); - } catch (error) { - throw new Error("Invalid Option: '".concat(value, "' is not a valid value for 'targets.").concat(target, "'.")); - } -}; - -var targetParserMap = { - __default: function __default(target, value) { - var version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value); - return [target, version]; - }, - node: function node(target, value) { - var parsed = value === true || value === "current" ? process.versions.node : semverifyTarget(target, value); - return [target, parsed]; - } -}; - -var getTargets = function getTargets() { - var targets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var targetOpts = {}; - validateTargetNames(targets); - - if (targets.esmodules) { - var supportsESModules = _builtInModules.default["es6.module"]; - targets.browsers = Object.keys(supportsESModules).map(function (browser) { - return "".concat(browser, " ").concat(supportsESModules[browser]); - }).join(", "); - } - - var browsersquery = validateBrowsers(targets.browsers); - var hasTargets = Object.keys(targets).length > 0; - var shouldParseBrowsers = !!targets.browsers; - var shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets; - - if (shouldParseBrowsers || shouldSearchForConfig) { - if (!hasTargets) { - _browserslist.default.defaults = objectToBrowserslist(targets); - } - - var browsers = (0, _browserslist.default)(browsersquery, { - path: options.configPath, - mobileToDesktop: true - }); - var queryBrowsers = getLowestVersions(browsers); - targets = mergeBrowsers(queryBrowsers, targets); - _browserslist.default.defaults = browserslistDefaults; - } - - var parsed = Object.keys(targets).filter(function (value) { - return value !== _options.TargetNames.esmodules; - }).sort().reduce(function (results, target) { - if (target !== _options.TargetNames.browsers) { - var value = targets[target]; - - if (typeof value === "number" && value % 1 !== 0) { - results.decimalWarnings.push({ - target: target, - value: value - }); - } - - var parser = targetParserMap[target] || targetParserMap.__default; - - var _parser = parser(target, value), - _parser2 = _slicedToArray(_parser, 2), - parsedTarget = _parser2[0], - parsedValue = _parser2[1]; - - if (parsedValue) { - results.targets[parsedTarget] = parsedValue; - } - } - - return results; - }, { - targets: targetOpts, - decimalWarnings: [] - }); - outputDecimalWarning(parsed.decimalWarnings); - return parsed.targets; -}; - -var _default = getTargets; -exports.default = _default; - -}).call(this,require('_process')) -},{"../data/built-in-modules.json":139,"./options":152,"./utils":164,"_process":1054,"browserslist":288,"invariant":840,"semver":1070}],164:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getType = getType; -exports.semverify = semverify; -exports.intersection = intersection; -exports.findSuggestion = findSuggestion; -exports.prettifyVersion = prettifyVersion; -exports.prettifyTargets = prettifyTargets; -exports.isUnreleasedVersion = isUnreleasedVersion; -exports.getLowestUnreleased = getLowestUnreleased; -exports.filterStageFromList = filterStageFromList; -exports.getImportSource = getImportSource; -exports.getRequireSource = getRequireSource; -exports.isPolyfillSource = isPolyfillSource; -exports.getModulePath = getModulePath; -exports.createImport = createImport; -exports.isNamespaced = isNamespaced; -exports.has = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -var _invariant = _interopRequireDefault(require("invariant")); - -var _semver = _interopRequireDefault(require("semver")); - -var _jsLevenshtein = _interopRequireDefault(require("js-levenshtein")); - -var _helperModuleImports = require("@babel/helper-module-imports"); - -var _unreleasedLabels = _interopRequireDefault(require("../data/unreleased-labels")); - -var _targetsParser = require("./targets-parser"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var has = Object.hasOwnProperty.call.bind(Object.hasOwnProperty); -exports.has = has; - -function getType(target) { - return Object.prototype.toString.call(target).slice(8, -1).toLowerCase(); -} - -var versionRegExp = /^(\d+|\d+.\d+)$/; - -function semverify(version) { - if (typeof version === "string" && _semver.default.valid(version)) { - return version; - } - - (0, _invariant.default)(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), "'".concat(version, "' is not a valid version")); - var split = version.toString().split("."); - - while (split.length < 3) { - split.push("0"); - } - - return split.join("."); -} - -function intersection(first, second, third) { - var result = new Set(); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = first[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var el = _step.value; - if (second.has(el) && third.has(el)) result.add(el); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return result; -} - -function findSuggestion(options, option) { - var levenshteinValue = Infinity; - return options.reduce(function (suggestion, validOption) { - var value = (0, _jsLevenshtein.default)(validOption, option); - - if (value < levenshteinValue) { - levenshteinValue = value; - return validOption; - } - - return suggestion; - }, ""); -} - -function prettifyVersion(version) { - if (typeof version !== "string") { - return version; - } - - var parts = [_semver.default.major(version)]; - - var minor = _semver.default.minor(version); - - var patch = _semver.default.patch(version); - - if (minor || patch) { - parts.push(minor); - } - - if (patch) { - parts.push(patch); - } - - return parts.join("."); -} - -function prettifyTargets(targets) { - return Object.keys(targets).reduce(function (results, target) { - var value = targets[target]; - var unreleasedLabel = _unreleasedLabels.default[target]; - - if (typeof value === "string" && unreleasedLabel !== value) { - value = prettifyVersion(value); - } - - results[target] = value; - return results; - }, {}); -} - -function isUnreleasedVersion(version, env) { - var unreleasedLabel = _unreleasedLabels.default[env]; - return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); -} - -function getLowestUnreleased(a, b, env) { - var unreleasedLabel = _unreleasedLabels.default[env]; - var hasUnreleased = [a, b].some(function (item) { - return item === unreleasedLabel; - }); - - if (hasUnreleased) { - return a === hasUnreleased ? b : a || b; - } - - return (0, _targetsParser.semverMin)(a, b); -} - -function filterStageFromList(list, stageList) { - return Object.keys(list).reduce(function (result, item) { - if (!stageList[item]) { - result[item] = list[item]; - } - - return result; - }, {}); -} - -function getImportSource(_ref) { - var node = _ref.node; - if (node.specifiers.length === 0) return node.source.value; -} - -function getRequireSource(_ref2) { - var node = _ref2.node; - if (!t.isExpressionStatement(node)) return; - var expression = node.expression; - var isRequire = t.isCallExpression(expression) && t.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t.isStringLiteral(expression.arguments[0]); - if (isRequire) return expression.arguments[0].value; -} - -function isPolyfillSource(source) { - return source === "@babel/polyfill" || source === "core-js"; -} - -var modulePathMap = { - "regenerator-runtime": "regenerator-runtime/runtime" -}; - -function getModulePath(mod) { - return modulePathMap[mod] || "core-js/modules/".concat(mod); -} - -function createImport(path, mod) { - return (0, _helperModuleImports.addSideEffect)(path, getModulePath(mod)); -} - -function isNamespaced(path) { - if (!path.node) return false; - var binding = path.scope.getBinding(path.node.name); - if (!binding) return false; - return binding.path.isImportNamespaceSpecifier(); -} - -},{"../data/unreleased-labels":144,"./targets-parser":163,"@babel/helper-module-imports":72,"@babel/types":242,"invariant":840,"js-levenshtein":842,"semver":1070}],165:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createTemplateBuilder; - -var _options = require("./options"); - -var _string = _interopRequireDefault(require("./string")); - -var _literal = _interopRequireDefault(require("./literal")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var NO_PLACEHOLDER = (0, _options.validate)({ - placeholderPattern: false -}); - -function createTemplateBuilder(formatter, defaultOpts) { - var templateFnCache = new WeakMap(); - var templateAstCache = new WeakMap(); - var cachedOpts = defaultOpts || (0, _options.validate)(null); - return Object.assign(function (tpl) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - if (typeof tpl === "string") { - if (args.length > 1) throw new Error("Unexpected extra params."); - return extendedTrace((0, _string.default)(formatter, tpl, (0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])))); - } else if (Array.isArray(tpl)) { - var builder = templateFnCache.get(tpl); - - if (!builder) { - builder = (0, _literal.default)(formatter, tpl, cachedOpts); - templateFnCache.set(tpl, builder); - } - - return extendedTrace(builder(args)); - } else if (_typeof(tpl) === "object" && tpl) { - if (args.length > 0) throw new Error("Unexpected extra params."); - return createTemplateBuilder(formatter, (0, _options.merge)(cachedOpts, (0, _options.validate)(tpl))); - } - - throw new Error("Unexpected template param ".concat(_typeof(tpl))); - }, { - ast: function ast(tpl) { - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - - if (typeof tpl === "string") { - if (args.length > 1) throw new Error("Unexpected extra params."); - return (0, _string.default)(formatter, tpl, (0, _options.merge)((0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])), NO_PLACEHOLDER))(); - } else if (Array.isArray(tpl)) { - var builder = templateAstCache.get(tpl); - - if (!builder) { - builder = (0, _literal.default)(formatter, tpl, (0, _options.merge)(cachedOpts, NO_PLACEHOLDER)); - templateAstCache.set(tpl, builder); - } - - return builder(args)(); - } - - throw new Error("Unexpected template param ".concat(_typeof(tpl))); - } - }); -} - -function extendedTrace(fn) { - var rootStack = ""; - - try { - throw new Error(); - } catch (error) { - if (error.stack) { - rootStack = error.stack.split("\n").slice(3).join("\n"); - } - } - - return function (arg) { - try { - return fn(arg); - } catch (err) { - err.stack += "\n =============\n".concat(rootStack); - throw err; - } - }; -} - -},{"./literal":168,"./options":169,"./string":172}],166:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.program = exports.expression = exports.statement = exports.statements = exports.smart = void 0; - -function makeStatementFormatter(fn) { - return { - code: function code(str) { - return "/* @babel/template */;\n".concat(str); - }, - validate: function validate() {}, - unwrap: function unwrap(ast) { - return fn(ast.program.body.slice(1)); - } - }; -} - -var smart = makeStatementFormatter(function (body) { - if (body.length > 1) { - return body; - } else { - return body[0]; - } -}); -exports.smart = smart; -var statements = makeStatementFormatter(function (body) { - return body; -}); -exports.statements = statements; -var statement = makeStatementFormatter(function (body) { - if (body.length === 0) { - throw new Error("Found nothing to return."); - } - - if (body.length > 1) { - throw new Error("Found multiple statements but wanted one"); - } - - return body[0]; -}); -exports.statement = statement; -var expression = { - code: function code(str) { - return "(\n".concat(str, "\n)"); - }, - validate: function validate(_ref) { - var program = _ref.program; - - if (program.body.length > 1) { - throw new Error("Found multiple statements but wanted one"); - } - - var expression = program.body[0].expression; - - if (expression.start === 0) { - throw new Error("Parse result included parens."); - } - }, - unwrap: function unwrap(ast) { - return ast.program.body[0].expression; - } -}; -exports.expression = expression; -var program = { - code: function code(str) { - return str; - }, - validate: function validate() {}, - unwrap: function unwrap(ast) { - return ast.program; - } -}; -exports.program = program; - -},{}],167:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = exports.program = exports.expression = exports.statements = exports.statement = exports.smart = void 0; - -var formatters = _interopRequireWildcard(require("./formatters")); - -var _builder = _interopRequireDefault(require("./builder")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var smart = (0, _builder.default)(formatters.smart); -exports.smart = smart; -var statement = (0, _builder.default)(formatters.statement); -exports.statement = statement; -var statements = (0, _builder.default)(formatters.statements); -exports.statements = statements; -var expression = (0, _builder.default)(formatters.expression); -exports.expression = expression; -var program = (0, _builder.default)(formatters.program); -exports.program = program; - -var _default = Object.assign(smart.bind(undefined), { - smart: smart, - statement: statement, - statements: statements, - expression: expression, - program: program, - ast: smart.ast -}); - -exports.default = _default; - -},{"./builder":165,"./formatters":166}],168:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = literalTemplate; - -var _options = require("./options"); - -var _parse = _interopRequireDefault(require("./parse")); - -var _populate = _interopRequireDefault(require("./populate")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function literalTemplate(formatter, tpl, opts) { - var _buildLiteralData = buildLiteralData(formatter, tpl, opts), - metadata = _buildLiteralData.metadata, - names = _buildLiteralData.names; - - return function (arg) { - var defaultReplacements = arg.reduce(function (acc, replacement, i) { - acc[names[i]] = replacement; - return acc; - }, {}); - return function (arg) { - var replacements = (0, _options.normalizeReplacements)(arg); - - if (replacements) { - Object.keys(replacements).forEach(function (key) { - if (Object.prototype.hasOwnProperty.call(defaultReplacements, key)) { - throw new Error("Unexpected replacement overlap."); - } - }); - } - - return formatter.unwrap((0, _populate.default)(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements)); - }; - }; -} - -function buildLiteralData(formatter, tpl, opts) { - var names; - var nameSet; - var metadata; - var prefix = ""; - - do { - prefix += "$"; - var result = buildTemplateCode(tpl, prefix); - names = result.names; - nameSet = new Set(names); - metadata = (0, _parse.default)(formatter, formatter.code(result.code), { - parser: opts.parser, - placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])), - placeholderPattern: opts.placeholderPattern, - preserveComments: opts.preserveComments, - syntacticPlaceholders: opts.syntacticPlaceholders - }); - } while (metadata.placeholders.some(function (placeholder) { - return placeholder.isDuplicate && nameSet.has(placeholder.name); - })); - - return { - metadata: metadata, - names: names - }; -} - -function buildTemplateCode(tpl, prefix) { - var names = []; - var code = tpl[0]; - - for (var i = 1; i < tpl.length; i++) { - var value = "".concat(prefix).concat(i - 1); - names.push(value); - code += value + tpl[i]; - } - - return { - names: names, - code: code - }; -} - -},{"./options":169,"./parse":170,"./populate":171}],169:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.merge = merge; -exports.validate = validate; -exports.normalizeReplacements = normalizeReplacements; - -function _objectWithoutPropertiesLoose(source, excluded) { - if (source == null) return {}; - var target = {}; - var sourceKeys = Object.keys(source); - var key, i; - - for (i = 0; i < sourceKeys.length; i++) { - key = sourceKeys[i]; - if (excluded.indexOf(key) >= 0) continue; - target[key] = source[key]; - } - - return target; -} - -function merge(a, b) { - var _b$placeholderWhiteli = b.placeholderWhitelist, - placeholderWhitelist = _b$placeholderWhiteli === void 0 ? a.placeholderWhitelist : _b$placeholderWhiteli, - _b$placeholderPattern = b.placeholderPattern, - placeholderPattern = _b$placeholderPattern === void 0 ? a.placeholderPattern : _b$placeholderPattern, - _b$preserveComments = b.preserveComments, - preserveComments = _b$preserveComments === void 0 ? a.preserveComments : _b$preserveComments, - _b$syntacticPlacehold = b.syntacticPlaceholders, - syntacticPlaceholders = _b$syntacticPlacehold === void 0 ? a.syntacticPlaceholders : _b$syntacticPlacehold; - return { - parser: Object.assign({}, a.parser, {}, b.parser), - placeholderWhitelist: placeholderWhitelist, - placeholderPattern: placeholderPattern, - preserveComments: preserveComments, - syntacticPlaceholders: syntacticPlaceholders - }; -} - -function validate(opts) { - if (opts != null && _typeof(opts) !== "object") { - throw new Error("Unknown template options."); - } - - var _ref = opts || {}, - placeholderWhitelist = _ref.placeholderWhitelist, - placeholderPattern = _ref.placeholderPattern, - preserveComments = _ref.preserveComments, - syntacticPlaceholders = _ref.syntacticPlaceholders, - parser = _objectWithoutPropertiesLoose(_ref, ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"]); - - if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) { - throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined"); - } - - if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) { - throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined"); - } - - if (preserveComments != null && typeof preserveComments !== "boolean") { - throw new Error("'.preserveComments' must be a boolean, null, or undefined"); - } - - if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== "boolean") { - throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined"); - } - - if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) { - throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); - } - - return { - parser: parser, - placeholderWhitelist: placeholderWhitelist || undefined, - placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern, - preserveComments: preserveComments == null ? false : preserveComments, - syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders - }; -} - -function normalizeReplacements(replacements) { - if (Array.isArray(replacements)) { - return replacements.reduce(function (acc, replacement, i) { - acc["$" + i] = replacement; - return acc; - }, {}); - } else if (_typeof(replacements) === "object" || replacements == null) { - return replacements || undefined; - } - - throw new Error("Template replacements must be an array, object, null, or undefined"); -} - -},{}],170:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = parseAndBuildMetadata; - -var t = _interopRequireWildcard(require("@babel/types")); - -var _parser = require("@babel/parser"); - -var _codeFrame = require("@babel/code-frame"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var PATTERN = /^[_$A-Z0-9]+$/; - -function parseAndBuildMetadata(formatter, code, opts) { - var ast = parseWithCodeFrame(code, opts.parser); - var placeholderWhitelist = opts.placeholderWhitelist, - placeholderPattern = opts.placeholderPattern, - preserveComments = opts.preserveComments, - syntacticPlaceholders = opts.syntacticPlaceholders; - t.removePropertiesDeep(ast, { - preserveComments: preserveComments - }); - formatter.validate(ast); - var syntactic = { - placeholders: [], - placeholderNames: new Set() - }; - var legacy = { - placeholders: [], - placeholderNames: new Set() - }; - var isLegacyRef = { - value: undefined - }; - t.traverse(ast, placeholderVisitorHandler, { - syntactic: syntactic, - legacy: legacy, - isLegacyRef: isLegacyRef, - placeholderWhitelist: placeholderWhitelist, - placeholderPattern: placeholderPattern, - syntacticPlaceholders: syntacticPlaceholders - }); - return Object.assign({ - ast: ast - }, isLegacyRef.value ? legacy : syntactic); -} - -function placeholderVisitorHandler(node, ancestors, state) { - var name; - - if (t.isPlaceholder(node)) { - if (state.syntacticPlaceholders === false) { - throw new Error("%%foo%%-style placeholders can't be used when " + "'.syntacticPlaceholders' is false."); - } else { - name = node.name.name; - state.isLegacyRef.value = false; - } - } else if (state.isLegacyRef.value === false || state.syntacticPlaceholders) { - return; - } else if (t.isIdentifier(node) || t.isJSXIdentifier(node)) { - name = node.name; - state.isLegacyRef.value = true; - } else if (t.isStringLiteral(node)) { - name = node.value; - state.isLegacyRef.value = true; - } else { - return; - } - - if (!state.isLegacyRef.value && (state.placeholderPattern != null || state.placeholderWhitelist != null)) { - throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); - } - - if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && (!state.placeholderWhitelist || !state.placeholderWhitelist.has(name))) { - return; - } - - ancestors = ancestors.slice(); - var _ancestors = ancestors[ancestors.length - 1], - parent = _ancestors.node, - key = _ancestors.key; - var type; - - if (t.isStringLiteral(node) || t.isPlaceholder(node, { - expectedNode: "StringLiteral" - })) { - type = "string"; - } else if (t.isNewExpression(parent) && key === "arguments" || t.isCallExpression(parent) && key === "arguments" || t.isFunction(parent) && key === "params") { - type = "param"; - } else if (t.isExpressionStatement(parent) && !t.isPlaceholder(node)) { - type = "statement"; - ancestors = ancestors.slice(0, -1); - } else if (t.isStatement(node) && t.isPlaceholder(node)) { - type = "statement"; - } else { - type = "other"; - } - - var _ref = state.isLegacyRef.value ? state.legacy : state.syntactic, - placeholders = _ref.placeholders, - placeholderNames = _ref.placeholderNames; - - placeholders.push({ - name: name, - type: type, - resolve: function resolve(ast) { - return resolveAncestors(ast, ancestors); - }, - isDuplicate: placeholderNames.has(name) - }); - placeholderNames.add(name); -} - -function resolveAncestors(ast, ancestors) { - var parent = ast; - - for (var i = 0; i < ancestors.length - 1; i++) { - var _ancestors$i = ancestors[i], - _key = _ancestors$i.key, - _index = _ancestors$i.index; - - if (_index === undefined) { - parent = parent[_key]; - } else { - parent = parent[_key][_index]; - } - } - - var _ancestors2 = ancestors[ancestors.length - 1], - key = _ancestors2.key, - index = _ancestors2.index; - return { - parent: parent, - key: key, - index: index - }; -} - -function parseWithCodeFrame(code, parserOpts) { - parserOpts = Object.assign({ - allowReturnOutsideFunction: true, - allowSuperOutsideMethod: true, - sourceType: "module" - }, parserOpts, { - plugins: (parserOpts.plugins || []).concat("placeholders") - }); - - try { - return (0, _parser.parse)(code, parserOpts); - } catch (err) { - var loc = err.loc; - - if (loc) { - err.message += "\n" + (0, _codeFrame.codeFrameColumns)(code, { - start: loc - }); - err.code = "BABEL_TEMPLATE_PARSE_ERROR"; - } - - throw err; - } -} - -},{"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242}],171:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = populatePlaceholders; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function populatePlaceholders(metadata, replacements) { - var ast = t.cloneNode(metadata.ast); - - if (replacements) { - metadata.placeholders.forEach(function (placeholder) { - if (!Object.prototype.hasOwnProperty.call(replacements, placeholder.name)) { - var placeholderName = placeholder.name; - throw new Error("Error: No substitution given for \"".concat(placeholderName, "\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['").concat(placeholderName, "'])}\n - { placeholderPattern: /^").concat(placeholderName, "$/ }")); - } - }); - Object.keys(replacements).forEach(function (key) { - if (!metadata.placeholderNames.has(key)) { - throw new Error("Unknown substitution \"".concat(key, "\" given")); - } - }); - } - - metadata.placeholders.slice().reverse().forEach(function (placeholder) { - try { - applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null); - } catch (e) { - e.message = "@babel/template placeholder \"".concat(placeholder.name, "\": ").concat(e.message); - throw e; - } - }); - return ast; -} - -function applyReplacement(placeholder, ast, replacement) { - if (placeholder.isDuplicate) { - if (Array.isArray(replacement)) { - replacement = replacement.map(function (node) { - return t.cloneNode(node); - }); - } else if (_typeof(replacement) === "object") { - replacement = t.cloneNode(replacement); - } - } - - var _placeholder$resolve = placeholder.resolve(ast), - parent = _placeholder$resolve.parent, - key = _placeholder$resolve.key, - index = _placeholder$resolve.index; - - if (placeholder.type === "string") { - if (typeof replacement === "string") { - replacement = t.stringLiteral(replacement); - } - - if (!replacement || !t.isStringLiteral(replacement)) { - throw new Error("Expected string substitution"); - } - } else if (placeholder.type === "statement") { - if (index === undefined) { - if (!replacement) { - replacement = t.emptyStatement(); - } else if (Array.isArray(replacement)) { - replacement = t.blockStatement(replacement); - } else if (typeof replacement === "string") { - replacement = t.expressionStatement(t.identifier(replacement)); - } else if (!t.isStatement(replacement)) { - replacement = t.expressionStatement(replacement); - } - } else { - if (replacement && !Array.isArray(replacement)) { - if (typeof replacement === "string") { - replacement = t.identifier(replacement); - } - - if (!t.isStatement(replacement)) { - replacement = t.expressionStatement(replacement); - } - } - } - } else if (placeholder.type === "param") { - if (typeof replacement === "string") { - replacement = t.identifier(replacement); - } - - if (index === undefined) throw new Error("Assertion failure."); - } else { - if (typeof replacement === "string") { - replacement = t.identifier(replacement); - } - - if (Array.isArray(replacement)) { - throw new Error("Cannot replace single expression with an array."); - } - } - - if (index === undefined) { - t.validate(parent, key, replacement); - parent[key] = replacement; - } else { - var items = parent[key].slice(); - - if (placeholder.type === "statement" || placeholder.type === "param") { - if (replacement == null) { - items.splice(index, 1); - } else if (Array.isArray(replacement)) { - items.splice.apply(items, [index, 1].concat(_toConsumableArray(replacement))); - } else { - items[index] = replacement; - } - } else { - items[index] = replacement; - } - - t.validate(parent, key, items); - parent[key] = items; - } -} - -},{"@babel/types":242}],172:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = stringTemplate; - -var _options = require("./options"); - -var _parse = _interopRequireDefault(require("./parse")); - -var _populate = _interopRequireDefault(require("./populate")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function stringTemplate(formatter, code, opts) { - code = formatter.code(code); - var metadata; - return function (arg) { - var replacements = (0, _options.normalizeReplacements)(arg); - if (!metadata) metadata = (0, _parse.default)(formatter, code, opts); - return formatter.unwrap((0, _populate.default)(metadata, replacements)); - }; -} - -},{"./options":169,"./parse":170,"./populate":171}],173:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.clear = clear; -exports.clearPath = clearPath; -exports.clearScope = clearScope; -exports.scope = exports.path = void 0; -var path = new WeakMap(); -exports.path = path; -var scope = new WeakMap(); -exports.scope = scope; - -function clear() { - clearPath(); - clearScope(); -} - -function clearPath() { - exports.path = path = new WeakMap(); -} - -function clearScope() { - exports.scope = scope = new WeakMap(); -} - -},{}],174:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _path = _interopRequireDefault(require("./path")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var testing = process.env.NODE_ENV === "test"; - -var TraversalContext = -/*#__PURE__*/ -function () { - function TraversalContext(scope, opts, state, parentPath) { - _classCallCheck(this, TraversalContext); - - this.queue = null; - this.parentPath = parentPath; - this.scope = scope; - this.state = state; - this.opts = opts; - } - - _createClass(TraversalContext, [{ - key: "shouldVisit", - value: function shouldVisit(node) { - var opts = this.opts; - if (opts.enter || opts.exit) return true; - if (opts[node.type]) return true; - var keys = t.VISITOR_KEYS[node.type]; - if (!keys || !keys.length) return false; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - if (node[key]) return true; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return false; - } - }, { - key: "create", - value: function create(node, obj, key, listKey) { - return _path.default.get({ - parentPath: this.parentPath, - parent: node, - container: obj, - key: key, - listKey: listKey - }); - } - }, { - key: "maybeQueue", - value: function maybeQueue(path, notPriority) { - if (this.trap) { - throw new Error("Infinite cycle detected"); - } - - if (this.queue) { - if (notPriority) { - this.queue.push(path); - } else { - this.priorityQueue.push(path); - } - } - } - }, { - key: "visitMultiple", - value: function visitMultiple(container, parent, listKey) { - if (container.length === 0) return false; - var queue = []; - - for (var key = 0; key < container.length; key++) { - var node = container[key]; - - if (node && this.shouldVisit(node)) { - queue.push(this.create(parent, container, key, listKey)); - } - } - - return this.visitQueue(queue); - } - }, { - key: "visitSingle", - value: function visitSingle(node, key) { - if (this.shouldVisit(node[key])) { - return this.visitQueue([this.create(node, node, key)]); - } else { - return false; - } - } - }, { - key: "visitQueue", - value: function visitQueue(queue) { - this.queue = queue; - this.priorityQueue = []; - var visited = []; - var stop = false; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = queue[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var path = _step2.value; - path.resync(); - - if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) { - path.pushContext(this); - } - - if (path.key === null) continue; - - if (testing && queue.length >= 10000) { - this.trap = true; - } - - if (visited.indexOf(path.node) >= 0) continue; - visited.push(path.node); - - if (path.visit()) { - stop = true; - break; - } - - if (this.priorityQueue.length) { - stop = this.visitQueue(this.priorityQueue); - this.priorityQueue = []; - this.queue = queue; - if (stop) break; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = queue[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var _path2 = _step3.value; - - _path2.popContext(); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - this.queue = null; - return stop; - } - }, { - key: "visit", - value: function visit(node, key) { - var nodes = node[key]; - if (!nodes) return false; - - if (Array.isArray(nodes)) { - return this.visitMultiple(nodes, node, key); - } else { - return this.visitSingle(node, key); - } - } - }]); - - return TraversalContext; -}(); - -exports.default = TraversalContext; - -}).call(this,require('_process')) -},{"./path":183,"@babel/types":242,"_process":1054}],175:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var Hub = -/*#__PURE__*/ -function () { - function Hub() { - _classCallCheck(this, Hub); - } - - _createClass(Hub, [{ - key: "getCode", - value: function getCode() {} - }, { - key: "getScope", - value: function getScope() {} - }, { - key: "addHelper", - value: function addHelper() { - throw new Error("Helpers are not supported by the default hub."); - } - }, { - key: "buildError", - value: function buildError(node, msg) { - var Error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TypeError; - return new Error(msg); - } - }]); - - return Hub; -}(); - -exports.default = Hub; - -},{}],176:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = traverse; -Object.defineProperty(exports, "NodePath", { - enumerable: true, - get: function get() { - return _path.default; - } -}); -Object.defineProperty(exports, "Scope", { - enumerable: true, - get: function get() { - return _scope.default; - } -}); -Object.defineProperty(exports, "Hub", { - enumerable: true, - get: function get() { - return _hub.default; - } -}); -exports.visitors = void 0; - -var _context = _interopRequireDefault(require("./context")); - -var visitors = _interopRequireWildcard(require("./visitors")); - -exports.visitors = visitors; - -var _includes = _interopRequireDefault(require("lodash/includes")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var cache = _interopRequireWildcard(require("./cache")); - -var _path = _interopRequireDefault(require("./path")); - -var _scope = _interopRequireDefault(require("./scope")); - -var _hub = _interopRequireDefault(require("./hub")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function traverse(parent, opts, scope, state, parentPath) { - if (!parent) return; - if (!opts) opts = {}; - - if (!opts.noScope && !scope) { - if (parent.type !== "Program" && parent.type !== "File") { - throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + "Instead of that you tried to traverse a ".concat(parent.type, " node without ") + "passing scope and parentPath."); - } - } - - if (!t.VISITOR_KEYS[parent.type]) { - return; - } - - visitors.explode(opts); - traverse.node(parent, opts, scope, state, parentPath); -} - -traverse.visitors = visitors; -traverse.verify = visitors.verify; -traverse.explode = visitors.explode; - -traverse.cheap = function (node, enter) { - return t.traverseFast(node, enter); -}; - -traverse.node = function (node, opts, scope, state, parentPath, skipKeys) { - var keys = t.VISITOR_KEYS[node.type]; - if (!keys) return; - var context = new _context.default(scope, opts, state, parentPath); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - if (skipKeys && skipKeys[key]) continue; - if (context.visit(node, key)) return; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -}; - -traverse.clearNode = function (node, opts) { - t.removeProperties(node, opts); - cache.path.delete(node); -}; - -traverse.removeProperties = function (tree, opts) { - t.traverseFast(tree, traverse.clearNode, opts); - return tree; -}; - -function hasBlacklistedType(path, state) { - if (path.node.type === state.type) { - state.has = true; - path.stop(); - } -} - -traverse.hasType = function (tree, type, blacklistTypes) { - if ((0, _includes.default)(blacklistTypes, tree.type)) return false; - if (tree.type === type) return true; - var state = { - has: false, - type: type - }; - traverse(tree, { - noScope: true, - blacklist: blacklistTypes, - enter: hasBlacklistedType - }, null, state); - return state.has; -}; - -traverse.cache = cache; - -},{"./cache":173,"./context":174,"./hub":175,"./path":183,"./scope":195,"./visitors":197,"@babel/types":242,"lodash/includes":1015}],177:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.findParent = findParent; -exports.find = find; -exports.getFunctionParent = getFunctionParent; -exports.getStatementParent = getStatementParent; -exports.getEarliestCommonAncestorFrom = getEarliestCommonAncestorFrom; -exports.getDeepestCommonAncestorFrom = getDeepestCommonAncestorFrom; -exports.getAncestry = getAncestry; -exports.isAncestor = isAncestor; -exports.isDescendant = isDescendant; -exports.inType = inType; - -var t = _interopRequireWildcard(require("@babel/types")); - -var _index = _interopRequireDefault(require("./index")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function findParent(callback) { - var path = this; - - while (path = path.parentPath) { - if (callback(path)) return path; - } - - return null; -} - -function find(callback) { - var path = this; - - do { - if (callback(path)) return path; - } while (path = path.parentPath); - - return null; -} - -function getFunctionParent() { - return this.findParent(function (p) { - return p.isFunction(); - }); -} - -function getStatementParent() { - var path = this; - - do { - if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) { - break; - } else { - path = path.parentPath; - } - } while (path); - - if (path && (path.isProgram() || path.isFile())) { - throw new Error("File/Program node, we can't possibly find a statement parent to this"); - } - - return path; -} - -function getEarliestCommonAncestorFrom(paths) { - return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) { - var earliest; - var keys = t.VISITOR_KEYS[deepest.type]; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = ancestries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var ancestry = _step.value; - var path = ancestry[i + 1]; - - if (!earliest) { - earliest = path; - continue; - } - - if (path.listKey && earliest.listKey === path.listKey) { - if (path.key < earliest.key) { - earliest = path; - continue; - } - } - - var earliestKeyIndex = keys.indexOf(earliest.parentKey); - var currentKeyIndex = keys.indexOf(path.parentKey); - - if (earliestKeyIndex > currentKeyIndex) { - earliest = path; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return earliest; - }); -} - -function getDeepestCommonAncestorFrom(paths, filter) { - var _this = this; - - if (!paths.length) { - return this; - } - - if (paths.length === 1) { - return paths[0]; - } - - var minDepth = Infinity; - var lastCommonIndex, lastCommon; - var ancestries = paths.map(function (path) { - var ancestry = []; - - do { - ancestry.unshift(path); - } while ((path = path.parentPath) && path !== _this); - - if (ancestry.length < minDepth) { - minDepth = ancestry.length; - } - - return ancestry; - }); - var first = ancestries[0]; - - depthLoop: for (var i = 0; i < minDepth; i++) { - var shouldMatch = first[i]; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = ancestries[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var ancestry = _step2.value; - - if (ancestry[i] !== shouldMatch) { - break depthLoop; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - lastCommonIndex = i; - lastCommon = shouldMatch; - } - - if (lastCommon) { - if (filter) { - return filter(lastCommon, lastCommonIndex, ancestries); - } else { - return lastCommon; - } - } else { - throw new Error("Couldn't find intersection"); - } -} - -function getAncestry() { - var path = this; - var paths = []; - - do { - paths.push(path); - } while (path = path.parentPath); - - return paths; -} - -function isAncestor(maybeDescendant) { - return maybeDescendant.isDescendant(this); -} - -function isDescendant(maybeAncestor) { - return !!this.findParent(function (parent) { - return parent === maybeAncestor; - }); -} - -function inType() { - var path = this; - - while (path) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = arguments[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var type = _step3.value; - if (path.node.type === type) return true; - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - path = path.parentPath; - } - - return false; -} - -},{"./index":183,"@babel/types":242}],178:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.shareCommentsWithSiblings = shareCommentsWithSiblings; -exports.addComment = addComment; -exports.addComments = addComments; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function shareCommentsWithSiblings() { - if (typeof this.key === "string") return; - var node = this.node; - if (!node) return; - var trailing = node.trailingComments; - var leading = node.leadingComments; - if (!trailing && !leading) return; - var prev = this.getSibling(this.key - 1); - var next = this.getSibling(this.key + 1); - var hasPrev = Boolean(prev.node); - var hasNext = Boolean(next.node); - - if (hasPrev && hasNext) {} else if (hasPrev) { - prev.addComments("trailing", trailing); - } else if (hasNext) { - next.addComments("leading", leading); - } -} - -function addComment(type, content, line) { - t.addComment(this.node, type, content, line); -} - -function addComments(type, comments) { - t.addComments(this.node, type, comments); -} - -},{"@babel/types":242}],179:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.call = call; -exports._call = _call; -exports.isBlacklisted = isBlacklisted; -exports.visit = visit; -exports.skip = skip; -exports.skipKey = skipKey; -exports.stop = stop; -exports.setScope = setScope; -exports.setContext = setContext; -exports.resync = resync; -exports._resyncParent = _resyncParent; -exports._resyncKey = _resyncKey; -exports._resyncList = _resyncList; -exports._resyncRemoved = _resyncRemoved; -exports.popContext = popContext; -exports.pushContext = pushContext; -exports.setup = setup; -exports.setKey = setKey; -exports.requeue = requeue; -exports._getQueueContexts = _getQueueContexts; - -var _index = _interopRequireDefault(require("../index")); - -var _index2 = require("./index"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function call(key) { - var opts = this.opts; - this.debug(key); - - if (this.node) { - if (this._call(opts[key])) return true; - } - - if (this.node) { - return this._call(opts[this.node.type] && opts[this.node.type][key]); - } - - return false; -} - -function _call(fns) { - if (!fns) return false; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = fns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var fn = _step.value; - if (!fn) continue; - var node = this.node; - if (!node) return true; - var ret = fn.call(this.state, this, this.state); - - if (ret && _typeof(ret) === "object" && typeof ret.then === "function") { - throw new Error("You appear to be using a plugin with an async traversal visitor, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); - } - - if (ret) { - throw new Error("Unexpected return value from visitor method ".concat(fn)); - } - - if (this.node !== node) return true; - if (this._traverseFlags > 0) return true; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return false; -} - -function isBlacklisted() { - var blacklist = this.opts.blacklist; - return blacklist && blacklist.indexOf(this.node.type) > -1; -} - -function visit() { - if (!this.node) { - return false; - } - - if (this.isBlacklisted()) { - return false; - } - - if (this.opts.shouldSkip && this.opts.shouldSkip(this)) { - return false; - } - - if (this.shouldSkip || this.call("enter") || this.shouldSkip) { - this.debug("Skip..."); - return this.shouldStop; - } - - this.debug("Recursing into..."); - - _index.default.node(this.node, this.opts, this.scope, this.state, this, this.skipKeys); - - this.call("exit"); - return this.shouldStop; -} - -function skip() { - this.shouldSkip = true; -} - -function skipKey(key) { - if (this.skipKeys == null) { - this.skipKeys = {}; - } - - this.skipKeys[key] = true; -} - -function stop() { - this._traverseFlags |= _index2.SHOULD_SKIP | _index2.SHOULD_STOP; -} - -function setScope() { - if (this.opts && this.opts.noScope) return; - var path = this.parentPath; - var target; - - while (path && !target) { - if (path.opts && path.opts.noScope) return; - target = path.scope; - path = path.parentPath; - } - - this.scope = this.getScope(target); - if (this.scope) this.scope.init(); -} - -function setContext(context) { - if (this.skipKeys != null) { - this.skipKeys = {}; - } - - this._traverseFlags = 0; - - if (context) { - this.context = context; - this.state = context.state; - this.opts = context.opts; - } - - this.setScope(); - return this; -} - -function resync() { - if (this.removed) return; - - this._resyncParent(); - - this._resyncList(); - - this._resyncKey(); -} - -function _resyncParent() { - if (this.parentPath) { - this.parent = this.parentPath.node; - } -} - -function _resyncKey() { - if (!this.container) return; - if (this.node === this.container[this.key]) return; - - if (Array.isArray(this.container)) { - for (var i = 0; i < this.container.length; i++) { - if (this.container[i] === this.node) { - return this.setKey(i); - } - } - } else { - for (var _i = 0, _Object$keys = Object.keys(this.container); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - - if (this.container[key] === this.node) { - return this.setKey(key); - } - } - } - - this.key = null; -} - -function _resyncList() { - if (!this.parent || !this.inList) return; - var newContainer = this.parent[this.listKey]; - if (this.container === newContainer) return; - this.container = newContainer || null; -} - -function _resyncRemoved() { - if (this.key == null || !this.container || this.container[this.key] !== this.node) { - this._markRemoved(); - } -} - -function popContext() { - this.contexts.pop(); - - if (this.contexts.length > 0) { - this.setContext(this.contexts[this.contexts.length - 1]); - } else { - this.setContext(undefined); - } -} - -function pushContext(context) { - this.contexts.push(context); - this.setContext(context); -} - -function setup(parentPath, container, listKey, key) { - this.listKey = listKey; - this.container = container; - this.parentPath = parentPath || this.parentPath; - this.setKey(key); -} - -function setKey(key) { - this.key = key; - this.node = this.container[this.key]; - this.type = this.node && this.node.type; -} - -function requeue() { - var pathToQueue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this; - if (pathToQueue.removed) return; - var contexts = this.contexts; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = contexts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var context = _step2.value; - context.maybeQueue(pathToQueue); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } -} - -function _getQueueContexts() { - var path = this; - var contexts = this.contexts; - - while (!contexts.length) { - path = path.parentPath; - if (!path) break; - contexts = path.contexts; - } - - return contexts; -} - -},{"../index":176,"./index":183}],180:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.toComputedKey = toComputedKey; -exports.ensureBlock = ensureBlock; -exports.arrowFunctionToShadowed = arrowFunctionToShadowed; -exports.unwrapFunctionEnvironment = unwrapFunctionEnvironment; -exports.arrowFunctionToExpression = arrowFunctionToExpression; - -var t = _interopRequireWildcard(require("@babel/types")); - -var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function toComputedKey() { - var node = this.node; - var key; - - if (this.isMemberExpression()) { - key = node.property; - } else if (this.isProperty() || this.isMethod()) { - key = node.key; - } else { - throw new ReferenceError("todo"); - } - - if (!node.computed) { - if (t.isIdentifier(key)) key = t.stringLiteral(key.name); - } - - return key; -} - -function ensureBlock() { - var body = this.get("body"); - var bodyNode = body.node; - - if (Array.isArray(body)) { - throw new Error("Can't convert array path to a block statement"); - } - - if (!bodyNode) { - throw new Error("Can't convert node without a body"); - } - - if (body.isBlockStatement()) { - return bodyNode; - } - - var statements = []; - var stringPath = "body"; - var key; - var listKey; - - if (body.isStatement()) { - listKey = "body"; - key = 0; - statements.push(body.node); - } else { - stringPath += ".body.0"; - - if (this.isFunction()) { - key = "argument"; - statements.push(t.returnStatement(body.node)); - } else { - key = "expression"; - statements.push(t.expressionStatement(body.node)); - } - } - - this.node.body = t.blockStatement(statements); - var parentPath = this.get(stringPath); - body.setup(parentPath, listKey ? parentPath.node[listKey] : parentPath.node, listKey, key); - return this.node; -} - -function arrowFunctionToShadowed() { - if (!this.isArrowFunctionExpression()) return; - this.arrowFunctionToExpression(); -} - -function unwrapFunctionEnvironment() { - if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration()) { - throw this.buildCodeFrameError("Can only unwrap the environment of a function."); - } - - hoistFunctionEnvironment(this); -} - -function arrowFunctionToExpression() { - var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref$allowInsertArrow = _ref.allowInsertArrow, - allowInsertArrow = _ref$allowInsertArrow === void 0 ? true : _ref$allowInsertArrow, - _ref$specCompliant = _ref.specCompliant, - specCompliant = _ref$specCompliant === void 0 ? false : _ref$specCompliant; - - if (!this.isArrowFunctionExpression()) { - throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression."); - } - - var thisBinding = hoistFunctionEnvironment(this, specCompliant, allowInsertArrow); - this.ensureBlock(); - this.node.type = "FunctionExpression"; - - if (specCompliant) { - var checkBinding = thisBinding ? null : this.parentPath.scope.generateUidIdentifier("arrowCheckId"); - - if (checkBinding) { - this.parentPath.scope.push({ - id: checkBinding, - init: t.objectExpression([]) - }); - } - - this.get("body").unshiftContainer("body", t.expressionStatement(t.callExpression(this.hub.addHelper("newArrowCheck"), [t.thisExpression(), checkBinding ? t.identifier(checkBinding.name) : t.identifier(thisBinding)]))); - this.replaceWith(t.callExpression(t.memberExpression((0, _helperFunctionName.default)(this, true) || this.node, t.identifier("bind")), [checkBinding ? t.identifier(checkBinding.name) : t.thisExpression()])); - } -} - -function hoistFunctionEnvironment(fnPath) { - var specCompliant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var allowInsertArrow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; - var thisEnvFn = fnPath.findParent(function (p) { - return p.isFunction() && !p.isArrowFunctionExpression() || p.isProgram() || p.isClassProperty({ - static: false - }); - }); - var inConstructor = thisEnvFn && thisEnvFn.node.kind === "constructor"; - - if (thisEnvFn.isClassProperty()) { - throw fnPath.buildCodeFrameError("Unable to transform arrow inside class property"); - } - - var _getScopeInformation = getScopeInformation(fnPath), - thisPaths = _getScopeInformation.thisPaths, - argumentsPaths = _getScopeInformation.argumentsPaths, - newTargetPaths = _getScopeInformation.newTargetPaths, - superProps = _getScopeInformation.superProps, - superCalls = _getScopeInformation.superCalls; - - if (inConstructor && superCalls.length > 0) { - if (!allowInsertArrow) { - throw superCalls[0].buildCodeFrameError("Unable to handle nested super() usage in arrow"); - } - - var allSuperCalls = []; - thisEnvFn.traverse({ - Function: function Function(child) { - if (child.isArrowFunctionExpression()) return; - child.skip(); - }, - ClassProperty: function ClassProperty(child) { - child.skip(); - }, - CallExpression: function CallExpression(child) { - if (!child.get("callee").isSuper()) return; - allSuperCalls.push(child); - } - }); - var superBinding = getSuperBinding(thisEnvFn); - allSuperCalls.forEach(function (superCall) { - var callee = t.identifier(superBinding); - callee.loc = superCall.node.callee.loc; - superCall.get("callee").replaceWith(callee); - }); - } - - if (argumentsPaths.length > 0) { - var argumentsBinding = getBinding(thisEnvFn, "arguments", function () { - return t.identifier("arguments"); - }); - argumentsPaths.forEach(function (argumentsChild) { - var argsRef = t.identifier(argumentsBinding); - argsRef.loc = argumentsChild.node.loc; - argumentsChild.replaceWith(argsRef); - }); - } - - if (newTargetPaths.length > 0) { - var newTargetBinding = getBinding(thisEnvFn, "newtarget", function () { - return t.metaProperty(t.identifier("new"), t.identifier("target")); - }); - newTargetPaths.forEach(function (targetChild) { - var targetRef = t.identifier(newTargetBinding); - targetRef.loc = targetChild.node.loc; - targetChild.replaceWith(targetRef); - }); - } - - if (superProps.length > 0) { - if (!allowInsertArrow) { - throw superProps[0].buildCodeFrameError("Unable to handle nested super.prop usage"); - } - - var flatSuperProps = superProps.reduce(function (acc, superProp) { - return acc.concat(standardizeSuperProperty(superProp)); - }, []); - flatSuperProps.forEach(function (superProp) { - var key = superProp.node.computed ? "" : superProp.get("property").node.name; - var isAssignment = superProp.parentPath.isAssignmentExpression({ - left: superProp.node - }); - var isCall = superProp.parentPath.isCallExpression({ - callee: superProp.node - }); - var superBinding = getSuperPropBinding(thisEnvFn, isAssignment, key); - var args = []; - - if (superProp.node.computed) { - args.push(superProp.get("property").node); - } - - if (isAssignment) { - var value = superProp.parentPath.node.right; - args.push(value); - } - - var call = t.callExpression(t.identifier(superBinding), args); - - if (isCall) { - superProp.parentPath.unshiftContainer("arguments", t.thisExpression()); - superProp.replaceWith(t.memberExpression(call, t.identifier("call"))); - thisPaths.push(superProp.parentPath.get("arguments.0")); - } else if (isAssignment) { - superProp.parentPath.replaceWith(call); - } else { - superProp.replaceWith(call); - } - }); - } - - var thisBinding; - - if (thisPaths.length > 0 || specCompliant) { - thisBinding = getThisBinding(thisEnvFn, inConstructor); - - if (!specCompliant || inConstructor && hasSuperClass(thisEnvFn)) { - thisPaths.forEach(function (thisChild) { - var thisRef = thisChild.isJSX() ? t.jsxIdentifier(thisBinding) : t.identifier(thisBinding); - thisRef.loc = thisChild.node.loc; - thisChild.replaceWith(thisRef); - }); - if (specCompliant) thisBinding = null; - } - } - - return thisBinding; -} - -function standardizeSuperProperty(superProp) { - if (superProp.parentPath.isAssignmentExpression() && superProp.parentPath.node.operator !== "=") { - var assignmentPath = superProp.parentPath; - var op = assignmentPath.node.operator.slice(0, -1); - var value = assignmentPath.node.right; - assignmentPath.node.operator = "="; - - if (superProp.node.computed) { - var tmp = superProp.scope.generateDeclaredUidIdentifier("tmp"); - assignmentPath.get("left").replaceWith(t.memberExpression(superProp.node.object, t.assignmentExpression("=", tmp, superProp.node.property), true)); - assignmentPath.get("right").replaceWith(t.binaryExpression(op, t.memberExpression(superProp.node.object, t.identifier(tmp.name), true), value)); - } else { - assignmentPath.get("left").replaceWith(t.memberExpression(superProp.node.object, superProp.node.property)); - assignmentPath.get("right").replaceWith(t.binaryExpression(op, t.memberExpression(superProp.node.object, t.identifier(superProp.node.property.name)), value)); - } - - return [assignmentPath.get("left"), assignmentPath.get("right").get("left")]; - } else if (superProp.parentPath.isUpdateExpression()) { - var updateExpr = superProp.parentPath; - - var _tmp = superProp.scope.generateDeclaredUidIdentifier("tmp"); - - var computedKey = superProp.node.computed ? superProp.scope.generateDeclaredUidIdentifier("prop") : null; - var parts = [t.assignmentExpression("=", _tmp, t.memberExpression(superProp.node.object, computedKey ? t.assignmentExpression("=", computedKey, superProp.node.property) : superProp.node.property, superProp.node.computed)), t.assignmentExpression("=", t.memberExpression(superProp.node.object, computedKey ? t.identifier(computedKey.name) : superProp.node.property, superProp.node.computed), t.binaryExpression("+", t.identifier(_tmp.name), t.numericLiteral(1)))]; - - if (!superProp.parentPath.node.prefix) { - parts.push(t.identifier(_tmp.name)); - } - - updateExpr.replaceWith(t.sequenceExpression(parts)); - var left = updateExpr.get("expressions.0.right"); - var right = updateExpr.get("expressions.1.left"); - return [left, right]; - } - - return [superProp]; -} - -function hasSuperClass(thisEnvFn) { - return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass; -} - -function getThisBinding(thisEnvFn, inConstructor) { - return getBinding(thisEnvFn, "this", function (thisBinding) { - if (!inConstructor || !hasSuperClass(thisEnvFn)) return t.thisExpression(); - var supers = new WeakSet(); - thisEnvFn.traverse({ - Function: function Function(child) { - if (child.isArrowFunctionExpression()) return; - child.skip(); - }, - ClassProperty: function ClassProperty(child) { - child.skip(); - }, - CallExpression: function CallExpression(child) { - if (!child.get("callee").isSuper()) return; - if (supers.has(child.node)) return; - supers.add(child.node); - child.replaceWithMultiple([child.node, t.assignmentExpression("=", t.identifier(thisBinding), t.identifier("this"))]); - } - }); - }); -} - -function getSuperBinding(thisEnvFn) { - return getBinding(thisEnvFn, "supercall", function () { - var argsBinding = thisEnvFn.scope.generateUidIdentifier("args"); - return t.arrowFunctionExpression([t.restElement(argsBinding)], t.callExpression(t.super(), [t.spreadElement(t.identifier(argsBinding.name))])); - }); -} - -function getSuperPropBinding(thisEnvFn, isAssignment, propName) { - var op = isAssignment ? "set" : "get"; - return getBinding(thisEnvFn, "superprop_".concat(op, ":").concat(propName || ""), function () { - var argsList = []; - var fnBody; - - if (propName) { - fnBody = t.memberExpression(t.super(), t.identifier(propName)); - } else { - var method = thisEnvFn.scope.generateUidIdentifier("prop"); - argsList.unshift(method); - fnBody = t.memberExpression(t.super(), t.identifier(method.name), true); - } - - if (isAssignment) { - var valueIdent = thisEnvFn.scope.generateUidIdentifier("value"); - argsList.push(valueIdent); - fnBody = t.assignmentExpression("=", fnBody, t.identifier(valueIdent.name)); - } - - return t.arrowFunctionExpression(argsList, fnBody); - }); -} - -function getBinding(thisEnvFn, key, init) { - var cacheKey = "binding:" + key; - var data = thisEnvFn.getData(cacheKey); - - if (!data) { - var id = thisEnvFn.scope.generateUidIdentifier(key); - data = id.name; - thisEnvFn.setData(cacheKey, data); - thisEnvFn.scope.push({ - id: id, - init: init(data) - }); - } - - return data; -} - -function getScopeInformation(fnPath) { - var thisPaths = []; - var argumentsPaths = []; - var newTargetPaths = []; - var superProps = []; - var superCalls = []; - fnPath.traverse({ - ClassProperty: function ClassProperty(child) { - child.skip(); - }, - Function: function Function(child) { - if (child.isArrowFunctionExpression()) return; - child.skip(); - }, - ThisExpression: function ThisExpression(child) { - thisPaths.push(child); - }, - JSXIdentifier: function JSXIdentifier(child) { - if (child.node.name !== "this") return; - - if (!child.parentPath.isJSXMemberExpression({ - object: child.node - }) && !child.parentPath.isJSXOpeningElement({ - name: child.node - })) { - return; - } - - thisPaths.push(child); - }, - CallExpression: function CallExpression(child) { - if (child.get("callee").isSuper()) superCalls.push(child); - }, - MemberExpression: function MemberExpression(child) { - if (child.get("object").isSuper()) superProps.push(child); - }, - ReferencedIdentifier: function ReferencedIdentifier(child) { - if (child.node.name !== "arguments") return; - argumentsPaths.push(child); - }, - MetaProperty: function MetaProperty(child) { - if (!child.get("meta").isIdentifier({ - name: "new" - })) return; - if (!child.get("property").isIdentifier({ - name: "target" - })) return; - newTargetPaths.push(child); - } - }); - return { - thisPaths: thisPaths, - argumentsPaths: argumentsPaths, - newTargetPaths: newTargetPaths, - superProps: superProps, - superCalls: superCalls - }; -} - -},{"@babel/helper-function-name":66,"@babel/types":242}],181:[function(require,module,exports){ -(function (global){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.evaluateTruthy = evaluateTruthy; -exports.evaluate = evaluate; -var VALID_CALLEES = ["String", "Number", "Math"]; -var INVALID_METHODS = ["random"]; - -function evaluateTruthy() { - var res = this.evaluate(); - if (res.confident) return !!res.value; -} - -function deopt(path, state) { - if (!state.confident) return; - state.deoptPath = path; - state.confident = false; -} - -function evaluateCached(path, state) { - var node = path.node; - var seen = state.seen; - - if (seen.has(node)) { - var existing = seen.get(node); - - if (existing.resolved) { - return existing.value; - } else { - deopt(path, state); - return; - } - } else { - var item = { - resolved: false - }; - seen.set(node, item); - - var val = _evaluate(path, state); - - if (state.confident) { - item.resolved = true; - item.value = val; - } - - return val; - } -} - -function _evaluate(path, state) { - if (!state.confident) return; - var node = path.node; - - if (path.isSequenceExpression()) { - var exprs = path.get("expressions"); - return evaluateCached(exprs[exprs.length - 1], state); - } - - if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) { - return node.value; - } - - if (path.isNullLiteral()) { - return null; - } - - if (path.isTemplateLiteral()) { - return evaluateQuasis(path, node.quasis, state); - } - - if (path.isTaggedTemplateExpression() && path.get("tag").isMemberExpression()) { - var object = path.get("tag.object"); - var name = object.node.name; - var property = path.get("tag.property"); - - if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name, true) && property.isIdentifier && property.node.name === "raw") { - return evaluateQuasis(path, node.quasi.quasis, state, true); - } - } - - if (path.isConditionalExpression()) { - var testResult = evaluateCached(path.get("test"), state); - if (!state.confident) return; - - if (testResult) { - return evaluateCached(path.get("consequent"), state); - } else { - return evaluateCached(path.get("alternate"), state); - } - } - - if (path.isExpressionWrapper()) { - return evaluateCached(path.get("expression"), state); - } - - if (path.isMemberExpression() && !path.parentPath.isCallExpression({ - callee: node - })) { - var _property = path.get("property"); - - var _object = path.get("object"); - - if (_object.isLiteral() && _property.isIdentifier()) { - var value = _object.node.value; - - var type = _typeof(value); - - if (type === "number" || type === "string") { - return value[_property.node.name]; - } - } - } - - if (path.isReferencedIdentifier()) { - var binding = path.scope.getBinding(node.name); - - if (binding && binding.constantViolations.length > 0) { - return deopt(binding.path, state); - } - - if (binding && path.node.start < binding.path.node.end) { - return deopt(binding.path, state); - } - - if (binding && binding.hasValue) { - return binding.value; - } else { - if (node.name === "undefined") { - return binding ? deopt(binding.path, state) : undefined; - } else if (node.name === "Infinity") { - return binding ? deopt(binding.path, state) : Infinity; - } else if (node.name === "NaN") { - return binding ? deopt(binding.path, state) : NaN; - } - - var resolved = path.resolve(); - - if (resolved === path) { - return deopt(path, state); - } else { - return evaluateCached(resolved, state); - } - } - } - - if (path.isUnaryExpression({ - prefix: true - })) { - if (node.operator === "void") { - return undefined; - } - - var argument = path.get("argument"); - - if (node.operator === "typeof" && (argument.isFunction() || argument.isClass())) { - return "function"; - } - - var arg = evaluateCached(argument, state); - if (!state.confident) return; - - switch (node.operator) { - case "!": - return !arg; - - case "+": - return +arg; - - case "-": - return -arg; - - case "~": - return ~arg; - - case "typeof": - return _typeof(arg); - } - } - - if (path.isArrayExpression()) { - var arr = []; - var elems = path.get("elements"); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = elems[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var elem = _step.value; - var elemValue = elem.evaluate(); - - if (elemValue.confident) { - arr.push(elemValue.value); - } else { - return deopt(elem, state); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return arr; - } - - if (path.isObjectExpression()) { - var obj = {}; - var props = path.get("properties"); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var prop = _step2.value; - - if (prop.isObjectMethod() || prop.isSpreadElement()) { - return deopt(prop, state); - } - - var keyPath = prop.get("key"); - var key = keyPath; - - if (prop.node.computed) { - key = key.evaluate(); - - if (!key.confident) { - return deopt(keyPath, state); - } - - key = key.value; - } else if (key.isIdentifier()) { - key = key.node.name; - } else { - key = key.node.value; - } - - var valuePath = prop.get("value"); - - var _value = valuePath.evaluate(); - - if (!_value.confident) { - return deopt(valuePath, state); - } - - _value = _value.value; - obj[key] = _value; - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - return obj; - } - - if (path.isLogicalExpression()) { - var wasConfident = state.confident; - var left = evaluateCached(path.get("left"), state); - var leftConfident = state.confident; - state.confident = wasConfident; - var right = evaluateCached(path.get("right"), state); - var rightConfident = state.confident; - - switch (node.operator) { - case "||": - state.confident = leftConfident && (!!left || rightConfident); - if (!state.confident) return; - return left || right; - - case "&&": - state.confident = leftConfident && (!left || rightConfident); - if (!state.confident) return; - return left && right; - } - } - - if (path.isBinaryExpression()) { - var _left = evaluateCached(path.get("left"), state); - - if (!state.confident) return; - - var _right = evaluateCached(path.get("right"), state); - - if (!state.confident) return; - - switch (node.operator) { - case "-": - return _left - _right; - - case "+": - return _left + _right; - - case "/": - return _left / _right; - - case "*": - return _left * _right; - - case "%": - return _left % _right; - - case "**": - return Math.pow(_left, _right); - - case "<": - return _left < _right; - - case ">": - return _left > _right; - - case "<=": - return _left <= _right; - - case ">=": - return _left >= _right; - - case "==": - return _left == _right; - - case "!=": - return _left != _right; - - case "===": - return _left === _right; - - case "!==": - return _left !== _right; - - case "|": - return _left | _right; - - case "&": - return _left & _right; - - case "^": - return _left ^ _right; - - case "<<": - return _left << _right; - - case ">>": - return _left >> _right; - - case ">>>": - return _left >>> _right; - } - } - - if (path.isCallExpression()) { - var callee = path.get("callee"); - var context; - var func; - - if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name, true) && VALID_CALLEES.indexOf(callee.node.name) >= 0) { - func = global[node.callee.name]; - } - - if (callee.isMemberExpression()) { - var _object2 = callee.get("object"); - - var _property2 = callee.get("property"); - - if (_object2.isIdentifier() && _property2.isIdentifier() && VALID_CALLEES.indexOf(_object2.node.name) >= 0 && INVALID_METHODS.indexOf(_property2.node.name) < 0) { - context = global[_object2.node.name]; - func = context[_property2.node.name]; - } - - if (_object2.isLiteral() && _property2.isIdentifier()) { - var _type = _typeof(_object2.node.value); - - if (_type === "string" || _type === "number") { - context = _object2.node.value; - func = context[_property2.node.name]; - } - } - } - - if (func) { - var args = path.get("arguments").map(function (arg) { - return evaluateCached(arg, state); - }); - if (!state.confident) return; - return func.apply(context, args); - } - } - - deopt(path, state); -} - -function evaluateQuasis(path, quasis, state) { - var raw = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; - var str = ""; - var i = 0; - var exprs = path.get("expressions"); - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = quasis[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var elem = _step3.value; - if (!state.confident) break; - str += raw ? elem.value.raw : elem.value.cooked; - var expr = exprs[i++]; - if (expr) str += String(evaluateCached(expr, state)); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - if (!state.confident) return; - return str; -} - -function evaluate() { - var state = { - confident: true, - deoptPath: null, - seen: new Map() - }; - var value = evaluateCached(this, state); - if (!state.confident) value = undefined; - return { - confident: state.confident, - deopt: state.deoptPath, - value: value - }; -} - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],182:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getOpposite = getOpposite; -exports.getCompletionRecords = getCompletionRecords; -exports.getSibling = getSibling; -exports.getPrevSibling = getPrevSibling; -exports.getNextSibling = getNextSibling; -exports.getAllNextSiblings = getAllNextSiblings; -exports.getAllPrevSiblings = getAllPrevSiblings; -exports.get = get; -exports._getKey = _getKey; -exports._getPattern = _getPattern; -exports.getBindingIdentifiers = getBindingIdentifiers; -exports.getOuterBindingIdentifiers = getOuterBindingIdentifiers; -exports.getBindingIdentifierPaths = getBindingIdentifierPaths; -exports.getOuterBindingIdentifierPaths = getOuterBindingIdentifierPaths; - -var _index = _interopRequireDefault(require("./index")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function getOpposite() { - if (this.key === "left") { - return this.getSibling("right"); - } else if (this.key === "right") { - return this.getSibling("left"); - } -} - -function addCompletionRecords(path, paths) { - if (path) return paths.concat(path.getCompletionRecords()); - return paths; -} - -function completionRecordForSwitch(cases, paths) { - var isLastCaseWithConsequent = true; - - for (var i = cases.length - 1; i >= 0; i--) { - var switchCase = cases[i]; - var consequent = switchCase.get("consequent"); - var breakStatement = void 0; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - findBreak: for (var _iterator = consequent[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var statement = _step.value; - - if (statement.isBlockStatement()) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = statement.get("body")[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var statementInBlock = _step2.value; - - if (statementInBlock.isBreakStatement()) { - breakStatement = statementInBlock; - break findBreak; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else if (statement.isBreakStatement()) { - breakStatement = statement; - break; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (breakStatement) { - while (breakStatement.key === 0 && breakStatement.parentPath.isBlockStatement()) { - breakStatement = breakStatement.parentPath; - } - - var prevSibling = breakStatement.getPrevSibling(); - - if (breakStatement.key > 0 && (prevSibling.isExpressionStatement() || prevSibling.isBlockStatement())) { - paths = addCompletionRecords(prevSibling, paths); - breakStatement.remove(); - } else { - breakStatement.replaceWith(breakStatement.scope.buildUndefinedNode()); - paths = addCompletionRecords(breakStatement, paths); - } - } else if (isLastCaseWithConsequent) { - (function () { - var statementFinder = function statementFinder(statement) { - return !statement.isBlockStatement() || statement.get("body").some(statementFinder); - }; - - var hasConsequent = consequent.some(statementFinder); - - if (hasConsequent) { - paths = addCompletionRecords(consequent[consequent.length - 1], paths); - isLastCaseWithConsequent = false; - } - })(); - } - } - - return paths; -} - -function getCompletionRecords() { - var paths = []; - - if (this.isIfStatement()) { - paths = addCompletionRecords(this.get("consequent"), paths); - paths = addCompletionRecords(this.get("alternate"), paths); - } else if (this.isDoExpression() || this.isFor() || this.isWhile()) { - paths = addCompletionRecords(this.get("body"), paths); - } else if (this.isProgram() || this.isBlockStatement()) { - paths = addCompletionRecords(this.get("body").pop(), paths); - } else if (this.isFunction()) { - return this.get("body").getCompletionRecords(); - } else if (this.isTryStatement()) { - paths = addCompletionRecords(this.get("block"), paths); - paths = addCompletionRecords(this.get("handler"), paths); - } else if (this.isCatchClause()) { - paths = addCompletionRecords(this.get("body"), paths); - } else if (this.isSwitchStatement()) { - paths = completionRecordForSwitch(this.get("cases"), paths); - } else { - paths.push(this); - } - - return paths; -} - -function getSibling(key) { - return _index.default.get({ - parentPath: this.parentPath, - parent: this.parent, - container: this.container, - listKey: this.listKey, - key: key - }); -} - -function getPrevSibling() { - return this.getSibling(this.key - 1); -} - -function getNextSibling() { - return this.getSibling(this.key + 1); -} - -function getAllNextSiblings() { - var _key = this.key; - var sibling = this.getSibling(++_key); - var siblings = []; - - while (sibling.node) { - siblings.push(sibling); - sibling = this.getSibling(++_key); - } - - return siblings; -} - -function getAllPrevSiblings() { - var _key = this.key; - var sibling = this.getSibling(--_key); - var siblings = []; - - while (sibling.node) { - siblings.push(sibling); - sibling = this.getSibling(--_key); - } - - return siblings; -} - -function get(key, context) { - if (context === true) context = this.context; - var parts = key.split("."); - - if (parts.length === 1) { - return this._getKey(key, context); - } else { - return this._getPattern(parts, context); - } -} - -function _getKey(key, context) { - var _this = this; - - var node = this.node; - var container = node[key]; - - if (Array.isArray(container)) { - return container.map(function (_, i) { - return _index.default.get({ - listKey: key, - parentPath: _this, - parent: node, - container: container, - key: i - }).setContext(context); - }); - } else { - return _index.default.get({ - parentPath: this, - parent: node, - container: node, - key: key - }).setContext(context); - } -} - -function _getPattern(parts, context) { - var path = this; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = parts[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var part = _step3.value; - - if (part === ".") { - path = path.parentPath; - } else { - if (Array.isArray(path)) { - path = path[part]; - } else { - path = path.get(part, context); - } - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - - return path; -} - -function getBindingIdentifiers(duplicates) { - return t.getBindingIdentifiers(this.node, duplicates); -} - -function getOuterBindingIdentifiers(duplicates) { - return t.getOuterBindingIdentifiers(this.node, duplicates); -} - -function getBindingIdentifierPaths() { - var duplicates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; - var outerOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - var path = this; - var search = [].concat(path); - var ids = Object.create(null); - - while (search.length) { - var id = search.shift(); - if (!id) continue; - if (!id.node) continue; - var keys = t.getBindingIdentifiers.keys[id.node.type]; - - if (id.isIdentifier()) { - if (duplicates) { - var _ids = ids[id.node.name] = ids[id.node.name] || []; - - _ids.push(id); - } else { - ids[id.node.name] = id; - } - - continue; - } - - if (id.isExportDeclaration()) { - var declaration = id.get("declaration"); - - if (declaration.isDeclaration()) { - search.push(declaration); - } - - continue; - } - - if (outerOnly) { - if (id.isFunctionDeclaration()) { - search.push(id.get("id")); - continue; - } - - if (id.isFunctionExpression()) { - continue; - } - } - - if (keys) { - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var child = id.get(key); - - if (Array.isArray(child) || child.node) { - search = search.concat(child); - } - } - } - } - - return ids; -} - -function getOuterBindingIdentifierPaths(duplicates) { - return this.getBindingIdentifierPaths(duplicates, true); -} - -},{"./index":183,"@babel/types":242}],183:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = exports.SHOULD_SKIP = exports.SHOULD_STOP = exports.REMOVED = void 0; - -var virtualTypes = _interopRequireWildcard(require("./lib/virtual-types")); - -var _debug = _interopRequireDefault(require("debug")); - -var _index = _interopRequireDefault(require("../index")); - -var _scope = _interopRequireDefault(require("../scope")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _cache = require("../cache"); - -var _generator = _interopRequireDefault(require("@babel/generator")); - -var NodePath_ancestry = _interopRequireWildcard(require("./ancestry")); - -var NodePath_inference = _interopRequireWildcard(require("./inference")); - -var NodePath_replacement = _interopRequireWildcard(require("./replacement")); - -var NodePath_evaluation = _interopRequireWildcard(require("./evaluation")); - -var NodePath_conversion = _interopRequireWildcard(require("./conversion")); - -var NodePath_introspection = _interopRequireWildcard(require("./introspection")); - -var NodePath_context = _interopRequireWildcard(require("./context")); - -var NodePath_removal = _interopRequireWildcard(require("./removal")); - -var NodePath_modification = _interopRequireWildcard(require("./modification")); - -var NodePath_family = _interopRequireWildcard(require("./family")); - -var NodePath_comments = _interopRequireWildcard(require("./comments")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var _debug2 = (0, _debug.default)("babel"); - -var REMOVED = 1 << 0; -exports.REMOVED = REMOVED; -var SHOULD_STOP = 1 << 1; -exports.SHOULD_STOP = SHOULD_STOP; -var SHOULD_SKIP = 1 << 2; -exports.SHOULD_SKIP = SHOULD_SKIP; - -var NodePath = -/*#__PURE__*/ -function () { - function NodePath(hub, parent) { - _classCallCheck(this, NodePath); - - this.parent = parent; - this.hub = hub; - this.contexts = []; - this.data = null; - this._traverseFlags = 0; - this.state = null; - this.opts = null; - this.skipKeys = null; - this.parentPath = null; - this.context = null; - this.container = null; - this.listKey = null; - this.key = null; - this.node = null; - this.scope = null; - this.type = null; - } - - _createClass(NodePath, [{ - key: "getScope", - value: function getScope(scope) { - return this.isScope() ? new _scope.default(this) : scope; - } - }, { - key: "setData", - value: function setData(key, val) { - if (this.data == null) { - this.data = Object.create(null); - } - - return this.data[key] = val; - } - }, { - key: "getData", - value: function getData(key, def) { - if (this.data == null) { - this.data = Object.create(null); - } - - var val = this.data[key]; - if (val === undefined && def !== undefined) val = this.data[key] = def; - return val; - } - }, { - key: "buildCodeFrameError", - value: function buildCodeFrameError(msg) { - var Error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SyntaxError; - return this.hub.buildError(this.node, msg, Error); - } - }, { - key: "traverse", - value: function traverse(visitor, state) { - (0, _index.default)(this.node, visitor, this.scope, state, this); - } - }, { - key: "set", - value: function set(key, node) { - t.validate(this.node, key, node); - this.node[key] = node; - } - }, { - key: "getPathLocation", - value: function getPathLocation() { - var parts = []; - var path = this; - - do { - var key = path.key; - if (path.inList) key = "".concat(path.listKey, "[").concat(key, "]"); - parts.unshift(key); - } while (path = path.parentPath); - - return parts.join("."); - } - }, { - key: "debug", - value: function debug(message) { - if (!_debug2.enabled) return; - - _debug2("".concat(this.getPathLocation(), " ").concat(this.type, ": ").concat(message)); - } - }, { - key: "toString", - value: function toString() { - return (0, _generator.default)(this.node).code; - } - }, { - key: "inList", - get: function get() { - return !!this.listKey; - }, - set: function set(inList) { - if (!inList) { - this.listKey = null; - } - } - }, { - key: "parentKey", - get: function get() { - return this.listKey || this.key; - } - }, { - key: "shouldSkip", - get: function get() { - return !!(this._traverseFlags & SHOULD_SKIP); - }, - set: function set(v) { - if (v) { - this._traverseFlags |= SHOULD_SKIP; - } else { - this._traverseFlags &= ~SHOULD_SKIP; - } - } - }, { - key: "shouldStop", - get: function get() { - return !!(this._traverseFlags & SHOULD_STOP); - }, - set: function set(v) { - if (v) { - this._traverseFlags |= SHOULD_STOP; - } else { - this._traverseFlags &= ~SHOULD_STOP; - } - } - }, { - key: "removed", - get: function get() { - return !!(this._traverseFlags & REMOVED); - }, - set: function set(v) { - if (v) { - this._traverseFlags |= REMOVED; - } else { - this._traverseFlags &= ~REMOVED; - } - } - }], [{ - key: "get", - value: function get(_ref) { - var hub = _ref.hub, - parentPath = _ref.parentPath, - parent = _ref.parent, - container = _ref.container, - listKey = _ref.listKey, - key = _ref.key; - - if (!hub && parentPath) { - hub = parentPath.hub; - } - - if (!parent) { - throw new Error("To get a node path the parent needs to exist"); - } - - var targetNode = container[key]; - var paths = _cache.path.get(parent) || []; - - if (!_cache.path.has(parent)) { - _cache.path.set(parent, paths); - } - - var path; - - for (var i = 0; i < paths.length; i++) { - var pathCheck = paths[i]; - - if (pathCheck.node === targetNode) { - path = pathCheck; - break; - } - } - - if (!path) { - path = new NodePath(hub, parent); - paths.push(path); - } - - path.setup(parentPath, container, listKey, key); - return path; - } - }]); - - return NodePath; -}(); - -exports.default = NodePath; -Object.assign(NodePath.prototype, NodePath_ancestry, NodePath_inference, NodePath_replacement, NodePath_evaluation, NodePath_conversion, NodePath_introspection, NodePath_context, NodePath_removal, NodePath_modification, NodePath_family, NodePath_comments); -var _iteratorNormalCompletion = true; -var _didIteratorError = false; -var _iteratorError = undefined; - -try { - var _loop = function _loop() { - var type = _step.value; - var typeKey = "is".concat(type); - var fn = t[typeKey]; - - NodePath.prototype[typeKey] = function (opts) { - return fn(this.node, opts); - }; - - NodePath.prototype["assert".concat(type)] = function (opts) { - if (!fn(this.node, opts)) { - throw new TypeError("Expected node path of type ".concat(type)); - } - }; - }; - - for (var _iterator = t.TYPES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - _loop(); - } -} catch (err) { - _didIteratorError = true; - _iteratorError = err; -} finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } -} - -var _loop2 = function _loop2() { - var type = _Object$keys[_i]; - if (type[0] === "_") return "continue"; - if (t.TYPES.indexOf(type) < 0) t.TYPES.push(type); - var virtualType = virtualTypes[type]; - - NodePath.prototype["is".concat(type)] = function (opts) { - return virtualType.checkPath(this, opts); - }; -}; - -for (var _i = 0, _Object$keys = Object.keys(virtualTypes); _i < _Object$keys.length; _i++) { - var _ret = _loop2(); - - if (_ret === "continue") continue; -} - -},{"../cache":173,"../index":176,"../scope":195,"./ancestry":177,"./comments":178,"./context":179,"./conversion":180,"./evaluation":181,"./family":182,"./inference":184,"./introspection":187,"./lib/virtual-types":190,"./modification":191,"./removal":192,"./replacement":193,"@babel/generator":51,"@babel/types":242,"debug":198}],184:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getTypeAnnotation = getTypeAnnotation; -exports._getTypeAnnotation = _getTypeAnnotation; -exports.isBaseType = isBaseType; -exports.couldBeBaseType = couldBeBaseType; -exports.baseTypeStrictlyMatches = baseTypeStrictlyMatches; -exports.isGenericType = isGenericType; - -var inferers = _interopRequireWildcard(require("./inferers")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function getTypeAnnotation() { - if (this.typeAnnotation) return this.typeAnnotation; - var type = this._getTypeAnnotation() || t.anyTypeAnnotation(); - if (t.isTypeAnnotation(type)) type = type.typeAnnotation; - return this.typeAnnotation = type; -} - -function _getTypeAnnotation() { - var node = this.node; - - if (!node) { - if (this.key === "init" && this.parentPath.isVariableDeclarator()) { - var declar = this.parentPath.parentPath; - var declarParent = declar.parentPath; - - if (declar.key === "left" && declarParent.isForInStatement()) { - return t.stringTypeAnnotation(); - } - - if (declar.key === "left" && declarParent.isForOfStatement()) { - return t.anyTypeAnnotation(); - } - - return t.voidTypeAnnotation(); - } else { - return; - } - } - - if (node.typeAnnotation) { - return node.typeAnnotation; - } - - var inferer = inferers[node.type]; - - if (inferer) { - return inferer.call(this, node); - } - - inferer = inferers[this.parentPath.type]; - - if (inferer && inferer.validParent) { - return this.parentPath.getTypeAnnotation(); - } -} - -function isBaseType(baseName, soft) { - return _isBaseType(baseName, this.getTypeAnnotation(), soft); -} - -function _isBaseType(baseName, type, soft) { - if (baseName === "string") { - return t.isStringTypeAnnotation(type); - } else if (baseName === "number") { - return t.isNumberTypeAnnotation(type); - } else if (baseName === "boolean") { - return t.isBooleanTypeAnnotation(type); - } else if (baseName === "any") { - return t.isAnyTypeAnnotation(type); - } else if (baseName === "mixed") { - return t.isMixedTypeAnnotation(type); - } else if (baseName === "empty") { - return t.isEmptyTypeAnnotation(type); - } else if (baseName === "void") { - return t.isVoidTypeAnnotation(type); - } else { - if (soft) { - return false; - } else { - throw new Error("Unknown base type ".concat(baseName)); - } - } -} - -function couldBeBaseType(name) { - var type = this.getTypeAnnotation(); - if (t.isAnyTypeAnnotation(type)) return true; - - if (t.isUnionTypeAnnotation(type)) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = type.types[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var type2 = _step.value; - - if (t.isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) { - return true; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return false; - } else { - return _isBaseType(name, type, true); - } -} - -function baseTypeStrictlyMatches(right) { - var left = this.getTypeAnnotation(); - right = right.getTypeAnnotation(); - - if (!t.isAnyTypeAnnotation(left) && t.isFlowBaseAnnotation(left)) { - return right.type === left.type; - } -} - -function isGenericType(genericName) { - var type = this.getTypeAnnotation(); - return t.isGenericTypeAnnotation(type) && t.isIdentifier(type.id, { - name: genericName - }); -} - -},{"./inferers":186,"@babel/types":242}],185:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _default(node) { - if (!this.isReferenced()) return; - var binding = this.scope.getBinding(node.name); - - if (binding) { - if (binding.identifier.typeAnnotation) { - return binding.identifier.typeAnnotation; - } else { - return getTypeAnnotationBindingConstantViolations(binding, this, node.name); - } - } - - if (node.name === "undefined") { - return t.voidTypeAnnotation(); - } else if (node.name === "NaN" || node.name === "Infinity") { - return t.numberTypeAnnotation(); - } else if (node.name === "arguments") {} -} - -function getTypeAnnotationBindingConstantViolations(binding, path, name) { - var types = []; - var functionConstantViolations = []; - var constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations); - var testType = getConditionalAnnotation(binding, path, name); - - if (testType) { - var testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement); - constantViolations = constantViolations.filter(function (path) { - return testConstantViolations.indexOf(path) < 0; - }); - types.push(testType.typeAnnotation); - } - - if (constantViolations.length) { - constantViolations = constantViolations.concat(functionConstantViolations); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var violation = _step.value; - types.push(violation.getTypeAnnotation()); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - if (types.length) { - return t.createUnionTypeAnnotation(types); - } -} - -function getConstantViolationsBefore(binding, path, functions) { - var violations = binding.constantViolations.slice(); - violations.unshift(binding.path); - return violations.filter(function (violation) { - violation = violation.resolve(); - - var status = violation._guessExecutionStatusRelativeTo(path); - - if (functions && status === "unknown") functions.push(violation); - return status === "before"; - }); -} - -function inferAnnotationFromBinaryExpression(name, path) { - var operator = path.node.operator; - var right = path.get("right").resolve(); - var left = path.get("left").resolve(); - var target; - - if (left.isIdentifier({ - name: name - })) { - target = right; - } else if (right.isIdentifier({ - name: name - })) { - target = left; - } - - if (target) { - if (operator === "===") { - return target.getTypeAnnotation(); - } - - if (t.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { - return t.numberTypeAnnotation(); - } - - return; - } - - if (operator !== "===" && operator !== "==") return; - var typeofPath; - var typePath; - - if (left.isUnaryExpression({ - operator: "typeof" - })) { - typeofPath = left; - typePath = right; - } else if (right.isUnaryExpression({ - operator: "typeof" - })) { - typeofPath = right; - typePath = left; - } - - if (!typeofPath) return; - if (!typeofPath.get("argument").isIdentifier({ - name: name - })) return; - typePath = typePath.resolve(); - if (!typePath.isLiteral()) return; - var typeValue = typePath.node.value; - if (typeof typeValue !== "string") return; - return t.createTypeAnnotationBasedOnTypeof(typeValue); -} - -function getParentConditionalPath(binding, path, name) { - var parentPath; - - while (parentPath = path.parentPath) { - if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) { - if (path.key === "test") { - return; - } - - return parentPath; - } - - if (parentPath.isFunction()) { - if (parentPath.parentPath.scope.getBinding(name) !== binding) return; - } - - path = parentPath; - } -} - -function getConditionalAnnotation(binding, path, name) { - var ifStatement = getParentConditionalPath(binding, path, name); - if (!ifStatement) return; - var test = ifStatement.get("test"); - var paths = [test]; - var types = []; - - for (var i = 0; i < paths.length; i++) { - var _path = paths[i]; - - if (_path.isLogicalExpression()) { - if (_path.node.operator === "&&") { - paths.push(_path.get("left")); - paths.push(_path.get("right")); - } - } else if (_path.isBinaryExpression()) { - var type = inferAnnotationFromBinaryExpression(name, _path); - if (type) types.push(type); - } - } - - if (types.length) { - return { - typeAnnotation: t.createUnionTypeAnnotation(types), - ifStatement: ifStatement - }; - } - - return getConditionalAnnotation(ifStatement, name); -} - -},{"@babel/types":242}],186:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.VariableDeclarator = VariableDeclarator; -exports.TypeCastExpression = TypeCastExpression; -exports.NewExpression = NewExpression; -exports.TemplateLiteral = TemplateLiteral; -exports.UnaryExpression = UnaryExpression; -exports.BinaryExpression = BinaryExpression; -exports.LogicalExpression = LogicalExpression; -exports.ConditionalExpression = ConditionalExpression; -exports.SequenceExpression = SequenceExpression; -exports.ParenthesizedExpression = ParenthesizedExpression; -exports.AssignmentExpression = AssignmentExpression; -exports.UpdateExpression = UpdateExpression; -exports.StringLiteral = StringLiteral; -exports.NumericLiteral = NumericLiteral; -exports.BooleanLiteral = BooleanLiteral; -exports.NullLiteral = NullLiteral; -exports.RegExpLiteral = RegExpLiteral; -exports.ObjectExpression = ObjectExpression; -exports.ArrayExpression = ArrayExpression; -exports.RestElement = RestElement; -exports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = Func; -exports.CallExpression = CallExpression; -exports.TaggedTemplateExpression = TaggedTemplateExpression; -Object.defineProperty(exports, "Identifier", { - enumerable: true, - get: function get() { - return _infererReference.default; - } -}); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _infererReference = _interopRequireDefault(require("./inferer-reference")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function VariableDeclarator() { - var id = this.get("id"); - if (!id.isIdentifier()) return; - var init = this.get("init"); - var type = init.getTypeAnnotation(); - - if (type && type.type === "AnyTypeAnnotation") { - if (init.isCallExpression() && init.get("callee").isIdentifier({ - name: "Array" - }) && !init.scope.hasBinding("Array", true)) { - type = ArrayExpression(); - } - } - - return type; -} - -function TypeCastExpression(node) { - return node.typeAnnotation; -} - -TypeCastExpression.validParent = true; - -function NewExpression(node) { - if (this.get("callee").isIdentifier()) { - return t.genericTypeAnnotation(node.callee); - } -} - -function TemplateLiteral() { - return t.stringTypeAnnotation(); -} - -function UnaryExpression(node) { - var operator = node.operator; - - if (operator === "void") { - return t.voidTypeAnnotation(); - } else if (t.NUMBER_UNARY_OPERATORS.indexOf(operator) >= 0) { - return t.numberTypeAnnotation(); - } else if (t.STRING_UNARY_OPERATORS.indexOf(operator) >= 0) { - return t.stringTypeAnnotation(); - } else if (t.BOOLEAN_UNARY_OPERATORS.indexOf(operator) >= 0) { - return t.booleanTypeAnnotation(); - } -} - -function BinaryExpression(node) { - var operator = node.operator; - - if (t.NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { - return t.numberTypeAnnotation(); - } else if (t.BOOLEAN_BINARY_OPERATORS.indexOf(operator) >= 0) { - return t.booleanTypeAnnotation(); - } else if (operator === "+") { - var right = this.get("right"); - var left = this.get("left"); - - if (left.isBaseType("number") && right.isBaseType("number")) { - return t.numberTypeAnnotation(); - } else if (left.isBaseType("string") || right.isBaseType("string")) { - return t.stringTypeAnnotation(); - } - - return t.unionTypeAnnotation([t.stringTypeAnnotation(), t.numberTypeAnnotation()]); - } -} - -function LogicalExpression() { - return t.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()]); -} - -function ConditionalExpression() { - return t.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()]); -} - -function SequenceExpression() { - return this.get("expressions").pop().getTypeAnnotation(); -} - -function ParenthesizedExpression() { - return this.get("expression").getTypeAnnotation(); -} - -function AssignmentExpression() { - return this.get("right").getTypeAnnotation(); -} - -function UpdateExpression(node) { - var operator = node.operator; - - if (operator === "++" || operator === "--") { - return t.numberTypeAnnotation(); - } -} - -function StringLiteral() { - return t.stringTypeAnnotation(); -} - -function NumericLiteral() { - return t.numberTypeAnnotation(); -} - -function BooleanLiteral() { - return t.booleanTypeAnnotation(); -} - -function NullLiteral() { - return t.nullLiteralTypeAnnotation(); -} - -function RegExpLiteral() { - return t.genericTypeAnnotation(t.identifier("RegExp")); -} - -function ObjectExpression() { - return t.genericTypeAnnotation(t.identifier("Object")); -} - -function ArrayExpression() { - return t.genericTypeAnnotation(t.identifier("Array")); -} - -function RestElement() { - return ArrayExpression(); -} - -RestElement.validParent = true; - -function Func() { - return t.genericTypeAnnotation(t.identifier("Function")); -} - -var isArrayFrom = t.buildMatchMemberExpression("Array.from"); -var isObjectKeys = t.buildMatchMemberExpression("Object.keys"); -var isObjectValues = t.buildMatchMemberExpression("Object.values"); -var isObjectEntries = t.buildMatchMemberExpression("Object.entries"); - -function CallExpression() { - var callee = this.node.callee; - - if (isObjectKeys(callee)) { - return t.arrayTypeAnnotation(t.stringTypeAnnotation()); - } else if (isArrayFrom(callee) || isObjectValues(callee)) { - return t.arrayTypeAnnotation(t.anyTypeAnnotation()); - } else if (isObjectEntries(callee)) { - return t.arrayTypeAnnotation(t.tupleTypeAnnotation([t.stringTypeAnnotation(), t.anyTypeAnnotation()])); - } - - return resolveCall(this.get("callee")); -} - -function TaggedTemplateExpression() { - return resolveCall(this.get("tag")); -} - -function resolveCall(callee) { - callee = callee.resolve(); - - if (callee.isFunction()) { - if (callee.is("async")) { - if (callee.is("generator")) { - return t.genericTypeAnnotation(t.identifier("AsyncIterator")); - } else { - return t.genericTypeAnnotation(t.identifier("Promise")); - } - } else { - if (callee.node.returnType) { - return callee.node.returnType; - } else {} - } - } -} - -},{"./inferer-reference":185,"@babel/types":242}],187:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.matchesPattern = matchesPattern; -exports.has = has; -exports.isStatic = isStatic; -exports.isnt = isnt; -exports.equals = equals; -exports.isNodeType = isNodeType; -exports.canHaveVariableDeclarationOrExpression = canHaveVariableDeclarationOrExpression; -exports.canSwapBetweenExpressionAndStatement = canSwapBetweenExpressionAndStatement; -exports.isCompletionRecord = isCompletionRecord; -exports.isStatementOrBlock = isStatementOrBlock; -exports.referencesImport = referencesImport; -exports.getSource = getSource; -exports.willIMaybeExecuteBefore = willIMaybeExecuteBefore; -exports._guessExecutionStatusRelativeTo = _guessExecutionStatusRelativeTo; -exports._guessExecutionStatusRelativeToDifferentFunctions = _guessExecutionStatusRelativeToDifferentFunctions; -exports.resolve = resolve; -exports._resolve = _resolve; -exports.isConstantExpression = isConstantExpression; -exports.isInStrictMode = isInStrictMode; -exports.is = void 0; - -var _includes = _interopRequireDefault(require("lodash/includes")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function matchesPattern(pattern, allowPartial) { - return t.matchesPattern(this.node, pattern, allowPartial); -} - -function has(key) { - var val = this.node && this.node[key]; - - if (val && Array.isArray(val)) { - return !!val.length; - } else { - return !!val; - } -} - -function isStatic() { - return this.scope.isStatic(this.node); -} - -var is = has; -exports.is = is; - -function isnt(key) { - return !this.has(key); -} - -function equals(key, value) { - return this.node[key] === value; -} - -function isNodeType(type) { - return t.isType(this.type, type); -} - -function canHaveVariableDeclarationOrExpression() { - return (this.key === "init" || this.key === "left") && this.parentPath.isFor(); -} - -function canSwapBetweenExpressionAndStatement(replacement) { - if (this.key !== "body" || !this.parentPath.isArrowFunctionExpression()) { - return false; - } - - if (this.isExpression()) { - return t.isBlockStatement(replacement); - } else if (this.isBlockStatement()) { - return t.isExpression(replacement); - } - - return false; -} - -function isCompletionRecord(allowInsideFunction) { - var path = this; - var first = true; - - do { - var container = path.container; - - if (path.isFunction() && !first) { - return !!allowInsideFunction; - } - - first = false; - - if (Array.isArray(container) && path.key !== container.length - 1) { - return false; - } - } while ((path = path.parentPath) && !path.isProgram()); - - return true; -} - -function isStatementOrBlock() { - if (this.parentPath.isLabeledStatement() || t.isBlockStatement(this.container)) { - return false; - } else { - return (0, _includes.default)(t.STATEMENT_OR_BLOCK_KEYS, this.key); - } -} - -function referencesImport(moduleSource, importName) { - if (!this.isReferencedIdentifier()) return false; - var binding = this.scope.getBinding(this.node.name); - if (!binding || binding.kind !== "module") return false; - var path = binding.path; - var parent = path.parentPath; - if (!parent.isImportDeclaration()) return false; - - if (parent.node.source.value === moduleSource) { - if (!importName) return true; - } else { - return false; - } - - if (path.isImportDefaultSpecifier() && importName === "default") { - return true; - } - - if (path.isImportNamespaceSpecifier() && importName === "*") { - return true; - } - - if (path.isImportSpecifier() && path.node.imported.name === importName) { - return true; - } - - return false; -} - -function getSource() { - var node = this.node; - - if (node.end) { - var code = this.hub.getCode(); - if (code) return code.slice(node.start, node.end); - } - - return ""; -} - -function willIMaybeExecuteBefore(target) { - return this._guessExecutionStatusRelativeTo(target) !== "after"; -} - -function getOuterFunction(path) { - return (path.scope.getFunctionParent() || path.scope.getProgramParent()).path; -} - -function isExecutionUncertain(type, key) { - switch (type) { - case "LogicalExpression": - return key === "right"; - - case "ConditionalExpression": - case "IfStatement": - return key === "consequent" || key === "alternate"; - - case "WhileStatement": - case "DoWhileStatement": - case "ForInStatement": - case "ForOfStatement": - return key === "body"; - - case "ForStatement": - return key === "body" || key === "update"; - - case "SwitchStatement": - return key === "cases"; - - case "TryStatement": - return key === "handler"; - - case "AssignmentPattern": - return key === "right"; - - case "OptionalMemberExpression": - return key === "property"; - - case "OptionalCallExpression": - return key === "arguments"; - - default: - return false; - } -} - -function isExecutionUncertainInList(paths, maxIndex) { - for (var i = 0; i < maxIndex; i++) { - var path = paths[i]; - - if (isExecutionUncertain(path.parent.type, path.parentKey)) { - return true; - } - } - - return false; -} - -function _guessExecutionStatusRelativeTo(target) { - var funcParent = { - this: getOuterFunction(this), - target: getOuterFunction(target) - }; - - if (funcParent.target.node !== funcParent.this.node) { - return this._guessExecutionStatusRelativeToDifferentFunctions(funcParent.target); - } - - var paths = { - target: target.getAncestry(), - this: this.getAncestry() - }; - if (paths.target.indexOf(this) >= 0) return "after"; - if (paths.this.indexOf(target) >= 0) return "before"; - var commonPath; - var commonIndex = { - target: 0, - this: 0 - }; - - while (!commonPath && commonIndex.this < paths.this.length) { - var path = paths.this[commonIndex.this]; - commonIndex.target = paths.target.indexOf(path); - - if (commonIndex.target >= 0) { - commonPath = path; - } else { - commonIndex.this++; - } - } - - if (!commonPath) { - throw new Error("Internal Babel error - The two compared nodes" + " don't appear to belong to the same program."); - } - - if (isExecutionUncertainInList(paths.this, commonIndex.this - 1) || isExecutionUncertainInList(paths.target, commonIndex.target - 1)) { - return "unknown"; - } - - var divergence = { - this: paths.this[commonIndex.this - 1], - target: paths.target[commonIndex.target - 1] - }; - - if (divergence.target.listKey && divergence.this.listKey && divergence.target.container === divergence.this.container) { - return divergence.target.key > divergence.this.key ? "before" : "after"; - } - - var keys = t.VISITOR_KEYS[commonPath.type]; - var keyPosition = { - this: keys.indexOf(divergence.this.parentKey), - target: keys.indexOf(divergence.target.parentKey) - }; - return keyPosition.target > keyPosition.this ? "before" : "after"; -} - -var executionOrderCheckedNodes = new WeakSet(); - -function _guessExecutionStatusRelativeToDifferentFunctions(target) { - if (!target.isFunctionDeclaration() || target.parentPath.isExportDeclaration()) { - return "unknown"; - } - - var binding = target.scope.getBinding(target.node.id.name); - if (!binding.references) return "before"; - var referencePaths = binding.referencePaths; - var allStatus; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = referencePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var path = _step.value; - var childOfFunction = !!path.find(function (path) { - return path.node === target.node; - }); - if (childOfFunction) continue; - - if (path.key !== "callee" || !path.parentPath.isCallExpression()) { - return "unknown"; - } - - if (executionOrderCheckedNodes.has(path.node)) continue; - executionOrderCheckedNodes.add(path.node); - - var status = this._guessExecutionStatusRelativeTo(path); - - executionOrderCheckedNodes.delete(path.node); - - if (allStatus && allStatus !== status) { - return "unknown"; - } else { - allStatus = status; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return allStatus; -} - -function resolve(dangerous, resolved) { - return this._resolve(dangerous, resolved) || this; -} - -function _resolve(dangerous, resolved) { - if (resolved && resolved.indexOf(this) >= 0) return; - resolved = resolved || []; - resolved.push(this); - - if (this.isVariableDeclarator()) { - if (this.get("id").isIdentifier()) { - return this.get("init").resolve(dangerous, resolved); - } else {} - } else if (this.isReferencedIdentifier()) { - var binding = this.scope.getBinding(this.node.name); - if (!binding) return; - if (!binding.constant) return; - if (binding.kind === "module") return; - - if (binding.path !== this) { - var ret = binding.path.resolve(dangerous, resolved); - if (this.find(function (parent) { - return parent.node === ret.node; - })) return; - return ret; - } - } else if (this.isTypeCastExpression()) { - return this.get("expression").resolve(dangerous, resolved); - } else if (dangerous && this.isMemberExpression()) { - var targetKey = this.toComputedKey(); - if (!t.isLiteral(targetKey)) return; - var targetName = targetKey.value; - var target = this.get("object").resolve(dangerous, resolved); - - if (target.isObjectExpression()) { - var props = target.get("properties"); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var prop = _step2.value; - if (!prop.isProperty()) continue; - var key = prop.get("key"); - var match = prop.isnt("computed") && key.isIdentifier({ - name: targetName - }); - match = match || key.isLiteral({ - value: targetName - }); - if (match) return prop.get("value").resolve(dangerous, resolved); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else if (target.isArrayExpression() && !isNaN(+targetName)) { - var elems = target.get("elements"); - var elem = elems[targetName]; - if (elem) return elem.resolve(dangerous, resolved); - } - } -} - -function isConstantExpression() { - if (this.isIdentifier()) { - var binding = this.scope.getBinding(this.node.name); - if (!binding) return false; - return binding.constant; - } - - if (this.isLiteral()) { - if (this.isRegExpLiteral()) { - return false; - } - - if (this.isTemplateLiteral()) { - return this.get("expressions").every(function (expression) { - return expression.isConstantExpression(); - }); - } - - return true; - } - - if (this.isUnaryExpression()) { - if (this.get("operator").node !== "void") { - return false; - } - - return this.get("argument").isConstantExpression(); - } - - if (this.isBinaryExpression()) { - return this.get("left").isConstantExpression() && this.get("right").isConstantExpression(); - } - - return false; -} - -function isInStrictMode() { - var start = this.isProgram() ? this : this.parentPath; - var strictParent = start.find(function (path) { - if (path.isProgram({ - sourceType: "module" - })) return true; - if (path.isClass()) return true; - if (!path.isProgram() && !path.isFunction()) return false; - - if (path.isArrowFunctionExpression() && !path.get("body").isBlockStatement()) { - return false; - } - - var node = path.node; - if (path.isFunction()) node = node.body; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = node.directives[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var directive = _step3.value; - - if (directive.value.value === "use strict") { - return true; - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - }); - return !!strictParent; -} - -},{"@babel/types":242,"lodash/includes":1015}],188:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var referenceVisitor = { - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - if (path.isJSXIdentifier() && t.react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) { - return; - } - - if (path.node.name === "this") { - var scope = path.scope; - - do { - if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) { - break; - } - } while (scope = scope.parent); - - if (scope) state.breakOnScopePaths.push(scope.path); - } - - var binding = path.scope.getBinding(path.node.name); - if (!binding) return; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = binding.constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var violation = _step.value; - - if (violation.scope !== binding.path.scope) { - state.mutableBinding = true; - path.stop(); - return; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (binding !== state.scope.getBinding(path.node.name)) return; - state.bindings[path.node.name] = binding; - } -}; - -var PathHoister = -/*#__PURE__*/ -function () { - function PathHoister(path, scope) { - _classCallCheck(this, PathHoister); - - this.breakOnScopePaths = []; - this.bindings = {}; - this.mutableBinding = false; - this.scopes = []; - this.scope = scope; - this.path = path; - this.attachAfter = false; - } - - _createClass(PathHoister, [{ - key: "isCompatibleScope", - value: function isCompatibleScope(scope) { - for (var _i = 0, _Object$keys = Object.keys(this.bindings); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - var binding = this.bindings[key]; - - if (!scope.bindingIdentifierEquals(key, binding.identifier)) { - return false; - } - } - - return true; - } - }, { - key: "getCompatibleScopes", - value: function getCompatibleScopes() { - var scope = this.path.scope; - - do { - if (this.isCompatibleScope(scope)) { - this.scopes.push(scope); - } else { - break; - } - - if (this.breakOnScopePaths.indexOf(scope.path) >= 0) { - break; - } - } while (scope = scope.parent); - } - }, { - key: "getAttachmentPath", - value: function getAttachmentPath() { - var path = this._getAttachmentPath(); - - if (!path) return; - var targetScope = path.scope; - - if (targetScope.path === path) { - targetScope = path.scope.parent; - } - - if (targetScope.path.isProgram() || targetScope.path.isFunction()) { - for (var _i2 = 0, _Object$keys2 = Object.keys(this.bindings); _i2 < _Object$keys2.length; _i2++) { - var name = _Object$keys2[_i2]; - if (!targetScope.hasOwnBinding(name)) continue; - var binding = this.bindings[name]; - - if (binding.kind === "param" || binding.path.parentKey === "params") { - continue; - } - - var bindingParentPath = this.getAttachmentParentForPath(binding.path); - - if (bindingParentPath.key >= path.key) { - this.attachAfter = true; - path = binding.path; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = binding.constantViolations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var violationPath = _step2.value; - - if (this.getAttachmentParentForPath(violationPath).key > path.key) { - path = violationPath; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } - } - } - - return path; - } - }, { - key: "_getAttachmentPath", - value: function _getAttachmentPath() { - var scopes = this.scopes; - var scope = scopes.pop(); - if (!scope) return; - - if (scope.path.isFunction()) { - if (this.hasOwnParamBindings(scope)) { - if (this.scope === scope) return; - var bodies = scope.path.get("body").get("body"); - - for (var i = 0; i < bodies.length; i++) { - if (bodies[i].node._blockHoist) continue; - return bodies[i]; - } - } else { - return this.getNextScopeAttachmentParent(); - } - } else if (scope.path.isProgram()) { - return this.getNextScopeAttachmentParent(); - } - } - }, { - key: "getNextScopeAttachmentParent", - value: function getNextScopeAttachmentParent() { - var scope = this.scopes.pop(); - if (scope) return this.getAttachmentParentForPath(scope.path); - } - }, { - key: "getAttachmentParentForPath", - value: function getAttachmentParentForPath(path) { - do { - if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) { - return path; - } - } while (path = path.parentPath); - } - }, { - key: "hasOwnParamBindings", - value: function hasOwnParamBindings(scope) { - for (var _i3 = 0, _Object$keys3 = Object.keys(this.bindings); _i3 < _Object$keys3.length; _i3++) { - var name = _Object$keys3[_i3]; - if (!scope.hasOwnBinding(name)) continue; - var binding = this.bindings[name]; - if (binding.kind === "param" && binding.constant) return true; - } - - return false; - } - }, { - key: "run", - value: function run() { - this.path.traverse(referenceVisitor, this); - if (this.mutableBinding) return; - this.getCompatibleScopes(); - var attachTo = this.getAttachmentPath(); - if (!attachTo) return; - if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return; - var uid = attachTo.scope.generateUidIdentifier("ref"); - var declarator = t.variableDeclarator(uid, this.path.node); - var insertFn = this.attachAfter ? "insertAfter" : "insertBefore"; - - var _attachTo$insertFn = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : t.variableDeclaration("var", [declarator])]), - _attachTo$insertFn2 = _slicedToArray(_attachTo$insertFn, 1), - attached = _attachTo$insertFn2[0]; - - var parent = this.path.parentPath; - - if (parent.isJSXElement() && this.path.container === parent.node.children) { - uid = t.JSXExpressionContainer(uid); - } - - this.path.replaceWith(t.cloneNode(uid)); - return attachTo.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init"); - } - }]); - - return PathHoister; -}(); - -exports.default = PathHoister; - -},{"@babel/types":242}],189:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.hooks = void 0; -var hooks = [function (self, parent) { - var removeParent = self.key === "test" && (parent.isWhile() || parent.isSwitchCase()) || self.key === "declaration" && parent.isExportDeclaration() || self.key === "body" && parent.isLabeledStatement() || self.listKey === "declarations" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === "expression" && parent.isExpressionStatement(); - - if (removeParent) { - parent.remove(); - return true; - } -}, function (self, parent) { - if (parent.isSequenceExpression() && parent.node.expressions.length === 1) { - parent.replaceWith(parent.node.expressions[0]); - return true; - } -}, function (self, parent) { - if (parent.isBinary()) { - if (self.key === "left") { - parent.replaceWith(parent.node.right); - } else { - parent.replaceWith(parent.node.left); - } - - return true; - } -}, function (self, parent) { - if (parent.isIfStatement() && (self.key === "consequent" || self.key === "alternate") || self.key === "body" && (parent.isLoop() || parent.isArrowFunctionExpression())) { - self.replaceWith({ - type: "BlockStatement", - body: [] - }); - return true; - } -}]; -exports.hooks = hooks; - -},{}],190:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ForAwaitStatement = exports.NumericLiteralTypeAnnotation = exports.ExistentialTypeParam = exports.SpreadProperty = exports.RestProperty = exports.Flow = exports.Pure = exports.Generated = exports.User = exports.Var = exports.BlockScoped = exports.Referenced = exports.Scope = exports.Expression = exports.Statement = exports.BindingIdentifier = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = void 0; - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var ReferencedIdentifier = { - types: ["Identifier", "JSXIdentifier"], - checkPath: function checkPath(path, opts) { - var node = path.node, - parent = path.parent; - - if (!t.isIdentifier(node, opts) && !t.isJSXMemberExpression(parent, opts)) { - if (t.isJSXIdentifier(node, opts)) { - if (t.react.isCompatTag(node.name)) return false; - } else { - return false; - } - } - - return t.isReferenced(node, parent, path.parentPath.parent); - } -}; -exports.ReferencedIdentifier = ReferencedIdentifier; -var ReferencedMemberExpression = { - types: ["MemberExpression"], - checkPath: function checkPath(_ref) { - var node = _ref.node, - parent = _ref.parent; - return t.isMemberExpression(node) && t.isReferenced(node, parent); - } -}; -exports.ReferencedMemberExpression = ReferencedMemberExpression; -var BindingIdentifier = { - types: ["Identifier"], - checkPath: function checkPath(path) { - var node = path.node, - parent = path.parent; - var grandparent = path.parentPath.parent; - return t.isIdentifier(node) && t.isBinding(node, parent, grandparent); - } -}; -exports.BindingIdentifier = BindingIdentifier; -var Statement = { - types: ["Statement"], - checkPath: function checkPath(_ref2) { - var node = _ref2.node, - parent = _ref2.parent; - - if (t.isStatement(node)) { - if (t.isVariableDeclaration(node)) { - if (t.isForXStatement(parent, { - left: node - })) return false; - if (t.isForStatement(parent, { - init: node - })) return false; - } - - return true; - } else { - return false; - } - } -}; -exports.Statement = Statement; -var Expression = { - types: ["Expression"], - checkPath: function checkPath(path) { - if (path.isIdentifier()) { - return path.isReferencedIdentifier(); - } else { - return t.isExpression(path.node); - } - } -}; -exports.Expression = Expression; -var Scope = { - types: ["Scopable"], - checkPath: function checkPath(path) { - return t.isScope(path.node, path.parent); - } -}; -exports.Scope = Scope; -var Referenced = { - checkPath: function checkPath(path) { - return t.isReferenced(path.node, path.parent); - } -}; -exports.Referenced = Referenced; -var BlockScoped = { - checkPath: function checkPath(path) { - return t.isBlockScoped(path.node); - } -}; -exports.BlockScoped = BlockScoped; -var Var = { - types: ["VariableDeclaration"], - checkPath: function checkPath(path) { - return t.isVar(path.node); - } -}; -exports.Var = Var; -var User = { - checkPath: function checkPath(path) { - return path.node && !!path.node.loc; - } -}; -exports.User = User; -var Generated = { - checkPath: function checkPath(path) { - return !path.isUser(); - } -}; -exports.Generated = Generated; -var Pure = { - checkPath: function checkPath(path, opts) { - return path.scope.isPure(path.node, opts); - } -}; -exports.Pure = Pure; -var Flow = { - types: ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], - checkPath: function checkPath(_ref3) { - var node = _ref3.node; - - if (t.isFlow(node)) { - return true; - } else if (t.isImportDeclaration(node)) { - return node.importKind === "type" || node.importKind === "typeof"; - } else if (t.isExportDeclaration(node)) { - return node.exportKind === "type"; - } else if (t.isImportSpecifier(node)) { - return node.importKind === "type" || node.importKind === "typeof"; - } else { - return false; - } - } -}; -exports.Flow = Flow; -var RestProperty = { - types: ["RestElement"], - checkPath: function checkPath(path) { - return path.parentPath && path.parentPath.isObjectPattern(); - } -}; -exports.RestProperty = RestProperty; -var SpreadProperty = { - types: ["RestElement"], - checkPath: function checkPath(path) { - return path.parentPath && path.parentPath.isObjectExpression(); - } -}; -exports.SpreadProperty = SpreadProperty; -var ExistentialTypeParam = { - types: ["ExistsTypeAnnotation"] -}; -exports.ExistentialTypeParam = ExistentialTypeParam; -var NumericLiteralTypeAnnotation = { - types: ["NumberLiteralTypeAnnotation"] -}; -exports.NumericLiteralTypeAnnotation = NumericLiteralTypeAnnotation; -var ForAwaitStatement = { - types: ["ForOfStatement"], - checkPath: function checkPath(_ref4) { - var node = _ref4.node; - return node.await === true; - } -}; -exports.ForAwaitStatement = ForAwaitStatement; - -},{"@babel/types":242}],191:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.insertBefore = insertBefore; -exports._containerInsert = _containerInsert; -exports._containerInsertBefore = _containerInsertBefore; -exports._containerInsertAfter = _containerInsertAfter; -exports.insertAfter = insertAfter; -exports.updateSiblingKeys = updateSiblingKeys; -exports._verifyNodeList = _verifyNodeList; -exports.unshiftContainer = unshiftContainer; -exports.pushContainer = pushContainer; -exports.hoist = hoist; - -var _cache = require("../cache"); - -var _hoister = _interopRequireDefault(require("./lib/hoister")); - -var _index = _interopRequireDefault(require("./index")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function insertBefore(nodes) { - this._assertUnremoved(); - - nodes = this._verifyNodeList(nodes); - var parentPath = this.parentPath; - - if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) { - return parentPath.insertBefore(nodes); - } else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") { - if (this.node) nodes.push(this.node); - return this.replaceExpressionWithStatements(nodes); - } else if (Array.isArray(this.container)) { - return this._containerInsertBefore(nodes); - } else if (this.isStatementOrBlock()) { - var shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); - this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); - return this.unshiftContainer("body", nodes); - } else { - throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); - } -} - -function _containerInsert(from, nodes) { - var _this$container; - - this.updateSiblingKeys(from, nodes.length); - var paths = []; - - (_this$container = this.container).splice.apply(_this$container, [from, 0].concat(_toConsumableArray(nodes))); - - for (var i = 0; i < nodes.length; i++) { - var to = from + i; - var path = this.getSibling(to); - paths.push(path); - - if (this.context && this.context.queue) { - path.pushContext(this.context); - } - } - - var contexts = this._getQueueContexts(); - - for (var _i = 0, _paths = paths; _i < _paths.length; _i++) { - var _path = _paths[_i]; - - _path.setScope(); - - _path.debug("Inserted."); - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = contexts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var context = _step.value; - context.maybeQueue(_path, true); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return paths; -} - -function _containerInsertBefore(nodes) { - return this._containerInsert(this.key, nodes); -} - -function _containerInsertAfter(nodes) { - return this._containerInsert(this.key + 1, nodes); -} - -function insertAfter(nodes) { - this._assertUnremoved(); - - nodes = this._verifyNodeList(nodes); - var parentPath = this.parentPath; - - if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) { - return parentPath.insertAfter(nodes.map(function (node) { - return t.isExpression(node) ? t.expressionStatement(node) : node; - })); - } else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") { - if (this.node) { - var scope = this.scope; - - if (parentPath.isMethod({ - computed: true, - key: this.node - })) { - scope = scope.parent; - } - - var temp = scope.generateDeclaredUidIdentifier(); - nodes.unshift(t.expressionStatement(t.assignmentExpression("=", t.cloneNode(temp), this.node))); - nodes.push(t.expressionStatement(t.cloneNode(temp))); - } - - return this.replaceExpressionWithStatements(nodes); - } else if (Array.isArray(this.container)) { - return this._containerInsertAfter(nodes); - } else if (this.isStatementOrBlock()) { - var shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); - this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); - return this.pushContainer("body", nodes); - } else { - throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); - } -} - -function updateSiblingKeys(fromIndex, incrementBy) { - if (!this.parent) return; - - var paths = _cache.path.get(this.parent); - - for (var i = 0; i < paths.length; i++) { - var path = paths[i]; - - if (path.key >= fromIndex) { - path.key += incrementBy; - } - } -} - -function _verifyNodeList(nodes) { - if (!nodes) { - return []; - } - - if (nodes.constructor !== Array) { - nodes = [nodes]; - } - - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - var msg = void 0; - - if (!node) { - msg = "has falsy node"; - } else if (_typeof(node) !== "object") { - msg = "contains a non-object node"; - } else if (!node.type) { - msg = "without a type"; - } else if (node instanceof _index.default) { - msg = "has a NodePath when it expected a raw object"; - } - - if (msg) { - var type = Array.isArray(node) ? "array" : _typeof(node); - throw new Error("Node list ".concat(msg, " with the index of ").concat(i, " and type of ").concat(type)); - } - } - - return nodes; -} - -function unshiftContainer(listKey, nodes) { - this._assertUnremoved(); - - nodes = this._verifyNodeList(nodes); - - var path = _index.default.get({ - parentPath: this, - parent: this.node, - container: this.node[listKey], - listKey: listKey, - key: 0 - }); - - return path._containerInsertBefore(nodes); -} - -function pushContainer(listKey, nodes) { - this._assertUnremoved(); - - nodes = this._verifyNodeList(nodes); - var container = this.node[listKey]; - - var path = _index.default.get({ - parentPath: this, - parent: this.node, - container: container, - listKey: listKey, - key: container.length - }); - - return path.replaceWithMultiple(nodes); -} - -function hoist() { - var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.scope; - var hoister = new _hoister.default(this, scope); - return hoister.run(); -} - -},{"../cache":173,"./index":183,"./lib/hoister":188,"@babel/types":242}],192:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.remove = remove; -exports._removeFromScope = _removeFromScope; -exports._callRemovalHooks = _callRemovalHooks; -exports._remove = _remove; -exports._markRemoved = _markRemoved; -exports._assertUnremoved = _assertUnremoved; - -var _removalHooks = require("./lib/removal-hooks"); - -var _index = require("./index"); - -function remove() { - this._assertUnremoved(); - - this.resync(); - - this._removeFromScope(); - - if (this._callRemovalHooks()) { - this._markRemoved(); - - return; - } - - this.shareCommentsWithSiblings(); - - this._remove(); - - this._markRemoved(); -} - -function _removeFromScope() { - var _this = this; - - var bindings = this.getBindingIdentifiers(); - Object.keys(bindings).forEach(function (name) { - return _this.scope.removeBinding(name); - }); -} - -function _callRemovalHooks() { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = _removalHooks.hooks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var fn = _step.value; - if (fn(this, this.parentPath)) return true; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -} - -function _remove() { - if (Array.isArray(this.container)) { - this.container.splice(this.key, 1); - this.updateSiblingKeys(this.key, -1); - } else { - this._replaceWith(null); - } -} - -function _markRemoved() { - this._traverseFlags |= _index.SHOULD_SKIP | _index.REMOVED; - this.node = null; -} - -function _assertUnremoved() { - if (this.removed) { - throw this.buildCodeFrameError("NodePath has been removed so is read-only."); - } -} - -},{"./index":183,"./lib/removal-hooks":189}],193:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.replaceWithMultiple = replaceWithMultiple; -exports.replaceWithSourceString = replaceWithSourceString; -exports.replaceWith = replaceWith; -exports._replaceWith = _replaceWith; -exports.replaceExpressionWithStatements = replaceExpressionWithStatements; -exports.replaceInline = replaceInline; - -var _codeFrame = require("@babel/code-frame"); - -var _index = _interopRequireDefault(require("../index")); - -var _index2 = _interopRequireDefault(require("./index")); - -var _parser = require("@babel/parser"); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var hoistVariablesVisitor = { - Function: function Function(path) { - path.skip(); - }, - VariableDeclaration: function VariableDeclaration(path) { - if (path.node.kind !== "var") return; - var bindings = path.getBindingIdentifiers(); - - for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - path.scope.push({ - id: bindings[key] - }); - } - - var exprs = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = path.node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var declar = _step.value; - - if (declar.init) { - exprs.push(t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init))); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - path.replaceWithMultiple(exprs); - } -}; - -function replaceWithMultiple(nodes) { - this.resync(); - nodes = this._verifyNodeList(nodes); - t.inheritLeadingComments(nodes[0], this.node); - t.inheritTrailingComments(nodes[nodes.length - 1], this.node); - this.node = this.container[this.key] = null; - var paths = this.insertAfter(nodes); - - if (this.node) { - this.requeue(); - } else { - this.remove(); - } - - return paths; -} - -function replaceWithSourceString(replacement) { - this.resync(); - - try { - replacement = "(".concat(replacement, ")"); - replacement = (0, _parser.parse)(replacement); - } catch (err) { - var loc = err.loc; - - if (loc) { - err.message += " - make sure this is an expression.\n" + (0, _codeFrame.codeFrameColumns)(replacement, { - start: { - line: loc.line, - column: loc.column + 1 - } - }); - err.code = "BABEL_REPLACE_SOURCE_ERROR"; - } - - throw err; - } - - replacement = replacement.program.body[0].expression; - - _index.default.removeProperties(replacement); - - return this.replaceWith(replacement); -} - -function replaceWith(replacement) { - this.resync(); - - if (this.removed) { - throw new Error("You can't replace this node, we've already removed it"); - } - - if (replacement instanceof _index2.default) { - replacement = replacement.node; - } - - if (!replacement) { - throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead"); - } - - if (this.node === replacement) { - return [this]; - } - - if (this.isProgram() && !t.isProgram(replacement)) { - throw new Error("You can only replace a Program root node with another Program node"); - } - - if (Array.isArray(replacement)) { - throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`"); - } - - if (typeof replacement === "string") { - throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`"); - } - - var nodePath = ""; - - if (this.isNodeType("Statement") && t.isExpression(replacement)) { - if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) { - replacement = t.expressionStatement(replacement); - nodePath = "expression"; - } - } - - if (this.isNodeType("Expression") && t.isStatement(replacement)) { - if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) { - return this.replaceExpressionWithStatements([replacement]); - } - } - - var oldNode = this.node; - - if (oldNode) { - t.inheritsComments(replacement, oldNode); - t.removeComments(oldNode); - } - - this._replaceWith(replacement); - - this.type = replacement.type; - this.setScope(); - this.requeue(); - return [nodePath ? this.get(nodePath) : this]; -} - -function _replaceWith(node) { - if (!this.container) { - throw new ReferenceError("Container is falsy"); - } - - if (this.inList) { - t.validate(this.parent, this.key, [node]); - } else { - t.validate(this.parent, this.key, node); - } - - this.debug("Replace with ".concat(node && node.type)); - this.node = this.container[this.key] = node; -} - -function replaceExpressionWithStatements(nodes) { - this.resync(); - var toSequenceExpression = t.toSequenceExpression(nodes, this.scope); - - if (toSequenceExpression) { - return this.replaceWith(toSequenceExpression)[0].get("expressions"); - } - - var functionParent = this.getFunctionParent(); - var isParentAsync = functionParent && functionParent.is("async"); - var container = t.arrowFunctionExpression([], t.blockStatement(nodes)); - this.replaceWith(t.callExpression(container, [])); - this.traverse(hoistVariablesVisitor); - var completionRecords = this.get("callee").getCompletionRecords(); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = completionRecords[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var path = _step2.value; - if (!path.isExpressionStatement()) continue; - var loop = path.findParent(function (path) { - return path.isLoop(); - }); - - if (loop) { - var uid = loop.getData("expressionReplacementReturnUid"); - - if (!uid) { - var _callee = this.get("callee"); - - uid = _callee.scope.generateDeclaredUidIdentifier("ret"); - - _callee.get("body").pushContainer("body", t.returnStatement(t.cloneNode(uid))); - - loop.setData("expressionReplacementReturnUid", uid); - } else { - uid = t.identifier(uid.name); - } - - path.get("expression").replaceWith(t.assignmentExpression("=", t.cloneNode(uid), path.node.expression)); - } else { - path.replaceWith(t.returnStatement(path.node.expression)); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var callee = this.get("callee"); - callee.arrowFunctionToExpression(); - - if (isParentAsync && _index.default.hasType(this.get("callee.body").node, "AwaitExpression", t.FUNCTION_TYPES)) { - callee.set("async", true); - this.replaceWith(t.awaitExpression(this.node)); - } - - return callee.get("body.body"); -} - -function replaceInline(nodes) { - this.resync(); - - if (Array.isArray(nodes)) { - if (Array.isArray(this.container)) { - nodes = this._verifyNodeList(nodes); - - var paths = this._containerInsertAfter(nodes); - - this.remove(); - return paths; - } else { - return this.replaceWithMultiple(nodes); - } - } else { - return this.replaceWith(nodes); - } -} - -},{"../index":176,"./index":183,"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242}],194:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var Binding = -/*#__PURE__*/ -function () { - function Binding(_ref) { - var identifier = _ref.identifier, - scope = _ref.scope, - path = _ref.path, - kind = _ref.kind; - - _classCallCheck(this, Binding); - - this.identifier = identifier; - this.scope = scope; - this.path = path; - this.kind = kind; - this.constantViolations = []; - this.constant = true; - this.referencePaths = []; - this.referenced = false; - this.references = 0; - this.clearValue(); - } - - _createClass(Binding, [{ - key: "deoptValue", - value: function deoptValue() { - this.clearValue(); - this.hasDeoptedValue = true; - } - }, { - key: "setValue", - value: function setValue(value) { - if (this.hasDeoptedValue) return; - this.hasValue = true; - this.value = value; - } - }, { - key: "clearValue", - value: function clearValue() { - this.hasDeoptedValue = false; - this.hasValue = false; - this.value = null; - } - }, { - key: "reassign", - value: function reassign(path) { - this.constant = false; - - if (this.constantViolations.indexOf(path) !== -1) { - return; - } - - this.constantViolations.push(path); - } - }, { - key: "reference", - value: function reference(path) { - if (this.referencePaths.indexOf(path) !== -1) { - return; - } - - this.referenced = true; - this.references++; - this.referencePaths.push(path); - } - }, { - key: "dereference", - value: function dereference() { - this.references--; - this.referenced = !!this.references; - } - }]); - - return Binding; -}(); - -exports.default = Binding; - -},{}],195:[function(require,module,exports){ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _includes = _interopRequireDefault(require("lodash/includes")); - -var _repeat = _interopRequireDefault(require("lodash/repeat")); - -var _renamer = _interopRequireDefault(require("./lib/renamer")); - -var _index = _interopRequireDefault(require("../index")); - -var _defaults = _interopRequireDefault(require("lodash/defaults")); - -var _binding = _interopRequireDefault(require("./binding")); - -var _globals = _interopRequireDefault(require("globals")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _cache = require("../cache"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function gatherNodeParts(node, parts) { - if (t.isModuleDeclaration(node)) { - if (node.source) { - gatherNodeParts(node.source, parts); - } else if (node.specifiers && node.specifiers.length) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = node.specifiers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var specifier = _step.value; - gatherNodeParts(specifier, parts); - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } else if (node.declaration) { - gatherNodeParts(node.declaration, parts); - } - } else if (t.isModuleSpecifier(node)) { - gatherNodeParts(node.local, parts); - } else if (t.isMemberExpression(node)) { - gatherNodeParts(node.object, parts); - gatherNodeParts(node.property, parts); - } else if (t.isIdentifier(node)) { - parts.push(node.name); - } else if (t.isLiteral(node)) { - parts.push(node.value); - } else if (t.isCallExpression(node)) { - gatherNodeParts(node.callee, parts); - } else if (t.isObjectExpression(node) || t.isObjectPattern(node)) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = node.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var prop = _step2.value; - gatherNodeParts(prop.key || prop.argument, parts); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else if (t.isPrivateName(node)) { - gatherNodeParts(node.id, parts); - } else if (t.isThisExpression(node)) { - parts.push("this"); - } else if (t.isSuper(node)) { - parts.push("super"); - } -} - -var collectorVisitor = { - For: function For(path) { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = t.FOR_INIT_KEYS[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var key = _step3.value; - var declar = path.get(key); - - if (declar.isVar()) { - var parentScope = path.scope.getFunctionParent() || path.scope.getProgramParent(); - parentScope.registerBinding("var", declar); - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - }, - Declaration: function Declaration(path) { - if (path.isBlockScoped()) return; - - if (path.isExportDeclaration() && path.get("declaration").isDeclaration()) { - return; - } - - var parent = path.scope.getFunctionParent() || path.scope.getProgramParent(); - parent.registerDeclaration(path); - }, - ReferencedIdentifier: function ReferencedIdentifier(path, state) { - state.references.push(path); - }, - ForXStatement: function ForXStatement(path, state) { - var left = path.get("left"); - - if (left.isPattern() || left.isIdentifier()) { - state.constantViolations.push(path); - } - }, - ExportDeclaration: { - exit: function exit(path) { - var node = path.node, - scope = path.scope; - var declar = node.declaration; - - if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { - var id = declar.id; - if (!id) return; - var binding = scope.getBinding(id.name); - if (binding) binding.reference(path); - } else if (t.isVariableDeclaration(declar)) { - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = declar.declarations[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var decl = _step4.value; - - for (var _i = 0, _Object$keys = Object.keys(t.getBindingIdentifiers(decl)); _i < _Object$keys.length; _i++) { - var name = _Object$keys[_i]; - - var _binding2 = scope.getBinding(name); - - if (_binding2) _binding2.reference(path); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - } - } - }, - LabeledStatement: function LabeledStatement(path) { - path.scope.getProgramParent().addGlobal(path.node); - path.scope.getBlockParent().registerDeclaration(path); - }, - AssignmentExpression: function AssignmentExpression(path, state) { - state.assignments.push(path); - }, - UpdateExpression: function UpdateExpression(path, state) { - state.constantViolations.push(path); - }, - UnaryExpression: function UnaryExpression(path, state) { - if (path.node.operator === "delete") { - state.constantViolations.push(path); - } - }, - BlockScoped: function BlockScoped(path) { - var scope = path.scope; - if (scope.path === path) scope = scope.parent; - scope.getBlockParent().registerDeclaration(path); - }, - ClassDeclaration: function ClassDeclaration(path) { - var id = path.node.id; - if (!id) return; - var name = id.name; - path.scope.bindings[name] = path.scope.getBinding(name); - }, - Block: function Block(path) { - var paths = path.get("body"); - var _iteratorNormalCompletion5 = true; - var _didIteratorError5 = false; - var _iteratorError5 = undefined; - - try { - for (var _iterator5 = paths[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { - var bodyPath = _step5.value; - - if (bodyPath.isFunctionDeclaration()) { - path.scope.getBlockParent().registerDeclaration(bodyPath); - } - } - } catch (err) { - _didIteratorError5 = true; - _iteratorError5 = err; - } finally { - try { - if (!_iteratorNormalCompletion5 && _iterator5.return != null) { - _iterator5.return(); - } - } finally { - if (_didIteratorError5) { - throw _iteratorError5; - } - } - } - } -}; -var uid = 0; - -var Scope = -/*#__PURE__*/ -function () { - function Scope(path) { - _classCallCheck(this, Scope); - - var node = path.node; - - var cached = _cache.scope.get(node); - - if (cached && cached.path === path) { - return cached; - } - - _cache.scope.set(node, this); - - this.uid = uid++; - this.block = node; - this.path = path; - this.labels = new Map(); - } - - _createClass(Scope, [{ - key: "traverse", - value: function traverse(node, opts, state) { - (0, _index.default)(node, opts, this, state, this.path); - } - }, { - key: "generateDeclaredUidIdentifier", - value: function generateDeclaredUidIdentifier(name) { - var id = this.generateUidIdentifier(name); - this.push({ - id: id - }); - return t.cloneNode(id); - } - }, { - key: "generateUidIdentifier", - value: function generateUidIdentifier(name) { - return t.identifier(this.generateUid(name)); - } - }, { - key: "generateUid", - value: function generateUid() { - var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; - name = t.toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, ""); - var uid; - var i = 0; - - do { - uid = this._generateUid(name, i); - i++; - } while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid)); - - var program = this.getProgramParent(); - program.references[uid] = true; - program.uids[uid] = true; - return uid; - } - }, { - key: "_generateUid", - value: function _generateUid(name, i) { - var id = name; - if (i > 1) id += i; - return "_".concat(id); - } - }, { - key: "generateUidBasedOnNode", - value: function generateUidBasedOnNode(parent, defaultName) { - var node = parent; - - if (t.isAssignmentExpression(parent)) { - node = parent.left; - } else if (t.isVariableDeclarator(parent)) { - node = parent.id; - } else if (t.isObjectProperty(node) || t.isObjectMethod(node)) { - node = node.key; - } - - var parts = []; - gatherNodeParts(node, parts); - var id = parts.join("$"); - id = id.replace(/^_/, "") || defaultName || "ref"; - return this.generateUid(id.slice(0, 20)); - } - }, { - key: "generateUidIdentifierBasedOnNode", - value: function generateUidIdentifierBasedOnNode(parent, defaultName) { - return t.identifier(this.generateUidBasedOnNode(parent, defaultName)); - } - }, { - key: "isStatic", - value: function isStatic(node) { - if (t.isThisExpression(node) || t.isSuper(node)) { - return true; - } - - if (t.isIdentifier(node)) { - var binding = this.getBinding(node.name); - - if (binding) { - return binding.constant; - } else { - return this.hasBinding(node.name); - } - } - - return false; - } - }, { - key: "maybeGenerateMemoised", - value: function maybeGenerateMemoised(node, dontPush) { - if (this.isStatic(node)) { - return null; - } else { - var id = this.generateUidIdentifierBasedOnNode(node); - - if (!dontPush) { - this.push({ - id: id - }); - return t.cloneNode(id); - } - - return id; - } - } - }, { - key: "checkBlockScopedCollisions", - value: function checkBlockScopedCollisions(local, kind, name, id) { - if (kind === "param") return; - if (local.kind === "local") return; - var duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && (kind === "let" || kind === "const"); - - if (duplicate) { - throw this.hub.buildError(id, "Duplicate declaration \"".concat(name, "\""), TypeError); - } - } - }, { - key: "rename", - value: function rename(oldName, newName, block) { - var binding = this.getBinding(oldName); - - if (binding) { - newName = newName || this.generateUidIdentifier(oldName).name; - return new _renamer.default(binding, oldName, newName).rename(block); - } - } - }, { - key: "_renameFromMap", - value: function _renameFromMap(map, oldName, newName, value) { - if (map[oldName]) { - map[newName] = value; - map[oldName] = null; - } - } - }, { - key: "dump", - value: function dump() { - var sep = (0, _repeat.default)("-", 60); - console.log(sep); - var scope = this; - - do { - console.log("#", scope.block.type); - - for (var _i2 = 0, _Object$keys2 = Object.keys(scope.bindings); _i2 < _Object$keys2.length; _i2++) { - var name = _Object$keys2[_i2]; - var binding = scope.bindings[name]; - console.log(" -", name, { - constant: binding.constant, - references: binding.references, - violations: binding.constantViolations.length, - kind: binding.kind - }); - } - } while (scope = scope.parent); - - console.log(sep); - } - }, { - key: "toArray", - value: function toArray(node, i) { - if (t.isIdentifier(node)) { - var binding = this.getBinding(node.name); - - if (binding && binding.constant && binding.path.isGenericType("Array")) { - return node; - } - } - - if (t.isArrayExpression(node)) { - return node; - } - - if (t.isIdentifier(node, { - name: "arguments" - })) { - return t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier("Array"), t.identifier("prototype")), t.identifier("slice")), t.identifier("call")), [node]); - } - - var helperName; - var args = [node]; - - if (i === true) { - helperName = "toConsumableArray"; - } else if (i) { - args.push(t.numericLiteral(i)); - helperName = "slicedToArray"; - } else { - helperName = "toArray"; - } - - return t.callExpression(this.hub.addHelper(helperName), args); - } - }, { - key: "hasLabel", - value: function hasLabel(name) { - return !!this.getLabel(name); - } - }, { - key: "getLabel", - value: function getLabel(name) { - return this.labels.get(name); - } - }, { - key: "registerLabel", - value: function registerLabel(path) { - this.labels.set(path.node.label.name, path); - } - }, { - key: "registerDeclaration", - value: function registerDeclaration(path) { - if (path.isLabeledStatement()) { - this.registerLabel(path); - } else if (path.isFunctionDeclaration()) { - this.registerBinding("hoisted", path.get("id"), path); - } else if (path.isVariableDeclaration()) { - var declarations = path.get("declarations"); - var _iteratorNormalCompletion6 = true; - var _didIteratorError6 = false; - var _iteratorError6 = undefined; - - try { - for (var _iterator6 = declarations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { - var declar = _step6.value; - this.registerBinding(path.node.kind, declar); - } - } catch (err) { - _didIteratorError6 = true; - _iteratorError6 = err; - } finally { - try { - if (!_iteratorNormalCompletion6 && _iterator6.return != null) { - _iterator6.return(); - } - } finally { - if (_didIteratorError6) { - throw _iteratorError6; - } - } - } - } else if (path.isClassDeclaration()) { - this.registerBinding("let", path); - } else if (path.isImportDeclaration()) { - var specifiers = path.get("specifiers"); - var _iteratorNormalCompletion7 = true; - var _didIteratorError7 = false; - var _iteratorError7 = undefined; - - try { - for (var _iterator7 = specifiers[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { - var specifier = _step7.value; - this.registerBinding("module", specifier); - } - } catch (err) { - _didIteratorError7 = true; - _iteratorError7 = err; - } finally { - try { - if (!_iteratorNormalCompletion7 && _iterator7.return != null) { - _iterator7.return(); - } - } finally { - if (_didIteratorError7) { - throw _iteratorError7; - } - } - } - } else if (path.isExportDeclaration()) { - var _declar = path.get("declaration"); - - if (_declar.isClassDeclaration() || _declar.isFunctionDeclaration() || _declar.isVariableDeclaration()) { - this.registerDeclaration(_declar); - } - } else { - this.registerBinding("unknown", path); - } - } - }, { - key: "buildUndefinedNode", - value: function buildUndefinedNode() { - return t.unaryExpression("void", t.numericLiteral(0), true); - } - }, { - key: "registerConstantViolation", - value: function registerConstantViolation(path) { - var ids = path.getBindingIdentifiers(); - - for (var _i3 = 0, _Object$keys3 = Object.keys(ids); _i3 < _Object$keys3.length; _i3++) { - var name = _Object$keys3[_i3]; - var binding = this.getBinding(name); - if (binding) binding.reassign(path); - } - } - }, { - key: "registerBinding", - value: function registerBinding(kind, path) { - var bindingPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : path; - if (!kind) throw new ReferenceError("no `kind`"); - - if (path.isVariableDeclaration()) { - var declarators = path.get("declarations"); - var _iteratorNormalCompletion8 = true; - var _didIteratorError8 = false; - var _iteratorError8 = undefined; - - try { - for (var _iterator8 = declarators[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { - var declar = _step8.value; - this.registerBinding(kind, declar); - } - } catch (err) { - _didIteratorError8 = true; - _iteratorError8 = err; - } finally { - try { - if (!_iteratorNormalCompletion8 && _iterator8.return != null) { - _iterator8.return(); - } - } finally { - if (_didIteratorError8) { - throw _iteratorError8; - } - } - } - - return; - } - - var parent = this.getProgramParent(); - var ids = path.getOuterBindingIdentifiers(true); - - for (var _i4 = 0, _Object$keys4 = Object.keys(ids); _i4 < _Object$keys4.length; _i4++) { - var name = _Object$keys4[_i4]; - var _iteratorNormalCompletion9 = true; - var _didIteratorError9 = false; - var _iteratorError9 = undefined; - - try { - for (var _iterator9 = ids[name][Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { - var id = _step9.value; - var local = this.getOwnBinding(name); - - if (local) { - if (local.identifier === id) continue; - this.checkBlockScopedCollisions(local, kind, name, id); - } - - parent.references[name] = true; - - if (local) { - this.registerConstantViolation(bindingPath); - } else { - this.bindings[name] = new _binding.default({ - identifier: id, - scope: this, - path: bindingPath, - kind: kind - }); - } - } - } catch (err) { - _didIteratorError9 = true; - _iteratorError9 = err; - } finally { - try { - if (!_iteratorNormalCompletion9 && _iterator9.return != null) { - _iterator9.return(); - } - } finally { - if (_didIteratorError9) { - throw _iteratorError9; - } - } - } - } - } - }, { - key: "addGlobal", - value: function addGlobal(node) { - this.globals[node.name] = node; - } - }, { - key: "hasUid", - value: function hasUid(name) { - var scope = this; - - do { - if (scope.uids[name]) return true; - } while (scope = scope.parent); - - return false; - } - }, { - key: "hasGlobal", - value: function hasGlobal(name) { - var scope = this; - - do { - if (scope.globals[name]) return true; - } while (scope = scope.parent); - - return false; - } - }, { - key: "hasReference", - value: function hasReference(name) { - var scope = this; - - do { - if (scope.references[name]) return true; - } while (scope = scope.parent); - - return false; - } - }, { - key: "isPure", - value: function isPure(node, constantsOnly) { - if (t.isIdentifier(node)) { - var binding = this.getBinding(node.name); - if (!binding) return false; - if (constantsOnly) return binding.constant; - return true; - } else if (t.isClass(node)) { - if (node.superClass && !this.isPure(node.superClass, constantsOnly)) { - return false; - } - - return this.isPure(node.body, constantsOnly); - } else if (t.isClassBody(node)) { - var _iteratorNormalCompletion10 = true; - var _didIteratorError10 = false; - var _iteratorError10 = undefined; - - try { - for (var _iterator10 = node.body[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { - var method = _step10.value; - if (!this.isPure(method, constantsOnly)) return false; - } - } catch (err) { - _didIteratorError10 = true; - _iteratorError10 = err; - } finally { - try { - if (!_iteratorNormalCompletion10 && _iterator10.return != null) { - _iterator10.return(); - } - } finally { - if (_didIteratorError10) { - throw _iteratorError10; - } - } - } - - return true; - } else if (t.isBinary(node)) { - return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly); - } else if (t.isArrayExpression(node)) { - var _iteratorNormalCompletion11 = true; - var _didIteratorError11 = false; - var _iteratorError11 = undefined; - - try { - for (var _iterator11 = node.elements[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { - var elem = _step11.value; - if (!this.isPure(elem, constantsOnly)) return false; - } - } catch (err) { - _didIteratorError11 = true; - _iteratorError11 = err; - } finally { - try { - if (!_iteratorNormalCompletion11 && _iterator11.return != null) { - _iterator11.return(); - } - } finally { - if (_didIteratorError11) { - throw _iteratorError11; - } - } - } - - return true; - } else if (t.isObjectExpression(node)) { - var _iteratorNormalCompletion12 = true; - var _didIteratorError12 = false; - var _iteratorError12 = undefined; - - try { - for (var _iterator12 = node.properties[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { - var prop = _step12.value; - if (!this.isPure(prop, constantsOnly)) return false; - } - } catch (err) { - _didIteratorError12 = true; - _iteratorError12 = err; - } finally { - try { - if (!_iteratorNormalCompletion12 && _iterator12.return != null) { - _iterator12.return(); - } - } finally { - if (_didIteratorError12) { - throw _iteratorError12; - } - } - } - - return true; - } else if (t.isClassMethod(node)) { - if (node.computed && !this.isPure(node.key, constantsOnly)) return false; - if (node.kind === "get" || node.kind === "set") return false; - return true; - } else if (t.isProperty(node)) { - if (node.computed && !this.isPure(node.key, constantsOnly)) return false; - return this.isPure(node.value, constantsOnly); - } else if (t.isUnaryExpression(node)) { - return this.isPure(node.argument, constantsOnly); - } else if (t.isTaggedTemplateExpression(node)) { - return t.matchesPattern(node.tag, "String.raw") && !this.hasBinding("String", true) && this.isPure(node.quasi, constantsOnly); - } else if (t.isTemplateLiteral(node)) { - var _iteratorNormalCompletion13 = true; - var _didIteratorError13 = false; - var _iteratorError13 = undefined; - - try { - for (var _iterator13 = node.expressions[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { - var expression = _step13.value; - if (!this.isPure(expression, constantsOnly)) return false; - } - } catch (err) { - _didIteratorError13 = true; - _iteratorError13 = err; - } finally { - try { - if (!_iteratorNormalCompletion13 && _iterator13.return != null) { - _iterator13.return(); - } - } finally { - if (_didIteratorError13) { - throw _iteratorError13; - } - } - } - - return true; - } else { - return t.isPureish(node); - } - } - }, { - key: "setData", - value: function setData(key, val) { - return this.data[key] = val; - } - }, { - key: "getData", - value: function getData(key) { - var scope = this; - - do { - var data = scope.data[key]; - if (data != null) return data; - } while (scope = scope.parent); - } - }, { - key: "removeData", - value: function removeData(key) { - var scope = this; - - do { - var data = scope.data[key]; - if (data != null) scope.data[key] = null; - } while (scope = scope.parent); - } - }, { - key: "init", - value: function init() { - if (!this.references) this.crawl(); - } - }, { - key: "crawl", - value: function crawl() { - var path = this.path; - this.references = Object.create(null); - this.bindings = Object.create(null); - this.globals = Object.create(null); - this.uids = Object.create(null); - this.data = Object.create(null); - - if (path.isLoop()) { - var _iteratorNormalCompletion14 = true; - var _didIteratorError14 = false; - var _iteratorError14 = undefined; - - try { - for (var _iterator14 = t.FOR_INIT_KEYS[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { - var key = _step14.value; - var node = path.get(key); - if (node.isBlockScoped()) this.registerBinding(node.node.kind, node); - } - } catch (err) { - _didIteratorError14 = true; - _iteratorError14 = err; - } finally { - try { - if (!_iteratorNormalCompletion14 && _iterator14.return != null) { - _iterator14.return(); - } - } finally { - if (_didIteratorError14) { - throw _iteratorError14; - } - } - } - } - - if (path.isFunctionExpression() && path.has("id")) { - if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { - this.registerBinding("local", path.get("id"), path); - } - } - - if (path.isClassExpression() && path.has("id")) { - if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { - this.registerBinding("local", path); - } - } - - if (path.isFunction()) { - var params = path.get("params"); - var _iteratorNormalCompletion15 = true; - var _didIteratorError15 = false; - var _iteratorError15 = undefined; - - try { - for (var _iterator15 = params[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) { - var param = _step15.value; - this.registerBinding("param", param); - } - } catch (err) { - _didIteratorError15 = true; - _iteratorError15 = err; - } finally { - try { - if (!_iteratorNormalCompletion15 && _iterator15.return != null) { - _iterator15.return(); - } - } finally { - if (_didIteratorError15) { - throw _iteratorError15; - } - } - } - } - - if (path.isCatchClause()) { - this.registerBinding("let", path); - } - - var parent = this.getProgramParent(); - if (parent.crawling) return; - var state = { - references: [], - constantViolations: [], - assignments: [] - }; - this.crawling = true; - path.traverse(collectorVisitor, state); - this.crawling = false; - var _iteratorNormalCompletion16 = true; - var _didIteratorError16 = false; - var _iteratorError16 = undefined; - - try { - for (var _iterator16 = state.assignments[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) { - var _path = _step16.value; - - var ids = _path.getBindingIdentifiers(); - - var programParent = void 0; - - for (var _i5 = 0, _Object$keys5 = Object.keys(ids); _i5 < _Object$keys5.length; _i5++) { - var name = _Object$keys5[_i5]; - if (_path.scope.getBinding(name)) continue; - programParent = programParent || _path.scope.getProgramParent(); - programParent.addGlobal(ids[name]); - } - - _path.scope.registerConstantViolation(_path); - } - } catch (err) { - _didIteratorError16 = true; - _iteratorError16 = err; - } finally { - try { - if (!_iteratorNormalCompletion16 && _iterator16.return != null) { - _iterator16.return(); - } - } finally { - if (_didIteratorError16) { - throw _iteratorError16; - } - } - } - - var _iteratorNormalCompletion17 = true; - var _didIteratorError17 = false; - var _iteratorError17 = undefined; - - try { - for (var _iterator17 = state.references[Symbol.iterator](), _step17; !(_iteratorNormalCompletion17 = (_step17 = _iterator17.next()).done); _iteratorNormalCompletion17 = true) { - var ref = _step17.value; - var binding = ref.scope.getBinding(ref.node.name); - - if (binding) { - binding.reference(ref); - } else { - ref.scope.getProgramParent().addGlobal(ref.node); - } - } - } catch (err) { - _didIteratorError17 = true; - _iteratorError17 = err; - } finally { - try { - if (!_iteratorNormalCompletion17 && _iterator17.return != null) { - _iterator17.return(); - } - } finally { - if (_didIteratorError17) { - throw _iteratorError17; - } - } - } - - var _iteratorNormalCompletion18 = true; - var _didIteratorError18 = false; - var _iteratorError18 = undefined; - - try { - for (var _iterator18 = state.constantViolations[Symbol.iterator](), _step18; !(_iteratorNormalCompletion18 = (_step18 = _iterator18.next()).done); _iteratorNormalCompletion18 = true) { - var _path2 = _step18.value; - - _path2.scope.registerConstantViolation(_path2); - } - } catch (err) { - _didIteratorError18 = true; - _iteratorError18 = err; - } finally { - try { - if (!_iteratorNormalCompletion18 && _iterator18.return != null) { - _iterator18.return(); - } - } finally { - if (_didIteratorError18) { - throw _iteratorError18; - } - } - } - } - }, { - key: "push", - value: function push(opts) { - var path = this.path; - - if (!path.isBlockStatement() && !path.isProgram()) { - path = this.getBlockParent().path; - } - - if (path.isSwitchStatement()) { - path = (this.getFunctionParent() || this.getProgramParent()).path; - } - - if (path.isLoop() || path.isCatchClause() || path.isFunction()) { - path.ensureBlock(); - path = path.get("body"); - } - - var unique = opts.unique; - var kind = opts.kind || "var"; - var blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist; - var dataKey = "declaration:".concat(kind, ":").concat(blockHoist); - var declarPath = !unique && path.getData(dataKey); - - if (!declarPath) { - var declar = t.variableDeclaration(kind, []); - declar._blockHoist = blockHoist; - - var _path$unshiftContaine = path.unshiftContainer("body", [declar]); - - var _path$unshiftContaine2 = _slicedToArray(_path$unshiftContaine, 1); - - declarPath = _path$unshiftContaine2[0]; - if (!unique) path.setData(dataKey, declarPath); - } - - var declarator = t.variableDeclarator(opts.id, opts.init); - declarPath.node.declarations.push(declarator); - this.registerBinding(kind, declarPath.get("declarations").pop()); - } - }, { - key: "getProgramParent", - value: function getProgramParent() { - var scope = this; - - do { - if (scope.path.isProgram()) { - return scope; - } - } while (scope = scope.parent); - - throw new Error("Couldn't find a Program"); - } - }, { - key: "getFunctionParent", - value: function getFunctionParent() { - var scope = this; - - do { - if (scope.path.isFunctionParent()) { - return scope; - } - } while (scope = scope.parent); - - return null; - } - }, { - key: "getBlockParent", - value: function getBlockParent() { - var scope = this; - - do { - if (scope.path.isBlockParent()) { - return scope; - } - } while (scope = scope.parent); - - throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."); - } - }, { - key: "getAllBindings", - value: function getAllBindings() { - var ids = Object.create(null); - var scope = this; - - do { - (0, _defaults.default)(ids, scope.bindings); - scope = scope.parent; - } while (scope); - - return ids; - } - }, { - key: "getAllBindingsOfKind", - value: function getAllBindingsOfKind() { - var ids = Object.create(null); - var _iteratorNormalCompletion19 = true; - var _didIteratorError19 = false; - var _iteratorError19 = undefined; - - try { - for (var _iterator19 = arguments[Symbol.iterator](), _step19; !(_iteratorNormalCompletion19 = (_step19 = _iterator19.next()).done); _iteratorNormalCompletion19 = true) { - var kind = _step19.value; - var scope = this; - - do { - for (var _i6 = 0, _Object$keys6 = Object.keys(scope.bindings); _i6 < _Object$keys6.length; _i6++) { - var name = _Object$keys6[_i6]; - var binding = scope.bindings[name]; - if (binding.kind === kind) ids[name] = binding; - } - - scope = scope.parent; - } while (scope); - } - } catch (err) { - _didIteratorError19 = true; - _iteratorError19 = err; - } finally { - try { - if (!_iteratorNormalCompletion19 && _iterator19.return != null) { - _iterator19.return(); - } - } finally { - if (_didIteratorError19) { - throw _iteratorError19; - } - } - } - - return ids; - } - }, { - key: "bindingIdentifierEquals", - value: function bindingIdentifierEquals(name, node) { - return this.getBindingIdentifier(name) === node; - } - }, { - key: "getBinding", - value: function getBinding(name) { - var scope = this; - - do { - var binding = scope.getOwnBinding(name); - if (binding) return binding; - } while (scope = scope.parent); - } - }, { - key: "getOwnBinding", - value: function getOwnBinding(name) { - return this.bindings[name]; - } - }, { - key: "getBindingIdentifier", - value: function getBindingIdentifier(name) { - var info = this.getBinding(name); - return info && info.identifier; - } - }, { - key: "getOwnBindingIdentifier", - value: function getOwnBindingIdentifier(name) { - var binding = this.bindings[name]; - return binding && binding.identifier; - } - }, { - key: "hasOwnBinding", - value: function hasOwnBinding(name) { - return !!this.getOwnBinding(name); - } - }, { - key: "hasBinding", - value: function hasBinding(name, noGlobals) { - if (!name) return false; - if (this.hasOwnBinding(name)) return true; - if (this.parentHasBinding(name, noGlobals)) return true; - if (this.hasUid(name)) return true; - if (!noGlobals && (0, _includes.default)(Scope.globals, name)) return true; - if (!noGlobals && (0, _includes.default)(Scope.contextVariables, name)) return true; - return false; - } - }, { - key: "parentHasBinding", - value: function parentHasBinding(name, noGlobals) { - return this.parent && this.parent.hasBinding(name, noGlobals); - } - }, { - key: "moveBindingTo", - value: function moveBindingTo(name, scope) { - var info = this.getBinding(name); - - if (info) { - info.scope.removeOwnBinding(name); - info.scope = scope; - scope.bindings[name] = info; - } - } - }, { - key: "removeOwnBinding", - value: function removeOwnBinding(name) { - delete this.bindings[name]; - } - }, { - key: "removeBinding", - value: function removeBinding(name) { - var info = this.getBinding(name); - - if (info) { - info.scope.removeOwnBinding(name); - } - - var scope = this; - - do { - if (scope.uids[name]) { - scope.uids[name] = false; - } - } while (scope = scope.parent); - } - }, { - key: "parent", - get: function get() { - var parent = this.path.findParent(function (p) { - return p.isScope(); - }); - return parent && parent.scope; - } - }, { - key: "parentBlock", - get: function get() { - return this.path.parent; - } - }, { - key: "hub", - get: function get() { - return this.path.hub; - } - }]); - - return Scope; -}(); - -exports.default = Scope; -Scope.globals = Object.keys(_globals.default.builtin); -Scope.contextVariables = ["arguments", "undefined", "Infinity", "NaN"]; - -},{"../cache":173,"../index":176,"./binding":194,"./lib/renamer":196,"@babel/types":242,"globals":838,"lodash/defaults":1007,"lodash/includes":1015,"lodash/repeat":1039}],196:[function(require,module,exports){ -"use strict"; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _binding = _interopRequireDefault(require("../binding")); - -var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); - -var t = _interopRequireWildcard(require("@babel/types")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var renameVisitor = { - ReferencedIdentifier: function ReferencedIdentifier(_ref, state) { - var node = _ref.node; - - if (node.name === state.oldName) { - node.name = state.newName; - } - }, - Scope: function Scope(path, state) { - if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { - path.skip(); - } - }, - "AssignmentExpression|Declaration": function AssignmentExpressionDeclaration(path, state) { - var ids = path.getOuterBindingIdentifiers(); - - for (var name in ids) { - if (name === state.oldName) ids[name].name = state.newName; - } - } -}; - -var Renamer = -/*#__PURE__*/ -function () { - function Renamer(binding, oldName, newName) { - _classCallCheck(this, Renamer); - - this.newName = newName; - this.oldName = oldName; - this.binding = binding; - } - - _createClass(Renamer, [{ - key: "maybeConvertFromExportDeclaration", - value: function maybeConvertFromExportDeclaration(parentDeclar) { - var maybeExportDeclar = parentDeclar.parentPath; - - if (!maybeExportDeclar.isExportDeclaration()) { - return; - } - - if (maybeExportDeclar.isExportDefaultDeclaration() && !maybeExportDeclar.get("declaration").node.id) { - return; - } - - (0, _helperSplitExportDeclaration.default)(maybeExportDeclar); - } - }, { - key: "maybeConvertFromClassFunctionDeclaration", - value: function maybeConvertFromClassFunctionDeclaration(path) { - return; - if (!path.isFunctionDeclaration() && !path.isClassDeclaration()) return; - if (this.binding.kind !== "hoisted") return; - path.node.id = t.identifier(this.oldName); - path.node._blockHoist = 3; - path.replaceWith(t.variableDeclaration("let", [t.variableDeclarator(t.identifier(this.newName), t.toExpression(path.node))])); - } - }, { - key: "maybeConvertFromClassFunctionExpression", - value: function maybeConvertFromClassFunctionExpression(path) { - return; - if (!path.isFunctionExpression() && !path.isClassExpression()) return; - if (this.binding.kind !== "local") return; - path.node.id = t.identifier(this.oldName); - this.binding.scope.parent.push({ - id: t.identifier(this.newName) - }); - path.replaceWith(t.assignmentExpression("=", t.identifier(this.newName), path.node)); - } - }, { - key: "rename", - value: function rename(block) { - var binding = this.binding, - oldName = this.oldName, - newName = this.newName; - var scope = binding.scope, - path = binding.path; - var parentDeclar = path.find(function (path) { - return path.isDeclaration() || path.isFunctionExpression() || path.isClassExpression(); - }); - - if (parentDeclar) { - var bindingIds = parentDeclar.getOuterBindingIdentifiers(); - - if (bindingIds[oldName] === binding.identifier) { - this.maybeConvertFromExportDeclaration(parentDeclar); - } - } - - scope.traverse(block || scope.block, renameVisitor, this); - - if (!block) { - scope.removeOwnBinding(oldName); - scope.bindings[newName] = binding; - this.binding.identifier.name = newName; - } - - if (binding.type === "hoisted") {} - - if (parentDeclar) { - this.maybeConvertFromClassFunctionDeclaration(parentDeclar); - this.maybeConvertFromClassFunctionExpression(parentDeclar); - } - } - }]); - - return Renamer; -}(); - -exports.default = Renamer; - -},{"../binding":194,"@babel/helper-split-export-declaration":84,"@babel/types":242}],197:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.explode = explode; -exports.verify = verify; -exports.merge = merge; - -var virtualTypes = _interopRequireWildcard(require("./path/lib/virtual-types")); - -var t = _interopRequireWildcard(require("@babel/types")); - -var _clone = _interopRequireDefault(require("lodash/clone")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function explode(visitor) { - if (visitor._exploded) return visitor; - visitor._exploded = true; - - for (var _i = 0, _Object$keys = Object.keys(visitor); _i < _Object$keys.length; _i++) { - var nodeType = _Object$keys[_i]; - if (shouldIgnoreKey(nodeType)) continue; - var parts = nodeType.split("|"); - if (parts.length === 1) continue; - var fns = visitor[nodeType]; - delete visitor[nodeType]; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var part = _step.value; - visitor[part] = fns; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - verify(visitor); - delete visitor.__esModule; - ensureEntranceObjects(visitor); - ensureCallbackArrays(visitor); - - for (var _i2 = 0, _Object$keys2 = Object.keys(visitor); _i2 < _Object$keys2.length; _i2++) { - var _nodeType = _Object$keys2[_i2]; - if (shouldIgnoreKey(_nodeType)) continue; - var wrapper = virtualTypes[_nodeType]; - if (!wrapper) continue; - var _fns = visitor[_nodeType]; - - for (var _i5 = 0, _Object$keys5 = Object.keys(_fns); _i5 < _Object$keys5.length; _i5++) { - var _type = _Object$keys5[_i5]; - _fns[_type] = wrapCheck(wrapper, _fns[_type]); - } - - delete visitor[_nodeType]; - - if (wrapper.types) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = wrapper.types[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var type = _step2.value; - - if (visitor[type]) { - mergePair(visitor[type], _fns); - } else { - visitor[type] = _fns; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else { - mergePair(visitor, _fns); - } - } - - for (var _i3 = 0, _Object$keys3 = Object.keys(visitor); _i3 < _Object$keys3.length; _i3++) { - var _nodeType2 = _Object$keys3[_i3]; - if (shouldIgnoreKey(_nodeType2)) continue; - var _fns2 = visitor[_nodeType2]; - var aliases = t.FLIPPED_ALIAS_KEYS[_nodeType2]; - var deprecratedKey = t.DEPRECATED_KEYS[_nodeType2]; - - if (deprecratedKey) { - console.trace("Visitor defined for ".concat(_nodeType2, " but it has been renamed to ").concat(deprecratedKey)); - aliases = [deprecratedKey]; - } - - if (!aliases) continue; - delete visitor[_nodeType2]; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = aliases[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var alias = _step3.value; - var existing = visitor[alias]; - - if (existing) { - mergePair(existing, _fns2); - } else { - visitor[alias] = (0, _clone.default)(_fns2); - } - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - } - - for (var _i4 = 0, _Object$keys4 = Object.keys(visitor); _i4 < _Object$keys4.length; _i4++) { - var _nodeType3 = _Object$keys4[_i4]; - if (shouldIgnoreKey(_nodeType3)) continue; - ensureCallbackArrays(visitor[_nodeType3]); - } - - return visitor; -} - -function verify(visitor) { - if (visitor._verified) return; - - if (typeof visitor === "function") { - throw new Error("You passed `traverse()` a function when it expected a visitor object, " + "are you sure you didn't mean `{ enter: Function }`?"); - } - - for (var _i6 = 0, _Object$keys6 = Object.keys(visitor); _i6 < _Object$keys6.length; _i6++) { - var nodeType = _Object$keys6[_i6]; - - if (nodeType === "enter" || nodeType === "exit") { - validateVisitorMethods(nodeType, visitor[nodeType]); - } - - if (shouldIgnoreKey(nodeType)) continue; - - if (t.TYPES.indexOf(nodeType) < 0) { - throw new Error("You gave us a visitor for the node type ".concat(nodeType, " but it's not a valid type")); - } - - var visitors = visitor[nodeType]; - - if (_typeof(visitors) === "object") { - for (var _i7 = 0, _Object$keys7 = Object.keys(visitors); _i7 < _Object$keys7.length; _i7++) { - var visitorKey = _Object$keys7[_i7]; - - if (visitorKey === "enter" || visitorKey === "exit") { - validateVisitorMethods("".concat(nodeType, ".").concat(visitorKey), visitors[visitorKey]); - } else { - throw new Error("You passed `traverse()` a visitor object with the property " + "".concat(nodeType, " that has the invalid property ").concat(visitorKey)); - } - } - } - } - - visitor._verified = true; -} - -function validateVisitorMethods(path, val) { - var fns = [].concat(val); - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = fns[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var fn = _step4.value; - - if (typeof fn !== "function") { - throw new TypeError("Non-function found defined in ".concat(path, " with type ").concat(_typeof(fn))); - } - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } -} - -function merge(visitors) { - var states = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; - var wrapper = arguments.length > 2 ? arguments[2] : undefined; - var rootVisitor = {}; - - for (var i = 0; i < visitors.length; i++) { - var visitor = visitors[i]; - var state = states[i]; - explode(visitor); - - for (var _i8 = 0, _Object$keys8 = Object.keys(visitor); _i8 < _Object$keys8.length; _i8++) { - var type = _Object$keys8[_i8]; - var visitorType = visitor[type]; - - if (state || wrapper) { - visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper); - } - - var nodeVisitor = rootVisitor[type] = rootVisitor[type] || {}; - mergePair(nodeVisitor, visitorType); - } - } - - return rootVisitor; -} - -function wrapWithStateOrWrapper(oldVisitor, state, wrapper) { - var newVisitor = {}; - - var _loop = function _loop() { - var key = _Object$keys9[_i9]; - var fns = oldVisitor[key]; - if (!Array.isArray(fns)) return "continue"; - fns = fns.map(function (fn) { - var newFn = fn; - - if (state) { - newFn = function newFn(path) { - return fn.call(state, path, state); - }; - } - - if (wrapper) { - newFn = wrapper(state.key, key, newFn); - } - - return newFn; - }); - newVisitor[key] = fns; - }; - - for (var _i9 = 0, _Object$keys9 = Object.keys(oldVisitor); _i9 < _Object$keys9.length; _i9++) { - var _ret = _loop(); - - if (_ret === "continue") continue; - } - - return newVisitor; -} - -function ensureEntranceObjects(obj) { - for (var _i10 = 0, _Object$keys10 = Object.keys(obj); _i10 < _Object$keys10.length; _i10++) { - var key = _Object$keys10[_i10]; - if (shouldIgnoreKey(key)) continue; - var fns = obj[key]; - - if (typeof fns === "function") { - obj[key] = { - enter: fns - }; - } - } -} - -function ensureCallbackArrays(obj) { - if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter]; - if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit]; -} - -function wrapCheck(wrapper, fn) { - var newFn = function newFn(path) { - if (wrapper.checkPath(path)) { - return fn.apply(this, arguments); - } - }; - - newFn.toString = function () { - return fn.toString(); - }; - - return newFn; -} - -function shouldIgnoreKey(key) { - if (key[0] === "_") return true; - if (key === "enter" || key === "exit" || key === "shouldSkip") return true; - - if (key === "blacklist" || key === "noScope" || key === "skipKeys") { - return true; - } - - return false; -} - -function mergePair(dest, src) { - for (var _i11 = 0, _Object$keys11 = Object.keys(src); _i11 < _Object$keys11.length; _i11++) { - var key = _Object$keys11[_i11]; - dest[key] = [].concat(dest[key] || [], src[key]); - } -} - -},{"./path/lib/virtual-types":190,"@babel/types":242,"lodash/clone":1004}],198:[function(require,module,exports){ -arguments[4][34][0].apply(exports,arguments) -},{"./common":199,"_process":1054,"dup":34}],199:[function(require,module,exports){ -arguments[4][35][0].apply(exports,arguments) -},{"dup":35,"ms":200}],200:[function(require,module,exports){ -arguments[4][36][0].apply(exports,arguments) -},{"dup":36}],201:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = assertNode; - -var _isNode = _interopRequireDefault(require("../validators/isNode")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function assertNode(node) { - if (!(0, _isNode.default)(node)) { - var type = node && node.type || JSON.stringify(node); - throw new TypeError("Not a valid node of type \"".concat(type, "\"")); - } -} - -},{"../validators/isNode":263}],202:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.assertArrayExpression = assertArrayExpression; -exports.assertAssignmentExpression = assertAssignmentExpression; -exports.assertBinaryExpression = assertBinaryExpression; -exports.assertInterpreterDirective = assertInterpreterDirective; -exports.assertDirective = assertDirective; -exports.assertDirectiveLiteral = assertDirectiveLiteral; -exports.assertBlockStatement = assertBlockStatement; -exports.assertBreakStatement = assertBreakStatement; -exports.assertCallExpression = assertCallExpression; -exports.assertCatchClause = assertCatchClause; -exports.assertConditionalExpression = assertConditionalExpression; -exports.assertContinueStatement = assertContinueStatement; -exports.assertDebuggerStatement = assertDebuggerStatement; -exports.assertDoWhileStatement = assertDoWhileStatement; -exports.assertEmptyStatement = assertEmptyStatement; -exports.assertExpressionStatement = assertExpressionStatement; -exports.assertFile = assertFile; -exports.assertForInStatement = assertForInStatement; -exports.assertForStatement = assertForStatement; -exports.assertFunctionDeclaration = assertFunctionDeclaration; -exports.assertFunctionExpression = assertFunctionExpression; -exports.assertIdentifier = assertIdentifier; -exports.assertIfStatement = assertIfStatement; -exports.assertLabeledStatement = assertLabeledStatement; -exports.assertStringLiteral = assertStringLiteral; -exports.assertNumericLiteral = assertNumericLiteral; -exports.assertNullLiteral = assertNullLiteral; -exports.assertBooleanLiteral = assertBooleanLiteral; -exports.assertRegExpLiteral = assertRegExpLiteral; -exports.assertLogicalExpression = assertLogicalExpression; -exports.assertMemberExpression = assertMemberExpression; -exports.assertNewExpression = assertNewExpression; -exports.assertProgram = assertProgram; -exports.assertObjectExpression = assertObjectExpression; -exports.assertObjectMethod = assertObjectMethod; -exports.assertObjectProperty = assertObjectProperty; -exports.assertRestElement = assertRestElement; -exports.assertReturnStatement = assertReturnStatement; -exports.assertSequenceExpression = assertSequenceExpression; -exports.assertParenthesizedExpression = assertParenthesizedExpression; -exports.assertSwitchCase = assertSwitchCase; -exports.assertSwitchStatement = assertSwitchStatement; -exports.assertThisExpression = assertThisExpression; -exports.assertThrowStatement = assertThrowStatement; -exports.assertTryStatement = assertTryStatement; -exports.assertUnaryExpression = assertUnaryExpression; -exports.assertUpdateExpression = assertUpdateExpression; -exports.assertVariableDeclaration = assertVariableDeclaration; -exports.assertVariableDeclarator = assertVariableDeclarator; -exports.assertWhileStatement = assertWhileStatement; -exports.assertWithStatement = assertWithStatement; -exports.assertAssignmentPattern = assertAssignmentPattern; -exports.assertArrayPattern = assertArrayPattern; -exports.assertArrowFunctionExpression = assertArrowFunctionExpression; -exports.assertClassBody = assertClassBody; -exports.assertClassDeclaration = assertClassDeclaration; -exports.assertClassExpression = assertClassExpression; -exports.assertExportAllDeclaration = assertExportAllDeclaration; -exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration; -exports.assertExportNamedDeclaration = assertExportNamedDeclaration; -exports.assertExportSpecifier = assertExportSpecifier; -exports.assertForOfStatement = assertForOfStatement; -exports.assertImportDeclaration = assertImportDeclaration; -exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier; -exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier; -exports.assertImportSpecifier = assertImportSpecifier; -exports.assertMetaProperty = assertMetaProperty; -exports.assertClassMethod = assertClassMethod; -exports.assertObjectPattern = assertObjectPattern; -exports.assertSpreadElement = assertSpreadElement; -exports.assertSuper = assertSuper; -exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression; -exports.assertTemplateElement = assertTemplateElement; -exports.assertTemplateLiteral = assertTemplateLiteral; -exports.assertYieldExpression = assertYieldExpression; -exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation; -exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation; -exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation; -exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation; -exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation; -exports.assertClassImplements = assertClassImplements; -exports.assertDeclareClass = assertDeclareClass; -exports.assertDeclareFunction = assertDeclareFunction; -exports.assertDeclareInterface = assertDeclareInterface; -exports.assertDeclareModule = assertDeclareModule; -exports.assertDeclareModuleExports = assertDeclareModuleExports; -exports.assertDeclareTypeAlias = assertDeclareTypeAlias; -exports.assertDeclareOpaqueType = assertDeclareOpaqueType; -exports.assertDeclareVariable = assertDeclareVariable; -exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration; -exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration; -exports.assertDeclaredPredicate = assertDeclaredPredicate; -exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation; -exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation; -exports.assertFunctionTypeParam = assertFunctionTypeParam; -exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation; -exports.assertInferredPredicate = assertInferredPredicate; -exports.assertInterfaceExtends = assertInterfaceExtends; -exports.assertInterfaceDeclaration = assertInterfaceDeclaration; -exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation; -exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation; -exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation; -exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation; -exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation; -exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation; -exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation; -exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation; -exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot; -exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty; -exports.assertObjectTypeIndexer = assertObjectTypeIndexer; -exports.assertObjectTypeProperty = assertObjectTypeProperty; -exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty; -exports.assertOpaqueType = assertOpaqueType; -exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier; -exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation; -exports.assertStringTypeAnnotation = assertStringTypeAnnotation; -exports.assertThisTypeAnnotation = assertThisTypeAnnotation; -exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation; -exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation; -exports.assertTypeAlias = assertTypeAlias; -exports.assertTypeAnnotation = assertTypeAnnotation; -exports.assertTypeCastExpression = assertTypeCastExpression; -exports.assertTypeParameter = assertTypeParameter; -exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration; -exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation; -exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation; -exports.assertVariance = assertVariance; -exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation; -exports.assertEnumDeclaration = assertEnumDeclaration; -exports.assertEnumBooleanBody = assertEnumBooleanBody; -exports.assertEnumNumberBody = assertEnumNumberBody; -exports.assertEnumStringBody = assertEnumStringBody; -exports.assertEnumSymbolBody = assertEnumSymbolBody; -exports.assertEnumBooleanMember = assertEnumBooleanMember; -exports.assertEnumNumberMember = assertEnumNumberMember; -exports.assertEnumStringMember = assertEnumStringMember; -exports.assertEnumDefaultedMember = assertEnumDefaultedMember; -exports.assertJSXAttribute = assertJSXAttribute; -exports.assertJSXClosingElement = assertJSXClosingElement; -exports.assertJSXElement = assertJSXElement; -exports.assertJSXEmptyExpression = assertJSXEmptyExpression; -exports.assertJSXExpressionContainer = assertJSXExpressionContainer; -exports.assertJSXSpreadChild = assertJSXSpreadChild; -exports.assertJSXIdentifier = assertJSXIdentifier; -exports.assertJSXMemberExpression = assertJSXMemberExpression; -exports.assertJSXNamespacedName = assertJSXNamespacedName; -exports.assertJSXOpeningElement = assertJSXOpeningElement; -exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute; -exports.assertJSXText = assertJSXText; -exports.assertJSXFragment = assertJSXFragment; -exports.assertJSXOpeningFragment = assertJSXOpeningFragment; -exports.assertJSXClosingFragment = assertJSXClosingFragment; -exports.assertNoop = assertNoop; -exports.assertPlaceholder = assertPlaceholder; -exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier; -exports.assertArgumentPlaceholder = assertArgumentPlaceholder; -exports.assertAwaitExpression = assertAwaitExpression; -exports.assertBindExpression = assertBindExpression; -exports.assertClassProperty = assertClassProperty; -exports.assertOptionalMemberExpression = assertOptionalMemberExpression; -exports.assertPipelineTopicExpression = assertPipelineTopicExpression; -exports.assertPipelineBareFunction = assertPipelineBareFunction; -exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference; -exports.assertOptionalCallExpression = assertOptionalCallExpression; -exports.assertClassPrivateProperty = assertClassPrivateProperty; -exports.assertClassPrivateMethod = assertClassPrivateMethod; -exports.assertImport = assertImport; -exports.assertDecorator = assertDecorator; -exports.assertDoExpression = assertDoExpression; -exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier; -exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier; -exports.assertPrivateName = assertPrivateName; -exports.assertBigIntLiteral = assertBigIntLiteral; -exports.assertTSParameterProperty = assertTSParameterProperty; -exports.assertTSDeclareFunction = assertTSDeclareFunction; -exports.assertTSDeclareMethod = assertTSDeclareMethod; -exports.assertTSQualifiedName = assertTSQualifiedName; -exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration; -exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration; -exports.assertTSPropertySignature = assertTSPropertySignature; -exports.assertTSMethodSignature = assertTSMethodSignature; -exports.assertTSIndexSignature = assertTSIndexSignature; -exports.assertTSAnyKeyword = assertTSAnyKeyword; -exports.assertTSBooleanKeyword = assertTSBooleanKeyword; -exports.assertTSBigIntKeyword = assertTSBigIntKeyword; -exports.assertTSNeverKeyword = assertTSNeverKeyword; -exports.assertTSNullKeyword = assertTSNullKeyword; -exports.assertTSNumberKeyword = assertTSNumberKeyword; -exports.assertTSObjectKeyword = assertTSObjectKeyword; -exports.assertTSStringKeyword = assertTSStringKeyword; -exports.assertTSSymbolKeyword = assertTSSymbolKeyword; -exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword; -exports.assertTSUnknownKeyword = assertTSUnknownKeyword; -exports.assertTSVoidKeyword = assertTSVoidKeyword; -exports.assertTSThisType = assertTSThisType; -exports.assertTSFunctionType = assertTSFunctionType; -exports.assertTSConstructorType = assertTSConstructorType; -exports.assertTSTypeReference = assertTSTypeReference; -exports.assertTSTypePredicate = assertTSTypePredicate; -exports.assertTSTypeQuery = assertTSTypeQuery; -exports.assertTSTypeLiteral = assertTSTypeLiteral; -exports.assertTSArrayType = assertTSArrayType; -exports.assertTSTupleType = assertTSTupleType; -exports.assertTSOptionalType = assertTSOptionalType; -exports.assertTSRestType = assertTSRestType; -exports.assertTSUnionType = assertTSUnionType; -exports.assertTSIntersectionType = assertTSIntersectionType; -exports.assertTSConditionalType = assertTSConditionalType; -exports.assertTSInferType = assertTSInferType; -exports.assertTSParenthesizedType = assertTSParenthesizedType; -exports.assertTSTypeOperator = assertTSTypeOperator; -exports.assertTSIndexedAccessType = assertTSIndexedAccessType; -exports.assertTSMappedType = assertTSMappedType; -exports.assertTSLiteralType = assertTSLiteralType; -exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments; -exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration; -exports.assertTSInterfaceBody = assertTSInterfaceBody; -exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration; -exports.assertTSAsExpression = assertTSAsExpression; -exports.assertTSTypeAssertion = assertTSTypeAssertion; -exports.assertTSEnumDeclaration = assertTSEnumDeclaration; -exports.assertTSEnumMember = assertTSEnumMember; -exports.assertTSModuleDeclaration = assertTSModuleDeclaration; -exports.assertTSModuleBlock = assertTSModuleBlock; -exports.assertTSImportType = assertTSImportType; -exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration; -exports.assertTSExternalModuleReference = assertTSExternalModuleReference; -exports.assertTSNonNullExpression = assertTSNonNullExpression; -exports.assertTSExportAssignment = assertTSExportAssignment; -exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration; -exports.assertTSTypeAnnotation = assertTSTypeAnnotation; -exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation; -exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration; -exports.assertTSTypeParameter = assertTSTypeParameter; -exports.assertExpression = assertExpression; -exports.assertBinary = assertBinary; -exports.assertScopable = assertScopable; -exports.assertBlockParent = assertBlockParent; -exports.assertBlock = assertBlock; -exports.assertStatement = assertStatement; -exports.assertTerminatorless = assertTerminatorless; -exports.assertCompletionStatement = assertCompletionStatement; -exports.assertConditional = assertConditional; -exports.assertLoop = assertLoop; -exports.assertWhile = assertWhile; -exports.assertExpressionWrapper = assertExpressionWrapper; -exports.assertFor = assertFor; -exports.assertForXStatement = assertForXStatement; -exports.assertFunction = assertFunction; -exports.assertFunctionParent = assertFunctionParent; -exports.assertPureish = assertPureish; -exports.assertDeclaration = assertDeclaration; -exports.assertPatternLike = assertPatternLike; -exports.assertLVal = assertLVal; -exports.assertTSEntityName = assertTSEntityName; -exports.assertLiteral = assertLiteral; -exports.assertImmutable = assertImmutable; -exports.assertUserWhitespacable = assertUserWhitespacable; -exports.assertMethod = assertMethod; -exports.assertObjectMember = assertObjectMember; -exports.assertProperty = assertProperty; -exports.assertUnaryLike = assertUnaryLike; -exports.assertPattern = assertPattern; -exports.assertClass = assertClass; -exports.assertModuleDeclaration = assertModuleDeclaration; -exports.assertExportDeclaration = assertExportDeclaration; -exports.assertModuleSpecifier = assertModuleSpecifier; -exports.assertFlow = assertFlow; -exports.assertFlowType = assertFlowType; -exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation; -exports.assertFlowDeclaration = assertFlowDeclaration; -exports.assertFlowPredicate = assertFlowPredicate; -exports.assertEnumBody = assertEnumBody; -exports.assertEnumMember = assertEnumMember; -exports.assertJSX = assertJSX; -exports.assertPrivate = assertPrivate; -exports.assertTSTypeElement = assertTSTypeElement; -exports.assertTSType = assertTSType; -exports.assertNumberLiteral = assertNumberLiteral; -exports.assertRegexLiteral = assertRegexLiteral; -exports.assertRestProperty = assertRestProperty; -exports.assertSpreadProperty = assertSpreadProperty; - -var _is = _interopRequireDefault(require("../../validators/is")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function assert(type, node, opts) { - if (!(0, _is.default)(type, node, opts)) { - throw new Error("Expected type \"".concat(type, "\" with option ").concat(JSON.stringify(opts), ", ") + "but instead got \"".concat(node.type, "\".")); - } -} - -function assertArrayExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ArrayExpression", node, opts); -} - -function assertAssignmentExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("AssignmentExpression", node, opts); -} - -function assertBinaryExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BinaryExpression", node, opts); -} - -function assertInterpreterDirective(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("InterpreterDirective", node, opts); -} - -function assertDirective(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Directive", node, opts); -} - -function assertDirectiveLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DirectiveLiteral", node, opts); -} - -function assertBlockStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BlockStatement", node, opts); -} - -function assertBreakStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BreakStatement", node, opts); -} - -function assertCallExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("CallExpression", node, opts); -} - -function assertCatchClause(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("CatchClause", node, opts); -} - -function assertConditionalExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ConditionalExpression", node, opts); -} - -function assertContinueStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ContinueStatement", node, opts); -} - -function assertDebuggerStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DebuggerStatement", node, opts); -} - -function assertDoWhileStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DoWhileStatement", node, opts); -} - -function assertEmptyStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EmptyStatement", node, opts); -} - -function assertExpressionStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExpressionStatement", node, opts); -} - -function assertFile(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("File", node, opts); -} - -function assertForInStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ForInStatement", node, opts); -} - -function assertForStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ForStatement", node, opts); -} - -function assertFunctionDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FunctionDeclaration", node, opts); -} - -function assertFunctionExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FunctionExpression", node, opts); -} - -function assertIdentifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Identifier", node, opts); -} - -function assertIfStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("IfStatement", node, opts); -} - -function assertLabeledStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("LabeledStatement", node, opts); -} - -function assertStringLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("StringLiteral", node, opts); -} - -function assertNumericLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NumericLiteral", node, opts); -} - -function assertNullLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NullLiteral", node, opts); -} - -function assertBooleanLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BooleanLiteral", node, opts); -} - -function assertRegExpLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("RegExpLiteral", node, opts); -} - -function assertLogicalExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("LogicalExpression", node, opts); -} - -function assertMemberExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("MemberExpression", node, opts); -} - -function assertNewExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NewExpression", node, opts); -} - -function assertProgram(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Program", node, opts); -} - -function assertObjectExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectExpression", node, opts); -} - -function assertObjectMethod(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectMethod", node, opts); -} - -function assertObjectProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectProperty", node, opts); -} - -function assertRestElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("RestElement", node, opts); -} - -function assertReturnStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ReturnStatement", node, opts); -} - -function assertSequenceExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("SequenceExpression", node, opts); -} - -function assertParenthesizedExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ParenthesizedExpression", node, opts); -} - -function assertSwitchCase(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("SwitchCase", node, opts); -} - -function assertSwitchStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("SwitchStatement", node, opts); -} - -function assertThisExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ThisExpression", node, opts); -} - -function assertThrowStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ThrowStatement", node, opts); -} - -function assertTryStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TryStatement", node, opts); -} - -function assertUnaryExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("UnaryExpression", node, opts); -} - -function assertUpdateExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("UpdateExpression", node, opts); -} - -function assertVariableDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("VariableDeclaration", node, opts); -} - -function assertVariableDeclarator(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("VariableDeclarator", node, opts); -} - -function assertWhileStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("WhileStatement", node, opts); -} - -function assertWithStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("WithStatement", node, opts); -} - -function assertAssignmentPattern(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("AssignmentPattern", node, opts); -} - -function assertArrayPattern(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ArrayPattern", node, opts); -} - -function assertArrowFunctionExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ArrowFunctionExpression", node, opts); -} - -function assertClassBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassBody", node, opts); -} - -function assertClassDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassDeclaration", node, opts); -} - -function assertClassExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassExpression", node, opts); -} - -function assertExportAllDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportAllDeclaration", node, opts); -} - -function assertExportDefaultDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportDefaultDeclaration", node, opts); -} - -function assertExportNamedDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportNamedDeclaration", node, opts); -} - -function assertExportSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportSpecifier", node, opts); -} - -function assertForOfStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ForOfStatement", node, opts); -} - -function assertImportDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ImportDeclaration", node, opts); -} - -function assertImportDefaultSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ImportDefaultSpecifier", node, opts); -} - -function assertImportNamespaceSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ImportNamespaceSpecifier", node, opts); -} - -function assertImportSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ImportSpecifier", node, opts); -} - -function assertMetaProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("MetaProperty", node, opts); -} - -function assertClassMethod(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassMethod", node, opts); -} - -function assertObjectPattern(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectPattern", node, opts); -} - -function assertSpreadElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("SpreadElement", node, opts); -} - -function assertSuper(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Super", node, opts); -} - -function assertTaggedTemplateExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TaggedTemplateExpression", node, opts); -} - -function assertTemplateElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TemplateElement", node, opts); -} - -function assertTemplateLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TemplateLiteral", node, opts); -} - -function assertYieldExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("YieldExpression", node, opts); -} - -function assertAnyTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("AnyTypeAnnotation", node, opts); -} - -function assertArrayTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ArrayTypeAnnotation", node, opts); -} - -function assertBooleanTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BooleanTypeAnnotation", node, opts); -} - -function assertBooleanLiteralTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BooleanLiteralTypeAnnotation", node, opts); -} - -function assertNullLiteralTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NullLiteralTypeAnnotation", node, opts); -} - -function assertClassImplements(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassImplements", node, opts); -} - -function assertDeclareClass(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareClass", node, opts); -} - -function assertDeclareFunction(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareFunction", node, opts); -} - -function assertDeclareInterface(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareInterface", node, opts); -} - -function assertDeclareModule(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareModule", node, opts); -} - -function assertDeclareModuleExports(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareModuleExports", node, opts); -} - -function assertDeclareTypeAlias(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareTypeAlias", node, opts); -} - -function assertDeclareOpaqueType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareOpaqueType", node, opts); -} - -function assertDeclareVariable(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareVariable", node, opts); -} - -function assertDeclareExportDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareExportDeclaration", node, opts); -} - -function assertDeclareExportAllDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclareExportAllDeclaration", node, opts); -} - -function assertDeclaredPredicate(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DeclaredPredicate", node, opts); -} - -function assertExistsTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExistsTypeAnnotation", node, opts); -} - -function assertFunctionTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FunctionTypeAnnotation", node, opts); -} - -function assertFunctionTypeParam(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FunctionTypeParam", node, opts); -} - -function assertGenericTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("GenericTypeAnnotation", node, opts); -} - -function assertInferredPredicate(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("InferredPredicate", node, opts); -} - -function assertInterfaceExtends(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("InterfaceExtends", node, opts); -} - -function assertInterfaceDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("InterfaceDeclaration", node, opts); -} - -function assertInterfaceTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("InterfaceTypeAnnotation", node, opts); -} - -function assertIntersectionTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("IntersectionTypeAnnotation", node, opts); -} - -function assertMixedTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("MixedTypeAnnotation", node, opts); -} - -function assertEmptyTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EmptyTypeAnnotation", node, opts); -} - -function assertNullableTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NullableTypeAnnotation", node, opts); -} - -function assertNumberLiteralTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NumberLiteralTypeAnnotation", node, opts); -} - -function assertNumberTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("NumberTypeAnnotation", node, opts); -} - -function assertObjectTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeAnnotation", node, opts); -} - -function assertObjectTypeInternalSlot(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeInternalSlot", node, opts); -} - -function assertObjectTypeCallProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeCallProperty", node, opts); -} - -function assertObjectTypeIndexer(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeIndexer", node, opts); -} - -function assertObjectTypeProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeProperty", node, opts); -} - -function assertObjectTypeSpreadProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectTypeSpreadProperty", node, opts); -} - -function assertOpaqueType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("OpaqueType", node, opts); -} - -function assertQualifiedTypeIdentifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("QualifiedTypeIdentifier", node, opts); -} - -function assertStringLiteralTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("StringLiteralTypeAnnotation", node, opts); -} - -function assertStringTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("StringTypeAnnotation", node, opts); -} - -function assertThisTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ThisTypeAnnotation", node, opts); -} - -function assertTupleTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TupleTypeAnnotation", node, opts); -} - -function assertTypeofTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeofTypeAnnotation", node, opts); -} - -function assertTypeAlias(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeAlias", node, opts); -} - -function assertTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeAnnotation", node, opts); -} - -function assertTypeCastExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeCastExpression", node, opts); -} - -function assertTypeParameter(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeParameter", node, opts); -} - -function assertTypeParameterDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeParameterDeclaration", node, opts); -} - -function assertTypeParameterInstantiation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TypeParameterInstantiation", node, opts); -} - -function assertUnionTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("UnionTypeAnnotation", node, opts); -} - -function assertVariance(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Variance", node, opts); -} - -function assertVoidTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("VoidTypeAnnotation", node, opts); -} - -function assertEnumDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumDeclaration", node, opts); -} - -function assertEnumBooleanBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumBooleanBody", node, opts); -} - -function assertEnumNumberBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumNumberBody", node, opts); -} - -function assertEnumStringBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumStringBody", node, opts); -} - -function assertEnumSymbolBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumSymbolBody", node, opts); -} - -function assertEnumBooleanMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumBooleanMember", node, opts); -} - -function assertEnumNumberMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumNumberMember", node, opts); -} - -function assertEnumStringMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumStringMember", node, opts); -} - -function assertEnumDefaultedMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumDefaultedMember", node, opts); -} - -function assertJSXAttribute(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXAttribute", node, opts); -} - -function assertJSXClosingElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXClosingElement", node, opts); -} - -function assertJSXElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXElement", node, opts); -} - -function assertJSXEmptyExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXEmptyExpression", node, opts); -} - -function assertJSXExpressionContainer(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXExpressionContainer", node, opts); -} - -function assertJSXSpreadChild(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXSpreadChild", node, opts); -} - -function assertJSXIdentifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXIdentifier", node, opts); -} - -function assertJSXMemberExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXMemberExpression", node, opts); -} - -function assertJSXNamespacedName(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXNamespacedName", node, opts); -} - -function assertJSXOpeningElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXOpeningElement", node, opts); -} - -function assertJSXSpreadAttribute(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXSpreadAttribute", node, opts); -} - -function assertJSXText(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXText", node, opts); -} - -function assertJSXFragment(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXFragment", node, opts); -} - -function assertJSXOpeningFragment(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXOpeningFragment", node, opts); -} - -function assertJSXClosingFragment(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSXClosingFragment", node, opts); -} - -function assertNoop(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Noop", node, opts); -} - -function assertPlaceholder(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Placeholder", node, opts); -} - -function assertV8IntrinsicIdentifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("V8IntrinsicIdentifier", node, opts); -} - -function assertArgumentPlaceholder(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ArgumentPlaceholder", node, opts); -} - -function assertAwaitExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("AwaitExpression", node, opts); -} - -function assertBindExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BindExpression", node, opts); -} - -function assertClassProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassProperty", node, opts); -} - -function assertOptionalMemberExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("OptionalMemberExpression", node, opts); -} - -function assertPipelineTopicExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("PipelineTopicExpression", node, opts); -} - -function assertPipelineBareFunction(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("PipelineBareFunction", node, opts); -} - -function assertPipelinePrimaryTopicReference(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("PipelinePrimaryTopicReference", node, opts); -} - -function assertOptionalCallExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("OptionalCallExpression", node, opts); -} - -function assertClassPrivateProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassPrivateProperty", node, opts); -} - -function assertClassPrivateMethod(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ClassPrivateMethod", node, opts); -} - -function assertImport(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Import", node, opts); -} - -function assertDecorator(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Decorator", node, opts); -} - -function assertDoExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("DoExpression", node, opts); -} - -function assertExportDefaultSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportDefaultSpecifier", node, opts); -} - -function assertExportNamespaceSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportNamespaceSpecifier", node, opts); -} - -function assertPrivateName(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("PrivateName", node, opts); -} - -function assertBigIntLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BigIntLiteral", node, opts); -} - -function assertTSParameterProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSParameterProperty", node, opts); -} - -function assertTSDeclareFunction(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSDeclareFunction", node, opts); -} - -function assertTSDeclareMethod(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSDeclareMethod", node, opts); -} - -function assertTSQualifiedName(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSQualifiedName", node, opts); -} - -function assertTSCallSignatureDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSCallSignatureDeclaration", node, opts); -} - -function assertTSConstructSignatureDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSConstructSignatureDeclaration", node, opts); -} - -function assertTSPropertySignature(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSPropertySignature", node, opts); -} - -function assertTSMethodSignature(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSMethodSignature", node, opts); -} - -function assertTSIndexSignature(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSIndexSignature", node, opts); -} - -function assertTSAnyKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSAnyKeyword", node, opts); -} - -function assertTSBooleanKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSBooleanKeyword", node, opts); -} - -function assertTSBigIntKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSBigIntKeyword", node, opts); -} - -function assertTSNeverKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSNeverKeyword", node, opts); -} - -function assertTSNullKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSNullKeyword", node, opts); -} - -function assertTSNumberKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSNumberKeyword", node, opts); -} - -function assertTSObjectKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSObjectKeyword", node, opts); -} - -function assertTSStringKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSStringKeyword", node, opts); -} - -function assertTSSymbolKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSSymbolKeyword", node, opts); -} - -function assertTSUndefinedKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSUndefinedKeyword", node, opts); -} - -function assertTSUnknownKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSUnknownKeyword", node, opts); -} - -function assertTSVoidKeyword(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSVoidKeyword", node, opts); -} - -function assertTSThisType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSThisType", node, opts); -} - -function assertTSFunctionType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSFunctionType", node, opts); -} - -function assertTSConstructorType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSConstructorType", node, opts); -} - -function assertTSTypeReference(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeReference", node, opts); -} - -function assertTSTypePredicate(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypePredicate", node, opts); -} - -function assertTSTypeQuery(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeQuery", node, opts); -} - -function assertTSTypeLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeLiteral", node, opts); -} - -function assertTSArrayType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSArrayType", node, opts); -} - -function assertTSTupleType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTupleType", node, opts); -} - -function assertTSOptionalType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSOptionalType", node, opts); -} - -function assertTSRestType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSRestType", node, opts); -} - -function assertTSUnionType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSUnionType", node, opts); -} - -function assertTSIntersectionType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSIntersectionType", node, opts); -} - -function assertTSConditionalType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSConditionalType", node, opts); -} - -function assertTSInferType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSInferType", node, opts); -} - -function assertTSParenthesizedType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSParenthesizedType", node, opts); -} - -function assertTSTypeOperator(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeOperator", node, opts); -} - -function assertTSIndexedAccessType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSIndexedAccessType", node, opts); -} - -function assertTSMappedType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSMappedType", node, opts); -} - -function assertTSLiteralType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSLiteralType", node, opts); -} - -function assertTSExpressionWithTypeArguments(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSExpressionWithTypeArguments", node, opts); -} - -function assertTSInterfaceDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSInterfaceDeclaration", node, opts); -} - -function assertTSInterfaceBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSInterfaceBody", node, opts); -} - -function assertTSTypeAliasDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeAliasDeclaration", node, opts); -} - -function assertTSAsExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSAsExpression", node, opts); -} - -function assertTSTypeAssertion(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeAssertion", node, opts); -} - -function assertTSEnumDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSEnumDeclaration", node, opts); -} - -function assertTSEnumMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSEnumMember", node, opts); -} - -function assertTSModuleDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSModuleDeclaration", node, opts); -} - -function assertTSModuleBlock(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSModuleBlock", node, opts); -} - -function assertTSImportType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSImportType", node, opts); -} - -function assertTSImportEqualsDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSImportEqualsDeclaration", node, opts); -} - -function assertTSExternalModuleReference(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSExternalModuleReference", node, opts); -} - -function assertTSNonNullExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSNonNullExpression", node, opts); -} - -function assertTSExportAssignment(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSExportAssignment", node, opts); -} - -function assertTSNamespaceExportDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSNamespaceExportDeclaration", node, opts); -} - -function assertTSTypeAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeAnnotation", node, opts); -} - -function assertTSTypeParameterInstantiation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeParameterInstantiation", node, opts); -} - -function assertTSTypeParameterDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeParameterDeclaration", node, opts); -} - -function assertTSTypeParameter(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeParameter", node, opts); -} - -function assertExpression(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Expression", node, opts); -} - -function assertBinary(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Binary", node, opts); -} - -function assertScopable(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Scopable", node, opts); -} - -function assertBlockParent(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("BlockParent", node, opts); -} - -function assertBlock(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Block", node, opts); -} - -function assertStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Statement", node, opts); -} - -function assertTerminatorless(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Terminatorless", node, opts); -} - -function assertCompletionStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("CompletionStatement", node, opts); -} - -function assertConditional(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Conditional", node, opts); -} - -function assertLoop(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Loop", node, opts); -} - -function assertWhile(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("While", node, opts); -} - -function assertExpressionWrapper(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExpressionWrapper", node, opts); -} - -function assertFor(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("For", node, opts); -} - -function assertForXStatement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ForXStatement", node, opts); -} - -function assertFunction(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Function", node, opts); -} - -function assertFunctionParent(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FunctionParent", node, opts); -} - -function assertPureish(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Pureish", node, opts); -} - -function assertDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Declaration", node, opts); -} - -function assertPatternLike(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("PatternLike", node, opts); -} - -function assertLVal(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("LVal", node, opts); -} - -function assertTSEntityName(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSEntityName", node, opts); -} - -function assertLiteral(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Literal", node, opts); -} - -function assertImmutable(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Immutable", node, opts); -} - -function assertUserWhitespacable(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("UserWhitespacable", node, opts); -} - -function assertMethod(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Method", node, opts); -} - -function assertObjectMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ObjectMember", node, opts); -} - -function assertProperty(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Property", node, opts); -} - -function assertUnaryLike(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("UnaryLike", node, opts); -} - -function assertPattern(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Pattern", node, opts); -} - -function assertClass(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Class", node, opts); -} - -function assertModuleDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ModuleDeclaration", node, opts); -} - -function assertExportDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ExportDeclaration", node, opts); -} - -function assertModuleSpecifier(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("ModuleSpecifier", node, opts); -} - -function assertFlow(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Flow", node, opts); -} - -function assertFlowType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FlowType", node, opts); -} - -function assertFlowBaseAnnotation(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FlowBaseAnnotation", node, opts); -} - -function assertFlowDeclaration(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FlowDeclaration", node, opts); -} - -function assertFlowPredicate(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("FlowPredicate", node, opts); -} - -function assertEnumBody(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumBody", node, opts); -} - -function assertEnumMember(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("EnumMember", node, opts); -} - -function assertJSX(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("JSX", node, opts); -} - -function assertPrivate(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("Private", node, opts); -} - -function assertTSTypeElement(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSTypeElement", node, opts); -} - -function assertTSType(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - assert("TSType", node, opts); -} - -function assertNumberLiteral(node, opts) { - console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); - assert("NumberLiteral", node, opts); -} - -function assertRegexLiteral(node, opts) { - console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); - assert("RegexLiteral", node, opts); -} - -function assertRestProperty(node, opts) { - console.trace("The node type RestProperty has been renamed to RestElement"); - assert("RestProperty", node, opts); -} - -function assertSpreadProperty(node, opts) { - console.trace("The node type SpreadProperty has been renamed to SpreadElement"); - assert("SpreadProperty", node, opts); -} - -},{"../../validators/is":258}],203:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = builder; - -var _clone = _interopRequireDefault(require("lodash/clone")); - -var _definitions = require("../definitions"); - -var _validate = _interopRequireDefault(require("../validators/validate")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function builder(type) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var keys = _definitions.BUILDER_KEYS[type]; - var countArgs = args.length; - - if (countArgs > keys.length) { - throw new Error("".concat(type, ": Too many arguments passed. Received ").concat(countArgs, " but can receive no more than ").concat(keys.length)); - } - - var node = { - type: type - }; - var i = 0; - keys.forEach(function (key) { - var field = _definitions.NODE_FIELDS[type][key]; - var arg; - if (i < countArgs) arg = args[i]; - if (arg === undefined) arg = (0, _clone.default)(field.default); - node[key] = arg; - i++; - }); - - for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - (0, _validate.default)(node, key, node[key]); - } - - return node; -} - -},{"../definitions":236,"../validators/validate":276,"lodash/clone":1004}],204:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createTypeAnnotationBasedOnTypeof; - -var _generated = require("../generated"); - -function createTypeAnnotationBasedOnTypeof(type) { - if (type === "string") { - return (0, _generated.stringTypeAnnotation)(); - } else if (type === "number") { - return (0, _generated.numberTypeAnnotation)(); - } else if (type === "undefined") { - return (0, _generated.voidTypeAnnotation)(); - } else if (type === "boolean") { - return (0, _generated.booleanTypeAnnotation)(); - } else if (type === "function") { - return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function")); - } else if (type === "object") { - return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); - } else if (type === "symbol") { - return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); - } else { - throw new Error("Invalid typeof value"); - } -} - -},{"../generated":206}],205:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createUnionTypeAnnotation; - -var _generated = require("../generated"); - -var _removeTypeDuplicates = _interopRequireDefault(require("../../modifications/flow/removeTypeDuplicates")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function createUnionTypeAnnotation(types) { - var flattened = (0, _removeTypeDuplicates.default)(types); - - if (flattened.length === 1) { - return flattened[0]; - } else { - return (0, _generated.unionTypeAnnotation)(flattened); - } -} - -},{"../../modifications/flow/removeTypeDuplicates":244,"../generated":206}],206:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.arrayExpression = exports.ArrayExpression = ArrayExpression; -exports.assignmentExpression = exports.AssignmentExpression = AssignmentExpression; -exports.binaryExpression = exports.BinaryExpression = BinaryExpression; -exports.interpreterDirective = exports.InterpreterDirective = InterpreterDirective; -exports.directive = exports.Directive = Directive; -exports.directiveLiteral = exports.DirectiveLiteral = DirectiveLiteral; -exports.blockStatement = exports.BlockStatement = BlockStatement; -exports.breakStatement = exports.BreakStatement = BreakStatement; -exports.callExpression = exports.CallExpression = CallExpression; -exports.catchClause = exports.CatchClause = CatchClause; -exports.conditionalExpression = exports.ConditionalExpression = ConditionalExpression; -exports.continueStatement = exports.ContinueStatement = ContinueStatement; -exports.debuggerStatement = exports.DebuggerStatement = DebuggerStatement; -exports.doWhileStatement = exports.DoWhileStatement = DoWhileStatement; -exports.emptyStatement = exports.EmptyStatement = EmptyStatement; -exports.expressionStatement = exports.ExpressionStatement = ExpressionStatement; -exports.file = exports.File = File; -exports.forInStatement = exports.ForInStatement = ForInStatement; -exports.forStatement = exports.ForStatement = ForStatement; -exports.functionDeclaration = exports.FunctionDeclaration = FunctionDeclaration; -exports.functionExpression = exports.FunctionExpression = FunctionExpression; -exports.identifier = exports.Identifier = Identifier; -exports.ifStatement = exports.IfStatement = IfStatement; -exports.labeledStatement = exports.LabeledStatement = LabeledStatement; -exports.stringLiteral = exports.StringLiteral = StringLiteral; -exports.numericLiteral = exports.NumericLiteral = NumericLiteral; -exports.nullLiteral = exports.NullLiteral = NullLiteral; -exports.booleanLiteral = exports.BooleanLiteral = BooleanLiteral; -exports.regExpLiteral = exports.RegExpLiteral = RegExpLiteral; -exports.logicalExpression = exports.LogicalExpression = LogicalExpression; -exports.memberExpression = exports.MemberExpression = MemberExpression; -exports.newExpression = exports.NewExpression = NewExpression; -exports.program = exports.Program = Program; -exports.objectExpression = exports.ObjectExpression = ObjectExpression; -exports.objectMethod = exports.ObjectMethod = ObjectMethod; -exports.objectProperty = exports.ObjectProperty = ObjectProperty; -exports.restElement = exports.RestElement = RestElement; -exports.returnStatement = exports.ReturnStatement = ReturnStatement; -exports.sequenceExpression = exports.SequenceExpression = SequenceExpression; -exports.parenthesizedExpression = exports.ParenthesizedExpression = ParenthesizedExpression; -exports.switchCase = exports.SwitchCase = SwitchCase; -exports.switchStatement = exports.SwitchStatement = SwitchStatement; -exports.thisExpression = exports.ThisExpression = ThisExpression; -exports.throwStatement = exports.ThrowStatement = ThrowStatement; -exports.tryStatement = exports.TryStatement = TryStatement; -exports.unaryExpression = exports.UnaryExpression = UnaryExpression; -exports.updateExpression = exports.UpdateExpression = UpdateExpression; -exports.variableDeclaration = exports.VariableDeclaration = VariableDeclaration; -exports.variableDeclarator = exports.VariableDeclarator = VariableDeclarator; -exports.whileStatement = exports.WhileStatement = WhileStatement; -exports.withStatement = exports.WithStatement = WithStatement; -exports.assignmentPattern = exports.AssignmentPattern = AssignmentPattern; -exports.arrayPattern = exports.ArrayPattern = ArrayPattern; -exports.arrowFunctionExpression = exports.ArrowFunctionExpression = ArrowFunctionExpression; -exports.classBody = exports.ClassBody = ClassBody; -exports.classDeclaration = exports.ClassDeclaration = ClassDeclaration; -exports.classExpression = exports.ClassExpression = ClassExpression; -exports.exportAllDeclaration = exports.ExportAllDeclaration = ExportAllDeclaration; -exports.exportDefaultDeclaration = exports.ExportDefaultDeclaration = ExportDefaultDeclaration; -exports.exportNamedDeclaration = exports.ExportNamedDeclaration = ExportNamedDeclaration; -exports.exportSpecifier = exports.ExportSpecifier = ExportSpecifier; -exports.forOfStatement = exports.ForOfStatement = ForOfStatement; -exports.importDeclaration = exports.ImportDeclaration = ImportDeclaration; -exports.importDefaultSpecifier = exports.ImportDefaultSpecifier = ImportDefaultSpecifier; -exports.importNamespaceSpecifier = exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; -exports.importSpecifier = exports.ImportSpecifier = ImportSpecifier; -exports.metaProperty = exports.MetaProperty = MetaProperty; -exports.classMethod = exports.ClassMethod = ClassMethod; -exports.objectPattern = exports.ObjectPattern = ObjectPattern; -exports.spreadElement = exports.SpreadElement = SpreadElement; -exports.super = exports.Super = Super; -exports.taggedTemplateExpression = exports.TaggedTemplateExpression = TaggedTemplateExpression; -exports.templateElement = exports.TemplateElement = TemplateElement; -exports.templateLiteral = exports.TemplateLiteral = TemplateLiteral; -exports.yieldExpression = exports.YieldExpression = YieldExpression; -exports.anyTypeAnnotation = exports.AnyTypeAnnotation = AnyTypeAnnotation; -exports.arrayTypeAnnotation = exports.ArrayTypeAnnotation = ArrayTypeAnnotation; -exports.booleanTypeAnnotation = exports.BooleanTypeAnnotation = BooleanTypeAnnotation; -exports.booleanLiteralTypeAnnotation = exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; -exports.nullLiteralTypeAnnotation = exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; -exports.classImplements = exports.ClassImplements = ClassImplements; -exports.declareClass = exports.DeclareClass = DeclareClass; -exports.declareFunction = exports.DeclareFunction = DeclareFunction; -exports.declareInterface = exports.DeclareInterface = DeclareInterface; -exports.declareModule = exports.DeclareModule = DeclareModule; -exports.declareModuleExports = exports.DeclareModuleExports = DeclareModuleExports; -exports.declareTypeAlias = exports.DeclareTypeAlias = DeclareTypeAlias; -exports.declareOpaqueType = exports.DeclareOpaqueType = DeclareOpaqueType; -exports.declareVariable = exports.DeclareVariable = DeclareVariable; -exports.declareExportDeclaration = exports.DeclareExportDeclaration = DeclareExportDeclaration; -exports.declareExportAllDeclaration = exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; -exports.declaredPredicate = exports.DeclaredPredicate = DeclaredPredicate; -exports.existsTypeAnnotation = exports.ExistsTypeAnnotation = ExistsTypeAnnotation; -exports.functionTypeAnnotation = exports.FunctionTypeAnnotation = FunctionTypeAnnotation; -exports.functionTypeParam = exports.FunctionTypeParam = FunctionTypeParam; -exports.genericTypeAnnotation = exports.GenericTypeAnnotation = GenericTypeAnnotation; -exports.inferredPredicate = exports.InferredPredicate = InferredPredicate; -exports.interfaceExtends = exports.InterfaceExtends = InterfaceExtends; -exports.interfaceDeclaration = exports.InterfaceDeclaration = InterfaceDeclaration; -exports.interfaceTypeAnnotation = exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; -exports.intersectionTypeAnnotation = exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; -exports.mixedTypeAnnotation = exports.MixedTypeAnnotation = MixedTypeAnnotation; -exports.emptyTypeAnnotation = exports.EmptyTypeAnnotation = EmptyTypeAnnotation; -exports.nullableTypeAnnotation = exports.NullableTypeAnnotation = NullableTypeAnnotation; -exports.numberLiteralTypeAnnotation = exports.NumberLiteralTypeAnnotation = NumberLiteralTypeAnnotation; -exports.numberTypeAnnotation = exports.NumberTypeAnnotation = NumberTypeAnnotation; -exports.objectTypeAnnotation = exports.ObjectTypeAnnotation = ObjectTypeAnnotation; -exports.objectTypeInternalSlot = exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; -exports.objectTypeCallProperty = exports.ObjectTypeCallProperty = ObjectTypeCallProperty; -exports.objectTypeIndexer = exports.ObjectTypeIndexer = ObjectTypeIndexer; -exports.objectTypeProperty = exports.ObjectTypeProperty = ObjectTypeProperty; -exports.objectTypeSpreadProperty = exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; -exports.opaqueType = exports.OpaqueType = OpaqueType; -exports.qualifiedTypeIdentifier = exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; -exports.stringLiteralTypeAnnotation = exports.StringLiteralTypeAnnotation = StringLiteralTypeAnnotation; -exports.stringTypeAnnotation = exports.StringTypeAnnotation = StringTypeAnnotation; -exports.thisTypeAnnotation = exports.ThisTypeAnnotation = ThisTypeAnnotation; -exports.tupleTypeAnnotation = exports.TupleTypeAnnotation = TupleTypeAnnotation; -exports.typeofTypeAnnotation = exports.TypeofTypeAnnotation = TypeofTypeAnnotation; -exports.typeAlias = exports.TypeAlias = TypeAlias; -exports.typeAnnotation = exports.TypeAnnotation = TypeAnnotation; -exports.typeCastExpression = exports.TypeCastExpression = TypeCastExpression; -exports.typeParameter = exports.TypeParameter = TypeParameter; -exports.typeParameterDeclaration = exports.TypeParameterDeclaration = TypeParameterDeclaration; -exports.typeParameterInstantiation = exports.TypeParameterInstantiation = TypeParameterInstantiation; -exports.unionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; -exports.variance = exports.Variance = Variance; -exports.voidTypeAnnotation = exports.VoidTypeAnnotation = VoidTypeAnnotation; -exports.enumDeclaration = exports.EnumDeclaration = EnumDeclaration; -exports.enumBooleanBody = exports.EnumBooleanBody = EnumBooleanBody; -exports.enumNumberBody = exports.EnumNumberBody = EnumNumberBody; -exports.enumStringBody = exports.EnumStringBody = EnumStringBody; -exports.enumSymbolBody = exports.EnumSymbolBody = EnumSymbolBody; -exports.enumBooleanMember = exports.EnumBooleanMember = EnumBooleanMember; -exports.enumNumberMember = exports.EnumNumberMember = EnumNumberMember; -exports.enumStringMember = exports.EnumStringMember = EnumStringMember; -exports.enumDefaultedMember = exports.EnumDefaultedMember = EnumDefaultedMember; -exports.jSXAttribute = exports.jsxAttribute = exports.JSXAttribute = JSXAttribute; -exports.jSXClosingElement = exports.jsxClosingElement = exports.JSXClosingElement = JSXClosingElement; -exports.jSXElement = exports.jsxElement = exports.JSXElement = JSXElement; -exports.jSXEmptyExpression = exports.jsxEmptyExpression = exports.JSXEmptyExpression = JSXEmptyExpression; -exports.jSXExpressionContainer = exports.jsxExpressionContainer = exports.JSXExpressionContainer = JSXExpressionContainer; -exports.jSXSpreadChild = exports.jsxSpreadChild = exports.JSXSpreadChild = JSXSpreadChild; -exports.jSXIdentifier = exports.jsxIdentifier = exports.JSXIdentifier = JSXIdentifier; -exports.jSXMemberExpression = exports.jsxMemberExpression = exports.JSXMemberExpression = JSXMemberExpression; -exports.jSXNamespacedName = exports.jsxNamespacedName = exports.JSXNamespacedName = JSXNamespacedName; -exports.jSXOpeningElement = exports.jsxOpeningElement = exports.JSXOpeningElement = JSXOpeningElement; -exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = exports.JSXSpreadAttribute = JSXSpreadAttribute; -exports.jSXText = exports.jsxText = exports.JSXText = JSXText; -exports.jSXFragment = exports.jsxFragment = exports.JSXFragment = JSXFragment; -exports.jSXOpeningFragment = exports.jsxOpeningFragment = exports.JSXOpeningFragment = JSXOpeningFragment; -exports.jSXClosingFragment = exports.jsxClosingFragment = exports.JSXClosingFragment = JSXClosingFragment; -exports.noop = exports.Noop = Noop; -exports.placeholder = exports.Placeholder = Placeholder; -exports.v8IntrinsicIdentifier = exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; -exports.argumentPlaceholder = exports.ArgumentPlaceholder = ArgumentPlaceholder; -exports.awaitExpression = exports.AwaitExpression = AwaitExpression; -exports.bindExpression = exports.BindExpression = BindExpression; -exports.classProperty = exports.ClassProperty = ClassProperty; -exports.optionalMemberExpression = exports.OptionalMemberExpression = OptionalMemberExpression; -exports.pipelineTopicExpression = exports.PipelineTopicExpression = PipelineTopicExpression; -exports.pipelineBareFunction = exports.PipelineBareFunction = PipelineBareFunction; -exports.pipelinePrimaryTopicReference = exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; -exports.optionalCallExpression = exports.OptionalCallExpression = OptionalCallExpression; -exports.classPrivateProperty = exports.ClassPrivateProperty = ClassPrivateProperty; -exports.classPrivateMethod = exports.ClassPrivateMethod = ClassPrivateMethod; -exports.import = exports.Import = Import; -exports.decorator = exports.Decorator = Decorator; -exports.doExpression = exports.DoExpression = DoExpression; -exports.exportDefaultSpecifier = exports.ExportDefaultSpecifier = ExportDefaultSpecifier; -exports.exportNamespaceSpecifier = exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; -exports.privateName = exports.PrivateName = PrivateName; -exports.bigIntLiteral = exports.BigIntLiteral = BigIntLiteral; -exports.tSParameterProperty = exports.tsParameterProperty = exports.TSParameterProperty = TSParameterProperty; -exports.tSDeclareFunction = exports.tsDeclareFunction = exports.TSDeclareFunction = TSDeclareFunction; -exports.tSDeclareMethod = exports.tsDeclareMethod = exports.TSDeclareMethod = TSDeclareMethod; -exports.tSQualifiedName = exports.tsQualifiedName = exports.TSQualifiedName = TSQualifiedName; -exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; -exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; -exports.tSPropertySignature = exports.tsPropertySignature = exports.TSPropertySignature = TSPropertySignature; -exports.tSMethodSignature = exports.tsMethodSignature = exports.TSMethodSignature = TSMethodSignature; -exports.tSIndexSignature = exports.tsIndexSignature = exports.TSIndexSignature = TSIndexSignature; -exports.tSAnyKeyword = exports.tsAnyKeyword = exports.TSAnyKeyword = TSAnyKeyword; -exports.tSBooleanKeyword = exports.tsBooleanKeyword = exports.TSBooleanKeyword = TSBooleanKeyword; -exports.tSBigIntKeyword = exports.tsBigIntKeyword = exports.TSBigIntKeyword = TSBigIntKeyword; -exports.tSNeverKeyword = exports.tsNeverKeyword = exports.TSNeverKeyword = TSNeverKeyword; -exports.tSNullKeyword = exports.tsNullKeyword = exports.TSNullKeyword = TSNullKeyword; -exports.tSNumberKeyword = exports.tsNumberKeyword = exports.TSNumberKeyword = TSNumberKeyword; -exports.tSObjectKeyword = exports.tsObjectKeyword = exports.TSObjectKeyword = TSObjectKeyword; -exports.tSStringKeyword = exports.tsStringKeyword = exports.TSStringKeyword = TSStringKeyword; -exports.tSSymbolKeyword = exports.tsSymbolKeyword = exports.TSSymbolKeyword = TSSymbolKeyword; -exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = exports.TSUndefinedKeyword = TSUndefinedKeyword; -exports.tSUnknownKeyword = exports.tsUnknownKeyword = exports.TSUnknownKeyword = TSUnknownKeyword; -exports.tSVoidKeyword = exports.tsVoidKeyword = exports.TSVoidKeyword = TSVoidKeyword; -exports.tSThisType = exports.tsThisType = exports.TSThisType = TSThisType; -exports.tSFunctionType = exports.tsFunctionType = exports.TSFunctionType = TSFunctionType; -exports.tSConstructorType = exports.tsConstructorType = exports.TSConstructorType = TSConstructorType; -exports.tSTypeReference = exports.tsTypeReference = exports.TSTypeReference = TSTypeReference; -exports.tSTypePredicate = exports.tsTypePredicate = exports.TSTypePredicate = TSTypePredicate; -exports.tSTypeQuery = exports.tsTypeQuery = exports.TSTypeQuery = TSTypeQuery; -exports.tSTypeLiteral = exports.tsTypeLiteral = exports.TSTypeLiteral = TSTypeLiteral; -exports.tSArrayType = exports.tsArrayType = exports.TSArrayType = TSArrayType; -exports.tSTupleType = exports.tsTupleType = exports.TSTupleType = TSTupleType; -exports.tSOptionalType = exports.tsOptionalType = exports.TSOptionalType = TSOptionalType; -exports.tSRestType = exports.tsRestType = exports.TSRestType = TSRestType; -exports.tSUnionType = exports.tsUnionType = exports.TSUnionType = TSUnionType; -exports.tSIntersectionType = exports.tsIntersectionType = exports.TSIntersectionType = TSIntersectionType; -exports.tSConditionalType = exports.tsConditionalType = exports.TSConditionalType = TSConditionalType; -exports.tSInferType = exports.tsInferType = exports.TSInferType = TSInferType; -exports.tSParenthesizedType = exports.tsParenthesizedType = exports.TSParenthesizedType = TSParenthesizedType; -exports.tSTypeOperator = exports.tsTypeOperator = exports.TSTypeOperator = TSTypeOperator; -exports.tSIndexedAccessType = exports.tsIndexedAccessType = exports.TSIndexedAccessType = TSIndexedAccessType; -exports.tSMappedType = exports.tsMappedType = exports.TSMappedType = TSMappedType; -exports.tSLiteralType = exports.tsLiteralType = exports.TSLiteralType = TSLiteralType; -exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; -exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = exports.TSInterfaceDeclaration = TSInterfaceDeclaration; -exports.tSInterfaceBody = exports.tsInterfaceBody = exports.TSInterfaceBody = TSInterfaceBody; -exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; -exports.tSAsExpression = exports.tsAsExpression = exports.TSAsExpression = TSAsExpression; -exports.tSTypeAssertion = exports.tsTypeAssertion = exports.TSTypeAssertion = TSTypeAssertion; -exports.tSEnumDeclaration = exports.tsEnumDeclaration = exports.TSEnumDeclaration = TSEnumDeclaration; -exports.tSEnumMember = exports.tsEnumMember = exports.TSEnumMember = TSEnumMember; -exports.tSModuleDeclaration = exports.tsModuleDeclaration = exports.TSModuleDeclaration = TSModuleDeclaration; -exports.tSModuleBlock = exports.tsModuleBlock = exports.TSModuleBlock = TSModuleBlock; -exports.tSImportType = exports.tsImportType = exports.TSImportType = TSImportType; -exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; -exports.tSExternalModuleReference = exports.tsExternalModuleReference = exports.TSExternalModuleReference = TSExternalModuleReference; -exports.tSNonNullExpression = exports.tsNonNullExpression = exports.TSNonNullExpression = TSNonNullExpression; -exports.tSExportAssignment = exports.tsExportAssignment = exports.TSExportAssignment = TSExportAssignment; -exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; -exports.tSTypeAnnotation = exports.tsTypeAnnotation = exports.TSTypeAnnotation = TSTypeAnnotation; -exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; -exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = exports.TSTypeParameterDeclaration = TSTypeParameterDeclaration; -exports.tSTypeParameter = exports.tsTypeParameter = exports.TSTypeParameter = TSTypeParameter; -exports.numberLiteral = exports.NumberLiteral = NumberLiteral; -exports.regexLiteral = exports.RegexLiteral = RegexLiteral; -exports.restProperty = exports.RestProperty = RestProperty; -exports.spreadProperty = exports.SpreadProperty = SpreadProperty; - -var _builder = _interopRequireDefault(require("../builder")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function ArrayExpression() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return (0, _builder.default).apply(void 0, ["ArrayExpression"].concat(args)); -} - -function AssignmentExpression() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - return (0, _builder.default).apply(void 0, ["AssignmentExpression"].concat(args)); -} - -function BinaryExpression() { - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - return (0, _builder.default).apply(void 0, ["BinaryExpression"].concat(args)); -} - -function InterpreterDirective() { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - return (0, _builder.default).apply(void 0, ["InterpreterDirective"].concat(args)); -} - -function Directive() { - for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { - args[_key5] = arguments[_key5]; - } - - return (0, _builder.default).apply(void 0, ["Directive"].concat(args)); -} - -function DirectiveLiteral() { - for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { - args[_key6] = arguments[_key6]; - } - - return (0, _builder.default).apply(void 0, ["DirectiveLiteral"].concat(args)); -} - -function BlockStatement() { - for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { - args[_key7] = arguments[_key7]; - } - - return (0, _builder.default).apply(void 0, ["BlockStatement"].concat(args)); -} - -function BreakStatement() { - for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { - args[_key8] = arguments[_key8]; - } - - return (0, _builder.default).apply(void 0, ["BreakStatement"].concat(args)); -} - -function CallExpression() { - for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { - args[_key9] = arguments[_key9]; - } - - return (0, _builder.default).apply(void 0, ["CallExpression"].concat(args)); -} - -function CatchClause() { - for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { - args[_key10] = arguments[_key10]; - } - - return (0, _builder.default).apply(void 0, ["CatchClause"].concat(args)); -} - -function ConditionalExpression() { - for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) { - args[_key11] = arguments[_key11]; - } - - return (0, _builder.default).apply(void 0, ["ConditionalExpression"].concat(args)); -} - -function ContinueStatement() { - for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) { - args[_key12] = arguments[_key12]; - } - - return (0, _builder.default).apply(void 0, ["ContinueStatement"].concat(args)); -} - -function DebuggerStatement() { - for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) { - args[_key13] = arguments[_key13]; - } - - return (0, _builder.default).apply(void 0, ["DebuggerStatement"].concat(args)); -} - -function DoWhileStatement() { - for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) { - args[_key14] = arguments[_key14]; - } - - return (0, _builder.default).apply(void 0, ["DoWhileStatement"].concat(args)); -} - -function EmptyStatement() { - for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) { - args[_key15] = arguments[_key15]; - } - - return (0, _builder.default).apply(void 0, ["EmptyStatement"].concat(args)); -} - -function ExpressionStatement() { - for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) { - args[_key16] = arguments[_key16]; - } - - return (0, _builder.default).apply(void 0, ["ExpressionStatement"].concat(args)); -} - -function File() { - for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) { - args[_key17] = arguments[_key17]; - } - - return (0, _builder.default).apply(void 0, ["File"].concat(args)); -} - -function ForInStatement() { - for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) { - args[_key18] = arguments[_key18]; - } - - return (0, _builder.default).apply(void 0, ["ForInStatement"].concat(args)); -} - -function ForStatement() { - for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) { - args[_key19] = arguments[_key19]; - } - - return (0, _builder.default).apply(void 0, ["ForStatement"].concat(args)); -} - -function FunctionDeclaration() { - for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) { - args[_key20] = arguments[_key20]; - } - - return (0, _builder.default).apply(void 0, ["FunctionDeclaration"].concat(args)); -} - -function FunctionExpression() { - for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) { - args[_key21] = arguments[_key21]; - } - - return (0, _builder.default).apply(void 0, ["FunctionExpression"].concat(args)); -} - -function Identifier() { - for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) { - args[_key22] = arguments[_key22]; - } - - return (0, _builder.default).apply(void 0, ["Identifier"].concat(args)); -} - -function IfStatement() { - for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) { - args[_key23] = arguments[_key23]; - } - - return (0, _builder.default).apply(void 0, ["IfStatement"].concat(args)); -} - -function LabeledStatement() { - for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) { - args[_key24] = arguments[_key24]; - } - - return (0, _builder.default).apply(void 0, ["LabeledStatement"].concat(args)); -} - -function StringLiteral() { - for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) { - args[_key25] = arguments[_key25]; - } - - return (0, _builder.default).apply(void 0, ["StringLiteral"].concat(args)); -} - -function NumericLiteral() { - for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) { - args[_key26] = arguments[_key26]; - } - - return (0, _builder.default).apply(void 0, ["NumericLiteral"].concat(args)); -} - -function NullLiteral() { - for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) { - args[_key27] = arguments[_key27]; - } - - return (0, _builder.default).apply(void 0, ["NullLiteral"].concat(args)); -} - -function BooleanLiteral() { - for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) { - args[_key28] = arguments[_key28]; - } - - return (0, _builder.default).apply(void 0, ["BooleanLiteral"].concat(args)); -} - -function RegExpLiteral() { - for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) { - args[_key29] = arguments[_key29]; - } - - return (0, _builder.default).apply(void 0, ["RegExpLiteral"].concat(args)); -} - -function LogicalExpression() { - for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) { - args[_key30] = arguments[_key30]; - } - - return (0, _builder.default).apply(void 0, ["LogicalExpression"].concat(args)); -} - -function MemberExpression() { - for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) { - args[_key31] = arguments[_key31]; - } - - return (0, _builder.default).apply(void 0, ["MemberExpression"].concat(args)); -} - -function NewExpression() { - for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) { - args[_key32] = arguments[_key32]; - } - - return (0, _builder.default).apply(void 0, ["NewExpression"].concat(args)); -} - -function Program() { - for (var _len33 = arguments.length, args = new Array(_len33), _key33 = 0; _key33 < _len33; _key33++) { - args[_key33] = arguments[_key33]; - } - - return (0, _builder.default).apply(void 0, ["Program"].concat(args)); -} - -function ObjectExpression() { - for (var _len34 = arguments.length, args = new Array(_len34), _key34 = 0; _key34 < _len34; _key34++) { - args[_key34] = arguments[_key34]; - } - - return (0, _builder.default).apply(void 0, ["ObjectExpression"].concat(args)); -} - -function ObjectMethod() { - for (var _len35 = arguments.length, args = new Array(_len35), _key35 = 0; _key35 < _len35; _key35++) { - args[_key35] = arguments[_key35]; - } - - return (0, _builder.default).apply(void 0, ["ObjectMethod"].concat(args)); -} - -function ObjectProperty() { - for (var _len36 = arguments.length, args = new Array(_len36), _key36 = 0; _key36 < _len36; _key36++) { - args[_key36] = arguments[_key36]; - } - - return (0, _builder.default).apply(void 0, ["ObjectProperty"].concat(args)); -} - -function RestElement() { - for (var _len37 = arguments.length, args = new Array(_len37), _key37 = 0; _key37 < _len37; _key37++) { - args[_key37] = arguments[_key37]; - } - - return (0, _builder.default).apply(void 0, ["RestElement"].concat(args)); -} - -function ReturnStatement() { - for (var _len38 = arguments.length, args = new Array(_len38), _key38 = 0; _key38 < _len38; _key38++) { - args[_key38] = arguments[_key38]; - } - - return (0, _builder.default).apply(void 0, ["ReturnStatement"].concat(args)); -} - -function SequenceExpression() { - for (var _len39 = arguments.length, args = new Array(_len39), _key39 = 0; _key39 < _len39; _key39++) { - args[_key39] = arguments[_key39]; - } - - return (0, _builder.default).apply(void 0, ["SequenceExpression"].concat(args)); -} - -function ParenthesizedExpression() { - for (var _len40 = arguments.length, args = new Array(_len40), _key40 = 0; _key40 < _len40; _key40++) { - args[_key40] = arguments[_key40]; - } - - return (0, _builder.default).apply(void 0, ["ParenthesizedExpression"].concat(args)); -} - -function SwitchCase() { - for (var _len41 = arguments.length, args = new Array(_len41), _key41 = 0; _key41 < _len41; _key41++) { - args[_key41] = arguments[_key41]; - } - - return (0, _builder.default).apply(void 0, ["SwitchCase"].concat(args)); -} - -function SwitchStatement() { - for (var _len42 = arguments.length, args = new Array(_len42), _key42 = 0; _key42 < _len42; _key42++) { - args[_key42] = arguments[_key42]; - } - - return (0, _builder.default).apply(void 0, ["SwitchStatement"].concat(args)); -} - -function ThisExpression() { - for (var _len43 = arguments.length, args = new Array(_len43), _key43 = 0; _key43 < _len43; _key43++) { - args[_key43] = arguments[_key43]; - } - - return (0, _builder.default).apply(void 0, ["ThisExpression"].concat(args)); -} - -function ThrowStatement() { - for (var _len44 = arguments.length, args = new Array(_len44), _key44 = 0; _key44 < _len44; _key44++) { - args[_key44] = arguments[_key44]; - } - - return (0, _builder.default).apply(void 0, ["ThrowStatement"].concat(args)); -} - -function TryStatement() { - for (var _len45 = arguments.length, args = new Array(_len45), _key45 = 0; _key45 < _len45; _key45++) { - args[_key45] = arguments[_key45]; - } - - return (0, _builder.default).apply(void 0, ["TryStatement"].concat(args)); -} - -function UnaryExpression() { - for (var _len46 = arguments.length, args = new Array(_len46), _key46 = 0; _key46 < _len46; _key46++) { - args[_key46] = arguments[_key46]; - } - - return (0, _builder.default).apply(void 0, ["UnaryExpression"].concat(args)); -} - -function UpdateExpression() { - for (var _len47 = arguments.length, args = new Array(_len47), _key47 = 0; _key47 < _len47; _key47++) { - args[_key47] = arguments[_key47]; - } - - return (0, _builder.default).apply(void 0, ["UpdateExpression"].concat(args)); -} - -function VariableDeclaration() { - for (var _len48 = arguments.length, args = new Array(_len48), _key48 = 0; _key48 < _len48; _key48++) { - args[_key48] = arguments[_key48]; - } - - return (0, _builder.default).apply(void 0, ["VariableDeclaration"].concat(args)); -} - -function VariableDeclarator() { - for (var _len49 = arguments.length, args = new Array(_len49), _key49 = 0; _key49 < _len49; _key49++) { - args[_key49] = arguments[_key49]; - } - - return (0, _builder.default).apply(void 0, ["VariableDeclarator"].concat(args)); -} - -function WhileStatement() { - for (var _len50 = arguments.length, args = new Array(_len50), _key50 = 0; _key50 < _len50; _key50++) { - args[_key50] = arguments[_key50]; - } - - return (0, _builder.default).apply(void 0, ["WhileStatement"].concat(args)); -} - -function WithStatement() { - for (var _len51 = arguments.length, args = new Array(_len51), _key51 = 0; _key51 < _len51; _key51++) { - args[_key51] = arguments[_key51]; - } - - return (0, _builder.default).apply(void 0, ["WithStatement"].concat(args)); -} - -function AssignmentPattern() { - for (var _len52 = arguments.length, args = new Array(_len52), _key52 = 0; _key52 < _len52; _key52++) { - args[_key52] = arguments[_key52]; - } - - return (0, _builder.default).apply(void 0, ["AssignmentPattern"].concat(args)); -} - -function ArrayPattern() { - for (var _len53 = arguments.length, args = new Array(_len53), _key53 = 0; _key53 < _len53; _key53++) { - args[_key53] = arguments[_key53]; - } - - return (0, _builder.default).apply(void 0, ["ArrayPattern"].concat(args)); -} - -function ArrowFunctionExpression() { - for (var _len54 = arguments.length, args = new Array(_len54), _key54 = 0; _key54 < _len54; _key54++) { - args[_key54] = arguments[_key54]; - } - - return (0, _builder.default).apply(void 0, ["ArrowFunctionExpression"].concat(args)); -} - -function ClassBody() { - for (var _len55 = arguments.length, args = new Array(_len55), _key55 = 0; _key55 < _len55; _key55++) { - args[_key55] = arguments[_key55]; - } - - return (0, _builder.default).apply(void 0, ["ClassBody"].concat(args)); -} - -function ClassDeclaration() { - for (var _len56 = arguments.length, args = new Array(_len56), _key56 = 0; _key56 < _len56; _key56++) { - args[_key56] = arguments[_key56]; - } - - return (0, _builder.default).apply(void 0, ["ClassDeclaration"].concat(args)); -} - -function ClassExpression() { - for (var _len57 = arguments.length, args = new Array(_len57), _key57 = 0; _key57 < _len57; _key57++) { - args[_key57] = arguments[_key57]; - } - - return (0, _builder.default).apply(void 0, ["ClassExpression"].concat(args)); -} - -function ExportAllDeclaration() { - for (var _len58 = arguments.length, args = new Array(_len58), _key58 = 0; _key58 < _len58; _key58++) { - args[_key58] = arguments[_key58]; - } - - return (0, _builder.default).apply(void 0, ["ExportAllDeclaration"].concat(args)); -} - -function ExportDefaultDeclaration() { - for (var _len59 = arguments.length, args = new Array(_len59), _key59 = 0; _key59 < _len59; _key59++) { - args[_key59] = arguments[_key59]; - } - - return (0, _builder.default).apply(void 0, ["ExportDefaultDeclaration"].concat(args)); -} - -function ExportNamedDeclaration() { - for (var _len60 = arguments.length, args = new Array(_len60), _key60 = 0; _key60 < _len60; _key60++) { - args[_key60] = arguments[_key60]; - } - - return (0, _builder.default).apply(void 0, ["ExportNamedDeclaration"].concat(args)); -} - -function ExportSpecifier() { - for (var _len61 = arguments.length, args = new Array(_len61), _key61 = 0; _key61 < _len61; _key61++) { - args[_key61] = arguments[_key61]; - } - - return (0, _builder.default).apply(void 0, ["ExportSpecifier"].concat(args)); -} - -function ForOfStatement() { - for (var _len62 = arguments.length, args = new Array(_len62), _key62 = 0; _key62 < _len62; _key62++) { - args[_key62] = arguments[_key62]; - } - - return (0, _builder.default).apply(void 0, ["ForOfStatement"].concat(args)); -} - -function ImportDeclaration() { - for (var _len63 = arguments.length, args = new Array(_len63), _key63 = 0; _key63 < _len63; _key63++) { - args[_key63] = arguments[_key63]; - } - - return (0, _builder.default).apply(void 0, ["ImportDeclaration"].concat(args)); -} - -function ImportDefaultSpecifier() { - for (var _len64 = arguments.length, args = new Array(_len64), _key64 = 0; _key64 < _len64; _key64++) { - args[_key64] = arguments[_key64]; - } - - return (0, _builder.default).apply(void 0, ["ImportDefaultSpecifier"].concat(args)); -} - -function ImportNamespaceSpecifier() { - for (var _len65 = arguments.length, args = new Array(_len65), _key65 = 0; _key65 < _len65; _key65++) { - args[_key65] = arguments[_key65]; - } - - return (0, _builder.default).apply(void 0, ["ImportNamespaceSpecifier"].concat(args)); -} - -function ImportSpecifier() { - for (var _len66 = arguments.length, args = new Array(_len66), _key66 = 0; _key66 < _len66; _key66++) { - args[_key66] = arguments[_key66]; - } - - return (0, _builder.default).apply(void 0, ["ImportSpecifier"].concat(args)); -} - -function MetaProperty() { - for (var _len67 = arguments.length, args = new Array(_len67), _key67 = 0; _key67 < _len67; _key67++) { - args[_key67] = arguments[_key67]; - } - - return (0, _builder.default).apply(void 0, ["MetaProperty"].concat(args)); -} - -function ClassMethod() { - for (var _len68 = arguments.length, args = new Array(_len68), _key68 = 0; _key68 < _len68; _key68++) { - args[_key68] = arguments[_key68]; - } - - return (0, _builder.default).apply(void 0, ["ClassMethod"].concat(args)); -} - -function ObjectPattern() { - for (var _len69 = arguments.length, args = new Array(_len69), _key69 = 0; _key69 < _len69; _key69++) { - args[_key69] = arguments[_key69]; - } - - return (0, _builder.default).apply(void 0, ["ObjectPattern"].concat(args)); -} - -function SpreadElement() { - for (var _len70 = arguments.length, args = new Array(_len70), _key70 = 0; _key70 < _len70; _key70++) { - args[_key70] = arguments[_key70]; - } - - return (0, _builder.default).apply(void 0, ["SpreadElement"].concat(args)); -} - -function Super() { - for (var _len71 = arguments.length, args = new Array(_len71), _key71 = 0; _key71 < _len71; _key71++) { - args[_key71] = arguments[_key71]; - } - - return (0, _builder.default).apply(void 0, ["Super"].concat(args)); -} - -function TaggedTemplateExpression() { - for (var _len72 = arguments.length, args = new Array(_len72), _key72 = 0; _key72 < _len72; _key72++) { - args[_key72] = arguments[_key72]; - } - - return (0, _builder.default).apply(void 0, ["TaggedTemplateExpression"].concat(args)); -} - -function TemplateElement() { - for (var _len73 = arguments.length, args = new Array(_len73), _key73 = 0; _key73 < _len73; _key73++) { - args[_key73] = arguments[_key73]; - } - - return (0, _builder.default).apply(void 0, ["TemplateElement"].concat(args)); -} - -function TemplateLiteral() { - for (var _len74 = arguments.length, args = new Array(_len74), _key74 = 0; _key74 < _len74; _key74++) { - args[_key74] = arguments[_key74]; - } - - return (0, _builder.default).apply(void 0, ["TemplateLiteral"].concat(args)); -} - -function YieldExpression() { - for (var _len75 = arguments.length, args = new Array(_len75), _key75 = 0; _key75 < _len75; _key75++) { - args[_key75] = arguments[_key75]; - } - - return (0, _builder.default).apply(void 0, ["YieldExpression"].concat(args)); -} - -function AnyTypeAnnotation() { - for (var _len76 = arguments.length, args = new Array(_len76), _key76 = 0; _key76 < _len76; _key76++) { - args[_key76] = arguments[_key76]; - } - - return (0, _builder.default).apply(void 0, ["AnyTypeAnnotation"].concat(args)); -} - -function ArrayTypeAnnotation() { - for (var _len77 = arguments.length, args = new Array(_len77), _key77 = 0; _key77 < _len77; _key77++) { - args[_key77] = arguments[_key77]; - } - - return (0, _builder.default).apply(void 0, ["ArrayTypeAnnotation"].concat(args)); -} - -function BooleanTypeAnnotation() { - for (var _len78 = arguments.length, args = new Array(_len78), _key78 = 0; _key78 < _len78; _key78++) { - args[_key78] = arguments[_key78]; - } - - return (0, _builder.default).apply(void 0, ["BooleanTypeAnnotation"].concat(args)); -} - -function BooleanLiteralTypeAnnotation() { - for (var _len79 = arguments.length, args = new Array(_len79), _key79 = 0; _key79 < _len79; _key79++) { - args[_key79] = arguments[_key79]; - } - - return (0, _builder.default).apply(void 0, ["BooleanLiteralTypeAnnotation"].concat(args)); -} - -function NullLiteralTypeAnnotation() { - for (var _len80 = arguments.length, args = new Array(_len80), _key80 = 0; _key80 < _len80; _key80++) { - args[_key80] = arguments[_key80]; - } - - return (0, _builder.default).apply(void 0, ["NullLiteralTypeAnnotation"].concat(args)); -} - -function ClassImplements() { - for (var _len81 = arguments.length, args = new Array(_len81), _key81 = 0; _key81 < _len81; _key81++) { - args[_key81] = arguments[_key81]; - } - - return (0, _builder.default).apply(void 0, ["ClassImplements"].concat(args)); -} - -function DeclareClass() { - for (var _len82 = arguments.length, args = new Array(_len82), _key82 = 0; _key82 < _len82; _key82++) { - args[_key82] = arguments[_key82]; - } - - return (0, _builder.default).apply(void 0, ["DeclareClass"].concat(args)); -} - -function DeclareFunction() { - for (var _len83 = arguments.length, args = new Array(_len83), _key83 = 0; _key83 < _len83; _key83++) { - args[_key83] = arguments[_key83]; - } - - return (0, _builder.default).apply(void 0, ["DeclareFunction"].concat(args)); -} - -function DeclareInterface() { - for (var _len84 = arguments.length, args = new Array(_len84), _key84 = 0; _key84 < _len84; _key84++) { - args[_key84] = arguments[_key84]; - } - - return (0, _builder.default).apply(void 0, ["DeclareInterface"].concat(args)); -} - -function DeclareModule() { - for (var _len85 = arguments.length, args = new Array(_len85), _key85 = 0; _key85 < _len85; _key85++) { - args[_key85] = arguments[_key85]; - } - - return (0, _builder.default).apply(void 0, ["DeclareModule"].concat(args)); -} - -function DeclareModuleExports() { - for (var _len86 = arguments.length, args = new Array(_len86), _key86 = 0; _key86 < _len86; _key86++) { - args[_key86] = arguments[_key86]; - } - - return (0, _builder.default).apply(void 0, ["DeclareModuleExports"].concat(args)); -} - -function DeclareTypeAlias() { - for (var _len87 = arguments.length, args = new Array(_len87), _key87 = 0; _key87 < _len87; _key87++) { - args[_key87] = arguments[_key87]; - } - - return (0, _builder.default).apply(void 0, ["DeclareTypeAlias"].concat(args)); -} - -function DeclareOpaqueType() { - for (var _len88 = arguments.length, args = new Array(_len88), _key88 = 0; _key88 < _len88; _key88++) { - args[_key88] = arguments[_key88]; - } - - return (0, _builder.default).apply(void 0, ["DeclareOpaqueType"].concat(args)); -} - -function DeclareVariable() { - for (var _len89 = arguments.length, args = new Array(_len89), _key89 = 0; _key89 < _len89; _key89++) { - args[_key89] = arguments[_key89]; - } - - return (0, _builder.default).apply(void 0, ["DeclareVariable"].concat(args)); -} - -function DeclareExportDeclaration() { - for (var _len90 = arguments.length, args = new Array(_len90), _key90 = 0; _key90 < _len90; _key90++) { - args[_key90] = arguments[_key90]; - } - - return (0, _builder.default).apply(void 0, ["DeclareExportDeclaration"].concat(args)); -} - -function DeclareExportAllDeclaration() { - for (var _len91 = arguments.length, args = new Array(_len91), _key91 = 0; _key91 < _len91; _key91++) { - args[_key91] = arguments[_key91]; - } - - return (0, _builder.default).apply(void 0, ["DeclareExportAllDeclaration"].concat(args)); -} - -function DeclaredPredicate() { - for (var _len92 = arguments.length, args = new Array(_len92), _key92 = 0; _key92 < _len92; _key92++) { - args[_key92] = arguments[_key92]; - } - - return (0, _builder.default).apply(void 0, ["DeclaredPredicate"].concat(args)); -} - -function ExistsTypeAnnotation() { - for (var _len93 = arguments.length, args = new Array(_len93), _key93 = 0; _key93 < _len93; _key93++) { - args[_key93] = arguments[_key93]; - } - - return (0, _builder.default).apply(void 0, ["ExistsTypeAnnotation"].concat(args)); -} - -function FunctionTypeAnnotation() { - for (var _len94 = arguments.length, args = new Array(_len94), _key94 = 0; _key94 < _len94; _key94++) { - args[_key94] = arguments[_key94]; - } - - return (0, _builder.default).apply(void 0, ["FunctionTypeAnnotation"].concat(args)); -} - -function FunctionTypeParam() { - for (var _len95 = arguments.length, args = new Array(_len95), _key95 = 0; _key95 < _len95; _key95++) { - args[_key95] = arguments[_key95]; - } - - return (0, _builder.default).apply(void 0, ["FunctionTypeParam"].concat(args)); -} - -function GenericTypeAnnotation() { - for (var _len96 = arguments.length, args = new Array(_len96), _key96 = 0; _key96 < _len96; _key96++) { - args[_key96] = arguments[_key96]; - } - - return (0, _builder.default).apply(void 0, ["GenericTypeAnnotation"].concat(args)); -} - -function InferredPredicate() { - for (var _len97 = arguments.length, args = new Array(_len97), _key97 = 0; _key97 < _len97; _key97++) { - args[_key97] = arguments[_key97]; - } - - return (0, _builder.default).apply(void 0, ["InferredPredicate"].concat(args)); -} - -function InterfaceExtends() { - for (var _len98 = arguments.length, args = new Array(_len98), _key98 = 0; _key98 < _len98; _key98++) { - args[_key98] = arguments[_key98]; - } - - return (0, _builder.default).apply(void 0, ["InterfaceExtends"].concat(args)); -} - -function InterfaceDeclaration() { - for (var _len99 = arguments.length, args = new Array(_len99), _key99 = 0; _key99 < _len99; _key99++) { - args[_key99] = arguments[_key99]; - } - - return (0, _builder.default).apply(void 0, ["InterfaceDeclaration"].concat(args)); -} - -function InterfaceTypeAnnotation() { - for (var _len100 = arguments.length, args = new Array(_len100), _key100 = 0; _key100 < _len100; _key100++) { - args[_key100] = arguments[_key100]; - } - - return (0, _builder.default).apply(void 0, ["InterfaceTypeAnnotation"].concat(args)); -} - -function IntersectionTypeAnnotation() { - for (var _len101 = arguments.length, args = new Array(_len101), _key101 = 0; _key101 < _len101; _key101++) { - args[_key101] = arguments[_key101]; - } - - return (0, _builder.default).apply(void 0, ["IntersectionTypeAnnotation"].concat(args)); -} - -function MixedTypeAnnotation() { - for (var _len102 = arguments.length, args = new Array(_len102), _key102 = 0; _key102 < _len102; _key102++) { - args[_key102] = arguments[_key102]; - } - - return (0, _builder.default).apply(void 0, ["MixedTypeAnnotation"].concat(args)); -} - -function EmptyTypeAnnotation() { - for (var _len103 = arguments.length, args = new Array(_len103), _key103 = 0; _key103 < _len103; _key103++) { - args[_key103] = arguments[_key103]; - } - - return (0, _builder.default).apply(void 0, ["EmptyTypeAnnotation"].concat(args)); -} - -function NullableTypeAnnotation() { - for (var _len104 = arguments.length, args = new Array(_len104), _key104 = 0; _key104 < _len104; _key104++) { - args[_key104] = arguments[_key104]; - } - - return (0, _builder.default).apply(void 0, ["NullableTypeAnnotation"].concat(args)); -} - -function NumberLiteralTypeAnnotation() { - for (var _len105 = arguments.length, args = new Array(_len105), _key105 = 0; _key105 < _len105; _key105++) { - args[_key105] = arguments[_key105]; - } - - return (0, _builder.default).apply(void 0, ["NumberLiteralTypeAnnotation"].concat(args)); -} - -function NumberTypeAnnotation() { - for (var _len106 = arguments.length, args = new Array(_len106), _key106 = 0; _key106 < _len106; _key106++) { - args[_key106] = arguments[_key106]; - } - - return (0, _builder.default).apply(void 0, ["NumberTypeAnnotation"].concat(args)); -} - -function ObjectTypeAnnotation() { - for (var _len107 = arguments.length, args = new Array(_len107), _key107 = 0; _key107 < _len107; _key107++) { - args[_key107] = arguments[_key107]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeAnnotation"].concat(args)); -} - -function ObjectTypeInternalSlot() { - for (var _len108 = arguments.length, args = new Array(_len108), _key108 = 0; _key108 < _len108; _key108++) { - args[_key108] = arguments[_key108]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeInternalSlot"].concat(args)); -} - -function ObjectTypeCallProperty() { - for (var _len109 = arguments.length, args = new Array(_len109), _key109 = 0; _key109 < _len109; _key109++) { - args[_key109] = arguments[_key109]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeCallProperty"].concat(args)); -} - -function ObjectTypeIndexer() { - for (var _len110 = arguments.length, args = new Array(_len110), _key110 = 0; _key110 < _len110; _key110++) { - args[_key110] = arguments[_key110]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeIndexer"].concat(args)); -} - -function ObjectTypeProperty() { - for (var _len111 = arguments.length, args = new Array(_len111), _key111 = 0; _key111 < _len111; _key111++) { - args[_key111] = arguments[_key111]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeProperty"].concat(args)); -} - -function ObjectTypeSpreadProperty() { - for (var _len112 = arguments.length, args = new Array(_len112), _key112 = 0; _key112 < _len112; _key112++) { - args[_key112] = arguments[_key112]; - } - - return (0, _builder.default).apply(void 0, ["ObjectTypeSpreadProperty"].concat(args)); -} - -function OpaqueType() { - for (var _len113 = arguments.length, args = new Array(_len113), _key113 = 0; _key113 < _len113; _key113++) { - args[_key113] = arguments[_key113]; - } - - return (0, _builder.default).apply(void 0, ["OpaqueType"].concat(args)); -} - -function QualifiedTypeIdentifier() { - for (var _len114 = arguments.length, args = new Array(_len114), _key114 = 0; _key114 < _len114; _key114++) { - args[_key114] = arguments[_key114]; - } - - return (0, _builder.default).apply(void 0, ["QualifiedTypeIdentifier"].concat(args)); -} - -function StringLiteralTypeAnnotation() { - for (var _len115 = arguments.length, args = new Array(_len115), _key115 = 0; _key115 < _len115; _key115++) { - args[_key115] = arguments[_key115]; - } - - return (0, _builder.default).apply(void 0, ["StringLiteralTypeAnnotation"].concat(args)); -} - -function StringTypeAnnotation() { - for (var _len116 = arguments.length, args = new Array(_len116), _key116 = 0; _key116 < _len116; _key116++) { - args[_key116] = arguments[_key116]; - } - - return (0, _builder.default).apply(void 0, ["StringTypeAnnotation"].concat(args)); -} - -function ThisTypeAnnotation() { - for (var _len117 = arguments.length, args = new Array(_len117), _key117 = 0; _key117 < _len117; _key117++) { - args[_key117] = arguments[_key117]; - } - - return (0, _builder.default).apply(void 0, ["ThisTypeAnnotation"].concat(args)); -} - -function TupleTypeAnnotation() { - for (var _len118 = arguments.length, args = new Array(_len118), _key118 = 0; _key118 < _len118; _key118++) { - args[_key118] = arguments[_key118]; - } - - return (0, _builder.default).apply(void 0, ["TupleTypeAnnotation"].concat(args)); -} - -function TypeofTypeAnnotation() { - for (var _len119 = arguments.length, args = new Array(_len119), _key119 = 0; _key119 < _len119; _key119++) { - args[_key119] = arguments[_key119]; - } - - return (0, _builder.default).apply(void 0, ["TypeofTypeAnnotation"].concat(args)); -} - -function TypeAlias() { - for (var _len120 = arguments.length, args = new Array(_len120), _key120 = 0; _key120 < _len120; _key120++) { - args[_key120] = arguments[_key120]; - } - - return (0, _builder.default).apply(void 0, ["TypeAlias"].concat(args)); -} - -function TypeAnnotation() { - for (var _len121 = arguments.length, args = new Array(_len121), _key121 = 0; _key121 < _len121; _key121++) { - args[_key121] = arguments[_key121]; - } - - return (0, _builder.default).apply(void 0, ["TypeAnnotation"].concat(args)); -} - -function TypeCastExpression() { - for (var _len122 = arguments.length, args = new Array(_len122), _key122 = 0; _key122 < _len122; _key122++) { - args[_key122] = arguments[_key122]; - } - - return (0, _builder.default).apply(void 0, ["TypeCastExpression"].concat(args)); -} - -function TypeParameter() { - for (var _len123 = arguments.length, args = new Array(_len123), _key123 = 0; _key123 < _len123; _key123++) { - args[_key123] = arguments[_key123]; - } - - return (0, _builder.default).apply(void 0, ["TypeParameter"].concat(args)); -} - -function TypeParameterDeclaration() { - for (var _len124 = arguments.length, args = new Array(_len124), _key124 = 0; _key124 < _len124; _key124++) { - args[_key124] = arguments[_key124]; - } - - return (0, _builder.default).apply(void 0, ["TypeParameterDeclaration"].concat(args)); -} - -function TypeParameterInstantiation() { - for (var _len125 = arguments.length, args = new Array(_len125), _key125 = 0; _key125 < _len125; _key125++) { - args[_key125] = arguments[_key125]; - } - - return (0, _builder.default).apply(void 0, ["TypeParameterInstantiation"].concat(args)); -} - -function UnionTypeAnnotation() { - for (var _len126 = arguments.length, args = new Array(_len126), _key126 = 0; _key126 < _len126; _key126++) { - args[_key126] = arguments[_key126]; - } - - return (0, _builder.default).apply(void 0, ["UnionTypeAnnotation"].concat(args)); -} - -function Variance() { - for (var _len127 = arguments.length, args = new Array(_len127), _key127 = 0; _key127 < _len127; _key127++) { - args[_key127] = arguments[_key127]; - } - - return (0, _builder.default).apply(void 0, ["Variance"].concat(args)); -} - -function VoidTypeAnnotation() { - for (var _len128 = arguments.length, args = new Array(_len128), _key128 = 0; _key128 < _len128; _key128++) { - args[_key128] = arguments[_key128]; - } - - return (0, _builder.default).apply(void 0, ["VoidTypeAnnotation"].concat(args)); -} - -function EnumDeclaration() { - for (var _len129 = arguments.length, args = new Array(_len129), _key129 = 0; _key129 < _len129; _key129++) { - args[_key129] = arguments[_key129]; - } - - return (0, _builder.default).apply(void 0, ["EnumDeclaration"].concat(args)); -} - -function EnumBooleanBody() { - for (var _len130 = arguments.length, args = new Array(_len130), _key130 = 0; _key130 < _len130; _key130++) { - args[_key130] = arguments[_key130]; - } - - return (0, _builder.default).apply(void 0, ["EnumBooleanBody"].concat(args)); -} - -function EnumNumberBody() { - for (var _len131 = arguments.length, args = new Array(_len131), _key131 = 0; _key131 < _len131; _key131++) { - args[_key131] = arguments[_key131]; - } - - return (0, _builder.default).apply(void 0, ["EnumNumberBody"].concat(args)); -} - -function EnumStringBody() { - for (var _len132 = arguments.length, args = new Array(_len132), _key132 = 0; _key132 < _len132; _key132++) { - args[_key132] = arguments[_key132]; - } - - return (0, _builder.default).apply(void 0, ["EnumStringBody"].concat(args)); -} - -function EnumSymbolBody() { - for (var _len133 = arguments.length, args = new Array(_len133), _key133 = 0; _key133 < _len133; _key133++) { - args[_key133] = arguments[_key133]; - } - - return (0, _builder.default).apply(void 0, ["EnumSymbolBody"].concat(args)); -} - -function EnumBooleanMember() { - for (var _len134 = arguments.length, args = new Array(_len134), _key134 = 0; _key134 < _len134; _key134++) { - args[_key134] = arguments[_key134]; - } - - return (0, _builder.default).apply(void 0, ["EnumBooleanMember"].concat(args)); -} - -function EnumNumberMember() { - for (var _len135 = arguments.length, args = new Array(_len135), _key135 = 0; _key135 < _len135; _key135++) { - args[_key135] = arguments[_key135]; - } - - return (0, _builder.default).apply(void 0, ["EnumNumberMember"].concat(args)); -} - -function EnumStringMember() { - for (var _len136 = arguments.length, args = new Array(_len136), _key136 = 0; _key136 < _len136; _key136++) { - args[_key136] = arguments[_key136]; - } - - return (0, _builder.default).apply(void 0, ["EnumStringMember"].concat(args)); -} - -function EnumDefaultedMember() { - for (var _len137 = arguments.length, args = new Array(_len137), _key137 = 0; _key137 < _len137; _key137++) { - args[_key137] = arguments[_key137]; - } - - return (0, _builder.default).apply(void 0, ["EnumDefaultedMember"].concat(args)); -} - -function JSXAttribute() { - for (var _len138 = arguments.length, args = new Array(_len138), _key138 = 0; _key138 < _len138; _key138++) { - args[_key138] = arguments[_key138]; - } - - return (0, _builder.default).apply(void 0, ["JSXAttribute"].concat(args)); -} - -function JSXClosingElement() { - for (var _len139 = arguments.length, args = new Array(_len139), _key139 = 0; _key139 < _len139; _key139++) { - args[_key139] = arguments[_key139]; - } - - return (0, _builder.default).apply(void 0, ["JSXClosingElement"].concat(args)); -} - -function JSXElement() { - for (var _len140 = arguments.length, args = new Array(_len140), _key140 = 0; _key140 < _len140; _key140++) { - args[_key140] = arguments[_key140]; - } - - return (0, _builder.default).apply(void 0, ["JSXElement"].concat(args)); -} - -function JSXEmptyExpression() { - for (var _len141 = arguments.length, args = new Array(_len141), _key141 = 0; _key141 < _len141; _key141++) { - args[_key141] = arguments[_key141]; - } - - return (0, _builder.default).apply(void 0, ["JSXEmptyExpression"].concat(args)); -} - -function JSXExpressionContainer() { - for (var _len142 = arguments.length, args = new Array(_len142), _key142 = 0; _key142 < _len142; _key142++) { - args[_key142] = arguments[_key142]; - } - - return (0, _builder.default).apply(void 0, ["JSXExpressionContainer"].concat(args)); -} - -function JSXSpreadChild() { - for (var _len143 = arguments.length, args = new Array(_len143), _key143 = 0; _key143 < _len143; _key143++) { - args[_key143] = arguments[_key143]; - } - - return (0, _builder.default).apply(void 0, ["JSXSpreadChild"].concat(args)); -} - -function JSXIdentifier() { - for (var _len144 = arguments.length, args = new Array(_len144), _key144 = 0; _key144 < _len144; _key144++) { - args[_key144] = arguments[_key144]; - } - - return (0, _builder.default).apply(void 0, ["JSXIdentifier"].concat(args)); -} - -function JSXMemberExpression() { - for (var _len145 = arguments.length, args = new Array(_len145), _key145 = 0; _key145 < _len145; _key145++) { - args[_key145] = arguments[_key145]; - } - - return (0, _builder.default).apply(void 0, ["JSXMemberExpression"].concat(args)); -} - -function JSXNamespacedName() { - for (var _len146 = arguments.length, args = new Array(_len146), _key146 = 0; _key146 < _len146; _key146++) { - args[_key146] = arguments[_key146]; - } - - return (0, _builder.default).apply(void 0, ["JSXNamespacedName"].concat(args)); -} - -function JSXOpeningElement() { - for (var _len147 = arguments.length, args = new Array(_len147), _key147 = 0; _key147 < _len147; _key147++) { - args[_key147] = arguments[_key147]; - } - - return (0, _builder.default).apply(void 0, ["JSXOpeningElement"].concat(args)); -} - -function JSXSpreadAttribute() { - for (var _len148 = arguments.length, args = new Array(_len148), _key148 = 0; _key148 < _len148; _key148++) { - args[_key148] = arguments[_key148]; - } - - return (0, _builder.default).apply(void 0, ["JSXSpreadAttribute"].concat(args)); -} - -function JSXText() { - for (var _len149 = arguments.length, args = new Array(_len149), _key149 = 0; _key149 < _len149; _key149++) { - args[_key149] = arguments[_key149]; - } - - return (0, _builder.default).apply(void 0, ["JSXText"].concat(args)); -} - -function JSXFragment() { - for (var _len150 = arguments.length, args = new Array(_len150), _key150 = 0; _key150 < _len150; _key150++) { - args[_key150] = arguments[_key150]; - } - - return (0, _builder.default).apply(void 0, ["JSXFragment"].concat(args)); -} - -function JSXOpeningFragment() { - for (var _len151 = arguments.length, args = new Array(_len151), _key151 = 0; _key151 < _len151; _key151++) { - args[_key151] = arguments[_key151]; - } - - return (0, _builder.default).apply(void 0, ["JSXOpeningFragment"].concat(args)); -} - -function JSXClosingFragment() { - for (var _len152 = arguments.length, args = new Array(_len152), _key152 = 0; _key152 < _len152; _key152++) { - args[_key152] = arguments[_key152]; - } - - return (0, _builder.default).apply(void 0, ["JSXClosingFragment"].concat(args)); -} - -function Noop() { - for (var _len153 = arguments.length, args = new Array(_len153), _key153 = 0; _key153 < _len153; _key153++) { - args[_key153] = arguments[_key153]; - } - - return (0, _builder.default).apply(void 0, ["Noop"].concat(args)); -} - -function Placeholder() { - for (var _len154 = arguments.length, args = new Array(_len154), _key154 = 0; _key154 < _len154; _key154++) { - args[_key154] = arguments[_key154]; - } - - return (0, _builder.default).apply(void 0, ["Placeholder"].concat(args)); -} - -function V8IntrinsicIdentifier() { - for (var _len155 = arguments.length, args = new Array(_len155), _key155 = 0; _key155 < _len155; _key155++) { - args[_key155] = arguments[_key155]; - } - - return (0, _builder.default).apply(void 0, ["V8IntrinsicIdentifier"].concat(args)); -} - -function ArgumentPlaceholder() { - for (var _len156 = arguments.length, args = new Array(_len156), _key156 = 0; _key156 < _len156; _key156++) { - args[_key156] = arguments[_key156]; - } - - return (0, _builder.default).apply(void 0, ["ArgumentPlaceholder"].concat(args)); -} - -function AwaitExpression() { - for (var _len157 = arguments.length, args = new Array(_len157), _key157 = 0; _key157 < _len157; _key157++) { - args[_key157] = arguments[_key157]; - } - - return (0, _builder.default).apply(void 0, ["AwaitExpression"].concat(args)); -} - -function BindExpression() { - for (var _len158 = arguments.length, args = new Array(_len158), _key158 = 0; _key158 < _len158; _key158++) { - args[_key158] = arguments[_key158]; - } - - return (0, _builder.default).apply(void 0, ["BindExpression"].concat(args)); -} - -function ClassProperty() { - for (var _len159 = arguments.length, args = new Array(_len159), _key159 = 0; _key159 < _len159; _key159++) { - args[_key159] = arguments[_key159]; - } - - return (0, _builder.default).apply(void 0, ["ClassProperty"].concat(args)); -} - -function OptionalMemberExpression() { - for (var _len160 = arguments.length, args = new Array(_len160), _key160 = 0; _key160 < _len160; _key160++) { - args[_key160] = arguments[_key160]; - } - - return (0, _builder.default).apply(void 0, ["OptionalMemberExpression"].concat(args)); -} - -function PipelineTopicExpression() { - for (var _len161 = arguments.length, args = new Array(_len161), _key161 = 0; _key161 < _len161; _key161++) { - args[_key161] = arguments[_key161]; - } - - return (0, _builder.default).apply(void 0, ["PipelineTopicExpression"].concat(args)); -} - -function PipelineBareFunction() { - for (var _len162 = arguments.length, args = new Array(_len162), _key162 = 0; _key162 < _len162; _key162++) { - args[_key162] = arguments[_key162]; - } - - return (0, _builder.default).apply(void 0, ["PipelineBareFunction"].concat(args)); -} - -function PipelinePrimaryTopicReference() { - for (var _len163 = arguments.length, args = new Array(_len163), _key163 = 0; _key163 < _len163; _key163++) { - args[_key163] = arguments[_key163]; - } - - return (0, _builder.default).apply(void 0, ["PipelinePrimaryTopicReference"].concat(args)); -} - -function OptionalCallExpression() { - for (var _len164 = arguments.length, args = new Array(_len164), _key164 = 0; _key164 < _len164; _key164++) { - args[_key164] = arguments[_key164]; - } - - return (0, _builder.default).apply(void 0, ["OptionalCallExpression"].concat(args)); -} - -function ClassPrivateProperty() { - for (var _len165 = arguments.length, args = new Array(_len165), _key165 = 0; _key165 < _len165; _key165++) { - args[_key165] = arguments[_key165]; - } - - return (0, _builder.default).apply(void 0, ["ClassPrivateProperty"].concat(args)); -} - -function ClassPrivateMethod() { - for (var _len166 = arguments.length, args = new Array(_len166), _key166 = 0; _key166 < _len166; _key166++) { - args[_key166] = arguments[_key166]; - } - - return (0, _builder.default).apply(void 0, ["ClassPrivateMethod"].concat(args)); -} - -function Import() { - for (var _len167 = arguments.length, args = new Array(_len167), _key167 = 0; _key167 < _len167; _key167++) { - args[_key167] = arguments[_key167]; - } - - return (0, _builder.default).apply(void 0, ["Import"].concat(args)); -} - -function Decorator() { - for (var _len168 = arguments.length, args = new Array(_len168), _key168 = 0; _key168 < _len168; _key168++) { - args[_key168] = arguments[_key168]; - } - - return (0, _builder.default).apply(void 0, ["Decorator"].concat(args)); -} - -function DoExpression() { - for (var _len169 = arguments.length, args = new Array(_len169), _key169 = 0; _key169 < _len169; _key169++) { - args[_key169] = arguments[_key169]; - } - - return (0, _builder.default).apply(void 0, ["DoExpression"].concat(args)); -} - -function ExportDefaultSpecifier() { - for (var _len170 = arguments.length, args = new Array(_len170), _key170 = 0; _key170 < _len170; _key170++) { - args[_key170] = arguments[_key170]; - } - - return (0, _builder.default).apply(void 0, ["ExportDefaultSpecifier"].concat(args)); -} - -function ExportNamespaceSpecifier() { - for (var _len171 = arguments.length, args = new Array(_len171), _key171 = 0; _key171 < _len171; _key171++) { - args[_key171] = arguments[_key171]; - } - - return (0, _builder.default).apply(void 0, ["ExportNamespaceSpecifier"].concat(args)); -} - -function PrivateName() { - for (var _len172 = arguments.length, args = new Array(_len172), _key172 = 0; _key172 < _len172; _key172++) { - args[_key172] = arguments[_key172]; - } - - return (0, _builder.default).apply(void 0, ["PrivateName"].concat(args)); -} - -function BigIntLiteral() { - for (var _len173 = arguments.length, args = new Array(_len173), _key173 = 0; _key173 < _len173; _key173++) { - args[_key173] = arguments[_key173]; - } - - return (0, _builder.default).apply(void 0, ["BigIntLiteral"].concat(args)); -} - -function TSParameterProperty() { - for (var _len174 = arguments.length, args = new Array(_len174), _key174 = 0; _key174 < _len174; _key174++) { - args[_key174] = arguments[_key174]; - } - - return (0, _builder.default).apply(void 0, ["TSParameterProperty"].concat(args)); -} - -function TSDeclareFunction() { - for (var _len175 = arguments.length, args = new Array(_len175), _key175 = 0; _key175 < _len175; _key175++) { - args[_key175] = arguments[_key175]; - } - - return (0, _builder.default).apply(void 0, ["TSDeclareFunction"].concat(args)); -} - -function TSDeclareMethod() { - for (var _len176 = arguments.length, args = new Array(_len176), _key176 = 0; _key176 < _len176; _key176++) { - args[_key176] = arguments[_key176]; - } - - return (0, _builder.default).apply(void 0, ["TSDeclareMethod"].concat(args)); -} - -function TSQualifiedName() { - for (var _len177 = arguments.length, args = new Array(_len177), _key177 = 0; _key177 < _len177; _key177++) { - args[_key177] = arguments[_key177]; - } - - return (0, _builder.default).apply(void 0, ["TSQualifiedName"].concat(args)); -} - -function TSCallSignatureDeclaration() { - for (var _len178 = arguments.length, args = new Array(_len178), _key178 = 0; _key178 < _len178; _key178++) { - args[_key178] = arguments[_key178]; - } - - return (0, _builder.default).apply(void 0, ["TSCallSignatureDeclaration"].concat(args)); -} - -function TSConstructSignatureDeclaration() { - for (var _len179 = arguments.length, args = new Array(_len179), _key179 = 0; _key179 < _len179; _key179++) { - args[_key179] = arguments[_key179]; - } - - return (0, _builder.default).apply(void 0, ["TSConstructSignatureDeclaration"].concat(args)); -} - -function TSPropertySignature() { - for (var _len180 = arguments.length, args = new Array(_len180), _key180 = 0; _key180 < _len180; _key180++) { - args[_key180] = arguments[_key180]; - } - - return (0, _builder.default).apply(void 0, ["TSPropertySignature"].concat(args)); -} - -function TSMethodSignature() { - for (var _len181 = arguments.length, args = new Array(_len181), _key181 = 0; _key181 < _len181; _key181++) { - args[_key181] = arguments[_key181]; - } - - return (0, _builder.default).apply(void 0, ["TSMethodSignature"].concat(args)); -} - -function TSIndexSignature() { - for (var _len182 = arguments.length, args = new Array(_len182), _key182 = 0; _key182 < _len182; _key182++) { - args[_key182] = arguments[_key182]; - } - - return (0, _builder.default).apply(void 0, ["TSIndexSignature"].concat(args)); -} - -function TSAnyKeyword() { - for (var _len183 = arguments.length, args = new Array(_len183), _key183 = 0; _key183 < _len183; _key183++) { - args[_key183] = arguments[_key183]; - } - - return (0, _builder.default).apply(void 0, ["TSAnyKeyword"].concat(args)); -} - -function TSBooleanKeyword() { - for (var _len184 = arguments.length, args = new Array(_len184), _key184 = 0; _key184 < _len184; _key184++) { - args[_key184] = arguments[_key184]; - } - - return (0, _builder.default).apply(void 0, ["TSBooleanKeyword"].concat(args)); -} - -function TSBigIntKeyword() { - for (var _len185 = arguments.length, args = new Array(_len185), _key185 = 0; _key185 < _len185; _key185++) { - args[_key185] = arguments[_key185]; - } - - return (0, _builder.default).apply(void 0, ["TSBigIntKeyword"].concat(args)); -} - -function TSNeverKeyword() { - for (var _len186 = arguments.length, args = new Array(_len186), _key186 = 0; _key186 < _len186; _key186++) { - args[_key186] = arguments[_key186]; - } - - return (0, _builder.default).apply(void 0, ["TSNeverKeyword"].concat(args)); -} - -function TSNullKeyword() { - for (var _len187 = arguments.length, args = new Array(_len187), _key187 = 0; _key187 < _len187; _key187++) { - args[_key187] = arguments[_key187]; - } - - return (0, _builder.default).apply(void 0, ["TSNullKeyword"].concat(args)); -} - -function TSNumberKeyword() { - for (var _len188 = arguments.length, args = new Array(_len188), _key188 = 0; _key188 < _len188; _key188++) { - args[_key188] = arguments[_key188]; - } - - return (0, _builder.default).apply(void 0, ["TSNumberKeyword"].concat(args)); -} - -function TSObjectKeyword() { - for (var _len189 = arguments.length, args = new Array(_len189), _key189 = 0; _key189 < _len189; _key189++) { - args[_key189] = arguments[_key189]; - } - - return (0, _builder.default).apply(void 0, ["TSObjectKeyword"].concat(args)); -} - -function TSStringKeyword() { - for (var _len190 = arguments.length, args = new Array(_len190), _key190 = 0; _key190 < _len190; _key190++) { - args[_key190] = arguments[_key190]; - } - - return (0, _builder.default).apply(void 0, ["TSStringKeyword"].concat(args)); -} - -function TSSymbolKeyword() { - for (var _len191 = arguments.length, args = new Array(_len191), _key191 = 0; _key191 < _len191; _key191++) { - args[_key191] = arguments[_key191]; - } - - return (0, _builder.default).apply(void 0, ["TSSymbolKeyword"].concat(args)); -} - -function TSUndefinedKeyword() { - for (var _len192 = arguments.length, args = new Array(_len192), _key192 = 0; _key192 < _len192; _key192++) { - args[_key192] = arguments[_key192]; - } - - return (0, _builder.default).apply(void 0, ["TSUndefinedKeyword"].concat(args)); -} - -function TSUnknownKeyword() { - for (var _len193 = arguments.length, args = new Array(_len193), _key193 = 0; _key193 < _len193; _key193++) { - args[_key193] = arguments[_key193]; - } - - return (0, _builder.default).apply(void 0, ["TSUnknownKeyword"].concat(args)); -} - -function TSVoidKeyword() { - for (var _len194 = arguments.length, args = new Array(_len194), _key194 = 0; _key194 < _len194; _key194++) { - args[_key194] = arguments[_key194]; - } - - return (0, _builder.default).apply(void 0, ["TSVoidKeyword"].concat(args)); -} - -function TSThisType() { - for (var _len195 = arguments.length, args = new Array(_len195), _key195 = 0; _key195 < _len195; _key195++) { - args[_key195] = arguments[_key195]; - } - - return (0, _builder.default).apply(void 0, ["TSThisType"].concat(args)); -} - -function TSFunctionType() { - for (var _len196 = arguments.length, args = new Array(_len196), _key196 = 0; _key196 < _len196; _key196++) { - args[_key196] = arguments[_key196]; - } - - return (0, _builder.default).apply(void 0, ["TSFunctionType"].concat(args)); -} - -function TSConstructorType() { - for (var _len197 = arguments.length, args = new Array(_len197), _key197 = 0; _key197 < _len197; _key197++) { - args[_key197] = arguments[_key197]; - } - - return (0, _builder.default).apply(void 0, ["TSConstructorType"].concat(args)); -} - -function TSTypeReference() { - for (var _len198 = arguments.length, args = new Array(_len198), _key198 = 0; _key198 < _len198; _key198++) { - args[_key198] = arguments[_key198]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeReference"].concat(args)); -} - -function TSTypePredicate() { - for (var _len199 = arguments.length, args = new Array(_len199), _key199 = 0; _key199 < _len199; _key199++) { - args[_key199] = arguments[_key199]; - } - - return (0, _builder.default).apply(void 0, ["TSTypePredicate"].concat(args)); -} - -function TSTypeQuery() { - for (var _len200 = arguments.length, args = new Array(_len200), _key200 = 0; _key200 < _len200; _key200++) { - args[_key200] = arguments[_key200]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeQuery"].concat(args)); -} - -function TSTypeLiteral() { - for (var _len201 = arguments.length, args = new Array(_len201), _key201 = 0; _key201 < _len201; _key201++) { - args[_key201] = arguments[_key201]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeLiteral"].concat(args)); -} - -function TSArrayType() { - for (var _len202 = arguments.length, args = new Array(_len202), _key202 = 0; _key202 < _len202; _key202++) { - args[_key202] = arguments[_key202]; - } - - return (0, _builder.default).apply(void 0, ["TSArrayType"].concat(args)); -} - -function TSTupleType() { - for (var _len203 = arguments.length, args = new Array(_len203), _key203 = 0; _key203 < _len203; _key203++) { - args[_key203] = arguments[_key203]; - } - - return (0, _builder.default).apply(void 0, ["TSTupleType"].concat(args)); -} - -function TSOptionalType() { - for (var _len204 = arguments.length, args = new Array(_len204), _key204 = 0; _key204 < _len204; _key204++) { - args[_key204] = arguments[_key204]; - } - - return (0, _builder.default).apply(void 0, ["TSOptionalType"].concat(args)); -} - -function TSRestType() { - for (var _len205 = arguments.length, args = new Array(_len205), _key205 = 0; _key205 < _len205; _key205++) { - args[_key205] = arguments[_key205]; - } - - return (0, _builder.default).apply(void 0, ["TSRestType"].concat(args)); -} - -function TSUnionType() { - for (var _len206 = arguments.length, args = new Array(_len206), _key206 = 0; _key206 < _len206; _key206++) { - args[_key206] = arguments[_key206]; - } - - return (0, _builder.default).apply(void 0, ["TSUnionType"].concat(args)); -} - -function TSIntersectionType() { - for (var _len207 = arguments.length, args = new Array(_len207), _key207 = 0; _key207 < _len207; _key207++) { - args[_key207] = arguments[_key207]; - } - - return (0, _builder.default).apply(void 0, ["TSIntersectionType"].concat(args)); -} - -function TSConditionalType() { - for (var _len208 = arguments.length, args = new Array(_len208), _key208 = 0; _key208 < _len208; _key208++) { - args[_key208] = arguments[_key208]; - } - - return (0, _builder.default).apply(void 0, ["TSConditionalType"].concat(args)); -} - -function TSInferType() { - for (var _len209 = arguments.length, args = new Array(_len209), _key209 = 0; _key209 < _len209; _key209++) { - args[_key209] = arguments[_key209]; - } - - return (0, _builder.default).apply(void 0, ["TSInferType"].concat(args)); -} - -function TSParenthesizedType() { - for (var _len210 = arguments.length, args = new Array(_len210), _key210 = 0; _key210 < _len210; _key210++) { - args[_key210] = arguments[_key210]; - } - - return (0, _builder.default).apply(void 0, ["TSParenthesizedType"].concat(args)); -} - -function TSTypeOperator() { - for (var _len211 = arguments.length, args = new Array(_len211), _key211 = 0; _key211 < _len211; _key211++) { - args[_key211] = arguments[_key211]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeOperator"].concat(args)); -} - -function TSIndexedAccessType() { - for (var _len212 = arguments.length, args = new Array(_len212), _key212 = 0; _key212 < _len212; _key212++) { - args[_key212] = arguments[_key212]; - } - - return (0, _builder.default).apply(void 0, ["TSIndexedAccessType"].concat(args)); -} - -function TSMappedType() { - for (var _len213 = arguments.length, args = new Array(_len213), _key213 = 0; _key213 < _len213; _key213++) { - args[_key213] = arguments[_key213]; - } - - return (0, _builder.default).apply(void 0, ["TSMappedType"].concat(args)); -} - -function TSLiteralType() { - for (var _len214 = arguments.length, args = new Array(_len214), _key214 = 0; _key214 < _len214; _key214++) { - args[_key214] = arguments[_key214]; - } - - return (0, _builder.default).apply(void 0, ["TSLiteralType"].concat(args)); -} - -function TSExpressionWithTypeArguments() { - for (var _len215 = arguments.length, args = new Array(_len215), _key215 = 0; _key215 < _len215; _key215++) { - args[_key215] = arguments[_key215]; - } - - return (0, _builder.default).apply(void 0, ["TSExpressionWithTypeArguments"].concat(args)); -} - -function TSInterfaceDeclaration() { - for (var _len216 = arguments.length, args = new Array(_len216), _key216 = 0; _key216 < _len216; _key216++) { - args[_key216] = arguments[_key216]; - } - - return (0, _builder.default).apply(void 0, ["TSInterfaceDeclaration"].concat(args)); -} - -function TSInterfaceBody() { - for (var _len217 = arguments.length, args = new Array(_len217), _key217 = 0; _key217 < _len217; _key217++) { - args[_key217] = arguments[_key217]; - } - - return (0, _builder.default).apply(void 0, ["TSInterfaceBody"].concat(args)); -} - -function TSTypeAliasDeclaration() { - for (var _len218 = arguments.length, args = new Array(_len218), _key218 = 0; _key218 < _len218; _key218++) { - args[_key218] = arguments[_key218]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeAliasDeclaration"].concat(args)); -} - -function TSAsExpression() { - for (var _len219 = arguments.length, args = new Array(_len219), _key219 = 0; _key219 < _len219; _key219++) { - args[_key219] = arguments[_key219]; - } - - return (0, _builder.default).apply(void 0, ["TSAsExpression"].concat(args)); -} - -function TSTypeAssertion() { - for (var _len220 = arguments.length, args = new Array(_len220), _key220 = 0; _key220 < _len220; _key220++) { - args[_key220] = arguments[_key220]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeAssertion"].concat(args)); -} - -function TSEnumDeclaration() { - for (var _len221 = arguments.length, args = new Array(_len221), _key221 = 0; _key221 < _len221; _key221++) { - args[_key221] = arguments[_key221]; - } - - return (0, _builder.default).apply(void 0, ["TSEnumDeclaration"].concat(args)); -} - -function TSEnumMember() { - for (var _len222 = arguments.length, args = new Array(_len222), _key222 = 0; _key222 < _len222; _key222++) { - args[_key222] = arguments[_key222]; - } - - return (0, _builder.default).apply(void 0, ["TSEnumMember"].concat(args)); -} - -function TSModuleDeclaration() { - for (var _len223 = arguments.length, args = new Array(_len223), _key223 = 0; _key223 < _len223; _key223++) { - args[_key223] = arguments[_key223]; - } - - return (0, _builder.default).apply(void 0, ["TSModuleDeclaration"].concat(args)); -} - -function TSModuleBlock() { - for (var _len224 = arguments.length, args = new Array(_len224), _key224 = 0; _key224 < _len224; _key224++) { - args[_key224] = arguments[_key224]; - } - - return (0, _builder.default).apply(void 0, ["TSModuleBlock"].concat(args)); -} - -function TSImportType() { - for (var _len225 = arguments.length, args = new Array(_len225), _key225 = 0; _key225 < _len225; _key225++) { - args[_key225] = arguments[_key225]; - } - - return (0, _builder.default).apply(void 0, ["TSImportType"].concat(args)); -} - -function TSImportEqualsDeclaration() { - for (var _len226 = arguments.length, args = new Array(_len226), _key226 = 0; _key226 < _len226; _key226++) { - args[_key226] = arguments[_key226]; - } - - return (0, _builder.default).apply(void 0, ["TSImportEqualsDeclaration"].concat(args)); -} - -function TSExternalModuleReference() { - for (var _len227 = arguments.length, args = new Array(_len227), _key227 = 0; _key227 < _len227; _key227++) { - args[_key227] = arguments[_key227]; - } - - return (0, _builder.default).apply(void 0, ["TSExternalModuleReference"].concat(args)); -} - -function TSNonNullExpression() { - for (var _len228 = arguments.length, args = new Array(_len228), _key228 = 0; _key228 < _len228; _key228++) { - args[_key228] = arguments[_key228]; - } - - return (0, _builder.default).apply(void 0, ["TSNonNullExpression"].concat(args)); -} - -function TSExportAssignment() { - for (var _len229 = arguments.length, args = new Array(_len229), _key229 = 0; _key229 < _len229; _key229++) { - args[_key229] = arguments[_key229]; - } - - return (0, _builder.default).apply(void 0, ["TSExportAssignment"].concat(args)); -} - -function TSNamespaceExportDeclaration() { - for (var _len230 = arguments.length, args = new Array(_len230), _key230 = 0; _key230 < _len230; _key230++) { - args[_key230] = arguments[_key230]; - } - - return (0, _builder.default).apply(void 0, ["TSNamespaceExportDeclaration"].concat(args)); -} - -function TSTypeAnnotation() { - for (var _len231 = arguments.length, args = new Array(_len231), _key231 = 0; _key231 < _len231; _key231++) { - args[_key231] = arguments[_key231]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeAnnotation"].concat(args)); -} - -function TSTypeParameterInstantiation() { - for (var _len232 = arguments.length, args = new Array(_len232), _key232 = 0; _key232 < _len232; _key232++) { - args[_key232] = arguments[_key232]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeParameterInstantiation"].concat(args)); -} - -function TSTypeParameterDeclaration() { - for (var _len233 = arguments.length, args = new Array(_len233), _key233 = 0; _key233 < _len233; _key233++) { - args[_key233] = arguments[_key233]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeParameterDeclaration"].concat(args)); -} - -function TSTypeParameter() { - for (var _len234 = arguments.length, args = new Array(_len234), _key234 = 0; _key234 < _len234; _key234++) { - args[_key234] = arguments[_key234]; - } - - return (0, _builder.default).apply(void 0, ["TSTypeParameter"].concat(args)); -} - -function NumberLiteral() { - console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); - - for (var _len235 = arguments.length, args = new Array(_len235), _key235 = 0; _key235 < _len235; _key235++) { - args[_key235] = arguments[_key235]; - } - - return NumberLiteral.apply(void 0, ["NumberLiteral"].concat(args)); -} - -function RegexLiteral() { - console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); - - for (var _len236 = arguments.length, args = new Array(_len236), _key236 = 0; _key236 < _len236; _key236++) { - args[_key236] = arguments[_key236]; - } - - return RegexLiteral.apply(void 0, ["RegexLiteral"].concat(args)); -} - -function RestProperty() { - console.trace("The node type RestProperty has been renamed to RestElement"); - - for (var _len237 = arguments.length, args = new Array(_len237), _key237 = 0; _key237 < _len237; _key237++) { - args[_key237] = arguments[_key237]; - } - - return RestProperty.apply(void 0, ["RestProperty"].concat(args)); -} - -function SpreadProperty() { - console.trace("The node type SpreadProperty has been renamed to SpreadElement"); - - for (var _len238 = arguments.length, args = new Array(_len238), _key238 = 0; _key238 < _len238; _key238++) { - args[_key238] = arguments[_key238]; - } - - return SpreadProperty.apply(void 0, ["SpreadProperty"].concat(args)); -} - -},{"../builder":203}],207:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = buildChildren; - -var _generated = require("../../validators/generated"); - -var _cleanJSXElementLiteralChild = _interopRequireDefault(require("../../utils/react/cleanJSXElementLiteralChild")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function buildChildren(node) { - var elements = []; - - for (var i = 0; i < node.children.length; i++) { - var child = node.children[i]; - - if ((0, _generated.isJSXText)(child)) { - (0, _cleanJSXElementLiteralChild.default)(child, elements); - continue; - } - - if ((0, _generated.isJSXExpressionContainer)(child)) child = child.expression; - if ((0, _generated.isJSXEmptyExpression)(child)) continue; - elements.push(child); - } - - return elements; -} - -},{"../../utils/react/cleanJSXElementLiteralChild":254,"../../validators/generated":257}],208:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = clone; - -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function clone(node) { - return (0, _cloneNode.default)(node, false); -} - -},{"./cloneNode":210}],209:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cloneDeep; - -var _cloneNode = _interopRequireDefault(require("./cloneNode")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function cloneDeep(node) { - return (0, _cloneNode.default)(node); -} - -},{"./cloneNode":210}],210:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cloneNode; - -var _definitions = require("../definitions"); - -var has = Function.call.bind(Object.prototype.hasOwnProperty); - -function cloneIfNode(obj, deep) { - if (obj && typeof obj.type === "string" && obj.type !== "CommentLine" && obj.type !== "CommentBlock") { - return cloneNode(obj, deep); - } - - return obj; -} - -function cloneIfNodeOrArray(obj, deep) { - if (Array.isArray(obj)) { - return obj.map(function (node) { - return cloneIfNode(node, deep); - }); - } - - return cloneIfNode(obj, deep); -} - -function cloneNode(node) { - var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; - if (!node) return node; - var type = node.type; - var newNode = { - type: type - }; - - if (type === "Identifier") { - newNode.name = node.name; - - if (has(node, "optional") && typeof node.optional === "boolean") { - newNode.optional = node.optional; - } - - if (has(node, "typeAnnotation")) { - newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true) : node.typeAnnotation; - } - } else if (!has(_definitions.NODE_FIELDS, type)) { - throw new Error("Unknown node type: \"".concat(type, "\"")); - } else { - for (var _i = 0, _Object$keys = Object.keys(_definitions.NODE_FIELDS[type]); _i < _Object$keys.length; _i++) { - var field = _Object$keys[_i]; - - if (has(node, field)) { - newNode[field] = deep ? cloneIfNodeOrArray(node[field], true) : node[field]; - } - } - } - - if (has(node, "loc")) { - newNode.loc = node.loc; - } - - if (has(node, "leadingComments")) { - newNode.leadingComments = node.leadingComments; - } - - if (has(node, "innerComments")) { - newNode.innerComments = node.innerComments; - } - - if (has(node, "trailingComments")) { - newNode.trailingComments = node.trailingComments; - } - - if (has(node, "extra")) { - newNode.extra = Object.assign({}, node.extra); - } - - return newNode; -} - -},{"../definitions":236}],211:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cloneWithoutLoc; - -var _clone = _interopRequireDefault(require("./clone")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function cloneWithoutLoc(node) { - var newNode = (0, _clone.default)(node); - newNode.loc = null; - return newNode; -} - -},{"./clone":208}],212:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addComment; - -var _addComments = _interopRequireDefault(require("./addComments")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function addComment(node, type, content, line) { - return (0, _addComments.default)(node, type, [{ - type: line ? "CommentLine" : "CommentBlock", - value: content - }]); -} - -},{"./addComments":213}],213:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addComments; - -function addComments(node, type, comments) { - if (!comments || !node) return node; - var key = "".concat(type, "Comments"); - - if (node[key]) { - if (type === "leading") { - node[key] = comments.concat(node[key]); - } else { - node[key] = node[key].concat(comments); - } - } else { - node[key] = comments; - } - - return node; -} - -},{}],214:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inheritInnerComments; - -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inheritInnerComments(child, parent) { - (0, _inherit.default)("innerComments", child, parent); -} - -},{"../utils/inherit":253}],215:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inheritLeadingComments; - -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inheritLeadingComments(child, parent) { - (0, _inherit.default)("leadingComments", child, parent); -} - -},{"../utils/inherit":253}],216:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inheritTrailingComments; - -var _inherit = _interopRequireDefault(require("../utils/inherit")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inheritTrailingComments(child, parent) { - (0, _inherit.default)("trailingComments", child, parent); -} - -},{"../utils/inherit":253}],217:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inheritsComments; - -var _inheritTrailingComments = _interopRequireDefault(require("./inheritTrailingComments")); - -var _inheritLeadingComments = _interopRequireDefault(require("./inheritLeadingComments")); - -var _inheritInnerComments = _interopRequireDefault(require("./inheritInnerComments")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inheritsComments(child, parent) { - (0, _inheritTrailingComments.default)(child, parent); - (0, _inheritLeadingComments.default)(child, parent); - (0, _inheritInnerComments.default)(child, parent); - return child; -} - -},{"./inheritInnerComments":214,"./inheritLeadingComments":215,"./inheritTrailingComments":216}],218:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = removeComments; - -var _constants = require("../constants"); - -function removeComments(node) { - _constants.COMMENT_KEYS.forEach(function (key) { - node[key] = null; - }); - - return node; -} - -},{"../constants":220}],219:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.PRIVATE_TYPES = exports.JSX_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.FLOWTYPE_TYPES = exports.FLOW_TYPES = exports.MODULESPECIFIER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = exports.CLASS_TYPES = exports.PATTERN_TYPES = exports.UNARYLIKE_TYPES = exports.PROPERTY_TYPES = exports.OBJECTMEMBER_TYPES = exports.METHOD_TYPES = exports.USERWHITESPACABLE_TYPES = exports.IMMUTABLE_TYPES = exports.LITERAL_TYPES = exports.TSENTITYNAME_TYPES = exports.LVAL_TYPES = exports.PATTERNLIKE_TYPES = exports.DECLARATION_TYPES = exports.PUREISH_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FUNCTION_TYPES = exports.FORXSTATEMENT_TYPES = exports.FOR_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.WHILE_TYPES = exports.LOOP_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.SCOPABLE_TYPES = exports.BINARY_TYPES = exports.EXPRESSION_TYPES = void 0; - -var _definitions = require("../../definitions"); - -var EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"]; -exports.EXPRESSION_TYPES = EXPRESSION_TYPES; -var BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"]; -exports.BINARY_TYPES = BINARY_TYPES; -var SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"]; -exports.SCOPABLE_TYPES = SCOPABLE_TYPES; -var BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"]; -exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; -var BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"]; -exports.BLOCK_TYPES = BLOCK_TYPES; -var STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"]; -exports.STATEMENT_TYPES = STATEMENT_TYPES; -var TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"]; -exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; -var COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"]; -exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; -var CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"]; -exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; -var LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"]; -exports.LOOP_TYPES = LOOP_TYPES; -var WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"]; -exports.WHILE_TYPES = WHILE_TYPES; -var EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; -exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; -var FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"]; -exports.FOR_TYPES = FOR_TYPES; -var FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"]; -exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; -var FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"]; -exports.FUNCTION_TYPES = FUNCTION_TYPES; -var FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"]; -exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; -var PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"]; -exports.PUREISH_TYPES = PUREISH_TYPES; -var DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"]; -exports.DECLARATION_TYPES = DECLARATION_TYPES; -var PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"]; -exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; -var LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"]; -exports.LVAL_TYPES = LVAL_TYPES; -var TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"]; -exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; -var LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"]; -exports.LITERAL_TYPES = LITERAL_TYPES; -var IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"]; -exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; -var USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; -exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; -var METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"]; -exports.METHOD_TYPES = METHOD_TYPES; -var OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"]; -exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; -var PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"]; -exports.PROPERTY_TYPES = PROPERTY_TYPES; -var UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"]; -exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; -var PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"]; -exports.PATTERN_TYPES = PATTERN_TYPES; -var CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"]; -exports.CLASS_TYPES = CLASS_TYPES; -var MODULEDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleDeclaration"]; -exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; -var EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; -exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; -var MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; -exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; -var FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"]; -exports.FLOW_TYPES = FLOW_TYPES; -var FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"]; -exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; -var FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; -exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; -var FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; -exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; -var FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"]; -exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; -var ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"]; -exports.ENUMBODY_TYPES = ENUMBODY_TYPES; -var ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"]; -exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; -var JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"]; -exports.JSX_TYPES = JSX_TYPES; -var PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"]; -exports.PRIVATE_TYPES = PRIVATE_TYPES; -var TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"]; -exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; -var TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"]; -exports.TSTYPE_TYPES = TSTYPE_TYPES; - -},{"../../definitions":236}],220:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = void 0; -var STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; -exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; -var FLATTENABLE_KEYS = ["body", "expressions"]; -exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; -var FOR_INIT_KEYS = ["left", "init"]; -exports.FOR_INIT_KEYS = FOR_INIT_KEYS; -var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; -exports.COMMENT_KEYS = COMMENT_KEYS; -var LOGICAL_OPERATORS = ["||", "&&", "??"]; -exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; -var UPDATE_OPERATORS = ["++", "--"]; -exports.UPDATE_OPERATORS = UPDATE_OPERATORS; -var BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; -exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; -var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; -exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; -var COMPARISON_BINARY_OPERATORS = [].concat(EQUALITY_BINARY_OPERATORS, ["in", "instanceof"]); -exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; -var BOOLEAN_BINARY_OPERATORS = [].concat(_toConsumableArray(COMPARISON_BINARY_OPERATORS), BOOLEAN_NUMBER_BINARY_OPERATORS); -exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; -var NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; -exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; -var BINARY_OPERATORS = ["+"].concat(NUMBER_BINARY_OPERATORS, _toConsumableArray(BOOLEAN_BINARY_OPERATORS)); -exports.BINARY_OPERATORS = BINARY_OPERATORS; -var BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; -exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; -var NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; -exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; -var STRING_UNARY_OPERATORS = ["typeof"]; -exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; -var UNARY_OPERATORS = ["void", "throw"].concat(BOOLEAN_UNARY_OPERATORS, NUMBER_UNARY_OPERATORS, STRING_UNARY_OPERATORS); -exports.UNARY_OPERATORS = UNARY_OPERATORS; -var INHERIT_KEYS = { - optional: ["typeAnnotation", "typeParameters", "returnType"], - force: ["start", "loc", "end"] -}; -exports.INHERIT_KEYS = INHERIT_KEYS; -var BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); -exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; -var NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); -exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; - -},{}],221:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = ensureBlock; - -var _toBlock = _interopRequireDefault(require("./toBlock")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function ensureBlock(node) { - var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "body"; - return node[key] = (0, _toBlock.default)(node[key], node); -} - -},{"./toBlock":224}],222:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = gatherSequenceExpressions; - -var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); - -var _generated = require("../validators/generated"); - -var _generated2 = require("../builders/generated"); - -var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function gatherSequenceExpressions(nodes, scope, declars) { - var exprs = []; - var ensureLastUndefined = true; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var node = _step.value; - ensureLastUndefined = false; - - if ((0, _generated.isExpression)(node)) { - exprs.push(node); - } else if ((0, _generated.isExpressionStatement)(node)) { - exprs.push(node.expression); - } else if ((0, _generated.isVariableDeclaration)(node)) { - if (node.kind !== "var") return; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = node.declarations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var declar = _step2.value; - var bindings = (0, _getBindingIdentifiers.default)(declar); - - for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - declars.push({ - kind: node.kind, - id: (0, _cloneNode.default)(bindings[key]) - }); - } - - if (declar.init) { - exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init)); - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - ensureLastUndefined = true; - } else if ((0, _generated.isIfStatement)(node)) { - var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode(); - var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode(); - if (!consequent || !alternate) return; - exprs.push((0, _generated2.conditionalExpression)(node.test, consequent, alternate)); - } else if ((0, _generated.isBlockStatement)(node)) { - var body = gatherSequenceExpressions(node.body, scope, declars); - if (!body) return; - exprs.push(body); - } else if ((0, _generated.isEmptyStatement)(node)) { - ensureLastUndefined = true; - } else { - return; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (ensureLastUndefined) { - exprs.push(scope.buildUndefinedNode()); - } - - if (exprs.length === 1) { - return exprs[0]; - } else { - return (0, _generated2.sequenceExpression)(exprs); - } -} - -},{"../builders/generated":206,"../clone/cloneNode":210,"../retrievers/getBindingIdentifiers":249,"../validators/generated":257}],223:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toBindingIdentifierName; - -var _toIdentifier = _interopRequireDefault(require("./toIdentifier")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function toBindingIdentifierName(name) { - name = (0, _toIdentifier.default)(name); - if (name === "eval" || name === "arguments") name = "_" + name; - return name; -} - -},{"./toIdentifier":227}],224:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toBlock; - -var _generated = require("../validators/generated"); - -var _generated2 = require("../builders/generated"); - -function toBlock(node, parent) { - if ((0, _generated.isBlockStatement)(node)) { - return node; - } - - var blockNodes = []; - - if ((0, _generated.isEmptyStatement)(node)) { - blockNodes = []; - } else { - if (!(0, _generated.isStatement)(node)) { - if ((0, _generated.isFunction)(parent)) { - node = (0, _generated2.returnStatement)(node); - } else { - node = (0, _generated2.expressionStatement)(node); - } - } - - blockNodes = [node]; - } - - return (0, _generated2.blockStatement)(blockNodes); -} - -},{"../builders/generated":206,"../validators/generated":257}],225:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toComputedKey; - -var _generated = require("../validators/generated"); - -var _generated2 = require("../builders/generated"); - -function toComputedKey(node) { - var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key || node.property; - if (!node.computed && (0, _generated.isIdentifier)(key)) key = (0, _generated2.stringLiteral)(key.name); - return key; -} - -},{"../builders/generated":206,"../validators/generated":257}],226:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toExpression; - -var _generated = require("../validators/generated"); - -function toExpression(node) { - if ((0, _generated.isExpressionStatement)(node)) { - node = node.expression; - } - - if ((0, _generated.isExpression)(node)) { - return node; - } - - if ((0, _generated.isClass)(node)) { - node.type = "ClassExpression"; - } else if ((0, _generated.isFunction)(node)) { - node.type = "FunctionExpression"; - } - - if (!(0, _generated.isExpression)(node)) { - throw new Error("cannot turn ".concat(node.type, " to an expression")); - } - - return node; -} - -},{"../validators/generated":257}],227:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toIdentifier; - -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function toIdentifier(name) { - name = name + ""; - name = name.replace(/[^a-zA-Z0-9$_]/g, "-"); - name = name.replace(/^[-0-9]+/, ""); - name = name.replace(/[-\s]+(.)?/g, function (match, c) { - return c ? c.toUpperCase() : ""; - }); - - if (!(0, _isValidIdentifier.default)(name)) { - name = "_".concat(name); - } - - return name || "_"; -} - -},{"../validators/isValidIdentifier":271}],228:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toKeyAlias; - -var _generated = require("../validators/generated"); - -var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); - -var _removePropertiesDeep = _interopRequireDefault(require("../modifications/removePropertiesDeep")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function toKeyAlias(node) { - var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key; - var alias; - - if (node.kind === "method") { - return toKeyAlias.increment() + ""; - } else if ((0, _generated.isIdentifier)(key)) { - alias = key.name; - } else if ((0, _generated.isStringLiteral)(key)) { - alias = JSON.stringify(key.value); - } else { - alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key))); - } - - if (node.computed) { - alias = "[".concat(alias, "]"); - } - - if (node.static) { - alias = "static:".concat(alias); - } - - return alias; -} - -toKeyAlias.uid = 0; - -toKeyAlias.increment = function () { - if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { - return toKeyAlias.uid = 0; - } else { - return toKeyAlias.uid++; - } -}; - -},{"../clone/cloneNode":210,"../modifications/removePropertiesDeep":248,"../validators/generated":257}],229:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toSequenceExpression; - -var _gatherSequenceExpressions = _interopRequireDefault(require("./gatherSequenceExpressions")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function toSequenceExpression(nodes, scope) { - if (!nodes || !nodes.length) return; - var declars = []; - var result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); - if (!result) return; - - for (var _i = 0, _declars = declars; _i < _declars.length; _i++) { - var declar = _declars[_i]; - scope.push(declar); - } - - return result; -} - -},{"./gatherSequenceExpressions":222}],230:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toStatement; - -var _generated = require("../validators/generated"); - -var _generated2 = require("../builders/generated"); - -function toStatement(node, ignore) { - if ((0, _generated.isStatement)(node)) { - return node; - } - - var mustHaveId = false; - var newType; - - if ((0, _generated.isClass)(node)) { - mustHaveId = true; - newType = "ClassDeclaration"; - } else if ((0, _generated.isFunction)(node)) { - mustHaveId = true; - newType = "FunctionDeclaration"; - } else if ((0, _generated.isAssignmentExpression)(node)) { - return (0, _generated2.expressionStatement)(node); - } - - if (mustHaveId && !node.id) { - newType = false; - } - - if (!newType) { - if (ignore) { - return false; - } else { - throw new Error("cannot turn ".concat(node.type, " to a statement")); - } - } - - node.type = newType; - return node; -} - -},{"../builders/generated":206,"../validators/generated":257}],231:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = valueToNode; - -var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); - -var _isRegExp = _interopRequireDefault(require("lodash/isRegExp")); - -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); - -var _generated = require("../builders/generated"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function valueToNode(value) { - if (value === undefined) { - return (0, _generated.identifier)("undefined"); - } - - if (value === true || value === false) { - return (0, _generated.booleanLiteral)(value); - } - - if (value === null) { - return (0, _generated.nullLiteral)(); - } - - if (typeof value === "string") { - return (0, _generated.stringLiteral)(value); - } - - if (typeof value === "number") { - var result; - - if (Number.isFinite(value)) { - result = (0, _generated.numericLiteral)(Math.abs(value)); - } else { - var numerator; - - if (Number.isNaN(value)) { - numerator = (0, _generated.numericLiteral)(0); - } else { - numerator = (0, _generated.numericLiteral)(1); - } - - result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0)); - } - - if (value < 0 || Object.is(value, -0)) { - result = (0, _generated.unaryExpression)("-", result); - } - - return result; - } - - if ((0, _isRegExp.default)(value)) { - var pattern = value.source; - var flags = value.toString().match(/\/([a-z]+|)$/)[1]; - return (0, _generated.regExpLiteral)(pattern, flags); - } - - if (Array.isArray(value)) { - return (0, _generated.arrayExpression)(value.map(valueToNode)); - } - - if ((0, _isPlainObject.default)(value)) { - var props = []; - - for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) { - var key = _Object$keys[_i]; - var nodeKey = void 0; - - if ((0, _isValidIdentifier.default)(key)) { - nodeKey = (0, _generated.identifier)(key); - } else { - nodeKey = (0, _generated.stringLiteral)(key); - } - - props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value[key]))); - } - - return (0, _generated.objectExpression)(props); - } - - throw new Error("don't know how to turn this value into a node"); -} - -},{"../builders/generated":206,"../validators/isValidIdentifier":271,"lodash/isPlainObject":1026,"lodash/isRegExp":1027}],232:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.patternLikeCommon = exports.functionDeclarationCommon = exports.functionTypeAnnotationCommon = exports.functionCommon = void 0; - -var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); - -var _constants = require("../constants"); - -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -(0, _utils.default)("ArrayExpression", { - fields: { - elements: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), - default: [] - } - }, - visitor: ["elements"], - aliases: ["Expression"] -}); -(0, _utils.default)("AssignmentExpression", { - fields: { - operator: { - validate: (0, _utils.assertValueType)("string") - }, - left: { - validate: (0, _utils.assertNodeType)("LVal") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - } - }, - builder: ["operator", "left", "right"], - visitor: ["left", "right"], - aliases: ["Expression"] -}); -(0, _utils.default)("BinaryExpression", { - builder: ["operator", "left", "right"], - fields: { - operator: { - validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.BINARY_OPERATORS)) - }, - left: { - validate: (0, _utils.assertNodeType)("Expression") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - } - }, - visitor: ["left", "right"], - aliases: ["Binary", "Expression"] -}); -(0, _utils.default)("InterpreterDirective", { - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("string") - } - } -}); -(0, _utils.default)("Directive", { - visitor: ["value"], - fields: { - value: { - validate: (0, _utils.assertNodeType)("DirectiveLiteral") - } - } -}); -(0, _utils.default)("DirectiveLiteral", { - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("string") - } - } -}); -(0, _utils.default)("BlockStatement", { - builder: ["body", "directives"], - visitor: ["directives", "body"], - fields: { - directives: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), - default: [] - }, - body: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) - } - }, - aliases: ["Scopable", "BlockParent", "Block", "Statement"] -}); -(0, _utils.default)("BreakStatement", { - visitor: ["label"], - fields: { - label: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - } - }, - aliases: ["Statement", "Terminatorless", "CompletionStatement"] -}); -(0, _utils.default)("CallExpression", { - visitor: ["callee", "arguments", "typeParameters", "typeArguments"], - builder: ["callee", "arguments"], - aliases: ["Expression"], - fields: { - callee: { - validate: (0, _utils.assertNodeType)("Expression", "V8IntrinsicIdentifier") - }, - arguments: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) - }, - optional: { - validate: (0, _utils.assertOneOf)(true, false), - optional: true - }, - typeArguments: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), - optional: true - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), - optional: true - } - } -}); -(0, _utils.default)("CatchClause", { - visitor: ["param", "body"], - fields: { - param: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }, - aliases: ["Scopable", "BlockParent"] -}); -(0, _utils.default)("ConditionalExpression", { - visitor: ["test", "consequent", "alternate"], - fields: { - test: { - validate: (0, _utils.assertNodeType)("Expression") - }, - consequent: { - validate: (0, _utils.assertNodeType)("Expression") - }, - alternate: { - validate: (0, _utils.assertNodeType)("Expression") - } - }, - aliases: ["Expression", "Conditional"] -}); -(0, _utils.default)("ContinueStatement", { - visitor: ["label"], - fields: { - label: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - } - }, - aliases: ["Statement", "Terminatorless", "CompletionStatement"] -}); -(0, _utils.default)("DebuggerStatement", { - aliases: ["Statement"] -}); -(0, _utils.default)("DoWhileStatement", { - visitor: ["test", "body"], - fields: { - test: { - validate: (0, _utils.assertNodeType)("Expression") - }, - body: { - validate: (0, _utils.assertNodeType)("Statement") - } - }, - aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] -}); -(0, _utils.default)("EmptyStatement", { - aliases: ["Statement"] -}); -(0, _utils.default)("ExpressionStatement", { - visitor: ["expression"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression") - } - }, - aliases: ["Statement", "ExpressionWrapper"] -}); -(0, _utils.default)("File", { - builder: ["program", "comments", "tokens"], - visitor: ["program"], - fields: { - program: { - validate: (0, _utils.assertNodeType)("Program") - } - } -}); -(0, _utils.default)("ForInStatement", { - visitor: ["left", "right", "body"], - aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], - fields: { - left: { - validate: (0, _utils.assertNodeType)("VariableDeclaration", "LVal") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - }, - body: { - validate: (0, _utils.assertNodeType)("Statement") - } - } -}); -(0, _utils.default)("ForStatement", { - visitor: ["init", "test", "update", "body"], - aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], - fields: { - init: { - validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), - optional: true - }, - test: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - }, - update: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - }, - body: { - validate: (0, _utils.assertNodeType)("Statement") - } - } -}); -var functionCommon = { - params: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) - }, - generator: { - default: false, - validate: (0, _utils.assertValueType)("boolean") - }, - async: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - } -}; -exports.functionCommon = functionCommon; -var functionTypeAnnotationCommon = { - returnType: { - validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), - optional: true - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), - optional: true - } -}; -exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; -var functionDeclarationCommon = Object.assign({}, functionCommon, { - declare: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - id: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - } -}); -exports.functionDeclarationCommon = functionDeclarationCommon; -(0, _utils.default)("FunctionDeclaration", { - builder: ["id", "params", "body", "generator", "async"], - visitor: ["id", "params", "body", "returnType", "typeParameters"], - fields: Object.assign({}, functionDeclarationCommon, {}, functionTypeAnnotationCommon, { - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }), - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"] -}); -(0, _utils.default)("FunctionExpression", { - inherits: "FunctionDeclaration", - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], - fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { - id: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }) -}); -var patternLikeCommon = { - typeAnnotation: { - validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), - optional: true - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) - } -}; -exports.patternLikeCommon = patternLikeCommon; -(0, _utils.default)("Identifier", { - builder: ["name"], - visitor: ["typeAnnotation", "decorators"], - aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], - fields: Object.assign({}, patternLikeCommon, { - name: { - validate: (0, _utils.chain)(function (node, key, val) { - if (!(0, _isValidIdentifier.default)(val)) {} - }, (0, _utils.assertValueType)("string")) - }, - optional: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - } - }) -}); -(0, _utils.default)("IfStatement", { - visitor: ["test", "consequent", "alternate"], - aliases: ["Statement", "Conditional"], - fields: { - test: { - validate: (0, _utils.assertNodeType)("Expression") - }, - consequent: { - validate: (0, _utils.assertNodeType)("Statement") - }, - alternate: { - optional: true, - validate: (0, _utils.assertNodeType)("Statement") - } - } -}); -(0, _utils.default)("LabeledStatement", { - visitor: ["label", "body"], - aliases: ["Statement"], - fields: { - label: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - body: { - validate: (0, _utils.assertNodeType)("Statement") - } - } -}); -(0, _utils.default)("StringLiteral", { - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("string") - } - }, - aliases: ["Expression", "Pureish", "Literal", "Immutable"] -}); -(0, _utils.default)("NumericLiteral", { - builder: ["value"], - deprecatedAlias: "NumberLiteral", - fields: { - value: { - validate: (0, _utils.assertValueType)("number") - } - }, - aliases: ["Expression", "Pureish", "Literal", "Immutable"] -}); -(0, _utils.default)("NullLiteral", { - aliases: ["Expression", "Pureish", "Literal", "Immutable"] -}); -(0, _utils.default)("BooleanLiteral", { - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("boolean") - } - }, - aliases: ["Expression", "Pureish", "Literal", "Immutable"] -}); -(0, _utils.default)("RegExpLiteral", { - builder: ["pattern", "flags"], - deprecatedAlias: "RegexLiteral", - aliases: ["Expression", "Literal"], - fields: { - pattern: { - validate: (0, _utils.assertValueType)("string") - }, - flags: { - validate: (0, _utils.assertValueType)("string"), - default: "" - } - } -}); -(0, _utils.default)("LogicalExpression", { - builder: ["operator", "left", "right"], - visitor: ["left", "right"], - aliases: ["Binary", "Expression"], - fields: { - operator: { - validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.LOGICAL_OPERATORS)) - }, - left: { - validate: (0, _utils.assertNodeType)("Expression") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("MemberExpression", { - builder: ["object", "property", "computed", "optional"], - visitor: ["object", "property"], - aliases: ["Expression", "LVal"], - fields: { - object: { - validate: (0, _utils.assertNodeType)("Expression") - }, - property: { - validate: function () { - var normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); - var computed = (0, _utils.assertNodeType)("Expression"); - return function (node, key, val) { - var validator = node.computed ? computed : normal; - validator(node, key, val); - }; - }() - }, - computed: { - default: false - }, - optional: { - validate: (0, _utils.assertOneOf)(true, false), - optional: true - } - } -}); -(0, _utils.default)("NewExpression", { - inherits: "CallExpression" -}); -(0, _utils.default)("Program", { - visitor: ["directives", "body"], - builder: ["body", "directives", "sourceType", "interpreter"], - fields: { - sourceFile: { - validate: (0, _utils.assertValueType)("string") - }, - sourceType: { - validate: (0, _utils.assertOneOf)("script", "module"), - default: "script" - }, - interpreter: { - validate: (0, _utils.assertNodeType)("InterpreterDirective"), - default: null, - optional: true - }, - directives: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), - default: [] - }, - body: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) - } - }, - aliases: ["Scopable", "BlockParent", "Block"] -}); -(0, _utils.default)("ObjectExpression", { - visitor: ["properties"], - aliases: ["Expression"], - fields: { - properties: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement"))) - } - } -}); -(0, _utils.default)("ObjectMethod", { - builder: ["kind", "key", "params", "body", "computed"], - fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { - kind: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("method", "get", "set")), - default: "method" - }, - computed: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - }, - key: { - validate: function () { - var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); - var computed = (0, _utils.assertNodeType)("Expression"); - return function (node, key, val) { - var validator = node.computed ? computed : normal; - validator(node, key, val); - }; - }() - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }), - visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], - aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] -}); -(0, _utils.default)("ObjectProperty", { - builder: ["key", "value", "computed", "shorthand", "decorators"], - fields: { - computed: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - }, - key: { - validate: function () { - var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); - var computed = (0, _utils.assertNodeType)("Expression"); - return function (node, key, val) { - var validator = node.computed ? computed : normal; - validator(node, key, val); - }; - }() - }, - value: { - validate: (0, _utils.assertNodeType)("Expression", "PatternLike") - }, - shorthand: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - } - }, - visitor: ["key", "value", "decorators"], - aliases: ["UserWhitespacable", "Property", "ObjectMember"] -}); -(0, _utils.default)("RestElement", { - visitor: ["argument", "typeAnnotation"], - builder: ["argument"], - aliases: ["LVal", "PatternLike"], - deprecatedAlias: "RestProperty", - fields: Object.assign({}, patternLikeCommon, { - argument: { - validate: (0, _utils.assertNodeType)("LVal") - } - }) -}); -(0, _utils.default)("ReturnStatement", { - visitor: ["argument"], - aliases: ["Statement", "Terminatorless", "CompletionStatement"], - fields: { - argument: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - } - } -}); -(0, _utils.default)("SequenceExpression", { - visitor: ["expressions"], - fields: { - expressions: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression"))) - } - }, - aliases: ["Expression"] -}); -(0, _utils.default)("ParenthesizedExpression", { - visitor: ["expression"], - aliases: ["Expression", "ExpressionWrapper"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("SwitchCase", { - visitor: ["test", "consequent"], - fields: { - test: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - }, - consequent: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) - } - } -}); -(0, _utils.default)("SwitchStatement", { - visitor: ["discriminant", "cases"], - aliases: ["Statement", "BlockParent", "Scopable"], - fields: { - discriminant: { - validate: (0, _utils.assertNodeType)("Expression") - }, - cases: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase"))) - } - } -}); -(0, _utils.default)("ThisExpression", { - aliases: ["Expression"] -}); -(0, _utils.default)("ThrowStatement", { - visitor: ["argument"], - aliases: ["Statement", "Terminatorless", "CompletionStatement"], - fields: { - argument: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("TryStatement", { - visitor: ["block", "handler", "finalizer"], - aliases: ["Statement"], - fields: { - block: { - validate: (0, _utils.assertNodeType)("BlockStatement") - }, - handler: { - optional: true, - validate: (0, _utils.assertNodeType)("CatchClause") - }, - finalizer: { - optional: true, - validate: (0, _utils.assertNodeType)("BlockStatement") - } - } -}); -(0, _utils.default)("UnaryExpression", { - builder: ["operator", "argument", "prefix"], - fields: { - prefix: { - default: true - }, - argument: { - validate: (0, _utils.assertNodeType)("Expression") - }, - operator: { - validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.UNARY_OPERATORS)) - } - }, - visitor: ["argument"], - aliases: ["UnaryLike", "Expression"] -}); -(0, _utils.default)("UpdateExpression", { - builder: ["operator", "argument", "prefix"], - fields: { - prefix: { - default: false - }, - argument: { - validate: (0, _utils.assertNodeType)("Expression") - }, - operator: { - validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.UPDATE_OPERATORS)) - } - }, - visitor: ["argument"], - aliases: ["Expression"] -}); -(0, _utils.default)("VariableDeclaration", { - builder: ["kind", "declarations"], - visitor: ["declarations"], - aliases: ["Statement", "Declaration"], - fields: { - declare: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - kind: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("var", "let", "const")) - }, - declarations: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator"))) - } - } -}); -(0, _utils.default)("VariableDeclarator", { - visitor: ["id", "init"], - fields: { - id: { - validate: (0, _utils.assertNodeType)("LVal") - }, - definite: { - optional: true, - validate: (0, _utils.assertValueType)("boolean") - }, - init: { - optional: true, - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("WhileStatement", { - visitor: ["test", "body"], - aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], - fields: { - test: { - validate: (0, _utils.assertNodeType)("Expression") - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement", "Statement") - } - } -}); -(0, _utils.default)("WithStatement", { - visitor: ["object", "body"], - aliases: ["Statement"], - fields: { - object: { - validate: (0, _utils.assertNodeType)("Expression") - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement", "Statement") - } - } -}); - -},{"../constants":220,"../validators/isValidIdentifier":271,"./utils":241}],233:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.classMethodOrDeclareMethodCommon = exports.classMethodOrPropertyCommon = void 0; - -var _utils = _interopRequireWildcard(require("./utils")); - -var _core = require("./core"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -(0, _utils.default)("AssignmentPattern", { - visitor: ["left", "right", "decorators"], - builder: ["left", "right"], - aliases: ["Pattern", "PatternLike", "LVal"], - fields: Object.assign({}, _core.patternLikeCommon, { - left: { - validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) - } - }) -}); -(0, _utils.default)("ArrayPattern", { - visitor: ["elements", "typeAnnotation"], - builder: ["elements"], - aliases: ["Pattern", "PatternLike", "LVal"], - fields: Object.assign({}, _core.patternLikeCommon, { - elements: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("PatternLike"))) - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) - } - }) -}); -(0, _utils.default)("ArrowFunctionExpression", { - builder: ["params", "body", "async"], - visitor: ["params", "body", "returnType", "typeParameters"], - aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], - fields: Object.assign({}, _core.functionCommon, {}, _core.functionTypeAnnotationCommon, { - expression: { - validate: (0, _utils.assertValueType)("boolean") - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") - } - }) -}); -(0, _utils.default)("ClassBody", { - visitor: ["body"], - fields: { - body: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "TSDeclareMethod", "TSIndexSignature"))) - } - } -}); -var classCommon = { - typeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), - optional: true - }, - body: { - validate: (0, _utils.assertNodeType)("ClassBody") - }, - superClass: { - optional: true, - validate: (0, _utils.assertNodeType)("Expression") - }, - superTypeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), - optional: true - }, - implements: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), - optional: true - } -}; -(0, _utils.default)("ClassDeclaration", { - builder: ["id", "superClass", "body", "decorators"], - visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], - aliases: ["Scopable", "Class", "Statement", "Declaration", "Pureish"], - fields: Object.assign({}, classCommon, { - declare: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - abstract: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - id: { - validate: (0, _utils.assertNodeType)("Identifier"), - optional: true - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - } - }) -}); -(0, _utils.default)("ClassExpression", { - inherits: "ClassDeclaration", - aliases: ["Scopable", "Class", "Expression", "Pureish"], - fields: Object.assign({}, classCommon, { - id: { - optional: true, - validate: (0, _utils.assertNodeType)("Identifier") - }, - body: { - validate: (0, _utils.assertNodeType)("ClassBody") - }, - superClass: { - optional: true, - validate: (0, _utils.assertNodeType)("Expression") - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - } - }) -}); -(0, _utils.default)("ExportAllDeclaration", { - visitor: ["source"], - aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], - fields: { - source: { - validate: (0, _utils.assertNodeType)("StringLiteral") - } - } -}); -(0, _utils.default)("ExportDefaultDeclaration", { - visitor: ["declaration"], - aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], - fields: { - declaration: { - validate: (0, _utils.assertNodeType)("FunctionDeclaration", "TSDeclareFunction", "ClassDeclaration", "Expression") - } - } -}); -(0, _utils.default)("ExportNamedDeclaration", { - visitor: ["declaration", "specifiers", "source"], - aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], - fields: { - declaration: { - validate: (0, _utils.assertNodeType)("Declaration"), - optional: true - }, - specifiers: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"))) - }, - source: { - validate: (0, _utils.assertNodeType)("StringLiteral"), - optional: true - }, - exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) - } -}); -(0, _utils.default)("ExportSpecifier", { - visitor: ["local", "exported"], - aliases: ["ModuleSpecifier"], - fields: { - local: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - exported: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("ForOfStatement", { - visitor: ["left", "right", "body"], - aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], - fields: { - left: { - validate: (0, _utils.assertNodeType)("VariableDeclaration", "LVal") - }, - right: { - validate: (0, _utils.assertNodeType)("Expression") - }, - body: { - validate: (0, _utils.assertNodeType)("Statement") - }, - await: { - default: false, - validate: (0, _utils.assertValueType)("boolean") - } - } -}); -(0, _utils.default)("ImportDeclaration", { - visitor: ["specifiers", "source"], - aliases: ["Statement", "Declaration", "ModuleDeclaration"], - fields: { - specifiers: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) - }, - source: { - validate: (0, _utils.assertNodeType)("StringLiteral") - }, - importKind: { - validate: (0, _utils.assertOneOf)("type", "typeof", "value"), - optional: true - } - } -}); -(0, _utils.default)("ImportDefaultSpecifier", { - visitor: ["local"], - aliases: ["ModuleSpecifier"], - fields: { - local: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("ImportNamespaceSpecifier", { - visitor: ["local"], - aliases: ["ModuleSpecifier"], - fields: { - local: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("ImportSpecifier", { - visitor: ["local", "imported"], - aliases: ["ModuleSpecifier"], - fields: { - local: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - imported: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - importKind: { - validate: (0, _utils.assertOneOf)("type", "typeof"), - optional: true - } - } -}); -(0, _utils.default)("MetaProperty", { - visitor: ["meta", "property"], - aliases: ["Expression"], - fields: { - meta: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - property: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -var classMethodOrPropertyCommon = { - abstract: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - accessibility: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), - optional: true - }, - static: { - default: false, - validate: (0, _utils.assertValueType)("boolean") - }, - computed: { - default: false, - validate: (0, _utils.assertValueType)("boolean") - }, - optional: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - key: { - validate: (0, _utils.chain)(function () { - var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); - var computed = (0, _utils.assertNodeType)("Expression"); - return function (node, key, val) { - var validator = node.computed ? computed : normal; - validator(node, key, val); - }; - }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "Expression")) - } -}; -exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; -var classMethodOrDeclareMethodCommon = Object.assign({}, _core.functionCommon, {}, classMethodOrPropertyCommon, { - kind: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("get", "set", "method", "constructor")), - default: "method" - }, - access: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), - optional: true - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - } -}); -exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; -(0, _utils.default)("ClassMethod", { - aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], - builder: ["kind", "key", "params", "body", "computed", "static"], - visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], - fields: Object.assign({}, classMethodOrDeclareMethodCommon, {}, _core.functionTypeAnnotationCommon, { - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }) -}); -(0, _utils.default)("ObjectPattern", { - visitor: ["properties", "typeAnnotation", "decorators"], - builder: ["properties"], - aliases: ["Pattern", "PatternLike", "LVal"], - fields: Object.assign({}, _core.patternLikeCommon, { - properties: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty"))) - } - }) -}); -(0, _utils.default)("SpreadElement", { - visitor: ["argument"], - aliases: ["UnaryLike"], - deprecatedAlias: "SpreadProperty", - fields: { - argument: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("Super", { - aliases: ["Expression"] -}); -(0, _utils.default)("TaggedTemplateExpression", { - visitor: ["tag", "quasi"], - aliases: ["Expression"], - fields: { - tag: { - validate: (0, _utils.assertNodeType)("Expression") - }, - quasi: { - validate: (0, _utils.assertNodeType)("TemplateLiteral") - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), - optional: true - } - } -}); -(0, _utils.default)("TemplateElement", { - builder: ["value", "tail"], - fields: { - value: { - validate: (0, _utils.assertShape)({ - raw: { - validate: (0, _utils.assertValueType)("string") - }, - cooked: { - validate: (0, _utils.assertValueType)("string"), - optional: true - } - }) - }, - tail: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - } - } -}); -(0, _utils.default)("TemplateLiteral", { - visitor: ["quasis", "expressions"], - aliases: ["Expression", "Literal"], - fields: { - quasis: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement"))) - }, - expressions: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression")), function (node, key, val) { - if (node.quasis.length !== val.length + 1) { - throw new TypeError("Number of ".concat(node.type, " quasis should be exactly one more than the number of expressions.\nExpected ").concat(val.length + 1, " quasis but got ").concat(node.quasis.length)); - } - }) - } - } -}); -(0, _utils.default)("YieldExpression", { - builder: ["argument", "delegate"], - visitor: ["argument"], - aliases: ["Expression", "Terminatorless"], - fields: { - delegate: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - }, - argument: { - optional: true, - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); - -},{"./core":232,"./utils":241}],234:[function(require,module,exports){ -"use strict"; - -var _utils = _interopRequireWildcard(require("./utils")); - -var _es = require("./es2015"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -(0, _utils.default)("ArgumentPlaceholder", {}); -(0, _utils.default)("AwaitExpression", { - builder: ["argument"], - visitor: ["argument"], - aliases: ["Expression", "Terminatorless"], - fields: { - argument: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("BindExpression", { - visitor: ["object", "callee"], - aliases: ["Expression"], - fields: {} -}); -(0, _utils.default)("ClassProperty", { - visitor: ["key", "value", "typeAnnotation", "decorators"], - builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], - aliases: ["Property"], - fields: Object.assign({}, _es.classMethodOrPropertyCommon, { - value: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - }, - definite: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - typeAnnotation: { - validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), - optional: true - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - }, - readonly: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - declare: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - } - }) -}); -(0, _utils.default)("OptionalMemberExpression", { - builder: ["object", "property", "computed", "optional"], - visitor: ["object", "property"], - aliases: ["Expression"], - fields: { - object: { - validate: (0, _utils.assertNodeType)("Expression") - }, - property: { - validate: function () { - var normal = (0, _utils.assertNodeType)("Identifier"); - var computed = (0, _utils.assertNodeType)("Expression"); - return function (node, key, val) { - var validator = node.computed ? computed : normal; - validator(node, key, val); - }; - }() - }, - computed: { - default: false - }, - optional: { - validate: (0, _utils.assertValueType)("boolean") - } - } -}); -(0, _utils.default)("PipelineTopicExpression", { - builder: ["expression"], - visitor: ["expression"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("PipelineBareFunction", { - builder: ["callee"], - visitor: ["callee"], - fields: { - callee: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("PipelinePrimaryTopicReference", { - aliases: ["Expression"] -}); -(0, _utils.default)("OptionalCallExpression", { - visitor: ["callee", "arguments", "typeParameters", "typeArguments"], - builder: ["callee", "arguments", "optional"], - aliases: ["Expression"], - fields: { - callee: { - validate: (0, _utils.assertNodeType)("Expression") - }, - arguments: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName"))) - }, - optional: { - validate: (0, _utils.assertValueType)("boolean") - }, - typeArguments: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), - optional: true - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), - optional: true - } - } -}); -(0, _utils.default)("ClassPrivateProperty", { - visitor: ["key", "value", "decorators"], - builder: ["key", "value", "decorators"], - aliases: ["Property", "Private"], - fields: { - key: { - validate: (0, _utils.assertNodeType)("PrivateName") - }, - value: { - validate: (0, _utils.assertNodeType)("Expression"), - optional: true - }, - decorators: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), - optional: true - } - } -}); -(0, _utils.default)("ClassPrivateMethod", { - builder: ["kind", "key", "params", "body", "static"], - visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], - aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], - fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, { - key: { - validate: (0, _utils.assertNodeType)("PrivateName") - }, - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - }) -}); -(0, _utils.default)("Import", { - aliases: ["Expression"] -}); -(0, _utils.default)("Decorator", { - visitor: ["expression"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("DoExpression", { - visitor: ["body"], - aliases: ["Expression"], - fields: { - body: { - validate: (0, _utils.assertNodeType)("BlockStatement") - } - } -}); -(0, _utils.default)("ExportDefaultSpecifier", { - visitor: ["exported"], - aliases: ["ModuleSpecifier"], - fields: { - exported: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("ExportNamespaceSpecifier", { - visitor: ["exported"], - aliases: ["ModuleSpecifier"], - fields: { - exported: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("PrivateName", { - visitor: ["id"], - aliases: ["Private"], - fields: { - id: { - validate: (0, _utils.assertNodeType)("Identifier") - } - } -}); -(0, _utils.default)("BigIntLiteral", { - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("string") - } - }, - aliases: ["Expression", "Pureish", "Literal", "Immutable"] -}); - -},{"./es2015":233,"./utils":241}],235:[function(require,module,exports){ -"use strict"; - -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var defineInterfaceishType = function defineInterfaceishType(name) { - var typeParameterType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "TypeParameterDeclaration"; - (0, _utils.default)(name, { - builder: ["id", "typeParameters", "extends", "body"], - visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)(typeParameterType), - extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), - mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), - implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")), - body: (0, _utils.validateType)("ObjectTypeAnnotation") - } - }); -}; - -(0, _utils.default)("AnyTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("ArrayTypeAnnotation", { - visitor: ["elementType"], - aliases: ["Flow", "FlowType"], - fields: { - elementType: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("BooleanTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("BooleanLiteralTypeAnnotation", { - builder: ["value"], - aliases: ["Flow", "FlowType"], - fields: { - value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("NullLiteralTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("ClassImplements", { - visitor: ["id", "typeParameters"], - aliases: ["Flow"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") - } -}); -defineInterfaceishType("DeclareClass"); -(0, _utils.default)("DeclareFunction", { - visitor: ["id"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") - } -}); -defineInterfaceishType("DeclareInterface"); -(0, _utils.default)("DeclareModule", { - builder: ["id", "body", "kind"], - visitor: ["id", "body"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), - body: (0, _utils.validateType)("BlockStatement"), - kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) - } -}); -(0, _utils.default)("DeclareModuleExports", { - visitor: ["typeAnnotation"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - typeAnnotation: (0, _utils.validateType)("TypeAnnotation") - } -}); -(0, _utils.default)("DeclareTypeAlias", { - visitor: ["id", "typeParameters", "right"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), - right: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("DeclareOpaqueType", { - visitor: ["id", "typeParameters", "supertype"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), - supertype: (0, _utils.validateOptionalType)("FlowType") - } -}); -(0, _utils.default)("DeclareVariable", { - visitor: ["id"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier") - } -}); -(0, _utils.default)("DeclareExportDeclaration", { - visitor: ["declaration", "specifiers", "source"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - declaration: (0, _utils.validateOptionalType)("Flow"), - specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])), - source: (0, _utils.validateOptionalType)("StringLiteral"), - default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("DeclareExportAllDeclaration", { - visitor: ["source"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - source: (0, _utils.validateType)("StringLiteral"), - exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) - } -}); -(0, _utils.default)("DeclaredPredicate", { - visitor: ["value"], - aliases: ["Flow", "FlowPredicate"], - fields: { - value: (0, _utils.validateType)("Flow") - } -}); -(0, _utils.default)("ExistsTypeAnnotation", { - aliases: ["Flow", "FlowType"] -}); -(0, _utils.default)("FunctionTypeAnnotation", { - visitor: ["typeParameters", "params", "rest", "returnType"], - aliases: ["Flow", "FlowType"], - fields: { - typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), - params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), - rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), - returnType: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("FunctionTypeParam", { - visitor: ["name", "typeAnnotation"], - aliases: ["Flow"], - fields: { - name: (0, _utils.validateOptionalType)("Identifier"), - typeAnnotation: (0, _utils.validateType)("FlowType"), - optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("GenericTypeAnnotation", { - visitor: ["id", "typeParameters"], - aliases: ["Flow", "FlowType"], - fields: { - id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") - } -}); -(0, _utils.default)("InferredPredicate", { - aliases: ["Flow", "FlowPredicate"] -}); -(0, _utils.default)("InterfaceExtends", { - visitor: ["id", "typeParameters"], - aliases: ["Flow"], - fields: { - id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") - } -}); -defineInterfaceishType("InterfaceDeclaration"); -(0, _utils.default)("InterfaceTypeAnnotation", { - visitor: ["extends", "body"], - aliases: ["Flow", "FlowType"], - fields: { - extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), - body: (0, _utils.validateType)("ObjectTypeAnnotation") - } -}); -(0, _utils.default)("IntersectionTypeAnnotation", { - visitor: ["types"], - aliases: ["Flow", "FlowType"], - fields: { - types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) - } -}); -(0, _utils.default)("MixedTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("EmptyTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("NullableTypeAnnotation", { - visitor: ["typeAnnotation"], - aliases: ["Flow", "FlowType"], - fields: { - typeAnnotation: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("NumberLiteralTypeAnnotation", { - builder: ["value"], - aliases: ["Flow", "FlowType"], - fields: { - value: (0, _utils.validate)((0, _utils.assertValueType)("number")) - } -}); -(0, _utils.default)("NumberTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("ObjectTypeAnnotation", { - visitor: ["properties", "indexers", "callProperties", "internalSlots"], - aliases: ["Flow", "FlowType"], - builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], - fields: { - properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])), - indexers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeIndexer")), - callProperties: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeCallProperty")), - internalSlots: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeInternalSlot")), - exact: { - validate: (0, _utils.assertValueType)("boolean"), - default: false - }, - inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("ObjectTypeInternalSlot", { - visitor: ["id", "value", "optional", "static", "method"], - aliases: ["Flow", "UserWhitespacable"], - fields: { - id: (0, _utils.validateType)("Identifier"), - value: (0, _utils.validateType)("FlowType"), - optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("ObjectTypeCallProperty", { - visitor: ["value"], - aliases: ["Flow", "UserWhitespacable"], - fields: { - value: (0, _utils.validateType)("FlowType"), - static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) - } -}); -(0, _utils.default)("ObjectTypeIndexer", { - visitor: ["id", "key", "value", "variance"], - aliases: ["Flow", "UserWhitespacable"], - fields: { - id: (0, _utils.validateOptionalType)("Identifier"), - key: (0, _utils.validateType)("FlowType"), - value: (0, _utils.validateType)("FlowType"), - static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - variance: (0, _utils.validateOptionalType)("Variance") - } -}); -(0, _utils.default)("ObjectTypeProperty", { - visitor: ["key", "value", "variance"], - aliases: ["Flow", "UserWhitespacable"], - fields: { - key: (0, _utils.validateType)(["Identifier", "StringLiteral"]), - value: (0, _utils.validateType)("FlowType"), - kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), - static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - variance: (0, _utils.validateOptionalType)("Variance") - } -}); -(0, _utils.default)("ObjectTypeSpreadProperty", { - visitor: ["argument"], - aliases: ["Flow", "UserWhitespacable"], - fields: { - argument: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("OpaqueType", { - visitor: ["id", "typeParameters", "supertype", "impltype"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), - supertype: (0, _utils.validateOptionalType)("FlowType"), - impltype: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("QualifiedTypeIdentifier", { - visitor: ["id", "qualification"], - aliases: ["Flow"], - fields: { - id: (0, _utils.validateType)("Identifier"), - qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]) - } -}); -(0, _utils.default)("StringLiteralTypeAnnotation", { - builder: ["value"], - aliases: ["Flow", "FlowType"], - fields: { - value: (0, _utils.validate)((0, _utils.assertValueType)("string")) - } -}); -(0, _utils.default)("StringTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("ThisTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("TupleTypeAnnotation", { - visitor: ["types"], - aliases: ["Flow", "FlowType"], - fields: { - types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) - } -}); -(0, _utils.default)("TypeofTypeAnnotation", { - visitor: ["argument"], - aliases: ["Flow", "FlowType"], - fields: { - argument: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("TypeAlias", { - visitor: ["id", "typeParameters", "right"], - aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], - fields: { - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), - right: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("TypeAnnotation", { - aliases: ["Flow"], - visitor: ["typeAnnotation"], - fields: { - typeAnnotation: (0, _utils.validateType)("FlowType") - } -}); -(0, _utils.default)("TypeCastExpression", { - visitor: ["expression", "typeAnnotation"], - aliases: ["Flow", "ExpressionWrapper", "Expression"], - fields: { - expression: (0, _utils.validateType)("Expression"), - typeAnnotation: (0, _utils.validateType)("TypeAnnotation") - } -}); -(0, _utils.default)("TypeParameter", { - aliases: ["Flow"], - visitor: ["bound", "default", "variance"], - fields: { - name: (0, _utils.validate)((0, _utils.assertValueType)("string")), - bound: (0, _utils.validateOptionalType)("TypeAnnotation"), - default: (0, _utils.validateOptionalType)("FlowType"), - variance: (0, _utils.validateOptionalType)("Variance") - } -}); -(0, _utils.default)("TypeParameterDeclaration", { - aliases: ["Flow"], - visitor: ["params"], - fields: { - params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) - } -}); -(0, _utils.default)("TypeParameterInstantiation", { - aliases: ["Flow"], - visitor: ["params"], - fields: { - params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) - } -}); -(0, _utils.default)("UnionTypeAnnotation", { - visitor: ["types"], - aliases: ["Flow", "FlowType"], - fields: { - types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) - } -}); -(0, _utils.default)("Variance", { - aliases: ["Flow"], - builder: ["kind"], - fields: { - kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) - } -}); -(0, _utils.default)("VoidTypeAnnotation", { - aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] -}); -(0, _utils.default)("EnumDeclaration", { - alises: ["Declaration"], - visitor: ["id", "body"], - fields: { - id: (0, _utils.validateType)("Identifier"), - body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"]) - } -}); -(0, _utils.default)("EnumBooleanBody", { - aliases: ["EnumBody"], - visitor: ["members"], - fields: { - explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)("EnumBooleanMember") - } -}); -(0, _utils.default)("EnumNumberBody", { - aliases: ["EnumBody"], - visitor: ["members"], - fields: { - explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)("EnumNumberMember") - } -}); -(0, _utils.default)("EnumStringBody", { - aliases: ["EnumBody"], - visitor: ["members"], - fields: { - explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), - members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]) - } -}); -(0, _utils.default)("EnumSymbolBody", { - aliases: ["EnumBody"], - visitor: ["members"], - fields: { - members: (0, _utils.validateArrayOfType)("EnumDefaultedMember") - } -}); -(0, _utils.default)("EnumBooleanMember", { - aliases: ["EnumMember"], - visitor: ["id"], - fields: { - id: (0, _utils.validateType)("Identifier"), - init: (0, _utils.validateType)("BooleanLiteral") - } -}); -(0, _utils.default)("EnumNumberMember", { - aliases: ["EnumMember"], - visitor: ["id", "init"], - fields: { - id: (0, _utils.validateType)("Identifier"), - init: (0, _utils.validateType)("NumericLiteral") - } -}); -(0, _utils.default)("EnumStringMember", { - aliases: ["EnumMember"], - visitor: ["id", "init"], - fields: { - id: (0, _utils.validateType)("Identifier"), - init: (0, _utils.validateType)("StringLiteral") - } -}); -(0, _utils.default)("EnumDefaultedMember", { - aliases: ["EnumMember"], - visitor: ["id"], - fields: { - id: (0, _utils.validateType)("Identifier") - } -}); - -},{"./utils":241}],236:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "VISITOR_KEYS", { - enumerable: true, - get: function get() { - return _utils.VISITOR_KEYS; - } -}); -Object.defineProperty(exports, "ALIAS_KEYS", { - enumerable: true, - get: function get() { - return _utils.ALIAS_KEYS; - } -}); -Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { - enumerable: true, - get: function get() { - return _utils.FLIPPED_ALIAS_KEYS; - } -}); -Object.defineProperty(exports, "NODE_FIELDS", { - enumerable: true, - get: function get() { - return _utils.NODE_FIELDS; - } -}); -Object.defineProperty(exports, "BUILDER_KEYS", { - enumerable: true, - get: function get() { - return _utils.BUILDER_KEYS; - } -}); -Object.defineProperty(exports, "DEPRECATED_KEYS", { - enumerable: true, - get: function get() { - return _utils.DEPRECATED_KEYS; - } -}); -Object.defineProperty(exports, "PLACEHOLDERS", { - enumerable: true, - get: function get() { - return _placeholders.PLACEHOLDERS; - } -}); -Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { - enumerable: true, - get: function get() { - return _placeholders.PLACEHOLDERS_ALIAS; - } -}); -Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { - enumerable: true, - get: function get() { - return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; - } -}); -exports.TYPES = void 0; - -var _toFastProperties = _interopRequireDefault(require("to-fast-properties")); - -require("./core"); - -require("./es2015"); - -require("./flow"); - -require("./jsx"); - -require("./misc"); - -require("./experimental"); - -require("./typescript"); - -var _utils = require("./utils"); - -var _placeholders = require("./placeholders"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -(0, _toFastProperties.default)(_utils.VISITOR_KEYS); -(0, _toFastProperties.default)(_utils.ALIAS_KEYS); -(0, _toFastProperties.default)(_utils.FLIPPED_ALIAS_KEYS); -(0, _toFastProperties.default)(_utils.NODE_FIELDS); -(0, _toFastProperties.default)(_utils.BUILDER_KEYS); -(0, _toFastProperties.default)(_utils.DEPRECATED_KEYS); -(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_ALIAS); -(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); -var TYPES = Object.keys(_utils.VISITOR_KEYS).concat(Object.keys(_utils.FLIPPED_ALIAS_KEYS)).concat(Object.keys(_utils.DEPRECATED_KEYS)); -exports.TYPES = TYPES; - -},{"./core":232,"./es2015":233,"./experimental":234,"./flow":235,"./jsx":237,"./misc":238,"./placeholders":239,"./typescript":240,"./utils":241,"to-fast-properties":1083}],237:[function(require,module,exports){ -"use strict"; - -var _utils = _interopRequireWildcard(require("./utils")); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -(0, _utils.default)("JSXAttribute", { - visitor: ["name", "value"], - aliases: ["JSX", "Immutable"], - fields: { - name: { - validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") - }, - value: { - optional: true, - validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") - } - } -}); -(0, _utils.default)("JSXClosingElement", { - visitor: ["name"], - aliases: ["JSX", "Immutable"], - fields: { - name: { - validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") - } - } -}); -(0, _utils.default)("JSXElement", { - builder: ["openingElement", "closingElement", "children", "selfClosing"], - visitor: ["openingElement", "children", "closingElement"], - aliases: ["JSX", "Immutable", "Expression"], - fields: { - openingElement: { - validate: (0, _utils.assertNodeType)("JSXOpeningElement") - }, - closingElement: { - optional: true, - validate: (0, _utils.assertNodeType)("JSXClosingElement") - }, - children: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) - } - } -}); -(0, _utils.default)("JSXEmptyExpression", { - aliases: ["JSX"] -}); -(0, _utils.default)("JSXExpressionContainer", { - visitor: ["expression"], - aliases: ["JSX", "Immutable"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") - } - } -}); -(0, _utils.default)("JSXSpreadChild", { - visitor: ["expression"], - aliases: ["JSX", "Immutable"], - fields: { - expression: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("JSXIdentifier", { - builder: ["name"], - aliases: ["JSX"], - fields: { - name: { - validate: (0, _utils.assertValueType)("string") - } - } -}); -(0, _utils.default)("JSXMemberExpression", { - visitor: ["object", "property"], - aliases: ["JSX"], - fields: { - object: { - validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") - }, - property: { - validate: (0, _utils.assertNodeType)("JSXIdentifier") - } - } -}); -(0, _utils.default)("JSXNamespacedName", { - visitor: ["namespace", "name"], - aliases: ["JSX"], - fields: { - namespace: { - validate: (0, _utils.assertNodeType)("JSXIdentifier") - }, - name: { - validate: (0, _utils.assertNodeType)("JSXIdentifier") - } - } -}); -(0, _utils.default)("JSXOpeningElement", { - builder: ["name", "attributes", "selfClosing"], - visitor: ["name", "attributes"], - aliases: ["JSX", "Immutable"], - fields: { - name: { - validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") - }, - selfClosing: { - default: false, - validate: (0, _utils.assertValueType)("boolean") - }, - attributes: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), - optional: true - } - } -}); -(0, _utils.default)("JSXSpreadAttribute", { - visitor: ["argument"], - aliases: ["JSX"], - fields: { - argument: { - validate: (0, _utils.assertNodeType)("Expression") - } - } -}); -(0, _utils.default)("JSXText", { - aliases: ["JSX", "Immutable"], - builder: ["value"], - fields: { - value: { - validate: (0, _utils.assertValueType)("string") - } - } -}); -(0, _utils.default)("JSXFragment", { - builder: ["openingFragment", "closingFragment", "children"], - visitor: ["openingFragment", "children", "closingFragment"], - aliases: ["JSX", "Immutable", "Expression"], - fields: { - openingFragment: { - validate: (0, _utils.assertNodeType)("JSXOpeningFragment") - }, - closingFragment: { - validate: (0, _utils.assertNodeType)("JSXClosingFragment") - }, - children: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) - } - } -}); -(0, _utils.default)("JSXOpeningFragment", { - aliases: ["JSX", "Immutable"] -}); -(0, _utils.default)("JSXClosingFragment", { - aliases: ["JSX", "Immutable"] -}); - -},{"./utils":241}],238:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -var _utils = _interopRequireWildcard(require("./utils")); - -var _placeholders = require("./placeholders"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -(0, _utils.default)("Noop", { - visitor: [] -}); -(0, _utils.default)("Placeholder", { - visitor: [], - builder: ["expectedNode", "name"], - fields: { - name: { - validate: (0, _utils.assertNodeType)("Identifier") - }, - expectedNode: { - validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_placeholders.PLACEHOLDERS)) - } - } -}); -(0, _utils.default)("V8IntrinsicIdentifier", { - builder: ["name"], - fields: { - name: { - validate: (0, _utils.assertValueType)("string") - } - } -}); - -},{"./placeholders":239,"./utils":241}],239:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; - -var _utils = require("./utils"); - -var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; -exports.PLACEHOLDERS = PLACEHOLDERS; -var PLACEHOLDERS_ALIAS = { - Declaration: ["Statement"], - Pattern: ["PatternLike", "LVal"] -}; -exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; - -for (var _i = 0, _PLACEHOLDERS = PLACEHOLDERS; _i < _PLACEHOLDERS.length; _i++) { - var type = _PLACEHOLDERS[_i]; - var alias = _utils.ALIAS_KEYS[type]; - if (alias && alias.length) PLACEHOLDERS_ALIAS[type] = alias; -} - -var PLACEHOLDERS_FLIPPED_ALIAS = {}; -exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; -Object.keys(PLACEHOLDERS_ALIAS).forEach(function (type) { - PLACEHOLDERS_ALIAS[type].forEach(function (alias) { - if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { - PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; - } - - PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); - }); -}); - -},{"./utils":241}],240:[function(require,module,exports){ -"use strict"; - -var _utils = _interopRequireWildcard(require("./utils")); - -var _core = require("./core"); - -var _es = require("./es2015"); - -function _getRequireWildcardCache() { - if (typeof WeakMap !== "function") return null; - var cache = new WeakMap(); - - _getRequireWildcardCache = function _getRequireWildcardCache() { - return cache; - }; - - return cache; -} - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } - - var cache = _getRequireWildcardCache(); - - if (cache && cache.has(obj)) { - return cache.get(obj); - } - - var newObj = {}; - - if (obj != null) { - var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; - - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; - - if (desc && (desc.get || desc.set)) { - Object.defineProperty(newObj, key, desc); - } else { - newObj[key] = obj[key]; - } - } - } - } - - newObj.default = obj; - - if (cache) { - cache.set(obj, newObj); - } - - return newObj; -} - -var bool = (0, _utils.assertValueType)("boolean"); -var tSFunctionTypeAnnotationCommon = { - returnType: { - validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), - optional: true - }, - typeParameters: { - validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), - optional: true - } -}; -(0, _utils.default)("TSParameterProperty", { - aliases: ["LVal"], - visitor: ["parameter"], - fields: { - accessibility: { - validate: (0, _utils.assertOneOf)("public", "private", "protected"), - optional: true - }, - readonly: { - validate: (0, _utils.assertValueType)("boolean"), - optional: true - }, - parameter: { - validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") - } - } -}); -(0, _utils.default)("TSDeclareFunction", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "typeParameters", "params", "returnType"], - fields: Object.assign({}, _core.functionDeclarationCommon, {}, tSFunctionTypeAnnotationCommon) -}); -(0, _utils.default)("TSDeclareMethod", { - visitor: ["decorators", "key", "typeParameters", "params", "returnType"], - fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, {}, tSFunctionTypeAnnotationCommon) -}); -(0, _utils.default)("TSQualifiedName", { - aliases: ["TSEntityName"], - visitor: ["left", "right"], - fields: { - left: (0, _utils.validateType)("TSEntityName"), - right: (0, _utils.validateType)("Identifier") - } -}); -var signatureDeclarationCommon = { - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), - parameters: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]), - typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") -}; -var callConstructSignatureDeclaration = { - aliases: ["TSTypeElement"], - visitor: ["typeParameters", "parameters", "typeAnnotation"], - fields: signatureDeclarationCommon -}; -(0, _utils.default)("TSCallSignatureDeclaration", callConstructSignatureDeclaration); -(0, _utils.default)("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); -var namedTypeElementCommon = { - key: (0, _utils.validateType)("Expression"), - computed: (0, _utils.validate)(bool), - optional: (0, _utils.validateOptional)(bool) -}; -(0, _utils.default)("TSPropertySignature", { - aliases: ["TSTypeElement"], - visitor: ["key", "typeAnnotation", "initializer"], - fields: Object.assign({}, namedTypeElementCommon, { - readonly: (0, _utils.validateOptional)(bool), - typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), - initializer: (0, _utils.validateOptionalType)("Expression") - }) -}); -(0, _utils.default)("TSMethodSignature", { - aliases: ["TSTypeElement"], - visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], - fields: Object.assign({}, signatureDeclarationCommon, {}, namedTypeElementCommon) -}); -(0, _utils.default)("TSIndexSignature", { - aliases: ["TSTypeElement"], - visitor: ["parameters", "typeAnnotation"], - fields: { - readonly: (0, _utils.validateOptional)(bool), - parameters: (0, _utils.validateArrayOfType)("Identifier"), - typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") - } -}); -var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; - -for (var _i = 0, _tsKeywordTypes = tsKeywordTypes; _i < _tsKeywordTypes.length; _i++) { - var type = _tsKeywordTypes[_i]; - (0, _utils.default)(type, { - aliases: ["TSType"], - visitor: [], - fields: {} - }); -} - -(0, _utils.default)("TSThisType", { - aliases: ["TSType"], - visitor: [], - fields: {} -}); -var fnOrCtr = { - aliases: ["TSType"], - visitor: ["typeParameters", "parameters", "typeAnnotation"], - fields: signatureDeclarationCommon -}; -(0, _utils.default)("TSFunctionType", fnOrCtr); -(0, _utils.default)("TSConstructorType", fnOrCtr); -(0, _utils.default)("TSTypeReference", { - aliases: ["TSType"], - visitor: ["typeName", "typeParameters"], - fields: { - typeName: (0, _utils.validateType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") - } -}); -(0, _utils.default)("TSTypePredicate", { - aliases: ["TSType"], - visitor: ["parameterName", "typeAnnotation", "asserts"], - fields: { - parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]), - typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), - asserts: (0, _utils.validate)(bool) - } -}); -(0, _utils.default)("TSTypeQuery", { - aliases: ["TSType"], - visitor: ["exprName"], - fields: { - exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]) - } -}); -(0, _utils.default)("TSTypeLiteral", { - aliases: ["TSType"], - visitor: ["members"], - fields: { - members: (0, _utils.validateArrayOfType)("TSTypeElement") - } -}); -(0, _utils.default)("TSArrayType", { - aliases: ["TSType"], - visitor: ["elementType"], - fields: { - elementType: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSTupleType", { - aliases: ["TSType"], - visitor: ["elementTypes"], - fields: { - elementTypes: (0, _utils.validateArrayOfType)("TSType") - } -}); -(0, _utils.default)("TSOptionalType", { - aliases: ["TSType"], - visitor: ["typeAnnotation"], - fields: { - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSRestType", { - aliases: ["TSType"], - visitor: ["typeAnnotation"], - fields: { - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -var unionOrIntersection = { - aliases: ["TSType"], - visitor: ["types"], - fields: { - types: (0, _utils.validateArrayOfType)("TSType") - } -}; -(0, _utils.default)("TSUnionType", unionOrIntersection); -(0, _utils.default)("TSIntersectionType", unionOrIntersection); -(0, _utils.default)("TSConditionalType", { - aliases: ["TSType"], - visitor: ["checkType", "extendsType", "trueType", "falseType"], - fields: { - checkType: (0, _utils.validateType)("TSType"), - extendsType: (0, _utils.validateType)("TSType"), - trueType: (0, _utils.validateType)("TSType"), - falseType: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSInferType", { - aliases: ["TSType"], - visitor: ["typeParameter"], - fields: { - typeParameter: (0, _utils.validateType)("TSTypeParameter") - } -}); -(0, _utils.default)("TSParenthesizedType", { - aliases: ["TSType"], - visitor: ["typeAnnotation"], - fields: { - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSTypeOperator", { - aliases: ["TSType"], - visitor: ["typeAnnotation"], - fields: { - operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSIndexedAccessType", { - aliases: ["TSType"], - visitor: ["objectType", "indexType"], - fields: { - objectType: (0, _utils.validateType)("TSType"), - indexType: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSMappedType", { - aliases: ["TSType"], - visitor: ["typeParameter", "typeAnnotation"], - fields: { - readonly: (0, _utils.validateOptional)(bool), - typeParameter: (0, _utils.validateType)("TSTypeParameter"), - optional: (0, _utils.validateOptional)(bool), - typeAnnotation: (0, _utils.validateOptionalType)("TSType") - } -}); -(0, _utils.default)("TSLiteralType", { - aliases: ["TSType"], - visitor: ["literal"], - fields: { - literal: (0, _utils.validateType)(["NumericLiteral", "StringLiteral", "BooleanLiteral"]) - } -}); -(0, _utils.default)("TSExpressionWithTypeArguments", { - aliases: ["TSType"], - visitor: ["expression", "typeParameters"], - fields: { - expression: (0, _utils.validateType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") - } -}); -(0, _utils.default)("TSInterfaceDeclaration", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "typeParameters", "extends", "body"], - fields: { - declare: (0, _utils.validateOptional)(bool), - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), - extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), - body: (0, _utils.validateType)("TSInterfaceBody") - } -}); -(0, _utils.default)("TSInterfaceBody", { - visitor: ["body"], - fields: { - body: (0, _utils.validateArrayOfType)("TSTypeElement") - } -}); -(0, _utils.default)("TSTypeAliasDeclaration", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "typeParameters", "typeAnnotation"], - fields: { - declare: (0, _utils.validateOptional)(bool), - id: (0, _utils.validateType)("Identifier"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSAsExpression", { - aliases: ["Expression"], - visitor: ["expression", "typeAnnotation"], - fields: { - expression: (0, _utils.validateType)("Expression"), - typeAnnotation: (0, _utils.validateType)("TSType") - } -}); -(0, _utils.default)("TSTypeAssertion", { - aliases: ["Expression"], - visitor: ["typeAnnotation", "expression"], - fields: { - typeAnnotation: (0, _utils.validateType)("TSType"), - expression: (0, _utils.validateType)("Expression") - } -}); -(0, _utils.default)("TSEnumDeclaration", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "members"], - fields: { - declare: (0, _utils.validateOptional)(bool), - const: (0, _utils.validateOptional)(bool), - id: (0, _utils.validateType)("Identifier"), - members: (0, _utils.validateArrayOfType)("TSEnumMember"), - initializer: (0, _utils.validateOptionalType)("Expression") - } -}); -(0, _utils.default)("TSEnumMember", { - visitor: ["id", "initializer"], - fields: { - id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), - initializer: (0, _utils.validateOptionalType)("Expression") - } -}); -(0, _utils.default)("TSModuleDeclaration", { - aliases: ["Statement", "Declaration"], - visitor: ["id", "body"], - fields: { - declare: (0, _utils.validateOptional)(bool), - global: (0, _utils.validateOptional)(bool), - id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), - body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"]) - } -}); -(0, _utils.default)("TSModuleBlock", { - aliases: ["Scopable", "Block", "BlockParent"], - visitor: ["body"], - fields: { - body: (0, _utils.validateArrayOfType)("Statement") - } -}); -(0, _utils.default)("TSImportType", { - aliases: ["TSType"], - visitor: ["argument", "qualifier", "typeParameters"], - fields: { - argument: (0, _utils.validateType)("StringLiteral"), - qualifier: (0, _utils.validateOptionalType)("TSEntityName"), - typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") - } -}); -(0, _utils.default)("TSImportEqualsDeclaration", { - aliases: ["Statement"], - visitor: ["id", "moduleReference"], - fields: { - isExport: (0, _utils.validate)(bool), - id: (0, _utils.validateType)("Identifier"), - moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]) - } -}); -(0, _utils.default)("TSExternalModuleReference", { - visitor: ["expression"], - fields: { - expression: (0, _utils.validateType)("StringLiteral") - } -}); -(0, _utils.default)("TSNonNullExpression", { - aliases: ["Expression"], - visitor: ["expression"], - fields: { - expression: (0, _utils.validateType)("Expression") - } -}); -(0, _utils.default)("TSExportAssignment", { - aliases: ["Statement"], - visitor: ["expression"], - fields: { - expression: (0, _utils.validateType)("Expression") - } -}); -(0, _utils.default)("TSNamespaceExportDeclaration", { - aliases: ["Statement"], - visitor: ["id"], - fields: { - id: (0, _utils.validateType)("Identifier") - } -}); -(0, _utils.default)("TSTypeAnnotation", { - visitor: ["typeAnnotation"], - fields: { - typeAnnotation: { - validate: (0, _utils.assertNodeType)("TSType") - } - } -}); -(0, _utils.default)("TSTypeParameterInstantiation", { - visitor: ["params"], - fields: { - params: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType"))) - } - } -}); -(0, _utils.default)("TSTypeParameterDeclaration", { - visitor: ["params"], - fields: { - params: { - validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter"))) - } - } -}); -(0, _utils.default)("TSTypeParameter", { - builder: ["constraint", "default", "name"], - visitor: ["constraint", "default"], - fields: { - name: { - validate: (0, _utils.assertValueType)("string") - }, - constraint: { - validate: (0, _utils.assertNodeType)("TSType"), - optional: true - }, - default: { - validate: (0, _utils.assertNodeType)("TSType"), - optional: true - } - } -}); - -},{"./core":232,"./es2015":233,"./utils":241}],241:[function(require,module,exports){ -"use strict"; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.validate = validate; -exports.typeIs = typeIs; -exports.validateType = validateType; -exports.validateOptional = validateOptional; -exports.validateOptionalType = validateOptionalType; -exports.arrayOf = arrayOf; -exports.arrayOfType = arrayOfType; -exports.validateArrayOfType = validateArrayOfType; -exports.assertEach = assertEach; -exports.assertOneOf = assertOneOf; -exports.assertNodeType = assertNodeType; -exports.assertNodeOrValueType = assertNodeOrValueType; -exports.assertValueType = assertValueType; -exports.assertShape = assertShape; -exports.chain = chain; -exports.default = defineType; -exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0; - -var _is = _interopRequireDefault(require("../validators/is")); - -var _validate = require("../validators/validate"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var VISITOR_KEYS = {}; -exports.VISITOR_KEYS = VISITOR_KEYS; -var ALIAS_KEYS = {}; -exports.ALIAS_KEYS = ALIAS_KEYS; -var FLIPPED_ALIAS_KEYS = {}; -exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; -var NODE_FIELDS = {}; -exports.NODE_FIELDS = NODE_FIELDS; -var BUILDER_KEYS = {}; -exports.BUILDER_KEYS = BUILDER_KEYS; -var DEPRECATED_KEYS = {}; -exports.DEPRECATED_KEYS = DEPRECATED_KEYS; - -function getType(val) { - if (Array.isArray(val)) { - return "array"; - } else if (val === null) { - return "null"; - } else if (val === undefined) { - return "undefined"; - } else { - return _typeof(val); - } -} - -function validate(validate) { - return { - validate: validate - }; -} - -function typeIs(typeName) { - return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType.apply(void 0, _toConsumableArray(typeName)); -} - -function validateType(typeName) { - return validate(typeIs(typeName)); -} - -function validateOptional(validate) { - return { - validate: validate, - optional: true - }; -} - -function validateOptionalType(typeName) { - return { - validate: typeIs(typeName), - optional: true - }; -} - -function arrayOf(elementType) { - return chain(assertValueType("array"), assertEach(elementType)); -} - -function arrayOfType(typeName) { - return arrayOf(typeIs(typeName)); -} - -function validateArrayOfType(typeName) { - return validate(arrayOfType(typeName)); -} - -function assertEach(callback) { - function validator(node, key, val) { - if (!Array.isArray(val)) return; - - for (var i = 0; i < val.length; i++) { - callback(node, "".concat(key, "[").concat(i, "]"), val[i]); - } - } - - validator.each = callback; - return validator; -} - -function assertOneOf() { - for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) { - values[_key] = arguments[_key]; - } - - function validate(node, key, val) { - if (values.indexOf(val) < 0) { - throw new TypeError("Property ".concat(key, " expected value to be one of ").concat(JSON.stringify(values), " but got ").concat(JSON.stringify(val))); - } - } - - validate.oneOf = values; - return validate; -} - -function assertNodeType() { - for (var _len2 = arguments.length, types = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - types[_key2] = arguments[_key2]; - } - - function validate(node, key, val) { - var valid = false; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = types[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var type = _step.value; - - if ((0, _is.default)(type, val)) { - valid = true; - break; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (!valid) { - throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected node to be of a type ").concat(JSON.stringify(types), " ") + "but instead got ".concat(JSON.stringify(val && val.type))); - } - } - - validate.oneOfNodeTypes = types; - return validate; -} - -function assertNodeOrValueType() { - for (var _len3 = arguments.length, types = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - types[_key3] = arguments[_key3]; - } - - function validate(node, key, val) { - var valid = false; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = types[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var type = _step2.value; - - if (getType(val) === type || (0, _is.default)(type, val)) { - valid = true; - break; - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - if (!valid) { - throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected node to be of a type ").concat(JSON.stringify(types), " ") + "but instead got ".concat(JSON.stringify(val && val.type))); - } - } - - validate.oneOfNodeOrValueTypes = types; - return validate; -} - -function assertValueType(type) { - function validate(node, key, val) { - var valid = getType(val) === type; - - if (!valid) { - throw new TypeError("Property ".concat(key, " expected type of ").concat(type, " but got ").concat(getType(val))); - } - } - - validate.type = type; - return validate; -} - -function assertShape(shape) { - function validate(node, key, val) { - var errors = []; - - for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) { - var property = _Object$keys[_i]; - - try { - (0, _validate.validateField)(node, property, val[property], shape[property]); - } catch (error) { - if (error instanceof TypeError) { - errors.push(error.message); - continue; - } - - throw error; - } - } - - if (errors.length) { - throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected to have the following:\n").concat(errors.join("\n"))); - } - } - - validate.shapeOf = shape; - return validate; -} - -function chain() { - for (var _len4 = arguments.length, fns = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - fns[_key4] = arguments[_key4]; - } - - function validate() { - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = fns[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var fn = _step3.value; - fn.apply(void 0, arguments); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - } - - validate.chainOf = fns; - return validate; -} - -function defineType(type) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var inherits = opts.inherits && store[opts.inherits] || {}; - var fields = opts.fields || inherits.fields || {}; - var visitor = opts.visitor || inherits.visitor || []; - var aliases = opts.aliases || inherits.aliases || []; - var builder = opts.builder || inherits.builder || opts.visitor || []; - - if (opts.deprecatedAlias) { - DEPRECATED_KEYS[opts.deprecatedAlias] = type; - } - - var _iteratorNormalCompletion4 = true; - var _didIteratorError4 = false; - var _iteratorError4 = undefined; - - try { - for (var _iterator4 = visitor.concat(builder)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { - var key = _step4.value; - fields[key] = fields[key] || {}; - } - } catch (err) { - _didIteratorError4 = true; - _iteratorError4 = err; - } finally { - try { - if (!_iteratorNormalCompletion4 && _iterator4.return != null) { - _iterator4.return(); - } - } finally { - if (_didIteratorError4) { - throw _iteratorError4; - } - } - } - - for (var _i2 = 0, _Object$keys2 = Object.keys(fields); _i2 < _Object$keys2.length; _i2++) { - var _key5 = _Object$keys2[_i2]; - var field = fields[_key5]; - - if (builder.indexOf(_key5) === -1) { - field.optional = true; - } - - if (field.default === undefined) { - field.default = null; - } else if (!field.validate) { - field.validate = assertValueType(getType(field.default)); - } - } - - VISITOR_KEYS[type] = opts.visitor = visitor; - BUILDER_KEYS[type] = opts.builder = builder; - NODE_FIELDS[type] = opts.fields = fields; - ALIAS_KEYS[type] = opts.aliases = aliases; - aliases.forEach(function (alias) { - FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; - FLIPPED_ALIAS_KEYS[alias].push(type); - }); - store[type] = opts; -} - -var store = {}; - -},{"../validators/is":258,"../validators/validate":276}],242:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var _exportNames = { - react: true, - assertNode: true, - createTypeAnnotationBasedOnTypeof: true, - createUnionTypeAnnotation: true, - cloneNode: true, - clone: true, - cloneDeep: true, - cloneWithoutLoc: true, - addComment: true, - addComments: true, - inheritInnerComments: true, - inheritLeadingComments: true, - inheritsComments: true, - inheritTrailingComments: true, - removeComments: true, - ensureBlock: true, - toBindingIdentifierName: true, - toBlock: true, - toComputedKey: true, - toExpression: true, - toIdentifier: true, - toKeyAlias: true, - toSequenceExpression: true, - toStatement: true, - valueToNode: true, - appendToMemberExpression: true, - inherits: true, - prependToMemberExpression: true, - removeProperties: true, - removePropertiesDeep: true, - removeTypeDuplicates: true, - getBindingIdentifiers: true, - getOuterBindingIdentifiers: true, - traverse: true, - traverseFast: true, - shallowEqual: true, - is: true, - isBinding: true, - isBlockScoped: true, - isImmutable: true, - isLet: true, - isNode: true, - isNodesEquivalent: true, - isPlaceholderType: true, - isReferenced: true, - isScope: true, - isSpecifierDefault: true, - isType: true, - isValidES3Identifier: true, - isValidIdentifier: true, - isVar: true, - matchesPattern: true, - validate: true, - buildMatchMemberExpression: true -}; -Object.defineProperty(exports, "assertNode", { - enumerable: true, - get: function get() { - return _assertNode.default; - } -}); -Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { - enumerable: true, - get: function get() { - return _createTypeAnnotationBasedOnTypeof.default; - } -}); -Object.defineProperty(exports, "createUnionTypeAnnotation", { - enumerable: true, - get: function get() { - return _createUnionTypeAnnotation.default; - } -}); -Object.defineProperty(exports, "cloneNode", { - enumerable: true, - get: function get() { - return _cloneNode.default; - } -}); -Object.defineProperty(exports, "clone", { - enumerable: true, - get: function get() { - return _clone.default; - } -}); -Object.defineProperty(exports, "cloneDeep", { - enumerable: true, - get: function get() { - return _cloneDeep.default; - } -}); -Object.defineProperty(exports, "cloneWithoutLoc", { - enumerable: true, - get: function get() { - return _cloneWithoutLoc.default; - } -}); -Object.defineProperty(exports, "addComment", { - enumerable: true, - get: function get() { - return _addComment.default; - } -}); -Object.defineProperty(exports, "addComments", { - enumerable: true, - get: function get() { - return _addComments.default; - } -}); -Object.defineProperty(exports, "inheritInnerComments", { - enumerable: true, - get: function get() { - return _inheritInnerComments.default; - } -}); -Object.defineProperty(exports, "inheritLeadingComments", { - enumerable: true, - get: function get() { - return _inheritLeadingComments.default; - } -}); -Object.defineProperty(exports, "inheritsComments", { - enumerable: true, - get: function get() { - return _inheritsComments.default; - } -}); -Object.defineProperty(exports, "inheritTrailingComments", { - enumerable: true, - get: function get() { - return _inheritTrailingComments.default; - } -}); -Object.defineProperty(exports, "removeComments", { - enumerable: true, - get: function get() { - return _removeComments.default; - } -}); -Object.defineProperty(exports, "ensureBlock", { - enumerable: true, - get: function get() { - return _ensureBlock.default; - } -}); -Object.defineProperty(exports, "toBindingIdentifierName", { - enumerable: true, - get: function get() { - return _toBindingIdentifierName.default; - } -}); -Object.defineProperty(exports, "toBlock", { - enumerable: true, - get: function get() { - return _toBlock.default; - } -}); -Object.defineProperty(exports, "toComputedKey", { - enumerable: true, - get: function get() { - return _toComputedKey.default; - } -}); -Object.defineProperty(exports, "toExpression", { - enumerable: true, - get: function get() { - return _toExpression.default; - } -}); -Object.defineProperty(exports, "toIdentifier", { - enumerable: true, - get: function get() { - return _toIdentifier.default; - } -}); -Object.defineProperty(exports, "toKeyAlias", { - enumerable: true, - get: function get() { - return _toKeyAlias.default; - } -}); -Object.defineProperty(exports, "toSequenceExpression", { - enumerable: true, - get: function get() { - return _toSequenceExpression.default; - } -}); -Object.defineProperty(exports, "toStatement", { - enumerable: true, - get: function get() { - return _toStatement.default; - } -}); -Object.defineProperty(exports, "valueToNode", { - enumerable: true, - get: function get() { - return _valueToNode.default; - } -}); -Object.defineProperty(exports, "appendToMemberExpression", { - enumerable: true, - get: function get() { - return _appendToMemberExpression.default; - } -}); -Object.defineProperty(exports, "inherits", { - enumerable: true, - get: function get() { - return _inherits.default; - } -}); -Object.defineProperty(exports, "prependToMemberExpression", { - enumerable: true, - get: function get() { - return _prependToMemberExpression.default; - } -}); -Object.defineProperty(exports, "removeProperties", { - enumerable: true, - get: function get() { - return _removeProperties.default; - } -}); -Object.defineProperty(exports, "removePropertiesDeep", { - enumerable: true, - get: function get() { - return _removePropertiesDeep.default; - } -}); -Object.defineProperty(exports, "removeTypeDuplicates", { - enumerable: true, - get: function get() { - return _removeTypeDuplicates.default; - } -}); -Object.defineProperty(exports, "getBindingIdentifiers", { - enumerable: true, - get: function get() { - return _getBindingIdentifiers.default; - } -}); -Object.defineProperty(exports, "getOuterBindingIdentifiers", { - enumerable: true, - get: function get() { - return _getOuterBindingIdentifiers.default; - } -}); -Object.defineProperty(exports, "traverse", { - enumerable: true, - get: function get() { - return _traverse.default; - } -}); -Object.defineProperty(exports, "traverseFast", { - enumerable: true, - get: function get() { - return _traverseFast.default; - } -}); -Object.defineProperty(exports, "shallowEqual", { - enumerable: true, - get: function get() { - return _shallowEqual.default; - } -}); -Object.defineProperty(exports, "is", { - enumerable: true, - get: function get() { - return _is.default; - } -}); -Object.defineProperty(exports, "isBinding", { - enumerable: true, - get: function get() { - return _isBinding.default; - } -}); -Object.defineProperty(exports, "isBlockScoped", { - enumerable: true, - get: function get() { - return _isBlockScoped.default; - } -}); -Object.defineProperty(exports, "isImmutable", { - enumerable: true, - get: function get() { - return _isImmutable.default; - } -}); -Object.defineProperty(exports, "isLet", { - enumerable: true, - get: function get() { - return _isLet.default; - } -}); -Object.defineProperty(exports, "isNode", { - enumerable: true, - get: function get() { - return _isNode.default; - } -}); -Object.defineProperty(exports, "isNodesEquivalent", { - enumerable: true, - get: function get() { - return _isNodesEquivalent.default; - } -}); -Object.defineProperty(exports, "isPlaceholderType", { - enumerable: true, - get: function get() { - return _isPlaceholderType.default; - } -}); -Object.defineProperty(exports, "isReferenced", { - enumerable: true, - get: function get() { - return _isReferenced.default; - } -}); -Object.defineProperty(exports, "isScope", { - enumerable: true, - get: function get() { - return _isScope.default; - } -}); -Object.defineProperty(exports, "isSpecifierDefault", { - enumerable: true, - get: function get() { - return _isSpecifierDefault.default; - } -}); -Object.defineProperty(exports, "isType", { - enumerable: true, - get: function get() { - return _isType.default; - } -}); -Object.defineProperty(exports, "isValidES3Identifier", { - enumerable: true, - get: function get() { - return _isValidES3Identifier.default; - } -}); -Object.defineProperty(exports, "isValidIdentifier", { - enumerable: true, - get: function get() { - return _isValidIdentifier.default; - } -}); -Object.defineProperty(exports, "isVar", { - enumerable: true, - get: function get() { - return _isVar.default; - } -}); -Object.defineProperty(exports, "matchesPattern", { - enumerable: true, - get: function get() { - return _matchesPattern.default; - } -}); -Object.defineProperty(exports, "validate", { - enumerable: true, - get: function get() { - return _validate.default; - } -}); -Object.defineProperty(exports, "buildMatchMemberExpression", { - enumerable: true, - get: function get() { - return _buildMatchMemberExpression.default; - } -}); -exports.react = void 0; - -var _isReactComponent = _interopRequireDefault(require("./validators/react/isReactComponent")); - -var _isCompatTag = _interopRequireDefault(require("./validators/react/isCompatTag")); - -var _buildChildren = _interopRequireDefault(require("./builders/react/buildChildren")); - -var _assertNode = _interopRequireDefault(require("./asserts/assertNode")); - -var _generated = require("./asserts/generated"); - -Object.keys(_generated).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _generated[key]; - } - }); -}); - -var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(require("./builders/flow/createTypeAnnotationBasedOnTypeof")); - -var _createUnionTypeAnnotation = _interopRequireDefault(require("./builders/flow/createUnionTypeAnnotation")); - -var _generated2 = require("./builders/generated"); - -Object.keys(_generated2).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _generated2[key]; - } - }); -}); - -var _cloneNode = _interopRequireDefault(require("./clone/cloneNode")); - -var _clone = _interopRequireDefault(require("./clone/clone")); - -var _cloneDeep = _interopRequireDefault(require("./clone/cloneDeep")); - -var _cloneWithoutLoc = _interopRequireDefault(require("./clone/cloneWithoutLoc")); - -var _addComment = _interopRequireDefault(require("./comments/addComment")); - -var _addComments = _interopRequireDefault(require("./comments/addComments")); - -var _inheritInnerComments = _interopRequireDefault(require("./comments/inheritInnerComments")); - -var _inheritLeadingComments = _interopRequireDefault(require("./comments/inheritLeadingComments")); - -var _inheritsComments = _interopRequireDefault(require("./comments/inheritsComments")); - -var _inheritTrailingComments = _interopRequireDefault(require("./comments/inheritTrailingComments")); - -var _removeComments = _interopRequireDefault(require("./comments/removeComments")); - -var _generated3 = require("./constants/generated"); - -Object.keys(_generated3).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _generated3[key]; - } - }); -}); - -var _constants = require("./constants"); - -Object.keys(_constants).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _constants[key]; - } - }); -}); - -var _ensureBlock = _interopRequireDefault(require("./converters/ensureBlock")); - -var _toBindingIdentifierName = _interopRequireDefault(require("./converters/toBindingIdentifierName")); - -var _toBlock = _interopRequireDefault(require("./converters/toBlock")); - -var _toComputedKey = _interopRequireDefault(require("./converters/toComputedKey")); - -var _toExpression = _interopRequireDefault(require("./converters/toExpression")); - -var _toIdentifier = _interopRequireDefault(require("./converters/toIdentifier")); - -var _toKeyAlias = _interopRequireDefault(require("./converters/toKeyAlias")); - -var _toSequenceExpression = _interopRequireDefault(require("./converters/toSequenceExpression")); - -var _toStatement = _interopRequireDefault(require("./converters/toStatement")); - -var _valueToNode = _interopRequireDefault(require("./converters/valueToNode")); - -var _definitions = require("./definitions"); - -Object.keys(_definitions).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _definitions[key]; - } - }); -}); - -var _appendToMemberExpression = _interopRequireDefault(require("./modifications/appendToMemberExpression")); - -var _inherits = _interopRequireDefault(require("./modifications/inherits")); - -var _prependToMemberExpression = _interopRequireDefault(require("./modifications/prependToMemberExpression")); - -var _removeProperties = _interopRequireDefault(require("./modifications/removeProperties")); - -var _removePropertiesDeep = _interopRequireDefault(require("./modifications/removePropertiesDeep")); - -var _removeTypeDuplicates = _interopRequireDefault(require("./modifications/flow/removeTypeDuplicates")); - -var _getBindingIdentifiers = _interopRequireDefault(require("./retrievers/getBindingIdentifiers")); - -var _getOuterBindingIdentifiers = _interopRequireDefault(require("./retrievers/getOuterBindingIdentifiers")); - -var _traverse = _interopRequireDefault(require("./traverse/traverse")); - -var _traverseFast = _interopRequireDefault(require("./traverse/traverseFast")); - -var _shallowEqual = _interopRequireDefault(require("./utils/shallowEqual")); - -var _is = _interopRequireDefault(require("./validators/is")); - -var _isBinding = _interopRequireDefault(require("./validators/isBinding")); - -var _isBlockScoped = _interopRequireDefault(require("./validators/isBlockScoped")); - -var _isImmutable = _interopRequireDefault(require("./validators/isImmutable")); - -var _isLet = _interopRequireDefault(require("./validators/isLet")); - -var _isNode = _interopRequireDefault(require("./validators/isNode")); - -var _isNodesEquivalent = _interopRequireDefault(require("./validators/isNodesEquivalent")); - -var _isPlaceholderType = _interopRequireDefault(require("./validators/isPlaceholderType")); - -var _isReferenced = _interopRequireDefault(require("./validators/isReferenced")); - -var _isScope = _interopRequireDefault(require("./validators/isScope")); - -var _isSpecifierDefault = _interopRequireDefault(require("./validators/isSpecifierDefault")); - -var _isType = _interopRequireDefault(require("./validators/isType")); - -var _isValidES3Identifier = _interopRequireDefault(require("./validators/isValidES3Identifier")); - -var _isValidIdentifier = _interopRequireDefault(require("./validators/isValidIdentifier")); - -var _isVar = _interopRequireDefault(require("./validators/isVar")); - -var _matchesPattern = _interopRequireDefault(require("./validators/matchesPattern")); - -var _validate = _interopRequireDefault(require("./validators/validate")); - -var _buildMatchMemberExpression = _interopRequireDefault(require("./validators/buildMatchMemberExpression")); - -var _generated4 = require("./validators/generated"); - -Object.keys(_generated4).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function get() { - return _generated4[key]; - } - }); -}); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var react = { - isReactComponent: _isReactComponent.default, - isCompatTag: _isCompatTag.default, - buildChildren: _buildChildren.default -}; -exports.react = react; - -},{"./asserts/assertNode":201,"./asserts/generated":202,"./builders/flow/createTypeAnnotationBasedOnTypeof":204,"./builders/flow/createUnionTypeAnnotation":205,"./builders/generated":206,"./builders/react/buildChildren":207,"./clone/clone":208,"./clone/cloneDeep":209,"./clone/cloneNode":210,"./clone/cloneWithoutLoc":211,"./comments/addComment":212,"./comments/addComments":213,"./comments/inheritInnerComments":214,"./comments/inheritLeadingComments":215,"./comments/inheritTrailingComments":216,"./comments/inheritsComments":217,"./comments/removeComments":218,"./constants":220,"./constants/generated":219,"./converters/ensureBlock":221,"./converters/toBindingIdentifierName":223,"./converters/toBlock":224,"./converters/toComputedKey":225,"./converters/toExpression":226,"./converters/toIdentifier":227,"./converters/toKeyAlias":228,"./converters/toSequenceExpression":229,"./converters/toStatement":230,"./converters/valueToNode":231,"./definitions":236,"./modifications/appendToMemberExpression":243,"./modifications/flow/removeTypeDuplicates":244,"./modifications/inherits":245,"./modifications/prependToMemberExpression":246,"./modifications/removeProperties":247,"./modifications/removePropertiesDeep":248,"./retrievers/getBindingIdentifiers":249,"./retrievers/getOuterBindingIdentifiers":250,"./traverse/traverse":251,"./traverse/traverseFast":252,"./utils/shallowEqual":255,"./validators/buildMatchMemberExpression":256,"./validators/generated":257,"./validators/is":258,"./validators/isBinding":259,"./validators/isBlockScoped":260,"./validators/isImmutable":261,"./validators/isLet":262,"./validators/isNode":263,"./validators/isNodesEquivalent":264,"./validators/isPlaceholderType":265,"./validators/isReferenced":266,"./validators/isScope":267,"./validators/isSpecifierDefault":268,"./validators/isType":269,"./validators/isValidES3Identifier":270,"./validators/isValidIdentifier":271,"./validators/isVar":272,"./validators/matchesPattern":273,"./validators/react/isCompatTag":274,"./validators/react/isReactComponent":275,"./validators/validate":276}],243:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = appendToMemberExpression; - -var _generated = require("../builders/generated"); - -function appendToMemberExpression(member, append) { - var computed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; - member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed); - member.property = append; - member.computed = !!computed; - return member; -} - -},{"../builders/generated":206}],244:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = removeTypeDuplicates; - -var _generated = require("../../validators/generated"); - -function removeTypeDuplicates(nodes) { - var generics = {}; - var bases = {}; - var typeGroups = []; - var types = []; - - for (var i = 0; i < nodes.length; i++) { - var node = nodes[i]; - if (!node) continue; - - if (types.indexOf(node) >= 0) { - continue; - } - - if ((0, _generated.isAnyTypeAnnotation)(node)) { - return [node]; - } - - if ((0, _generated.isFlowBaseAnnotation)(node)) { - bases[node.type] = node; - continue; - } - - if ((0, _generated.isUnionTypeAnnotation)(node)) { - if (typeGroups.indexOf(node.types) < 0) { - nodes = nodes.concat(node.types); - typeGroups.push(node.types); - } - - continue; - } - - if ((0, _generated.isGenericTypeAnnotation)(node)) { - var name = node.id.name; - - if (generics[name]) { - var existing = generics[name]; - - if (existing.typeParameters) { - if (node.typeParameters) { - existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params)); - } - } else { - existing = node.typeParameters; - } - } else { - generics[name] = node; - } - - continue; - } - - types.push(node); - } - - for (var _i = 0, _Object$keys = Object.keys(bases); _i < _Object$keys.length; _i++) { - var type = _Object$keys[_i]; - types.push(bases[type]); - } - - for (var _i2 = 0, _Object$keys2 = Object.keys(generics); _i2 < _Object$keys2.length; _i2++) { - var _name = _Object$keys2[_i2]; - types.push(generics[_name]); - } - - return types; -} - -},{"../../validators/generated":257}],245:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inherits; - -var _constants = require("../constants"); - -var _inheritsComments = _interopRequireDefault(require("../comments/inheritsComments")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inherits(child, parent) { - if (!child || !parent) return child; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = _constants.INHERIT_KEYS.optional[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - - if (child[key] == null) { - child[key] = parent[key]; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - for (var _i = 0, _Object$keys = Object.keys(parent); _i < _Object$keys.length; _i++) { - var _key = _Object$keys[_i]; - if (_key[0] === "_" && _key !== "__clone") child[_key] = parent[_key]; - } - - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = _constants.INHERIT_KEYS.force[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _key2 = _step2.value; - child[_key2] = parent[_key2]; - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - (0, _inheritsComments.default)(child, parent); - return child; -} - -},{"../comments/inheritsComments":217,"../constants":220}],246:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = prependToMemberExpression; - -var _generated = require("../builders/generated"); - -function prependToMemberExpression(member, prepend) { - member.object = (0, _generated.memberExpression)(prepend, member.object); - return member; -} - -},{"../builders/generated":206}],247:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = removeProperties; - -var _constants = require("../constants"); - -var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; - -var CLEAR_KEYS_PLUS_COMMENTS = _constants.COMMENT_KEYS.concat(["comments"]).concat(CLEAR_KEYS); - -function removeProperties(node) { - var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - if (node[key] != null) node[key] = undefined; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) { - var _key = _Object$keys[_i]; - if (_key[0] === "_" && node[_key] != null) node[_key] = undefined; - } - - var symbols = Object.getOwnPropertySymbols(node); - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = symbols[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var sym = _step2.value; - node[sym] = null; - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } -} - -},{"../constants":220}],248:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = removePropertiesDeep; - -var _traverseFast = _interopRequireDefault(require("../traverse/traverseFast")); - -var _removeProperties = _interopRequireDefault(require("./removeProperties")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function removePropertiesDeep(tree, opts) { - (0, _traverseFast.default)(tree, _removeProperties.default, opts); - return tree; -} - -},{"../traverse/traverseFast":252,"./removeProperties":247}],249:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getBindingIdentifiers; - -var _generated = require("../validators/generated"); - -function getBindingIdentifiers(node, duplicates, outerOnly) { - var search = [].concat(node); - var ids = Object.create(null); - - while (search.length) { - var id = search.shift(); - if (!id) continue; - var keys = getBindingIdentifiers.keys[id.type]; - - if ((0, _generated.isIdentifier)(id)) { - if (duplicates) { - var _ids = ids[id.name] = ids[id.name] || []; - - _ids.push(id); - } else { - ids[id.name] = id; - } - - continue; - } - - if ((0, _generated.isExportDeclaration)(id)) { - if ((0, _generated.isDeclaration)(id.declaration)) { - search.push(id.declaration); - } - - continue; - } - - if (outerOnly) { - if ((0, _generated.isFunctionDeclaration)(id)) { - search.push(id.id); - continue; - } - - if ((0, _generated.isFunctionExpression)(id)) { - continue; - } - } - - if (keys) { - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - - if (id[key]) { - search = search.concat(id[key]); - } - } - } - } - - return ids; -} - -getBindingIdentifiers.keys = { - DeclareClass: ["id"], - DeclareFunction: ["id"], - DeclareModule: ["id"], - DeclareVariable: ["id"], - DeclareInterface: ["id"], - DeclareTypeAlias: ["id"], - DeclareOpaqueType: ["id"], - InterfaceDeclaration: ["id"], - TypeAlias: ["id"], - OpaqueType: ["id"], - CatchClause: ["param"], - LabeledStatement: ["label"], - UnaryExpression: ["argument"], - AssignmentExpression: ["left"], - ImportSpecifier: ["local"], - ImportNamespaceSpecifier: ["local"], - ImportDefaultSpecifier: ["local"], - ImportDeclaration: ["specifiers"], - ExportSpecifier: ["exported"], - ExportNamespaceSpecifier: ["exported"], - ExportDefaultSpecifier: ["exported"], - FunctionDeclaration: ["id", "params"], - FunctionExpression: ["id", "params"], - ArrowFunctionExpression: ["params"], - ObjectMethod: ["params"], - ClassMethod: ["params"], - ForInStatement: ["left"], - ForOfStatement: ["left"], - ClassDeclaration: ["id"], - ClassExpression: ["id"], - RestElement: ["argument"], - UpdateExpression: ["argument"], - ObjectProperty: ["value"], - AssignmentPattern: ["left"], - ArrayPattern: ["elements"], - ObjectPattern: ["properties"], - VariableDeclaration: ["declarations"], - VariableDeclarator: ["id"] -}; - -},{"../validators/generated":257}],250:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getOuterBindingIdentifiers; - -var _getBindingIdentifiers = _interopRequireDefault(require("./getBindingIdentifiers")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function getOuterBindingIdentifiers(node, duplicates) { - return (0, _getBindingIdentifiers.default)(node, duplicates, true); -} - -},{"./getBindingIdentifiers":249}],251:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = traverse; - -var _definitions = require("../definitions"); - -function traverse(node, handlers, state) { - if (typeof handlers === "function") { - handlers = { - enter: handlers - }; - } - - var _handlers = handlers, - enter = _handlers.enter, - exit = _handlers.exit; - traverseSimpleImpl(node, enter, exit, state, []); -} - -function traverseSimpleImpl(node, enter, exit, state, ancestors) { - var keys = _definitions.VISITOR_KEYS[node.type]; - if (!keys) return; - if (enter) enter(node, ancestors, state); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - var subNode = node[key]; - - if (Array.isArray(subNode)) { - for (var i = 0; i < subNode.length; i++) { - var child = subNode[i]; - if (!child) continue; - ancestors.push({ - node: node, - key: key, - index: i - }); - traverseSimpleImpl(child, enter, exit, state, ancestors); - ancestors.pop(); - } - } else if (subNode) { - ancestors.push({ - node: node, - key: key - }); - traverseSimpleImpl(subNode, enter, exit, state, ancestors); - ancestors.pop(); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (exit) exit(node, ancestors, state); -} - -},{"../definitions":236}],252:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = traverseFast; - -var _definitions = require("../definitions"); - -function traverseFast(node, enter, opts) { - if (!node) return; - var keys = _definitions.VISITOR_KEYS[node.type]; - if (!keys) return; - opts = opts || {}; - enter(node, opts); - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var key = _step.value; - var subNode = node[key]; - - if (Array.isArray(subNode)) { - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = subNode[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var _node = _step2.value; - traverseFast(_node, enter, opts); - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - } else { - traverseFast(subNode, enter, opts); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } -} - -},{"../definitions":236}],253:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = inherit; - -var _uniq = _interopRequireDefault(require("lodash/uniq")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function inherit(key, child, parent) { - if (child && parent) { - child[key] = (0, _uniq.default)([].concat(child[key], parent[key]).filter(Boolean)); - } -} - -},{"lodash/uniq":1047}],254:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cleanJSXElementLiteralChild; - -var _generated = require("../../builders/generated"); - -function cleanJSXElementLiteralChild(child, args) { - var lines = child.value.split(/\r\n|\n|\r/); - var lastNonEmptyLine = 0; - - for (var i = 0; i < lines.length; i++) { - if (lines[i].match(/[^ \t]/)) { - lastNonEmptyLine = i; - } - } - - var str = ""; - - for (var _i = 0; _i < lines.length; _i++) { - var line = lines[_i]; - var isFirstLine = _i === 0; - var isLastLine = _i === lines.length - 1; - var isLastNonEmptyLine = _i === lastNonEmptyLine; - var trimmedLine = line.replace(/\t/g, " "); - - if (!isFirstLine) { - trimmedLine = trimmedLine.replace(/^[ ]+/, ""); - } - - if (!isLastLine) { - trimmedLine = trimmedLine.replace(/[ ]+$/, ""); - } - - if (trimmedLine) { - if (!isLastNonEmptyLine) { - trimmedLine += " "; - } - - str += trimmedLine; - } - } - - if (str) args.push((0, _generated.stringLiteral)(str)); -} - -},{"../../builders/generated":206}],255:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = shallowEqual; - -function shallowEqual(actual, expected) { - var keys = Object.keys(expected); - - for (var _i = 0, _keys = keys; _i < _keys.length; _i++) { - var key = _keys[_i]; - - if (actual[key] !== expected[key]) { - return false; - } - } - - return true; -} - -},{}],256:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = buildMatchMemberExpression; - -var _matchesPattern = _interopRequireDefault(require("./matchesPattern")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function buildMatchMemberExpression(match, allowPartial) { - var parts = match.split("."); - return function (member) { - return (0, _matchesPattern.default)(member, parts, allowPartial); - }; -} - -},{"./matchesPattern":273}],257:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isArrayExpression = isArrayExpression; -exports.isAssignmentExpression = isAssignmentExpression; -exports.isBinaryExpression = isBinaryExpression; -exports.isInterpreterDirective = isInterpreterDirective; -exports.isDirective = isDirective; -exports.isDirectiveLiteral = isDirectiveLiteral; -exports.isBlockStatement = isBlockStatement; -exports.isBreakStatement = isBreakStatement; -exports.isCallExpression = isCallExpression; -exports.isCatchClause = isCatchClause; -exports.isConditionalExpression = isConditionalExpression; -exports.isContinueStatement = isContinueStatement; -exports.isDebuggerStatement = isDebuggerStatement; -exports.isDoWhileStatement = isDoWhileStatement; -exports.isEmptyStatement = isEmptyStatement; -exports.isExpressionStatement = isExpressionStatement; -exports.isFile = isFile; -exports.isForInStatement = isForInStatement; -exports.isForStatement = isForStatement; -exports.isFunctionDeclaration = isFunctionDeclaration; -exports.isFunctionExpression = isFunctionExpression; -exports.isIdentifier = isIdentifier; -exports.isIfStatement = isIfStatement; -exports.isLabeledStatement = isLabeledStatement; -exports.isStringLiteral = isStringLiteral; -exports.isNumericLiteral = isNumericLiteral; -exports.isNullLiteral = isNullLiteral; -exports.isBooleanLiteral = isBooleanLiteral; -exports.isRegExpLiteral = isRegExpLiteral; -exports.isLogicalExpression = isLogicalExpression; -exports.isMemberExpression = isMemberExpression; -exports.isNewExpression = isNewExpression; -exports.isProgram = isProgram; -exports.isObjectExpression = isObjectExpression; -exports.isObjectMethod = isObjectMethod; -exports.isObjectProperty = isObjectProperty; -exports.isRestElement = isRestElement; -exports.isReturnStatement = isReturnStatement; -exports.isSequenceExpression = isSequenceExpression; -exports.isParenthesizedExpression = isParenthesizedExpression; -exports.isSwitchCase = isSwitchCase; -exports.isSwitchStatement = isSwitchStatement; -exports.isThisExpression = isThisExpression; -exports.isThrowStatement = isThrowStatement; -exports.isTryStatement = isTryStatement; -exports.isUnaryExpression = isUnaryExpression; -exports.isUpdateExpression = isUpdateExpression; -exports.isVariableDeclaration = isVariableDeclaration; -exports.isVariableDeclarator = isVariableDeclarator; -exports.isWhileStatement = isWhileStatement; -exports.isWithStatement = isWithStatement; -exports.isAssignmentPattern = isAssignmentPattern; -exports.isArrayPattern = isArrayPattern; -exports.isArrowFunctionExpression = isArrowFunctionExpression; -exports.isClassBody = isClassBody; -exports.isClassDeclaration = isClassDeclaration; -exports.isClassExpression = isClassExpression; -exports.isExportAllDeclaration = isExportAllDeclaration; -exports.isExportDefaultDeclaration = isExportDefaultDeclaration; -exports.isExportNamedDeclaration = isExportNamedDeclaration; -exports.isExportSpecifier = isExportSpecifier; -exports.isForOfStatement = isForOfStatement; -exports.isImportDeclaration = isImportDeclaration; -exports.isImportDefaultSpecifier = isImportDefaultSpecifier; -exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier; -exports.isImportSpecifier = isImportSpecifier; -exports.isMetaProperty = isMetaProperty; -exports.isClassMethod = isClassMethod; -exports.isObjectPattern = isObjectPattern; -exports.isSpreadElement = isSpreadElement; -exports.isSuper = isSuper; -exports.isTaggedTemplateExpression = isTaggedTemplateExpression; -exports.isTemplateElement = isTemplateElement; -exports.isTemplateLiteral = isTemplateLiteral; -exports.isYieldExpression = isYieldExpression; -exports.isAnyTypeAnnotation = isAnyTypeAnnotation; -exports.isArrayTypeAnnotation = isArrayTypeAnnotation; -exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation; -exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation; -exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation; -exports.isClassImplements = isClassImplements; -exports.isDeclareClass = isDeclareClass; -exports.isDeclareFunction = isDeclareFunction; -exports.isDeclareInterface = isDeclareInterface; -exports.isDeclareModule = isDeclareModule; -exports.isDeclareModuleExports = isDeclareModuleExports; -exports.isDeclareTypeAlias = isDeclareTypeAlias; -exports.isDeclareOpaqueType = isDeclareOpaqueType; -exports.isDeclareVariable = isDeclareVariable; -exports.isDeclareExportDeclaration = isDeclareExportDeclaration; -exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration; -exports.isDeclaredPredicate = isDeclaredPredicate; -exports.isExistsTypeAnnotation = isExistsTypeAnnotation; -exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation; -exports.isFunctionTypeParam = isFunctionTypeParam; -exports.isGenericTypeAnnotation = isGenericTypeAnnotation; -exports.isInferredPredicate = isInferredPredicate; -exports.isInterfaceExtends = isInterfaceExtends; -exports.isInterfaceDeclaration = isInterfaceDeclaration; -exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation; -exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation; -exports.isMixedTypeAnnotation = isMixedTypeAnnotation; -exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation; -exports.isNullableTypeAnnotation = isNullableTypeAnnotation; -exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation; -exports.isNumberTypeAnnotation = isNumberTypeAnnotation; -exports.isObjectTypeAnnotation = isObjectTypeAnnotation; -exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot; -exports.isObjectTypeCallProperty = isObjectTypeCallProperty; -exports.isObjectTypeIndexer = isObjectTypeIndexer; -exports.isObjectTypeProperty = isObjectTypeProperty; -exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty; -exports.isOpaqueType = isOpaqueType; -exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier; -exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation; -exports.isStringTypeAnnotation = isStringTypeAnnotation; -exports.isThisTypeAnnotation = isThisTypeAnnotation; -exports.isTupleTypeAnnotation = isTupleTypeAnnotation; -exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation; -exports.isTypeAlias = isTypeAlias; -exports.isTypeAnnotation = isTypeAnnotation; -exports.isTypeCastExpression = isTypeCastExpression; -exports.isTypeParameter = isTypeParameter; -exports.isTypeParameterDeclaration = isTypeParameterDeclaration; -exports.isTypeParameterInstantiation = isTypeParameterInstantiation; -exports.isUnionTypeAnnotation = isUnionTypeAnnotation; -exports.isVariance = isVariance; -exports.isVoidTypeAnnotation = isVoidTypeAnnotation; -exports.isEnumDeclaration = isEnumDeclaration; -exports.isEnumBooleanBody = isEnumBooleanBody; -exports.isEnumNumberBody = isEnumNumberBody; -exports.isEnumStringBody = isEnumStringBody; -exports.isEnumSymbolBody = isEnumSymbolBody; -exports.isEnumBooleanMember = isEnumBooleanMember; -exports.isEnumNumberMember = isEnumNumberMember; -exports.isEnumStringMember = isEnumStringMember; -exports.isEnumDefaultedMember = isEnumDefaultedMember; -exports.isJSXAttribute = isJSXAttribute; -exports.isJSXClosingElement = isJSXClosingElement; -exports.isJSXElement = isJSXElement; -exports.isJSXEmptyExpression = isJSXEmptyExpression; -exports.isJSXExpressionContainer = isJSXExpressionContainer; -exports.isJSXSpreadChild = isJSXSpreadChild; -exports.isJSXIdentifier = isJSXIdentifier; -exports.isJSXMemberExpression = isJSXMemberExpression; -exports.isJSXNamespacedName = isJSXNamespacedName; -exports.isJSXOpeningElement = isJSXOpeningElement; -exports.isJSXSpreadAttribute = isJSXSpreadAttribute; -exports.isJSXText = isJSXText; -exports.isJSXFragment = isJSXFragment; -exports.isJSXOpeningFragment = isJSXOpeningFragment; -exports.isJSXClosingFragment = isJSXClosingFragment; -exports.isNoop = isNoop; -exports.isPlaceholder = isPlaceholder; -exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier; -exports.isArgumentPlaceholder = isArgumentPlaceholder; -exports.isAwaitExpression = isAwaitExpression; -exports.isBindExpression = isBindExpression; -exports.isClassProperty = isClassProperty; -exports.isOptionalMemberExpression = isOptionalMemberExpression; -exports.isPipelineTopicExpression = isPipelineTopicExpression; -exports.isPipelineBareFunction = isPipelineBareFunction; -exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference; -exports.isOptionalCallExpression = isOptionalCallExpression; -exports.isClassPrivateProperty = isClassPrivateProperty; -exports.isClassPrivateMethod = isClassPrivateMethod; -exports.isImport = isImport; -exports.isDecorator = isDecorator; -exports.isDoExpression = isDoExpression; -exports.isExportDefaultSpecifier = isExportDefaultSpecifier; -exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier; -exports.isPrivateName = isPrivateName; -exports.isBigIntLiteral = isBigIntLiteral; -exports.isTSParameterProperty = isTSParameterProperty; -exports.isTSDeclareFunction = isTSDeclareFunction; -exports.isTSDeclareMethod = isTSDeclareMethod; -exports.isTSQualifiedName = isTSQualifiedName; -exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration; -exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration; -exports.isTSPropertySignature = isTSPropertySignature; -exports.isTSMethodSignature = isTSMethodSignature; -exports.isTSIndexSignature = isTSIndexSignature; -exports.isTSAnyKeyword = isTSAnyKeyword; -exports.isTSBooleanKeyword = isTSBooleanKeyword; -exports.isTSBigIntKeyword = isTSBigIntKeyword; -exports.isTSNeverKeyword = isTSNeverKeyword; -exports.isTSNullKeyword = isTSNullKeyword; -exports.isTSNumberKeyword = isTSNumberKeyword; -exports.isTSObjectKeyword = isTSObjectKeyword; -exports.isTSStringKeyword = isTSStringKeyword; -exports.isTSSymbolKeyword = isTSSymbolKeyword; -exports.isTSUndefinedKeyword = isTSUndefinedKeyword; -exports.isTSUnknownKeyword = isTSUnknownKeyword; -exports.isTSVoidKeyword = isTSVoidKeyword; -exports.isTSThisType = isTSThisType; -exports.isTSFunctionType = isTSFunctionType; -exports.isTSConstructorType = isTSConstructorType; -exports.isTSTypeReference = isTSTypeReference; -exports.isTSTypePredicate = isTSTypePredicate; -exports.isTSTypeQuery = isTSTypeQuery; -exports.isTSTypeLiteral = isTSTypeLiteral; -exports.isTSArrayType = isTSArrayType; -exports.isTSTupleType = isTSTupleType; -exports.isTSOptionalType = isTSOptionalType; -exports.isTSRestType = isTSRestType; -exports.isTSUnionType = isTSUnionType; -exports.isTSIntersectionType = isTSIntersectionType; -exports.isTSConditionalType = isTSConditionalType; -exports.isTSInferType = isTSInferType; -exports.isTSParenthesizedType = isTSParenthesizedType; -exports.isTSTypeOperator = isTSTypeOperator; -exports.isTSIndexedAccessType = isTSIndexedAccessType; -exports.isTSMappedType = isTSMappedType; -exports.isTSLiteralType = isTSLiteralType; -exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments; -exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration; -exports.isTSInterfaceBody = isTSInterfaceBody; -exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration; -exports.isTSAsExpression = isTSAsExpression; -exports.isTSTypeAssertion = isTSTypeAssertion; -exports.isTSEnumDeclaration = isTSEnumDeclaration; -exports.isTSEnumMember = isTSEnumMember; -exports.isTSModuleDeclaration = isTSModuleDeclaration; -exports.isTSModuleBlock = isTSModuleBlock; -exports.isTSImportType = isTSImportType; -exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration; -exports.isTSExternalModuleReference = isTSExternalModuleReference; -exports.isTSNonNullExpression = isTSNonNullExpression; -exports.isTSExportAssignment = isTSExportAssignment; -exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration; -exports.isTSTypeAnnotation = isTSTypeAnnotation; -exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation; -exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration; -exports.isTSTypeParameter = isTSTypeParameter; -exports.isExpression = isExpression; -exports.isBinary = isBinary; -exports.isScopable = isScopable; -exports.isBlockParent = isBlockParent; -exports.isBlock = isBlock; -exports.isStatement = isStatement; -exports.isTerminatorless = isTerminatorless; -exports.isCompletionStatement = isCompletionStatement; -exports.isConditional = isConditional; -exports.isLoop = isLoop; -exports.isWhile = isWhile; -exports.isExpressionWrapper = isExpressionWrapper; -exports.isFor = isFor; -exports.isForXStatement = isForXStatement; -exports.isFunction = isFunction; -exports.isFunctionParent = isFunctionParent; -exports.isPureish = isPureish; -exports.isDeclaration = isDeclaration; -exports.isPatternLike = isPatternLike; -exports.isLVal = isLVal; -exports.isTSEntityName = isTSEntityName; -exports.isLiteral = isLiteral; -exports.isImmutable = isImmutable; -exports.isUserWhitespacable = isUserWhitespacable; -exports.isMethod = isMethod; -exports.isObjectMember = isObjectMember; -exports.isProperty = isProperty; -exports.isUnaryLike = isUnaryLike; -exports.isPattern = isPattern; -exports.isClass = isClass; -exports.isModuleDeclaration = isModuleDeclaration; -exports.isExportDeclaration = isExportDeclaration; -exports.isModuleSpecifier = isModuleSpecifier; -exports.isFlow = isFlow; -exports.isFlowType = isFlowType; -exports.isFlowBaseAnnotation = isFlowBaseAnnotation; -exports.isFlowDeclaration = isFlowDeclaration; -exports.isFlowPredicate = isFlowPredicate; -exports.isEnumBody = isEnumBody; -exports.isEnumMember = isEnumMember; -exports.isJSX = isJSX; -exports.isPrivate = isPrivate; -exports.isTSTypeElement = isTSTypeElement; -exports.isTSType = isTSType; -exports.isNumberLiteral = isNumberLiteral; -exports.isRegexLiteral = isRegexLiteral; -exports.isRestProperty = isRestProperty; -exports.isSpreadProperty = isSpreadProperty; - -var _shallowEqual = _interopRequireDefault(require("../../utils/shallowEqual")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isArrayExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ArrayExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isAssignmentExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "AssignmentExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBinaryExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BinaryExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isInterpreterDirective(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "InterpreterDirective") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDirective(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Directive") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDirectiveLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DirectiveLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBlockStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BlockStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBreakStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BreakStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isCallExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "CallExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isCatchClause(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "CatchClause") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isConditionalExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ConditionalExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isContinueStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ContinueStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDebuggerStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DebuggerStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDoWhileStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DoWhileStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEmptyStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EmptyStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExpressionStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExpressionStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFile(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "File") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isForInStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ForInStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isForStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ForStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunctionDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FunctionDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunctionExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FunctionExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isIdentifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Identifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isIfStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "IfStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isLabeledStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "LabeledStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isStringLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "StringLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNumericLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NumericLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNullLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NullLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBooleanLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BooleanLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isRegExpLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "RegExpLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isLogicalExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "LogicalExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isMemberExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "MemberExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNewExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NewExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isProgram(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Program") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectMethod(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectMethod") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isRestElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "RestElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isReturnStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ReturnStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSequenceExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "SequenceExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isParenthesizedExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ParenthesizedExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSwitchCase(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "SwitchCase") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSwitchStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "SwitchStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isThisExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ThisExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isThrowStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ThrowStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTryStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TryStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isUnaryExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "UnaryExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isUpdateExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "UpdateExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isVariableDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "VariableDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isVariableDeclarator(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "VariableDeclarator") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isWhileStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "WhileStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isWithStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "WithStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isAssignmentPattern(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "AssignmentPattern") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isArrayPattern(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ArrayPattern") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isArrowFunctionExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ArrowFunctionExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportAllDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportAllDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportDefaultDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportDefaultDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportNamedDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportNamedDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isForOfStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ForOfStatement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImportDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ImportDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImportDefaultSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ImportDefaultSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImportNamespaceSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ImportNamespaceSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImportSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ImportSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isMetaProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "MetaProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassMethod(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassMethod") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectPattern(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectPattern") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSpreadElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "SpreadElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSuper(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Super") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTaggedTemplateExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TaggedTemplateExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTemplateElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TemplateElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTemplateLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TemplateLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isYieldExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "YieldExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isAnyTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "AnyTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isArrayTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ArrayTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBooleanTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BooleanTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBooleanLiteralTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BooleanLiteralTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNullLiteralTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NullLiteralTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassImplements(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassImplements") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareClass(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareClass") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareFunction(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareFunction") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareInterface(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareInterface") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareModule(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareModule") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareModuleExports(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareModuleExports") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareTypeAlias(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareTypeAlias") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareOpaqueType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareOpaqueType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareVariable(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareVariable") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareExportDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareExportDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclareExportAllDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclareExportAllDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclaredPredicate(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DeclaredPredicate") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExistsTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExistsTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunctionTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FunctionTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunctionTypeParam(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FunctionTypeParam") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isGenericTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "GenericTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isInferredPredicate(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "InferredPredicate") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isInterfaceExtends(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "InterfaceExtends") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isInterfaceDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "InterfaceDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isInterfaceTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "InterfaceTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isIntersectionTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "IntersectionTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isMixedTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "MixedTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEmptyTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EmptyTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNullableTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NullableTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNumberLiteralTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NumberLiteralTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNumberTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NumberTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeInternalSlot(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeInternalSlot") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeCallProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeCallProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeIndexer(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeIndexer") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectTypeSpreadProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectTypeSpreadProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isOpaqueType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "OpaqueType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isQualifiedTypeIdentifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "QualifiedTypeIdentifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isStringLiteralTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "StringLiteralTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isStringTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "StringTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isThisTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ThisTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTupleTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TupleTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeofTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeofTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeAlias(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeAlias") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeCastExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeCastExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeParameter(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeParameter") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeParameterDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeParameterDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTypeParameterInstantiation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TypeParameterInstantiation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isUnionTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "UnionTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isVariance(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Variance") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isVoidTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "VoidTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumBooleanBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumBooleanBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumNumberBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumNumberBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumStringBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumStringBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumSymbolBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumSymbolBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumBooleanMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumBooleanMember") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumNumberMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumNumberMember") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumStringMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumStringMember") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumDefaultedMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumDefaultedMember") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXAttribute(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXAttribute") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXClosingElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXClosingElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXEmptyExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXEmptyExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXExpressionContainer(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXExpressionContainer") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXSpreadChild(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXSpreadChild") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXIdentifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXIdentifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXMemberExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXMemberExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXNamespacedName(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXNamespacedName") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXOpeningElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXOpeningElement") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXSpreadAttribute(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXSpreadAttribute") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXText(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXText") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXFragment(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXFragment") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXOpeningFragment(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXOpeningFragment") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSXClosingFragment(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSXClosingFragment") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNoop(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Noop") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPlaceholder(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Placeholder") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isV8IntrinsicIdentifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "V8IntrinsicIdentifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isArgumentPlaceholder(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ArgumentPlaceholder") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isAwaitExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "AwaitExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBindExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BindExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isOptionalMemberExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "OptionalMemberExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPipelineTopicExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "PipelineTopicExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPipelineBareFunction(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "PipelineBareFunction") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPipelinePrimaryTopicReference(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "PipelinePrimaryTopicReference") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isOptionalCallExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "OptionalCallExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassPrivateProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassPrivateProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClassPrivateMethod(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ClassPrivateMethod") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImport(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Import") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDecorator(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Decorator") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDoExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "DoExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportDefaultSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportDefaultSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportNamespaceSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportNamespaceSpecifier") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPrivateName(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "PrivateName") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBigIntLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BigIntLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSParameterProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSParameterProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSDeclareFunction(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSDeclareFunction") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSDeclareMethod(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSDeclareMethod") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSQualifiedName(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSQualifiedName") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSCallSignatureDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSCallSignatureDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSConstructSignatureDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSConstructSignatureDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSPropertySignature(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSPropertySignature") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSMethodSignature(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSMethodSignature") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSIndexSignature(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSIndexSignature") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSAnyKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSAnyKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSBooleanKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSBooleanKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSBigIntKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSBigIntKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSNeverKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSNeverKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSNullKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSNullKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSNumberKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSNumberKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSObjectKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSObjectKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSStringKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSStringKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSSymbolKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSSymbolKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSUndefinedKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSUndefinedKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSUnknownKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSUnknownKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSVoidKeyword(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSVoidKeyword") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSThisType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSThisType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSFunctionType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSFunctionType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSConstructorType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSConstructorType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeReference(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeReference") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypePredicate(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypePredicate") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeQuery(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeQuery") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSArrayType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSArrayType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTupleType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTupleType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSOptionalType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSOptionalType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSRestType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSRestType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSUnionType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSUnionType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSIntersectionType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSIntersectionType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSConditionalType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSConditionalType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSInferType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSInferType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSParenthesizedType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSParenthesizedType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeOperator(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeOperator") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSIndexedAccessType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSIndexedAccessType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSMappedType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSMappedType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSLiteralType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSLiteralType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSExpressionWithTypeArguments(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSExpressionWithTypeArguments") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSInterfaceDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSInterfaceDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSInterfaceBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSInterfaceBody") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeAliasDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeAliasDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSAsExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSAsExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeAssertion(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeAssertion") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSEnumDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSEnumDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSEnumMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSEnumMember") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSModuleDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSModuleDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSModuleBlock(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSModuleBlock") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSImportType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSImportType") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSImportEqualsDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSImportEqualsDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSExternalModuleReference(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSExternalModuleReference") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSNonNullExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSNonNullExpression") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSExportAssignment(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSExportAssignment") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSNamespaceExportDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSNamespaceExportDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeAnnotation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeParameterInstantiation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeParameterInstantiation") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeParameterDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeParameterDeclaration") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeParameter(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeParameter") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExpression(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Expression" || "ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "AwaitExpression" === nodeType || "BindExpression" === nodeType || "OptionalMemberExpression" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "OptionalCallExpression" === nodeType || "Import" === nodeType || "DoExpression" === nodeType || "BigIntLiteral" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBinary(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Binary" || "BinaryExpression" === nodeType || "LogicalExpression" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isScopable(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Scopable" || "BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBlockParent(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "BlockParent" || "BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isBlock(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Block" || "BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Statement" || "BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node.expectedNode || "Declaration" === node.expectedNode || "BlockStatement" === node.expectedNode)) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTerminatorless(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Terminatorless" || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isCompletionStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "CompletionStatement" || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isConditional(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Conditional" || "ConditionalExpression" === nodeType || "IfStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isLoop(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Loop" || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isWhile(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "While" || "DoWhileStatement" === nodeType || "WhileStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExpressionWrapper(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExpressionWrapper" || "ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFor(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "For" || "ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isForXStatement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ForXStatement" || "ForInStatement" === nodeType || "ForOfStatement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunction(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Function" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFunctionParent(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FunctionParent" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPureish(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Pureish" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Declaration" || "FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPatternLike(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "PatternLike" || "Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isLVal(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "LVal" || "Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSEntityName(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSEntityName" || "Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isLiteral(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Literal" || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isImmutable(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Immutable" || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isUserWhitespacable(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "UserWhitespacable" || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isMethod(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Method" || "ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isObjectMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ObjectMember" || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isProperty(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Property" || "ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassPrivateProperty" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isUnaryLike(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "UnaryLike" || "UnaryExpression" === nodeType || "SpreadElement" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPattern(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Pattern" || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node.expectedNode) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isClass(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Class" || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isModuleDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ModuleDeclaration" || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isExportDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ExportDeclaration" || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isModuleSpecifier(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "ModuleSpecifier" || "ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFlow(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Flow" || "AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFlowType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FlowType" || "AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFlowBaseAnnotation(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FlowBaseAnnotation" || "AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFlowDeclaration(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FlowDeclaration" || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isFlowPredicate(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "FlowPredicate" || "DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumBody(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumBody" || "EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isEnumMember(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "EnumMember" || "EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isJSX(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "JSX" || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isPrivate(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "Private" || "ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSTypeElement(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSTypeElement" || "TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isTSType(node, opts) { - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "TSType" || "TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isNumberLiteral(node, opts) { - console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "NumberLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isRegexLiteral(node, opts) { - console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "RegexLiteral") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isRestProperty(node, opts) { - console.trace("The node type RestProperty has been renamed to RestElement"); - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "RestProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -function isSpreadProperty(node, opts) { - console.trace("The node type SpreadProperty has been renamed to SpreadElement"); - if (!node) return false; - var nodeType = node.type; - - if (nodeType === "SpreadProperty") { - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } - } - - return false; -} - -},{"../../utils/shallowEqual":255}],258:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = is; - -var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual")); - -var _isType = _interopRequireDefault(require("./isType")); - -var _isPlaceholderType = _interopRequireDefault(require("./isPlaceholderType")); - -var _definitions = require("../definitions"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function is(type, node, opts) { - if (!node) return false; - var matches = (0, _isType.default)(node.type, type); - - if (!matches) { - if (!opts && node.type === "Placeholder" && type in _definitions.FLIPPED_ALIAS_KEYS) { - return (0, _isPlaceholderType.default)(node.expectedNode, type); - } - - return false; - } - - if (typeof opts === "undefined") { - return true; - } else { - return (0, _shallowEqual.default)(node, opts); - } -} - -},{"../definitions":236,"../utils/shallowEqual":255,"./isPlaceholderType":265,"./isType":269}],259:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isBinding; - -var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isBinding(node, parent, grandparent) { - if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { - return false; - } - - var keys = _getBindingIdentifiers.default.keys[parent.type]; - - if (keys) { - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var val = parent[key]; - - if (Array.isArray(val)) { - if (val.indexOf(node) >= 0) return true; - } else { - if (val === node) return true; - } - } - } - - return false; -} - -},{"../retrievers/getBindingIdentifiers":249}],260:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isBlockScoped; - -var _generated = require("./generated"); - -var _isLet = _interopRequireDefault(require("./isLet")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isBlockScoped(node) { - return (0, _generated.isFunctionDeclaration)(node) || (0, _generated.isClassDeclaration)(node) || (0, _isLet.default)(node); -} - -},{"./generated":257,"./isLet":262}],261:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isImmutable; - -var _isType = _interopRequireDefault(require("./isType")); - -var _generated = require("./generated"); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isImmutable(node) { - if ((0, _isType.default)(node.type, "Immutable")) return true; - - if ((0, _generated.isIdentifier)(node)) { - if (node.name === "undefined") { - return true; - } else { - return false; - } - } - - return false; -} - -},{"./generated":257,"./isType":269}],262:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isLet; - -var _generated = require("./generated"); - -var _constants = require("../constants"); - -function isLet(node) { - return (0, _generated.isVariableDeclaration)(node) && (node.kind !== "var" || node[_constants.BLOCK_SCOPED_SYMBOL]); -} - -},{"../constants":220,"./generated":257}],263:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isNode; - -var _definitions = require("../definitions"); - -function isNode(node) { - return !!(node && _definitions.VISITOR_KEYS[node.type]); -} - -},{"../definitions":236}],264:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isNodesEquivalent; - -var _definitions = require("../definitions"); - -function isNodesEquivalent(a, b) { - if (_typeof(a) !== "object" || _typeof(b) !== "object" || a == null || b == null) { - return a === b; - } - - if (a.type !== b.type) { - return false; - } - - var fields = Object.keys(_definitions.NODE_FIELDS[a.type] || a.type); - var visitorKeys = _definitions.VISITOR_KEYS[a.type]; - - for (var _i = 0, _fields = fields; _i < _fields.length; _i++) { - var field = _fields[_i]; - - if (_typeof(a[field]) !== _typeof(b[field])) { - return false; - } - - if (a[field] == null && b[field] == null) { - continue; - } else if (a[field] == null || b[field] == null) { - return false; - } - - if (Array.isArray(a[field])) { - if (!Array.isArray(b[field])) { - return false; - } - - if (a[field].length !== b[field].length) { - return false; - } - - for (var i = 0; i < a[field].length; i++) { - if (!isNodesEquivalent(a[field][i], b[field][i])) { - return false; - } - } - - continue; - } - - if (_typeof(a[field]) === "object" && (!visitorKeys || !visitorKeys.includes(field))) { - for (var _i2 = 0, _Object$keys = Object.keys(a[field]); _i2 < _Object$keys.length; _i2++) { - var key = _Object$keys[_i2]; - - if (a[field][key] !== b[field][key]) { - return false; - } - } - - continue; - } - - if (!isNodesEquivalent(a[field], b[field])) { - return false; - } - } - - return true; -} - -},{"../definitions":236}],265:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isPlaceholderType; - -var _definitions = require("../definitions"); - -function isPlaceholderType(placeholderType, targetType) { - if (placeholderType === targetType) return true; - var aliases = _definitions.PLACEHOLDERS_ALIAS[placeholderType]; - - if (aliases) { - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var alias = _step.value; - if (targetType === alias) return true; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return false; -} - -},{"../definitions":236}],266:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isReferenced; - -function isReferenced(node, parent, grandparent) { - switch (parent.type) { - case "MemberExpression": - case "JSXMemberExpression": - case "OptionalMemberExpression": - if (parent.property === node) { - return !!parent.computed; - } - - return parent.object === node; - - case "VariableDeclarator": - return parent.init === node; - - case "ArrowFunctionExpression": - return parent.body === node; - - case "ExportSpecifier": - if (parent.source) { - return false; - } - - return parent.local === node; - - case "PrivateName": - return false; - - case "ObjectProperty": - case "ClassProperty": - case "ClassPrivateProperty": - case "ClassMethod": - case "ClassPrivateMethod": - case "ObjectMethod": - if (parent.key === node) { - return !!parent.computed; - } - - if (parent.value === node) { - return !grandparent || grandparent.type !== "ObjectPattern"; - } - - return true; - - case "ClassDeclaration": - case "ClassExpression": - return parent.superClass === node; - - case "AssignmentExpression": - return parent.right === node; - - case "AssignmentPattern": - return parent.right === node; - - case "LabeledStatement": - return false; - - case "CatchClause": - return false; - - case "RestElement": - return false; - - case "BreakStatement": - case "ContinueStatement": - return false; - - case "FunctionDeclaration": - case "FunctionExpression": - return false; - - case "ExportNamespaceSpecifier": - case "ExportDefaultSpecifier": - return false; - - case "ImportDefaultSpecifier": - case "ImportNamespaceSpecifier": - case "ImportSpecifier": - return false; - - case "JSXAttribute": - return false; - - case "ObjectPattern": - case "ArrayPattern": - return false; - - case "MetaProperty": - return false; - - case "ObjectTypeProperty": - return parent.key !== node; - - case "TSEnumMember": - return parent.id !== node; - - case "TSPropertySignature": - if (parent.key === node) { - return !!parent.computed; - } - - return true; - } - - return true; -} - -},{}],267:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isScope; - -var _generated = require("./generated"); - -function isScope(node, parent) { - if ((0, _generated.isBlockStatement)(node) && (0, _generated.isFunction)(parent, { - body: node - })) { - return false; - } - - if ((0, _generated.isBlockStatement)(node) && (0, _generated.isCatchClause)(parent, { - body: node - })) { - return false; - } - - return (0, _generated.isScopable)(node); -} - -},{"./generated":257}],268:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isSpecifierDefault; - -var _generated = require("./generated"); - -function isSpecifierDefault(specifier) { - return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, { - name: "default" - }); -} - -},{"./generated":257}],269:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isType; - -var _definitions = require("../definitions"); - -function isType(nodeType, targetType) { - if (nodeType === targetType) return true; - if (_definitions.ALIAS_KEYS[targetType]) return false; - var aliases = _definitions.FLIPPED_ALIAS_KEYS[targetType]; - - if (aliases) { - if (aliases[0] === nodeType) return true; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var alias = _step.value; - if (nodeType === alias) return true; - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - } - - return false; -} - -},{"../definitions":236}],270:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isValidES3Identifier; - -var _isValidIdentifier = _interopRequireDefault(require("./isValidIdentifier")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); - -function isValidES3Identifier(name) { - return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name); -} - -},{"./isValidIdentifier":271}],271:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isValidIdentifier; - -var _esutils = _interopRequireDefault(require("esutils")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -function isValidIdentifier(name) { - if (typeof name !== "string" || _esutils.default.keyword.isReservedWordES6(name, true)) { - return false; - } else if (name === "await") { - return false; - } else { - return _esutils.default.keyword.isIdentifierNameES6(name); - } -} - -},{"esutils":836}],272:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isVar; - -var _generated = require("./generated"); - -var _constants = require("../constants"); - -function isVar(node) { - return (0, _generated.isVariableDeclaration)(node, { - kind: "var" - }) && !node[_constants.BLOCK_SCOPED_SYMBOL]; -} - -},{"../constants":220,"./generated":257}],273:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = matchesPattern; - -var _generated = require("./generated"); - -function matchesPattern(member, match, allowPartial) { - if (!(0, _generated.isMemberExpression)(member)) return false; - var parts = Array.isArray(match) ? match : match.split("."); - var nodes = []; - var node; - - for (node = member; (0, _generated.isMemberExpression)(node); node = node.object) { - nodes.push(node.property); - } - - nodes.push(node); - if (nodes.length < parts.length) return false; - if (!allowPartial && nodes.length > parts.length) return false; - - for (var i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { - var _node = nodes[j]; - var value = void 0; - - if ((0, _generated.isIdentifier)(_node)) { - value = _node.name; - } else if ((0, _generated.isStringLiteral)(_node)) { - value = _node.value; - } else { - return false; - } - - if (parts[i] !== value) return false; - } - - return true; -} - -},{"./generated":257}],274:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isCompatTag; - -function isCompatTag(tagName) { - return !!tagName && /^[a-z]/.test(tagName); -} - -},{}],275:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _buildMatchMemberExpression = _interopRequireDefault(require("../buildMatchMemberExpression")); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { - default: obj - }; -} - -var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); -var _default = isReactComponent; -exports.default = _default; - -},{"../buildMatchMemberExpression":256}],276:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = validate; -exports.validateField = validateField; - -var _definitions = require("../definitions"); - -function validate(node, key, val) { - if (!node) return; - var fields = _definitions.NODE_FIELDS[node.type]; - if (!fields) return; - var field = fields[key]; - validateField(node, key, val, field); -} - -function validateField(node, key, val, field) { - if (!field || !field.validate) return; - if (field.optional && val == null) return; - field.validate(node, key, val); -} - -},{"../definitions":236}],277:[function(require,module,exports){ -'use strict'; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var colorConvert = require('color-convert'); - -var wrapAnsi16 = function wrapAnsi16(fn, offset) { - return function () { - var code = fn.apply(colorConvert, arguments); - return "\x1B[".concat(code + offset, "m"); - }; -}; - -var wrapAnsi256 = function wrapAnsi256(fn, offset) { - return function () { - var code = fn.apply(colorConvert, arguments); - return "\x1B[".concat(38 + offset, ";5;").concat(code, "m"); - }; -}; - -var wrapAnsi16m = function wrapAnsi16m(fn, offset) { - return function () { - var rgb = fn.apply(colorConvert, arguments); - return "\x1B[".concat(38 + offset, ";2;").concat(rgb[0], ";").concat(rgb[1], ";").concat(rgb[2], "m"); - }; -}; - -function assembleStyles() { - var codes = new Map(); - var styles = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - // Bright color - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; // Fix humans - - styles.color.grey = styles.color.gray; - - for (var _i = 0, _Object$keys = Object.keys(styles); _i < _Object$keys.length; _i++) { - var groupName = _Object$keys[_i]; - var group = styles[groupName]; - - for (var _i3 = 0, _Object$keys3 = Object.keys(group); _i3 < _Object$keys3.length; _i3++) { - var styleName = _Object$keys3[_i3]; - var style = group[styleName]; - styles[styleName] = { - open: "\x1B[".concat(style[0], "m"), - close: "\x1B[".concat(style[1], "m") - }; - group[styleName] = styles[styleName]; - codes.set(style[0], style[1]); - } - - Object.defineProperty(styles, groupName, { - value: group, - enumerable: false - }); - Object.defineProperty(styles, 'codes', { - value: codes, - enumerable: false - }); - } - - var ansi2ansi = function ansi2ansi(n) { - return n; - }; - - var rgb2rgb = function rgb2rgb(r, g, b) { - return [r, g, b]; - }; - - styles.color.close = "\x1B[39m"; - styles.bgColor.close = "\x1B[49m"; - styles.color.ansi = { - ansi: wrapAnsi16(ansi2ansi, 0) - }; - styles.color.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 0) - }; - styles.color.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 0) - }; - styles.bgColor.ansi = { - ansi: wrapAnsi16(ansi2ansi, 10) - }; - styles.bgColor.ansi256 = { - ansi256: wrapAnsi256(ansi2ansi, 10) - }; - styles.bgColor.ansi16m = { - rgb: wrapAnsi16m(rgb2rgb, 10) - }; - - for (var _i2 = 0, _Object$keys2 = Object.keys(colorConvert); _i2 < _Object$keys2.length; _i2++) { - var key = _Object$keys2[_i2]; - - if (_typeof(colorConvert[key]) !== 'object') { - continue; - } - - var suite = colorConvert[key]; - - if (key === 'ansi16') { - key = 'ansi'; - } - - if ('ansi16' in suite) { - styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); - styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); - } - - if ('ansi256' in suite) { - styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); - styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); - } - - if ('rgb' in suite) { - styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); - styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); - } - } - - return styles; -} // Make the export immutable - - -Object.defineProperty(module, 'exports', { - enumerable: true, - get: assembleStyles -}); - -},{"color-convert":299}],278:[function(require,module,exports){ -(function (global){ -'use strict'; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var objectAssign = require('object-assign'); // compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js -// original notice: - -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - - -function compare(a, b) { - if (a === b) { - return 0; - } - - var x = a.length; - var y = b.length; - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - - if (x < y) { - return -1; - } - - if (y < x) { - return 1; - } - - return 0; -} - -function isBuffer(b) { - if (global.Buffer && typeof global.Buffer.isBuffer === 'function') { - return global.Buffer.isBuffer(b); - } - - return !!(b != null && b._isBuffer); -} // based on node assert, original notice: -// NB: The URL to the CommonJS spec is kept just for tradition. -// node-assert has evolved a lot since then, both in API and behavior. -// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 -// -// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! -// -// Originally from narwhal.js (http://narwhaljs.org) -// Copyright (c) 2009 Thomas Robinson <280north.com> -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the 'Software'), to -// deal in the Software without restriction, including without limitation the -// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -// sell copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - -var util = require('util/'); - -var hasOwn = Object.prototype.hasOwnProperty; -var pSlice = Array.prototype.slice; - -var functionsHaveNames = function () { - return function foo() {}.name === 'foo'; -}(); - -function pToString(obj) { - return Object.prototype.toString.call(obj); -} - -function isView(arrbuf) { - if (isBuffer(arrbuf)) { - return false; - } - - if (typeof global.ArrayBuffer !== 'function') { - return false; - } - - if (typeof ArrayBuffer.isView === 'function') { - return ArrayBuffer.isView(arrbuf); - } - - if (!arrbuf) { - return false; - } - - if (arrbuf instanceof DataView) { - return true; - } - - if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) { - return true; - } - - return false; -} // 1. The assert module provides functions that throw -// AssertionError's when particular conditions are not met. The -// assert module must conform to the following interface. - - -var assert = module.exports = ok; // 2. The AssertionError is defined in assert. -// new assert.AssertionError({ message: message, -// actual: actual, -// expected: expected }) - -var regex = /\s*function\s+([^\(\s]*)\s*/; // based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js - -function getName(func) { - if (!util.isFunction(func)) { - return; - } - - if (functionsHaveNames) { - return func.name; - } - - var str = func.toString(); - var match = str.match(regex); - return match && match[1]; -} - -assert.AssertionError = function AssertionError(options) { - this.name = 'AssertionError'; - this.actual = options.actual; - this.expected = options.expected; - this.operator = options.operator; - - if (options.message) { - this.message = options.message; - this.generatedMessage = false; - } else { - this.message = getMessage(this); - this.generatedMessage = true; - } - - var stackStartFunction = options.stackStartFunction || fail; - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, stackStartFunction); - } else { - // non v8 browsers so we can have a stacktrace - var err = new Error(); - - if (err.stack) { - var out = err.stack; // try to strip useless frames - - var fn_name = getName(stackStartFunction); - var idx = out.indexOf('\n' + fn_name); - - if (idx >= 0) { - // once we have located the function frame - // we need to strip out everything before it (and its line) - var next_line = out.indexOf('\n', idx + 1); - out = out.substring(next_line + 1); - } - - this.stack = out; - } - } -}; // assert.AssertionError instanceof Error - - -util.inherits(assert.AssertionError, Error); - -function truncate(s, n) { - if (typeof s === 'string') { - return s.length < n ? s : s.slice(0, n); - } else { - return s; - } -} - -function inspect(something) { - if (functionsHaveNames || !util.isFunction(something)) { - return util.inspect(something); - } - - var rawname = getName(something); - var name = rawname ? ': ' + rawname : ''; - return '[Function' + name + ']'; -} - -function getMessage(self) { - return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128); -} // At present only the three keys mentioned above are used and -// understood by the spec. Implementations or sub modules can pass -// other keys to the AssertionError's constructor - they will be -// ignored. -// 3. All of the following functions must throw an AssertionError -// when a corresponding condition is not met, with a message that -// may be undefined if not provided. All assertion methods provide -// both the actual and expected values to the assertion error for -// display purposes. - - -function fail(actual, expected, message, operator, stackStartFunction) { - throw new assert.AssertionError({ - message: message, - actual: actual, - expected: expected, - operator: operator, - stackStartFunction: stackStartFunction - }); -} // EXTENSION! allows for well behaved errors defined elsewhere. - - -assert.fail = fail; // 4. Pure assertion tests whether a value is truthy, as determined -// by !!guard. -// assert.ok(guard, message_opt); -// This statement is equivalent to assert.equal(true, !!guard, -// message_opt);. To test strictly for the value true, use -// assert.strictEqual(true, guard, message_opt);. - -function ok(value, message) { - if (!value) fail(value, true, message, '==', assert.ok); -} - -assert.ok = ok; // 5. The equality assertion tests shallow, coercive equality with -// ==. -// assert.equal(actual, expected, message_opt); - -assert.equal = function equal(actual, expected, message) { - if (actual != expected) fail(actual, expected, message, '==', assert.equal); -}; // 6. The non-equality assertion tests for whether two objects are not equal -// with != assert.notEqual(actual, expected, message_opt); - - -assert.notEqual = function notEqual(actual, expected, message) { - if (actual == expected) { - fail(actual, expected, message, '!=', assert.notEqual); - } -}; // 7. The equivalence assertion tests a deep equality relation. -// assert.deepEqual(actual, expected, message_opt); - - -assert.deepEqual = function deepEqual(actual, expected, message) { - if (!_deepEqual(actual, expected, false)) { - fail(actual, expected, message, 'deepEqual', assert.deepEqual); - } -}; - -assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) { - if (!_deepEqual(actual, expected, true)) { - fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual); - } -}; - -function _deepEqual(actual, expected, strict, memos) { - // 7.1. All identical values are equivalent, as determined by ===. - if (actual === expected) { - return true; - } else if (isBuffer(actual) && isBuffer(expected)) { - return compare(actual, expected) === 0; // 7.2. If the expected value is a Date object, the actual value is - // equivalent if it is also a Date object that refers to the same time. - } else if (util.isDate(actual) && util.isDate(expected)) { - return actual.getTime() === expected.getTime(); // 7.3 If the expected value is a RegExp object, the actual value is - // equivalent if it is also a RegExp object with the same source and - // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). - } else if (util.isRegExp(actual) && util.isRegExp(expected)) { - return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase; // 7.4. Other pairs that do not both pass typeof value == 'object', - // equivalence is determined by ==. - } else if ((actual === null || _typeof(actual) !== 'object') && (expected === null || _typeof(expected) !== 'object')) { - return strict ? actual === expected : actual == expected; // If both values are instances of typed arrays, wrap their underlying - // ArrayBuffers in a Buffer each to increase performance - // This optimization requires the arrays to have the same type as checked by - // Object.prototype.toString (aka pToString). Never perform binary - // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their - // bit patterns are not identical. - } else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) { - return compare(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0; // 7.5 For all other Object pairs, including Array objects, equivalence is - // determined by having the same number of owned properties (as verified - // with Object.prototype.hasOwnProperty.call), the same set of keys - // (although not necessarily the same order), equivalent values for every - // corresponding key, and an identical 'prototype' property. Note: this - // accounts for both named and indexed properties on Arrays. - } else if (isBuffer(actual) !== isBuffer(expected)) { - return false; - } else { - memos = memos || { - actual: [], - expected: [] - }; - var actualIndex = memos.actual.indexOf(actual); - - if (actualIndex !== -1) { - if (actualIndex === memos.expected.indexOf(expected)) { - return true; - } - } - - memos.actual.push(actual); - memos.expected.push(expected); - return objEquiv(actual, expected, strict, memos); - } -} - -function isArguments(object) { - return Object.prototype.toString.call(object) == '[object Arguments]'; -} - -function objEquiv(a, b, strict, actualVisitedObjects) { - if (a === null || a === undefined || b === null || b === undefined) return false; // if one is a primitive, the other must be same - - if (util.isPrimitive(a) || util.isPrimitive(b)) return a === b; - if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false; - var aIsArgs = isArguments(a); - var bIsArgs = isArguments(b); - if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false; - - if (aIsArgs) { - a = pSlice.call(a); - b = pSlice.call(b); - return _deepEqual(a, b, strict); - } - - var ka = objectKeys(a); - var kb = objectKeys(b); - var key, i; // having the same number of owned properties (keys incorporates - // hasOwnProperty) - - if (ka.length !== kb.length) return false; //the same set of keys (although not necessarily the same order), - - ka.sort(); - kb.sort(); //~~~cheap key test - - for (i = ka.length - 1; i >= 0; i--) { - if (ka[i] !== kb[i]) return false; - } //equivalent values for every corresponding key, and - //~~~possibly expensive deep test - - - for (i = ka.length - 1; i >= 0; i--) { - key = ka[i]; - if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false; - } - - return true; -} // 8. The non-equivalence assertion tests for any deep inequality. -// assert.notDeepEqual(actual, expected, message_opt); - - -assert.notDeepEqual = function notDeepEqual(actual, expected, message) { - if (_deepEqual(actual, expected, false)) { - fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); - } -}; - -assert.notDeepStrictEqual = notDeepStrictEqual; - -function notDeepStrictEqual(actual, expected, message) { - if (_deepEqual(actual, expected, true)) { - fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual); - } -} // 9. The strict equality assertion tests strict equality, as determined by ===. -// assert.strictEqual(actual, expected, message_opt); - - -assert.strictEqual = function strictEqual(actual, expected, message) { - if (actual !== expected) { - fail(actual, expected, message, '===', assert.strictEqual); - } -}; // 10. The strict non-equality assertion tests for strict inequality, as -// determined by !==. assert.notStrictEqual(actual, expected, message_opt); - - -assert.notStrictEqual = function notStrictEqual(actual, expected, message) { - if (actual === expected) { - fail(actual, expected, message, '!==', assert.notStrictEqual); - } -}; - -function expectedException(actual, expected) { - if (!actual || !expected) { - return false; - } - - if (Object.prototype.toString.call(expected) == '[object RegExp]') { - return expected.test(actual); - } - - try { - if (actual instanceof expected) { - return true; - } - } catch (e) {// Ignore. The instanceof check doesn't work for arrow functions. - } - - if (Error.isPrototypeOf(expected)) { - return false; - } - - return expected.call({}, actual) === true; -} - -function _tryBlock(block) { - var error; - - try { - block(); - } catch (e) { - error = e; - } - - return error; -} - -function _throws(shouldThrow, block, expected, message) { - var actual; - - if (typeof block !== 'function') { - throw new TypeError('"block" argument must be a function'); - } - - if (typeof expected === 'string') { - message = expected; - expected = null; - } - - actual = _tryBlock(block); - message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.'); - - if (shouldThrow && !actual) { - fail(actual, expected, 'Missing expected exception' + message); - } - - var userProvidedMessage = typeof message === 'string'; - var isUnwantedException = !shouldThrow && util.isError(actual); - var isUnexpectedException = !shouldThrow && actual && !expected; - - if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) { - fail(actual, expected, 'Got unwanted exception' + message); - } - - if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) { - throw actual; - } -} // 11. Expected to throw an error: -// assert.throws(block, Error_opt, message_opt); - - -assert.throws = function (block, -/*optional*/ -error, -/*optional*/ -message) { - _throws(true, block, error, message); -}; // EXTENSION! This is annoying to write outside this module. - - -assert.doesNotThrow = function (block, -/*optional*/ -error, -/*optional*/ -message) { - _throws(false, block, error, message); -}; - -assert.ifError = function (err) { - if (err) throw err; -}; // Expose a strict only variant of assert - - -function strict(value, message) { - if (!value) fail(value, true, message, '==', strict); -} - -assert.strict = objectAssign(strict, assert, { - equal: assert.strictEqual, - deepEqual: assert.deepStrictEqual, - notEqual: assert.notStrictEqual, - notDeepEqual: assert.notDeepStrictEqual -}); -assert.strict.strict = assert.strict; - -var objectKeys = Object.keys || function (obj) { - var keys = []; - - for (var key in obj) { - if (hasOwn.call(obj, key)) keys.push(key); - } - - return keys; -}; - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"object-assign":1051,"util/":281}],279:[function(require,module,exports){ -"use strict"; - -if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; -} else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor; - - var TempCtor = function TempCtor() {}; - - TempCtor.prototype = superCtor.prototype; - ctor.prototype = new TempCtor(); - ctor.prototype.constructor = ctor; - }; -} - -},{}],280:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -module.exports = function isBuffer(arg) { - return arg && _typeof(arg) === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function'; -}; - -},{}],281:[function(require,module,exports){ -(function (process,global){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. -var formatRegExp = /%[sdj%]/g; - -exports.format = function (f) { - if (!isString(f)) { - var objects = []; - - for (var i = 0; i < arguments.length; i++) { - objects.push(inspect(arguments[i])); - } - - return objects.join(' '); - } - - var i = 1; - var args = arguments; - var len = args.length; - var str = String(f).replace(formatRegExp, function (x) { - if (x === '%%') return '%'; - if (i >= len) return x; - - switch (x) { - case '%s': - return String(args[i++]); - - case '%d': - return Number(args[i++]); - - case '%j': - try { - return JSON.stringify(args[i++]); - } catch (_) { - return '[Circular]'; - } - - default: - return x; - } - }); - - for (var x = args[i]; i < len; x = args[++i]) { - if (isNull(x) || !isObject(x)) { - str += ' ' + x; - } else { - str += ' ' + inspect(x); - } - } - - return str; -}; // Mark that a method should not be used. -// Returns a modified function which warns once by default. -// If --no-deprecation is set, then it is a no-op. - - -exports.deprecate = function (fn, msg) { - // Allow for deprecating things in the process of starting up. - if (isUndefined(global.process)) { - return function () { - return exports.deprecate(fn, msg).apply(this, arguments); - }; - } - - if (process.noDeprecation === true) { - return fn; - } - - var warned = false; - - function deprecated() { - if (!warned) { - if (process.throwDeprecation) { - throw new Error(msg); - } else if (process.traceDeprecation) { - console.trace(msg); - } else { - console.error(msg); - } - - warned = true; - } - - return fn.apply(this, arguments); - } - - return deprecated; -}; - -var debugs = {}; -var debugEnviron; - -exports.debuglog = function (set) { - if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || ''; - set = set.toUpperCase(); - - if (!debugs[set]) { - if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { - var pid = process.pid; - - debugs[set] = function () { - var msg = exports.format.apply(exports, arguments); - console.error('%s %d: %s', set, pid, msg); - }; - } else { - debugs[set] = function () {}; - } - } - - return debugs[set]; -}; -/** - * Echos the value of a value. Trys to print the value out - * in the best way possible given the different types. - * - * @param {Object} obj The object to print out. - * @param {Object} opts Optional options object that alters the output. - */ - -/* legacy: obj, showHidden, depth, colors*/ - - -function inspect(obj, opts) { - // default options - var ctx = { - seen: [], - stylize: stylizeNoColor - }; // legacy... - - if (arguments.length >= 3) ctx.depth = arguments[2]; - if (arguments.length >= 4) ctx.colors = arguments[3]; - - if (isBoolean(opts)) { - // legacy... - ctx.showHidden = opts; - } else if (opts) { - // got an "options" object - exports._extend(ctx, opts); - } // set default options - - - if (isUndefined(ctx.showHidden)) ctx.showHidden = false; - if (isUndefined(ctx.depth)) ctx.depth = 2; - if (isUndefined(ctx.colors)) ctx.colors = false; - if (isUndefined(ctx.customInspect)) ctx.customInspect = true; - if (ctx.colors) ctx.stylize = stylizeWithColor; - return formatValue(ctx, obj, ctx.depth); -} - -exports.inspect = inspect; // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics - -inspect.colors = { - 'bold': [1, 22], - 'italic': [3, 23], - 'underline': [4, 24], - 'inverse': [7, 27], - 'white': [37, 39], - 'grey': [90, 39], - 'black': [30, 39], - 'blue': [34, 39], - 'cyan': [36, 39], - 'green': [32, 39], - 'magenta': [35, 39], - 'red': [31, 39], - 'yellow': [33, 39] -}; // Don't use 'blue' not visible on cmd.exe - -inspect.styles = { - 'special': 'cyan', - 'number': 'yellow', - 'boolean': 'yellow', - 'undefined': 'grey', - 'null': 'bold', - 'string': 'green', - 'date': 'magenta', - // "name": intentionally not styling - 'regexp': 'red' -}; - -function stylizeWithColor(str, styleType) { - var style = inspect.styles[styleType]; - - if (style) { - return "\x1B[" + inspect.colors[style][0] + 'm' + str + "\x1B[" + inspect.colors[style][1] + 'm'; - } else { - return str; - } -} - -function stylizeNoColor(str, styleType) { - return str; -} - -function arrayToHash(array) { - var hash = {}; - array.forEach(function (val, idx) { - hash[val] = true; - }); - return hash; -} - -function formatValue(ctx, value, recurseTimes) { - // Provide a hook for user-specified inspect functions. - // Check that value is an object with an inspect function on it - if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special - value.inspect !== exports.inspect && // Also filter out any prototype objects using the circular check. - !(value.constructor && value.constructor.prototype === value)) { - var ret = value.inspect(recurseTimes, ctx); - - if (!isString(ret)) { - ret = formatValue(ctx, ret, recurseTimes); - } - - return ret; - } // Primitive types cannot have properties - - - var primitive = formatPrimitive(ctx, value); - - if (primitive) { - return primitive; - } // Look up the keys of the object. - - - var keys = Object.keys(value); - var visibleKeys = arrayToHash(keys); - - if (ctx.showHidden) { - keys = Object.getOwnPropertyNames(value); - } // IE doesn't make error fields non-enumerable - // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx - - - if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { - return formatError(value); - } // Some type of object without properties can be shortcutted. - - - if (keys.length === 0) { - if (isFunction(value)) { - var name = value.name ? ': ' + value.name : ''; - return ctx.stylize('[Function' + name + ']', 'special'); - } - - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } - - if (isDate(value)) { - return ctx.stylize(Date.prototype.toString.call(value), 'date'); - } - - if (isError(value)) { - return formatError(value); - } - } - - var base = '', - array = false, - braces = ['{', '}']; // Make Array say that they are Array - - if (isArray(value)) { - array = true; - braces = ['[', ']']; - } // Make functions say that they are functions - - - if (isFunction(value)) { - var n = value.name ? ': ' + value.name : ''; - base = ' [Function' + n + ']'; - } // Make RegExps say that they are RegExps - - - if (isRegExp(value)) { - base = ' ' + RegExp.prototype.toString.call(value); - } // Make dates with properties first say the date - - - if (isDate(value)) { - base = ' ' + Date.prototype.toUTCString.call(value); - } // Make error with message first say the error - - - if (isError(value)) { - base = ' ' + formatError(value); - } - - if (keys.length === 0 && (!array || value.length == 0)) { - return braces[0] + base + braces[1]; - } - - if (recurseTimes < 0) { - if (isRegExp(value)) { - return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); - } else { - return ctx.stylize('[Object]', 'special'); - } - } - - ctx.seen.push(value); - var output; - - if (array) { - output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); - } else { - output = keys.map(function (key) { - return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); - }); - } - - ctx.seen.pop(); - return reduceToSingleString(output, base, braces); -} - -function formatPrimitive(ctx, value) { - if (isUndefined(value)) return ctx.stylize('undefined', 'undefined'); - - if (isString(value)) { - var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + '\''; - return ctx.stylize(simple, 'string'); - } - - if (isNumber(value)) return ctx.stylize('' + value, 'number'); - if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); // For some reason typeof null is "object", so special case here. - - if (isNull(value)) return ctx.stylize('null', 'null'); -} - -function formatError(value) { - return '[' + Error.prototype.toString.call(value) + ']'; -} - -function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { - var output = []; - - for (var i = 0, l = value.length; i < l; ++i) { - if (hasOwnProperty(value, String(i))) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)); - } else { - output.push(''); - } - } - - keys.forEach(function (key) { - if (!key.match(/^\d+$/)) { - output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)); - } - }); - return output; -} - -function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { - var name, str, desc; - desc = Object.getOwnPropertyDescriptor(value, key) || { - value: value[key] - }; - - if (desc.get) { - if (desc.set) { - str = ctx.stylize('[Getter/Setter]', 'special'); - } else { - str = ctx.stylize('[Getter]', 'special'); - } - } else { - if (desc.set) { - str = ctx.stylize('[Setter]', 'special'); - } - } - - if (!hasOwnProperty(visibleKeys, key)) { - name = '[' + key + ']'; - } - - if (!str) { - if (ctx.seen.indexOf(desc.value) < 0) { - if (isNull(recurseTimes)) { - str = formatValue(ctx, desc.value, null); - } else { - str = formatValue(ctx, desc.value, recurseTimes - 1); - } - - if (str.indexOf('\n') > -1) { - if (array) { - str = str.split('\n').map(function (line) { - return ' ' + line; - }).join('\n').substr(2); - } else { - str = '\n' + str.split('\n').map(function (line) { - return ' ' + line; - }).join('\n'); - } - } - } else { - str = ctx.stylize('[Circular]', 'special'); - } - } - - if (isUndefined(name)) { - if (array && key.match(/^\d+$/)) { - return str; - } - - name = JSON.stringify('' + key); - - if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { - name = name.substr(1, name.length - 2); - name = ctx.stylize(name, 'name'); - } else { - name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"); - name = ctx.stylize(name, 'string'); - } - } - - return name + ': ' + str; -} - -function reduceToSingleString(output, base, braces) { - var numLinesEst = 0; - var length = output.reduce(function (prev, cur) { - numLinesEst++; - if (cur.indexOf('\n') >= 0) numLinesEst++; - return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; - }, 0); - - if (length > 60) { - return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1]; - } - - return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; -} // NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - - -function isArray(ar) { - return Array.isArray(ar); -} - -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} - -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} - -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} - -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} - -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} - -exports.isString = isString; - -function isSymbol(arg) { - return _typeof(arg) === 'symbol'; -} - -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} - -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return isObject(re) && objectToString(re) === '[object RegExp]'; -} - -exports.isRegExp = isRegExp; - -function isObject(arg) { - return _typeof(arg) === 'object' && arg !== null; -} - -exports.isObject = isObject; - -function isDate(d) { - return isObject(d) && objectToString(d) === '[object Date]'; -} - -exports.isDate = isDate; - -function isError(e) { - return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error); -} - -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} - -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || _typeof(arg) === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} - -exports.isPrimitive = isPrimitive; -exports.isBuffer = require('./support/isBuffer'); - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - -function pad(n) { - return n < 10 ? '0' + n.toString(10) : n.toString(10); -} - -var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; // 26 Feb 16:19:34 - -function timestamp() { - var d = new Date(); - var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':'); - return [d.getDate(), months[d.getMonth()], time].join(' '); -} // log is just a thin wrapper to console.log that prepends a timestamp - - -exports.log = function () { - console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); -}; -/** - * Inherit the prototype methods from one constructor into another. - * - * The Function.prototype.inherits from lang.js rewritten as a standalone - * function (not on Function.prototype). NOTE: If this file is to be loaded - * during bootstrapping this function needs to be rewritten using some native - * functions as prototype setup using normal JavaScript does not work as - * expected during bootstrapping (see mirror.js in r114903). - * - * @param {function} ctor Constructor function which needs to inherit the - * prototype. - * @param {function} superCtor Constructor function to inherit prototype from. - */ - - -exports.inherits = require('inherits'); - -exports._extend = function (origin, add) { - // Don't do anything if add isn't an object - if (!add || !isObject(add)) return origin; - var keys = Object.keys(add); - var i = keys.length; - - while (i--) { - origin[keys[i]] = add[keys[i]]; - } - - return origin; -}; - -function hasOwnProperty(obj, prop) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./support/isBuffer":280,"_process":1054,"inherits":279}],282:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getImportSource = getImportSource; -exports.createDynamicImportTransform = createDynamicImportTransform; - -function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); -} - -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); -} - -function _iterableToArrayLimit(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; -} - -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} - -function getImportSource(t, callNode) { - var importArguments = callNode.arguments; - - var _importArguments = _slicedToArray(importArguments, 1), - importPath = _importArguments[0]; - - var isString = t.isStringLiteral(importPath) || t.isTemplateLiteral(importPath); - - if (isString) { - t.removeComments(importPath); - return importPath; - } - - return t.templateLiteral([t.templateElement({ - raw: '', - cooked: '' - }), t.templateElement({ - raw: '', - cooked: '' - }, true)], importArguments); -} - -function createDynamicImportTransform(_ref) { - var template = _ref.template, - t = _ref.types; - var buildImport = template('Promise.resolve().then(() => MODULE)'); - return function (context, path) { - var requireCall = t.callExpression(t.identifier('require'), [getImportSource(t, path.parent)]); - var _context$opts$noInter = context.opts.noInterop, - noInterop = _context$opts$noInter === undefined ? false : _context$opts$noInter; - var MODULE = noInterop === true ? requireCall : t.callExpression(context.addHelper('interopRequireWildcard'), [requireCall]); - var newImport = buildImport({ - MODULE: MODULE - }); - path.parentPath.replaceWith(newImport); - }; -} - -},{}],283:[function(require,module,exports){ -"use strict"; - -// Re-export lib/utils, so that consumers can import -// babel-plugin-dynamic-import-node/utils instead of -// babel-plugin-dynamic-import-node/lib/utils -// eslint-disable-next-line import/no-unresolved -module.exports = require('./lib/utils'); - -},{"./lib/utils":282}],284:[function(require,module,exports){ -'use strict'; - -exports.byteLength = byteLength; -exports.toByteArray = toByteArray; -exports.fromByteArray = fromByteArray; -var lookup = []; -var revLookup = []; -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; - -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i]; - revLookup[code.charCodeAt(i)] = i; -} // Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications - - -revLookup['-'.charCodeAt(0)] = 62; -revLookup['_'.charCodeAt(0)] = 63; - -function getLens(b64) { - var len = b64.length; - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4'); - } // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - - - var validLen = b64.indexOf('='); - if (validLen === -1) validLen = len; - var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; - return [validLen, placeHoldersLen]; -} // base64 is 4/3 + up to two characters of the original data - - -function byteLength(b64) { - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} - -function _byteLength(b64, validLen, placeHoldersLen) { - return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; -} - -function toByteArray(b64) { - var tmp; - var lens = getLens(b64); - var validLen = lens[0]; - var placeHoldersLen = lens[1]; - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); - var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars - - var len = placeHoldersLen > 0 ? validLen - 4 : validLen; - var i; - - for (i = 0; i < len; i += 4) { - tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; - arr[curByte++] = tmp >> 16 & 0xFF; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 2) { - tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; - arr[curByte++] = tmp & 0xFF; - } - - if (placeHoldersLen === 1) { - tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; - arr[curByte++] = tmp >> 8 & 0xFF; - arr[curByte++] = tmp & 0xFF; - } - - return arr; -} - -function tripletToBase64(num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]; -} - -function encodeChunk(uint8, start, end) { - var tmp; - var output = []; - - for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF); - output.push(tripletToBase64(tmp)); - } - - return output.join(''); -} - -function fromByteArray(uint8) { - var tmp; - var len = uint8.length; - var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes - - var parts = []; - var maxChunkLength = 16383; // must be multiple of 3 - // go through the array every three bytes, we'll deal with trailing stuff later - - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); - } // pad the end with zeros, but make sure to not forget the extra bytes - - - if (extraBytes === 1) { - tmp = uint8[len - 1]; - parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '=='); - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1]; - parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '='); - } - - return parts.join(''); -} - -},{}],285:[function(require,module,exports){ -"use strict"; - -},{}],286:[function(require,module,exports){ -"use strict"; - -var BrowserslistError = require('./error'); - -function noop() {} - -module.exports = { - loadQueries: function loadQueries() { - throw new BrowserslistError('Sharable configs are not supported in client-side build of Browserslist'); - }, - getStat: function getStat(opts) { - return opts.stats; - }, - loadConfig: function loadConfig(opts) { - if (opts.config) { - throw new BrowserslistError('Browserslist config are not supported in client-side build'); - } - }, - loadCountry: function loadCountry() { - throw new BrowserslistError('Country statistics is not supported ' + 'in client-side build of Browserslist'); - }, - currentNode: function currentNode(resolve, context) { - return resolve(['maintained node versions'], context)[0]; - }, - parseConfig: noop, - readConfig: noop, - findConfig: noop, - clearCaches: noop, - oldDataWarning: noop -}; - -},{"./error":287}],287:[function(require,module,exports){ -"use strict"; - -function BrowserslistError(message) { - this.name = 'BrowserslistError'; - this.message = message; - this.browserslist = true; - - if (Error.captureStackTrace) { - Error.captureStackTrace(this, BrowserslistError); - } -} - -BrowserslistError.prototype = Error.prototype; -module.exports = BrowserslistError; - -},{}],288:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var jsReleases = require('node-releases/data/processed/envs.json'); - -var agents = require('caniuse-lite/dist/unpacker/agents').agents; - -var jsEOL = require('node-releases/data/release-schedule/release-schedule.json'); - -var path = require('path'); - -var e2c = require('electron-to-chromium/versions'); - -var BrowserslistError = require('./error'); - -var env = require('./node'); // Will load browser.js in webpack - - -var FLOAT_RANGE = /^\d+(\.\d+)?(-\d+(\.\d+)?)*$/; -var YEAR = 365.259641 * 24 * 60 * 60 * 1000; -var QUERY_OR = 1; -var QUERY_AND = 2; - -function isVersionsMatch(versionA, versionB) { - return (versionA + '.').indexOf(versionB + '.') === 0; -} - -function isEolReleased(name) { - var version = name.slice(1); - return jsReleases.some(function (i) { - return isVersionsMatch(i.version, version); - }); -} - -function normalize(versions) { - return versions.filter(function (version) { - return typeof version === 'string'; - }); -} - -function normalizeElectron(version) { - var versionToUse = version; - - if (version.split('.').length === 3) { - versionToUse = version.split('.').slice(0, -1).join('.'); - } - - return versionToUse; -} - -function nameMapper(name) { - return function mapName(version) { - return name + ' ' + version; - }; -} - -function getMajor(version) { - return parseInt(version.split('.')[0]); -} - -function getMajorVersions(released, number) { - if (released.length === 0) return []; - var minimum = getMajor(released[released.length - 1]) - parseInt(number) + 1; - var selected = []; - - for (var i = released.length - 1; i >= 0; i--) { - if (minimum > getMajor(released[i])) break; - selected.unshift(released[i]); - } - - return selected; -} - -function uniq(array) { - var filtered = []; - - for (var i = 0; i < array.length; i++) { - if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]); - } - - return filtered; -} // Helpers - - -function fillUsage(result, name, data) { - for (var i in data) { - result[name + ' ' + i] = data[i]; - } -} - -function generateFilter(sign, version) { - version = parseFloat(version); - - if (sign === '>') { - return function (v) { - return parseFloat(v) > version; - }; - } else if (sign === '>=') { - return function (v) { - return parseFloat(v) >= version; - }; - } else if (sign === '<') { - return function (v) { - return parseFloat(v) < version; - }; - } else { - return function (v) { - return parseFloat(v) <= version; - }; - } -} - -function generateSemverFilter(sign, version) { - version = version.split('.').map(parseSimpleInt); - version[1] = version[1] || 0; - version[2] = version[2] || 0; - - if (sign === '>') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(v, version) > 0; - }; - } else if (sign === '>=') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(v, version) >= 0; - }; - } else if (sign === '<') { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(version, v) > 0; - }; - } else { - return function (v) { - v = v.split('.').map(parseSimpleInt); - return compareSemver(version, v) >= 0; - }; - } -} - -function parseSimpleInt(x) { - return parseInt(x); -} - -function compare(a, b) { - if (a < b) return -1; - if (a > b) return +1; - return 0; -} - -function compareSemver(a, b) { - return compare(a[0], b[0]) || compare(a[1], b[1]) || compare(a[2], b[2]); -} - -function resolveVersion(data, version) { - if (data.versions.indexOf(version) !== -1) { - return version; - } else if (browserslist.versionAliases[data.name][version]) { - return browserslist.versionAliases[data.name][version]; - } else { - return false; - } -} - -function normalizeVersion(data, version, context) { - var resolved = resolveVersion(data, version); - - if (!resolved && context.mobileToDesktop && browserslist.desktopNames[data.name]) { - var alias = checkName(browserslist.desktopNames[data.name]); - resolved = resolveVersion(alias, version); - } - - if (resolved) { - return resolved; - } else if (data.versions.length === 1) { - return data.versions[0]; - } else { - return false; - } -} - -function filterByYear(since) { - since = since / 1000; - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name); - if (!data) return selected; - var versions = Object.keys(data.releaseDate).filter(function (v) { - return data.releaseDate[v] >= since; - }); - return selected.concat(versions.map(nameMapper(data.name))); - }, []); -} - -function byName(name) { - name = name.toLowerCase(); - name = browserslist.aliases[name] || name; - return browserslist.data[name]; -} - -function checkName(name) { - var data = byName(name); - if (!data) throw new BrowserslistError('Unknown browser ' + name); - return data; -} - -function unknownQuery(query) { - return new BrowserslistError('Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.'); -} - -function filterAndroid(list, versions) { - var released = browserslist.data.android.released; - var firstEvergreen = 37; - var last = released[released.length - 1]; - var diff = last - firstEvergreen - versions; // First Android Evergreen - - if (diff > 0) { - return list.slice(-1); - } else { - return list.slice(diff - 1); - } -} -/** - * Resolves queries into a browser list. - * @param {string|string[]} queries Queries to combine. - * Either an array of queries or a long string of queries. - * @param {object} [context] Optional arguments to - * the select function in `queries`. - * @returns {string[]} A list of browsers - */ - - -function resolve(queries, context) { - if (Array.isArray(queries)) { - queries = flatten(queries.map(parse)); - } else { - queries = parse(queries); - } - - return queries.reduce(function (result, query, index) { - var selection = query.queryString; - var isExclude = selection.indexOf('not ') === 0; - - if (isExclude) { - if (index === 0) { - throw new BrowserslistError('Write any browsers query (for instance, `defaults`) ' + 'before `' + selection + '`'); - } - - selection = selection.slice(4); - } - - for (var i = 0; i < QUERIES.length; i++) { - var type = QUERIES[i]; - var match = selection.match(type.regexp); - - if (match) { - var args = [context].concat(match.slice(1)); - var array = type.select.apply(browserslist, args).map(function (j) { - var parts = j.split(' '); - - if (parts[1] === '0') { - return parts[0] + ' ' + byName(parts[0]).versions[0]; - } else { - return j; - } - }); - - switch (query.type) { - case QUERY_AND: - if (isExclude) { - return result.filter(function (j) { - return array.indexOf(j) === -1; - }); - } else { - return result.filter(function (j) { - return array.indexOf(j) !== -1; - }); - } - - case QUERY_OR: - default: - if (isExclude) { - var filter = {}; - array.forEach(function (j) { - filter[j] = true; - }); - return result.filter(function (j) { - return !filter[j]; - }); - } - - return result.concat(array); - } - } - } - - throw unknownQuery(selection); - }, []); -} - -var cache = {}; -/** - * Return array of browsers by selection queries. - * - * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. - * @param {object} [opts] Options. - * @param {string} [opts.path="."] Path to processed file. - * It will be used to find config files. - * @param {string} [opts.env="production"] Processing environment. - * It will be used to take right - * queries from config file. - * @param {string} [opts.config] Path to config file with queries. - * @param {object} [opts.stats] Custom browser usage statistics - * for "> 1% in my stats" query. - * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown - * version in direct query. - * @param {boolean} [opts.dangerousExtend] Disable security checks - * for extend query. - * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop - * version when Can I Use doesn't have - * data about the specified version. - * @returns {string[]} Array with browser names in Can I Use. - * - * @example - * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] - */ - -function browserslist(queries, opts) { - if (typeof opts === 'undefined') opts = {}; - - if (typeof opts.path === 'undefined') { - opts.path = path.resolve ? path.resolve('.') : '.'; - } - - if (typeof queries === 'undefined' || queries === null) { - var config = browserslist.loadConfig(opts); - - if (config) { - queries = config; - } else { - queries = browserslist.defaults; - } - } - - if (!(typeof queries === 'string' || Array.isArray(queries))) { - throw new BrowserslistError('Browser queries must be an array or string. Got ' + _typeof(queries) + '.'); - } - - var context = { - ignoreUnknownVersions: opts.ignoreUnknownVersions, - dangerousExtend: opts.dangerousExtend, - mobileToDesktop: opts.mobileToDesktop - }; - env.oldDataWarning(browserslist.data); - var stats = env.getStat(opts, browserslist.data); - - if (stats) { - context.customUsage = {}; - - for (var browser in stats) { - fillUsage(context.customUsage, browser, stats[browser]); - } - } - - var cacheKey = JSON.stringify([queries, context]); - if (cache[cacheKey]) return cache[cacheKey]; - var result = uniq(resolve(queries, context)).sort(function (name1, name2) { - name1 = name1.split(' '); - name2 = name2.split(' '); - - if (name1[0] === name2[0]) { - if (FLOAT_RANGE.test(name1[1]) && FLOAT_RANGE.test(name2[1])) { - return parseFloat(name2[1]) - parseFloat(name1[1]); - } else { - return compare(name2[1], name1[1]); - } - } else { - return compare(name1[0], name2[0]); - } - }); - - if (!process.env.BROWSERSLIST_DISABLE_CACHE) { - cache[cacheKey] = result; - } - - return result; -} - -function parse(queries) { - var qs = []; - - do { - queries = doMatch(queries, qs); - } while (queries); - - return qs; -} - -function doMatch(string, qs) { - var or = /^(?:,\s*|\s+OR\s+)(.*)/i; - var and = /^\s+AND\s+(.*)/i; - return find(string, function (parsed, n, max) { - if (and.test(parsed)) { - qs.unshift({ - type: QUERY_AND, - queryString: parsed.match(and)[1] - }); - return true; - } else if (or.test(parsed)) { - qs.unshift({ - type: QUERY_OR, - queryString: parsed.match(or)[1] - }); - return true; - } else if (n === max) { - qs.unshift({ - type: QUERY_OR, - queryString: parsed.trim() - }); - return true; - } - - return false; - }); -} - -function find(string, predicate) { - for (var n = 1, max = string.length; n <= max; n++) { - var parsed = string.substr(-n, n); - - if (predicate(parsed, n, max)) { - return string.slice(0, -n); - } - } - - return ''; -} - -function flatten(array) { - if (!Array.isArray(array)) return [array]; - return array.reduce(function (a, b) { - return a.concat(flatten(b)); - }, []); -} // Will be filled by Can I Use data below - - -browserslist.data = {}; -browserslist.usage = { - global: {}, - custom: null -}; // Default browsers query - -browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']; // Browser names aliases - -browserslist.aliases = { - fx: 'firefox', - ff: 'firefox', - ios: 'ios_saf', - explorer: 'ie', - blackberry: 'bb', - explorermobile: 'ie_mob', - operamini: 'op_mini', - operamobile: 'op_mob', - chromeandroid: 'and_chr', - firefoxandroid: 'and_ff', - ucandroid: 'and_uc', - qqandroid: 'and_qq' -}; // Can I Use only provides a few versions for some browsers (e.g. and_chr). -// Fallback to a similar browser for unknown versions - -browserslist.desktopNames = { - and_chr: 'chrome', - and_ff: 'firefox', - ie_mob: 'ie', - op_mob: 'opera' -}; // Aliases to work with joined versions like `ios_saf 7.0-7.1` - -browserslist.versionAliases = {}; -browserslist.clearCaches = env.clearCaches; -browserslist.parseConfig = env.parseConfig; -browserslist.readConfig = env.readConfig; -browserslist.findConfig = env.findConfig; -browserslist.loadConfig = env.loadConfig; -/** - * Return browsers market coverage. - * - * @param {string[]} browsers Browsers names in Can I Use. - * @param {string|object} [stats="global"] Which statistics should be used. - * Country code or custom statistics. - * Pass `"my stats"` to load statistics - * from Browserslist files. - * - * @return {number} Total market coverage for all selected browsers. - * - * @example - * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 - */ - -browserslist.coverage = function (browsers, stats) { - var data; - - if (typeof stats === 'undefined') { - data = browserslist.usage.global; - } else if (stats === 'my stats') { - var opts = {}; - opts.path = path.resolve ? path.resolve('.') : '.'; - var customStats = env.getStat(opts); - - if (!customStats) { - throw new BrowserslistError('Custom usage statistics was not provided'); - } - - data = {}; - - for (var browser in customStats) { - fillUsage(data, browser, customStats[browser]); - } - } else if (typeof stats === 'string') { - if (stats.length > 2) { - stats = stats.toLowerCase(); - } else { - stats = stats.toUpperCase(); - } - - env.loadCountry(browserslist.usage, stats); - data = browserslist.usage[stats]; - } else { - if ('dataByBrowser' in stats) { - stats = stats.dataByBrowser; - } - - data = {}; - - for (var name in stats) { - for (var version in stats[name]) { - data[name + ' ' + version] = stats[name][version]; - } - } - } - - return browsers.reduce(function (all, i) { - var usage = data[i]; - - if (usage === undefined) { - usage = data[i.replace(/ \S+$/, ' 0')]; - } - - return all + (usage || 0); - }, 0); -}; - -var QUERIES = [{ - regexp: /^last\s+(\d+)\s+major\s+versions?$/i, - select: function select(context, versions) { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name); - if (!data) return selected; - var list = getMajorVersions(data.released, versions); - list = list.map(nameMapper(data.name)); - if (data.name === 'android') list = filterAndroid(list, versions); - return selected.concat(list); - }, []); - } -}, { - regexp: /^last\s+(\d+)\s+versions?$/i, - select: function select(context, versions) { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name); - if (!data) return selected; - var list = data.released.slice(-versions); - list = list.map(nameMapper(data.name)); - if (data.name === 'android') list = filterAndroid(list, versions); - return selected.concat(list); - }, []); - } -}, { - regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, - select: function select(context, versions) { - var validVersions = getMajorVersions(Object.keys(e2c).reverse(), versions); - return validVersions.map(function (i) { - return 'chrome ' + e2c[i]; - }); - } -}, { - regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, - select: function select(context, versions, name) { - var data = checkName(name); - var validVersions = getMajorVersions(data.released, versions); - var list = validVersions.map(nameMapper(data.name)); - if (data.name === 'android') list = filterAndroid(list, versions); - return list; - } -}, { - regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, - select: function select(context, versions) { - return Object.keys(e2c).reverse().slice(-versions).map(function (i) { - return 'chrome ' + e2c[i]; - }); - } -}, { - regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, - select: function select(context, versions, name) { - var data = checkName(name); - var list = data.released.slice(-versions).map(nameMapper(data.name)); - if (data.name === 'android') list = filterAndroid(list, versions); - return list; - } -}, { - regexp: /^unreleased\s+versions$/i, - select: function select() { - return Object.keys(agents).reduce(function (selected, name) { - var data = byName(name); - if (!data) return selected; - var list = data.versions.filter(function (v) { - return data.released.indexOf(v) === -1; - }); - list = list.map(nameMapper(data.name)); - return selected.concat(list); - }, []); - } -}, { - regexp: /^unreleased\s+electron\s+versions?$/i, - select: function select() { - return []; - } -}, { - regexp: /^unreleased\s+(\w+)\s+versions?$/i, - select: function select(context, name) { - var data = checkName(name); - return data.versions.filter(function (v) { - return data.released.indexOf(v) === -1; - }).map(nameMapper(data.name)); - } -}, { - regexp: /^last\s+(\d*.?\d+)\s+years?$/i, - select: function select(context, years) { - return filterByYear(Date.now() - YEAR * years); - } -}, { - regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i, - select: function select(context, year, month, date) { - year = parseInt(year); - month = parseInt(month || '01') - 1; - date = parseInt(date || '01'); - return filterByYear(Date.UTC(year, month, date, 0, 0, 0)); - } -}, { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/, - select: function select(context, sign, popularity) { - popularity = parseFloat(popularity); - var usage = browserslist.usage.global; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - - return result; - }, []); - } -}, { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, - select: function select(context, sign, popularity) { - popularity = parseFloat(popularity); - - if (!context.customUsage) { - throw new BrowserslistError('Custom usage statistics was not provided'); - } - - var usage = context.customUsage; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - - return result; - }, []); - } -}, { - regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/, - select: function select(context, sign, popularity, place) { - popularity = parseFloat(popularity); - - if (place.length === 2) { - place = place.toUpperCase(); - } else { - place = place.toLowerCase(); - } - - env.loadCountry(browserslist.usage, place); - var usage = browserslist.usage[place]; - return Object.keys(usage).reduce(function (result, version) { - if (sign === '>') { - if (usage[version] > popularity) { - result.push(version); - } - } else if (sign === '<') { - if (usage[version] < popularity) { - result.push(version); - } - } else if (sign === '<=') { - if (usage[version] <= popularity) { - result.push(version); - } - } else if (usage[version] >= popularity) { - result.push(version); - } - - return result; - }, []); - } -}, { - regexp: /^cover\s+(\d*\.?\d+)%(\s+in\s+(my\s+stats|(alt-)?\w\w))?$/, - select: function select(context, coverage, statMode) { - coverage = parseFloat(coverage); - var usage = browserslist.usage.global; - - if (statMode) { - if (statMode.match(/^\s+in\s+my\s+stats$/)) { - if (!context.customUsage) { - throw new BrowserslistError('Custom usage statistics was not provided'); - } - - usage = context.customUsage; - } else { - var match = statMode.match(/\s+in\s+((alt-)?\w\w)/); - var place = match[1]; - - if (place.length === 2) { - place = place.toUpperCase(); - } else { - place = place.toLowerCase(); - } - - env.loadCountry(browserslist.usage, place); - usage = browserslist.usage[place]; - } - } - - var versions = Object.keys(usage).sort(function (a, b) { - return usage[b] - usage[a]; - }); - var coveraged = 0; - var result = []; - var version; - - for (var i = 0; i <= versions.length; i++) { - version = versions[i]; - if (usage[version] === 0) break; - coveraged += usage[version]; - result.push(version); - if (coveraged >= coverage) break; - } - - return result; - } -}, { - regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function select(context, from, to) { - var fromToUse = normalizeElectron(from); - var toToUse = normalizeElectron(to); - - if (!e2c[fromToUse]) { - throw new BrowserslistError('Unknown version ' + from + ' of electron'); - } - - if (!e2c[toToUse]) { - throw new BrowserslistError('Unknown version ' + to + ' of electron'); - } - - from = parseFloat(from); - to = parseFloat(to); - return Object.keys(e2c).filter(function (i) { - var parsed = parseFloat(i); - return parsed >= from && parsed <= to; - }).map(function (i) { - return 'chrome ' + e2c[i]; - }); - } -}, { - regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, - select: function select(context, name, from, to) { - var data = checkName(name); - from = parseFloat(normalizeVersion(data, from, context) || from); - to = parseFloat(normalizeVersion(data, to, context) || to); - - function filter(v) { - var parsed = parseFloat(v); - return parsed >= from && parsed <= to; - } - - return data.released.filter(filter).map(nameMapper(data.name)); - } -}, { - regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, - select: function select(context, sign, version) { - var versionToUse = normalizeElectron(version); - return Object.keys(e2c).filter(generateFilter(sign, versionToUse)).map(function (i) { - return 'chrome ' + e2c[i]; - }); - } -}, { - regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, - select: function select(context, sign, version) { - var nodeVersions = jsReleases.filter(function (i) { - return i.name === 'nodejs'; - }).map(function (i) { - return i.version; - }); - return nodeVersions.filter(generateSemverFilter(sign, version)).map(function (v) { - return 'node ' + v; - }); - } -}, { - regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, - select: function select(context, name, sign, version) { - var data = checkName(name); - var alias = browserslist.versionAliases[data.name][version]; - - if (alias) { - version = alias; - } - - return data.released.filter(generateFilter(sign, version)).map(function (v) { - return data.name + ' ' + v; - }); - } -}, { - regexp: /^(firefox|ff|fx)\s+esr$/i, - select: function select() { - return ['firefox 68']; - } -}, { - regexp: /(operamini|op_mini)\s+all/i, - select: function select() { - return ['op_mini all']; - } -}, { - regexp: /^electron\s+([\d.]+)$/i, - select: function select(context, version) { - var versionToUse = normalizeElectron(version); - var chrome = e2c[versionToUse]; - - if (!chrome) { - throw new BrowserslistError('Unknown version ' + version + ' of electron'); - } - - return ['chrome ' + chrome]; - } -}, { - regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i, - select: function select(context, version) { - var nodeReleases = jsReleases.filter(function (i) { - return i.name === 'nodejs'; - }); - var matched = nodeReleases.filter(function (i) { - return isVersionsMatch(i.version, version); - }); - - if (matched.length === 0) { - if (context.ignoreUnknownVersions) { - return []; - } else { - throw new BrowserslistError('Unknown version ' + version + ' of Node.js'); - } - } - - return ['node ' + matched[matched.length - 1].version]; - } -}, { - regexp: /^current\s+node$/i, - select: function select(context) { - return [env.currentNode(resolve, context)]; - } -}, { - regexp: /^maintained\s+node\s+versions$/i, - select: function select(context) { - var now = Date.now(); - var queries = Object.keys(jsEOL).filter(function (key) { - return now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key); - }).map(function (key) { - return 'node ' + key.slice(1); - }); - return resolve(queries, context); - } -}, { - regexp: /^phantomjs\s+1.9$/i, - select: function select() { - return ['safari 5']; - } -}, { - regexp: /^phantomjs\s+2.1$/i, - select: function select() { - return ['safari 6']; - } -}, { - regexp: /^(\w+)\s+(tp|[\d.]+)$/i, - select: function select(context, name, version) { - if (/^tp$/i.test(version)) version = 'TP'; - var data = checkName(name); - var alias = normalizeVersion(data, version, context); - - if (alias) { - version = alias; - } else { - if (version.indexOf('.') === -1) { - alias = version + '.0'; - } else { - alias = version.replace(/\.0$/, ''); - } - - alias = normalizeVersion(data, alias, context); - - if (alias) { - version = alias; - } else if (context.ignoreUnknownVersions) { - return []; - } else { - throw new BrowserslistError('Unknown version ' + version + ' of ' + name); - } - } - - return [data.name + ' ' + version]; - } -}, { - regexp: /^extends (.+)$/i, - select: function select(context, name) { - return resolve(env.loadQueries(context, name), context); - } -}, { - regexp: /^defaults$/i, - select: function select() { - return browserslist(browserslist.defaults); - } -}, { - regexp: /^dead$/i, - select: function select(context) { - var dead = ['ie <= 10', 'ie_mob <= 10', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4']; - return resolve(dead, context); - } -}, { - regexp: /^(\w+)$/i, - select: function select(context, name) { - if (byName(name)) { - throw new BrowserslistError('Specify versions in Browserslist query for browser ' + name); - } else { - throw unknownQuery(name); - } - } -}]; // Get and convert Can I Use data - -(function () { - for (var name in agents) { - var browser = agents[name]; - browserslist.data[name] = { - name: name, - versions: normalize(agents[name].versions), - released: normalize(agents[name].versions.slice(0, -3)), - releaseDate: agents[name].release_date - }; - fillUsage(browserslist.usage.global, name, browser.usage_global); - browserslist.versionAliases[name] = {}; - - for (var i = 0; i < browser.versions.length; i++) { - var full = browser.versions[i]; - if (!full) continue; - - if (full.indexOf('-') !== -1) { - var interval = full.split('-'); - - for (var j = 0; j < interval.length; j++) { - browserslist.versionAliases[name][interval[j]] = full; - } - } - } - } -})(); - -module.exports = browserslist; - -}).call(this,require('_process')) -},{"./error":287,"./node":286,"_process":1054,"caniuse-lite/dist/unpacker/agents":293,"electron-to-chromium/versions":831,"node-releases/data/processed/envs.json":1049,"node-releases/data/release-schedule/release-schedule.json":1050,"path":285}],289:[function(require,module,exports){ -(function (Buffer){ -/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ - -/* eslint-disable no-proto */ -'use strict'; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var base64 = require('base64-js'); - -var ieee754 = require('ieee754'); - -var customInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : null; -exports.Buffer = Buffer; -exports.SlowBuffer = SlowBuffer; -exports.INSPECT_MAX_BYTES = 50; -var K_MAX_LENGTH = 0x7fffffff; -exports.kMaxLength = K_MAX_LENGTH; -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Print warning and recommend using `buffer` v4.x which has an Object - * implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * We report that the browser does not support typed arrays if the are not subclassable - * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` - * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support - * for __proto__ and has a buggy typed array implementation. - */ - -Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport(); - -if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') { - console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'); -} - -function typedArraySupport() { - // Can typed array instances can be augmented? - try { - var arr = new Uint8Array(1); - var proto = { - foo: function foo() { - return 42; - } - }; - Object.setPrototypeOf(proto, Uint8Array.prototype); - Object.setPrototypeOf(arr, proto); - return arr.foo() === 42; - } catch (e) { - return false; - } -} - -Object.defineProperty(Buffer.prototype, 'parent', { - enumerable: true, - get: function get() { - if (!Buffer.isBuffer(this)) return undefined; - return this.buffer; - } -}); -Object.defineProperty(Buffer.prototype, 'offset', { - enumerable: true, - get: function get() { - if (!Buffer.isBuffer(this)) return undefined; - return this.byteOffset; - } -}); - -function createBuffer(length) { - if (length > K_MAX_LENGTH) { - throw new RangeError('The value "' + length + '" is invalid for option "size"'); - } // Return an augmented `Uint8Array` instance - - - var buf = new Uint8Array(length); - Object.setPrototypeOf(buf, Buffer.prototype); - return buf; -} -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - - -function Buffer(arg, encodingOrOffset, length) { - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new TypeError('The "string" argument must be of type string. Received type number'); - } - - return allocUnsafe(arg); - } - - return from(arg, encodingOrOffset, length); -} // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - - -if (typeof Symbol !== 'undefined' && Symbol.species != null && Buffer[Symbol.species] === Buffer) { - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true, - enumerable: false, - writable: false - }); -} - -Buffer.poolSize = 8192; // not used by this implementation - -function from(value, encodingOrOffset, length) { - if (typeof value === 'string') { - return fromString(value, encodingOrOffset); - } - - if (ArrayBuffer.isView(value)) { - return fromArrayLike(value); - } - - if (value == null) { - throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + _typeof(value)); - } - - if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { - return fromArrayBuffer(value, encodingOrOffset, length); - } - - if (typeof value === 'number') { - throw new TypeError('The "value" argument must not be of type number. Received type number'); - } - - var valueOf = value.valueOf && value.valueOf(); - - if (valueOf != null && valueOf !== value) { - return Buffer.from(valueOf, encodingOrOffset, length); - } - - var b = fromObject(value); - if (b) return b; - - if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') { - return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length); - } - - throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + _typeof(value)); -} -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ - - -Buffer.from = function (value, encodingOrOffset, length) { - return from(value, encodingOrOffset, length); -}; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: -// https://github.com/feross/buffer/pull/148 - - -Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype); -Object.setPrototypeOf(Buffer, Uint8Array); - -function assertSize(size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be of type number'); - } else if (size < 0) { - throw new RangeError('The value "' + size + '" is invalid for option "size"'); - } -} - -function alloc(size, fill, encoding) { - assertSize(size); - - if (size <= 0) { - return createBuffer(size); - } - - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); - } - - return createBuffer(size); -} -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ - - -Buffer.alloc = function (size, fill, encoding) { - return alloc(size, fill, encoding); -}; - -function allocUnsafe(size) { - assertSize(size); - return createBuffer(size < 0 ? 0 : checked(size) | 0); -} -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ - - -Buffer.allocUnsafe = function (size) { - return allocUnsafe(size); -}; -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ - - -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(size); -}; - -function fromString(string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8'; - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding); - } - - var length = byteLength(string, encoding) | 0; - var buf = createBuffer(length); - var actual = buf.write(string, encoding); - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - buf = buf.slice(0, actual); - } - - return buf; -} - -function fromArrayLike(array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0; - var buf = createBuffer(length); - - for (var i = 0; i < length; i += 1) { - buf[i] = array[i] & 255; - } - - return buf; -} - -function fromArrayBuffer(array, byteOffset, length) { - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('"offset" is outside of buffer bounds'); - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('"length" is outside of buffer bounds'); - } - - var buf; - - if (byteOffset === undefined && length === undefined) { - buf = new Uint8Array(array); - } else if (length === undefined) { - buf = new Uint8Array(array, byteOffset); - } else { - buf = new Uint8Array(array, byteOffset, length); - } // Return an augmented `Uint8Array` instance - - - Object.setPrototypeOf(buf, Buffer.prototype); - return buf; -} - -function fromObject(obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0; - var buf = createBuffer(len); - - if (buf.length === 0) { - return buf; - } - - obj.copy(buf, 0, 0, len); - return buf; - } - - if (obj.length !== undefined) { - if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { - return createBuffer(0); - } - - return fromArrayLike(obj); - } - - if (obj.type === 'Buffer' && Array.isArray(obj.data)) { - return fromArrayLike(obj.data); - } -} - -function checked(length) { - // Note: cannot use `length < K_MAX_LENGTH` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= K_MAX_LENGTH) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes'); - } - - return length | 0; -} - -function SlowBuffer(length) { - if (+length != length) { - // eslint-disable-line eqeqeq - length = 0; - } - - return Buffer.alloc(+length); -} - -Buffer.isBuffer = function isBuffer(b) { - return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false -}; - -Buffer.compare = function compare(a, b) { - if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength); - if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength); - - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); - } - - if (a === b) return 0; - var x = a.length; - var y = b.length; - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i]; - y = b[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; -}; - -Buffer.isEncoding = function isEncoding(encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true; - - default: - return false; - } -}; - -Buffer.concat = function concat(list, length) { - if (!Array.isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - - if (list.length === 0) { - return Buffer.alloc(0); - } - - var i; - - if (length === undefined) { - length = 0; - - for (i = 0; i < list.length; ++i) { - length += list[i].length; - } - } - - var buffer = Buffer.allocUnsafe(length); - var pos = 0; - - for (i = 0; i < list.length; ++i) { - var buf = list[i]; - - if (isInstance(buf, Uint8Array)) { - buf = Buffer.from(buf); - } - - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers'); - } - - buf.copy(buffer, pos); - pos += buf.length; - } - - return buffer; -}; - -function byteLength(string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length; - } - - if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { - return string.byteLength; - } - - if (typeof string !== 'string') { - throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + _typeof(string)); - } - - var len = string.length; - var mustMatch = arguments.length > 2 && arguments[2] === true; - if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion - - var loweredCase = false; - - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len; - - case 'utf8': - case 'utf-8': - return utf8ToBytes(string).length; - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2; - - case 'hex': - return len >>> 1; - - case 'base64': - return base64ToBytes(string).length; - - default: - if (loweredCase) { - return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8 - } - - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } - } -} - -Buffer.byteLength = byteLength; - -function slowToString(encoding, start, end) { - var loweredCase = false; // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - - if (start === undefined || start < 0) { - start = 0; - } // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - - - if (start > this.length) { - return ''; - } - - if (end === undefined || end > this.length) { - end = this.length; - } - - if (end <= 0) { - return ''; - } // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - - - end >>>= 0; - start >>>= 0; - - if (end <= start) { - return ''; - } - - if (!encoding) encoding = 'utf8'; - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end); - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end); - - case 'ascii': - return asciiSlice(this, start, end); - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end); - - case 'base64': - return base64Slice(this, start, end); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = (encoding + '').toLowerCase(); - loweredCase = true; - } - } -} // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) -// to detect a Buffer instance. It's not possible to use `instanceof Buffer` -// reliably in a browserify context because there could be multiple different -// copies of the 'buffer' package in use. This method works even for Buffer -// instances that were created from another copy of the `buffer` package. -// See: https://github.com/feross/buffer/issues/154 - - -Buffer.prototype._isBuffer = true; - -function swap(b, n, m) { - var i = b[n]; - b[n] = b[m]; - b[m] = i; -} - -Buffer.prototype.swap16 = function swap16() { - var len = this.length; - - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits'); - } - - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1); - } - - return this; -}; - -Buffer.prototype.swap32 = function swap32() { - var len = this.length; - - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits'); - } - - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3); - swap(this, i + 1, i + 2); - } - - return this; -}; - -Buffer.prototype.swap64 = function swap64() { - var len = this.length; - - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits'); - } - - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7); - swap(this, i + 1, i + 6); - swap(this, i + 2, i + 5); - swap(this, i + 3, i + 4); - } - - return this; -}; - -Buffer.prototype.toString = function toString() { - var length = this.length; - if (length === 0) return ''; - if (arguments.length === 0) return utf8Slice(this, 0, length); - return slowToString.apply(this, arguments); -}; - -Buffer.prototype.toLocaleString = Buffer.prototype.toString; - -Buffer.prototype.equals = function equals(b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer'); - if (this === b) return true; - return Buffer.compare(this, b) === 0; -}; - -Buffer.prototype.inspect = function inspect() { - var str = ''; - var max = exports.INSPECT_MAX_BYTES; - str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim(); - if (this.length > max) str += ' ... '; - return ''; -}; - -if (customInspectSymbol) { - Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect; -} - -Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { - if (isInstance(target, Uint8Array)) { - target = Buffer.from(target, target.offset, target.byteLength); - } - - if (!Buffer.isBuffer(target)) { - throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + _typeof(target)); - } - - if (start === undefined) { - start = 0; - } - - if (end === undefined) { - end = target ? target.length : 0; - } - - if (thisStart === undefined) { - thisStart = 0; - } - - if (thisEnd === undefined) { - thisEnd = this.length; - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index'); - } - - if (thisStart >= thisEnd && start >= end) { - return 0; - } - - if (thisStart >= thisEnd) { - return -1; - } - - if (start >= end) { - return 1; - } - - start >>>= 0; - end >>>= 0; - thisStart >>>= 0; - thisEnd >>>= 0; - if (this === target) return 0; - var x = thisEnd - thisStart; - var y = end - start; - var len = Math.min(x, y); - var thisCopy = this.slice(thisStart, thisEnd); - var targetCopy = target.slice(start, end); - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i]; - y = targetCopy[i]; - break; - } - } - - if (x < y) return -1; - if (y < x) return 1; - return 0; -}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf - - -function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1; // Normalize byteOffset - - if (typeof byteOffset === 'string') { - encoding = byteOffset; - byteOffset = 0; - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff; - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000; - } - - byteOffset = +byteOffset; // Coerce to Number. - - if (numberIsNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : buffer.length - 1; - } // Normalize byteOffset: negative offsets start from the end of the buffer - - - if (byteOffset < 0) byteOffset = buffer.length + byteOffset; - - if (byteOffset >= buffer.length) { - if (dir) return -1;else byteOffset = buffer.length - 1; - } else if (byteOffset < 0) { - if (dir) byteOffset = 0;else return -1; - } // Normalize val - - - if (typeof val === 'string') { - val = Buffer.from(val, encoding); - } // Finally, search either indexOf (if dir is true) or lastIndexOf - - - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1; - } - - return arrayIndexOf(buffer, val, byteOffset, encoding, dir); - } else if (typeof val === 'number') { - val = val & 0xFF; // Search for a byte value [0-255] - - if (typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); - } - } - - return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); - } - - throw new TypeError('val must be string, number or Buffer'); -} - -function arrayIndexOf(arr, val, byteOffset, encoding, dir) { - var indexSize = 1; - var arrLength = arr.length; - var valLength = val.length; - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase(); - - if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1; - } - - indexSize = 2; - arrLength /= 2; - valLength /= 2; - byteOffset /= 2; - } - } - - function read(buf, i) { - if (indexSize === 1) { - return buf[i]; - } else { - return buf.readUInt16BE(i * indexSize); - } - } - - var i; - - if (dir) { - var foundIndex = -1; - - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i; - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; - } else { - if (foundIndex !== -1) i -= i - foundIndex; - foundIndex = -1; - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; - - for (i = byteOffset; i >= 0; i--) { - var found = true; - - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false; - break; - } - } - - if (found) return i; - } - } - - return -1; -} - -Buffer.prototype.includes = function includes(val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1; -}; - -Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true); -}; - -Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false); -}; - -function hexWrite(buf, string, offset, length) { - offset = Number(offset) || 0; - var remaining = buf.length - offset; - - if (!length) { - length = remaining; - } else { - length = Number(length); - - if (length > remaining) { - length = remaining; - } - } - - var strLen = string.length; - - if (length > strLen / 2) { - length = strLen / 2; - } - - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16); - if (numberIsNaN(parsed)) return i; - buf[offset + i] = parsed; - } - - return i; -} - -function utf8Write(buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); -} - -function asciiWrite(buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length); -} - -function latin1Write(buf, string, offset, length) { - return asciiWrite(buf, string, offset, length); -} - -function base64Write(buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length); -} - -function ucs2Write(buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); -} - -Buffer.prototype.write = function write(string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8'; - length = this.length; - offset = 0; // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset; - length = this.length; - offset = 0; // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset >>> 0; - - if (isFinite(length)) { - length = length >>> 0; - if (encoding === undefined) encoding = 'utf8'; - } else { - encoding = length; - length = undefined; - } - } else { - throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported'); - } - - var remaining = this.length - offset; - if (length === undefined || length > remaining) length = remaining; - - if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds'); - } - - if (!encoding) encoding = 'utf8'; - var loweredCase = false; - - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length); - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length); - - case 'ascii': - return asciiWrite(this, string, offset, length); - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length); - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length); - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length); - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); - encoding = ('' + encoding).toLowerCase(); - loweredCase = true; - } - } -}; - -Buffer.prototype.toJSON = function toJSON() { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - }; -}; - -function base64Slice(buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf); - } else { - return base64.fromByteArray(buf.slice(start, end)); - } -} - -function utf8Slice(buf, start, end) { - end = Math.min(buf.length, end); - var res = []; - var i = start; - - while (i < end) { - var firstByte = buf[i]; - var codePoint = null; - var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1; - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint; - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte; - } - - break; - - case 2: - secondByte = buf[i + 1]; - - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F; - - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint; - } - } - - break; - - case 3: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F; - - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint; - } - } - - break; - - case 4: - secondByte = buf[i + 1]; - thirdByte = buf[i + 2]; - fourthByte = buf[i + 3]; - - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F; - - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint; - } - } - - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD; - bytesPerSequence = 1; - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000; - res.push(codePoint >>> 10 & 0x3FF | 0xD800); - codePoint = 0xDC00 | codePoint & 0x3FF; - } - - res.push(codePoint); - i += bytesPerSequence; - } - - return decodeCodePointsArray(res); -} // Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety - - -var MAX_ARGUMENTS_LENGTH = 0x1000; - -function decodeCodePointsArray(codePoints) { - var len = codePoints.length; - - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints); // avoid extra slice() - } // Decode in chunks to avoid "call stack size exceeded". - - - var res = ''; - var i = 0; - - while (i < len) { - res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); - } - - return res; -} - -function asciiSlice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F); - } - - return ret; -} - -function latin1Slice(buf, start, end) { - var ret = ''; - end = Math.min(buf.length, end); - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]); - } - - return ret; -} - -function hexSlice(buf, start, end) { - var len = buf.length; - if (!start || start < 0) start = 0; - if (!end || end < 0 || end > len) end = len; - var out = ''; - - for (var i = start; i < end; ++i) { - out += hexSliceLookupTable[buf[i]]; - } - - return out; -} - -function utf16leSlice(buf, start, end) { - var bytes = buf.slice(start, end); - var res = ''; - - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); - } - - return res; -} - -Buffer.prototype.slice = function slice(start, end) { - var len = this.length; - start = ~~start; - end = end === undefined ? len : ~~end; - - if (start < 0) { - start += len; - if (start < 0) start = 0; - } else if (start > len) { - start = len; - } - - if (end < 0) { - end += len; - if (end < 0) end = 0; - } else if (end > len) { - end = len; - } - - if (end < start) end = start; - var newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance - - Object.setPrototypeOf(newBuf, Buffer.prototype); - return newBuf; -}; -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ - - -function checkOffset(offset, ext, length) { - if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint'); - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length'); -} - -Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - var val = this[offset]; - var mul = 1; - var i = 0; - - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - - return val; -}; - -Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - - if (!noAssert) { - checkOffset(offset, byteLength, this.length); - } - - var val = this[offset + --byteLength]; - var mul = 1; - - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul; - } - - return val; -}; - -Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - return this[offset]; -}; - -Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] | this[offset + 1] << 8; -}; - -Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - return this[offset] << 8 | this[offset + 1]; -}; - -Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000; -}; - -Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); -}; - -Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - var val = this[offset]; - var mul = 1; - var i = 0; - - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul; - } - - mul *= 0x80; - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - return val; -}; - -Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { - offset = offset >>> 0; - byteLength = byteLength >>> 0; - if (!noAssert) checkOffset(offset, byteLength, this.length); - var i = byteLength; - var mul = 1; - var val = this[offset + --i]; - - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul; - } - - mul *= 0x80; - if (val >= mul) val -= Math.pow(2, 8 * byteLength); - return val; -}; - -Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 1, this.length); - if (!(this[offset] & 0x80)) return this[offset]; - return (0xff - this[offset] + 1) * -1; -}; - -Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset] | this[offset + 1] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; -}; - -Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 2, this.length); - var val = this[offset + 1] | this[offset] << 8; - return val & 0x8000 ? val | 0xFFFF0000 : val; -}; - -Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; -}; - -Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; -}; - -Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, true, 23, 4); -}; - -Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 4, this.length); - return ieee754.read(this, offset, false, 23, 4); -}; - -Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, true, 52, 8); -}; - -Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { - offset = offset >>> 0; - if (!noAssert) checkOffset(offset, 8, this.length); - return ieee754.read(this, offset, false, 52, 8); -}; - -function checkInt(buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); - if (offset + ext > buf.length) throw new RangeError('Index out of range'); -} - -Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength = byteLength >>> 0; - - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var mul = 1; - var i = 0; - this[offset] = value & 0xFF; - - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - byteLength = byteLength >>> 0; - - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1; - checkInt(this, value, offset, byteLength, maxBytes, 0); - } - - var i = byteLength - 1; - var mul = 1; - this[offset + i] = value & 0xFF; - - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = value / mul & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); - this[offset] = value & 0xff; - return offset + 1; -}; - -Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - return offset + 2; -}; - -Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - return offset + 2; -}; - -Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - this[offset + 3] = value >>> 24; - this[offset + 2] = value >>> 16; - this[offset + 1] = value >>> 8; - this[offset] = value & 0xff; - return offset + 4; -}; - -Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - return offset + 4; -}; - -Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = 0; - var mul = 1; - var sub = 0; - this[offset] = value & 0xFF; - - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1; - } - - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { - value = +value; - offset = offset >>> 0; - - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1); - checkInt(this, value, offset, byteLength, limit - 1, -limit); - } - - var i = byteLength - 1; - var mul = 1; - var sub = 0; - this[offset + i] = value & 0xFF; - - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1; - } - - this[offset + i] = (value / mul >> 0) - sub & 0xFF; - } - - return offset + byteLength; -}; - -Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); - if (value < 0) value = 0xff + value + 1; - this[offset] = value & 0xff; - return offset + 1; -}; - -Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - return offset + 2; -}; - -Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); - this[offset] = value >>> 8; - this[offset + 1] = value & 0xff; - return offset + 2; -}; - -Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - this[offset] = value & 0xff; - this[offset + 1] = value >>> 8; - this[offset + 2] = value >>> 16; - this[offset + 3] = value >>> 24; - return offset + 4; -}; - -Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { - value = +value; - offset = offset >>> 0; - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); - if (value < 0) value = 0xffffffff + value + 1; - this[offset] = value >>> 24; - this[offset + 1] = value >>> 16; - this[offset + 2] = value >>> 8; - this[offset + 3] = value & 0xff; - return offset + 4; -}; - -function checkIEEE754(buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range'); - if (offset < 0) throw new RangeError('Index out of range'); -} - -function writeFloat(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38); - } - - ieee754.write(buf, value, offset, littleEndian, 23, 4); - return offset + 4; -} - -Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert); -}; - -Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert); -}; - -function writeDouble(buf, value, offset, littleEndian, noAssert) { - value = +value; - offset = offset >>> 0; - - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308); - } - - ieee754.write(buf, value, offset, littleEndian, 52, 8); - return offset + 8; -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert); -}; - -Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert); -}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) - - -Buffer.prototype.copy = function copy(target, targetStart, start, end) { - if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer'); - if (!start) start = 0; - if (!end && end !== 0) end = this.length; - if (targetStart >= target.length) targetStart = target.length; - if (!targetStart) targetStart = 0; - if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done - - if (end === start) return 0; - if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions - - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds'); - } - - if (start < 0 || start >= this.length) throw new RangeError('Index out of range'); - if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob? - - if (end > this.length) end = this.length; - - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start; - } - - var len = end - start; - - if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { - // Use built-in when available, missing from IE11 - this.copyWithin(targetStart, start, end); - } else if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (var i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start]; - } - } else { - Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart); - } - - return len; -}; // Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) - - -Buffer.prototype.fill = function fill(val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start; - start = 0; - end = this.length; - } else if (typeof end === 'string') { - encoding = end; - end = this.length; - } - - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string'); - } - - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding); - } - - if (val.length === 1) { - var code = val.charCodeAt(0); - - if (encoding === 'utf8' && code < 128 || encoding === 'latin1') { - // Fast path: If `val` fits into a single byte, use that numeric value. - val = code; - } - } - } else if (typeof val === 'number') { - val = val & 255; - } else if (typeof val === 'boolean') { - val = Number(val); - } // Invalid ranges are not set to a default, so can range check early. - - - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index'); - } - - if (end <= start) { - return this; - } - - start = start >>> 0; - end = end === undefined ? this.length : end >>> 0; - if (!val) val = 0; - var i; - - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val; - } - } else { - var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding); - var len = bytes.length; - - if (len === 0) { - throw new TypeError('The value "' + val + '" is invalid for argument "value"'); - } - - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len]; - } - } - - return this; -}; // HELPER FUNCTIONS -// ================ - - -var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; - -function base64clean(str) { - // Node takes equal signs as end of the Base64 encoding - str = str.split('=')[0]; // Node strips out invalid characters like \n and \t from the string, base64-js does not - - str = str.trim().replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to '' - - if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - - while (str.length % 4 !== 0) { - str = str + '='; - } - - return str; -} - -function utf8ToBytes(string, units) { - units = units || Infinity; - var codePoint; - var length = string.length; - var leadSurrogate = null; - var bytes = []; - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i); // is surrogate component - - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - continue; - } // valid lead - - - leadSurrogate = codePoint; - continue; - } // 2 leads in a row - - - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - leadSurrogate = codePoint; - continue; - } // valid surrogate pair - - - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); - } - - leadSurrogate = null; // encode utf8 - - if (codePoint < 0x80) { - if ((units -= 1) < 0) break; - bytes.push(codePoint); - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break; - bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80); - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break; - bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break; - bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); - } else { - throw new Error('Invalid code point'); - } - } - - return bytes; -} - -function asciiToBytes(str) { - var byteArray = []; - - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF); - } - - return byteArray; -} - -function utf16leToBytes(str, units) { - var c, hi, lo; - var byteArray = []; - - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break; - c = str.charCodeAt(i); - hi = c >> 8; - lo = c % 256; - byteArray.push(lo); - byteArray.push(hi); - } - - return byteArray; -} - -function base64ToBytes(str) { - return base64.toByteArray(base64clean(str)); -} - -function blitBuffer(src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if (i + offset >= dst.length || i >= src.length) break; - dst[i + offset] = src[i]; - } - - return i; -} // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass -// the `instanceof` check but they should be treated as of that type. -// See: https://github.com/feross/buffer/issues/166 - - -function isInstance(obj, type) { - return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name; -} - -function numberIsNaN(obj) { - // For IE11 support - return obj !== obj; // eslint-disable-line no-self-compare -} // Create lookup table for `toString('hex')` -// See: https://github.com/feross/buffer/issues/219 - - -var hexSliceLookupTable = function () { - var alphabet = '0123456789abcdef'; - var table = new Array(256); - - for (var i = 0; i < 16; ++i) { - var i16 = i * 16; - - for (var j = 0; j < 16; ++j) { - table[i16 + j] = alphabet[i] + alphabet[j]; - } - } - - return table; -}(); - -}).call(this,require("buffer").Buffer) -},{"base64-js":284,"buffer":289,"ieee754":839}],290:[function(require,module,exports){ -"use strict"; - -module.exports = { - A: { - A: { - H: 0.0138389, - D: 0.00922596, - G: 0.156841, - E: 0.0415168, - A: 0.0415168, - B: 2.03894, - mB: 0.009298 - }, - B: "ms", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "mB", "H", "D", "G", "E", "A", "B", "", "", ""], - E: "IE", - F: { - mB: 962323200, - H: 998870400, - D: 1161129600, - G: 1237420800, - E: 1300060800, - A: 1346716800, - B: 1381968000 - } - }, - B: { - A: { - C: 0.013383, - L: 0.013383, - q: 0.026766, - M: 0.026766, - O: 0.057993, - I: 0.517476, - J: 1.45429, - K: 0 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "L", "q", "M", "O", "I", "J", "K", "", ""], - E: "Edge", - F: { - C: 1438128000, - L: 1447286400, - q: 1470096000, - M: 1491868800, - O: 1508198400, - I: 1525046400, - J: 1542067200, - K: null - }, - D: { - C: "ms", - L: "ms", - q: "ms", - M: "ms", - O: "ms", - I: "ms", - J: "ms" - } - }, - C: { - A: { - "0": 0.026766, - "1": 0.013383, - "2": 0.008922, - "3": 0.160596, - "4": 0.013383, - "5": 0.004879, - "6": 0.75837, - "8": 0.004707, - "9": 0.013383, - jB: 0.004827, - AB: 0.00487, - F: 0.00974, - H: 0.020136, - D: 0.005725, - G: 0.004525, - E: 0.00533, - A: 0.004283, - B: 0.005029, - C: 0.004471, - L: 0.004486, - q: 0.00453, - M: 0.004465, - O: 0.004417, - I: 0.008922, - J: 0.004393, - P: 0.004443, - Q: 0.004283, - R: 0.004465, - S: 0.004393, - T: 0.004525, - U: 0.008786, - V: 0.004461, - W: 0.004317, - X: 0.004393, - Y: 0.004418, - Z: 0.008834, - a: 0.004461, - b: 0.008922, - c: 0.004471, - d: 0.008922, - f: 0.022305, - g: 0.004465, - h: 0.004783, - i: 0.008922, - j: 0.004783, - k: 0.00487, - l: 0.005029, - m: 0.0047, - n: 0.013383, - o: 0.008922, - p: 0.017844, - N: 0.004525, - r: 0.026766, - s: 0.040149, - t: 0.004461, - u: 0.013383, - v: 0.008922, - w: 0.156135, - x: 0.004461, - y: 0.013383, - z: 0.013383, - LB: 0.013383, - BB: 0.017844, - CB: 0.022305, - DB: 0.04461, - EB: 0.057993, - FB: 0.053532, - HB: 2.50262, - IB: 0.066915, - JB: 0, - KB: 0, - dB: 0.008786, - cB: 0.00487 - }, - B: "moz", - C: ["", "", "", "", "jB", "AB", "dB", "cB", "F", "5", "H", "D", "G", "E", "A", "B", "C", "L", "q", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "LB", "3", "9", "4", "BB", "CB", "DB", "EB", "FB", "6", "HB", "IB", "JB", "KB", ""], - E: "Firefox", - F: { - "0": 1506556800, - "1": 1510617600, - "2": 1516665600, - "3": 1525824000, - "4": 1536105600, - "5": 1308614400, - "6": 1562630400, - "8": 1417392000, - "9": 1529971200, - jB: 1161648000, - AB: 1213660800, - dB: 1246320000, - cB: 1264032000, - F: 1300752000, - H: 1313452800, - D: 1317081600, - G: 1317081600, - E: 1320710400, - A: 1324339200, - B: 1327968000, - C: 1331596800, - L: 1335225600, - q: 1338854400, - M: 1342483200, - O: 1346112000, - I: 1349740800, - J: 1353628800, - P: 1357603200, - Q: 1361232000, - R: 1364860800, - S: 1368489600, - T: 1372118400, - U: 1375747200, - V: 1379376000, - W: 1386633600, - X: 1391472000, - Y: 1395100800, - Z: 1398729600, - a: 1402358400, - b: 1405987200, - c: 1409616000, - d: 1413244800, - f: 1421107200, - g: 1424736000, - h: 1428278400, - i: 1431475200, - j: 1435881600, - k: 1439251200, - l: 1442880000, - m: 1446508800, - n: 1450137600, - o: 1453852800, - p: 1457395200, - N: 1461628800, - r: 1465257600, - s: 1470096000, - t: 1474329600, - u: 1479168000, - v: 1485216000, - w: 1488844800, - x: 1492560000, - y: 1497312000, - z: 1502150400, - LB: 1520985600, - BB: 1540252800, - CB: 1544486400, - DB: 1548720000, - EB: 1552953600, - FB: 1558396800, - HB: 1567468800, - IB: 1571788800, - JB: null, - KB: null - } - }, - D: { - A: { - "0": 0.035688, - "1": 0.066915, - "2": 0.040149, - "3": 0.035688, - "4": 0.035688, - "5": 0.004879, - "6": 0.066915, - "8": 0.008922, - "9": 0.298887, - F: 0.004706, - H: 0.004879, - D: 0.005591, - G: 0.005591, - E: 0.005591, - A: 0.004534, - B: 0.004461, - C: 0.010424, - L: 0.004461, - q: 0.004706, - M: 0.015087, - O: 0.004393, - I: 0.004393, - J: 0.008652, - P: 0.004418, - Q: 0.004393, - R: 0.004317, - S: 0.004465, - T: 0.008786, - U: 0.008922, - V: 0.004461, - W: 0.004461, - X: 0.004326, - Y: 0.0047, - Z: 0.004461, - a: 0.00893, - b: 0.013383, - c: 0.004465, - d: 0.017844, - f: 0.008922, - g: 0.013383, - h: 0.004461, - i: 0.022305, - j: 0.004465, - k: 0.031227, - l: 0.022305, - m: 0.004461, - n: 0.022305, - o: 0.004465, - p: 0.008922, - N: 0.008922, - r: 0.013383, - s: 0.040149, - t: 0.410412, - u: 0.008922, - v: 0.013383, - w: 0.008922, - x: 0.022305, - y: 0.035688, - z: 0.049071, - LB: 0.022305, - BB: 0.347958, - CB: 0.026766, - DB: 0.075837, - EB: 0.049071, - FB: 0.098142, - HB: 0.17844, - IB: 0.147213, - JB: 0.200745, - KB: 0.272121, - bB: 0.285504, - WB: 0.40149, - QB: 0.691455, - K: 18.8879, - pB: 6.31678, - RB: 0.04461, - SB: 0.013383, - TB: 0, - UB: 0 - }, - B: "webkit", - C: ["F", "5", "H", "D", "G", "E", "A", "B", "C", "L", "q", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "LB", "3", "9", "4", "BB", "CB", "DB", "EB", "FB", "6", "HB", "IB", "JB", "KB", "bB", "WB", "QB", "K", "pB", "RB", "SB", "TB", "UB"], - E: "Chrome", - F: { - "0": 1485302400, - "1": 1489017600, - "2": 1492560000, - "3": 1500940800, - "4": 1508198400, - "5": 1274745600, - "6": 1532390400, - "8": 1397001600, - "9": 1504569600, - F: 1264377600, - H: 1283385600, - D: 1287619200, - G: 1291248000, - E: 1296777600, - A: 1299542400, - B: 1303862400, - C: 1307404800, - L: 1312243200, - q: 1316131200, - M: 1316131200, - O: 1319500800, - I: 1323734400, - J: 1328659200, - P: 1332892800, - Q: 1337040000, - R: 1340668800, - S: 1343692800, - T: 1348531200, - U: 1352246400, - V: 1357862400, - W: 1361404800, - X: 1364428800, - Y: 1369094400, - Z: 1374105600, - a: 1376956800, - b: 1384214400, - c: 1389657600, - d: 1392940800, - f: 1400544000, - g: 1405468800, - h: 1409011200, - i: 1412640000, - j: 1416268800, - k: 1421798400, - l: 1425513600, - m: 1429401600, - n: 1432080000, - o: 1437523200, - p: 1441152000, - N: 1444780800, - r: 1449014400, - s: 1453248000, - t: 1456963200, - u: 1460592000, - v: 1464134400, - w: 1469059200, - x: 1472601600, - y: 1476230400, - z: 1480550400, - LB: 1496707200, - BB: 1512518400, - CB: 1516752000, - DB: 1520294400, - EB: 1523923200, - FB: 1527552000, - HB: 1536019200, - IB: 1539648000, - JB: 1543968000, - KB: 1548720000, - bB: 1552348800, - WB: 1555977600, - QB: 1559606400, - K: 1564444800, - pB: 1568073600, - RB: 1571702400, - SB: null, - TB: null, - UB: null - } - }, - E: { - A: { - "5": 0.004461, - "7": 1.47659, - F: 0, - H: 0.004349, - D: 0.004465, - G: 0.031227, - E: 0.017844, - A: 0.022305, - B: 0.04461, - C: 0.214128, - L: 0.321192, - VB: 0, - OB: 0.008692, - XB: 0.771753, - YB: 0.00456, - ZB: 0.004283, - aB: 0.035688, - NB: 0.111525, - e: 0.218589, - eB: 0 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "VB", "OB", "F", "5", "XB", "H", "YB", "D", "ZB", "G", "E", "aB", "A", "NB", "B", "e", "C", "7", "L", "eB", "", ""], - E: "Safari", - F: { - "5": 1275868800, - "7": 1553472000, - VB: 1205798400, - OB: 1226534400, - F: 1244419200, - XB: 1311120000, - H: 1343174400, - YB: 1382400000, - D: 1382400000, - ZB: 1410998400, - G: 1413417600, - E: 1443657600, - aB: 1458518400, - A: 1474329600, - NB: 1490572800, - B: 1505779200, - e: 1522281600, - C: 1537142400, - L: 1568851200, - eB: null - } - }, - F: { - A: { - "0": 0.004461, - "1": 0.008922, - "2": 0.008922, - "3": 0.008922, - "4": 0.120447, - "7": 0.008922, - "8": 0.009758, - E: 0.0082, - B: 0.016581, - C: 0.004317, - M: 0.00685, - O: 0.00685, - I: 0.00685, - J: 0.005014, - P: 0.006015, - Q: 0.004879, - R: 0.006597, - S: 0.006597, - T: 0.013434, - U: 0.006702, - V: 0.006015, - W: 0.005595, - X: 0.004393, - Y: 0.008652, - Z: 0.004879, - a: 0.004879, - b: 0.004461, - c: 0.005152, - d: 0.005014, - f: 0.004879, - g: 0.013383, - h: 0.004283, - i: 0.004367, - j: 0.004534, - k: 0.004367, - l: 0.004227, - m: 0.004418, - n: 0.008922, - o: 0.004227, - p: 0.004725, - N: 0.004417, - r: 0.008942, - s: 0.004707, - t: 0.004827, - u: 0.004707, - v: 0.004707, - w: 0.004326, - x: 0.008922, - y: 0.014349, - z: 0.004725, - fB: 0.00685, - gB: 0, - hB: 0.008392, - iB: 0.004706, - e: 0.006229, - MB: 0.004879, - kB: 0.008786 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "E", "fB", "gB", "hB", "iB", "B", "e", "MB", "kB", "C", "7", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "", "", ""], - E: "Opera", - F: { - "0": 1537833600, - "1": 1543363200, - "2": 1548201600, - "3": 1554768000, - "4": 1561593600, - "7": 1352073600, - "8": 1449100800, - E: 1150761600, - fB: 1223424000, - gB: 1251763200, - hB: 1267488000, - iB: 1277942400, - B: 1292457600, - e: 1302566400, - MB: 1309219200, - kB: 1323129600, - C: 1323129600, - M: 1372723200, - O: 1377561600, - I: 1381104000, - J: 1386288000, - P: 1390867200, - Q: 1393891200, - R: 1399334400, - S: 1401753600, - T: 1405987200, - U: 1409616000, - V: 1413331200, - W: 1417132800, - X: 1422316800, - Y: 1425945600, - Z: 1430179200, - a: 1433808000, - b: 1438646400, - c: 1442448000, - d: 1445904000, - f: 1454371200, - g: 1457308800, - h: 1462320000, - i: 1465344000, - j: 1470096000, - k: 1474329600, - l: 1477267200, - m: 1481587200, - n: 1486425600, - o: 1490054400, - p: 1494374400, - N: 1498003200, - r: 1502236800, - s: 1506470400, - t: 1510099200, - u: 1515024000, - v: 1517961600, - w: 1521676800, - x: 1525910400, - y: 1530144000, - z: 1534982400 - }, - D: { - "7": "o", - E: "o", - B: "o", - C: "o", - fB: "o", - gB: "o", - hB: "o", - iB: "o", - e: "o", - MB: "o", - kB: "o" - } - }, - G: { - A: { - G: 0, - OB: 0.0045567, - lB: 0.00227835, - GB: 0, - nB: 0.00797423, - oB: 0, - PB: 0.00911341, - qB: 0.0170876, - rB: 0.019366, - sB: 0.140119, - tB: 0.0672114, - uB: 0.169737, - vB: 0.184546, - wB: 0.333779, - xB: 0.560475, - yB: 9.06898, - zB: 0.797423 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OB", "lB", "GB", "nB", "oB", "PB", "G", "qB", "rB", "sB", "tB", "uB", "vB", "wB", "xB", "yB", "zB", "", "", ""], - E: "iOS Safari", - F: { - OB: 1270252800, - lB: 1283904000, - GB: 1299628800, - nB: 1331078400, - oB: 1359331200, - PB: 1394409600, - G: 1410912000, - qB: 1413763200, - rB: 1442361600, - sB: 1458518400, - tB: 1473724800, - uB: 1490572800, - vB: 1505779200, - wB: 1522281600, - xB: 1537142400, - yB: 1553472000, - zB: 1568851200 - } - }, - H: { - A: { - "0B": 1.42636 - }, - B: "o", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "0B", "", "", ""], - E: "Opera Mini", - F: { - "0B": 1426464000 - } - }, - I: { - A: { - AB: 0.00223765, - F: 0.0124669, - K: 0, - "1B": 0, - "2B": 0.0035163, - "3B": 0.00191798, - "4B": 0.0284501, - GB: 0.168143, - "5B": 0, - "6B": 0.10453 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1B", "2B", "3B", "AB", "F", "4B", "GB", "5B", "6B", "K", "", "", ""], - E: "Android Browser", - F: { - "1B": 1256515200, - "2B": 1274313600, - "3B": 1291593600, - AB: 1298332800, - F: 1318896000, - "4B": 1341792000, - GB: 1374624000, - "5B": 1386547200, - "6B": 1401667200, - K: 1566777600 - } - }, - J: { - A: { - D: 0, - A: 0.011078 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "A", "", "", ""], - E: "Blackberry Browser", - F: { - D: 1325376000, - A: 1359504000 - } - }, - K: { - A: { - "7": 0, - A: 0, - B: 0, - C: 0, - N: 0.0111391, - e: 0, - MB: 0 - }, - B: "o", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "e", "MB", "C", "7", "N", "", "", ""], - E: "Opera Mobile", - F: { - "7": 1349740800, - A: 1287100800, - B: 1300752000, - e: 1314835200, - MB: 1318291200, - C: 1330300800, - N: 1474588800 - }, - D: { - N: "webkit" - } - }, - L: { - A: { - K: 35.6387 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "K", "", "", ""], - E: "Chrome for Android", - F: { - K: 1564531200 - } - }, - M: { - A: { - "6": 0.193865 - }, - B: "moz", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "6", "", "", ""], - E: "Firefox for Android", - F: { - "6": 1567468800 - } - }, - N: { - A: { - A: 0.0115934, - B: 0.066468 - }, - B: "ms", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""], - E: "IE Mobile", - F: { - A: 1340150400, - B: 1353456000 - } - }, - O: { - A: { - "7B": 3.19046 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7B", "", "", ""], - E: "UC Browser for Android", - F: { - "7B": 1471392000 - }, - D: { - "7B": "webkit" - } - }, - P: { - A: { - F: 0.460988, - "8B": 0.031431, - "9B": 0.041908, - AC: 0.157155, - BC: 0.073339, - CC: 1.65537, - NB: 1.15247 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "8B", "9B", "AC", "BC", "CC", "NB", "", "", ""], - E: "Samsung Internet", - F: { - F: 1461024000, - "8B": 1481846400, - "9B": 1509408000, - AC: 1528329600, - BC: 1546128000, - CC: 1554163200, - NB: 1567900800 - } - }, - Q: { - A: { - DC: 0.238177 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "DC", "", "", ""], - E: "QQ Browser", - F: { - DC: 1483228800 - } - }, - R: { - A: { - EC: 0 - }, - B: "webkit", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "EC", "", "", ""], - E: "Baidu Browser", - F: { - EC: 1491004800 - } - }, - S: { - A: { - FC: 0.210482 - }, - B: "moz", - C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "FC", "", "", ""], - E: "KaiOS Browser", - F: { - FC: 1527811200 - } - } -}; - -},{}],291:[function(require,module,exports){ -"use strict"; - -module.exports = { - "0": "56", - "1": "57", - "2": "58", - "3": "60", - "4": "62", - "5": "5", - "6": "68", - "7": "12.1", - "8": "34", - "9": "61", - A: "10", - B: "11", - C: "12", - D: "7", - E: "9", - F: "4", - G: "8", - H: "6", - I: "17", - J: "18", - K: "76", - L: "13", - M: "15", - N: "46", - O: "16", - P: "19", - Q: "20", - R: "21", - S: "22", - T: "23", - U: "24", - V: "25", - W: "26", - X: "27", - Y: "28", - Z: "29", - a: "30", - b: "31", - c: "32", - d: "33", - e: "11.1", - f: "35", - g: "36", - h: "37", - i: "38", - j: "39", - k: "40", - l: "41", - m: "42", - n: "43", - o: "44", - p: "45", - q: "14", - r: "47", - s: "48", - t: "49", - u: "50", - v: "51", - w: "52", - x: "53", - y: "54", - z: "55", - AB: "3", - BB: "63", - CB: "64", - DB: "65", - EB: "66", - FB: "67", - GB: "4.2-4.3", - HB: "69", - IB: "70", - JB: "71", - KB: "72", - LB: "59", - MB: "11.5", - NB: "10.1", - OB: "3.2", - PB: "7.0-7.1", - QB: "75", - RB: "78", - SB: "79", - TB: "80", - UB: "81", - VB: "3.1", - WB: "74", - XB: "5.1", - YB: "6.1", - ZB: "7.1", - aB: "9.1", - bB: "73", - cB: "3.6", - dB: "3.5", - eB: "TP", - fB: "9.5-9.6", - gB: "10.0-10.1", - hB: "10.5", - iB: "10.6", - jB: "2", - kB: "11.6", - lB: "4.0-4.1", - mB: "5.5", - nB: "5.0-5.1", - oB: "6.0-6.1", - pB: "77", - qB: "8.1-8.4", - rB: "9.0-9.2", - sB: "9.3", - tB: "10.0-10.2", - uB: "10.3", - vB: "11.0-11.2", - wB: "11.3-11.4", - xB: "12.0-12.1", - yB: "12.2-12.4", - zB: "13.0-13.1", - "0B": "all", - "1B": "2.1", - "2B": "2.2", - "3B": "2.3", - "4B": "4.1", - "5B": "4.4", - "6B": "4.4.3-4.4.4", - "7B": "12.12", - "8B": "5.0-5.4", - "9B": "6.2-6.4", - AC: "7.2-7.4", - BC: "8.2", - CC: "9.2", - DC: "1.2", - EC: "7.12", - FC: "2.5" -}; - -},{}],292:[function(require,module,exports){ -"use strict"; - -module.exports = { - A: "ie", - B: "edge", - C: "firefox", - D: "chrome", - E: "safari", - F: "opera", - G: "ios_saf", - H: "op_mini", - I: "android", - J: "bb", - K: "op_mob", - L: "and_chr", - M: "and_ff", - N: "ie_mob", - O: "and_uc", - P: "samsung", - Q: "and_qq", - R: "baidu", - S: "kaios" -}; - -},{}],293:[function(require,module,exports){ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.agents = undefined; - -var _browsers = require('./browsers'); - -var _browserVersions = require('./browserVersions'); - -var agentsData = require('../../data/agents'); - -function unpackBrowserVersions(versionsData) { - return Object.keys(versionsData).reduce(function (usage, version) { - usage[_browserVersions.browserVersions[version]] = versionsData[version]; - return usage; - }, {}); -} - -var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) { - var versionsData = agentsData[key]; - map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { - if (entry === 'A') { - data.usage_global = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'C') { - data.versions = versionsData[entry].reduce(function (list, version) { - if (version === '') { - list.push(null); - } else { - list.push(_browserVersions.browserVersions[version]); - } - - return list; - }, []); - } else if (entry === 'D') { - data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); - } else if (entry === 'E') { - data.browser = versionsData[entry]; - } else if (entry === 'F') { - data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { - map[_browserVersions.browserVersions[key]] = versionsData[entry][key]; - return map; - }, {}); - } else { - // entry is B - data.prefix = versionsData[entry]; - } - - return data; - }, {}); - return map; -}, {}); - -},{"../../data/agents":290,"./browserVersions":294,"./browsers":295}],294:[function(require,module,exports){ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var browserVersions = exports.browserVersions = require('../../data/browserVersions'); - -},{"../../data/browserVersions":291}],295:[function(require,module,exports){ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var browsers = exports.browsers = require('../../data/browsers'); - -},{"../../data/browsers":292}],296:[function(require,module,exports){ -(function (process){ -'use strict'; - -var escapeStringRegexp = require('escape-string-regexp'); - -var ansiStyles = require('ansi-styles'); - -var stdoutColor = require('supports-color').stdout; - -var template = require('./templates.js'); - -var isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping - -var levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such - -var skipModels = new Set(['gray']); -var styles = Object.create(null); - -function applyOptions(obj, options) { - options = options || {}; // Detect level if not set manually - - var scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; -} - -function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - var chalk = {}; - applyOptions(chalk, options); - - chalk.template = function () { - var args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - chalk.template.constructor = Chalk; - return chalk.template; - } - - applyOptions(this, options); -} // Use bright blue on Windows as the normal blue color is illegible - - -if (isSimpleWindowsTerm) { - ansiStyles.blue.open = "\x1B[94m"; -} - -var _loop = function _loop() { - var key = _Object$keys[_i]; - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - styles[key] = { - get: function get() { - var codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; -}; - -for (var _i = 0, _Object$keys = Object.keys(ansiStyles); _i < _Object$keys.length; _i++) { - _loop(); -} - -styles.visible = { - get: function get() { - return build.call(this, this._styles || [], true, 'visible'); - } -}; -ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); - -var _loop2 = function _loop2() { - var model = _Object$keys2[_i2]; - - if (skipModels.has(model)) { - return "continue"; - } - - styles[model] = { - get: function get() { - var level = this.level; - return function () { - var open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - var codes = { - open: open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -}; - -for (var _i2 = 0, _Object$keys2 = Object.keys(ansiStyles.color.ansi); _i2 < _Object$keys2.length; _i2++) { - var _ret = _loop2(); - - if (_ret === "continue") continue; -} - -ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); - -var _loop3 = function _loop3() { - var model = _Object$keys3[_i3]; - - if (skipModels.has(model)) { - return "continue"; - } - - var bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get: function get() { - var level = this.level; - return function () { - var open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - var codes = { - open: open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -}; - -for (var _i3 = 0, _Object$keys3 = Object.keys(ansiStyles.bgColor.ansi); _i3 < _Object$keys3.length; _i3++) { - var _ret2 = _loop3(); - - if (_ret2 === "continue") continue; -} - -var proto = Object.defineProperties(function () {}, styles); - -function build(_styles, _empty, key) { - var builder = function builder() { - return applyStyle.apply(builder, arguments); - }; - - builder._styles = _styles; - builder._empty = _empty; - var self = this; - Object.defineProperty(builder, 'level', { - enumerable: true, - get: function get() { - return self.level; - }, - set: function set(level) { - self.level = level; - } - }); - Object.defineProperty(builder, 'enabled', { - enumerable: true, - get: function get() { - return self.enabled; - }, - set: function set(enabled) { - self.enabled = enabled; - } - }); // See below for fix regarding invisible grey/dim combination on Windows - - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - - builder.__proto__ = proto; // eslint-disable-line no-proto - - return builder; -} - -function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - var args = arguments; - var argsLen = args.length; - var str = String(arguments[0]); - - if (argsLen === 0) { - return ''; - } - - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (var a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; - } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - - - var originalDim = ansiStyles.dim.open; - - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = this._styles.slice().reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var code = _step.value; - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - - str = str.replace(/\r?\n/g, "".concat(code.close, "$&").concat(code.open)); - } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - ansiStyles.dim.open = originalDim; - return str; -} - -function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } - - var args = [].slice.call(arguments, 2); - var parts = [strings.raw[0]]; - - for (var i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); - } - - return template(chalk, parts.join('')); -} - -Object.defineProperties(Chalk.prototype, styles); -module.exports = Chalk(); // eslint-disable-line new-cap - -module.exports.supportsColor = stdoutColor; -module.exports.default = module.exports; // For TypeScript - -}).call(this,require('_process')) -},{"./templates.js":297,"_process":1054,"ansi-styles":277,"escape-string-regexp":832,"supports-color":1082}],297:[function(require,module,exports){ -'use strict'; - -var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; -var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; -var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; -var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; -var ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', "\x1B"], ['a', "\x07"]]); - -function unescape(c) { - if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - - return ESCAPES.get(c) || c; -} - -function parseArguments(name, args) { - var results = []; - var chunks = args.trim().split(/\s*,\s*/g); - var matches; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var chunk = _step.value; - - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, function (m, escape, chr) { - return escape ? unescape(escape) : chr; - })); - } else { - throw new Error("Invalid Chalk template style argument: ".concat(chunk, " (in style '").concat(name, "')")); - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator.return != null) { - _iterator.return(); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - return results; -} - -function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - var results = []; - var matches; - - while ((matches = STYLE_REGEX.exec(style)) !== null) { - var name = matches[1]; - - if (matches[2]) { - var args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - - return results; -} - -function buildStyle(chalk, styles) { - var enabled = {}; - var _iteratorNormalCompletion2 = true; - var _didIteratorError2 = false; - var _iteratorError2 = undefined; - - try { - for (var _iterator2 = styles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { - var layer = _step2.value; - var _iteratorNormalCompletion3 = true; - var _didIteratorError3 = false; - var _iteratorError3 = undefined; - - try { - for (var _iterator3 = layer.styles[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { - var style = _step3.value; - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } catch (err) { - _didIteratorError3 = true; - _iteratorError3 = err; - } finally { - try { - if (!_iteratorNormalCompletion3 && _iterator3.return != null) { - _iterator3.return(); - } - } finally { - if (_didIteratorError3) { - throw _iteratorError3; - } - } - } - } - } catch (err) { - _didIteratorError2 = true; - _iteratorError2 = err; - } finally { - try { - if (!_iteratorNormalCompletion2 && _iterator2.return != null) { - _iterator2.return(); - } - } finally { - if (_didIteratorError2) { - throw _iteratorError2; - } - } - } - - var current = chalk; - - for (var _i = 0, _Object$keys = Object.keys(enabled); _i < _Object$keys.length; _i++) { - var styleName = _Object$keys[_i]; - - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error("Unknown Chalk style: ".concat(styleName)); - } - - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - - return current; -} - -module.exports = function (chalk, tmp) { - var styles = []; - var chunks = []; - var chunk = []; // eslint-disable-next-line max-params - - tmp.replace(TEMPLATE_REGEX, function (m, escapeChar, inverse, style, close, chr) { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - var str = chunk.join(''); - chunk = []; - chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); - styles.push({ - inverse: inverse, - styles: parseStyle(style) - }); - } else if (close) { - if (styles.length === 0) { - throw new Error('Found extraneous } in Chalk template literal'); - } - - chunks.push(buildStyle(chalk, styles)(chunk.join(''))); - chunk = []; - styles.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join('')); - - if (styles.length > 0) { - var errMsg = "Chalk template literal is missing ".concat(styles.length, " closing bracket").concat(styles.length === 1 ? '' : 's', " (`}`)"); - throw new Error(errMsg); - } - - return chunks.join(''); -}; - -},{}],298:[function(require,module,exports){ -"use strict"; - -/* MIT license */ -var cssKeywords = require('color-name'); // NOTE: conversions should only return primitive values (i.e. arrays, or -// values that give correct `typeof` results). -// do not use box values types (i.e. Number(), String(), etc.) - - -var reverseKeywords = {}; - -for (var key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } -} - -var convert = module.exports = { - rgb: { - channels: 3, - labels: 'rgb' - }, - hsl: { - channels: 3, - labels: 'hsl' - }, - hsv: { - channels: 3, - labels: 'hsv' - }, - hwb: { - channels: 3, - labels: 'hwb' - }, - cmyk: { - channels: 4, - labels: 'cmyk' - }, - xyz: { - channels: 3, - labels: 'xyz' - }, - lab: { - channels: 3, - labels: 'lab' - }, - lch: { - channels: 3, - labels: 'lch' - }, - hex: { - channels: 1, - labels: ['hex'] - }, - keyword: { - channels: 1, - labels: ['keyword'] - }, - ansi16: { - channels: 1, - labels: ['ansi16'] - }, - ansi256: { - channels: 1, - labels: ['ansi256'] - }, - hcg: { - channels: 3, - labels: ['h', 'c', 'g'] - }, - apple: { - channels: 3, - labels: ['r16', 'g16', 'b16'] - }, - gray: { - channels: 1, - labels: ['gray'] - } -}; // hide .channels and .labels properties - -for (var model in convert) { - if (convert.hasOwnProperty(model)) { - if (!('channels' in convert[model])) { - throw new Error('missing channels property: ' + model); - } - - if (!('labels' in convert[model])) { - throw new Error('missing channel labels property: ' + model); - } - - if (convert[model].labels.length !== convert[model].channels) { - throw new Error('channel and label counts mismatch: ' + model); - } - - var channels = convert[model].channels; - var labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], 'channels', { - value: channels - }); - Object.defineProperty(convert[model], 'labels', { - value: labels - }); - } -} - -convert.rgb.hsl = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - - h = Math.min(h * 60, 360); - - if (h < 0) { - h += 360; - } - - l = (min + max) / 2; - - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - - return [h, s * 100, l * 100]; -}; - -convert.rgb.hsv = function (rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - - var diffc = function diffc(c) { - return (v - c) / 6 / diff + 1 / 2; - }; - - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - - return [h * 360, s * 100, v * 100]; -}; - -convert.rgb.hwb = function (rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; -}; - -convert.rgb.cmyk = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; -}; -/** - * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance - * */ - - -function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); -} - -convert.rgb.keyword = function (rgb) { - var reversed = reverseKeywords[rgb]; - - if (reversed) { - return reversed; - } - - var currentClosestDistance = Infinity; - var currentClosestKeyword; - - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; // Compute comparative distance - - var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest - - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - - return currentClosestKeyword; -}; - -convert.keyword.rgb = function (keyword) { - return cssKeywords[keyword]; -}; - -convert.rgb.xyz = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; // assume sRGB - - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; -}; - -convert.rgb.lab = function (rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; -}; - -convert.hsl.rgb = function (hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - - if (t3 < 0) { - t3++; - } - - if (t3 > 1) { - t3--; - } - - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - - rgb[i] = val * 255; - } - - return rgb; -}; - -convert.hsl.hsv = function (hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; -}; - -convert.hsv.rgb = function (hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - - switch (hi) { - case 0: - return [v, t, p]; - - case 1: - return [q, v, p]; - - case 2: - return [p, v, t]; - - case 3: - return [p, q, v]; - - case 4: - return [t, p, v]; - - case 5: - return [v, p, q]; - } -}; - -convert.hsv.hsl = function (hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; -}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb - - -convert.hwb.rgb = function (hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; // wh + bl cant be > 1 - - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - - if ((i & 0x01) !== 0) { - f = 1 - f; - } - - n = wh + f * (v - wh); // linear interpolation - - var r; - var g; - var b; - - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - - case 1: - r = n; - g = v; - b = wh; - break; - - case 2: - r = wh; - g = v; - b = n; - break; - - case 3: - r = wh; - g = n; - b = v; - break; - - case 4: - r = n; - g = wh; - b = v; - break; - - case 5: - r = v; - g = wh; - b = n; - break; - } - - return [r * 255, g * 255, b * 255]; -}; - -convert.cmyk.rgb = function (cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.rgb = function (xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB - - r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; - g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; - b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; -}; - -convert.xyz.lab = function (xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; -}; - -convert.lab.xyz = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; -}; - -convert.lab.lch = function (lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - - if (h < 0) { - h += 360; - } - - c = Math.sqrt(a * a + b * b); - return [l, c, h]; -}; - -convert.lch.lab = function (lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; -}; - -convert.rgb.ansi16 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization - - value = Math.round(value / 50); - - if (value === 0) { - return 30; - } - - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - - if (value === 2) { - ansi += 60; - } - - return ansi; -}; - -convert.hsv.ansi16 = function (args) { - // optimization here; we already know the value and don't need to get - // it converted for us. - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); -}; - -convert.rgb.ansi256 = function (args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; // we use the extended greyscale palette here, with the exception of - // black and white. normal palette only has 4 greyscale shades. - - if (r === g && g === b) { - if (r < 8) { - return 16; - } - - if (r > 248) { - return 231; - } - - return Math.round((r - 8) / 247 * 24) + 232; - } - - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; -}; - -convert.ansi16.rgb = function (args) { - var color = args % 10; // handle greyscale - - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - - color = color / 10.5 * 255; - return [color, color, color]; - } - - var mult = (~~(args > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; -}; - -convert.ansi256.rgb = function (args) { - // handle greyscale - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - - args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; -}; - -convert.rgb.hex = function (args) { - var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.hex.rgb = function (args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - - if (!match) { - return [0, 0, 0]; - } - - var colorString = match[0]; - - if (match[0].length === 3) { - colorString = colorString.split('').map(function (char) { - return char + char; - }).join(''); - } - - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 0xFF; - var g = integer >> 8 & 0xFF; - var b = integer & 0xFF; - return [r, g, b]; -}; - -convert.rgb.hcg = function (rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; -}; - -convert.hsl.hcg = function (hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - - if (l < 0.5) { - c = 2.0 * s * l; - } else { - c = 2.0 * s * (1.0 - l); - } - - if (c < 1.0) { - f = (l - 0.5 * c) / (1.0 - c); - } - - return [hsl[0], c * 100, f * 100]; -}; - -convert.hsv.hcg = function (hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - - if (c < 1.0) { - f = (v - c) / (1 - c); - } - - return [hsv[0], c * 100, f * 100]; -}; - -convert.hcg.rgb = function (hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - - if (c === 0.0) { - return [g * 255, g * 255, g * 255]; - } - - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - - mg = (1.0 - c) * g; - return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; -}; - -convert.hcg.hsv = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - var f = 0; - - if (v > 0.0) { - f = c / v; - } - - return [hcg[0], f * 100, v * 100]; -}; - -convert.hcg.hsl = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1.0 - c) + 0.5 * c; - var s = 0; - - if (l > 0.0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1.0) { - s = c / (2 * (1 - l)); - } - - return [hcg[0], s * 100, l * 100]; -}; - -convert.hcg.hwb = function (hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1.0 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; -}; - -convert.hwb.hcg = function (hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - - if (c < 1) { - g = (v - c) / (1 - c); - } - - return [hwb[0], c * 100, g * 100]; -}; - -convert.apple.rgb = function (apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; -}; - -convert.rgb.apple = function (rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; -}; - -convert.gray.rgb = function (args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; -}; - -convert.gray.hsl = convert.gray.hsv = function (args) { - return [0, 0, args[0]]; -}; - -convert.gray.hwb = function (gray) { - return [0, 100, gray[0]]; -}; - -convert.gray.cmyk = function (gray) { - return [0, 0, 0, gray[0]]; -}; - -convert.gray.lab = function (gray) { - return [gray[0], 0, 0]; -}; - -convert.gray.hex = function (gray) { - var val = Math.round(gray[0] / 100 * 255) & 0xFF; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return '000000'.substring(string.length) + string; -}; - -convert.rgb.gray = function (rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; -}; - -},{"color-name":301}],299:[function(require,module,exports){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var conversions = require('./conversions'); - -var route = require('./route'); - -var convert = {}; -var models = Object.keys(conversions); - -function wrapRaw(fn) { - var wrappedFn = function wrappedFn(args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - return fn(args); - }; // preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -function wrapRounded(fn) { - var wrappedFn = function wrappedFn(args) { - if (args === undefined || args === null) { - return args; - } - - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - - var result = fn(args); // we're assuming the result is an array here. - // see notice in conversions.js; don't use box types - // in conversion functions. - - if (_typeof(result) === 'object') { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - - return result; - }; // preserve .conversion property if there is one - - - if ('conversion' in fn) { - wrappedFn.conversion = fn.conversion; - } - - return wrappedFn; -} - -models.forEach(function (fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], 'channels', { - value: conversions[fromModel].channels - }); - Object.defineProperty(convert[fromModel], 'labels', { - value: conversions[fromModel].labels - }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function (toModel) { - var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); -}); -module.exports = convert; - -},{"./conversions":298,"./route":300}],300:[function(require,module,exports){ -"use strict"; - -var conversions = require('./conversions'); -/* - this function routes a model to all other models. - - all functions that are routed have a property `.conversion` attached - to the returned synthetic function. This property is an array - of strings, each with the steps in between the 'from' and 'to' - color models (inclusive). - - conversions that are not possible simply are not included. -*/ - - -function buildGraph() { - var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 - - var models = Object.keys(conversions); - - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - - return graph; -} // https://en.wikipedia.org/wiki/Breadth-first_search - - -function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; // unshift -> queue -> pop - - graph[fromModel].distance = 0; - - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - - return graph; -} - -function link(from, to) { - return function (args) { - return to(from(args)); - }; -} - -function wrapConversion(toModel, graph) { - var path = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - - while (graph[cur].parent) { - path.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - - fn.conversion = path; - return fn; -} - -module.exports = function (fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - - if (node.parent === null) { - // no possible conversion, or this node is the source model. - continue; - } - - conversion[toModel] = wrapConversion(toModel, graph); - } - - return conversion; -}; - -},{"./conversions":298}],301:[function(require,module,exports){ -'use strict'; - -module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] -}; - -},{}],302:[function(require,module,exports){ -'use strict'; - -var fs = require('fs'); - -var path = require('path'); - -var SafeBuffer = require('safe-buffer'); - -Object.defineProperty(exports, 'commentRegex', { - get: function getCommentRegex() { - return /^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/mg; - } -}); -Object.defineProperty(exports, 'mapFileCommentRegex', { - get: function getMapFileCommentRegex() { - // Matches sourceMappingURL in either // or /* comment styles. - return /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"`]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/mg; - } -}); - -function decodeBase64(base64) { - return SafeBuffer.Buffer.from(base64, 'base64').toString(); -} - -function stripComment(sm) { - return sm.split(',').pop(); -} - -function readFromFileMap(sm, dir) { - // NOTE: this will only work on the server since it attempts to read the map file - var r = exports.mapFileCommentRegex.exec(sm); // for some odd reason //# .. captures in 1 and /* .. */ in 2 - - var filename = r[1] || r[2]; - var filepath = path.resolve(dir, filename); - - try { - return fs.readFileSync(filepath, 'utf8'); - } catch (e) { - throw new Error('An error occurred while trying to read the map file at ' + filepath + '\n' + e); - } -} - -function Converter(sm, opts) { - opts = opts || {}; - if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir); - if (opts.hasComment) sm = stripComment(sm); - if (opts.isEncoded) sm = decodeBase64(sm); - if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm); - this.sourcemap = sm; -} - -Converter.prototype.toJSON = function (space) { - return JSON.stringify(this.sourcemap, null, space); -}; - -Converter.prototype.toBase64 = function () { - var json = this.toJSON(); - return SafeBuffer.Buffer.from(json, 'utf8').toString('base64'); -}; - -Converter.prototype.toComment = function (options) { - var base64 = this.toBase64(); - var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; - return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data; -}; // returns copy instead of original - - -Converter.prototype.toObject = function () { - return JSON.parse(this.toJSON()); -}; - -Converter.prototype.addProperty = function (key, value) { - if (this.sourcemap.hasOwnProperty(key)) throw new Error('property "' + key + '" already exists on the sourcemap, use set property instead'); - return this.setProperty(key, value); -}; - -Converter.prototype.setProperty = function (key, value) { - this.sourcemap[key] = value; - return this; -}; - -Converter.prototype.getProperty = function (key) { - return this.sourcemap[key]; -}; - -exports.fromObject = function (obj) { - return new Converter(obj); -}; - -exports.fromJSON = function (json) { - return new Converter(json, { - isJSON: true - }); -}; - -exports.fromBase64 = function (base64) { - return new Converter(base64, { - isEncoded: true - }); -}; - -exports.fromComment = function (comment) { - comment = comment.replace(/^\/\*/g, '//').replace(/\*\/$/g, ''); - return new Converter(comment, { - isEncoded: true, - hasComment: true - }); -}; - -exports.fromMapFileComment = function (comment, dir) { - return new Converter(comment, { - commentFileDir: dir, - isFileComment: true, - isJSON: true - }); -}; // Finds last sourcemap comment in file or returns null if none was found - - -exports.fromSource = function (content) { - var m = content.match(exports.commentRegex); - return m ? exports.fromComment(m.pop()) : null; -}; // Finds last sourcemap comment in file or returns null if none was found - - -exports.fromMapFileSource = function (content, dir) { - var m = content.match(exports.mapFileCommentRegex); - return m ? exports.fromMapFileComment(m.pop(), dir) : null; -}; - -exports.removeComments = function (src) { - return src.replace(exports.commentRegex, ''); -}; - -exports.removeMapFileComments = function (src) { - return src.replace(exports.mapFileCommentRegex, ''); -}; - -exports.generateMapFileComment = function (file, options) { - var data = 'sourceMappingURL=' + file; - return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data; -}; - -},{"fs":285,"path":1052,"safe-buffer":1069}],303:[function(require,module,exports){ -module.exports={ - "es.symbol": { - "edge": "15", - "chrome": "49", - "firefox": "51", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.symbol.description": { - "chrome": "70", - "firefox": "63", - "safari": "12.1", - "edge": "74", - "opera": "57", - "node": "11.0", - "samsung": "10.2", - "electron": "5.0", - "ios": "13.0" - }, - "es.symbol.async-iterator": { - "chrome": "63", - "firefox": "55", - "safari": "12.0", - "edge": "74", - "opera": "50", - "node": "10.0", - "samsung": "8.2", - "electron": "3.0", - "ios": "12.0" - }, - "es.symbol.has-instance": { - "edge": "15", - "chrome": "50", - "firefox": "49", - "safari": "10.0", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.symbol.is-concat-spreadable": { - "edge": "15", - "chrome": "48", - "firefox": "48", - "safari": "10.0", - "opera": "35", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.symbol.iterator": { - "edge": "13", - "chrome": "39", - "firefox": "36", - "safari": "9.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.symbol.match": { - "chrome": "50", - "firefox": "40", - "safari": "10.0", - "edge": "74", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.symbol.match-all": { - "chrome": "73", - "firefox": "67", - "safari": "13", - "edge": "74", - "opera": "60", - "node": "12.0", - "electron": "5.0", - "ios": "13.0" - }, - "es.symbol.replace": { - "chrome": "50", - "firefox": "49", - "safari": "10.0", - "edge": "74", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.symbol.search": { - "chrome": "50", - "firefox": "49", - "safari": "10.0", - "edge": "74", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.symbol.species": { - "edge": "13", - "chrome": "51", - "firefox": "41", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.symbol.split": { - "chrome": "50", - "firefox": "49", - "safari": "10.0", - "edge": "74", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.symbol.to-primitive": { - "edge": "15", - "chrome": "47", - "firefox": "44", - "safari": "10.0", - "opera": "34", - "node": "6.0", - "samsung": "5.0", - "electron": "0.36", - "ios": "10.0" - }, - "es.symbol.to-string-tag": { - "edge": "15", - "chrome": "49", - "firefox": "51", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.symbol.unscopables": { - "edge": "13", - "chrome": "39", - "firefox": "48", - "safari": "9.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.concat": { - "edge": "15", - "chrome": "51", - "firefox": "48", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.copy-within": { - "edge": "13", - "chrome": "45", - "firefox": "48", - "safari": "9.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "9.0" - }, - "es.array.every": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.fill": { - "edge": "13", - "chrome": "45", - "firefox": "4", - "safari": "9.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "9.0" - }, - "es.array.filter": { - "edge": "13", - "chrome": "51", - "firefox": "48", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.find": { - "edge": "13", - "chrome": "45", - "firefox": "48", - "safari": "9.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "9.0" - }, - "es.array.find-index": { - "edge": "13", - "chrome": "45", - "firefox": "48", - "safari": "9.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "9.0" - }, - "es.array.flat": { - "chrome": "69", - "firefox": "62", - "safari": "12.0", - "edge": "74", - "opera": "56", - "node": "11.0", - "samsung": "10.2", - "electron": "4.0", - "ios": "12.0" - }, - "es.array.flat-map": { - "chrome": "69", - "firefox": "62", - "safari": "12.0", - "edge": "74", - "opera": "56", - "node": "11.0", - "samsung": "10.2", - "electron": "4.0", - "ios": "12.0" - }, - "es.array.for-each": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.from": { - "edge": "15", - "chrome": "51", - "firefox": "53", - "safari": "9.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "9.0" - }, - "es.array.includes": { - "edge": "14", - "chrome": "53", - "firefox": "48", - "safari": "10.0", - "opera": "40", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "10.0" - }, - "es.array.index-of": { - "ie": "9", - "chrome": "51", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "9.0" - }, - "es.array.is-array": { - "ie": "9", - "chrome": "5", - "opera": "10.50", - "android": "4.0", - "firefox": "4", - "safari": "4.0", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "electron": "0.20", - "ios": "6.0", - "phantom": "1.9" - }, - "es.array.iterator": { - "edge": "15", - "chrome": "66", - "firefox": "60", - "safari": "10.0", - "opera": "53", - "node": "10.0", - "samsung": "9.2", - "electron": "3.0", - "ios": "10.0" - }, - "es.array.join": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.last-index-of": { - "ie": "9", - "chrome": "51", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "9.0" - }, - "es.array.map": { - "edge": "13", - "chrome": "51", - "firefox": "48", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.of": { - "edge": "13", - "chrome": "45", - "firefox": "25", - "safari": "9.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "9.0" - }, - "es.array.reduce": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.reduce-right": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.reverse": { - "ie": "8", - "chrome": "26", - "firefox": "4", - "safari": "12.0.2", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "13.0" - }, - "es.array.slice": { - "edge": "13", - "chrome": "51", - "firefox": "48", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.some": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.array.sort": { - "ie": "9", - "chrome": "63", - "firefox": "4", - "safari": "12.0", - "edge": "12", - "opera": "50", - "node": "10.0", - "samsung": "8.2", - "electron": "3.0", - "ios": "12.0" - }, - "es.array.species": { - "edge": "13", - "chrome": "51", - "firefox": "48", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.splice": { - "edge": "13", - "chrome": "51", - "firefox": "49", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.array.unscopables.flat": { - "firefox": "67", - "chrome": "73", - "safari": "13", - "edge": "74", - "opera": "60", - "node": "12.0", - "electron": "5.0", - "ios": "13.0" - }, - "es.array.unscopables.flat-map": { - "firefox": "67", - "chrome": "73", - "safari": "13", - "edge": "74", - "opera": "60", - "node": "12.0", - "electron": "5.0", - "ios": "13.0" - }, - "es.array-buffer.constructor": { - "edge": "14", - "chrome": "26", - "firefox": "44", - "safari": "12.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "12.0" - }, - "es.array-buffer.is-view": { - "ie": "11", - "chrome": "32", - "firefox": "29", - "safari": "8.0", - "edge": "12", - "opera": "19", - "node": "4.0", - "samsung": "2.1", - "android": "4.4.3", - "electron": "0.20", - "ios": "9.0" - }, - "es.array-buffer.slice": { - "ie": "11", - "chrome": "31", - "firefox": "46", - "safari": "12.1", - "edge": "12", - "opera": "18", - "node": "4.0", - "samsung": "2.1", - "android": "4.4.3", - "electron": "0.20", - "ios": "13.0" - }, - "es.data-view": { - "ie": "10", - "chrome": "26", - "firefox": "15", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.date.now": { - "ie": "9", - "chrome": "5", - "opera": "10.50", - "android": "4.0", - "firefox": "2", - "safari": "4.0", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "electron": "0.20", - "ios": "6.0", - "phantom": "1.9" - }, - "es.date.to-iso-string": { - "ie": "9", - "chrome": "26", - "firefox": "7", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.date.to-json": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "10.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "10.0" - }, - "es.date.to-primitive": { - "edge": "15", - "chrome": "47", - "firefox": "44", - "safari": "10.0", - "opera": "34", - "node": "6.0", - "samsung": "5.0", - "electron": "0.36", - "ios": "10.0" - }, - "es.date.to-string": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.function.bind": { - "ie": "9", - "chrome": "7", - "opera": "12", - "android": "4.0", - "firefox": "4", - "safari": "5.1", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "electron": "0.20", - "ios": "6.0", - "phantom": "2.0" - }, - "es.function.has-instance": { - "edge": "15", - "chrome": "51", - "firefox": "50", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.function.name": { - "edge": "14", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.global-this": { - "chrome": "71", - "firefox": "65", - "safari": "12.1", - "edge": "74", - "opera": "58", - "node": "12.0", - "samsung": "10.2", - "electron": "5.0", - "ios": "13.0" - }, - "es.json.stringify": { - "chrome": "72", - "firefox": "64", - "safari": "12.1", - "edge": "74", - "opera": "59", - "node": "12.0", - "electron": "5.0", - "ios": "13.0" - }, - "es.json.to-string-tag": { - "edge": "15", - "chrome": "50", - "firefox": "51", - "safari": "10.0", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.map": { - "edge": "15", - "chrome": "51", - "firefox": "53", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.math.acosh": { - "edge": "13", - "chrome": "54", - "firefox": "25", - "safari": "8.0", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "9.0" - }, - "es.math.asinh": { - "edge": "13", - "chrome": "38", - "firefox": "25", - "safari": "8.0", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.atanh": { - "edge": "13", - "chrome": "38", - "firefox": "25", - "safari": "8.0", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.cbrt": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.clz32": { - "edge": "12", - "chrome": "38", - "firefox": "31", - "safari": "9.0", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.cosh": { - "edge": "13", - "chrome": "39", - "firefox": "25", - "safari": "8.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.expm1": { - "edge": "13", - "chrome": "39", - "firefox": "46", - "safari": "8.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.fround": { - "edge": "12", - "chrome": "38", - "firefox": "26", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.hypot": { - "edge": "12", - "chrome": "78", - "firefox": "27", - "safari": "7.1", - "opera": "65", - "node": "13.0", - "electron": "7.0", - "ios": "8.0" - }, - "es.math.imul": { - "edge": "13", - "chrome": "28", - "firefox": "20", - "safari": "9.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.log10": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.log1p": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.log2": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.sign": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "9.0", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.sinh": { - "edge": "13", - "chrome": "39", - "firefox": "25", - "safari": "8.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.math.tanh": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.math.to-string-tag": { - "edge": "15", - "chrome": "50", - "firefox": "51", - "safari": "10.0", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.math.trunc": { - "edge": "12", - "chrome": "38", - "firefox": "25", - "safari": "7.1", - "opera": "25", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "8.0" - }, - "es.number.constructor": { - "edge": "13", - "chrome": "41", - "firefox": "46", - "safari": "9.0", - "opera": "28", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.number.epsilon": { - "edge": "12", - "chrome": "34", - "firefox": "25", - "safari": "9.0", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.is-finite": { - "edge": "12", - "chrome": "19", - "android": "4.1", - "firefox": "16", - "safari": "9.0", - "opera": "15", - "node": "0.12", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.is-integer": { - "edge": "12", - "chrome": "34", - "firefox": "16", - "safari": "9.0", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.is-nan": { - "edge": "12", - "chrome": "19", - "android": "4.1", - "firefox": "15", - "safari": "9.0", - "opera": "15", - "node": "0.12", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.is-safe-integer": { - "edge": "12", - "chrome": "34", - "firefox": "32", - "safari": "9.0", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.max-safe-integer": { - "edge": "12", - "chrome": "34", - "firefox": "31", - "safari": "9.0", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.min-safe-integer": { - "edge": "12", - "chrome": "34", - "firefox": "31", - "safari": "9.0", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.parse-float": { - "edge": "13", - "chrome": "35", - "firefox": "39", - "safari": "11.0", - "opera": "22", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "11.0" - }, - "es.number.parse-int": { - "edge": "13", - "chrome": "35", - "firefox": "39", - "safari": "9.0", - "opera": "22", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.to-fixed": { - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "74", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.number.to-precision": { - "ie": "8", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.object.assign": { - "edge": "13", - "chrome": "49", - "firefox": "36", - "safari": "9.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "9.0" - }, - "es.object.create": { - "ie": "9", - "chrome": "5", - "opera": "12", - "android": "4.0", - "firefox": "4", - "safari": "4.0", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "electron": "0.20", - "ios": "6.0", - "phantom": "1.9" - }, - "es.object.define-getter": { - "edge": "16", - "chrome": "62", - "firefox": "48", - "safari": "8.0", - "opera": "49", - "node": "8.10", - "samsung": "8.2", - "electron": "3.0", - "ios": "9.0" - }, - "es.object.define-properties": { - "ie": "9", - "chrome": "5", - "opera": "12", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.object.define-property": { - "ie": "9", - "chrome": "5", - "opera": "12", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "node": "0.10", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.object.define-setter": { - "edge": "16", - "chrome": "62", - "firefox": "48", - "safari": "8.0", - "opera": "49", - "node": "8.10", - "samsung": "8.2", - "electron": "3.0", - "ios": "9.0" - }, - "es.object.entries": { - "edge": "14", - "chrome": "54", - "firefox": "47", - "safari": "10.1", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "10.3" - }, - "es.object.freeze": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.from-entries": { - "chrome": "73", - "firefox": "63", - "safari": "12.1", - "edge": "74", - "opera": "60", - "node": "12.0", - "electron": "5.0", - "ios": "13.0" - }, - "es.object.get-own-property-descriptor": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.get-own-property-descriptors": { - "edge": "15", - "chrome": "54", - "firefox": "50", - "safari": "10.0", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "10.0" - }, - "es.object.get-own-property-names": { - "edge": "13", - "chrome": "40", - "firefox": "34", - "safari": "9.0", - "opera": "27", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.object.get-prototype-of": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.is": { - "edge": "12", - "chrome": "19", - "android": "4.1", - "firefox": "22", - "safari": "9.0", - "opera": "15", - "node": "0.12", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.object.is-extensible": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.is-frozen": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.is-sealed": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.keys": { - "edge": "13", - "chrome": "40", - "firefox": "35", - "safari": "9.0", - "opera": "27", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.object.lookup-getter": { - "edge": "16", - "chrome": "62", - "firefox": "48", - "safari": "8.0", - "opera": "49", - "node": "8.10", - "samsung": "8.2", - "electron": "3.0", - "ios": "9.0" - }, - "es.object.lookup-setter": { - "edge": "16", - "chrome": "62", - "firefox": "48", - "safari": "8.0", - "opera": "49", - "node": "8.10", - "samsung": "8.2", - "electron": "3.0", - "ios": "9.0" - }, - "es.object.prevent-extensions": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.seal": { - "edge": "13", - "chrome": "44", - "firefox": "35", - "safari": "9.0", - "opera": "31", - "node": "4.0", - "samsung": "4.0", - "electron": "0.30", - "ios": "9.0" - }, - "es.object.set-prototype-of": { - "ie": "11", - "chrome": "34", - "firefox": "31", - "safari": "9.0", - "edge": "12", - "opera": "21", - "node": "4.0", - "samsung": "2.1", - "electron": "0.20", - "ios": "9.0" - }, - "es.object.to-string": { - "edge": "15", - "chrome": "49", - "firefox": "51", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.object.values": { - "edge": "14", - "chrome": "54", - "firefox": "47", - "safari": "10.1", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "10.3" - }, - "es.parse-float": { - "ie": "8", - "chrome": "35", - "firefox": "8", - "safari": "8.0", - "edge": "12", - "opera": "22", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.parse-int": { - "ie": "9", - "chrome": "35", - "firefox": "21", - "safari": "8.0", - "edge": "12", - "opera": "22", - "node": "4.0", - "samsung": "3.0", - "electron": "0.20", - "ios": "9.0" - }, - "es.promise": { - "chrome": "67", - "firefox": "69", - "safari": "11.0", - "edge": "74", - "opera": "54", - "node": "10.4", - "samsung": "9.2", - "electron": "4.0", - "ios": "11.0" - }, - "es.promise.all-settled": { - "chrome": "76", - "firefox": "71", - "safari": "13", - "edge": "76", - "opera": "63", - "node": "12.9", - "electron": "6.0", - "ios": "13.0" - }, - "es.promise.finally": { - "chrome": "67", - "firefox": "69", - "safari": "12.0", - "edge": "74", - "opera": "54", - "node": "10.4", - "samsung": "9.2", - "electron": "4.0", - "ios": "12.0" - }, - "es.reflect.apply": { - "edge": "15", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.construct": { - "edge": "15", - "chrome": "49", - "firefox": "44", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.define-property": { - "edge": "13", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.delete-property": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.get": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.get-own-property-descriptor": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.get-prototype-of": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.has": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.is-extensible": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.own-keys": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.prevent-extensions": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.set": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.reflect.set-prototype-of": { - "edge": "12", - "chrome": "49", - "firefox": "42", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.regexp.constructor": { - "safari": "10.0", - "chrome": "51", - "firefox": "49", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.regexp.exec": { - "ie": "9", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "edge": "12", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.regexp.flags": { - "chrome": "49", - "firefox": "37", - "safari": "9.0", - "edge": "74", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "9.0" - }, - "es.regexp.to-string": { - "chrome": "50", - "firefox": "46", - "safari": "10.0", - "edge": "74", - "opera": "37", - "node": "6.0", - "samsung": "5.0", - "electron": "1.1", - "ios": "10.0" - }, - "es.set": { - "edge": "15", - "chrome": "51", - "firefox": "53", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.code-point-at": { - "edge": "13", - "chrome": "41", - "firefox": "29", - "safari": "9.0", - "opera": "28", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.string.ends-with": { - "chrome": "51", - "firefox": "40", - "safari": "10.0", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.from-code-point": { - "edge": "13", - "chrome": "41", - "firefox": "29", - "safari": "9.0", - "opera": "28", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.string.includes": { - "chrome": "51", - "firefox": "40", - "safari": "10.0", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.iterator": { - "edge": "13", - "chrome": "39", - "firefox": "36", - "safari": "9.0", - "opera": "26", - "node": "4.0", - "samsung": "3.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.match": { - "chrome": "51", - "firefox": "49", - "safari": "10.0", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.match-all": { - "chrome": "80", - "edge": "80", - "opera": "67" - }, - "es.string.pad-end": { - "edge": "15", - "chrome": "57", - "firefox": "48", - "safari": "11.0", - "opera": "44", - "node": "8.0", - "samsung": "7.2", - "electron": "1.7", - "ios": "11.0" - }, - "es.string.pad-start": { - "edge": "15", - "chrome": "57", - "firefox": "48", - "safari": "11.0", - "opera": "44", - "node": "8.0", - "samsung": "7.2", - "electron": "1.7", - "ios": "11.0" - }, - "es.string.raw": { - "edge": "13", - "chrome": "41", - "firefox": "34", - "safari": "9.0", - "opera": "28", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.string.repeat": { - "edge": "13", - "chrome": "41", - "firefox": "24", - "safari": "9.0", - "opera": "28", - "node": "4.0", - "samsung": "3.4", - "electron": "0.21", - "ios": "9.0" - }, - "es.string.replace": { - "chrome": "64", - "edge": "74", - "opera": "51", - "node": "10.0", - "samsung": "9.2", - "electron": "3.0" - }, - "es.string.search": { - "safari": "10.0", - "firefox": "49", - "chrome": "51", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.split": { - "safari": "10.0", - "firefox": "49", - "chrome": "54", - "edge": "74", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4", - "ios": "10.0" - }, - "es.string.starts-with": { - "safari": "10.0", - "chrome": "51", - "firefox": "40", - "edge": "74", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.string.trim": { - "edge": "15", - "chrome": "59", - "firefox": "52", - "safari": "12.1", - "opera": "46", - "node": "8.3", - "samsung": "7.2", - "electron": "1.8", - "ios": "13.0" - }, - "es.string.trim-end": { - "chrome": "66", - "firefox": "61", - "safari": "12.1", - "edge": "74", - "opera": "53", - "node": "10.0", - "samsung": "9.2", - "electron": "3.0", - "ios": "13.0" - }, - "es.string.trim-start": { - "chrome": "66", - "firefox": "61", - "safari": "12.0", - "edge": "74", - "opera": "53", - "node": "10.0", - "samsung": "9.2", - "electron": "3.0", - "ios": "12.0" - }, - "es.string.anchor": { - "edge": "13", - "chrome": "26", - "firefox": "17", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.big": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.blink": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.bold": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.fixed": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.fontcolor": { - "edge": "13", - "chrome": "26", - "firefox": "17", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.fontsize": { - "edge": "13", - "chrome": "26", - "firefox": "17", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.italics": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.link": { - "edge": "13", - "chrome": "26", - "firefox": "17", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.small": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.strike": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.sub": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.string.sup": { - "edge": "13", - "chrome": "26", - "firefox": "4", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.typed-array.float32-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.float64-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.int8-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.int16-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.int32-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.uint8-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.uint8-clamped-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.uint16-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.uint32-array": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.copy-within": { - "edge": "13", - "chrome": "45", - "firefox": "34", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.every": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.fill": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.filter": { - "edge": "13", - "chrome": "45", - "firefox": "38", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.find": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.find-index": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.for-each": { - "edge": "13", - "chrome": "45", - "firefox": "38", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.from": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.includes": { - "edge": "14", - "chrome": "49", - "firefox": "43", - "safari": "10.0", - "opera": "36", - "node": "6.0", - "samsung": "5.0", - "electron": "0.37", - "ios": "10.0" - }, - "es.typed-array.index-of": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.iterator": { - "edge": "13", - "chrome": "47", - "firefox": "37", - "safari": "10.0", - "opera": "34", - "node": "6.0", - "samsung": "5.0", - "electron": "0.36", - "ios": "10.0" - }, - "es.typed-array.join": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.last-index-of": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.map": { - "edge": "13", - "chrome": "45", - "firefox": "38", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.of": { - "edge": "15", - "chrome": "54", - "firefox": "55", - "opera": "41", - "node": "7.0", - "samsung": "6.2", - "electron": "1.4" - }, - "es.typed-array.reduce": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.reduce-right": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.reverse": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.set": { - "edge": "13", - "chrome": "26", - "firefox": "15", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.typed-array.slice": { - "edge": "13", - "chrome": "45", - "firefox": "38", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.some": { - "edge": "13", - "chrome": "45", - "firefox": "37", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.sort": { - "edge": "13", - "chrome": "45", - "firefox": "46", - "safari": "10.0", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.subarray": { - "edge": "13", - "chrome": "26", - "firefox": "15", - "safari": "8.0", - "opera": "16", - "node": "0.12", - "samsung": "2.1", - "android": "4.4", - "electron": "0.20", - "ios": "9.0" - }, - "es.typed-array.to-locale-string": { - "chrome": "45", - "firefox": "51", - "safari": "10.0", - "edge": "74", - "opera": "32", - "node": "4.0", - "samsung": "5.0", - "electron": "0.31", - "ios": "10.0" - }, - "es.typed-array.to-string": { - "edge": "13", - "chrome": "51", - "firefox": "51", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.weak-map": { - "edge": "15", - "chrome": "51", - "firefox": "53", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "es.weak-set": { - "edge": "15", - "chrome": "51", - "firefox": "53", - "safari": "10.0", - "opera": "38", - "node": "6.5", - "samsung": "5.0", - "electron": "1.2", - "ios": "10.0" - }, - "esnext.aggregate-error": {}, - "esnext.array.is-template-object": {}, - "esnext.array.last-index": {}, - "esnext.array.last-item": {}, - "esnext.async-iterator.constructor": {}, - "esnext.async-iterator.as-indexed-pairs": {}, - "esnext.async-iterator.drop": {}, - "esnext.async-iterator.every": {}, - "esnext.async-iterator.filter": {}, - "esnext.async-iterator.find": {}, - "esnext.async-iterator.flat-map": {}, - "esnext.async-iterator.for-each": {}, - "esnext.async-iterator.from": {}, - "esnext.async-iterator.map": {}, - "esnext.async-iterator.reduce": {}, - "esnext.async-iterator.some": {}, - "esnext.async-iterator.take": {}, - "esnext.async-iterator.to-array": {}, - "esnext.composite-key": {}, - "esnext.composite-symbol": {}, - "esnext.global-this": { - "chrome": "71", - "firefox": "65", - "safari": "12.1", - "edge": "74", - "opera": "58", - "node": "12.0", - "samsung": "10.2", - "electron": "5.0", - "ios": "13.0" - }, - "esnext.iterator.constructor": {}, - "esnext.iterator.as-indexed-pairs": {}, - "esnext.iterator.drop": {}, - "esnext.iterator.every": {}, - "esnext.iterator.filter": {}, - "esnext.iterator.find": {}, - "esnext.iterator.flat-map": {}, - "esnext.iterator.for-each": {}, - "esnext.iterator.from": {}, - "esnext.iterator.map": {}, - "esnext.iterator.reduce": {}, - "esnext.iterator.some": {}, - "esnext.iterator.take": {}, - "esnext.iterator.to-array": {}, - "esnext.map.delete-all": {}, - "esnext.map.every": {}, - "esnext.map.filter": {}, - "esnext.map.find": {}, - "esnext.map.find-key": {}, - "esnext.map.from": {}, - "esnext.map.group-by": {}, - "esnext.map.includes": {}, - "esnext.map.key-by": {}, - "esnext.map.key-of": {}, - "esnext.map.map-keys": {}, - "esnext.map.map-values": {}, - "esnext.map.merge": {}, - "esnext.map.of": {}, - "esnext.map.reduce": {}, - "esnext.map.some": {}, - "esnext.map.update": {}, - "esnext.map.update-or-insert": {}, - "esnext.map.upsert": {}, - "esnext.math.clamp": {}, - "esnext.math.deg-per-rad": {}, - "esnext.math.degrees": {}, - "esnext.math.fscale": {}, - "esnext.math.iaddh": {}, - "esnext.math.imulh": {}, - "esnext.math.isubh": {}, - "esnext.math.rad-per-deg": {}, - "esnext.math.radians": {}, - "esnext.math.scale": {}, - "esnext.math.seeded-prng": {}, - "esnext.math.signbit": {}, - "esnext.math.umulh": {}, - "esnext.number.from-string": {}, - "esnext.observable": {}, - "esnext.promise.all-settled": { - "chrome": "76", - "firefox": "71", - "safari": "13", - "edge": "76", - "opera": "63", - "node": "12.9", - "electron": "6.0", - "ios": "13.0" - }, - "esnext.promise.any": {}, - "esnext.promise.try": {}, - "esnext.reflect.define-metadata": {}, - "esnext.reflect.delete-metadata": {}, - "esnext.reflect.get-metadata": {}, - "esnext.reflect.get-metadata-keys": {}, - "esnext.reflect.get-own-metadata": {}, - "esnext.reflect.get-own-metadata-keys": {}, - "esnext.reflect.has-metadata": {}, - "esnext.reflect.has-own-metadata": {}, - "esnext.reflect.metadata": {}, - "esnext.set.add-all": {}, - "esnext.set.delete-all": {}, - "esnext.set.difference": {}, - "esnext.set.every": {}, - "esnext.set.filter": {}, - "esnext.set.find": {}, - "esnext.set.from": {}, - "esnext.set.intersection": {}, - "esnext.set.is-disjoint-from": {}, - "esnext.set.is-subset-of": {}, - "esnext.set.is-superset-of": {}, - "esnext.set.join": {}, - "esnext.set.map": {}, - "esnext.set.of": {}, - "esnext.set.reduce": {}, - "esnext.set.some": {}, - "esnext.set.symmetric-difference": {}, - "esnext.set.union": {}, - "esnext.string.at": {}, - "esnext.string.code-points": {}, - "esnext.string.match-all": { - "chrome": "80", - "edge": "80", - "opera": "67" - }, - "esnext.string.replace-all": { - "firefox": "72" - }, - "esnext.symbol.async-dispose": {}, - "esnext.symbol.dispose": {}, - "esnext.symbol.observable": {}, - "esnext.symbol.pattern-match": {}, - "esnext.symbol.replace-all": {}, - "esnext.weak-map.delete-all": {}, - "esnext.weak-map.from": {}, - "esnext.weak-map.of": {}, - "esnext.weak-map.upsert": {}, - "esnext.weak-set.add-all": {}, - "esnext.weak-set.delete-all": {}, - "esnext.weak-set.from": {}, - "esnext.weak-set.of": {}, - "web.dom-collections.for-each": { - "edge": "16", - "chrome": "58", - "node": "0.10", - "firefox": "50", - "safari": "10.0", - "opera": "45", - "samsung": "7.2", - "electron": "1.7", - "ios": "10.0" - }, - "web.dom-collections.iterator": { - "chrome": "66", - "node": "0.10", - "firefox": "60", - "edge": "74", - "opera": "53", - "samsung": "9.2", - "electron": "3.0" - }, - "web.immediate": { - "ie": "10", - "node": "0.10" - }, - "web.queue-microtask": { - "chrome": "71", - "node": "12.0", - "firefox": "69", - "safari": "12.1", - "edge": "74", - "opera": "58", - "samsung": "10.2", - "electron": "5.0", - "ios": "13.0" - }, - "web.timers": { - "ie": "10", - "chrome": "1", - "opera": "7", - "node": "0.10", - "android": "1.5", - "firefox": "1", - "safari": "1.0", - "edge": "12", - "samsung": "2.1", - "electron": "0.20", - "ios": "6.0", - "phantom": "1.9" - }, - "web.url": { - "chrome": "67", - "node": "10.0", - "firefox": "57", - "edge": "74", - "opera": "54", - "samsung": "9.2", - "electron": "4.0" - }, - "web.url.to-json": { - "chrome": "71", - "node": "10.0", - "firefox": "57", - "edge": "74", - "opera": "58", - "samsung": "10.2", - "electron": "5.0" - }, - "web.url-search-params": { - "chrome": "67", - "node": "10.0", - "firefox": "57", - "edge": "74", - "opera": "54", - "samsung": "9.2", - "electron": "4.0" - } -} -},{}],304:[function(require,module,exports){ -module.exports={ - "core-js": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.data-view", - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string", - "es.function.bind", - "es.function.has-instance", - "es.function.name", - "es.global-this", - "es.json.to-string-tag", - "es.map", - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values", - "es.parse-float", - "es.parse-int", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.set", - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string", - "es.weak-map", - "es.weak-set", - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.dom-collections.for-each", - "web.dom-collections.iterator", - "web.immediate", - "web.queue-microtask", - "web.timers", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/es/array-buffer/constructor": [ - "es.array-buffer.constructor", - "es.object.to-string" - ], - "core-js/es/array-buffer": [ - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.object.to-string" - ], - "core-js/es/array-buffer/is-view": [ - "es.array-buffer.is-view" - ], - "core-js/es/array-buffer/slice": [ - "es.array-buffer.slice" - ], - "core-js/es/array/concat": [ - "es.array.concat" - ], - "core-js/es/array/copy-within": [ - "es.array.copy-within" - ], - "core-js/es/array/entries": [ - "es.array.iterator" - ], - "core-js/es/array/every": [ - "es.array.every" - ], - "core-js/es/array/fill": [ - "es.array.fill" - ], - "core-js/es/array/filter": [ - "es.array.filter" - ], - "core-js/es/array/find-index": [ - "es.array.find-index" - ], - "core-js/es/array/find": [ - "es.array.find" - ], - "core-js/es/array/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/es/array/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/es/array/for-each": [ - "es.array.for-each" - ], - "core-js/es/array/from": [ - "es.array.from", - "es.string.iterator" - ], - "core-js/es/array/includes": [ - "es.array.includes" - ], - "core-js/es/array/index-of": [ - "es.array.index-of" - ], - "core-js/es/array": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.string.iterator" - ], - "core-js/es/array/is-array": [ - "es.array.is-array" - ], - "core-js/es/array/iterator": [ - "es.array.iterator" - ], - "core-js/es/array/join": [ - "es.array.join" - ], - "core-js/es/array/keys": [ - "es.array.iterator" - ], - "core-js/es/array/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/es/array/map": [ - "es.array.map" - ], - "core-js/es/array/of": [ - "es.array.of" - ], - "core-js/es/array/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/es/array/reduce": [ - "es.array.reduce" - ], - "core-js/es/array/reverse": [ - "es.array.reverse" - ], - "core-js/es/array/slice": [ - "es.array.slice" - ], - "core-js/es/array/some": [ - "es.array.some" - ], - "core-js/es/array/sort": [ - "es.array.sort" - ], - "core-js/es/array/splice": [ - "es.array.splice" - ], - "core-js/es/array/values": [ - "es.array.iterator" - ], - "core-js/es/array/virtual/concat": [ - "es.array.concat" - ], - "core-js/es/array/virtual/copy-within": [ - "es.array.copy-within" - ], - "core-js/es/array/virtual/entries": [ - "es.array.iterator" - ], - "core-js/es/array/virtual/every": [ - "es.array.every" - ], - "core-js/es/array/virtual/fill": [ - "es.array.fill" - ], - "core-js/es/array/virtual/filter": [ - "es.array.filter" - ], - "core-js/es/array/virtual/find-index": [ - "es.array.find-index" - ], - "core-js/es/array/virtual/find": [ - "es.array.find" - ], - "core-js/es/array/virtual/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/es/array/virtual/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/es/array/virtual/for-each": [ - "es.array.for-each" - ], - "core-js/es/array/virtual/includes": [ - "es.array.includes" - ], - "core-js/es/array/virtual/index-of": [ - "es.array.index-of" - ], - "core-js/es/array/virtual": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.includes", - "es.array.index-of", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map" - ], - "core-js/es/array/virtual/iterator": [ - "es.array.iterator" - ], - "core-js/es/array/virtual/join": [ - "es.array.join" - ], - "core-js/es/array/virtual/keys": [ - "es.array.iterator" - ], - "core-js/es/array/virtual/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/es/array/virtual/map": [ - "es.array.map" - ], - "core-js/es/array/virtual/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/es/array/virtual/reduce": [ - "es.array.reduce" - ], - "core-js/es/array/virtual/reverse": [ - "es.array.reverse" - ], - "core-js/es/array/virtual/slice": [ - "es.array.slice" - ], - "core-js/es/array/virtual/some": [ - "es.array.some" - ], - "core-js/es/array/virtual/sort": [ - "es.array.sort" - ], - "core-js/es/array/virtual/splice": [ - "es.array.splice" - ], - "core-js/es/array/virtual/values": [ - "es.array.iterator" - ], - "core-js/es/data-view": [ - "es.data-view", - "es.object.to-string" - ], - "core-js/es/date": [ - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string" - ], - "core-js/es/date/now": [ - "es.date.now" - ], - "core-js/es/date/to-iso-string": [ - "es.date.to-iso-string", - "es.date.to-json" - ], - "core-js/es/date/to-json": [ - "es.date.to-json" - ], - "core-js/es/date/to-primitive": [ - "es.date.to-primitive" - ], - "core-js/es/date/to-string": [ - "es.date.to-string" - ], - "core-js/es/function/bind": [ - "es.function.bind" - ], - "core-js/es/function/has-instance": [ - "es.function.has-instance" - ], - "core-js/es/function": [ - "es.function.bind", - "es.function.has-instance", - "es.function.name" - ], - "core-js/es/function/name": [ - "es.function.name" - ], - "core-js/es/function/virtual/bind": [ - "es.function.bind" - ], - "core-js/es/function/virtual": [ - "es.function.bind" - ], - "core-js/es/global-this": [ - "es.global-this" - ], - "core-js/es": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.data-view", - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string", - "es.function.bind", - "es.function.has-instance", - "es.function.name", - "es.global-this", - "es.json.to-string-tag", - "es.map", - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values", - "es.parse-float", - "es.parse-int", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.set", - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string", - "es.weak-map", - "es.weak-set" - ], - "core-js/es/instance/bind": [ - "es.function.bind" - ], - "core-js/es/instance/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/es/instance/concat": [ - "es.array.concat" - ], - "core-js/es/instance/copy-within": [ - "es.array.copy-within" - ], - "core-js/es/instance/ends-with": [ - "es.string.ends-with" - ], - "core-js/es/instance/entries": [ - "es.array.iterator" - ], - "core-js/es/instance/every": [ - "es.array.every" - ], - "core-js/es/instance/fill": [ - "es.array.fill" - ], - "core-js/es/instance/filter": [ - "es.array.filter" - ], - "core-js/es/instance/find-index": [ - "es.array.find-index" - ], - "core-js/es/instance/find": [ - "es.array.find" - ], - "core-js/es/instance/flags": [ - "es.regexp.flags" - ], - "core-js/es/instance/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/es/instance/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/es/instance/for-each": [ - "es.array.for-each" - ], - "core-js/es/instance/includes": [ - "es.array.includes", - "es.string.includes" - ], - "core-js/es/instance/index-of": [ - "es.array.index-of" - ], - "core-js/es/instance/keys": [ - "es.array.iterator" - ], - "core-js/es/instance/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/es/instance/map": [ - "es.array.map" - ], - "core-js/es/instance/match-all": [ - "es.string.match-all" - ], - "core-js/es/instance/pad-end": [ - "es.string.pad-end" - ], - "core-js/es/instance/pad-start": [ - "es.string.pad-start" - ], - "core-js/es/instance/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/es/instance/reduce": [ - "es.array.reduce" - ], - "core-js/es/instance/repeat": [ - "es.string.repeat" - ], - "core-js/es/instance/reverse": [ - "es.array.reverse" - ], - "core-js/es/instance/slice": [ - "es.array.slice" - ], - "core-js/es/instance/some": [ - "es.array.some" - ], - "core-js/es/instance/sort": [ - "es.array.sort" - ], - "core-js/es/instance/splice": [ - "es.array.splice" - ], - "core-js/es/instance/starts-with": [ - "es.string.starts-with" - ], - "core-js/es/instance/trim-end": [ - "es.string.trim-end" - ], - "core-js/es/instance/trim-left": [ - "es.string.trim-start" - ], - "core-js/es/instance/trim-right": [ - "es.string.trim-end" - ], - "core-js/es/instance/trim-start": [ - "es.string.trim-start" - ], - "core-js/es/instance/trim": [ - "es.string.trim" - ], - "core-js/es/instance/values": [ - "es.array.iterator" - ], - "core-js/es/json": [ - "es.json.to-string-tag" - ], - "core-js/es/json/stringify": [ - "es.json.stringify" - ], - "core-js/es/json/to-string-tag": [ - "es.json.to-string-tag" - ], - "core-js/es/map": [ - "es.map", - "es.object.to-string", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/es/math/acosh": [ - "es.math.acosh" - ], - "core-js/es/math/asinh": [ - "es.math.asinh" - ], - "core-js/es/math/atanh": [ - "es.math.atanh" - ], - "core-js/es/math/cbrt": [ - "es.math.cbrt" - ], - "core-js/es/math/clz32": [ - "es.math.clz32" - ], - "core-js/es/math/cosh": [ - "es.math.cosh" - ], - "core-js/es/math/expm1": [ - "es.math.expm1" - ], - "core-js/es/math/fround": [ - "es.math.fround" - ], - "core-js/es/math/hypot": [ - "es.math.hypot" - ], - "core-js/es/math/imul": [ - "es.math.imul" - ], - "core-js/es/math": [ - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc" - ], - "core-js/es/math/log10": [ - "es.math.log10" - ], - "core-js/es/math/log1p": [ - "es.math.log1p" - ], - "core-js/es/math/log2": [ - "es.math.log2" - ], - "core-js/es/math/sign": [ - "es.math.sign" - ], - "core-js/es/math/sinh": [ - "es.math.sinh" - ], - "core-js/es/math/tanh": [ - "es.math.tanh" - ], - "core-js/es/math/to-string-tag": [ - "es.math.to-string-tag" - ], - "core-js/es/math/trunc": [ - "es.math.trunc" - ], - "core-js/es/number/constructor": [ - "es.number.constructor" - ], - "core-js/es/number/epsilon": [ - "es.number.epsilon" - ], - "core-js/es/number": [ - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision" - ], - "core-js/es/number/is-finite": [ - "es.number.is-finite" - ], - "core-js/es/number/is-integer": [ - "es.number.is-integer" - ], - "core-js/es/number/is-nan": [ - "es.number.is-nan" - ], - "core-js/es/number/is-safe-integer": [ - "es.number.is-safe-integer" - ], - "core-js/es/number/max-safe-integer": [ - "es.number.max-safe-integer" - ], - "core-js/es/number/min-safe-integer": [ - "es.number.min-safe-integer" - ], - "core-js/es/number/parse-float": [ - "es.number.parse-float" - ], - "core-js/es/number/parse-int": [ - "es.number.parse-int" - ], - "core-js/es/number/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/es/number/to-precision": [ - "es.number.to-precision" - ], - "core-js/es/number/virtual": [ - "es.number.to-fixed", - "es.number.to-precision" - ], - "core-js/es/number/virtual/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/es/number/virtual/to-precision": [ - "es.number.to-precision" - ], - "core-js/es/object/assign": [ - "es.object.assign" - ], - "core-js/es/object/create": [ - "es.object.create" - ], - "core-js/es/object/define-getter": [ - "es.object.define-getter" - ], - "core-js/es/object/define-properties": [ - "es.object.define-properties" - ], - "core-js/es/object/define-property": [ - "es.object.define-property" - ], - "core-js/es/object/define-setter": [ - "es.object.define-setter" - ], - "core-js/es/object/entries": [ - "es.object.entries" - ], - "core-js/es/object/freeze": [ - "es.object.freeze" - ], - "core-js/es/object/from-entries": [ - "es.array.iterator", - "es.object.from-entries" - ], - "core-js/es/object/get-own-property-descriptor": [ - "es.object.get-own-property-descriptor" - ], - "core-js/es/object/get-own-property-descriptors": [ - "es.object.get-own-property-descriptors" - ], - "core-js/es/object/get-own-property-names": [ - "es.object.get-own-property-names" - ], - "core-js/es/object/get-own-property-symbols": [ - "es.symbol" - ], - "core-js/es/object/get-prototype-of": [ - "es.object.get-prototype-of" - ], - "core-js/es/object": [ - "es.symbol", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values" - ], - "core-js/es/object/is-extensible": [ - "es.object.is-extensible" - ], - "core-js/es/object/is-frozen": [ - "es.object.is-frozen" - ], - "core-js/es/object/is-sealed": [ - "es.object.is-sealed" - ], - "core-js/es/object/is": [ - "es.object.is" - ], - "core-js/es/object/keys": [ - "es.object.keys" - ], - "core-js/es/object/lookup-getter": [ - "es.object.lookup-setter" - ], - "core-js/es/object/lookup-setter": [ - "es.object.lookup-setter" - ], - "core-js/es/object/prevent-extensions": [ - "es.object.prevent-extensions" - ], - "core-js/es/object/seal": [ - "es.object.seal" - ], - "core-js/es/object/set-prototype-of": [ - "es.object.set-prototype-of" - ], - "core-js/es/object/to-string": [ - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/es/object/values": [ - "es.object.values" - ], - "core-js/es/parse-float": [ - "es.parse-float" - ], - "core-js/es/parse-int": [ - "es.parse-int" - ], - "core-js/es/promise/all-settled": [ - "es.promise", - "es.promise.all-settled" - ], - "core-js/es/promise/finally": [ - "es.promise", - "es.promise.finally" - ], - "core-js/es/promise": [ - "es.object.to-string", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/es/reflect/apply": [ - "es.reflect.apply" - ], - "core-js/es/reflect/construct": [ - "es.reflect.construct" - ], - "core-js/es/reflect/define-property": [ - "es.reflect.define-property" - ], - "core-js/es/reflect/delete-property": [ - "es.reflect.delete-property" - ], - "core-js/es/reflect/get-own-property-descriptor": [ - "es.reflect.get-own-property-descriptor" - ], - "core-js/es/reflect/get-prototype-of": [ - "es.reflect.get-prototype-of" - ], - "core-js/es/reflect/get": [ - "es.reflect.get" - ], - "core-js/es/reflect/has": [ - "es.reflect.has" - ], - "core-js/es/reflect": [ - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of" - ], - "core-js/es/reflect/is-extensible": [ - "es.reflect.is-extensible" - ], - "core-js/es/reflect/own-keys": [ - "es.reflect.own-keys" - ], - "core-js/es/reflect/prevent-extensions": [ - "es.reflect.prevent-extensions" - ], - "core-js/es/reflect/set-prototype-of": [ - "es.reflect.set-prototype-of" - ], - "core-js/es/reflect/set": [ - "es.reflect.set" - ], - "core-js/es/regexp/constructor": [ - "es.regexp.constructor" - ], - "core-js/es/regexp/flags": [ - "es.regexp.flags" - ], - "core-js/es/regexp": [ - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.string.match", - "es.string.replace", - "es.string.search", - "es.string.split" - ], - "core-js/es/regexp/match": [ - "es.string.match" - ], - "core-js/es/regexp/replace": [ - "es.string.replace" - ], - "core-js/es/regexp/search": [ - "es.string.search" - ], - "core-js/es/regexp/split": [ - "es.string.split" - ], - "core-js/es/regexp/to-string": [ - "es.regexp.to-string" - ], - "core-js/es/set": [ - "es.object.to-string", - "es.set", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/es/string/anchor": [ - "es.string.anchor" - ], - "core-js/es/string/big": [ - "es.string.big" - ], - "core-js/es/string/blink": [ - "es.string.blink" - ], - "core-js/es/string/bold": [ - "es.string.bold" - ], - "core-js/es/string/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/es/string/ends-with": [ - "es.string.ends-with" - ], - "core-js/es/string/fixed": [ - "es.string.fixed" - ], - "core-js/es/string/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/es/string/fontsize": [ - "es.string.fontsize" - ], - "core-js/es/string/from-code-point": [ - "es.string.from-code-point" - ], - "core-js/es/string/includes": [ - "es.string.includes" - ], - "core-js/es/string": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup" - ], - "core-js/es/string/italics": [ - "es.string.italics" - ], - "core-js/es/string/iterator": [ - "es.string.iterator" - ], - "core-js/es/string/link": [ - "es.string.link" - ], - "core-js/es/string/match-all": [ - "es.string.match-all" - ], - "core-js/es/string/match": [ - "es.string.match" - ], - "core-js/es/string/pad-end": [ - "es.string.pad-end" - ], - "core-js/es/string/pad-start": [ - "es.string.pad-start" - ], - "core-js/es/string/raw": [ - "es.string.raw" - ], - "core-js/es/string/repeat": [ - "es.string.repeat" - ], - "core-js/es/string/replace": [ - "es.string.replace" - ], - "core-js/es/string/search": [ - "es.string.search" - ], - "core-js/es/string/small": [ - "es.string.small" - ], - "core-js/es/string/split": [ - "es.string.split" - ], - "core-js/es/string/starts-with": [ - "es.string.starts-with" - ], - "core-js/es/string/strike": [ - "es.string.strike" - ], - "core-js/es/string/sub": [ - "es.string.sub" - ], - "core-js/es/string/sup": [ - "es.string.sup" - ], - "core-js/es/string/trim-end": [ - "es.string.trim-end" - ], - "core-js/es/string/trim-left": [ - "es.string.trim-start" - ], - "core-js/es/string/trim-right": [ - "es.string.trim-end" - ], - "core-js/es/string/trim-start": [ - "es.string.trim-start" - ], - "core-js/es/string/trim": [ - "es.string.trim" - ], - "core-js/es/string/virtual/anchor": [ - "es.string.anchor" - ], - "core-js/es/string/virtual/big": [ - "es.string.big" - ], - "core-js/es/string/virtual/blink": [ - "es.string.blink" - ], - "core-js/es/string/virtual/bold": [ - "es.string.bold" - ], - "core-js/es/string/virtual/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/es/string/virtual/ends-with": [ - "es.string.ends-with" - ], - "core-js/es/string/virtual/fixed": [ - "es.string.fixed" - ], - "core-js/es/string/virtual/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/es/string/virtual/fontsize": [ - "es.string.fontsize" - ], - "core-js/es/string/virtual/includes": [ - "es.string.includes" - ], - "core-js/es/string/virtual": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup" - ], - "core-js/es/string/virtual/italics": [ - "es.string.italics" - ], - "core-js/es/string/virtual/iterator": [ - "es.string.iterator" - ], - "core-js/es/string/virtual/link": [ - "es.string.link" - ], - "core-js/es/string/virtual/match-all": [ - "es.string.match-all" - ], - "core-js/es/string/virtual/pad-end": [ - "es.string.pad-end" - ], - "core-js/es/string/virtual/pad-start": [ - "es.string.pad-start" - ], - "core-js/es/string/virtual/repeat": [ - "es.string.repeat" - ], - "core-js/es/string/virtual/small": [ - "es.string.small" - ], - "core-js/es/string/virtual/starts-with": [ - "es.string.starts-with" - ], - "core-js/es/string/virtual/strike": [ - "es.string.strike" - ], - "core-js/es/string/virtual/sub": [ - "es.string.sub" - ], - "core-js/es/string/virtual/sup": [ - "es.string.sup" - ], - "core-js/es/string/virtual/trim-end": [ - "es.string.trim-end" - ], - "core-js/es/string/virtual/trim-left": [ - "es.string.trim-start" - ], - "core-js/es/string/virtual/trim-right": [ - "es.string.trim-end" - ], - "core-js/es/string/virtual/trim-start": [ - "es.string.trim-start" - ], - "core-js/es/string/virtual/trim": [ - "es.string.trim" - ], - "core-js/es/symbol/async-iterator": [ - "es.symbol.async-iterator" - ], - "core-js/es/symbol/description": [ - "es.symbol.description" - ], - "core-js/es/symbol/for": [ - "es.symbol" - ], - "core-js/es/symbol/has-instance": [ - "es.symbol.has-instance", - "es.function.has-instance" - ], - "core-js/es/symbol": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/es/symbol/is-concat-spreadable": [ - "es.symbol.is-concat-spreadable", - "es.array.concat" - ], - "core-js/es/symbol/iterator": [ - "es.symbol.iterator", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/es/symbol/key-for": [ - "es.symbol" - ], - "core-js/es/symbol/match-all": [ - "es.symbol.match-all", - "es.string.match-all" - ], - "core-js/es/symbol/match": [ - "es.symbol.match", - "es.string.match" - ], - "core-js/es/symbol/replace": [ - "es.symbol.replace", - "es.string.replace" - ], - "core-js/es/symbol/search": [ - "es.symbol.search", - "es.string.search" - ], - "core-js/es/symbol/species": [ - "es.symbol.species" - ], - "core-js/es/symbol/split": [ - "es.symbol.split", - "es.string.split" - ], - "core-js/es/symbol/to-primitive": [ - "es.symbol.to-primitive" - ], - "core-js/es/symbol/to-string-tag": [ - "es.symbol.to-string-tag", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/es/symbol/unscopables": [ - "es.symbol.unscopables" - ], - "core-js/es/typed-array/copy-within": [ - "es.typed-array.copy-within" - ], - "core-js/es/typed-array/entries": [ - "es.typed-array.iterator" - ], - "core-js/es/typed-array/every": [ - "es.typed-array.every" - ], - "core-js/es/typed-array/fill": [ - "es.typed-array.fill" - ], - "core-js/es/typed-array/filter": [ - "es.typed-array.filter" - ], - "core-js/es/typed-array/find-index": [ - "es.typed-array.find-index" - ], - "core-js/es/typed-array/find": [ - "es.typed-array.find" - ], - "core-js/es/typed-array/float32-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/float64-array": [ - "es.object.to-string", - "es.typed-array.float64-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/for-each": [ - "es.typed-array.for-each" - ], - "core-js/es/typed-array/from": [ - "es.typed-array.from" - ], - "core-js/es/typed-array/includes": [ - "es.typed-array.includes" - ], - "core-js/es/typed-array/index-of": [ - "es.typed-array.index-of" - ], - "core-js/es/typed-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/int16-array": [ - "es.object.to-string", - "es.typed-array.int16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/int32-array": [ - "es.object.to-string", - "es.typed-array.int32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/int8-array": [ - "es.object.to-string", - "es.typed-array.int8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/iterator": [ - "es.typed-array.iterator" - ], - "core-js/es/typed-array/join": [ - "es.typed-array.join" - ], - "core-js/es/typed-array/keys": [ - "es.typed-array.iterator" - ], - "core-js/es/typed-array/last-index-of": [ - "es.typed-array.last-index-of" - ], - "core-js/es/typed-array/map": [ - "es.typed-array.map" - ], - "core-js/es/typed-array/methods": [ - "es.object.to-string", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/of": [ - "es.typed-array.of" - ], - "core-js/es/typed-array/reduce-right": [ - "es.typed-array.reduce-right" - ], - "core-js/es/typed-array/reduce": [ - "es.typed-array.reduce" - ], - "core-js/es/typed-array/reverse": [ - "es.typed-array.reverse" - ], - "core-js/es/typed-array/set": [ - "es.typed-array.set" - ], - "core-js/es/typed-array/slice": [ - "es.typed-array.slice" - ], - "core-js/es/typed-array/some": [ - "es.typed-array.some" - ], - "core-js/es/typed-array/sort": [ - "es.typed-array.sort" - ], - "core-js/es/typed-array/subarray": [ - "es.typed-array.subarray" - ], - "core-js/es/typed-array/to-locale-string": [ - "es.typed-array.to-locale-string" - ], - "core-js/es/typed-array/to-string": [ - "es.typed-array.to-string" - ], - "core-js/es/typed-array/uint16-array": [ - "es.object.to-string", - "es.typed-array.uint16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/uint32-array": [ - "es.object.to-string", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/uint8-array": [ - "es.object.to-string", - "es.typed-array.uint8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/uint8-clamped-array": [ - "es.object.to-string", - "es.typed-array.uint8-clamped-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/es/typed-array/values": [ - "es.typed-array.iterator" - ], - "core-js/es/weak-map": [ - "es.object.to-string", - "es.weak-map", - "web.dom-collections.iterator" - ], - "core-js/es/weak-set": [ - "es.object.to-string", - "es.weak-set", - "web.dom-collections.iterator" - ], - "core-js/features/aggregate-error": [ - "es.string.iterator", - "esnext.aggregate-error", - "web.dom-collections.iterator" - ], - "core-js/features/array-buffer/constructor": [ - "es.array-buffer.constructor", - "es.object.to-string" - ], - "core-js/features/array-buffer": [ - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.object.to-string" - ], - "core-js/features/array-buffer/is-view": [ - "es.array-buffer.is-view" - ], - "core-js/features/array-buffer/slice": [ - "es.array-buffer.slice" - ], - "core-js/features/array/concat": [ - "es.array.concat" - ], - "core-js/features/array/copy-within": [ - "es.array.copy-within" - ], - "core-js/features/array/entries": [ - "es.array.iterator" - ], - "core-js/features/array/every": [ - "es.array.every" - ], - "core-js/features/array/fill": [ - "es.array.fill" - ], - "core-js/features/array/filter": [ - "es.array.filter" - ], - "core-js/features/array/find-index": [ - "es.array.find-index" - ], - "core-js/features/array/find": [ - "es.array.find" - ], - "core-js/features/array/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/features/array/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/features/array/for-each": [ - "es.array.for-each" - ], - "core-js/features/array/from": [ - "es.array.from", - "es.string.iterator" - ], - "core-js/features/array/includes": [ - "es.array.includes" - ], - "core-js/features/array/index-of": [ - "es.array.index-of" - ], - "core-js/features/array": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.string.iterator", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item" - ], - "core-js/features/array/is-array": [ - "es.array.is-array" - ], - "core-js/features/array/is-template-object": [ - "esnext.array.is-template-object" - ], - "core-js/features/array/iterator": [ - "es.array.iterator" - ], - "core-js/features/array/join": [ - "es.array.join" - ], - "core-js/features/array/keys": [ - "es.array.iterator" - ], - "core-js/features/array/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/features/array/last-index": [ - "esnext.array.last-index" - ], - "core-js/features/array/last-item": [ - "esnext.array.last-item" - ], - "core-js/features/array/map": [ - "es.array.map" - ], - "core-js/features/array/of": [ - "es.array.of" - ], - "core-js/features/array/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/features/array/reduce": [ - "es.array.reduce" - ], - "core-js/features/array/reverse": [ - "es.array.reverse" - ], - "core-js/features/array/slice": [ - "es.array.slice" - ], - "core-js/features/array/some": [ - "es.array.some" - ], - "core-js/features/array/sort": [ - "es.array.sort" - ], - "core-js/features/array/splice": [ - "es.array.splice" - ], - "core-js/features/array/values": [ - "es.array.iterator" - ], - "core-js/features/array/virtual/concat": [ - "es.array.concat" - ], - "core-js/features/array/virtual/copy-within": [ - "es.array.copy-within" - ], - "core-js/features/array/virtual/entries": [ - "es.array.iterator" - ], - "core-js/features/array/virtual/every": [ - "es.array.every" - ], - "core-js/features/array/virtual/fill": [ - "es.array.fill" - ], - "core-js/features/array/virtual/filter": [ - "es.array.filter" - ], - "core-js/features/array/virtual/find-index": [ - "es.array.find-index" - ], - "core-js/features/array/virtual/find": [ - "es.array.find" - ], - "core-js/features/array/virtual/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/features/array/virtual/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/features/array/virtual/for-each": [ - "es.array.for-each" - ], - "core-js/features/array/virtual/includes": [ - "es.array.includes" - ], - "core-js/features/array/virtual/index-of": [ - "es.array.index-of" - ], - "core-js/features/array/virtual": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.includes", - "es.array.index-of", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map" - ], - "core-js/features/array/virtual/iterator": [ - "es.array.iterator" - ], - "core-js/features/array/virtual/join": [ - "es.array.join" - ], - "core-js/features/array/virtual/keys": [ - "es.array.iterator" - ], - "core-js/features/array/virtual/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/features/array/virtual/map": [ - "es.array.map" - ], - "core-js/features/array/virtual/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/features/array/virtual/reduce": [ - "es.array.reduce" - ], - "core-js/features/array/virtual/reverse": [ - "es.array.reverse" - ], - "core-js/features/array/virtual/slice": [ - "es.array.slice" - ], - "core-js/features/array/virtual/some": [ - "es.array.some" - ], - "core-js/features/array/virtual/sort": [ - "es.array.sort" - ], - "core-js/features/array/virtual/splice": [ - "es.array.splice" - ], - "core-js/features/array/virtual/values": [ - "es.array.iterator" - ], - "core-js/features/async-iterator/as-indexed-pairs": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.as-indexed-pairs", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/drop": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/every": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.every", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/filter": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.filter", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/find": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.find", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/flat-map": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.flat-map", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/for-each": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.for-each", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/from": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.from", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.as-indexed-pairs", - "esnext.async-iterator.drop", - "esnext.async-iterator.every", - "esnext.async-iterator.filter", - "esnext.async-iterator.find", - "esnext.async-iterator.flat-map", - "esnext.async-iterator.for-each", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.reduce", - "esnext.async-iterator.some", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/map": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.map", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/reduce": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.reduce", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/some": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.some", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/take": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.take", - "web.dom-collections.iterator" - ], - "core-js/features/async-iterator/to-array": [ - "es.object.to-string", - "es.promise", - "es.string.iterator", - "esnext.async-iterator.constructor", - "esnext.async-iterator.to-array", - "web.dom-collections.iterator" - ], - "core-js/features/clear-immediate": [ - "web.immediate" - ], - "core-js/features/composite-key": [ - "esnext.composite-key" - ], - "core-js/features/composite-symbol": [ - "es.symbol", - "esnext.composite-symbol" - ], - "core-js/features/data-view": [ - "es.data-view", - "es.object.to-string" - ], - "core-js/features/date": [ - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string" - ], - "core-js/features/date/now": [ - "es.date.now" - ], - "core-js/features/date/to-iso-string": [ - "es.date.to-iso-string", - "es.date.to-json" - ], - "core-js/features/date/to-json": [ - "es.date.to-json" - ], - "core-js/features/date/to-primitive": [ - "es.date.to-primitive" - ], - "core-js/features/date/to-string": [ - "es.date.to-string" - ], - "core-js/features/dom-collections/for-each": [ - "web.dom-collections.for-each" - ], - "core-js/features/dom-collections": [ - "es.array.iterator", - "web.dom-collections.for-each", - "web.dom-collections.iterator" - ], - "core-js/features/dom-collections/iterator": [ - "web.dom-collections.iterator" - ], - "core-js/features/function/bind": [ - "es.function.bind" - ], - "core-js/features/function/has-instance": [ - "es.function.has-instance" - ], - "core-js/features/function": [ - "es.function.bind", - "es.function.has-instance", - "es.function.name" - ], - "core-js/features/function/name": [ - "es.function.name" - ], - "core-js/features/function/virtual/bind": [ - "es.function.bind" - ], - "core-js/features/function/virtual": [ - "es.function.bind" - ], - "core-js/features/get-iterator-method": [ - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/get-iterator": [ - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/global-this": [ - "es.global-this", - "esnext.global-this" - ], - "core-js/features": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.data-view", - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string", - "es.function.bind", - "es.function.has-instance", - "es.function.name", - "es.global-this", - "es.json.to-string-tag", - "es.map", - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values", - "es.parse-float", - "es.parse-int", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.set", - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string", - "es.weak-map", - "es.weak-set", - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.dom-collections.for-each", - "web.dom-collections.iterator", - "web.immediate", - "web.queue-microtask", - "web.timers", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/features/instance/at": [ - "esnext.string.at" - ], - "core-js/features/instance/bind": [ - "es.function.bind" - ], - "core-js/features/instance/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/features/instance/code-points": [ - "esnext.string.code-points" - ], - "core-js/features/instance/concat": [ - "es.array.concat" - ], - "core-js/features/instance/copy-within": [ - "es.array.copy-within" - ], - "core-js/features/instance/ends-with": [ - "es.string.ends-with" - ], - "core-js/features/instance/entries": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/instance/every": [ - "es.array.every" - ], - "core-js/features/instance/fill": [ - "es.array.fill" - ], - "core-js/features/instance/filter": [ - "es.array.filter" - ], - "core-js/features/instance/find-index": [ - "es.array.find-index" - ], - "core-js/features/instance/find": [ - "es.array.find" - ], - "core-js/features/instance/flags": [ - "es.regexp.flags" - ], - "core-js/features/instance/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/features/instance/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/features/instance/for-each": [ - "es.array.for-each", - "web.dom-collections.iterator" - ], - "core-js/features/instance/includes": [ - "es.array.includes", - "es.string.includes" - ], - "core-js/features/instance/index-of": [ - "es.array.index-of" - ], - "core-js/features/instance/keys": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/instance/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/features/instance/map": [ - "es.array.map" - ], - "core-js/features/instance/match-all": [ - "es.string.match-all" - ], - "core-js/features/instance/pad-end": [ - "es.string.pad-end" - ], - "core-js/features/instance/pad-start": [ - "es.string.pad-start" - ], - "core-js/features/instance/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/features/instance/reduce": [ - "es.array.reduce" - ], - "core-js/features/instance/repeat": [ - "es.string.repeat" - ], - "core-js/features/instance/replace-all": [ - "esnext.string.replace-all" - ], - "core-js/features/instance/reverse": [ - "es.array.reverse" - ], - "core-js/features/instance/slice": [ - "es.array.slice" - ], - "core-js/features/instance/some": [ - "es.array.some" - ], - "core-js/features/instance/sort": [ - "es.array.sort" - ], - "core-js/features/instance/splice": [ - "es.array.splice" - ], - "core-js/features/instance/starts-with": [ - "es.string.starts-with" - ], - "core-js/features/instance/trim-end": [ - "es.string.trim-end" - ], - "core-js/features/instance/trim-left": [ - "es.string.trim-start" - ], - "core-js/features/instance/trim-right": [ - "es.string.trim-end" - ], - "core-js/features/instance/trim-start": [ - "es.string.trim-start" - ], - "core-js/features/instance/trim": [ - "es.string.trim" - ], - "core-js/features/instance/values": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/is-iterable": [ - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/as-indexed-pairs": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/drop": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.drop", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/every": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.every", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/filter": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.filter", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/find": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.find", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/flat-map": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.flat-map", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/for-each": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.for-each", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/from": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.from", - "web.dom-collections.iterator" - ], - "core-js/features/iterator": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.flat-map", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/map": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.map", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/reduce": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.reduce", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/some": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.some", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/take": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.take", - "web.dom-collections.iterator" - ], - "core-js/features/iterator/to-array": [ - "es.object.to-string", - "es.string.iterator", - "esnext.iterator.constructor", - "esnext.iterator.to-array", - "web.dom-collections.iterator" - ], - "core-js/features/json": [ - "es.json.to-string-tag" - ], - "core-js/features/json/stringify": [ - "es.json.stringify" - ], - "core-js/features/json/to-string-tag": [ - "es.json.to-string-tag" - ], - "core-js/features/map/delete-all": [ - "es.map", - "esnext.map.delete-all" - ], - "core-js/features/map/every": [ - "es.map", - "esnext.map.every" - ], - "core-js/features/map/filter": [ - "es.map", - "esnext.map.filter" - ], - "core-js/features/map/find-key": [ - "es.map", - "esnext.map.find-key" - ], - "core-js/features/map/find": [ - "es.map", - "esnext.map.find" - ], - "core-js/features/map/from": [ - "es.map", - "es.string.iterator", - "esnext.map.from", - "web.dom-collections.iterator" - ], - "core-js/features/map/group-by": [ - "es.map", - "esnext.map.group-by" - ], - "core-js/features/map/includes": [ - "es.map", - "esnext.map.includes" - ], - "core-js/features/map": [ - "es.map", - "es.object.to-string", - "es.string.iterator", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "web.dom-collections.iterator" - ], - "core-js/features/map/key-by": [ - "es.map", - "esnext.map.key-by" - ], - "core-js/features/map/key-of": [ - "es.map", - "esnext.map.key-of" - ], - "core-js/features/map/map-keys": [ - "es.map", - "esnext.map.map-keys" - ], - "core-js/features/map/map-values": [ - "es.map", - "esnext.map.map-values" - ], - "core-js/features/map/merge": [ - "es.map", - "esnext.map.merge" - ], - "core-js/features/map/of": [ - "es.map", - "es.string.iterator", - "esnext.map.of", - "web.dom-collections.iterator" - ], - "core-js/features/map/reduce": [ - "es.map", - "esnext.map.reduce" - ], - "core-js/features/map/some": [ - "es.map", - "esnext.map.some" - ], - "core-js/features/map/update-or-insert": [ - "es.map", - "esnext.map.update-or-insert" - ], - "core-js/features/map/update": [ - "es.map", - "esnext.map.update" - ], - "core-js/features/map/upsert": [ - "es.map", - "esnext.map.upsert" - ], - "core-js/features/math/acosh": [ - "es.math.acosh" - ], - "core-js/features/math/asinh": [ - "es.math.asinh" - ], - "core-js/features/math/atanh": [ - "es.math.atanh" - ], - "core-js/features/math/cbrt": [ - "es.math.cbrt" - ], - "core-js/features/math/clamp": [ - "esnext.math.clamp" - ], - "core-js/features/math/clz32": [ - "es.math.clz32" - ], - "core-js/features/math/cosh": [ - "es.math.cosh" - ], - "core-js/features/math/deg-per-rad": [ - "esnext.math.deg-per-rad" - ], - "core-js/features/math/degrees": [ - "esnext.math.degrees" - ], - "core-js/features/math/expm1": [ - "es.math.expm1" - ], - "core-js/features/math/fround": [ - "es.math.fround" - ], - "core-js/features/math/fscale": [ - "esnext.math.fscale" - ], - "core-js/features/math/hypot": [ - "es.math.hypot" - ], - "core-js/features/math/iaddh": [ - "esnext.math.iaddh" - ], - "core-js/features/math/imul": [ - "es.math.imul" - ], - "core-js/features/math/imulh": [ - "esnext.math.imulh" - ], - "core-js/features/math": [ - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh" - ], - "core-js/features/math/isubh": [ - "esnext.math.isubh" - ], - "core-js/features/math/log10": [ - "es.math.log10" - ], - "core-js/features/math/log1p": [ - "es.math.log1p" - ], - "core-js/features/math/log2": [ - "es.math.log2" - ], - "core-js/features/math/rad-per-deg": [ - "esnext.math.rad-per-deg" - ], - "core-js/features/math/radians": [ - "esnext.math.radians" - ], - "core-js/features/math/scale": [ - "esnext.math.scale" - ], - "core-js/features/math/seeded-prng": [ - "esnext.math.seeded-prng" - ], - "core-js/features/math/sign": [ - "es.math.sign" - ], - "core-js/features/math/signbit": [ - "esnext.math.signbit" - ], - "core-js/features/math/sinh": [ - "es.math.sinh" - ], - "core-js/features/math/tanh": [ - "es.math.tanh" - ], - "core-js/features/math/to-string-tag": [ - "es.math.to-string-tag" - ], - "core-js/features/math/trunc": [ - "es.math.trunc" - ], - "core-js/features/math/umulh": [ - "esnext.math.umulh" - ], - "core-js/features/number/constructor": [ - "es.number.constructor" - ], - "core-js/features/number/epsilon": [ - "es.number.epsilon" - ], - "core-js/features/number/from-string": [ - "esnext.number.from-string" - ], - "core-js/features/number": [ - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "esnext.number.from-string" - ], - "core-js/features/number/is-finite": [ - "es.number.is-finite" - ], - "core-js/features/number/is-integer": [ - "es.number.is-integer" - ], - "core-js/features/number/is-nan": [ - "es.number.is-nan" - ], - "core-js/features/number/is-safe-integer": [ - "es.number.is-safe-integer" - ], - "core-js/features/number/max-safe-integer": [ - "es.number.max-safe-integer" - ], - "core-js/features/number/min-safe-integer": [ - "es.number.min-safe-integer" - ], - "core-js/features/number/parse-float": [ - "es.number.parse-float" - ], - "core-js/features/number/parse-int": [ - "es.number.parse-int" - ], - "core-js/features/number/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/features/number/to-precision": [ - "es.number.to-precision" - ], - "core-js/features/number/virtual": [ - "es.number.to-fixed", - "es.number.to-precision" - ], - "core-js/features/number/virtual/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/features/number/virtual/to-precision": [ - "es.number.to-precision" - ], - "core-js/features/object/assign": [ - "es.object.assign" - ], - "core-js/features/object/create": [ - "es.object.create" - ], - "core-js/features/object/define-getter": [ - "es.object.define-getter" - ], - "core-js/features/object/define-properties": [ - "es.object.define-properties" - ], - "core-js/features/object/define-property": [ - "es.object.define-property" - ], - "core-js/features/object/define-setter": [ - "es.object.define-setter" - ], - "core-js/features/object/entries": [ - "es.object.entries" - ], - "core-js/features/object/freeze": [ - "es.object.freeze" - ], - "core-js/features/object/from-entries": [ - "es.array.iterator", - "es.object.from-entries" - ], - "core-js/features/object/get-own-property-descriptor": [ - "es.object.get-own-property-descriptor" - ], - "core-js/features/object/get-own-property-descriptors": [ - "es.object.get-own-property-descriptors" - ], - "core-js/features/object/get-own-property-names": [ - "es.object.get-own-property-names" - ], - "core-js/features/object/get-own-property-symbols": [ - "es.symbol" - ], - "core-js/features/object/get-prototype-of": [ - "es.object.get-prototype-of" - ], - "core-js/features/object": [ - "es.symbol", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values" - ], - "core-js/features/object/is-extensible": [ - "es.object.is-extensible" - ], - "core-js/features/object/is-frozen": [ - "es.object.is-frozen" - ], - "core-js/features/object/is-sealed": [ - "es.object.is-sealed" - ], - "core-js/features/object/is": [ - "es.object.is" - ], - "core-js/features/object/keys": [ - "es.object.keys" - ], - "core-js/features/object/lookup-getter": [ - "es.object.lookup-setter" - ], - "core-js/features/object/lookup-setter": [ - "es.object.lookup-setter" - ], - "core-js/features/object/prevent-extensions": [ - "es.object.prevent-extensions" - ], - "core-js/features/object/seal": [ - "es.object.seal" - ], - "core-js/features/object/set-prototype-of": [ - "es.object.set-prototype-of" - ], - "core-js/features/object/to-string": [ - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/features/object/values": [ - "es.object.values" - ], - "core-js/features/observable": [ - "es.object.to-string", - "es.string.iterator", - "esnext.observable", - "esnext.symbol.observable", - "web.dom-collections.iterator" - ], - "core-js/features/parse-float": [ - "es.parse-float" - ], - "core-js/features/parse-int": [ - "es.parse-int" - ], - "core-js/features/promise/all-settled": [ - "es.promise", - "es.promise.all-settled", - "esnext.promise.all-settled" - ], - "core-js/features/promise/any": [ - "es.promise", - "esnext.aggregate-error", - "esnext.promise.any" - ], - "core-js/features/promise/finally": [ - "es.promise", - "es.promise.finally" - ], - "core-js/features/promise": [ - "es.object.to-string", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.string.iterator", - "esnext.aggregate-error", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "web.dom-collections.iterator" - ], - "core-js/features/promise/try": [ - "es.promise", - "esnext.promise.try" - ], - "core-js/features/queue-microtask": [ - "web.queue-microtask" - ], - "core-js/features/reflect/apply": [ - "es.reflect.apply" - ], - "core-js/features/reflect/construct": [ - "es.reflect.construct" - ], - "core-js/features/reflect/define-metadata": [ - "esnext.reflect.define-metadata" - ], - "core-js/features/reflect/define-property": [ - "es.reflect.define-property" - ], - "core-js/features/reflect/delete-metadata": [ - "esnext.reflect.delete-metadata" - ], - "core-js/features/reflect/delete-property": [ - "es.reflect.delete-property" - ], - "core-js/features/reflect/get-metadata-keys": [ - "esnext.reflect.get-metadata-keys" - ], - "core-js/features/reflect/get-metadata": [ - "esnext.reflect.get-metadata" - ], - "core-js/features/reflect/get-own-metadata-keys": [ - "esnext.reflect.get-own-metadata-keys" - ], - "core-js/features/reflect/get-own-metadata": [ - "esnext.reflect.get-own-metadata" - ], - "core-js/features/reflect/get-own-property-descriptor": [ - "es.reflect.get-own-property-descriptor" - ], - "core-js/features/reflect/get-prototype-of": [ - "es.reflect.get-prototype-of" - ], - "core-js/features/reflect/get": [ - "es.reflect.get" - ], - "core-js/features/reflect/has-metadata": [ - "esnext.reflect.has-metadata" - ], - "core-js/features/reflect/has-own-metadata": [ - "esnext.reflect.has-own-metadata" - ], - "core-js/features/reflect/has": [ - "es.reflect.has" - ], - "core-js/features/reflect": [ - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata" - ], - "core-js/features/reflect/is-extensible": [ - "es.reflect.is-extensible" - ], - "core-js/features/reflect/metadata": [ - "esnext.reflect.metadata" - ], - "core-js/features/reflect/own-keys": [ - "es.reflect.own-keys" - ], - "core-js/features/reflect/prevent-extensions": [ - "es.reflect.prevent-extensions" - ], - "core-js/features/reflect/set-prototype-of": [ - "es.reflect.set-prototype-of" - ], - "core-js/features/reflect/set": [ - "es.reflect.set" - ], - "core-js/features/regexp/constructor": [ - "es.regexp.constructor" - ], - "core-js/features/regexp/flags": [ - "es.regexp.flags" - ], - "core-js/features/regexp": [ - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.string.match", - "es.string.replace", - "es.string.search", - "es.string.split" - ], - "core-js/features/regexp/match": [ - "es.string.match" - ], - "core-js/features/regexp/replace": [ - "es.string.replace" - ], - "core-js/features/regexp/search": [ - "es.string.search" - ], - "core-js/features/regexp/split": [ - "es.string.split" - ], - "core-js/features/regexp/to-string": [ - "es.regexp.to-string" - ], - "core-js/features/set-immediate": [ - "web.immediate" - ], - "core-js/features/set-interval": [ - "web.timers" - ], - "core-js/features/set-timeout": [ - "web.timers" - ], - "core-js/features/set/add-all": [ - "es.set", - "esnext.set.add-all" - ], - "core-js/features/set/delete-all": [ - "es.set", - "esnext.set.delete-all" - ], - "core-js/features/set/difference": [ - "es.set", - "es.string.iterator", - "esnext.set.difference", - "web.dom-collections.iterator" - ], - "core-js/features/set/every": [ - "es.set", - "esnext.set.every" - ], - "core-js/features/set/filter": [ - "es.set", - "esnext.set.filter" - ], - "core-js/features/set/find": [ - "es.set", - "esnext.set.find" - ], - "core-js/features/set/from": [ - "es.set", - "es.string.iterator", - "esnext.set.from", - "web.dom-collections.iterator" - ], - "core-js/features/set": [ - "es.object.to-string", - "es.set", - "es.string.iterator", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "web.dom-collections.iterator" - ], - "core-js/features/set/intersection": [ - "es.set", - "esnext.set.intersection" - ], - "core-js/features/set/is-disjoint-from": [ - "es.set", - "esnext.set.is-disjoint-from" - ], - "core-js/features/set/is-subset-of": [ - "es.set", - "es.string.iterator", - "esnext.set.is-subset-of", - "web.dom-collections.iterator" - ], - "core-js/features/set/is-superset-of": [ - "es.set", - "esnext.set.is-superset-of" - ], - "core-js/features/set/join": [ - "es.set", - "esnext.set.join" - ], - "core-js/features/set/map": [ - "es.set", - "esnext.set.map" - ], - "core-js/features/set/of": [ - "es.set", - "es.string.iterator", - "esnext.set.of", - "web.dom-collections.iterator" - ], - "core-js/features/set/reduce": [ - "es.set", - "esnext.set.reduce" - ], - "core-js/features/set/some": [ - "es.set", - "esnext.set.some" - ], - "core-js/features/set/symmetric-difference": [ - "es.set", - "es.string.iterator", - "esnext.set.symmetric-difference", - "web.dom-collections.iterator" - ], - "core-js/features/set/union": [ - "es.set", - "es.string.iterator", - "esnext.set.union", - "web.dom-collections.iterator" - ], - "core-js/features/string/anchor": [ - "es.string.anchor" - ], - "core-js/features/string/at": [ - "esnext.string.at" - ], - "core-js/features/string/big": [ - "es.string.big" - ], - "core-js/features/string/blink": [ - "es.string.blink" - ], - "core-js/features/string/bold": [ - "es.string.bold" - ], - "core-js/features/string/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/features/string/code-points": [ - "esnext.string.code-points" - ], - "core-js/features/string/ends-with": [ - "es.string.ends-with" - ], - "core-js/features/string/fixed": [ - "es.string.fixed" - ], - "core-js/features/string/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/features/string/fontsize": [ - "es.string.fontsize" - ], - "core-js/features/string/from-code-point": [ - "es.string.from-code-point" - ], - "core-js/features/string/includes": [ - "es.string.includes" - ], - "core-js/features/string": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "esnext.string.at", - "esnext.string.match-all", - "esnext.string.replace-all" - ], - "core-js/features/string/italics": [ - "es.string.italics" - ], - "core-js/features/string/iterator": [ - "es.string.iterator" - ], - "core-js/features/string/link": [ - "es.string.link" - ], - "core-js/features/string/match-all": [ - "es.string.match-all", - "esnext.string.match-all" - ], - "core-js/features/string/match": [ - "es.string.match" - ], - "core-js/features/string/pad-end": [ - "es.string.pad-end" - ], - "core-js/features/string/pad-start": [ - "es.string.pad-start" - ], - "core-js/features/string/raw": [ - "es.string.raw" - ], - "core-js/features/string/repeat": [ - "es.string.repeat" - ], - "core-js/features/string/replace-all": [ - "esnext.string.replace-all" - ], - "core-js/features/string/replace": [ - "es.string.replace" - ], - "core-js/features/string/search": [ - "es.string.search" - ], - "core-js/features/string/small": [ - "es.string.small" - ], - "core-js/features/string/split": [ - "es.string.split" - ], - "core-js/features/string/starts-with": [ - "es.string.starts-with" - ], - "core-js/features/string/strike": [ - "es.string.strike" - ], - "core-js/features/string/sub": [ - "es.string.sub" - ], - "core-js/features/string/sup": [ - "es.string.sup" - ], - "core-js/features/string/trim-end": [ - "es.string.trim-end" - ], - "core-js/features/string/trim-left": [ - "es.string.trim-start" - ], - "core-js/features/string/trim-right": [ - "es.string.trim-end" - ], - "core-js/features/string/trim-start": [ - "es.string.trim-start" - ], - "core-js/features/string/trim": [ - "es.string.trim" - ], - "core-js/features/string/virtual/anchor": [ - "es.string.anchor" - ], - "core-js/features/string/virtual/at": [ - "esnext.string.at" - ], - "core-js/features/string/virtual/big": [ - "es.string.big" - ], - "core-js/features/string/virtual/blink": [ - "es.string.blink" - ], - "core-js/features/string/virtual/bold": [ - "es.string.bold" - ], - "core-js/features/string/virtual/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/features/string/virtual/code-points": [ - "esnext.string.code-points" - ], - "core-js/features/string/virtual/ends-with": [ - "es.string.ends-with" - ], - "core-js/features/string/virtual/fixed": [ - "es.string.fixed" - ], - "core-js/features/string/virtual/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/features/string/virtual/fontsize": [ - "es.string.fontsize" - ], - "core-js/features/string/virtual/includes": [ - "es.string.includes" - ], - "core-js/features/string/virtual": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "esnext.string.at", - "esnext.string.match-all", - "esnext.string.replace-all" - ], - "core-js/features/string/virtual/italics": [ - "es.string.italics" - ], - "core-js/features/string/virtual/iterator": [ - "es.string.iterator" - ], - "core-js/features/string/virtual/link": [ - "es.string.link" - ], - "core-js/features/string/virtual/match-all": [ - "es.string.match-all", - "esnext.string.match-all" - ], - "core-js/features/string/virtual/pad-end": [ - "es.string.pad-end" - ], - "core-js/features/string/virtual/pad-start": [ - "es.string.pad-start" - ], - "core-js/features/string/virtual/repeat": [ - "es.string.repeat" - ], - "core-js/features/string/virtual/replace-all": [ - "esnext.string.replace-all" - ], - "core-js/features/string/virtual/small": [ - "es.string.small" - ], - "core-js/features/string/virtual/starts-with": [ - "es.string.starts-with" - ], - "core-js/features/string/virtual/strike": [ - "es.string.strike" - ], - "core-js/features/string/virtual/sub": [ - "es.string.sub" - ], - "core-js/features/string/virtual/sup": [ - "es.string.sup" - ], - "core-js/features/string/virtual/trim-end": [ - "es.string.trim-end" - ], - "core-js/features/string/virtual/trim-left": [ - "es.string.trim-start" - ], - "core-js/features/string/virtual/trim-right": [ - "es.string.trim-end" - ], - "core-js/features/string/virtual/trim-start": [ - "es.string.trim-start" - ], - "core-js/features/string/virtual/trim": [ - "es.string.trim" - ], - "core-js/features/symbol/async-dispose": [ - "esnext.symbol.async-dispose" - ], - "core-js/features/symbol/async-iterator": [ - "es.symbol.async-iterator" - ], - "core-js/features/symbol/description": [ - "es.symbol.description" - ], - "core-js/features/symbol/dispose": [ - "esnext.symbol.dispose" - ], - "core-js/features/symbol/for": [ - "es.symbol" - ], - "core-js/features/symbol/has-instance": [ - "es.symbol.has-instance", - "es.function.has-instance" - ], - "core-js/features/symbol": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all" - ], - "core-js/features/symbol/is-concat-spreadable": [ - "es.symbol.is-concat-spreadable", - "es.array.concat" - ], - "core-js/features/symbol/iterator": [ - "es.symbol.iterator", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/features/symbol/key-for": [ - "es.symbol" - ], - "core-js/features/symbol/match-all": [ - "es.symbol.match-all", - "es.string.match-all" - ], - "core-js/features/symbol/match": [ - "es.symbol.match", - "es.string.match" - ], - "core-js/features/symbol/observable": [ - "esnext.symbol.observable" - ], - "core-js/features/symbol/pattern-match": [ - "esnext.symbol.pattern-match" - ], - "core-js/features/symbol/replace-all": [ - "esnext.symbol.replace-all" - ], - "core-js/features/symbol/replace": [ - "es.symbol.replace", - "es.string.replace" - ], - "core-js/features/symbol/search": [ - "es.symbol.search", - "es.string.search" - ], - "core-js/features/symbol/species": [ - "es.symbol.species" - ], - "core-js/features/symbol/split": [ - "es.symbol.split", - "es.string.split" - ], - "core-js/features/symbol/to-primitive": [ - "es.symbol.to-primitive" - ], - "core-js/features/symbol/to-string-tag": [ - "es.symbol.to-string-tag", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/features/symbol/unscopables": [ - "es.symbol.unscopables" - ], - "core-js/features/typed-array/copy-within": [ - "es.typed-array.copy-within" - ], - "core-js/features/typed-array/entries": [ - "es.typed-array.iterator" - ], - "core-js/features/typed-array/every": [ - "es.typed-array.every" - ], - "core-js/features/typed-array/fill": [ - "es.typed-array.fill" - ], - "core-js/features/typed-array/filter": [ - "es.typed-array.filter" - ], - "core-js/features/typed-array/find-index": [ - "es.typed-array.find-index" - ], - "core-js/features/typed-array/find": [ - "es.typed-array.find" - ], - "core-js/features/typed-array/float32-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/float64-array": [ - "es.object.to-string", - "es.typed-array.float64-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/for-each": [ - "es.typed-array.for-each" - ], - "core-js/features/typed-array/from": [ - "es.typed-array.from" - ], - "core-js/features/typed-array/includes": [ - "es.typed-array.includes" - ], - "core-js/features/typed-array/index-of": [ - "es.typed-array.index-of" - ], - "core-js/features/typed-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/int16-array": [ - "es.object.to-string", - "es.typed-array.int16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/int32-array": [ - "es.object.to-string", - "es.typed-array.int32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/int8-array": [ - "es.object.to-string", - "es.typed-array.int8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/iterator": [ - "es.typed-array.iterator" - ], - "core-js/features/typed-array/join": [ - "es.typed-array.join" - ], - "core-js/features/typed-array/keys": [ - "es.typed-array.iterator" - ], - "core-js/features/typed-array/last-index-of": [ - "es.typed-array.last-index-of" - ], - "core-js/features/typed-array/map": [ - "es.typed-array.map" - ], - "core-js/features/typed-array/of": [ - "es.typed-array.of" - ], - "core-js/features/typed-array/reduce-right": [ - "es.typed-array.reduce-right" - ], - "core-js/features/typed-array/reduce": [ - "es.typed-array.reduce" - ], - "core-js/features/typed-array/reverse": [ - "es.typed-array.reverse" - ], - "core-js/features/typed-array/set": [ - "es.typed-array.set" - ], - "core-js/features/typed-array/slice": [ - "es.typed-array.slice" - ], - "core-js/features/typed-array/some": [ - "es.typed-array.some" - ], - "core-js/features/typed-array/sort": [ - "es.typed-array.sort" - ], - "core-js/features/typed-array/subarray": [ - "es.typed-array.subarray" - ], - "core-js/features/typed-array/to-locale-string": [ - "es.typed-array.to-locale-string" - ], - "core-js/features/typed-array/to-string": [ - "es.typed-array.to-string" - ], - "core-js/features/typed-array/uint16-array": [ - "es.object.to-string", - "es.typed-array.uint16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/uint32-array": [ - "es.object.to-string", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/uint8-array": [ - "es.object.to-string", - "es.typed-array.uint8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/uint8-clamped-array": [ - "es.object.to-string", - "es.typed-array.uint8-clamped-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/features/typed-array/values": [ - "es.typed-array.iterator" - ], - "core-js/features/url-search-params": [ - "web.url-search-params" - ], - "core-js/features/url": [ - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/features/url/to-json": [ - "web.url.to-json" - ], - "core-js/features/weak-map/delete-all": [ - "es.weak-map", - "esnext.weak-map.delete-all" - ], - "core-js/features/weak-map/from": [ - "es.string.iterator", - "es.weak-map", - "esnext.weak-map.from", - "web.dom-collections.iterator" - ], - "core-js/features/weak-map": [ - "es.object.to-string", - "es.weak-map", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "web.dom-collections.iterator" - ], - "core-js/features/weak-map/of": [ - "es.string.iterator", - "es.weak-map", - "esnext.weak-map.of", - "web.dom-collections.iterator" - ], - "core-js/features/weak-map/upsert": [ - "es.weak-map", - "esnext.weak-map.upsert" - ], - "core-js/features/weak-set/add-all": [ - "es.weak-set", - "esnext.weak-set.add-all" - ], - "core-js/features/weak-set/delete-all": [ - "es.weak-set", - "esnext.weak-set.delete-all" - ], - "core-js/features/weak-set/from": [ - "es.string.iterator", - "es.weak-set", - "esnext.weak-set.from", - "web.dom-collections.iterator" - ], - "core-js/features/weak-set": [ - "es.object.to-string", - "es.weak-set", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.dom-collections.iterator" - ], - "core-js/features/weak-set/of": [ - "es.string.iterator", - "es.weak-set", - "esnext.weak-set.of", - "web.dom-collections.iterator" - ], - "core-js/proposals/array-is-template-object": [ - "esnext.array.is-template-object" - ], - "core-js/proposals/array-last": [ - "esnext.array.last-index", - "esnext.array.last-item" - ], - "core-js/proposals/collection-methods": [ - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.join", - "esnext.set.map", - "esnext.set.reduce", - "esnext.set.some", - "esnext.weak-map.delete-all", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all" - ], - "core-js/proposals/collection-of-from": [ - "esnext.map.from", - "esnext.map.of", - "esnext.set.from", - "esnext.set.of", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-set.from", - "esnext.weak-set.of" - ], - "core-js/proposals/efficient-64-bit-arithmetic": [ - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.umulh" - ], - "core-js/proposals/global-this": [ - "esnext.global-this" - ], - "core-js/proposals": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/proposals/iterator-helpers": [ - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array" - ], - "core-js/proposals/keys-composition": [ - "esnext.composite-key", - "esnext.composite-symbol" - ], - "core-js/proposals/map-update-or-insert": [ - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.weak-map.upsert" - ], - "core-js/proposals/map-upsert": [ - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.weak-map.upsert" - ], - "core-js/proposals/math-extensions": [ - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale" - ], - "core-js/proposals/math-signbit": [ - "esnext.math.signbit" - ], - "core-js/proposals/number-from-string": [ - "esnext.number.from-string" - ], - "core-js/proposals/observable": [ - "esnext.observable", - "esnext.symbol.observable" - ], - "core-js/proposals/pattern-matching": [ - "esnext.symbol.pattern-match" - ], - "core-js/proposals/promise-all-settled": [ - "esnext.promise.all-settled" - ], - "core-js/proposals/promise-any": [ - "esnext.aggregate-error", - "esnext.promise.any" - ], - "core-js/proposals/promise-try": [ - "esnext.promise.try" - ], - "core-js/proposals/reflect-metadata": [ - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata" - ], - "core-js/proposals/seeded-random": [ - "esnext.math.seeded-prng" - ], - "core-js/proposals/set-methods": [ - "esnext.set.difference", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.symmetric-difference", - "esnext.set.union" - ], - "core-js/proposals/string-at": [ - "esnext.string.at" - ], - "core-js/proposals/string-code-points": [ - "esnext.string.code-points" - ], - "core-js/proposals/string-match-all": [ - "esnext.string.match-all" - ], - "core-js/proposals/string-replace-all": [ - "esnext.string.replace-all", - "esnext.symbol.replace-all" - ], - "core-js/proposals/url": [ - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/proposals/using-statement": [ - "esnext.symbol.async-dispose", - "esnext.symbol.dispose" - ], - "core-js/stable/array-buffer/constructor": [ - "es.array-buffer.constructor", - "es.object.to-string" - ], - "core-js/stable/array-buffer": [ - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.object.to-string" - ], - "core-js/stable/array-buffer/is-view": [ - "es.array-buffer.is-view" - ], - "core-js/stable/array-buffer/slice": [ - "es.array-buffer.slice" - ], - "core-js/stable/array/concat": [ - "es.array.concat" - ], - "core-js/stable/array/copy-within": [ - "es.array.copy-within" - ], - "core-js/stable/array/entries": [ - "es.array.iterator" - ], - "core-js/stable/array/every": [ - "es.array.every" - ], - "core-js/stable/array/fill": [ - "es.array.fill" - ], - "core-js/stable/array/filter": [ - "es.array.filter" - ], - "core-js/stable/array/find-index": [ - "es.array.find-index" - ], - "core-js/stable/array/find": [ - "es.array.find" - ], - "core-js/stable/array/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/stable/array/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/stable/array/for-each": [ - "es.array.for-each" - ], - "core-js/stable/array/from": [ - "es.array.from", - "es.string.iterator" - ], - "core-js/stable/array/includes": [ - "es.array.includes" - ], - "core-js/stable/array/index-of": [ - "es.array.index-of" - ], - "core-js/stable/array": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.string.iterator" - ], - "core-js/stable/array/is-array": [ - "es.array.is-array" - ], - "core-js/stable/array/iterator": [ - "es.array.iterator" - ], - "core-js/stable/array/join": [ - "es.array.join" - ], - "core-js/stable/array/keys": [ - "es.array.iterator" - ], - "core-js/stable/array/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/stable/array/map": [ - "es.array.map" - ], - "core-js/stable/array/of": [ - "es.array.of" - ], - "core-js/stable/array/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/stable/array/reduce": [ - "es.array.reduce" - ], - "core-js/stable/array/reverse": [ - "es.array.reverse" - ], - "core-js/stable/array/slice": [ - "es.array.slice" - ], - "core-js/stable/array/some": [ - "es.array.some" - ], - "core-js/stable/array/sort": [ - "es.array.sort" - ], - "core-js/stable/array/splice": [ - "es.array.splice" - ], - "core-js/stable/array/values": [ - "es.array.iterator" - ], - "core-js/stable/array/virtual/concat": [ - "es.array.concat" - ], - "core-js/stable/array/virtual/copy-within": [ - "es.array.copy-within" - ], - "core-js/stable/array/virtual/entries": [ - "es.array.iterator" - ], - "core-js/stable/array/virtual/every": [ - "es.array.every" - ], - "core-js/stable/array/virtual/fill": [ - "es.array.fill" - ], - "core-js/stable/array/virtual/filter": [ - "es.array.filter" - ], - "core-js/stable/array/virtual/find-index": [ - "es.array.find-index" - ], - "core-js/stable/array/virtual/find": [ - "es.array.find" - ], - "core-js/stable/array/virtual/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/stable/array/virtual/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/stable/array/virtual/for-each": [ - "es.array.for-each" - ], - "core-js/stable/array/virtual/includes": [ - "es.array.includes" - ], - "core-js/stable/array/virtual/index-of": [ - "es.array.index-of" - ], - "core-js/stable/array/virtual": [ - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.includes", - "es.array.index-of", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map" - ], - "core-js/stable/array/virtual/iterator": [ - "es.array.iterator" - ], - "core-js/stable/array/virtual/join": [ - "es.array.join" - ], - "core-js/stable/array/virtual/keys": [ - "es.array.iterator" - ], - "core-js/stable/array/virtual/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/stable/array/virtual/map": [ - "es.array.map" - ], - "core-js/stable/array/virtual/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/stable/array/virtual/reduce": [ - "es.array.reduce" - ], - "core-js/stable/array/virtual/reverse": [ - "es.array.reverse" - ], - "core-js/stable/array/virtual/slice": [ - "es.array.slice" - ], - "core-js/stable/array/virtual/some": [ - "es.array.some" - ], - "core-js/stable/array/virtual/sort": [ - "es.array.sort" - ], - "core-js/stable/array/virtual/splice": [ - "es.array.splice" - ], - "core-js/stable/array/virtual/values": [ - "es.array.iterator" - ], - "core-js/stable/clear-immediate": [ - "web.immediate" - ], - "core-js/stable/data-view": [ - "es.data-view", - "es.object.to-string" - ], - "core-js/stable/date": [ - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string" - ], - "core-js/stable/date/now": [ - "es.date.now" - ], - "core-js/stable/date/to-iso-string": [ - "es.date.to-iso-string", - "es.date.to-json" - ], - "core-js/stable/date/to-json": [ - "es.date.to-json" - ], - "core-js/stable/date/to-primitive": [ - "es.date.to-primitive" - ], - "core-js/stable/date/to-string": [ - "es.date.to-string" - ], - "core-js/stable/dom-collections/for-each": [ - "web.dom-collections.for-each" - ], - "core-js/stable/dom-collections": [ - "es.array.iterator", - "web.dom-collections.for-each", - "web.dom-collections.iterator" - ], - "core-js/stable/dom-collections/iterator": [ - "web.dom-collections.iterator" - ], - "core-js/stable/function/bind": [ - "es.function.bind" - ], - "core-js/stable/function/has-instance": [ - "es.function.has-instance" - ], - "core-js/stable/function": [ - "es.function.bind", - "es.function.has-instance", - "es.function.name" - ], - "core-js/stable/function/name": [ - "es.function.name" - ], - "core-js/stable/function/virtual/bind": [ - "es.function.bind" - ], - "core-js/stable/function/virtual": [ - "es.function.bind" - ], - "core-js/stable/global-this": [ - "es.global-this" - ], - "core-js/stable": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.data-view", - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string", - "es.function.bind", - "es.function.has-instance", - "es.function.name", - "es.global-this", - "es.json.to-string-tag", - "es.map", - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values", - "es.parse-float", - "es.parse-int", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.set", - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string", - "es.weak-map", - "es.weak-set", - "web.dom-collections.for-each", - "web.dom-collections.iterator", - "web.immediate", - "web.queue-microtask", - "web.timers", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/stable/instance/bind": [ - "es.function.bind" - ], - "core-js/stable/instance/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/stable/instance/concat": [ - "es.array.concat" - ], - "core-js/stable/instance/copy-within": [ - "es.array.copy-within" - ], - "core-js/stable/instance/ends-with": [ - "es.string.ends-with" - ], - "core-js/stable/instance/entries": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/instance/every": [ - "es.array.every" - ], - "core-js/stable/instance/fill": [ - "es.array.fill" - ], - "core-js/stable/instance/filter": [ - "es.array.filter" - ], - "core-js/stable/instance/find-index": [ - "es.array.find-index" - ], - "core-js/stable/instance/find": [ - "es.array.find" - ], - "core-js/stable/instance/flags": [ - "es.regexp.flags" - ], - "core-js/stable/instance/flat-map": [ - "es.array.flat-map", - "es.array.unscopables.flat-map" - ], - "core-js/stable/instance/flat": [ - "es.array.flat", - "es.array.unscopables.flat" - ], - "core-js/stable/instance/for-each": [ - "es.array.for-each", - "web.dom-collections.iterator" - ], - "core-js/stable/instance/includes": [ - "es.array.includes", - "es.string.includes" - ], - "core-js/stable/instance/index-of": [ - "es.array.index-of" - ], - "core-js/stable/instance/keys": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/instance/last-index-of": [ - "es.array.last-index-of" - ], - "core-js/stable/instance/map": [ - "es.array.map" - ], - "core-js/stable/instance/match-all": [ - "es.string.match-all" - ], - "core-js/stable/instance/pad-end": [ - "es.string.pad-end" - ], - "core-js/stable/instance/pad-start": [ - "es.string.pad-start" - ], - "core-js/stable/instance/reduce-right": [ - "es.array.reduce-right" - ], - "core-js/stable/instance/reduce": [ - "es.array.reduce" - ], - "core-js/stable/instance/repeat": [ - "es.string.repeat" - ], - "core-js/stable/instance/reverse": [ - "es.array.reverse" - ], - "core-js/stable/instance/slice": [ - "es.array.slice" - ], - "core-js/stable/instance/some": [ - "es.array.some" - ], - "core-js/stable/instance/sort": [ - "es.array.sort" - ], - "core-js/stable/instance/splice": [ - "es.array.splice" - ], - "core-js/stable/instance/starts-with": [ - "es.string.starts-with" - ], - "core-js/stable/instance/trim-end": [ - "es.string.trim-end" - ], - "core-js/stable/instance/trim-left": [ - "es.string.trim-start" - ], - "core-js/stable/instance/trim-right": [ - "es.string.trim-end" - ], - "core-js/stable/instance/trim-start": [ - "es.string.trim-start" - ], - "core-js/stable/instance/trim": [ - "es.string.trim" - ], - "core-js/stable/instance/values": [ - "es.array.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/json": [ - "es.json.to-string-tag" - ], - "core-js/stable/json/stringify": [ - "es.json.stringify" - ], - "core-js/stable/json/to-string-tag": [ - "es.json.to-string-tag" - ], - "core-js/stable/map": [ - "es.map", - "es.object.to-string", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/math/acosh": [ - "es.math.acosh" - ], - "core-js/stable/math/asinh": [ - "es.math.asinh" - ], - "core-js/stable/math/atanh": [ - "es.math.atanh" - ], - "core-js/stable/math/cbrt": [ - "es.math.cbrt" - ], - "core-js/stable/math/clz32": [ - "es.math.clz32" - ], - "core-js/stable/math/cosh": [ - "es.math.cosh" - ], - "core-js/stable/math/expm1": [ - "es.math.expm1" - ], - "core-js/stable/math/fround": [ - "es.math.fround" - ], - "core-js/stable/math/hypot": [ - "es.math.hypot" - ], - "core-js/stable/math/imul": [ - "es.math.imul" - ], - "core-js/stable/math": [ - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc" - ], - "core-js/stable/math/log10": [ - "es.math.log10" - ], - "core-js/stable/math/log1p": [ - "es.math.log1p" - ], - "core-js/stable/math/log2": [ - "es.math.log2" - ], - "core-js/stable/math/sign": [ - "es.math.sign" - ], - "core-js/stable/math/sinh": [ - "es.math.sinh" - ], - "core-js/stable/math/tanh": [ - "es.math.tanh" - ], - "core-js/stable/math/to-string-tag": [ - "es.math.to-string-tag" - ], - "core-js/stable/math/trunc": [ - "es.math.trunc" - ], - "core-js/stable/number/constructor": [ - "es.number.constructor" - ], - "core-js/stable/number/epsilon": [ - "es.number.epsilon" - ], - "core-js/stable/number": [ - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision" - ], - "core-js/stable/number/is-finite": [ - "es.number.is-finite" - ], - "core-js/stable/number/is-integer": [ - "es.number.is-integer" - ], - "core-js/stable/number/is-nan": [ - "es.number.is-nan" - ], - "core-js/stable/number/is-safe-integer": [ - "es.number.is-safe-integer" - ], - "core-js/stable/number/max-safe-integer": [ - "es.number.max-safe-integer" - ], - "core-js/stable/number/min-safe-integer": [ - "es.number.min-safe-integer" - ], - "core-js/stable/number/parse-float": [ - "es.number.parse-float" - ], - "core-js/stable/number/parse-int": [ - "es.number.parse-int" - ], - "core-js/stable/number/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/stable/number/to-precision": [ - "es.number.to-precision" - ], - "core-js/stable/number/virtual": [ - "es.number.to-fixed", - "es.number.to-precision" - ], - "core-js/stable/number/virtual/to-fixed": [ - "es.number.to-fixed" - ], - "core-js/stable/number/virtual/to-precision": [ - "es.number.to-precision" - ], - "core-js/stable/object/assign": [ - "es.object.assign" - ], - "core-js/stable/object/create": [ - "es.object.create" - ], - "core-js/stable/object/define-getter": [ - "es.object.define-getter" - ], - "core-js/stable/object/define-properties": [ - "es.object.define-properties" - ], - "core-js/stable/object/define-property": [ - "es.object.define-property" - ], - "core-js/stable/object/define-setter": [ - "es.object.define-setter" - ], - "core-js/stable/object/entries": [ - "es.object.entries" - ], - "core-js/stable/object/freeze": [ - "es.object.freeze" - ], - "core-js/stable/object/from-entries": [ - "es.array.iterator", - "es.object.from-entries" - ], - "core-js/stable/object/get-own-property-descriptor": [ - "es.object.get-own-property-descriptor" - ], - "core-js/stable/object/get-own-property-descriptors": [ - "es.object.get-own-property-descriptors" - ], - "core-js/stable/object/get-own-property-names": [ - "es.object.get-own-property-names" - ], - "core-js/stable/object/get-own-property-symbols": [ - "es.symbol" - ], - "core-js/stable/object/get-prototype-of": [ - "es.object.get-prototype-of" - ], - "core-js/stable/object": [ - "es.symbol", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values" - ], - "core-js/stable/object/is-extensible": [ - "es.object.is-extensible" - ], - "core-js/stable/object/is-frozen": [ - "es.object.is-frozen" - ], - "core-js/stable/object/is-sealed": [ - "es.object.is-sealed" - ], - "core-js/stable/object/is": [ - "es.object.is" - ], - "core-js/stable/object/keys": [ - "es.object.keys" - ], - "core-js/stable/object/lookup-getter": [ - "es.object.lookup-setter" - ], - "core-js/stable/object/lookup-setter": [ - "es.object.lookup-setter" - ], - "core-js/stable/object/prevent-extensions": [ - "es.object.prevent-extensions" - ], - "core-js/stable/object/seal": [ - "es.object.seal" - ], - "core-js/stable/object/set-prototype-of": [ - "es.object.set-prototype-of" - ], - "core-js/stable/object/to-string": [ - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/stable/object/values": [ - "es.object.values" - ], - "core-js/stable/parse-float": [ - "es.parse-float" - ], - "core-js/stable/parse-int": [ - "es.parse-int" - ], - "core-js/stable/promise/all-settled": [ - "es.promise", - "es.promise.all-settled" - ], - "core-js/stable/promise/finally": [ - "es.promise", - "es.promise.finally" - ], - "core-js/stable/promise": [ - "es.object.to-string", - "es.promise", - "es.promise.all-settled", - "es.promise.finally", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/queue-microtask": [ - "web.queue-microtask" - ], - "core-js/stable/reflect/apply": [ - "es.reflect.apply" - ], - "core-js/stable/reflect/construct": [ - "es.reflect.construct" - ], - "core-js/stable/reflect/define-property": [ - "es.reflect.define-property" - ], - "core-js/stable/reflect/delete-property": [ - "es.reflect.delete-property" - ], - "core-js/stable/reflect/get-own-property-descriptor": [ - "es.reflect.get-own-property-descriptor" - ], - "core-js/stable/reflect/get-prototype-of": [ - "es.reflect.get-prototype-of" - ], - "core-js/stable/reflect/get": [ - "es.reflect.get" - ], - "core-js/stable/reflect/has": [ - "es.reflect.has" - ], - "core-js/stable/reflect": [ - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of" - ], - "core-js/stable/reflect/is-extensible": [ - "es.reflect.is-extensible" - ], - "core-js/stable/reflect/own-keys": [ - "es.reflect.own-keys" - ], - "core-js/stable/reflect/prevent-extensions": [ - "es.reflect.prevent-extensions" - ], - "core-js/stable/reflect/set-prototype-of": [ - "es.reflect.set-prototype-of" - ], - "core-js/stable/reflect/set": [ - "es.reflect.set" - ], - "core-js/stable/regexp/constructor": [ - "es.regexp.constructor" - ], - "core-js/stable/regexp/flags": [ - "es.regexp.flags" - ], - "core-js/stable/regexp": [ - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.string.match", - "es.string.replace", - "es.string.search", - "es.string.split" - ], - "core-js/stable/regexp/match": [ - "es.string.match" - ], - "core-js/stable/regexp/replace": [ - "es.string.replace" - ], - "core-js/stable/regexp/search": [ - "es.string.search" - ], - "core-js/stable/regexp/split": [ - "es.string.split" - ], - "core-js/stable/regexp/to-string": [ - "es.regexp.to-string" - ], - "core-js/stable/set-immediate": [ - "web.immediate" - ], - "core-js/stable/set-interval": [ - "web.timers" - ], - "core-js/stable/set-timeout": [ - "web.timers" - ], - "core-js/stable/set": [ - "es.object.to-string", - "es.set", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/string/anchor": [ - "es.string.anchor" - ], - "core-js/stable/string/big": [ - "es.string.big" - ], - "core-js/stable/string/blink": [ - "es.string.blink" - ], - "core-js/stable/string/bold": [ - "es.string.bold" - ], - "core-js/stable/string/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/stable/string/ends-with": [ - "es.string.ends-with" - ], - "core-js/stable/string/fixed": [ - "es.string.fixed" - ], - "core-js/stable/string/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/stable/string/fontsize": [ - "es.string.fontsize" - ], - "core-js/stable/string/from-code-point": [ - "es.string.from-code-point" - ], - "core-js/stable/string/includes": [ - "es.string.includes" - ], - "core-js/stable/string": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup" - ], - "core-js/stable/string/italics": [ - "es.string.italics" - ], - "core-js/stable/string/iterator": [ - "es.string.iterator" - ], - "core-js/stable/string/link": [ - "es.string.link" - ], - "core-js/stable/string/match-all": [ - "es.string.match-all" - ], - "core-js/stable/string/match": [ - "es.string.match" - ], - "core-js/stable/string/pad-end": [ - "es.string.pad-end" - ], - "core-js/stable/string/pad-start": [ - "es.string.pad-start" - ], - "core-js/stable/string/raw": [ - "es.string.raw" - ], - "core-js/stable/string/repeat": [ - "es.string.repeat" - ], - "core-js/stable/string/replace": [ - "es.string.replace" - ], - "core-js/stable/string/search": [ - "es.string.search" - ], - "core-js/stable/string/small": [ - "es.string.small" - ], - "core-js/stable/string/split": [ - "es.string.split" - ], - "core-js/stable/string/starts-with": [ - "es.string.starts-with" - ], - "core-js/stable/string/strike": [ - "es.string.strike" - ], - "core-js/stable/string/sub": [ - "es.string.sub" - ], - "core-js/stable/string/sup": [ - "es.string.sup" - ], - "core-js/stable/string/trim-end": [ - "es.string.trim-end" - ], - "core-js/stable/string/trim-left": [ - "es.string.trim-start" - ], - "core-js/stable/string/trim-right": [ - "es.string.trim-end" - ], - "core-js/stable/string/trim-start": [ - "es.string.trim-start" - ], - "core-js/stable/string/trim": [ - "es.string.trim" - ], - "core-js/stable/string/virtual/anchor": [ - "es.string.anchor" - ], - "core-js/stable/string/virtual/big": [ - "es.string.big" - ], - "core-js/stable/string/virtual/blink": [ - "es.string.blink" - ], - "core-js/stable/string/virtual/bold": [ - "es.string.bold" - ], - "core-js/stable/string/virtual/code-point-at": [ - "es.string.code-point-at" - ], - "core-js/stable/string/virtual/ends-with": [ - "es.string.ends-with" - ], - "core-js/stable/string/virtual/fixed": [ - "es.string.fixed" - ], - "core-js/stable/string/virtual/fontcolor": [ - "es.string.fontcolor" - ], - "core-js/stable/string/virtual/fontsize": [ - "es.string.fontsize" - ], - "core-js/stable/string/virtual/includes": [ - "es.string.includes" - ], - "core-js/stable/string/virtual": [ - "es.string.code-point-at", - "es.string.ends-with", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.match-all", - "es.string.pad-end", - "es.string.pad-start", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup" - ], - "core-js/stable/string/virtual/italics": [ - "es.string.italics" - ], - "core-js/stable/string/virtual/iterator": [ - "es.string.iterator" - ], - "core-js/stable/string/virtual/link": [ - "es.string.link" - ], - "core-js/stable/string/virtual/match-all": [ - "es.string.match-all" - ], - "core-js/stable/string/virtual/pad-end": [ - "es.string.pad-end" - ], - "core-js/stable/string/virtual/pad-start": [ - "es.string.pad-start" - ], - "core-js/stable/string/virtual/repeat": [ - "es.string.repeat" - ], - "core-js/stable/string/virtual/small": [ - "es.string.small" - ], - "core-js/stable/string/virtual/starts-with": [ - "es.string.starts-with" - ], - "core-js/stable/string/virtual/strike": [ - "es.string.strike" - ], - "core-js/stable/string/virtual/sub": [ - "es.string.sub" - ], - "core-js/stable/string/virtual/sup": [ - "es.string.sup" - ], - "core-js/stable/string/virtual/trim-end": [ - "es.string.trim-end" - ], - "core-js/stable/string/virtual/trim-left": [ - "es.string.trim-start" - ], - "core-js/stable/string/virtual/trim-right": [ - "es.string.trim-end" - ], - "core-js/stable/string/virtual/trim-start": [ - "es.string.trim-start" - ], - "core-js/stable/string/virtual/trim": [ - "es.string.trim" - ], - "core-js/stable/symbol/async-iterator": [ - "es.symbol.async-iterator" - ], - "core-js/stable/symbol/description": [ - "es.symbol.description" - ], - "core-js/stable/symbol/for": [ - "es.symbol" - ], - "core-js/stable/symbol/has-instance": [ - "es.symbol.has-instance", - "es.function.has-instance" - ], - "core-js/stable/symbol": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.match-all", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/stable/symbol/is-concat-spreadable": [ - "es.symbol.is-concat-spreadable", - "es.array.concat" - ], - "core-js/stable/symbol/iterator": [ - "es.symbol.iterator", - "es.string.iterator", - "web.dom-collections.iterator" - ], - "core-js/stable/symbol/key-for": [ - "es.symbol" - ], - "core-js/stable/symbol/match-all": [ - "es.symbol.match-all", - "es.string.match-all" - ], - "core-js/stable/symbol/match": [ - "es.symbol.match", - "es.string.match" - ], - "core-js/stable/symbol/replace": [ - "es.symbol.replace", - "es.string.replace" - ], - "core-js/stable/symbol/search": [ - "es.symbol.search", - "es.string.search" - ], - "core-js/stable/symbol/species": [ - "es.symbol.species" - ], - "core-js/stable/symbol/split": [ - "es.symbol.split", - "es.string.split" - ], - "core-js/stable/symbol/to-primitive": [ - "es.symbol.to-primitive" - ], - "core-js/stable/symbol/to-string-tag": [ - "es.symbol.to-string-tag", - "es.json.to-string-tag", - "es.math.to-string-tag", - "es.object.to-string" - ], - "core-js/stable/symbol/unscopables": [ - "es.symbol.unscopables" - ], - "core-js/stable/typed-array/copy-within": [ - "es.typed-array.copy-within" - ], - "core-js/stable/typed-array/entries": [ - "es.typed-array.iterator" - ], - "core-js/stable/typed-array/every": [ - "es.typed-array.every" - ], - "core-js/stable/typed-array/fill": [ - "es.typed-array.fill" - ], - "core-js/stable/typed-array/filter": [ - "es.typed-array.filter" - ], - "core-js/stable/typed-array/find-index": [ - "es.typed-array.find-index" - ], - "core-js/stable/typed-array/find": [ - "es.typed-array.find" - ], - "core-js/stable/typed-array/float32-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/float64-array": [ - "es.object.to-string", - "es.typed-array.float64-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/for-each": [ - "es.typed-array.for-each" - ], - "core-js/stable/typed-array/from": [ - "es.typed-array.from" - ], - "core-js/stable/typed-array/includes": [ - "es.typed-array.includes" - ], - "core-js/stable/typed-array/index-of": [ - "es.typed-array.index-of" - ], - "core-js/stable/typed-array": [ - "es.object.to-string", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/int16-array": [ - "es.object.to-string", - "es.typed-array.int16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/int32-array": [ - "es.object.to-string", - "es.typed-array.int32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/int8-array": [ - "es.object.to-string", - "es.typed-array.int8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/iterator": [ - "es.typed-array.iterator" - ], - "core-js/stable/typed-array/join": [ - "es.typed-array.join" - ], - "core-js/stable/typed-array/keys": [ - "es.typed-array.iterator" - ], - "core-js/stable/typed-array/last-index-of": [ - "es.typed-array.last-index-of" - ], - "core-js/stable/typed-array/map": [ - "es.typed-array.map" - ], - "core-js/stable/typed-array/of": [ - "es.typed-array.of" - ], - "core-js/stable/typed-array/reduce-right": [ - "es.typed-array.reduce-right" - ], - "core-js/stable/typed-array/reduce": [ - "es.typed-array.reduce" - ], - "core-js/stable/typed-array/reverse": [ - "es.typed-array.reverse" - ], - "core-js/stable/typed-array/set": [ - "es.typed-array.set" - ], - "core-js/stable/typed-array/slice": [ - "es.typed-array.slice" - ], - "core-js/stable/typed-array/some": [ - "es.typed-array.some" - ], - "core-js/stable/typed-array/sort": [ - "es.typed-array.sort" - ], - "core-js/stable/typed-array/subarray": [ - "es.typed-array.subarray" - ], - "core-js/stable/typed-array/to-locale-string": [ - "es.typed-array.to-locale-string" - ], - "core-js/stable/typed-array/to-string": [ - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/uint16-array": [ - "es.object.to-string", - "es.typed-array.uint16-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/uint32-array": [ - "es.object.to-string", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/uint8-array": [ - "es.object.to-string", - "es.typed-array.uint8-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/uint8-clamped-array": [ - "es.object.to-string", - "es.typed-array.uint8-clamped-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string" - ], - "core-js/stable/typed-array/values": [ - "es.typed-array.iterator" - ], - "core-js/stable/url-search-params": [ - "web.url-search-params" - ], - "core-js/stable/url": [ - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/stable/url/to-json": [ - "web.url.to-json" - ], - "core-js/stable/weak-map": [ - "es.object.to-string", - "es.weak-map", - "web.dom-collections.iterator" - ], - "core-js/stable/weak-set": [ - "es.object.to-string", - "es.weak-set", - "web.dom-collections.iterator" - ], - "core-js/stage/0": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/stage/1": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of" - ], - "core-js/stage/2": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.set.difference", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.replace-all", - "esnext.weak-map.upsert" - ], - "core-js/stage/3": [ - "esnext.aggregate-error", - "esnext.global-this", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.replace-all" - ], - "core-js/stage/4": [ - "esnext.global-this", - "esnext.promise.all-settled", - "esnext.string.match-all" - ], - "core-js/stage": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/stage/pre": [ - "esnext.aggregate-error", - "esnext.array.is-template-object", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.async-iterator.constructor", - "esnext.async-iterator.drop", - "esnext.async-iterator.filter", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.map.update-or-insert", - "esnext.map.upsert", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.async-dispose", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.symbol.replace-all", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-map.upsert", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/web/dom-collections": [ - "web.dom-collections.for-each", - "web.dom-collections.iterator" - ], - "core-js/web/immediate": [ - "web.immediate" - ], - "core-js/web": [ - "web.dom-collections.for-each", - "web.dom-collections.iterator", - "web.immediate", - "web.queue-microtask", - "web.timers", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/web/queue-microtask": [ - "web.queue-microtask" - ], - "core-js/web/timers": [ - "web.timers" - ], - "core-js/web/url-search-params": [ - "web.url-search-params" - ], - "core-js/web/url": [ - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "core-js/modules/es.array-buffer.constructor": [ - "es.array-buffer.constructor" - ], - "core-js/modules/es.array-buffer.is-view": [ - "es.array-buffer.is-view" - ], - "core-js/modules/es.array-buffer.slice": [ - "es.array-buffer.slice" - ], - "core-js/modules/es.array.concat": [ - "es.array.concat" - ], - "core-js/modules/es.array.copy-within": [ - "es.array.copy-within" - ], - "core-js/modules/es.array.every": [ - "es.array.every" - ], - "core-js/modules/es.array.fill": [ - "es.array.fill" - ], - "core-js/modules/es.array.filter": [ - "es.array.filter" - ], - "core-js/modules/es.array.find-index": [ - "es.array.find-index" - ], - "core-js/modules/es.array.find": [ - "es.array.find" - ], - "core-js/modules/es.array.flat-map": [ - "es.array.flat-map" - ], - "core-js/modules/es.array.flat": [ - "es.array.flat" - ], - "core-js/modules/es.array.for-each": [ - "es.array.for-each" - ], - "core-js/modules/es.array.from": [ - "es.array.from" - ], - "core-js/modules/es.array.includes": [ - "es.array.includes" - ], - "core-js/modules/es.array.index-of": [ - "es.array.index-of" - ], - "core-js/modules/es.array.is-array": [ - "es.array.is-array" - ], - "core-js/modules/es.array.iterator": [ - "es.array.iterator" - ], - "core-js/modules/es.array.join": [ - "es.array.join" - ], - "core-js/modules/es.array.last-index-of": [ - "es.array.last-index-of" - ], - "core-js/modules/es.array.map": [ - "es.array.map" - ], - "core-js/modules/es.array.of": [ - "es.array.of" - ], - "core-js/modules/es.array.reduce-right": [ - "es.array.reduce-right" - ], - "core-js/modules/es.array.reduce": [ - "es.array.reduce" - ], - "core-js/modules/es.array.reverse": [ - "es.array.reverse" - ], - "core-js/modules/es.array.slice": [ - "es.array.slice" - ], - "core-js/modules/es.array.some": [ - "es.array.some" - ], - "core-js/modules/es.array.sort": [ - "es.array.sort" - ], - "core-js/modules/es.array.species": [ - "es.array.species" - ], - "core-js/modules/es.array.splice": [ - "es.array.splice" - ], - "core-js/modules/es.array.unscopables.flat-map": [ - "es.array.unscopables.flat-map" - ], - "core-js/modules/es.array.unscopables.flat": [ - "es.array.unscopables.flat" - ], - "core-js/modules/es.data-view": [ - "es.data-view" - ], - "core-js/modules/es.date.now": [ - "es.date.now" - ], - "core-js/modules/es.date.to-iso-string": [ - "es.date.to-iso-string" - ], - "core-js/modules/es.date.to-json": [ - "es.date.to-json" - ], - "core-js/modules/es.date.to-primitive": [ - "es.date.to-primitive" - ], - "core-js/modules/es.date.to-string": [ - "es.date.to-string" - ], - "core-js/modules/es.function.bind": [ - "es.function.bind" - ], - "core-js/modules/es.function.has-instance": [ - "es.function.has-instance" - ], - "core-js/modules/es.function.name": [ - "es.function.name" - ], - "core-js/modules/es.global-this": [ - "es.global-this" - ], - "core-js/modules/es.json.stringify": [ - "es.json.stringify" - ], - "core-js/modules/es.json.to-string-tag": [ - "es.json.to-string-tag" - ], - "core-js/modules/es.map": [ - "es.map" - ], - "core-js/modules/es.math.acosh": [ - "es.math.acosh" - ], - "core-js/modules/es.math.asinh": [ - "es.math.asinh" - ], - "core-js/modules/es.math.atanh": [ - "es.math.atanh" - ], - "core-js/modules/es.math.cbrt": [ - "es.math.cbrt" - ], - "core-js/modules/es.math.clz32": [ - "es.math.clz32" - ], - "core-js/modules/es.math.cosh": [ - "es.math.cosh" - ], - "core-js/modules/es.math.expm1": [ - "es.math.expm1" - ], - "core-js/modules/es.math.fround": [ - "es.math.fround" - ], - "core-js/modules/es.math.hypot": [ - "es.math.hypot" - ], - "core-js/modules/es.math.imul": [ - "es.math.imul" - ], - "core-js/modules/es.math.log10": [ - "es.math.log10" - ], - "core-js/modules/es.math.log1p": [ - "es.math.log1p" - ], - "core-js/modules/es.math.log2": [ - "es.math.log2" - ], - "core-js/modules/es.math.sign": [ - "es.math.sign" - ], - "core-js/modules/es.math.sinh": [ - "es.math.sinh" - ], - "core-js/modules/es.math.tanh": [ - "es.math.tanh" - ], - "core-js/modules/es.math.to-string-tag": [ - "es.math.to-string-tag" - ], - "core-js/modules/es.math.trunc": [ - "es.math.trunc" - ], - "core-js/modules/es.number.constructor": [ - "es.number.constructor" - ], - "core-js/modules/es.number.epsilon": [ - "es.number.epsilon" - ], - "core-js/modules/es.number.is-finite": [ - "es.number.is-finite" - ], - "core-js/modules/es.number.is-integer": [ - "es.number.is-integer" - ], - "core-js/modules/es.number.is-nan": [ - "es.number.is-nan" - ], - "core-js/modules/es.number.is-safe-integer": [ - "es.number.is-safe-integer" - ], - "core-js/modules/es.number.max-safe-integer": [ - "es.number.max-safe-integer" - ], - "core-js/modules/es.number.min-safe-integer": [ - "es.number.min-safe-integer" - ], - "core-js/modules/es.number.parse-float": [ - "es.number.parse-float" - ], - "core-js/modules/es.number.parse-int": [ - "es.number.parse-int" - ], - "core-js/modules/es.number.to-fixed": [ - "es.number.to-fixed" - ], - "core-js/modules/es.number.to-precision": [ - "es.number.to-precision" - ], - "core-js/modules/es.object.assign": [ - "es.object.assign" - ], - "core-js/modules/es.object.create": [ - "es.object.create" - ], - "core-js/modules/es.object.define-getter": [ - "es.object.define-getter" - ], - "core-js/modules/es.object.define-properties": [ - "es.object.define-properties" - ], - "core-js/modules/es.object.define-property": [ - "es.object.define-property" - ], - "core-js/modules/es.object.define-setter": [ - "es.object.define-setter" - ], - "core-js/modules/es.object.entries": [ - "es.object.entries" - ], - "core-js/modules/es.object.freeze": [ - "es.object.freeze" - ], - "core-js/modules/es.object.from-entries": [ - "es.object.from-entries" - ], - "core-js/modules/es.object.get-own-property-descriptor": [ - "es.object.get-own-property-descriptor" - ], - "core-js/modules/es.object.get-own-property-descriptors": [ - "es.object.get-own-property-descriptors" - ], - "core-js/modules/es.object.get-own-property-names": [ - "es.object.get-own-property-names" - ], - "core-js/modules/es.object.get-prototype-of": [ - "es.object.get-prototype-of" - ], - "core-js/modules/es.object.is-extensible": [ - "es.object.is-extensible" - ], - "core-js/modules/es.object.is-frozen": [ - "es.object.is-frozen" - ], - "core-js/modules/es.object.is-sealed": [ - "es.object.is-sealed" - ], - "core-js/modules/es.object.is": [ - "es.object.is" - ], - "core-js/modules/es.object.keys": [ - "es.object.keys" - ], - "core-js/modules/es.object.lookup-getter": [ - "es.object.lookup-getter" - ], - "core-js/modules/es.object.lookup-setter": [ - "es.object.lookup-setter" - ], - "core-js/modules/es.object.prevent-extensions": [ - "es.object.prevent-extensions" - ], - "core-js/modules/es.object.seal": [ - "es.object.seal" - ], - "core-js/modules/es.object.set-prototype-of": [ - "es.object.set-prototype-of" - ], - "core-js/modules/es.object.to-string": [ - "es.object.to-string" - ], - "core-js/modules/es.object.values": [ - "es.object.values" - ], - "core-js/modules/es.parse-float": [ - "es.parse-float" - ], - "core-js/modules/es.parse-int": [ - "es.parse-int" - ], - "core-js/modules/es.promise.all-settled": [ - "es.promise.all-settled" - ], - "core-js/modules/es.promise.finally": [ - "es.promise.finally" - ], - "core-js/modules/es.promise": [ - "es.promise" - ], - "core-js/modules/es.reflect.apply": [ - "es.reflect.apply" - ], - "core-js/modules/es.reflect.construct": [ - "es.reflect.construct" - ], - "core-js/modules/es.reflect.define-property": [ - "es.reflect.define-property" - ], - "core-js/modules/es.reflect.delete-property": [ - "es.reflect.delete-property" - ], - "core-js/modules/es.reflect.get-own-property-descriptor": [ - "es.reflect.get-own-property-descriptor" - ], - "core-js/modules/es.reflect.get-prototype-of": [ - "es.reflect.get-prototype-of" - ], - "core-js/modules/es.reflect.get": [ - "es.reflect.get" - ], - "core-js/modules/es.reflect.has": [ - "es.reflect.has" - ], - "core-js/modules/es.reflect.is-extensible": [ - "es.reflect.is-extensible" - ], - "core-js/modules/es.reflect.own-keys": [ - "es.reflect.own-keys" - ], - "core-js/modules/es.reflect.prevent-extensions": [ - "es.reflect.prevent-extensions" - ], - "core-js/modules/es.reflect.set-prototype-of": [ - "es.reflect.set-prototype-of" - ], - "core-js/modules/es.reflect.set": [ - "es.reflect.set" - ], - "core-js/modules/es.regexp.constructor": [ - "es.regexp.constructor" - ], - "core-js/modules/es.regexp.exec": [ - "es.regexp.exec" - ], - "core-js/modules/es.regexp.flags": [ - "es.regexp.flags" - ], - "core-js/modules/es.regexp.to-string": [ - "es.regexp.to-string" - ], - "core-js/modules/es.set": [ - "es.set" - ], - "core-js/modules/es.string.anchor": [ - "es.string.anchor" - ], - "core-js/modules/es.string.big": [ - "es.string.big" - ], - "core-js/modules/es.string.blink": [ - "es.string.blink" - ], - "core-js/modules/es.string.bold": [ - "es.string.bold" - ], - "core-js/modules/es.string.code-point-at": [ - "es.string.code-point-at" - ], - "core-js/modules/es.string.ends-with": [ - "es.string.ends-with" - ], - "core-js/modules/es.string.fixed": [ - "es.string.fixed" - ], - "core-js/modules/es.string.fontcolor": [ - "es.string.fontcolor" - ], - "core-js/modules/es.string.fontsize": [ - "es.string.fontsize" - ], - "core-js/modules/es.string.from-code-point": [ - "es.string.from-code-point" - ], - "core-js/modules/es.string.includes": [ - "es.string.includes" - ], - "core-js/modules/es.string.italics": [ - "es.string.italics" - ], - "core-js/modules/es.string.iterator": [ - "es.string.iterator" - ], - "core-js/modules/es.string.link": [ - "es.string.link" - ], - "core-js/modules/es.string.match-all": [ - "es.string.match-all" - ], - "core-js/modules/es.string.match": [ - "es.string.match" - ], - "core-js/modules/es.string.pad-end": [ - "es.string.pad-end" - ], - "core-js/modules/es.string.pad-start": [ - "es.string.pad-start" - ], - "core-js/modules/es.string.raw": [ - "es.string.raw" - ], - "core-js/modules/es.string.repeat": [ - "es.string.repeat" - ], - "core-js/modules/es.string.replace": [ - "es.string.replace" - ], - "core-js/modules/es.string.search": [ - "es.string.search" - ], - "core-js/modules/es.string.small": [ - "es.string.small" - ], - "core-js/modules/es.string.split": [ - "es.string.split" - ], - "core-js/modules/es.string.starts-with": [ - "es.string.starts-with" - ], - "core-js/modules/es.string.strike": [ - "es.string.strike" - ], - "core-js/modules/es.string.sub": [ - "es.string.sub" - ], - "core-js/modules/es.string.sup": [ - "es.string.sup" - ], - "core-js/modules/es.string.trim-end": [ - "es.string.trim-end" - ], - "core-js/modules/es.string.trim-start": [ - "es.string.trim-start" - ], - "core-js/modules/es.string.trim": [ - "es.string.trim" - ], - "core-js/modules/es.symbol.async-iterator": [ - "es.symbol.async-iterator" - ], - "core-js/modules/es.symbol.description": [ - "es.symbol.description" - ], - "core-js/modules/es.symbol.has-instance": [ - "es.symbol.has-instance" - ], - "core-js/modules/es.symbol.is-concat-spreadable": [ - "es.symbol.is-concat-spreadable" - ], - "core-js/modules/es.symbol.iterator": [ - "es.symbol.iterator" - ], - "core-js/modules/es.symbol": [ - "es.symbol" - ], - "core-js/modules/es.symbol.match-all": [ - "es.symbol.match-all" - ], - "core-js/modules/es.symbol.match": [ - "es.symbol.match" - ], - "core-js/modules/es.symbol.replace": [ - "es.symbol.replace" - ], - "core-js/modules/es.symbol.search": [ - "es.symbol.search" - ], - "core-js/modules/es.symbol.species": [ - "es.symbol.species" - ], - "core-js/modules/es.symbol.split": [ - "es.symbol.split" - ], - "core-js/modules/es.symbol.to-primitive": [ - "es.symbol.to-primitive" - ], - "core-js/modules/es.symbol.to-string-tag": [ - "es.symbol.to-string-tag" - ], - "core-js/modules/es.symbol.unscopables": [ - "es.symbol.unscopables" - ], - "core-js/modules/es.typed-array.copy-within": [ - "es.typed-array.copy-within" - ], - "core-js/modules/es.typed-array.every": [ - "es.typed-array.every" - ], - "core-js/modules/es.typed-array.fill": [ - "es.typed-array.fill" - ], - "core-js/modules/es.typed-array.filter": [ - "es.typed-array.filter" - ], - "core-js/modules/es.typed-array.find-index": [ - "es.typed-array.find-index" - ], - "core-js/modules/es.typed-array.find": [ - "es.typed-array.find" - ], - "core-js/modules/es.typed-array.float32-array": [ - "es.typed-array.float32-array" - ], - "core-js/modules/es.typed-array.float64-array": [ - "es.typed-array.float64-array" - ], - "core-js/modules/es.typed-array.for-each": [ - "es.typed-array.for-each" - ], - "core-js/modules/es.typed-array.from": [ - "es.typed-array.from" - ], - "core-js/modules/es.typed-array.includes": [ - "es.typed-array.includes" - ], - "core-js/modules/es.typed-array.index-of": [ - "es.typed-array.index-of" - ], - "core-js/modules/es.typed-array.int16-array": [ - "es.typed-array.int16-array" - ], - "core-js/modules/es.typed-array.int32-array": [ - "es.typed-array.int32-array" - ], - "core-js/modules/es.typed-array.int8-array": [ - "es.typed-array.int8-array" - ], - "core-js/modules/es.typed-array.iterator": [ - "es.typed-array.iterator" - ], - "core-js/modules/es.typed-array.join": [ - "es.typed-array.join" - ], - "core-js/modules/es.typed-array.last-index-of": [ - "es.typed-array.last-index-of" - ], - "core-js/modules/es.typed-array.map": [ - "es.typed-array.map" - ], - "core-js/modules/es.typed-array.of": [ - "es.typed-array.of" - ], - "core-js/modules/es.typed-array.reduce-right": [ - "es.typed-array.reduce-right" - ], - "core-js/modules/es.typed-array.reduce": [ - "es.typed-array.reduce" - ], - "core-js/modules/es.typed-array.reverse": [ - "es.typed-array.reverse" - ], - "core-js/modules/es.typed-array.set": [ - "es.typed-array.set" - ], - "core-js/modules/es.typed-array.slice": [ - "es.typed-array.slice" - ], - "core-js/modules/es.typed-array.some": [ - "es.typed-array.some" - ], - "core-js/modules/es.typed-array.sort": [ - "es.typed-array.sort" - ], - "core-js/modules/es.typed-array.subarray": [ - "es.typed-array.subarray" - ], - "core-js/modules/es.typed-array.to-locale-string": [ - "es.typed-array.to-locale-string" - ], - "core-js/modules/es.typed-array.to-string": [ - "es.typed-array.to-string" - ], - "core-js/modules/es.typed-array.uint16-array": [ - "es.typed-array.uint16-array" - ], - "core-js/modules/es.typed-array.uint32-array": [ - "es.typed-array.uint32-array" - ], - "core-js/modules/es.typed-array.uint8-array": [ - "es.typed-array.uint8-array" - ], - "core-js/modules/es.typed-array.uint8-clamped-array": [ - "es.typed-array.uint8-clamped-array" - ], - "core-js/modules/es.weak-map": [ - "es.weak-map" - ], - "core-js/modules/es.weak-set": [ - "es.weak-set" - ], - "core-js/modules/esnext.aggregate-error": [ - "esnext.aggregate-error" - ], - "core-js/modules/esnext.array.is-template-object": [ - "esnext.array.is-template-object" - ], - "core-js/modules/esnext.array.last-index": [ - "esnext.array.last-index" - ], - "core-js/modules/esnext.array.last-item": [ - "esnext.array.last-item" - ], - "core-js/modules/esnext.async-iterator.as-indexed-pairs": [ - "esnext.async-iterator.as-indexed-pairs" - ], - "core-js/modules/esnext.async-iterator.constructor": [ - "esnext.async-iterator.constructor" - ], - "core-js/modules/esnext.async-iterator.drop": [ - "esnext.async-iterator.drop" - ], - "core-js/modules/esnext.async-iterator.every": [ - "esnext.async-iterator.every" - ], - "core-js/modules/esnext.async-iterator.filter": [ - "esnext.async-iterator.filter" - ], - "core-js/modules/esnext.async-iterator.find": [ - "esnext.async-iterator.find" - ], - "core-js/modules/esnext.async-iterator.flat-map": [ - "esnext.async-iterator.flat-map" - ], - "core-js/modules/esnext.async-iterator.for-each": [ - "esnext.async-iterator.for-each" - ], - "core-js/modules/esnext.async-iterator.from": [ - "esnext.async-iterator.from" - ], - "core-js/modules/esnext.async-iterator.map": [ - "esnext.async-iterator.map" - ], - "core-js/modules/esnext.async-iterator.reduce": [ - "esnext.async-iterator.reduce" - ], - "core-js/modules/esnext.async-iterator.some": [ - "esnext.async-iterator.some" - ], - "core-js/modules/esnext.async-iterator.take": [ - "esnext.async-iterator.take" - ], - "core-js/modules/esnext.async-iterator.to-array": [ - "esnext.async-iterator.to-array" - ], - "core-js/modules/esnext.composite-key": [ - "esnext.composite-key" - ], - "core-js/modules/esnext.composite-symbol": [ - "esnext.composite-symbol" - ], - "core-js/modules/esnext.global-this": [ - "esnext.global-this" - ], - "core-js/modules/esnext.iterator.as-indexed-pairs": [ - "esnext.iterator.as-indexed-pairs" - ], - "core-js/modules/esnext.iterator.constructor": [ - "esnext.iterator.constructor" - ], - "core-js/modules/esnext.iterator.drop": [ - "esnext.iterator.drop" - ], - "core-js/modules/esnext.iterator.every": [ - "esnext.iterator.every" - ], - "core-js/modules/esnext.iterator.filter": [ - "esnext.iterator.filter" - ], - "core-js/modules/esnext.iterator.find": [ - "esnext.iterator.find" - ], - "core-js/modules/esnext.iterator.flat-map": [ - "esnext.iterator.flat-map" - ], - "core-js/modules/esnext.iterator.for-each": [ - "esnext.iterator.for-each" - ], - "core-js/modules/esnext.iterator.from": [ - "esnext.iterator.from" - ], - "core-js/modules/esnext.iterator.map": [ - "esnext.iterator.map" - ], - "core-js/modules/esnext.iterator.reduce": [ - "esnext.iterator.reduce" - ], - "core-js/modules/esnext.iterator.some": [ - "esnext.iterator.some" - ], - "core-js/modules/esnext.iterator.take": [ - "esnext.iterator.take" - ], - "core-js/modules/esnext.iterator.to-array": [ - "esnext.iterator.to-array" - ], - "core-js/modules/esnext.map.delete-all": [ - "esnext.map.delete-all" - ], - "core-js/modules/esnext.map.every": [ - "esnext.map.every" - ], - "core-js/modules/esnext.map.filter": [ - "esnext.map.filter" - ], - "core-js/modules/esnext.map.find-key": [ - "esnext.map.find-key" - ], - "core-js/modules/esnext.map.find": [ - "esnext.map.find" - ], - "core-js/modules/esnext.map.from": [ - "esnext.map.from" - ], - "core-js/modules/esnext.map.group-by": [ - "esnext.map.group-by" - ], - "core-js/modules/esnext.map.includes": [ - "esnext.map.includes" - ], - "core-js/modules/esnext.map.key-by": [ - "esnext.map.key-by" - ], - "core-js/modules/esnext.map.key-of": [ - "esnext.map.key-of" - ], - "core-js/modules/esnext.map.map-keys": [ - "esnext.map.map-keys" - ], - "core-js/modules/esnext.map.map-values": [ - "esnext.map.map-values" - ], - "core-js/modules/esnext.map.merge": [ - "esnext.map.merge" - ], - "core-js/modules/esnext.map.of": [ - "esnext.map.of" - ], - "core-js/modules/esnext.map.reduce": [ - "esnext.map.reduce" - ], - "core-js/modules/esnext.map.some": [ - "esnext.map.some" - ], - "core-js/modules/esnext.map.update-or-insert": [ - "esnext.map.update-or-insert" - ], - "core-js/modules/esnext.map.update": [ - "esnext.map.update" - ], - "core-js/modules/esnext.map.upsert": [ - "esnext.map.upsert" - ], - "core-js/modules/esnext.math.clamp": [ - "esnext.math.clamp" - ], - "core-js/modules/esnext.math.deg-per-rad": [ - "esnext.math.deg-per-rad" - ], - "core-js/modules/esnext.math.degrees": [ - "esnext.math.degrees" - ], - "core-js/modules/esnext.math.fscale": [ - "esnext.math.fscale" - ], - "core-js/modules/esnext.math.iaddh": [ - "esnext.math.iaddh" - ], - "core-js/modules/esnext.math.imulh": [ - "esnext.math.imulh" - ], - "core-js/modules/esnext.math.isubh": [ - "esnext.math.isubh" - ], - "core-js/modules/esnext.math.rad-per-deg": [ - "esnext.math.rad-per-deg" - ], - "core-js/modules/esnext.math.radians": [ - "esnext.math.radians" - ], - "core-js/modules/esnext.math.scale": [ - "esnext.math.scale" - ], - "core-js/modules/esnext.math.seeded-prng": [ - "esnext.math.seeded-prng" - ], - "core-js/modules/esnext.math.signbit": [ - "esnext.math.signbit" - ], - "core-js/modules/esnext.math.umulh": [ - "esnext.math.umulh" - ], - "core-js/modules/esnext.number.from-string": [ - "esnext.number.from-string" - ], - "core-js/modules/esnext.observable": [ - "esnext.observable" - ], - "core-js/modules/esnext.promise.all-settled": [ - "esnext.promise.all-settled" - ], - "core-js/modules/esnext.promise.any": [ - "esnext.promise.any" - ], - "core-js/modules/esnext.promise.try": [ - "esnext.promise.try" - ], - "core-js/modules/esnext.reflect.define-metadata": [ - "esnext.reflect.define-metadata" - ], - "core-js/modules/esnext.reflect.delete-metadata": [ - "esnext.reflect.delete-metadata" - ], - "core-js/modules/esnext.reflect.get-metadata-keys": [ - "esnext.reflect.get-metadata-keys" - ], - "core-js/modules/esnext.reflect.get-metadata": [ - "esnext.reflect.get-metadata" - ], - "core-js/modules/esnext.reflect.get-own-metadata-keys": [ - "esnext.reflect.get-own-metadata-keys" - ], - "core-js/modules/esnext.reflect.get-own-metadata": [ - "esnext.reflect.get-own-metadata" - ], - "core-js/modules/esnext.reflect.has-metadata": [ - "esnext.reflect.has-metadata" - ], - "core-js/modules/esnext.reflect.has-own-metadata": [ - "esnext.reflect.has-own-metadata" - ], - "core-js/modules/esnext.reflect.metadata": [ - "esnext.reflect.metadata" - ], - "core-js/modules/esnext.set.add-all": [ - "esnext.set.add-all" - ], - "core-js/modules/esnext.set.delete-all": [ - "esnext.set.delete-all" - ], - "core-js/modules/esnext.set.difference": [ - "esnext.set.difference" - ], - "core-js/modules/esnext.set.every": [ - "esnext.set.every" - ], - "core-js/modules/esnext.set.filter": [ - "esnext.set.filter" - ], - "core-js/modules/esnext.set.find": [ - "esnext.set.find" - ], - "core-js/modules/esnext.set.from": [ - "esnext.set.from" - ], - "core-js/modules/esnext.set.intersection": [ - "esnext.set.intersection" - ], - "core-js/modules/esnext.set.is-disjoint-from": [ - "esnext.set.is-disjoint-from" - ], - "core-js/modules/esnext.set.is-subset-of": [ - "esnext.set.is-subset-of" - ], - "core-js/modules/esnext.set.is-superset-of": [ - "esnext.set.is-superset-of" - ], - "core-js/modules/esnext.set.join": [ - "esnext.set.join" - ], - "core-js/modules/esnext.set.map": [ - "esnext.set.map" - ], - "core-js/modules/esnext.set.of": [ - "esnext.set.of" - ], - "core-js/modules/esnext.set.reduce": [ - "esnext.set.reduce" - ], - "core-js/modules/esnext.set.some": [ - "esnext.set.some" - ], - "core-js/modules/esnext.set.symmetric-difference": [ - "esnext.set.symmetric-difference" - ], - "core-js/modules/esnext.set.union": [ - "esnext.set.union" - ], - "core-js/modules/esnext.string.at": [ - "esnext.string.at" - ], - "core-js/modules/esnext.string.code-points": [ - "esnext.string.code-points" - ], - "core-js/modules/esnext.string.match-all": [ - "esnext.string.match-all" - ], - "core-js/modules/esnext.string.replace-all": [ - "esnext.string.replace-all" - ], - "core-js/modules/esnext.symbol.async-dispose": [ - "esnext.symbol.async-dispose" - ], - "core-js/modules/esnext.symbol.dispose": [ - "esnext.symbol.dispose" - ], - "core-js/modules/esnext.symbol.observable": [ - "esnext.symbol.observable" - ], - "core-js/modules/esnext.symbol.pattern-match": [ - "esnext.symbol.pattern-match" - ], - "core-js/modules/esnext.symbol.replace-all": [ - "esnext.symbol.replace-all" - ], - "core-js/modules/esnext.weak-map.delete-all": [ - "esnext.weak-map.delete-all" - ], - "core-js/modules/esnext.weak-map.from": [ - "esnext.weak-map.from" - ], - "core-js/modules/esnext.weak-map.of": [ - "esnext.weak-map.of" - ], - "core-js/modules/esnext.weak-map.upsert": [ - "esnext.weak-map.upsert" - ], - "core-js/modules/esnext.weak-set.add-all": [ - "esnext.weak-set.add-all" - ], - "core-js/modules/esnext.weak-set.delete-all": [ - "esnext.weak-set.delete-all" - ], - "core-js/modules/esnext.weak-set.from": [ - "esnext.weak-set.from" - ], - "core-js/modules/esnext.weak-set.of": [ - "esnext.weak-set.of" - ], - "core-js/modules/web.dom-collections.for-each": [ - "web.dom-collections.for-each" - ], - "core-js/modules/web.dom-collections.iterator": [ - "web.dom-collections.iterator" - ], - "core-js/modules/web.immediate": [ - "web.immediate" - ], - "core-js/modules/web.queue-microtask": [ - "web.queue-microtask" - ], - "core-js/modules/web.timers": [ - "web.timers" - ], - "core-js/modules/web.url-search-params": [ - "web.url-search-params" - ], - "core-js/modules/web.url": [ - "web.url" - ], - "core-js/modules/web.url.to-json": [ - "web.url.to-json" - ] -} -},{}],305:[function(require,module,exports){ -'use strict'; - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -var _require = require('semver'), - coerce = _require.coerce, - lte = _require.lte; - -var modulesByVersions = require('./modules-by-versions'); - -module.exports = function (raw) { - var corejs = coerce(String(raw)); - - if (corejs.major !== 3) { - throw RangeError('This version of `core-js-compat` works only with `core-js@3`.'); - } - - var result = []; - - for (var _i = 0, _Object$keys = Object.keys(modulesByVersions); _i < _Object$keys.length; _i++) { - var version = _Object$keys[_i]; - - if (lte(coerce(version), corejs)) { - result.push.apply(result, _toConsumableArray(modulesByVersions[version])); - } - } - - return result; -}; - -},{"./modules-by-versions":306,"semver":307}],306:[function(require,module,exports){ -module.exports={ - "3.0": [ - "es.symbol", - "es.symbol.description", - "es.symbol.async-iterator", - "es.symbol.has-instance", - "es.symbol.is-concat-spreadable", - "es.symbol.iterator", - "es.symbol.match", - "es.symbol.replace", - "es.symbol.search", - "es.symbol.species", - "es.symbol.split", - "es.symbol.to-primitive", - "es.symbol.to-string-tag", - "es.symbol.unscopables", - "es.array.concat", - "es.array.copy-within", - "es.array.every", - "es.array.fill", - "es.array.filter", - "es.array.find", - "es.array.find-index", - "es.array.flat", - "es.array.flat-map", - "es.array.for-each", - "es.array.from", - "es.array.includes", - "es.array.index-of", - "es.array.is-array", - "es.array.iterator", - "es.array.join", - "es.array.last-index-of", - "es.array.map", - "es.array.of", - "es.array.reduce", - "es.array.reduce-right", - "es.array.reverse", - "es.array.slice", - "es.array.some", - "es.array.sort", - "es.array.species", - "es.array.splice", - "es.array.unscopables.flat", - "es.array.unscopables.flat-map", - "es.array-buffer.constructor", - "es.array-buffer.is-view", - "es.array-buffer.slice", - "es.data-view", - "es.date.now", - "es.date.to-iso-string", - "es.date.to-json", - "es.date.to-primitive", - "es.date.to-string", - "es.function.bind", - "es.function.has-instance", - "es.function.name", - "es.json.to-string-tag", - "es.map", - "es.math.acosh", - "es.math.asinh", - "es.math.atanh", - "es.math.cbrt", - "es.math.clz32", - "es.math.cosh", - "es.math.expm1", - "es.math.fround", - "es.math.hypot", - "es.math.imul", - "es.math.log10", - "es.math.log1p", - "es.math.log2", - "es.math.sign", - "es.math.sinh", - "es.math.tanh", - "es.math.to-string-tag", - "es.math.trunc", - "es.number.constructor", - "es.number.epsilon", - "es.number.is-finite", - "es.number.is-integer", - "es.number.is-nan", - "es.number.is-safe-integer", - "es.number.max-safe-integer", - "es.number.min-safe-integer", - "es.number.parse-float", - "es.number.parse-int", - "es.number.to-fixed", - "es.number.to-precision", - "es.object.assign", - "es.object.create", - "es.object.define-getter", - "es.object.define-properties", - "es.object.define-property", - "es.object.define-setter", - "es.object.entries", - "es.object.freeze", - "es.object.from-entries", - "es.object.get-own-property-descriptor", - "es.object.get-own-property-descriptors", - "es.object.get-own-property-names", - "es.object.get-prototype-of", - "es.object.is", - "es.object.is-extensible", - "es.object.is-frozen", - "es.object.is-sealed", - "es.object.keys", - "es.object.lookup-getter", - "es.object.lookup-setter", - "es.object.prevent-extensions", - "es.object.seal", - "es.object.set-prototype-of", - "es.object.to-string", - "es.object.values", - "es.parse-float", - "es.parse-int", - "es.promise", - "es.promise.finally", - "es.reflect.apply", - "es.reflect.construct", - "es.reflect.define-property", - "es.reflect.delete-property", - "es.reflect.get", - "es.reflect.get-own-property-descriptor", - "es.reflect.get-prototype-of", - "es.reflect.has", - "es.reflect.is-extensible", - "es.reflect.own-keys", - "es.reflect.prevent-extensions", - "es.reflect.set", - "es.reflect.set-prototype-of", - "es.regexp.constructor", - "es.regexp.exec", - "es.regexp.flags", - "es.regexp.to-string", - "es.set", - "es.string.code-point-at", - "es.string.ends-with", - "es.string.from-code-point", - "es.string.includes", - "es.string.iterator", - "es.string.match", - "es.string.pad-end", - "es.string.pad-start", - "es.string.raw", - "es.string.repeat", - "es.string.replace", - "es.string.search", - "es.string.split", - "es.string.starts-with", - "es.string.trim", - "es.string.trim-end", - "es.string.trim-start", - "es.string.anchor", - "es.string.big", - "es.string.blink", - "es.string.bold", - "es.string.fixed", - "es.string.fontcolor", - "es.string.fontsize", - "es.string.italics", - "es.string.link", - "es.string.small", - "es.string.strike", - "es.string.sub", - "es.string.sup", - "es.typed-array.float32-array", - "es.typed-array.float64-array", - "es.typed-array.int8-array", - "es.typed-array.int16-array", - "es.typed-array.int32-array", - "es.typed-array.uint8-array", - "es.typed-array.uint8-clamped-array", - "es.typed-array.uint16-array", - "es.typed-array.uint32-array", - "es.typed-array.copy-within", - "es.typed-array.every", - "es.typed-array.fill", - "es.typed-array.filter", - "es.typed-array.find", - "es.typed-array.find-index", - "es.typed-array.for-each", - "es.typed-array.from", - "es.typed-array.includes", - "es.typed-array.index-of", - "es.typed-array.iterator", - "es.typed-array.join", - "es.typed-array.last-index-of", - "es.typed-array.map", - "es.typed-array.of", - "es.typed-array.reduce", - "es.typed-array.reduce-right", - "es.typed-array.reverse", - "es.typed-array.set", - "es.typed-array.slice", - "es.typed-array.some", - "es.typed-array.sort", - "es.typed-array.subarray", - "es.typed-array.to-locale-string", - "es.typed-array.to-string", - "es.weak-map", - "es.weak-set", - "esnext.aggregate-error", - "esnext.array.last-index", - "esnext.array.last-item", - "esnext.composite-key", - "esnext.composite-symbol", - "esnext.global-this", - "esnext.map.delete-all", - "esnext.map.every", - "esnext.map.filter", - "esnext.map.find", - "esnext.map.find-key", - "esnext.map.from", - "esnext.map.group-by", - "esnext.map.includes", - "esnext.map.key-by", - "esnext.map.key-of", - "esnext.map.map-keys", - "esnext.map.map-values", - "esnext.map.merge", - "esnext.map.of", - "esnext.map.reduce", - "esnext.map.some", - "esnext.map.update", - "esnext.math.clamp", - "esnext.math.deg-per-rad", - "esnext.math.degrees", - "esnext.math.fscale", - "esnext.math.iaddh", - "esnext.math.imulh", - "esnext.math.isubh", - "esnext.math.rad-per-deg", - "esnext.math.radians", - "esnext.math.scale", - "esnext.math.seeded-prng", - "esnext.math.signbit", - "esnext.math.umulh", - "esnext.number.from-string", - "esnext.observable", - "esnext.promise.all-settled", - "esnext.promise.any", - "esnext.promise.try", - "esnext.reflect.define-metadata", - "esnext.reflect.delete-metadata", - "esnext.reflect.get-metadata", - "esnext.reflect.get-metadata-keys", - "esnext.reflect.get-own-metadata", - "esnext.reflect.get-own-metadata-keys", - "esnext.reflect.has-metadata", - "esnext.reflect.has-own-metadata", - "esnext.reflect.metadata", - "esnext.set.add-all", - "esnext.set.delete-all", - "esnext.set.difference", - "esnext.set.every", - "esnext.set.filter", - "esnext.set.find", - "esnext.set.from", - "esnext.set.intersection", - "esnext.set.is-disjoint-from", - "esnext.set.is-subset-of", - "esnext.set.is-superset-of", - "esnext.set.join", - "esnext.set.map", - "esnext.set.of", - "esnext.set.reduce", - "esnext.set.some", - "esnext.set.symmetric-difference", - "esnext.set.union", - "esnext.string.at", - "esnext.string.code-points", - "esnext.string.match-all", - "esnext.string.replace-all", - "esnext.symbol.dispose", - "esnext.symbol.observable", - "esnext.symbol.pattern-match", - "esnext.weak-map.delete-all", - "esnext.weak-map.from", - "esnext.weak-map.of", - "esnext.weak-set.add-all", - "esnext.weak-set.delete-all", - "esnext.weak-set.from", - "esnext.weak-set.of", - "web.dom-collections.for-each", - "web.dom-collections.iterator", - "web.immediate", - "web.queue-microtask", - "web.timers", - "web.url", - "web.url.to-json", - "web.url-search-params" - ], - "3.1": [ - "es.string.match-all", - "es.symbol.match-all", - "esnext.symbol.replace-all" - ], - "3.2": [ - "es.promise.all-settled", - "esnext.array.is-template-object", - "esnext.map.update-or-insert", - "esnext.symbol.async-dispose" - ], - "3.3": [ - "es.global-this", - "esnext.async-iterator.constructor", - "esnext.async-iterator.as-indexed-pairs", - "esnext.async-iterator.drop", - "esnext.async-iterator.every", - "esnext.async-iterator.filter", - "esnext.async-iterator.find", - "esnext.async-iterator.flat-map", - "esnext.async-iterator.for-each", - "esnext.async-iterator.from", - "esnext.async-iterator.map", - "esnext.async-iterator.reduce", - "esnext.async-iterator.some", - "esnext.async-iterator.take", - "esnext.async-iterator.to-array", - "esnext.iterator.constructor", - "esnext.iterator.as-indexed-pairs", - "esnext.iterator.drop", - "esnext.iterator.every", - "esnext.iterator.filter", - "esnext.iterator.find", - "esnext.iterator.flat-map", - "esnext.iterator.for-each", - "esnext.iterator.from", - "esnext.iterator.map", - "esnext.iterator.reduce", - "esnext.iterator.some", - "esnext.iterator.take", - "esnext.iterator.to-array", - "esnext.map.upsert", - "esnext.weak-map.upsert" - ], - "3.4": [ - "es.json.stringify" - ] -} -},{}],307:[function(require,module,exports){ -(function (process){ -"use strict"; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -exports = module.exports = SemVer; -var debug; -/* istanbul ignore next */ - -if ((typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) { - debug = function debug() { - var args = Array.prototype.slice.call(arguments, 0); - args.unshift('SEMVER'); - console.log.apply(console, args); - }; -} else { - debug = function debug() {}; -} // Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. - - -exports.SEMVER_SPEC_VERSION = '2.0.0'; -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || -/* istanbul ignore next */ -9007199254740991; // Max safe segment length for coercion. - -var MAX_SAFE_COMPONENT_LENGTH = 16; // The actual regexps go on exports.re - -var re = exports.re = []; -var src = exports.src = []; -var t = exports.tokens = {}; -var R = 0; - -function tok(n) { - t[n] = R++; -} // The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - - -tok('NUMERICIDENTIFIER'); -src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -tok('NUMERICIDENTIFIERLOOSE'); -src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+'; // ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -tok('NONNUMERICIDENTIFIER'); -src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; // ## Main Version -// Three dot-separated numeric identifiers. - -tok('MAINVERSION'); -src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')'; -tok('MAINVERSIONLOOSE'); -src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'; // ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -tok('PRERELEASEIDENTIFIER'); -src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')'; -tok('PRERELEASEIDENTIFIERLOOSE'); -src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')'; // ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -tok('PRERELEASE'); -src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'; -tok('PRERELEASELOOSE'); -src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'; // ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -tok('BUILDIDENTIFIER'); -src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; // ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -tok('BUILD'); -src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))'; // ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -tok('FULL'); -tok('FULLPLAIN'); -src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?'; -src[t.FULL] = '^' + src[t.FULLPLAIN] + '$'; // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. - -tok('LOOSEPLAIN'); -src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?'; -tok('LOOSE'); -src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'; -tok('GTLT'); -src[t.GTLT] = '((?:<|>)?=?)'; // Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. - -tok('XRANGEIDENTIFIERLOOSE'); -src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -tok('XRANGEIDENTIFIER'); -src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*'; -tok('XRANGEPLAIN'); -src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?'; -tok('XRANGEPLAINLOOSE'); -src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?'; -tok('XRANGE'); -src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$'; -tok('XRANGELOOSE'); -src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$'; // Coercion. -// Extract anything that could conceivably be a part of a valid semver - -tok('COERCE'); -src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])'; -tok('COERCERTL'); -re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g'); // Tilde ranges. -// Meaning is "reasonably at or greater than" - -tok('LONETILDE'); -src[t.LONETILDE] = '(?:~>?)'; -tok('TILDETRIM'); -src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+'; -re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; -tok('TILDE'); -src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'; -tok('TILDELOOSE'); -src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'; // Caret ranges. -// Meaning is "at least and backwards compatible with" - -tok('LONECARET'); -src[t.LONECARET] = '(?:\\^)'; -tok('CARETTRIM'); -src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+'; -re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; -tok('CARET'); -src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'; -tok('CARETLOOSE'); -src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'; // A simple gt/lt/eq thing, or just "" to indicate "any version" - -tok('COMPARATORLOOSE'); -src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'; -tok('COMPARATOR'); -src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$'; // An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` - -tok('COMPARATORTRIM'); -src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'; // this one has to use the /g flag - -re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. - -tok('HYPHENRANGE'); -src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$'; -tok('HYPHENRANGELOOSE'); -src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$'; // Star ranges basically just allow anything at all. - -tok('STAR'); -src[t.STAR] = '(<|>)?=?\\s*\\*'; // Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. - -for (var i = 0; i < R; i++) { - debug(i, src[i]); - - if (!re[i]) { - re[i] = new RegExp(src[i]); - } -} - -exports.parse = parse; - -function parse(version, options) { - if (!options || _typeof(options) !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - if (version instanceof SemVer) { - return version; - } - - if (typeof version !== 'string') { - return null; - } - - if (version.length > MAX_LENGTH) { - return null; - } - - var r = options.loose ? re[t.LOOSE] : re[t.FULL]; - - if (!r.test(version)) { - return null; - } - - try { - return new SemVer(version, options); - } catch (er) { - return null; - } -} - -exports.valid = valid; - -function valid(version, options) { - var v = parse(version, options); - return v ? v.version : null; -} - -exports.clean = clean; - -function clean(version, options) { - var s = parse(version.trim().replace(/^[=v]+/, ''), options); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, options) { - if (!options || _typeof(options) !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - if (version instanceof SemVer) { - if (version.loose === options.loose) { - return version; - } else { - version = version.version; - } - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) { - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters'); - } - - if (!(this instanceof SemVer)) { - return new SemVer(version, options); - } - - debug('SemVer', version, options); - this.options = options; - this.loose = !!options.loose; - var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); - - if (!m) { - throw new TypeError('Invalid Version: ' + version); - } - - this.raw = version; // these are actually numbers - - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) { - throw new TypeError('Invalid major version'); - } - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { - throw new TypeError('Invalid minor version'); - } - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { - throw new TypeError('Invalid patch version'); - } // numberify any prerelease numeric ids - - - if (!m[4]) { - this.prerelease = []; - } else { - this.prerelease = m[4].split('.').map(function (id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - - if (num >= 0 && num < MAX_SAFE_INTEGER) { - return num; - } - } - - return id; - }); - } - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function () { - this.version = this.major + '.' + this.minor + '.' + this.patch; - - if (this.prerelease.length) { - this.version += '-' + this.prerelease.join('.'); - } - - return this.version; -}; - -SemVer.prototype.toString = function () { - return this.version; -}; - -SemVer.prototype.compare = function (other) { - debug('SemVer.compare', this.version, this.options, other); - - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function (other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - - return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function (other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } // NOT having a prerelease is > having one - - - if (this.prerelease.length && !other.prerelease.length) { - return -1; - } else if (!this.prerelease.length && other.prerelease.length) { - return 1; - } else if (!this.prerelease.length && !other.prerelease.length) { - return 0; - } - - var i = 0; - - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); -}; - -SemVer.prototype.compareBuild = function (other) { - if (!(other instanceof SemVer)) { - other = new SemVer(other, this.options); - } - - var i = 0; - - do { - var a = this.build[i]; - var b = other.build[i]; - debug('prerelease compare', i, a, b); - - if (a === undefined && b === undefined) { - return 0; - } else if (b === undefined) { - return 1; - } else if (a === undefined) { - return -1; - } else if (a === b) { - continue; - } else { - return compareIdentifiers(a, b); - } - } while (++i); -}; // preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. - - -SemVer.prototype.inc = function (release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - - case 'prerelease': - if (this.prerelease.length === 0) { - this.inc('patch', identifier); - } - - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { - this.major++; - } - - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) { - this.minor++; - } - - this.patch = 0; - this.prerelease = []; - break; - - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) { - this.patch++; - } - - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - - case 'pre': - if (this.prerelease.length === 0) { - this.prerelease = [0]; - } else { - var i = this.prerelease.length; - - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - - if (i === -1) { - // didn't increment anything - this.prerelease.push(0); - } - } - - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) { - this.prerelease = [identifier, 0]; - } - } else { - this.prerelease = [identifier, 0]; - } - } - - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; - -function inc(version, release, loose, identifier) { - if (typeof loose === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; - -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - var prefix = ''; - - if (v1.prerelease.length || v2.prerelease.length) { - prefix = 'pre'; - var defaultResult = 'prerelease'; - } - - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return prefix + key; - } - } - } - - return defaultResult; // may be undefined - } -} - -exports.compareIdentifiers = compareIdentifiers; -var numeric = /^[0-9]+$/; - -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; - -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; - -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; - -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; - -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; - -function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); -} - -exports.compareLoose = compareLoose; - -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.compareBuild = compareBuild; - -function compareBuild(a, b, loose) { - var versionA = new SemVer(a, loose); - var versionB = new SemVer(b, loose); - return versionA.compare(versionB) || versionA.compareBuild(versionB); -} - -exports.rcompare = rcompare; - -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; - -function sort(list, loose) { - return list.sort(function (a, b) { - return exports.compareBuild(a, b, loose); - }); -} - -exports.rsort = rsort; - -function rsort(list, loose) { - return list.sort(function (a, b) { - return exports.compareBuild(b, a, loose); - }); -} - -exports.gt = gt; - -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; - -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; - -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; - -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; - -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; - -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; - -function cmp(a, op, b, loose) { - switch (op) { - case '===': - if (_typeof(a) === 'object') a = a.version; - if (_typeof(b) === 'object') b = b.version; - return a === b; - - case '!==': - if (_typeof(a) === 'object') a = a.version; - if (_typeof(b) === 'object') b = b.version; - return a !== b; - - case '': - case '=': - case '==': - return eq(a, b, loose); - - case '!=': - return neq(a, b, loose); - - case '>': - return gt(a, b, loose); - - case '>=': - return gte(a, b, loose); - - case '<': - return lt(a, b, loose); - - case '<=': - return lte(a, b, loose); - - default: - throw new TypeError('Invalid operator: ' + op); - } -} - -exports.Comparator = Comparator; - -function Comparator(comp, options) { - if (!options || _typeof(options) !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - if (comp instanceof Comparator) { - if (comp.loose === !!options.loose) { - return comp; - } else { - comp = comp.value; - } - } - - if (!(this instanceof Comparator)) { - return new Comparator(comp, options); - } - - debug('comparator', comp, options); - this.options = options; - this.loose = !!options.loose; - this.parse(comp); - - if (this.semver === ANY) { - this.value = ''; - } else { - this.value = this.operator + this.semver.version; - } - - debug('comp', this); -} - -var ANY = {}; - -Comparator.prototype.parse = function (comp) { - var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - var m = comp.match(r); - - if (!m) { - throw new TypeError('Invalid comparator: ' + comp); - } - - this.operator = m[1] !== undefined ? m[1] : ''; - - if (this.operator === '=') { - this.operator = ''; - } // if it literally is just '>' or '' then allow anything. - - - if (!m[2]) { - this.semver = ANY; - } else { - this.semver = new SemVer(m[2], this.options.loose); - } -}; - -Comparator.prototype.toString = function () { - return this.value; -}; - -Comparator.prototype.test = function (version) { - debug('Comparator.test', version, this.options.loose); - - if (this.semver === ANY || version === ANY) { - return true; - } - - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - - return cmp(version, this.operator, this.semver, this.options); -}; - -Comparator.prototype.intersects = function (comp, options) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } - - if (!options || _typeof(options) !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - var rangeTmp; - - if (this.operator === '') { - if (this.value === '') { - return true; - } - - rangeTmp = new Range(comp.value, options); - return satisfies(this.value, rangeTmp, options); - } else if (comp.operator === '') { - if (comp.value === '') { - return true; - } - - rangeTmp = new Range(this.value, options); - return satisfies(comp.semver, rangeTmp, options); - } - - var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>'); - var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<'); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<='); - var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<'); - var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>'); - return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; -}; - -exports.Range = Range; - -function Range(range, options) { - if (!options || _typeof(options) !== 'object') { - options = { - loose: !!options, - includePrerelease: false - }; - } - - if (range instanceof Range) { - if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { - return range; - } else { - return new Range(range.raw, options); - } - } - - if (range instanceof Comparator) { - return new Range(range.value, options); - } - - if (!(this instanceof Range)) { - return new Range(range, options); - } - - this.options = options; - this.loose = !!options.loose; - this.includePrerelease = !!options.includePrerelease; // First, split based on boolean or || - - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function (range) { - return this.parseRange(range.trim()); - }, this).filter(function (c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function () { - this.range = this.set.map(function (comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function () { - return this.range; -}; - -Range.prototype.parseRange = function (range) { - var loose = this.options.loose; - range = range.trim(); // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - - var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - - range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[t.COMPARATORTRIM]); // `~ 1.2.3` => `~1.2.3` - - range = range.replace(re[t.TILDETRIM], tildeTrimReplace); // `^ 1.2.3` => `^1.2.3` - - range = range.replace(re[t.CARETTRIM], caretTrimReplace); // normalize spaces - - range = range.split(/\s+/).join(' '); // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; - var set = range.split(' ').map(function (comp) { - return parseComparator(comp, this.options); - }, this).join(' ').split(/\s+/); - - if (this.options.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function (comp) { - return !!comp.match(compRe); - }); - } - - set = set.map(function (comp) { - return new Comparator(comp, this.options); - }, this); - return set; -}; - -Range.prototype.intersects = function (range, options) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } - - return this.set.some(function (thisComparators) { - return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) { - return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) { - return rangeComparators.every(function (rangeComparator) { - return thisComparator.intersects(rangeComparator, options); - }); - }); - }); - }); -}; // take a set of comparators and determine whether there -// exists a version which can satisfy it - - -function isSatisfiable(comparators, options) { - var result = true; - var remainingComparators = comparators.slice(); - var testComparator = remainingComparators.pop(); - - while (result && remainingComparators.length) { - result = remainingComparators.every(function (otherComparator) { - return testComparator.intersects(otherComparator, options); - }); - testComparator = remainingComparators.pop(); - } - - return result; -} // Mostly just for testing and legacy API reasons - - -exports.toComparators = toComparators; - -function toComparators(range, options) { - return new Range(range, options).set.map(function (comp) { - return comp.map(function (c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} // comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. - - -function parseComparator(comp, options) { - debug('comp', comp, options); - comp = replaceCarets(comp, options); - debug('caret', comp); - comp = replaceTildes(comp, options); - debug('tildes', comp); - comp = replaceXRanges(comp, options); - debug('xrange', comp); - comp = replaceStars(comp, options); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} // ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 - - -function replaceTildes(comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceTilde(comp, options); - }).join(' '); -} - -function replaceTilde(comp, options) { - var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; - return comp.replace(r, function (_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (isX(p)) { - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } else if (pr) { - debug('replaceTilde pr', pr); - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; - } else { - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; - } - - debug('tilde return', ret); - return ret; - }); -} // ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 - - -function replaceCarets(comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceCaret(comp, options); - }).join(' '); -} - -function replaceCaret(comp, options) { - debug('caret', comp, options); - var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; - return comp.replace(r, function (_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (isX(p)) { - if (M === '0') { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } else { - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } - } else if (pr) { - debug('replaceCaret pr', pr); - - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1); - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; - } - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0'; - } - } else { - debug('no pr'); - - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1); - } else { - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; - } - } else { - ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0'; - } - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, options) { - debug('replaceXRanges', comp, options); - return comp.split(/\s+/).map(function (comp) { - return replaceXRange(comp, options); - }).join(' '); -} - -function replaceXRange(comp, options) { - comp = comp.trim(); - var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; - return comp.replace(r, function (ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) { - gtlt = ''; - } // if we're including prereleases in the match, then we need - // to fix this to -0, the lowest possible prerelease value - - - pr = options.includePrerelease ? '-0' : ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0-0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // we know patch is an x, because we have any x at all. - // replace X with 0 - if (xm) { - m = 0; - } - - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - - ret = gtlt + M + '.' + m + '.' + p + pr; - } else if (xm) { - ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr; - } - - debug('xRange return', ret); - return ret; - }); -} // Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. - - -function replaceStars(comp, options) { - debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets! - - return comp.trim().replace(re[t.STAR], ''); -} // This function is passed to string.replace(re[t.HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 - - -function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { - if (isX(fM)) { - from = ''; - } else if (isX(fm)) { - from = '>=' + fM + '.0.0'; - } else if (isX(fp)) { - from = '>=' + fM + '.' + fm + '.0'; - } else { - from = '>=' + from; - } - - if (isX(tM)) { - to = ''; - } else if (isX(tm)) { - to = '<' + (+tM + 1) + '.0.0'; - } else if (isX(tp)) { - to = '<' + tM + '.' + (+tm + 1) + '.0'; - } else if (tpr) { - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - } else { - to = '<=' + to; - } - - return (from + ' ' + to).trim(); -} // if ANY of the sets match ALL of its comparators, then pass - - -Range.prototype.test = function (version) { - if (!version) { - return false; - } - - if (typeof version === 'string') { - try { - version = new SemVer(version, this.options); - } catch (er) { - return false; - } - } - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; - } - } - - return false; -}; - -function testSet(set, version, options) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } - } - - if (version.prerelease.length && !options.includePrerelease) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (i = 0; i < set.length; i++) { - debug(set[i].semver); - - if (set[i].semver === ANY) { - continue; - } - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } // Version has a -pre, but it's not one of the ones we like. - - - return false; - } - - return true; -} - -exports.satisfies = satisfies; - -function satisfies(version, range, options) { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; - -function maxSatisfying(versions, range, options) { - var max = null; - var maxSV = null; - - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!max || maxSV.compare(v) === -1) { - // compare(max, v, true) - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; -} - -exports.minSatisfying = minSatisfying; - -function minSatisfying(versions, range, options) { - var min = null; - var minSV = null; - - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!min || minSV.compare(v) === 1) { - // compare(min, v, true) - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; -} - -exports.minVersion = minVersion; - -function minVersion(range, loose) { - range = new Range(range, loose); - var minver = new SemVer('0.0.0'); - - if (range.test(minver)) { - return minver; - } - - minver = new SemVer('0.0.0-0'); - - if (range.test(minver)) { - return minver; - } - - minver = null; - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - comparators.forEach(function (comparator) { - // Clone to avoid manipulating the comparator's semver object. - var compver = new SemVer(comparator.semver.version); - - switch (comparator.operator) { - case '>': - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - - compver.raw = compver.format(); - - /* fallthrough */ - - case '': - case '>=': - if (!minver || gt(minver, compver)) { - minver = compver; - } - - break; - - case '<': - case '<=': - /* Ignore maximum versions */ - break; - - /* istanbul ignore next */ - - default: - throw new Error('Unexpected operation: ' + comparator.operator); - } - }); - } - - if (minver && range.test(minver)) { - return minver; - } - - return null; -} - -exports.validRange = validRange; - -function validRange(range, options) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, options).range || '*'; - } catch (er) { - return null; - } -} // Determine if version is less than all the versions possible in the range - - -exports.ltr = ltr; - -function ltr(version, range, options) { - return outside(version, range, '<', options); -} // Determine if version is greater than all the versions possible in the range. - - -exports.gtr = gtr; - -function gtr(version, range, options) { - return outside(version, range, '>', options); -} - -exports.outside = outside; - -function outside(version, range, hilo, options) { - version = new SemVer(version, options); - range = new Range(range, options); - var gtfn, ltefn, ltfn, comp, ecomp; - - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } // If it satisifes the range it is not outside - - - if (satisfies(version, range, options)) { - return false; - } // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - var high = null; - var low = null; - comparators.forEach(function (comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0'); - } - - high = high || comparator; - low = low || comparator; - - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); // If the edge version comparator has a operator then our version - // isn't outside it - - if (high.operator === comp || high.operator === ecomp) { - return false; - } // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - - - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - - return true; -} - -exports.prerelease = prerelease; - -function prerelease(version, options) { - var parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; -} - -exports.intersects = intersects; - -function intersects(r1, r2, options) { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2); -} - -exports.coerce = coerce; - -function coerce(version, options) { - if (version instanceof SemVer) { - return version; - } - - if (typeof version === 'number') { - version = String(version); - } - - if (typeof version !== 'string') { - return null; - } - - options = options || {}; - var match = null; - - if (!options.rtl) { - match = version.match(re[t.COERCE]); - } else { - // Find the right-most coercible string that does not share - // a terminus with a more left-ward coercible string. - // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' - // - // Walk through the string checking with a /g regexp - // Manually set the index so as to pick up overlapping matches. - // Stop when we get a match that ends at the string end, since no - // coercible string can be more right-ward without the same terminus. - var next; - - while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { - if (!match || next.index + next[0].length !== match.index + match[0].length) { - match = next; - } - - re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; - } // leave it in a clean state - - - re[t.COERCERTL].lastIndex = -1; - } - - if (match === null) { - return null; - } - - return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options); -} - -}).call(this,require('_process')) -},{"_process":1054}],308:[function(require,module,exports){ -require('../modules/es.symbol'); -require('../modules/es.symbol.async-iterator'); -require('../modules/es.symbol.description'); -require('../modules/es.symbol.has-instance'); -require('../modules/es.symbol.is-concat-spreadable'); -require('../modules/es.symbol.iterator'); -require('../modules/es.symbol.match'); -require('../modules/es.symbol.match-all'); -require('../modules/es.symbol.replace'); -require('../modules/es.symbol.search'); -require('../modules/es.symbol.species'); -require('../modules/es.symbol.split'); -require('../modules/es.symbol.to-primitive'); -require('../modules/es.symbol.to-string-tag'); -require('../modules/es.symbol.unscopables'); -require('../modules/es.object.assign'); -require('../modules/es.object.create'); -require('../modules/es.object.define-property'); -require('../modules/es.object.define-properties'); -require('../modules/es.object.entries'); -require('../modules/es.object.freeze'); -require('../modules/es.object.from-entries'); -require('../modules/es.object.get-own-property-descriptor'); -require('../modules/es.object.get-own-property-descriptors'); -require('../modules/es.object.get-own-property-names'); -require('../modules/es.object.get-prototype-of'); -require('../modules/es.object.is'); -require('../modules/es.object.is-extensible'); -require('../modules/es.object.is-frozen'); -require('../modules/es.object.is-sealed'); -require('../modules/es.object.keys'); -require('../modules/es.object.prevent-extensions'); -require('../modules/es.object.seal'); -require('../modules/es.object.set-prototype-of'); -require('../modules/es.object.values'); -require('../modules/es.object.to-string'); -require('../modules/es.object.define-getter'); -require('../modules/es.object.define-setter'); -require('../modules/es.object.lookup-getter'); -require('../modules/es.object.lookup-setter'); -require('../modules/es.function.bind'); -require('../modules/es.function.name'); -require('../modules/es.function.has-instance'); -require('../modules/es.global-this'); -require('../modules/es.array.from'); -require('../modules/es.array.is-array'); -require('../modules/es.array.of'); -require('../modules/es.array.concat'); -require('../modules/es.array.copy-within'); -require('../modules/es.array.every'); -require('../modules/es.array.fill'); -require('../modules/es.array.filter'); -require('../modules/es.array.find'); -require('../modules/es.array.find-index'); -require('../modules/es.array.flat'); -require('../modules/es.array.flat-map'); -require('../modules/es.array.for-each'); -require('../modules/es.array.includes'); -require('../modules/es.array.index-of'); -require('../modules/es.array.join'); -require('../modules/es.array.last-index-of'); -require('../modules/es.array.map'); -require('../modules/es.array.reduce'); -require('../modules/es.array.reduce-right'); -require('../modules/es.array.reverse'); -require('../modules/es.array.slice'); -require('../modules/es.array.some'); -require('../modules/es.array.sort'); -require('../modules/es.array.splice'); -require('../modules/es.array.species'); -require('../modules/es.array.unscopables.flat'); -require('../modules/es.array.unscopables.flat-map'); -require('../modules/es.array.iterator'); -require('../modules/es.string.from-code-point'); -require('../modules/es.string.raw'); -require('../modules/es.string.code-point-at'); -require('../modules/es.string.ends-with'); -require('../modules/es.string.includes'); -require('../modules/es.string.match'); -require('../modules/es.string.match-all'); -require('../modules/es.string.pad-end'); -require('../modules/es.string.pad-start'); -require('../modules/es.string.repeat'); -require('../modules/es.string.replace'); -require('../modules/es.string.search'); -require('../modules/es.string.split'); -require('../modules/es.string.starts-with'); -require('../modules/es.string.trim'); -require('../modules/es.string.trim-start'); -require('../modules/es.string.trim-end'); -require('../modules/es.string.iterator'); -require('../modules/es.string.anchor'); -require('../modules/es.string.big'); -require('../modules/es.string.blink'); -require('../modules/es.string.bold'); -require('../modules/es.string.fixed'); -require('../modules/es.string.fontcolor'); -require('../modules/es.string.fontsize'); -require('../modules/es.string.italics'); -require('../modules/es.string.link'); -require('../modules/es.string.small'); -require('../modules/es.string.strike'); -require('../modules/es.string.sub'); -require('../modules/es.string.sup'); -require('../modules/es.regexp.constructor'); -require('../modules/es.regexp.exec'); -require('../modules/es.regexp.flags'); -require('../modules/es.regexp.to-string'); -require('../modules/es.parse-int'); -require('../modules/es.parse-float'); -require('../modules/es.number.constructor'); -require('../modules/es.number.epsilon'); -require('../modules/es.number.is-finite'); -require('../modules/es.number.is-integer'); -require('../modules/es.number.is-nan'); -require('../modules/es.number.is-safe-integer'); -require('../modules/es.number.max-safe-integer'); -require('../modules/es.number.min-safe-integer'); -require('../modules/es.number.parse-float'); -require('../modules/es.number.parse-int'); -require('../modules/es.number.to-fixed'); -require('../modules/es.number.to-precision'); -require('../modules/es.math.acosh'); -require('../modules/es.math.asinh'); -require('../modules/es.math.atanh'); -require('../modules/es.math.cbrt'); -require('../modules/es.math.clz32'); -require('../modules/es.math.cosh'); -require('../modules/es.math.expm1'); -require('../modules/es.math.fround'); -require('../modules/es.math.hypot'); -require('../modules/es.math.imul'); -require('../modules/es.math.log10'); -require('../modules/es.math.log1p'); -require('../modules/es.math.log2'); -require('../modules/es.math.sign'); -require('../modules/es.math.sinh'); -require('../modules/es.math.tanh'); -require('../modules/es.math.to-string-tag'); -require('../modules/es.math.trunc'); -require('../modules/es.date.now'); -require('../modules/es.date.to-json'); -require('../modules/es.date.to-iso-string'); -require('../modules/es.date.to-string'); -require('../modules/es.date.to-primitive'); -require('../modules/es.json.to-string-tag'); -require('../modules/es.promise'); -require('../modules/es.promise.all-settled'); -require('../modules/es.promise.finally'); -require('../modules/es.map'); -require('../modules/es.set'); -require('../modules/es.weak-map'); -require('../modules/es.weak-set'); -require('../modules/es.array-buffer.constructor'); -require('../modules/es.array-buffer.is-view'); -require('../modules/es.array-buffer.slice'); -require('../modules/es.data-view'); -require('../modules/es.typed-array.int8-array'); -require('../modules/es.typed-array.uint8-array'); -require('../modules/es.typed-array.uint8-clamped-array'); -require('../modules/es.typed-array.int16-array'); -require('../modules/es.typed-array.uint16-array'); -require('../modules/es.typed-array.int32-array'); -require('../modules/es.typed-array.uint32-array'); -require('../modules/es.typed-array.float32-array'); -require('../modules/es.typed-array.float64-array'); -require('../modules/es.typed-array.from'); -require('../modules/es.typed-array.of'); -require('../modules/es.typed-array.copy-within'); -require('../modules/es.typed-array.every'); -require('../modules/es.typed-array.fill'); -require('../modules/es.typed-array.filter'); -require('../modules/es.typed-array.find'); -require('../modules/es.typed-array.find-index'); -require('../modules/es.typed-array.for-each'); -require('../modules/es.typed-array.includes'); -require('../modules/es.typed-array.index-of'); -require('../modules/es.typed-array.iterator'); -require('../modules/es.typed-array.join'); -require('../modules/es.typed-array.last-index-of'); -require('../modules/es.typed-array.map'); -require('../modules/es.typed-array.reduce'); -require('../modules/es.typed-array.reduce-right'); -require('../modules/es.typed-array.reverse'); -require('../modules/es.typed-array.set'); -require('../modules/es.typed-array.slice'); -require('../modules/es.typed-array.some'); -require('../modules/es.typed-array.sort'); -require('../modules/es.typed-array.subarray'); -require('../modules/es.typed-array.to-locale-string'); -require('../modules/es.typed-array.to-string'); -require('../modules/es.reflect.apply'); -require('../modules/es.reflect.construct'); -require('../modules/es.reflect.define-property'); -require('../modules/es.reflect.delete-property'); -require('../modules/es.reflect.get'); -require('../modules/es.reflect.get-own-property-descriptor'); -require('../modules/es.reflect.get-prototype-of'); -require('../modules/es.reflect.has'); -require('../modules/es.reflect.is-extensible'); -require('../modules/es.reflect.own-keys'); -require('../modules/es.reflect.prevent-extensions'); -require('../modules/es.reflect.set'); -require('../modules/es.reflect.set-prototype-of'); - -module.exports = require('../internals/path'); - -},{"../internals/path":430,"../modules/es.array-buffer.constructor":476,"../modules/es.array-buffer.is-view":477,"../modules/es.array-buffer.slice":478,"../modules/es.array.concat":479,"../modules/es.array.copy-within":480,"../modules/es.array.every":481,"../modules/es.array.fill":482,"../modules/es.array.filter":483,"../modules/es.array.find":485,"../modules/es.array.find-index":484,"../modules/es.array.flat":487,"../modules/es.array.flat-map":486,"../modules/es.array.for-each":488,"../modules/es.array.from":489,"../modules/es.array.includes":490,"../modules/es.array.index-of":491,"../modules/es.array.is-array":492,"../modules/es.array.iterator":493,"../modules/es.array.join":494,"../modules/es.array.last-index-of":495,"../modules/es.array.map":496,"../modules/es.array.of":497,"../modules/es.array.reduce":499,"../modules/es.array.reduce-right":498,"../modules/es.array.reverse":500,"../modules/es.array.slice":501,"../modules/es.array.some":502,"../modules/es.array.sort":503,"../modules/es.array.species":504,"../modules/es.array.splice":505,"../modules/es.array.unscopables.flat":507,"../modules/es.array.unscopables.flat-map":506,"../modules/es.data-view":508,"../modules/es.date.now":509,"../modules/es.date.to-iso-string":510,"../modules/es.date.to-json":511,"../modules/es.date.to-primitive":512,"../modules/es.date.to-string":513,"../modules/es.function.bind":514,"../modules/es.function.has-instance":515,"../modules/es.function.name":516,"../modules/es.global-this":517,"../modules/es.json.to-string-tag":518,"../modules/es.map":519,"../modules/es.math.acosh":520,"../modules/es.math.asinh":521,"../modules/es.math.atanh":522,"../modules/es.math.cbrt":523,"../modules/es.math.clz32":524,"../modules/es.math.cosh":525,"../modules/es.math.expm1":526,"../modules/es.math.fround":527,"../modules/es.math.hypot":528,"../modules/es.math.imul":529,"../modules/es.math.log10":530,"../modules/es.math.log1p":531,"../modules/es.math.log2":532,"../modules/es.math.sign":533,"../modules/es.math.sinh":534,"../modules/es.math.tanh":535,"../modules/es.math.to-string-tag":536,"../modules/es.math.trunc":537,"../modules/es.number.constructor":538,"../modules/es.number.epsilon":539,"../modules/es.number.is-finite":540,"../modules/es.number.is-integer":541,"../modules/es.number.is-nan":542,"../modules/es.number.is-safe-integer":543,"../modules/es.number.max-safe-integer":544,"../modules/es.number.min-safe-integer":545,"../modules/es.number.parse-float":546,"../modules/es.number.parse-int":547,"../modules/es.number.to-fixed":548,"../modules/es.number.to-precision":549,"../modules/es.object.assign":550,"../modules/es.object.create":551,"../modules/es.object.define-getter":552,"../modules/es.object.define-properties":553,"../modules/es.object.define-property":554,"../modules/es.object.define-setter":555,"../modules/es.object.entries":556,"../modules/es.object.freeze":557,"../modules/es.object.from-entries":558,"../modules/es.object.get-own-property-descriptor":559,"../modules/es.object.get-own-property-descriptors":560,"../modules/es.object.get-own-property-names":561,"../modules/es.object.get-prototype-of":562,"../modules/es.object.is":566,"../modules/es.object.is-extensible":563,"../modules/es.object.is-frozen":564,"../modules/es.object.is-sealed":565,"../modules/es.object.keys":567,"../modules/es.object.lookup-getter":568,"../modules/es.object.lookup-setter":569,"../modules/es.object.prevent-extensions":570,"../modules/es.object.seal":571,"../modules/es.object.set-prototype-of":572,"../modules/es.object.to-string":573,"../modules/es.object.values":574,"../modules/es.parse-float":575,"../modules/es.parse-int":576,"../modules/es.promise":579,"../modules/es.promise.all-settled":577,"../modules/es.promise.finally":578,"../modules/es.reflect.apply":580,"../modules/es.reflect.construct":581,"../modules/es.reflect.define-property":582,"../modules/es.reflect.delete-property":583,"../modules/es.reflect.get":586,"../modules/es.reflect.get-own-property-descriptor":584,"../modules/es.reflect.get-prototype-of":585,"../modules/es.reflect.has":587,"../modules/es.reflect.is-extensible":588,"../modules/es.reflect.own-keys":589,"../modules/es.reflect.prevent-extensions":590,"../modules/es.reflect.set":592,"../modules/es.reflect.set-prototype-of":591,"../modules/es.regexp.constructor":593,"../modules/es.regexp.exec":594,"../modules/es.regexp.flags":595,"../modules/es.regexp.to-string":596,"../modules/es.set":597,"../modules/es.string.anchor":598,"../modules/es.string.big":599,"../modules/es.string.blink":600,"../modules/es.string.bold":601,"../modules/es.string.code-point-at":602,"../modules/es.string.ends-with":603,"../modules/es.string.fixed":604,"../modules/es.string.fontcolor":605,"../modules/es.string.fontsize":606,"../modules/es.string.from-code-point":607,"../modules/es.string.includes":608,"../modules/es.string.italics":609,"../modules/es.string.iterator":610,"../modules/es.string.link":611,"../modules/es.string.match":613,"../modules/es.string.match-all":612,"../modules/es.string.pad-end":614,"../modules/es.string.pad-start":615,"../modules/es.string.raw":616,"../modules/es.string.repeat":617,"../modules/es.string.replace":618,"../modules/es.string.search":619,"../modules/es.string.small":620,"../modules/es.string.split":621,"../modules/es.string.starts-with":622,"../modules/es.string.strike":623,"../modules/es.string.sub":624,"../modules/es.string.sup":625,"../modules/es.string.trim":628,"../modules/es.string.trim-end":626,"../modules/es.string.trim-start":627,"../modules/es.symbol":634,"../modules/es.symbol.async-iterator":629,"../modules/es.symbol.description":630,"../modules/es.symbol.has-instance":631,"../modules/es.symbol.is-concat-spreadable":632,"../modules/es.symbol.iterator":633,"../modules/es.symbol.match":636,"../modules/es.symbol.match-all":635,"../modules/es.symbol.replace":637,"../modules/es.symbol.search":638,"../modules/es.symbol.species":639,"../modules/es.symbol.split":640,"../modules/es.symbol.to-primitive":641,"../modules/es.symbol.to-string-tag":642,"../modules/es.symbol.unscopables":643,"../modules/es.typed-array.copy-within":644,"../modules/es.typed-array.every":645,"../modules/es.typed-array.fill":646,"../modules/es.typed-array.filter":647,"../modules/es.typed-array.find":649,"../modules/es.typed-array.find-index":648,"../modules/es.typed-array.float32-array":650,"../modules/es.typed-array.float64-array":651,"../modules/es.typed-array.for-each":652,"../modules/es.typed-array.from":653,"../modules/es.typed-array.includes":654,"../modules/es.typed-array.index-of":655,"../modules/es.typed-array.int16-array":656,"../modules/es.typed-array.int32-array":657,"../modules/es.typed-array.int8-array":658,"../modules/es.typed-array.iterator":659,"../modules/es.typed-array.join":660,"../modules/es.typed-array.last-index-of":661,"../modules/es.typed-array.map":662,"../modules/es.typed-array.of":663,"../modules/es.typed-array.reduce":665,"../modules/es.typed-array.reduce-right":664,"../modules/es.typed-array.reverse":666,"../modules/es.typed-array.set":667,"../modules/es.typed-array.slice":668,"../modules/es.typed-array.some":669,"../modules/es.typed-array.sort":670,"../modules/es.typed-array.subarray":671,"../modules/es.typed-array.to-locale-string":672,"../modules/es.typed-array.to-string":673,"../modules/es.typed-array.uint16-array":674,"../modules/es.typed-array.uint32-array":675,"../modules/es.typed-array.uint8-array":676,"../modules/es.typed-array.uint8-clamped-array":677,"../modules/es.weak-map":678,"../modules/es.weak-set":679}],309:[function(require,module,exports){ -require('./es'); -require('./proposals'); -require('./web'); - -module.exports = require('./internals/path'); - -},{"./es":308,"./internals/path":430,"./proposals":802,"./web":830}],310:[function(require,module,exports){ -module.exports = function (it) { - if (typeof it != 'function') { - throw TypeError(String(it) + ' is not a function'); - } return it; -}; - -},{}],311:[function(require,module,exports){ -var isObject = require('../internals/is-object'); - -module.exports = function (it) { - if (!isObject(it) && it !== null) { - throw TypeError("Can't set " + String(it) + ' as a prototype'); - } return it; -}; - -},{"../internals/is-object":392}],312:[function(require,module,exports){ -var wellKnownSymbol = require('../internals/well-known-symbol'); -var create = require('../internals/object-create'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); - -var UNSCOPABLES = wellKnownSymbol('unscopables'); -var ArrayPrototype = Array.prototype; - -// Array.prototype[@@unscopables] -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -if (ArrayPrototype[UNSCOPABLES] == undefined) { - createNonEnumerableProperty(ArrayPrototype, UNSCOPABLES, create(null)); -} - -// add a key to Array.prototype[@@unscopables] -module.exports = function (key) { - ArrayPrototype[UNSCOPABLES][key] = true; -}; - -},{"../internals/create-non-enumerable-property":350,"../internals/object-create":413,"../internals/well-known-symbol":473}],313:[function(require,module,exports){ -'use strict'; -var charAt = require('../internals/string-multibyte').charAt; - -// `AdvanceStringIndex` abstract operation -// https://tc39.github.io/ecma262/#sec-advancestringindex -module.exports = function (S, index, unicode) { - return index + (unicode ? charAt(S, index).length : 1); -}; - -},{"../internals/string-multibyte":451}],314:[function(require,module,exports){ -module.exports = function (it, Constructor, name) { - if (!(it instanceof Constructor)) { - throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); - } return it; -}; - -},{}],315:[function(require,module,exports){ -var isObject = require('../internals/is-object'); - -module.exports = function (it) { - if (!isObject(it)) { - throw TypeError(String(it) + ' is not an object'); - } return it; -}; - -},{"../internals/is-object":392}],316:[function(require,module,exports){ -'use strict'; -var DESCRIPTORS = require('../internals/descriptors'); -var global = require('../internals/global'); -var isObject = require('../internals/is-object'); -var has = require('../internals/has'); -var classof = require('../internals/classof'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefine = require('../internals/redefine'); -var defineProperty = require('../internals/object-define-property').f; -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var uid = require('../internals/uid'); - -var DataView = global.DataView; -var DataViewPrototype = DataView && DataView.prototype; -var Int8Array = global.Int8Array; -var Int8ArrayPrototype = Int8Array && Int8Array.prototype; -var Uint8ClampedArray = global.Uint8ClampedArray; -var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; -var TypedArray = Int8Array && getPrototypeOf(Int8Array); -var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); -var ObjectPrototype = Object.prototype; -var isPrototypeOf = ObjectPrototype.isPrototypeOf; - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); -var NATIVE_ARRAY_BUFFER = !!(global.ArrayBuffer && DataView); -// Fixing native typed arrays in Opera Presto crashes the browser, see #595 -var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; -var TYPED_ARRAY_TAG_REQIRED = false; -var NAME; - -var TypedArrayConstructorsList = { - Int8Array: 1, - Uint8Array: 1, - Uint8ClampedArray: 1, - Int16Array: 2, - Uint16Array: 2, - Int32Array: 4, - Uint32Array: 4, - Float32Array: 4, - Float64Array: 8 -}; - -var isView = function isView(it) { - var klass = classof(it); - return klass === 'DataView' || has(TypedArrayConstructorsList, klass); -}; - -var isTypedArray = function (it) { - return isObject(it) && has(TypedArrayConstructorsList, classof(it)); -}; - -var aTypedArray = function (it) { - if (isTypedArray(it)) return it; - throw TypeError('Target is not a typed array'); -}; - -var aTypedArrayConstructor = function (C) { - if (setPrototypeOf) { - if (isPrototypeOf.call(TypedArray, C)) return C; - } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { - var TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { - return C; - } - } throw TypeError('Target is not a typed array constructor'); -}; - -var exportProto = function (KEY, property, forced) { - if (!DESCRIPTORS) return; - if (forced) for (var ARRAY in TypedArrayConstructorsList) { - var TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { - delete TypedArrayConstructor.prototype[KEY]; - } - } - if (!TypedArrayPrototype[KEY] || forced) { - redefine(TypedArrayPrototype, KEY, forced ? property - : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); - } -}; - -var exportStatic = function (KEY, property, forced) { - var ARRAY, TypedArrayConstructor; - if (!DESCRIPTORS) return; - if (setPrototypeOf) { - if (forced) for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { - delete TypedArrayConstructor[KEY]; - } - } - if (!TypedArray[KEY] || forced) { - // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable - try { - return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); - } catch (error) { /* empty */ } - } else return; - } - for (ARRAY in TypedArrayConstructorsList) { - TypedArrayConstructor = global[ARRAY]; - if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { - redefine(TypedArrayConstructor, KEY, property); - } - } -}; - -for (NAME in TypedArrayConstructorsList) { - if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; -} - -// WebKit bug - typed arrays constructors prototype is Object.prototype -if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { - // eslint-disable-next-line no-shadow - TypedArray = function TypedArray() { - throw TypeError('Incorrect invocation'); - }; - if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); - } -} - -if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { - TypedArrayPrototype = TypedArray.prototype; - if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { - if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); - } -} - -// WebKit bug - one more object in Uint8ClampedArray prototype chain -if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { - setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); -} - -if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { - TYPED_ARRAY_TAG_REQIRED = true; - defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { - return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; - } }); - for (NAME in TypedArrayConstructorsList) if (global[NAME]) { - createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); - } -} - -// WebKit bug - the same parent prototype for typed arrays and data view -if (NATIVE_ARRAY_BUFFER && setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { - setPrototypeOf(DataViewPrototype, ObjectPrototype); -} - -module.exports = { - NATIVE_ARRAY_BUFFER: NATIVE_ARRAY_BUFFER, - NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, - TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, - aTypedArray: aTypedArray, - aTypedArrayConstructor: aTypedArrayConstructor, - exportProto: exportProto, - exportStatic: exportStatic, - isView: isView, - isTypedArray: isTypedArray, - TypedArray: TypedArray, - TypedArrayPrototype: TypedArrayPrototype -}; - -},{"../internals/classof":334,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/global":377,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424,"../internals/redefine":435,"../internals/uid":469,"../internals/well-known-symbol":473}],317:[function(require,module,exports){ -'use strict'; -var global = require('../internals/global'); -var DESCRIPTORS = require('../internals/descriptors'); -var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER; -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefineAll = require('../internals/redefine-all'); -var fails = require('../internals/fails'); -var anInstance = require('../internals/an-instance'); -var toInteger = require('../internals/to-integer'); -var toLength = require('../internals/to-length'); -var toIndex = require('../internals/to-index'); -var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; -var defineProperty = require('../internals/object-define-property').f; -var arrayFill = require('../internals/array-fill'); -var setToStringTag = require('../internals/set-to-string-tag'); -var InternalStateModule = require('../internals/internal-state'); - -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var ARRAY_BUFFER = 'ArrayBuffer'; -var DATA_VIEW = 'DataView'; -var PROTOTYPE = 'prototype'; -var WRONG_LENGTH = 'Wrong length'; -var WRONG_INDEX = 'Wrong index'; -var NativeArrayBuffer = global[ARRAY_BUFFER]; -var $ArrayBuffer = NativeArrayBuffer; -var $DataView = global[DATA_VIEW]; -var Math = global.Math; -var RangeError = global.RangeError; -// eslint-disable-next-line no-shadow-restricted-names -var Infinity = 1 / 0; -var abs = Math.abs; -var pow = Math.pow; -var floor = Math.floor; -var log = Math.log; -var LN2 = Math.LN2; - -// IEEE754 conversions based on https://github.com/feross/ieee754 -var packIEEE754 = function (number, mantissaLength, bytes) { - var buffer = new Array(bytes); - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; - var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; - var index = 0; - var exponent, mantissa, c; - number = abs(number); - // eslint-disable-next-line no-self-compare - if (number != number || number === Infinity) { - // eslint-disable-next-line no-self-compare - mantissa = number != number ? 1 : 0; - exponent = eMax; - } else { - exponent = floor(log(number) / LN2); - if (number * (c = pow(2, -exponent)) < 1) { - exponent--; - c *= 2; - } - if (exponent + eBias >= 1) { - number += rt / c; - } else { - number += rt * pow(2, 1 - eBias); - } - if (number * c >= 2) { - exponent++; - c /= 2; - } - if (exponent + eBias >= eMax) { - mantissa = 0; - exponent = eMax; - } else if (exponent + eBias >= 1) { - mantissa = (number * c - 1) * pow(2, mantissaLength); - exponent = exponent + eBias; - } else { - mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); - exponent = 0; - } - } - for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); - exponent = exponent << mantissaLength | mantissa; - exponentLength += mantissaLength; - for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); - buffer[--index] |= sign * 128; - return buffer; -}; - -var unpackIEEE754 = function (buffer, mantissaLength) { - var bytes = buffer.length; - var exponentLength = bytes * 8 - mantissaLength - 1; - var eMax = (1 << exponentLength) - 1; - var eBias = eMax >> 1; - var nBits = exponentLength - 7; - var index = bytes - 1; - var sign = buffer[index--]; - var exponent = sign & 127; - var mantissa; - sign >>= 7; - for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); - mantissa = exponent & (1 << -nBits) - 1; - exponent >>= -nBits; - nBits += mantissaLength; - for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); - if (exponent === 0) { - exponent = 1 - eBias; - } else if (exponent === eMax) { - return mantissa ? NaN : sign ? -Infinity : Infinity; - } else { - mantissa = mantissa + pow(2, mantissaLength); - exponent = exponent - eBias; - } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); -}; - -var unpackInt32 = function (buffer) { - return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; -}; - -var packInt8 = function (number) { - return [number & 0xFF]; -}; - -var packInt16 = function (number) { - return [number & 0xFF, number >> 8 & 0xFF]; -}; - -var packInt32 = function (number) { - return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; -}; - -var packFloat32 = function (number) { - return packIEEE754(number, 23, 4); -}; - -var packFloat64 = function (number) { - return packIEEE754(number, 52, 8); -}; - -var addGetter = function (Constructor, key) { - defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); -}; - -var get = function (view, count, index, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - var store = getInternalState(view); - if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); - var bytes = getInternalState(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = bytes.slice(start, start + count); - return isLittleEndian ? pack : pack.reverse(); -}; - -var set = function (view, count, index, conversion, value, isLittleEndian) { - var numIndex = +index; - var intIndex = toIndex(numIndex); - var store = getInternalState(view); - if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); - var bytes = getInternalState(store.buffer).bytes; - var start = intIndex + store.byteOffset; - var pack = conversion(+value); - for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; -}; - -if (!NATIVE_ARRAY_BUFFER) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer, ARRAY_BUFFER); - var byteLength = toIndex(length); - setInternalState(this, { - bytes: arrayFill.call(new Array(byteLength), 0), - byteLength: byteLength - }); - if (!DESCRIPTORS) this.byteLength = byteLength; - }; - - $DataView = function DataView(buffer, byteOffset, byteLength) { - anInstance(this, $DataView, DATA_VIEW); - anInstance(buffer, $ArrayBuffer, DATA_VIEW); - var bufferLength = getInternalState(buffer).byteLength; - var offset = toInteger(byteOffset); - if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); - byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); - if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); - setInternalState(this, { - buffer: buffer, - byteLength: byteLength, - byteOffset: offset - }); - if (!DESCRIPTORS) { - this.buffer = buffer; - this.byteLength = byteLength; - this.byteOffset = offset; - } - }; - - if (DESCRIPTORS) { - addGetter($ArrayBuffer, 'byteLength'); - addGetter($DataView, 'buffer'); - addGetter($DataView, 'byteLength'); - addGetter($DataView, 'byteOffset'); - } - - redefineAll($DataView[PROTOTYPE], { - getInt8: function getInt8(byteOffset) { - return get(this, 1, byteOffset)[0] << 24 >> 24; - }, - getUint8: function getUint8(byteOffset) { - return get(this, 1, byteOffset)[0]; - }, - getInt16: function getInt16(byteOffset /* , littleEndian */) { - var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); - return (bytes[1] << 8 | bytes[0]) << 16 >> 16; - }, - getUint16: function getUint16(byteOffset /* , littleEndian */) { - var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); - return bytes[1] << 8 | bytes[0]; - }, - getInt32: function getInt32(byteOffset /* , littleEndian */) { - return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); - }, - getUint32: function getUint32(byteOffset /* , littleEndian */) { - return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; - }, - getFloat32: function getFloat32(byteOffset /* , littleEndian */) { - return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); - }, - getFloat64: function getFloat64(byteOffset /* , littleEndian */) { - return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); - }, - setInt8: function setInt8(byteOffset, value) { - set(this, 1, byteOffset, packInt8, value); - }, - setUint8: function setUint8(byteOffset, value) { - set(this, 1, byteOffset, packInt8, value); - }, - setInt16: function setInt16(byteOffset, value /* , littleEndian */) { - set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setUint16: function setUint16(byteOffset, value /* , littleEndian */) { - set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setInt32: function setInt32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setUint32: function setUint32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { - set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); - }, - setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { - set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); - } - }); -} else { - if (!fails(function () { - NativeArrayBuffer(1); - }) || !fails(function () { - new NativeArrayBuffer(-1); // eslint-disable-line no-new - }) || fails(function () { - new NativeArrayBuffer(); // eslint-disable-line no-new - new NativeArrayBuffer(1.5); // eslint-disable-line no-new - new NativeArrayBuffer(NaN); // eslint-disable-line no-new - return NativeArrayBuffer.name != ARRAY_BUFFER; - })) { - $ArrayBuffer = function ArrayBuffer(length) { - anInstance(this, $ArrayBuffer); - return new NativeArrayBuffer(toIndex(length)); - }; - var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; - for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { - if (!((key = keys[j++]) in $ArrayBuffer)) { - createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); - } - } - ArrayBufferPrototype.constructor = $ArrayBuffer; - } - // iOS Safari 7.x bug - var testView = new $DataView(new $ArrayBuffer(2)); - var nativeSetInt8 = $DataView[PROTOTYPE].setInt8; - testView.setInt8(0, 2147483648); - testView.setInt8(1, 2147483649); - if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataView[PROTOTYPE], { - setInt8: function setInt8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - }, - setUint8: function setUint8(byteOffset, value) { - nativeSetInt8.call(this, byteOffset, value << 24 >> 24); - } - }, { unsafe: true }); -} - -setToStringTag($ArrayBuffer, ARRAY_BUFFER); -setToStringTag($DataView, DATA_VIEW); - -module.exports = { - ArrayBuffer: $ArrayBuffer, - DataView: $DataView -}; - -},{"../internals/an-instance":314,"../internals/array-buffer-view-core":316,"../internals/array-fill":319,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/internal-state":386,"../internals/object-define-property":415,"../internals/object-get-own-property-names":418,"../internals/redefine-all":434,"../internals/set-to-string-tag":445,"../internals/to-index":458,"../internals/to-integer":460,"../internals/to-length":461}],318:[function(require,module,exports){ -'use strict'; -var toObject = require('../internals/to-object'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var toLength = require('../internals/to-length'); - -var min = Math.min; - -// `Array.prototype.copyWithin` method implementation -// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin -module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { - var O = toObject(this); - var len = toLength(O.length); - var to = toAbsoluteIndex(target, len); - var from = toAbsoluteIndex(start, len); - var end = arguments.length > 2 ? arguments[2] : undefined; - var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); - var inc = 1; - if (from < to && to < from + count) { - inc = -1; - from += count - 1; - to += count - 1; - } - while (count-- > 0) { - if (from in O) O[to] = O[from]; - else delete O[to]; - to += inc; - from += inc; - } return O; -}; - -},{"../internals/to-absolute-index":457,"../internals/to-length":461,"../internals/to-object":462}],319:[function(require,module,exports){ -'use strict'; -var toObject = require('../internals/to-object'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var toLength = require('../internals/to-length'); - -// `Array.prototype.fill` method implementation -// https://tc39.github.io/ecma262/#sec-array.prototype.fill -module.exports = function fill(value /* , start = 0, end = @length */) { - var O = toObject(this); - var length = toLength(O.length); - var argumentsLength = arguments.length; - var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); - var end = argumentsLength > 2 ? arguments[2] : undefined; - var endPos = end === undefined ? length : toAbsoluteIndex(end, length); - while (endPos > index) O[index++] = value; - return O; -}; - -},{"../internals/to-absolute-index":457,"../internals/to-length":461,"../internals/to-object":462}],320:[function(require,module,exports){ -'use strict'; -var $forEach = require('../internals/array-iteration').forEach; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -// `Array.prototype.forEach` method implementation -// https://tc39.github.io/ecma262/#sec-array.prototype.foreach -module.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) { - return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); -} : [].forEach; - -},{"../internals/array-iteration":323,"../internals/sloppy-array-method":449}],321:[function(require,module,exports){ -'use strict'; -var bind = require('../internals/bind-context'); -var toObject = require('../internals/to-object'); -var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); -var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); -var toLength = require('../internals/to-length'); -var createProperty = require('../internals/create-property'); -var getIteratorMethod = require('../internals/get-iterator-method'); - -// `Array.from` method implementation -// https://tc39.github.io/ecma262/#sec-array.from -module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { - var O = toObject(arrayLike); - var C = typeof this == 'function' ? this : Array; - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var index = 0; - var iteratorMethod = getIteratorMethod(O); - var length, result, step, iterator, next; - if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); - // if the target is not iterable or it's an array with the default iterator - use a simple case - if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { - iterator = iteratorMethod.call(O); - next = iterator.next; - result = new C(); - for (;!(step = next.call(iterator)).done; index++) { - createProperty(result, index, mapping - ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) - : step.value - ); - } - } else { - length = toLength(O.length); - result = new C(length); - for (;length > index; index++) { - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; -}; - -},{"../internals/bind-context":330,"../internals/call-with-safe-iteration-closing":331,"../internals/create-property":352,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461,"../internals/to-object":462}],322:[function(require,module,exports){ -var toIndexedObject = require('../internals/to-indexed-object'); -var toLength = require('../internals/to-length'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); - -// `Array.prototype.{ indexOf, includes }` methods implementation -var createMethod = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIndexedObject($this); - var length = toLength(O.length); - var index = toAbsoluteIndex(fromIndex, length); - var value; - // Array#includes uses SameValueZero equality algorithm - // eslint-disable-next-line no-self-compare - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - // eslint-disable-next-line no-self-compare - if (value != value) return true; - // Array#indexOf ignores holes, Array#includes - not - } else for (;length > index; index++) { - if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; - } return !IS_INCLUDES && -1; - }; -}; - -module.exports = { - // `Array.prototype.includes` method - // https://tc39.github.io/ecma262/#sec-array.prototype.includes - includes: createMethod(true), - // `Array.prototype.indexOf` method - // https://tc39.github.io/ecma262/#sec-array.prototype.indexof - indexOf: createMethod(false) -}; - -},{"../internals/to-absolute-index":457,"../internals/to-indexed-object":459,"../internals/to-length":461}],323:[function(require,module,exports){ -var bind = require('../internals/bind-context'); -var IndexedObject = require('../internals/indexed-object'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var arraySpeciesCreate = require('../internals/array-species-create'); - -var push = [].push; - -// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation -var createMethod = function (TYPE) { - var IS_MAP = TYPE == 1; - var IS_FILTER = TYPE == 2; - var IS_SOME = TYPE == 3; - var IS_EVERY = TYPE == 4; - var IS_FIND_INDEX = TYPE == 6; - var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; - return function ($this, callbackfn, that, specificCreate) { - var O = toObject($this); - var self = IndexedObject(O); - var boundFunction = bind(callbackfn, that, 3); - var length = toLength(self.length); - var index = 0; - var create = specificCreate || arraySpeciesCreate; - var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; - var value, result; - for (;length > index; index++) if (NO_HOLES || index in self) { - value = self[index]; - result = boundFunction(value, index, O); - if (TYPE) { - if (IS_MAP) target[index] = result; // map - else if (result) switch (TYPE) { - case 3: return true; // some - case 5: return value; // find - case 6: return index; // findIndex - case 2: push.call(target, value); // filter - } else if (IS_EVERY) return false; // every - } - } - return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; - }; -}; - -module.exports = { - // `Array.prototype.forEach` method - // https://tc39.github.io/ecma262/#sec-array.prototype.foreach - forEach: createMethod(0), - // `Array.prototype.map` method - // https://tc39.github.io/ecma262/#sec-array.prototype.map - map: createMethod(1), - // `Array.prototype.filter` method - // https://tc39.github.io/ecma262/#sec-array.prototype.filter - filter: createMethod(2), - // `Array.prototype.some` method - // https://tc39.github.io/ecma262/#sec-array.prototype.some - some: createMethod(3), - // `Array.prototype.every` method - // https://tc39.github.io/ecma262/#sec-array.prototype.every - every: createMethod(4), - // `Array.prototype.find` method - // https://tc39.github.io/ecma262/#sec-array.prototype.find - find: createMethod(5), - // `Array.prototype.findIndex` method - // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex - findIndex: createMethod(6) -}; - -},{"../internals/array-species-create":327,"../internals/bind-context":330,"../internals/indexed-object":383,"../internals/to-length":461,"../internals/to-object":462}],324:[function(require,module,exports){ -'use strict'; -var toIndexedObject = require('../internals/to-indexed-object'); -var toInteger = require('../internals/to-integer'); -var toLength = require('../internals/to-length'); -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -var min = Math.min; -var nativeLastIndexOf = [].lastIndexOf; -var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; -var SLOPPY_METHOD = sloppyArrayMethod('lastIndexOf'); - -// `Array.prototype.lastIndexOf` method implementation -// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof -module.exports = (NEGATIVE_ZERO || SLOPPY_METHOD) ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { - // convert -0 to +0 - if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; - var O = toIndexedObject(this); - var length = toLength(O.length); - var index = length - 1; - if (arguments.length > 1) index = min(index, toInteger(arguments[1])); - if (index < 0) index = length + index; - for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; - return -1; -} : nativeLastIndexOf; - -},{"../internals/sloppy-array-method":449,"../internals/to-indexed-object":459,"../internals/to-integer":460,"../internals/to-length":461}],325:[function(require,module,exports){ -var fails = require('../internals/fails'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var V8_VERSION = require('../internals/v8-version'); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (METHOD_NAME) { - // We can't use this feature detection in V8 since it causes - // deoptimization and serious performance degradation - // https://github.com/zloirock/core-js/issues/677 - return V8_VERSION >= 51 || !fails(function () { - var array = []; - var constructor = array.constructor = {}; - constructor[SPECIES] = function () { - return { foo: 1 }; - }; - return array[METHOD_NAME](Boolean).foo !== 1; - }); -}; - -},{"../internals/fails":362,"../internals/v8-version":471,"../internals/well-known-symbol":473}],326:[function(require,module,exports){ -var aFunction = require('../internals/a-function'); -var toObject = require('../internals/to-object'); -var IndexedObject = require('../internals/indexed-object'); -var toLength = require('../internals/to-length'); - -// `Array.prototype.{ reduce, reduceRight }` methods implementation -var createMethod = function (IS_RIGHT) { - return function (that, callbackfn, argumentsLength, memo) { - aFunction(callbackfn); - var O = toObject(that); - var self = IndexedObject(O); - var length = toLength(O.length); - var index = IS_RIGHT ? length - 1 : 0; - var i = IS_RIGHT ? -1 : 1; - if (argumentsLength < 2) while (true) { - if (index in self) { - memo = self[index]; - index += i; - break; - } - index += i; - if (IS_RIGHT ? index < 0 : length <= index) { - throw TypeError('Reduce of empty array with no initial value'); - } - } - for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { - memo = callbackfn(memo, self[index], index, O); - } - return memo; - }; -}; - -module.exports = { - // `Array.prototype.reduce` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduce - left: createMethod(false), - // `Array.prototype.reduceRight` method - // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright - right: createMethod(true) -}; - -},{"../internals/a-function":310,"../internals/indexed-object":383,"../internals/to-length":461,"../internals/to-object":462}],327:[function(require,module,exports){ -var isObject = require('../internals/is-object'); -var isArray = require('../internals/is-array'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var SPECIES = wellKnownSymbol('species'); - -// `ArraySpeciesCreate` abstract operation -// https://tc39.github.io/ecma262/#sec-arrayspeciescreate -module.exports = function (originalArray, length) { - var C; - if (isArray(originalArray)) { - C = originalArray.constructor; - // cross-realm fallback - if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; - else if (isObject(C)) { - C = C[SPECIES]; - if (C === null) C = undefined; - } - } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); -}; - -},{"../internals/is-array":388,"../internals/is-object":392,"../internals/well-known-symbol":473}],328:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var getBuiltIn = require('../internals/get-built-in'); - -var Promise = getBuiltIn('Promise'); -var push = [].push; - -var createMethod = function (TYPE) { - var IS_TO_ARRAY = TYPE == 0; - var IS_FOR_EACH = TYPE == 1; - var IS_EVERY = TYPE == 2; - var IS_SOME = TYPE == 3; - return function (iterator, fn) { - anObject(iterator); - var next = aFunction(iterator.next); - var array = IS_TO_ARRAY ? [] : undefined; - if (!IS_TO_ARRAY) aFunction(fn); - - return new Promise(function (resolve, reject) { - var loop = function () { - try { - Promise.resolve(anObject(next.call(iterator))).then(function (step) { - try { - if (anObject(step).done) { - resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined); - } else { - var value = step.value; - if (IS_TO_ARRAY) { - push.call(array, value); - loop(); - } else { - Promise.resolve(fn(value)).then(function (result) { - if (IS_FOR_EACH) { - loop(); - } else if (IS_EVERY) { - result ? loop() : resolve(false); - } else { - result ? resolve(IS_SOME || value) : loop(); - } - }, reject); - } - } - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); - }; -}; - -module.exports = { - toArray: createMethod(0), - forEach: createMethod(1), - every: createMethod(2), - some: createMethod(3), - find: createMethod(4) -}; - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/get-built-in":372}],329:[function(require,module,exports){ -var global = require('../internals/global'); -var shared = require('../internals/shared-store'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var has = require('../internals/has'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IS_PURE = require('../internals/is-pure'); - -var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; -var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); -var AsyncIterator = global.AsyncIterator; -var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype; -var AsyncIteratorPrototype, prototype; - -if (!IS_PURE) { - if (PassedAsyncIteratorPrototype) { - AsyncIteratorPrototype = PassedAsyncIteratorPrototype; - } else if (typeof AsyncIterator == 'function') { - AsyncIteratorPrototype = AsyncIterator.prototype; - } else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) { - try { - // eslint-disable-next-line no-new-func - prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')()))); - if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype; - } catch (error) { /* empty */ } - } -} - -if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {}; - -if (!has(AsyncIteratorPrototype, ASYNC_ITERATOR)) { - createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR, function () { - return this; - }); -} - -module.exports = AsyncIteratorPrototype; - -},{"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/has":378,"../internals/is-pure":393,"../internals/object-get-prototype-of":420,"../internals/shared-store":447,"../internals/well-known-symbol":473}],330:[function(require,module,exports){ -var aFunction = require('../internals/a-function'); - -// optional / simple context binding -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 0: return function () { - return fn.call(that); - }; - case 1: return function (a) { - return fn.call(that, a); - }; - case 2: return function (a, b) { - return fn.call(that, a, b); - }; - case 3: return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function (/* ...args */) { - return fn.apply(that, arguments); - }; -}; - -},{"../internals/a-function":310}],331:[function(require,module,exports){ -var anObject = require('../internals/an-object'); - -// call something on iterator step with safe closing on error -module.exports = function (iterator, fn, value, ENTRIES) { - try { - return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (error) { - var returnMethod = iterator['return']; - if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); - throw error; - } -}; - -},{"../internals/an-object":315}],332:[function(require,module,exports){ -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var ITERATOR = wellKnownSymbol('iterator'); -var SAFE_CLOSING = false; - -try { - var called = 0; - var iteratorWithReturn = { - next: function () { - return { done: !!called++ }; - }, - 'return': function () { - SAFE_CLOSING = true; - } - }; - iteratorWithReturn[ITERATOR] = function () { - return this; - }; - // eslint-disable-next-line no-throw-literal - Array.from(iteratorWithReturn, function () { throw 2; }); -} catch (error) { /* empty */ } - -module.exports = function (exec, SKIP_CLOSING) { - if (!SKIP_CLOSING && !SAFE_CLOSING) return false; - var ITERATION_SUPPORT = false; - try { - var object = {}; - object[ITERATOR] = function () { - return { - next: function () { - return { done: ITERATION_SUPPORT = true }; - } - }; - }; - exec(object); - } catch (error) { /* empty */ } - return ITERATION_SUPPORT; -}; - -},{"../internals/well-known-symbol":473}],333:[function(require,module,exports){ -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - -},{}],334:[function(require,module,exports){ -var classofRaw = require('../internals/classof-raw'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -// ES3 wrong here -var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function (it, key) { - try { - return it[key]; - } catch (error) { /* empty */ } -}; - -// getting tag from ES6+ `Object.prototype.toString` -module.exports = function (it) { - var O, tag, result; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag - // builtinTag case - : CORRECT_ARGUMENTS ? classofRaw(O) - // ES3 arguments fallback - : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; -}; - -},{"../internals/classof-raw":333,"../internals/well-known-symbol":473}],335:[function(require,module,exports){ -'use strict'; -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); - -// https://github.com/tc39/collection-methods -module.exports = function (/* ...elements */) { - var set = anObject(this); - var adder = aFunction(set.add); - for (var k = 0, len = arguments.length; k < len; k++) { - adder.call(set, arguments[k]); - } - return set; -}; - -},{"../internals/a-function":310,"../internals/an-object":315}],336:[function(require,module,exports){ -'use strict'; -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); - -// https://github.com/tc39/collection-methods -module.exports = function (/* ...elements */) { - var collection = anObject(this); - var remover = aFunction(collection['delete']); - var allDeleted = true; - var wasDeleted; - for (var k = 0, len = arguments.length; k < len; k++) { - wasDeleted = remover.call(collection, arguments[k]); - allDeleted = allDeleted && wasDeleted; - } - return !!allDeleted; -}; - -},{"../internals/a-function":310,"../internals/an-object":315}],337:[function(require,module,exports){ -'use strict'; -// https://tc39.github.io/proposal-setmap-offrom/ -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var iterate = require('../internals/iterate'); - -module.exports = function from(source /* , mapFn, thisArg */) { - var length = arguments.length; - var mapFn = length > 1 ? arguments[1] : undefined; - var mapping, A, n, boundFunction; - aFunction(this); - mapping = mapFn !== undefined; - if (mapping) aFunction(mapFn); - if (source == undefined) return new this(); - A = []; - if (mapping) { - n = 0; - boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined, 2); - iterate(source, function (nextItem) { - A.push(boundFunction(nextItem, n++)); - }); - } else { - iterate(source, A.push, A); - } - return new this(A); -}; - -},{"../internals/a-function":310,"../internals/bind-context":330,"../internals/iterate":395}],338:[function(require,module,exports){ -'use strict'; -// https://tc39.github.io/proposal-setmap-offrom/ -module.exports = function of() { - var length = arguments.length; - var A = new Array(length); - while (length--) A[length] = arguments[length]; - return new this(A); -}; - -},{}],339:[function(require,module,exports){ -'use strict'; -var defineProperty = require('../internals/object-define-property').f; -var create = require('../internals/object-create'); -var redefineAll = require('../internals/redefine-all'); -var bind = require('../internals/bind-context'); -var anInstance = require('../internals/an-instance'); -var iterate = require('../internals/iterate'); -var defineIterator = require('../internals/define-iterator'); -var setSpecies = require('../internals/set-species'); -var DESCRIPTORS = require('../internals/descriptors'); -var fastKey = require('../internals/internal-metadata').fastKey; -var InternalStateModule = require('../internals/internal-state'); - -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; - -module.exports = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - index: create(null), - first: undefined, - last: undefined, - size: 0 - }); - if (!DESCRIPTORS) that.size = 0; - if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); - }); - - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - - var define = function (that, key, value) { - var state = getInternalState(that); - var entry = getEntry(that, key); - var previous, index; - // change existing entry - if (entry) { - entry.value = value; - // create new entry - } else { - state.last = entry = { - index: index = fastKey(key, true), - key: key, - value: value, - previous: previous = state.last, - next: undefined, - removed: false - }; - if (!state.first) state.first = entry; - if (previous) previous.next = entry; - if (DESCRIPTORS) state.size++; - else that.size++; - // add to index - if (index !== 'F') state.index[index] = entry; - } return that; - }; - - var getEntry = function (that, key) { - var state = getInternalState(that); - // fast case - var index = fastKey(key); - var entry; - if (index !== 'F') return state.index[index]; - // frozen object case - for (entry = state.first; entry; entry = entry.next) { - if (entry.key == key) return entry; - } - }; - - redefineAll(C.prototype, { - // 23.1.3.1 Map.prototype.clear() - // 23.2.3.2 Set.prototype.clear() - clear: function clear() { - var that = this; - var state = getInternalState(that); - var data = state.index; - var entry = state.first; - while (entry) { - entry.removed = true; - if (entry.previous) entry.previous = entry.previous.next = undefined; - delete data[entry.index]; - entry = entry.next; - } - state.first = state.last = undefined; - if (DESCRIPTORS) state.size = 0; - else that.size = 0; - }, - // 23.1.3.3 Map.prototype.delete(key) - // 23.2.3.4 Set.prototype.delete(value) - 'delete': function (key) { - var that = this; - var state = getInternalState(that); - var entry = getEntry(that, key); - if (entry) { - var next = entry.next; - var prev = entry.previous; - delete state.index[entry.index]; - entry.removed = true; - if (prev) prev.next = next; - if (next) next.previous = prev; - if (state.first == entry) state.first = next; - if (state.last == entry) state.last = prev; - if (DESCRIPTORS) state.size--; - else that.size--; - } return !!entry; - }, - // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) - // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) - forEach: function forEach(callbackfn /* , that = undefined */) { - var state = getInternalState(this); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var entry; - while (entry = entry ? entry.next : state.first) { - boundFunction(entry.value, entry.key, this); - // revert to the last existing entry - while (entry && entry.removed) entry = entry.previous; - } - }, - // 23.1.3.7 Map.prototype.has(key) - // 23.2.3.7 Set.prototype.has(value) - has: function has(key) { - return !!getEntry(this, key); - } - }); - - redefineAll(C.prototype, IS_MAP ? { - // 23.1.3.6 Map.prototype.get(key) - get: function get(key) { - var entry = getEntry(this, key); - return entry && entry.value; - }, - // 23.1.3.9 Map.prototype.set(key, value) - set: function set(key, value) { - return define(this, key === 0 ? 0 : key, value); - } - } : { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value) { - return define(this, value = value === 0 ? 0 : value, value); - } - }); - if (DESCRIPTORS) defineProperty(C.prototype, 'size', { - get: function () { - return getInternalState(this).size; - } - }); - return C; - }, - setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { - var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; - var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); - var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); - // add .keys, .values, .entries, [@@iterator] - // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 - defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { - setInternalState(this, { - type: ITERATOR_NAME, - target: iterated, - state: getInternalCollectionState(iterated), - kind: kind, - last: undefined - }); - }, function () { - var state = getInternalIteratorState(this); - var kind = state.kind; - var entry = state.last; - // revert to the last existing entry - while (entry && entry.removed) entry = entry.previous; - // get next entry - if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { - // or finish the iteration - state.target = undefined; - return { value: undefined, done: true }; - } - // return step by kind - if (kind == 'keys') return { value: entry.key, done: false }; - if (kind == 'values') return { value: entry.value, done: false }; - return { value: [entry.key, entry.value], done: false }; - }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); - - // add [@@species], 23.1.2.2, 23.2.2.2 - setSpecies(CONSTRUCTOR_NAME); - } -}; - -},{"../internals/an-instance":314,"../internals/bind-context":330,"../internals/define-iterator":355,"../internals/descriptors":357,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/iterate":395,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/redefine-all":434,"../internals/set-species":444}],340:[function(require,module,exports){ -'use strict'; -var redefineAll = require('../internals/redefine-all'); -var getWeakData = require('../internals/internal-metadata').getWeakData; -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var anInstance = require('../internals/an-instance'); -var iterate = require('../internals/iterate'); -var ArrayIterationModule = require('../internals/array-iteration'); -var $has = require('../internals/has'); -var InternalStateModule = require('../internals/internal-state'); - -var setInternalState = InternalStateModule.set; -var internalStateGetterFor = InternalStateModule.getterFor; -var find = ArrayIterationModule.find; -var findIndex = ArrayIterationModule.findIndex; -var id = 0; - -// fallback for uncaught frozen keys -var uncaughtFrozenStore = function (store) { - return store.frozen || (store.frozen = new UncaughtFrozenStore()); -}; - -var UncaughtFrozenStore = function () { - this.entries = []; -}; - -var findUncaughtFrozen = function (store, key) { - return find(store.entries, function (it) { - return it[0] === key; - }); -}; - -UncaughtFrozenStore.prototype = { - get: function (key) { - var entry = findUncaughtFrozen(this, key); - if (entry) return entry[1]; - }, - has: function (key) { - return !!findUncaughtFrozen(this, key); - }, - set: function (key, value) { - var entry = findUncaughtFrozen(this, key); - if (entry) entry[1] = value; - else this.entries.push([key, value]); - }, - 'delete': function (key) { - var index = findIndex(this.entries, function (it) { - return it[0] === key; - }); - if (~index) this.entries.splice(index, 1); - return !!~index; - } -}; - -module.exports = { - getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { - var C = wrapper(function (that, iterable) { - anInstance(that, C, CONSTRUCTOR_NAME); - setInternalState(that, { - type: CONSTRUCTOR_NAME, - id: id++, - frozen: undefined - }); - if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); - }); - - var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); - - var define = function (that, key, value) { - var state = getInternalState(that); - var data = getWeakData(anObject(key), true); - if (data === true) uncaughtFrozenStore(state).set(key, value); - else data[state.id] = value; - return that; - }; - - redefineAll(C.prototype, { - // 23.3.3.2 WeakMap.prototype.delete(key) - // 23.4.3.3 WeakSet.prototype.delete(value) - 'delete': function (key) { - var state = getInternalState(this); - if (!isObject(key)) return false; - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state)['delete'](key); - return data && $has(data, state.id) && delete data[state.id]; - }, - // 23.3.3.4 WeakMap.prototype.has(key) - // 23.4.3.4 WeakSet.prototype.has(value) - has: function has(key) { - var state = getInternalState(this); - if (!isObject(key)) return false; - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state).has(key); - return data && $has(data, state.id); - } - }); - - redefineAll(C.prototype, IS_MAP ? { - // 23.3.3.3 WeakMap.prototype.get(key) - get: function get(key) { - var state = getInternalState(this); - if (isObject(key)) { - var data = getWeakData(key); - if (data === true) return uncaughtFrozenStore(state).get(key); - return data ? data[state.id] : undefined; - } - }, - // 23.3.3.5 WeakMap.prototype.set(key, value) - set: function set(key, value) { - return define(this, key, value); - } - } : { - // 23.4.3.1 WeakSet.prototype.add(value) - add: function add(value) { - return define(this, value, true); - } - }); - - return C; - } -}; - -},{"../internals/an-instance":314,"../internals/an-object":315,"../internals/array-iteration":323,"../internals/has":378,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/is-object":392,"../internals/iterate":395,"../internals/redefine-all":434}],341:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var global = require('../internals/global'); -var isForced = require('../internals/is-forced'); -var redefine = require('../internals/redefine'); -var InternalMetadataModule = require('../internals/internal-metadata'); -var iterate = require('../internals/iterate'); -var anInstance = require('../internals/an-instance'); -var isObject = require('../internals/is-object'); -var fails = require('../internals/fails'); -var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); -var setToStringTag = require('../internals/set-to-string-tag'); -var inheritIfRequired = require('../internals/inherit-if-required'); - -module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) { - var NativeConstructor = global[CONSTRUCTOR_NAME]; - var NativePrototype = NativeConstructor && NativeConstructor.prototype; - var Constructor = NativeConstructor; - var ADDER = IS_MAP ? 'set' : 'add'; - var exported = {}; - - var fixMethod = function (KEY) { - var nativeMethod = NativePrototype[KEY]; - redefine(NativePrototype, KEY, - KEY == 'add' ? function add(value) { - nativeMethod.call(this, value === 0 ? 0 : value); - return this; - } : KEY == 'delete' ? function (key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'get' ? function get(key) { - return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); - } : KEY == 'has' ? function has(key) { - return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); - } : function set(key, value) { - nativeMethod.call(this, key === 0 ? 0 : key, value); - return this; - } - ); - }; - - // eslint-disable-next-line max-len - if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { - new NativeConstructor().entries().next(); - })))) { - // create collection constructor - Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); - InternalMetadataModule.REQUIRED = true; - } else if (isForced(CONSTRUCTOR_NAME, true)) { - var instance = new Constructor(); - // early implementations not supports chaining - var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; - // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false - var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); - // most early implementations doesn't supports iterables, most modern - not close it correctly - // eslint-disable-next-line no-new - var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); - // for early implementations -0 and +0 not the same - var BUGGY_ZERO = !IS_WEAK && fails(function () { - // V8 ~ Chromium 42- fails only with 5+ elements - var $instance = new NativeConstructor(); - var index = 5; - while (index--) $instance[ADDER](index, index); - return !$instance.has(-0); - }); - - if (!ACCEPT_ITERABLES) { - Constructor = wrapper(function (dummy, iterable) { - anInstance(dummy, Constructor, CONSTRUCTOR_NAME); - var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); - if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); - return that; - }); - Constructor.prototype = NativePrototype; - NativePrototype.constructor = Constructor; - } - - if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { - fixMethod('delete'); - fixMethod('has'); - IS_MAP && fixMethod('get'); - } - - if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); - - // weak collections should not contains .clear method - if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; - } - - exported[CONSTRUCTOR_NAME] = Constructor; - $({ global: true, forced: Constructor != NativeConstructor }, exported); - - setToStringTag(Constructor, CONSTRUCTOR_NAME); - - if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); - - return Constructor; -}; - -},{"../internals/an-instance":314,"../internals/check-correctness-of-iteration":332,"../internals/export":361,"../internals/fails":362,"../internals/global":377,"../internals/inherit-if-required":384,"../internals/internal-metadata":385,"../internals/is-forced":389,"../internals/is-object":392,"../internals/iterate":395,"../internals/redefine":435,"../internals/set-to-string-tag":445}],342:[function(require,module,exports){ -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -var Map = require('../modules/es.map'); -var WeakMap = require('../modules/es.weak-map'); -var create = require('../internals/object-create'); -var isObject = require('../internals/is-object'); - -var Node = function () { - // keys - this.object = null; - this.symbol = null; - // child nodes - this.primitives = null; - this.objectsByIndex = create(null); -}; - -Node.prototype.get = function (key, initializer) { - return this[key] || (this[key] = initializer()); -}; - -Node.prototype.next = function (i, it, IS_OBJECT) { - var store = IS_OBJECT - ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap()) - : this.primitives || (this.primitives = new Map()); - var entry = store.get(it); - if (!entry) store.set(it, entry = new Node()); - return entry; -}; - -var root = new Node(); - -module.exports = function () { - var active = root; - var length = arguments.length; - var i, it; - // for prevent leaking, start from objects - for (i = 0; i < length; i++) { - if (isObject(it = arguments[i])) active = active.next(i, it, true); - } - if (this === Object && active === root) throw TypeError('Composite keys must contain a non-primitive component'); - for (i = 0; i < length; i++) { - if (!isObject(it = arguments[i])) active = active.next(i, it, false); - } return active; -}; - -},{"../internals/is-object":392,"../internals/object-create":413,"../modules/es.map":519,"../modules/es.weak-map":678}],343:[function(require,module,exports){ -var has = require('../internals/has'); -var ownKeys = require('../internals/own-keys'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var definePropertyModule = require('../internals/object-define-property'); - -module.exports = function (target, source) { - var keys = ownKeys(source); - var defineProperty = definePropertyModule.f; - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); - } -}; - -},{"../internals/has":378,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/own-keys":427}],344:[function(require,module,exports){ -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var MATCH = wellKnownSymbol('match'); - -module.exports = function (METHOD_NAME) { - var regexp = /./; - try { - '/./'[METHOD_NAME](regexp); - } catch (e) { - try { - regexp[MATCH] = false; - return '/./'[METHOD_NAME](regexp); - } catch (f) { /* empty */ } - } return false; -}; - -},{"../internals/well-known-symbol":473}],345:[function(require,module,exports){ -var fails = require('../internals/fails'); - -module.exports = !fails(function () { - function F() { /* empty */ } - F.prototype.constructor = null; - return Object.getPrototypeOf(new F()) !== F.prototype; -}); - -},{"../internals/fails":362}],346:[function(require,module,exports){ -'use strict'; -var path = require('../internals/path'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var create = require('../internals/object-create'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefineAll = require('../internals/redefine-all'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var InternalStateModule = require('../internals/internal-state'); -var getBuiltIn = require('../internals/get-built-in'); - -var Promise = getBuiltIn('Promise'); - -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.get; - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -var $return = function (value) { - var iterator = getInternalState(this).iterator; - var $$return = iterator['return']; - return $$return === undefined - ? Promise.resolve({ done: true, value: value }) - : anObject($$return.call(iterator, value)); -}; - -var $throw = function (value) { - var iterator = getInternalState(this).iterator; - var $$throw = iterator['throw']; - return $$throw === undefined - ? Promise.reject(value) - : $$throw.call(iterator, value); -}; - -module.exports = function (nextHandler, IS_ITERATOR) { - var AsyncIteratorProxy = function AsyncIterator(state) { - state.next = aFunction(state.iterator.next); - state.done = false; - setInternalState(this, state); - }; - - AsyncIteratorProxy.prototype = redefineAll(create(path.AsyncIterator.prototype), { - next: function next(arg) { - var state = getInternalState(this); - if (state.done) return Promise.resolve({ done: true, value: undefined }); - try { - return Promise.resolve(anObject(nextHandler.call(state, arg, Promise))); - } catch (error) { - return Promise.reject(error); - } - }, - 'return': $return, - 'throw': $throw - }); - - if (!IS_ITERATOR) { - createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG, 'Generator'); - } - - return AsyncIteratorProxy; -}; - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/get-built-in":372,"../internals/internal-state":386,"../internals/object-create":413,"../internals/path":430,"../internals/redefine-all":434,"../internals/well-known-symbol":473}],347:[function(require,module,exports){ -var requireObjectCoercible = require('../internals/require-object-coercible'); - -var quot = /"/g; - -// B.2.3.2.1 CreateHTML(string, tag, attribute, value) -// https://tc39.github.io/ecma262/#sec-createhtml -module.exports = function (string, tag, attribute, value) { - var S = String(requireObjectCoercible(string)); - var p1 = '<' + tag; - if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; - return p1 + '>' + S + ''; -}; - -},{"../internals/require-object-coercible":440}],348:[function(require,module,exports){ -'use strict'; -var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; -var create = require('../internals/object-create'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var setToStringTag = require('../internals/set-to-string-tag'); -var Iterators = require('../internals/iterators'); - -var returnThis = function () { return this; }; - -module.exports = function (IteratorConstructor, NAME, next) { - var TO_STRING_TAG = NAME + ' Iterator'; - IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); - setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); - Iterators[TO_STRING_TAG] = returnThis; - return IteratorConstructor; -}; - -},{"../internals/create-property-descriptor":351,"../internals/iterators":397,"../internals/iterators-core":396,"../internals/object-create":413,"../internals/set-to-string-tag":445}],349:[function(require,module,exports){ -'use strict'; -var path = require('../internals/path'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var create = require('../internals/object-create'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefineAll = require('../internals/redefine-all'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var InternalStateModule = require('../internals/internal-state'); - -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.get; - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -var $return = function (value) { - var iterator = getInternalState(this).iterator; - var $$return = iterator['return']; - return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value)); -}; - -var $throw = function (value) { - var iterator = getInternalState(this).iterator; - var $$throw = iterator['throw']; - if ($$throw === undefined) throw value; - return $$throw.call(iterator, value); -}; - -module.exports = function (nextHandler, IS_ITERATOR) { - var IteratorProxy = function Iterator(state) { - state.next = aFunction(state.iterator.next); - state.done = false; - setInternalState(this, state); - }; - - IteratorProxy.prototype = redefineAll(create(path.Iterator.prototype), { - next: function next() { - var state = getInternalState(this); - var result = state.done ? undefined : nextHandler.apply(state, arguments); - return { done: state.done, value: result }; - }, - 'return': $return, - 'throw': $throw - }); - - if (!IS_ITERATOR) { - createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG, 'Generator'); - } - - return IteratorProxy; -}; - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/internal-state":386,"../internals/object-create":413,"../internals/path":430,"../internals/redefine-all":434,"../internals/well-known-symbol":473}],350:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var definePropertyModule = require('../internals/object-define-property'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); - -module.exports = DESCRIPTORS ? function (object, key, value) { - return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - -},{"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/object-define-property":415}],351:[function(require,module,exports){ -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - -},{}],352:[function(require,module,exports){ -'use strict'; -var toPrimitive = require('../internals/to-primitive'); -var definePropertyModule = require('../internals/object-define-property'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); - -module.exports = function (object, key, value) { - var propertyKey = toPrimitive(key); - if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); - else object[propertyKey] = value; -}; - -},{"../internals/create-property-descriptor":351,"../internals/object-define-property":415,"../internals/to-primitive":465}],353:[function(require,module,exports){ -'use strict'; -var fails = require('../internals/fails'); -var padStart = require('../internals/string-pad').start; - -var abs = Math.abs; -var DatePrototype = Date.prototype; -var getTime = DatePrototype.getTime; -var nativeDateToISOString = DatePrototype.toISOString; - -// `Date.prototype.toISOString` method implementation -// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring -// PhantomJS / old WebKit fails here: -module.exports = (fails(function () { - return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; -}) || !fails(function () { - nativeDateToISOString.call(new Date(NaN)); -})) ? function toISOString() { - if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); - var date = this; - var year = date.getUTCFullYear(); - var milliseconds = date.getUTCMilliseconds(); - var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; - return sign + padStart(abs(year), sign ? 6 : 4, 0) + - '-' + padStart(date.getUTCMonth() + 1, 2, 0) + - '-' + padStart(date.getUTCDate(), 2, 0) + - 'T' + padStart(date.getUTCHours(), 2, 0) + - ':' + padStart(date.getUTCMinutes(), 2, 0) + - ':' + padStart(date.getUTCSeconds(), 2, 0) + - '.' + padStart(milliseconds, 3, 0) + - 'Z'; -} : nativeDateToISOString; - -},{"../internals/fails":362,"../internals/string-pad":452}],354:[function(require,module,exports){ -'use strict'; -var anObject = require('../internals/an-object'); -var toPrimitive = require('../internals/to-primitive'); - -module.exports = function (hint) { - if (hint !== 'string' && hint !== 'number' && hint !== 'default') { - throw TypeError('Incorrect hint'); - } return toPrimitive(anObject(this), hint !== 'number'); -}; - -},{"../internals/an-object":315,"../internals/to-primitive":465}],355:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createIteratorConstructor = require('../internals/create-iterator-constructor'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); -var setToStringTag = require('../internals/set-to-string-tag'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefine = require('../internals/redefine'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IS_PURE = require('../internals/is-pure'); -var Iterators = require('../internals/iterators'); -var IteratorsCore = require('../internals/iterators-core'); - -var IteratorPrototype = IteratorsCore.IteratorPrototype; -var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; -var ITERATOR = wellKnownSymbol('iterator'); -var KEYS = 'keys'; -var VALUES = 'values'; -var ENTRIES = 'entries'; - -var returnThis = function () { return this; }; - -module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { - createIteratorConstructor(IteratorConstructor, NAME, next); - - var getIterationMethod = function (KIND) { - if (KIND === DEFAULT && defaultIterator) return defaultIterator; - if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; - switch (KIND) { - case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; - case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; - case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; - } return function () { return new IteratorConstructor(this); }; - }; - - var TO_STRING_TAG = NAME + ' Iterator'; - var INCORRECT_VALUES_NAME = false; - var IterablePrototype = Iterable.prototype; - var nativeIterator = IterablePrototype[ITERATOR] - || IterablePrototype['@@iterator'] - || DEFAULT && IterablePrototype[DEFAULT]; - var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); - var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; - var CurrentIteratorPrototype, methods, KEY; - - // fix native - if (anyNativeIterator) { - CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); - if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { - if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { - if (setPrototypeOf) { - setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); - } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { - createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); - } - } - // Set @@toStringTag to native iterators - setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); - if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; - } - } - - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { - INCORRECT_VALUES_NAME = true; - defaultIterator = function values() { return nativeIterator.call(this); }; - } - - // define iterator - if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { - createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); - } - Iterators[NAME] = defaultIterator; - - // export additional methods - if (DEFAULT) { - methods = { - values: getIterationMethod(VALUES), - keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), - entries: getIterationMethod(ENTRIES) - }; - if (FORCED) for (KEY in methods) { - if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { - redefine(IterablePrototype, KEY, methods[KEY]); - } - } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); - } - - return methods; -}; - -},{"../internals/create-iterator-constructor":348,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/is-pure":393,"../internals/iterators":397,"../internals/iterators-core":396,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/well-known-symbol":473}],356:[function(require,module,exports){ -var path = require('../internals/path'); -var has = require('../internals/has'); -var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol'); -var defineProperty = require('../internals/object-define-property').f; - -module.exports = function (NAME) { - var Symbol = path.Symbol || (path.Symbol = {}); - if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { - value: wrappedWellKnownSymbolModule.f(NAME) - }); -}; - -},{"../internals/has":378,"../internals/object-define-property":415,"../internals/path":430,"../internals/wrapped-well-known-symbol":475}],357:[function(require,module,exports){ -var fails = require('../internals/fails'); - -// Thank's IE8 for his funny defineProperty -module.exports = !fails(function () { - return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; -}); - -},{"../internals/fails":362}],358:[function(require,module,exports){ -var global = require('../internals/global'); -var isObject = require('../internals/is-object'); - -var document = global.document; -// typeof document.createElement is 'object' in old IE -var EXISTS = isObject(document) && isObject(document.createElement); - -module.exports = function (it) { - return EXISTS ? document.createElement(it) : {}; -}; - -},{"../internals/global":377,"../internals/is-object":392}],359:[function(require,module,exports){ -// iterable DOM collections -// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods -module.exports = { - CSSRuleList: 0, - CSSStyleDeclaration: 0, - CSSValueList: 0, - ClientRectList: 0, - DOMRectList: 0, - DOMStringList: 0, - DOMTokenList: 1, - DataTransferItemList: 0, - FileList: 0, - HTMLAllCollection: 0, - HTMLCollection: 0, - HTMLFormElement: 0, - HTMLSelectElement: 0, - MediaList: 0, - MimeTypeArray: 0, - NamedNodeMap: 0, - NodeList: 1, - PaintRequestList: 0, - Plugin: 0, - PluginArray: 0, - SVGLengthList: 0, - SVGNumberList: 0, - SVGPathSegList: 0, - SVGPointList: 0, - SVGStringList: 0, - SVGTransformList: 0, - SourceBufferList: 0, - StyleSheetList: 0, - TextTrackCueList: 0, - TextTrackList: 0, - TouchList: 0 -}; - -},{}],360:[function(require,module,exports){ -// IE8- don't enum bug keys -module.exports = [ - 'constructor', - 'hasOwnProperty', - 'isPrototypeOf', - 'propertyIsEnumerable', - 'toLocaleString', - 'toString', - 'valueOf' -]; - -},{}],361:[function(require,module,exports){ -var global = require('../internals/global'); -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefine = require('../internals/redefine'); -var setGlobal = require('../internals/set-global'); -var copyConstructorProperties = require('../internals/copy-constructor-properties'); -var isForced = require('../internals/is-forced'); - -/* - options.target - name of the target object - options.global - target is the global object - options.stat - export as static methods of target - options.proto - export as prototype methods of target - options.real - real prototype method for the `pure` version - options.forced - export even if the native feature is available - options.bind - bind methods to the target, required for the `pure` version - options.wrap - wrap constructors to preventing global pollution, required for the `pure` version - options.unsafe - use the simple assignment of property instead of delete + defineProperty - options.sham - add a flag to not completely full polyfills - options.enumerable - export as enumerable property - options.noTargetGet - prevent calling a getter on target -*/ -module.exports = function (options, source) { - var TARGET = options.target; - var GLOBAL = options.global; - var STATIC = options.stat; - var FORCED, target, key, targetProperty, sourceProperty, descriptor; - if (GLOBAL) { - target = global; - } else if (STATIC) { - target = global[TARGET] || setGlobal(TARGET, {}); - } else { - target = (global[TARGET] || {}).prototype; - } - if (target) for (key in source) { - sourceProperty = source[key]; - if (options.noTargetGet) { - descriptor = getOwnPropertyDescriptor(target, key); - targetProperty = descriptor && descriptor.value; - } else targetProperty = target[key]; - FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); - // contained in target - if (!FORCED && targetProperty !== undefined) { - if (typeof sourceProperty === typeof targetProperty) continue; - copyConstructorProperties(sourceProperty, targetProperty); - } - // add a flag to not completely full polyfills - if (options.sham || (targetProperty && targetProperty.sham)) { - createNonEnumerableProperty(sourceProperty, 'sham', true); - } - // extend global - redefine(target, key, sourceProperty, options); - } -}; - -},{"../internals/copy-constructor-properties":343,"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/is-forced":389,"../internals/object-get-own-property-descriptor":416,"../internals/redefine":435,"../internals/set-global":443}],362:[function(require,module,exports){ -module.exports = function (exec) { - try { - return !!exec(); - } catch (error) { - return true; - } -}; - -},{}],363:[function(require,module,exports){ -'use strict'; -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefine = require('../internals/redefine'); -var fails = require('../internals/fails'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var regexpExec = require('../internals/regexp-exec'); - -var SPECIES = wellKnownSymbol('species'); - -var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { - // #replace needs built-in support for named groups. - // #match works fine because it just return the exec results, even if it has - // a "grops" property. - var re = /./; - re.exec = function () { - var result = []; - result.groups = { a: '7' }; - return result; - }; - return ''.replace(re, '$') !== '7'; -}); - -// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec -// Weex JS has frozen built-in prototypes, so use try / catch wrapper -var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { - var re = /(?:)/; - var originalExec = re.exec; - re.exec = function () { return originalExec.apply(this, arguments); }; - var result = 'ab'.split(re); - return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; -}); - -module.exports = function (KEY, length, exec, sham) { - var SYMBOL = wellKnownSymbol(KEY); - - var DELEGATES_TO_SYMBOL = !fails(function () { - // String methods call symbol-named RegEp methods - var O = {}; - O[SYMBOL] = function () { return 7; }; - return ''[KEY](O) != 7; - }); - - var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { - // Symbol-named RegExp methods call .exec - var execCalled = false; - var re = /a/; - - if (KEY === 'split') { - // We can't use real regex here since it causes deoptimization - // and serious performance degradation in V8 - // https://github.com/zloirock/core-js/issues/306 - re = {}; - // RegExp[@@split] doesn't call the regex's exec method, but first creates - // a new one. We need to return the patched regex when creating the new one. - re.constructor = {}; - re.constructor[SPECIES] = function () { return re; }; - re.flags = ''; - re[SYMBOL] = /./[SYMBOL]; - } - - re.exec = function () { execCalled = true; return null; }; - - re[SYMBOL](''); - return !execCalled; - }); - - if ( - !DELEGATES_TO_SYMBOL || - !DELEGATES_TO_EXEC || - (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || - (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) - ) { - var nativeRegExpMethod = /./[SYMBOL]; - var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { - if (DELEGATES_TO_SYMBOL && !forceStringMethod) { - // The native String method already delegates to @@method (this - // polyfilled function), leasing to infinite recursion. - // We avoid it by directly calling the native @@method method. - return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; - } - return { done: true, value: nativeMethod.call(str, regexp, arg2) }; - } - return { done: false }; - }); - var stringMethod = methods[0]; - var regexMethod = methods[1]; - - redefine(String.prototype, KEY, stringMethod); - redefine(RegExp.prototype, SYMBOL, length == 2 - // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) - // 21.2.5.11 RegExp.prototype[@@split](string, limit) - ? function (string, arg) { return regexMethod.call(string, this, arg); } - // 21.2.5.6 RegExp.prototype[@@match](string) - // 21.2.5.9 RegExp.prototype[@@search](string) - : function (string) { return regexMethod.call(string, this); } - ); - if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); - } -}; - -},{"../internals/create-non-enumerable-property":350,"../internals/fails":362,"../internals/redefine":435,"../internals/regexp-exec":438,"../internals/well-known-symbol":473}],364:[function(require,module,exports){ -'use strict'; -var isArray = require('../internals/is-array'); -var toLength = require('../internals/to-length'); -var bind = require('../internals/bind-context'); - -// `FlattenIntoArray` abstract operation -// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray -var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { - var targetIndex = start; - var sourceIndex = 0; - var mapFn = mapper ? bind(mapper, thisArg, 3) : false; - var element; - - while (sourceIndex < sourceLen) { - if (sourceIndex in source) { - element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; - - if (depth > 0 && isArray(element)) { - targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; - } else { - if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); - target[targetIndex] = element; - } - - targetIndex++; - } - sourceIndex++; - } - return targetIndex; -}; - -module.exports = flattenIntoArray; - -},{"../internals/bind-context":330,"../internals/is-array":388,"../internals/to-length":461}],365:[function(require,module,exports){ -'use strict'; -var IS_PURE = require('../internals/is-pure'); -var global = require('../internals/global'); -var fails = require('../internals/fails'); - -// Forced replacement object prototype accessors methods -module.exports = IS_PURE || !fails(function () { - var key = Math.random(); - // In FF throws only define methods - // eslint-disable-next-line no-undef, no-useless-call - __defineSetter__.call(null, key, function () { /* empty */ }); - delete global[key]; -}); - -},{"../internals/fails":362,"../internals/global":377,"../internals/is-pure":393}],366:[function(require,module,exports){ -var fails = require('../internals/fails'); - -// check the existence of a method, lowercase -// of a tag and escaping quotes in arguments -module.exports = function (METHOD_NAME) { - return fails(function () { - var test = ''[METHOD_NAME]('"'); - return test !== test.toLowerCase() || test.split('"').length > 3; - }); -}; - -},{"../internals/fails":362}],367:[function(require,module,exports){ -var fails = require('../internals/fails'); -var whitespaces = require('../internals/whitespaces'); - -var non = '\u200B\u0085\u180E'; - -// check that a method works with the correct list -// of whitespaces and has a correct name -module.exports = function (METHOD_NAME) { - return fails(function () { - return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; - }); -}; - -},{"../internals/fails":362,"../internals/whitespaces":474}],368:[function(require,module,exports){ -var fails = require('../internals/fails'); - -module.exports = !fails(function () { - return Object.isExtensible(Object.preventExtensions({})); -}); - -},{"../internals/fails":362}],369:[function(require,module,exports){ -'use strict'; -var aFunction = require('../internals/a-function'); -var isObject = require('../internals/is-object'); - -var slice = [].slice; -var factories = {}; - -var construct = function (C, argsLength, args) { - if (!(argsLength in factories)) { - for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; - // eslint-disable-next-line no-new-func - factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); - } return factories[argsLength](C, args); -}; - -// `Function.prototype.bind` method implementation -// https://tc39.github.io/ecma262/#sec-function.prototype.bind -module.exports = Function.bind || function bind(that /* , ...args */) { - var fn = aFunction(this); - var partArgs = slice.call(arguments, 1); - var boundFunction = function bound(/* args... */) { - var args = partArgs.concat(slice.call(arguments)); - return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); - }; - if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; - return boundFunction; -}; - -},{"../internals/a-function":310,"../internals/is-object":392}],370:[function(require,module,exports){ -var shared = require('../internals/shared'); - -module.exports = shared('native-function-to-string', Function.toString); - -},{"../internals/shared":448}],371:[function(require,module,exports){ -var getIteratorMethod = require('../internals/get-iterator-method'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); - -module.exports = function (it) { - var method = it[ASYNC_ITERATOR]; - return method === undefined ? getIteratorMethod(it) : method; -}; - -},{"../internals/get-iterator-method":373,"../internals/well-known-symbol":473}],372:[function(require,module,exports){ -var path = require('../internals/path'); -var global = require('../internals/global'); - -var aFunction = function (variable) { - return typeof variable == 'function' ? variable : undefined; -}; - -module.exports = function (namespace, method) { - return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) - : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; -}; - -},{"../internals/global":377,"../internals/path":430}],373:[function(require,module,exports){ -var classof = require('../internals/classof'); -var Iterators = require('../internals/iterators'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var ITERATOR = wellKnownSymbol('iterator'); - -module.exports = function (it) { - if (it != undefined) return it[ITERATOR] - || it['@@iterator'] - || Iterators[classof(it)]; -}; - -},{"../internals/classof":334,"../internals/iterators":397,"../internals/well-known-symbol":473}],374:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var getIteratorMethod = require('../internals/get-iterator-method'); - -module.exports = function (it) { - var iteratorMethod = getIteratorMethod(it); - if (typeof iteratorMethod != 'function') { - throw TypeError(String(it) + ' is not iterable'); - } return anObject(iteratorMethod.call(it)); -}; - -},{"../internals/an-object":315,"../internals/get-iterator-method":373}],375:[function(require,module,exports){ -var IS_PURE = require('../internals/is-pure'); -var getIterator = require('../internals/get-iterator'); - -module.exports = IS_PURE ? getIterator : function (it) { - // eslint-disable-next-line no-undef - return Map.prototype.entries.call(it); -}; - -},{"../internals/get-iterator":374,"../internals/is-pure":393}],376:[function(require,module,exports){ -var IS_PURE = require('../internals/is-pure'); -var getIterator = require('../internals/get-iterator'); - -module.exports = IS_PURE ? getIterator : function (it) { - // eslint-disable-next-line no-undef - return Set.prototype.values.call(it); -}; - -},{"../internals/get-iterator":374,"../internals/is-pure":393}],377:[function(require,module,exports){ -(function (global){ -var check = function (it) { - return it && it.Math == Math && it; -}; - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -module.exports = - // eslint-disable-next-line no-undef - check(typeof globalThis == 'object' && globalThis) || - check(typeof window == 'object' && window) || - check(typeof self == 'object' && self) || - check(typeof global == 'object' && global) || - // eslint-disable-next-line no-new-func - Function('return this')(); - -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],378:[function(require,module,exports){ -var hasOwnProperty = {}.hasOwnProperty; - -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - -},{}],379:[function(require,module,exports){ -module.exports = {}; - -},{}],380:[function(require,module,exports){ -var global = require('../internals/global'); - -module.exports = function (a, b) { - var console = global.console; - if (console && console.error) { - arguments.length === 1 ? console.error(a) : console.error(a, b); - } -}; - -},{"../internals/global":377}],381:[function(require,module,exports){ -var getBuiltIn = require('../internals/get-built-in'); - -module.exports = getBuiltIn('document', 'documentElement'); - -},{"../internals/get-built-in":372}],382:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var fails = require('../internals/fails'); -var createElement = require('../internals/document-create-element'); - -// Thank's IE8 for his funny defineProperty -module.exports = !DESCRIPTORS && !fails(function () { - return Object.defineProperty(createElement('div'), 'a', { - get: function () { return 7; } - }).a != 7; -}); - -},{"../internals/descriptors":357,"../internals/document-create-element":358,"../internals/fails":362}],383:[function(require,module,exports){ -var fails = require('../internals/fails'); -var classof = require('../internals/classof-raw'); - -var split = ''.split; - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -module.exports = fails(function () { - // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 - // eslint-disable-next-line no-prototype-builtins - return !Object('z').propertyIsEnumerable(0); -}) ? function (it) { - return classof(it) == 'String' ? split.call(it, '') : Object(it); -} : Object; - -},{"../internals/classof-raw":333,"../internals/fails":362}],384:[function(require,module,exports){ -var isObject = require('../internals/is-object'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); - -// makes subclassing work correct for wrapped built-ins -module.exports = function ($this, dummy, Wrapper) { - var NewTarget, NewTargetPrototype; - if ( - // it can work only with native `setPrototypeOf` - setPrototypeOf && - // we haven't completely correct pre-ES6 way for getting `new.target`, so use this - typeof (NewTarget = dummy.constructor) == 'function' && - NewTarget !== Wrapper && - isObject(NewTargetPrototype = NewTarget.prototype) && - NewTargetPrototype !== Wrapper.prototype - ) setPrototypeOf($this, NewTargetPrototype); - return $this; -}; - -},{"../internals/is-object":392,"../internals/object-set-prototype-of":424}],385:[function(require,module,exports){ -var hiddenKeys = require('../internals/hidden-keys'); -var isObject = require('../internals/is-object'); -var has = require('../internals/has'); -var defineProperty = require('../internals/object-define-property').f; -var uid = require('../internals/uid'); -var FREEZING = require('../internals/freezing'); - -var METADATA = uid('meta'); -var id = 0; - -var isExtensible = Object.isExtensible || function () { - return true; -}; - -var setMetadata = function (it) { - defineProperty(it, METADATA, { value: { - objectID: 'O' + ++id, // object ID - weakData: {} // weak collections IDs - } }); -}; - -var fastKey = function (it, create) { - // return a primitive with prefix - if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMetadata(it); - // return object ID - } return it[METADATA].objectID; -}; - -var getWeakData = function (it, create) { - if (!has(it, METADATA)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMetadata(it); - // return the store of weak collections IDs - } return it[METADATA].weakData; -}; - -// add metadata on freeze-family methods calling -var onFreeze = function (it) { - if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); - return it; -}; - -var meta = module.exports = { - REQUIRED: false, - fastKey: fastKey, - getWeakData: getWeakData, - onFreeze: onFreeze -}; - -hiddenKeys[METADATA] = true; - -},{"../internals/freezing":368,"../internals/has":378,"../internals/hidden-keys":379,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/uid":469}],386:[function(require,module,exports){ -var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); -var global = require('../internals/global'); -var isObject = require('../internals/is-object'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var objectHas = require('../internals/has'); -var sharedKey = require('../internals/shared-key'); -var hiddenKeys = require('../internals/hidden-keys'); - -var WeakMap = global.WeakMap; -var set, get, has; - -var enforce = function (it) { - return has(it) ? get(it) : set(it, {}); -}; - -var getterFor = function (TYPE) { - return function (it) { - var state; - if (!isObject(it) || (state = get(it)).type !== TYPE) { - throw TypeError('Incompatible receiver, ' + TYPE + ' required'); - } return state; - }; -}; - -if (NATIVE_WEAK_MAP) { - var store = new WeakMap(); - var wmget = store.get; - var wmhas = store.has; - var wmset = store.set; - set = function (it, metadata) { - wmset.call(store, it, metadata); - return metadata; - }; - get = function (it) { - return wmget.call(store, it) || {}; - }; - has = function (it) { - return wmhas.call(store, it); - }; -} else { - var STATE = sharedKey('state'); - hiddenKeys[STATE] = true; - set = function (it, metadata) { - createNonEnumerableProperty(it, STATE, metadata); - return metadata; - }; - get = function (it) { - return objectHas(it, STATE) ? it[STATE] : {}; - }; - has = function (it) { - return objectHas(it, STATE); - }; -} - -module.exports = { - set: set, - get: get, - has: has, - enforce: enforce, - getterFor: getterFor -}; - -},{"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/has":378,"../internals/hidden-keys":379,"../internals/is-object":392,"../internals/native-weak-map":408,"../internals/shared-key":446}],387:[function(require,module,exports){ -var wellKnownSymbol = require('../internals/well-known-symbol'); -var Iterators = require('../internals/iterators'); - -var ITERATOR = wellKnownSymbol('iterator'); -var ArrayPrototype = Array.prototype; - -// check on default Array iterator -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); -}; - -},{"../internals/iterators":397,"../internals/well-known-symbol":473}],388:[function(require,module,exports){ -var classof = require('../internals/classof-raw'); - -// `IsArray` abstract operation -// https://tc39.github.io/ecma262/#sec-isarray -module.exports = Array.isArray || function isArray(arg) { - return classof(arg) == 'Array'; -}; - -},{"../internals/classof-raw":333}],389:[function(require,module,exports){ -var fails = require('../internals/fails'); - -var replacement = /#|\.prototype\./; - -var isForced = function (feature, detection) { - var value = data[normalize(feature)]; - return value == POLYFILL ? true - : value == NATIVE ? false - : typeof detection == 'function' ? fails(detection) - : !!detection; -}; - -var normalize = isForced.normalize = function (string) { - return String(string).replace(replacement, '.').toLowerCase(); -}; - -var data = isForced.data = {}; -var NATIVE = isForced.NATIVE = 'N'; -var POLYFILL = isForced.POLYFILL = 'P'; - -module.exports = isForced; - -},{"../internals/fails":362}],390:[function(require,module,exports){ -var isObject = require('../internals/is-object'); - -var floor = Math.floor; - -// `Number.isInteger` method implementation -// https://tc39.github.io/ecma262/#sec-number.isinteger -module.exports = function isInteger(it) { - return !isObject(it) && isFinite(it) && floor(it) === it; -}; - -},{"../internals/is-object":392}],391:[function(require,module,exports){ -var userAgent = require('../internals/user-agent'); - -module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); - -},{"../internals/user-agent":470}],392:[function(require,module,exports){ -module.exports = function (it) { - return typeof it === 'object' ? it !== null : typeof it === 'function'; -}; - -},{}],393:[function(require,module,exports){ -module.exports = false; - -},{}],394:[function(require,module,exports){ -var isObject = require('../internals/is-object'); -var classof = require('../internals/classof-raw'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var MATCH = wellKnownSymbol('match'); - -// `IsRegExp` abstract operation -// https://tc39.github.io/ecma262/#sec-isregexp -module.exports = function (it) { - var isRegExp; - return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); -}; - -},{"../internals/classof-raw":333,"../internals/is-object":392,"../internals/well-known-symbol":473}],395:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); -var toLength = require('../internals/to-length'); -var bind = require('../internals/bind-context'); -var getIteratorMethod = require('../internals/get-iterator-method'); -var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); - -var Result = function (stopped, result) { - this.stopped = stopped; - this.result = result; -}; - -var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { - var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); - var iterator, iterFn, index, length, result, next, step; - - if (IS_ITERATOR) { - iterator = iterable; - } else { - iterFn = getIteratorMethod(iterable); - if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); - // optimisation for array iterators - if (isArrayIteratorMethod(iterFn)) { - for (index = 0, length = toLength(iterable.length); length > index; index++) { - result = AS_ENTRIES - ? boundFunction(anObject(step = iterable[index])[0], step[1]) - : boundFunction(iterable[index]); - if (result && result instanceof Result) return result; - } return new Result(false); - } - iterator = iterFn.call(iterable); - } - - next = iterator.next; - while (!(step = next.call(iterator)).done) { - result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); - if (typeof result == 'object' && result && result instanceof Result) return result; - } return new Result(false); -}; - -iterate.stop = function (result) { - return new Result(true, result); -}; - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/call-with-safe-iteration-closing":331,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461}],396:[function(require,module,exports){ -'use strict'; -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var has = require('../internals/has'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IS_PURE = require('../internals/is-pure'); - -var ITERATOR = wellKnownSymbol('iterator'); -var BUGGY_SAFARI_ITERATORS = false; - -var returnThis = function () { return this; }; - -// `%IteratorPrototype%` object -// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object -var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; - -if ([].keys) { - arrayIterator = [].keys(); - // Safari 8 has buggy iterators w/o `next` - if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; - else { - PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); - if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; - } -} - -if (IteratorPrototype == undefined) IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { - createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); -} - -module.exports = { - IteratorPrototype: IteratorPrototype, - BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS -}; - -},{"../internals/create-non-enumerable-property":350,"../internals/has":378,"../internals/is-pure":393,"../internals/object-get-prototype-of":420,"../internals/well-known-symbol":473}],397:[function(require,module,exports){ -arguments[4][379][0].apply(exports,arguments) -},{"dup":379}],398:[function(require,module,exports){ -'use strict'; -var anObject = require('../internals/an-object'); - -// `Map.prototype.upsert` method -// https://github.com/thumbsupep/proposal-upsert -module.exports = function upsert(key, updateFn /* , insertFn */) { - var map = anObject(this); - var insertFn = arguments.length > 2 ? arguments[2] : undefined; - var value; - if (typeof updateFn != 'function' && typeof insertFn != 'function') { - throw TypeError('At least one callback required'); - } - if (map.has(key)) { - value = map.get(key); - if (typeof updateFn == 'function') { - value = updateFn(value); - map.set(key, value); - } - } else if (typeof insertFn == 'function') { - value = insertFn(); - map.set(key, value); - } return value; -}; - -},{"../internals/an-object":315}],399:[function(require,module,exports){ -var nativeExpm1 = Math.expm1; -var exp = Math.exp; - -// `Math.expm1` method implementation -// https://tc39.github.io/ecma262/#sec-math.expm1 -module.exports = (!nativeExpm1 - // Old FF bug - || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 - // Tor Browser bug - || nativeExpm1(-2e-17) != -2e-17 -) ? function expm1(x) { - return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; -} : nativeExpm1; - -},{}],400:[function(require,module,exports){ -var sign = require('../internals/math-sign'); - -var abs = Math.abs; -var pow = Math.pow; -var EPSILON = pow(2, -52); -var EPSILON32 = pow(2, -23); -var MAX32 = pow(2, 127) * (2 - EPSILON32); -var MIN32 = pow(2, -126); - -var roundTiesToEven = function (n) { - return n + 1 / EPSILON - 1 / EPSILON; -}; - -// `Math.fround` method implementation -// https://tc39.github.io/ecma262/#sec-math.fround -module.exports = Math.fround || function fround(x) { - var $abs = abs(x); - var $sign = sign(x); - var a, result; - if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; - a = (1 + EPSILON32 / EPSILON) * $abs; - result = a - (a - $abs); - // eslint-disable-next-line no-self-compare - if (result > MAX32 || result != result) return $sign * Infinity; - return $sign * result; -}; - -},{"../internals/math-sign":403}],401:[function(require,module,exports){ -var log = Math.log; - -// `Math.log1p` method implementation -// https://tc39.github.io/ecma262/#sec-math.log1p -module.exports = Math.log1p || function log1p(x) { - return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); -}; - -},{}],402:[function(require,module,exports){ -// `Math.scale` method implementation -// https://rwaldron.github.io/proposal-math-extensions/ -module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { - if ( - arguments.length === 0 - /* eslint-disable no-self-compare */ - || x != x - || inLow != inLow - || inHigh != inHigh - || outLow != outLow - || outHigh != outHigh - /* eslint-enable no-self-compare */ - ) return NaN; - if (x === Infinity || x === -Infinity) return x; - return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; -}; - -},{}],403:[function(require,module,exports){ -// `Math.sign` method implementation -// https://tc39.github.io/ecma262/#sec-math.sign -module.exports = Math.sign || function sign(x) { - // eslint-disable-next-line no-self-compare - return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; -}; - -},{}],404:[function(require,module,exports){ -var global = require('../internals/global'); -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; -var classof = require('../internals/classof-raw'); -var macrotask = require('../internals/task').set; -var IS_IOS = require('../internals/is-ios'); - -var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; -var process = global.process; -var Promise = global.Promise; -var IS_NODE = classof(process) == 'process'; -// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` -var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); -var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; - -var flush, head, last, notify, toggle, node, promise, then; - -// modern engines have queueMicrotask method -if (!queueMicrotask) { - flush = function () { - var parent, fn; - if (IS_NODE && (parent = process.domain)) parent.exit(); - while (head) { - fn = head.fn; - head = head.next; - try { - fn(); - } catch (error) { - if (head) notify(); - else last = undefined; - throw error; - } - } last = undefined; - if (parent) parent.enter(); - }; - - // Node.js - if (IS_NODE) { - notify = function () { - process.nextTick(flush); - }; - // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 - } else if (MutationObserver && !IS_IOS) { - toggle = true; - node = document.createTextNode(''); - new MutationObserver(flush).observe(node, { characterData: true }); - notify = function () { - node.data = toggle = !toggle; - }; - // environments with maybe non-completely correct, but existent Promise - } else if (Promise && Promise.resolve) { - // Promise.resolve without an argument throws an error in LG WebOS 2 - promise = Promise.resolve(undefined); - then = promise.then; - notify = function () { - then.call(promise, flush); - }; - // for other environments - macrotask based on: - // - setImmediate - // - MessageChannel - // - window.postMessag - // - onreadystatechange - // - setTimeout - } else { - notify = function () { - // strange IE + webpack dev server bug - use .call(global) - macrotask.call(global, flush); - }; - } -} - -module.exports = queueMicrotask || function (fn) { - var task = { fn: fn, next: undefined }; - if (last) last.next = task; - if (!head) { - head = task; - notify(); - } last = task; -}; - -},{"../internals/classof-raw":333,"../internals/global":377,"../internals/is-ios":391,"../internals/object-get-own-property-descriptor":416,"../internals/task":455}],405:[function(require,module,exports){ -var global = require('../internals/global'); - -module.exports = global.Promise; - -},{"../internals/global":377}],406:[function(require,module,exports){ -var fails = require('../internals/fails'); - -module.exports = !!Object.getOwnPropertySymbols && !fails(function () { - // Chrome 38 Symbol has incorrect toString conversion - // eslint-disable-next-line no-undef - return !String(Symbol()); -}); - -},{"../internals/fails":362}],407:[function(require,module,exports){ -var fails = require('../internals/fails'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IS_PURE = require('../internals/is-pure'); - -var ITERATOR = wellKnownSymbol('iterator'); - -module.exports = !fails(function () { - var url = new URL('b?a=1&b=2&c=3', 'http://a'); - var searchParams = url.searchParams; - var result = ''; - url.pathname = 'c%20d'; - searchParams.forEach(function (value, key) { - searchParams['delete']('b'); - result += key + value; - }); - return (IS_PURE && !url.toJSON) - || !searchParams.sort - || url.href !== 'http://a/c%20d?a=1&c=3' - || searchParams.get('c') !== '3' - || String(new URLSearchParams('?a=1')) !== 'a=1' - || !searchParams[ITERATOR] - // throws in Edge - || new URL('https://a@b').username !== 'a' - || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' - // not punycoded in Edge - || new URL('http://тест').host !== 'xn--e1aybc' - // not escaped in Chrome 62- - || new URL('http://a#б').hash !== '#%D0%B1' - // fails in Chrome 66- - || result !== 'a1c3' - // throws in Safari - || new URL('http://x', undefined).host !== 'x'; -}); - -},{"../internals/fails":362,"../internals/is-pure":393,"../internals/well-known-symbol":473}],408:[function(require,module,exports){ -var global = require('../internals/global'); -var nativeFunctionToString = require('../internals/function-to-string'); - -var WeakMap = global.WeakMap; - -module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap)); - -},{"../internals/function-to-string":370,"../internals/global":377}],409:[function(require,module,exports){ -'use strict'; -var aFunction = require('../internals/a-function'); - -var PromiseCapability = function (C) { - var resolve, reject; - this.promise = new C(function ($$resolve, $$reject) { - if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); - resolve = $$resolve; - reject = $$reject; - }); - this.resolve = aFunction(resolve); - this.reject = aFunction(reject); -}; - -// 25.4.1.5 NewPromiseCapability(C) -module.exports.f = function (C) { - return new PromiseCapability(C); -}; - -},{"../internals/a-function":310}],410:[function(require,module,exports){ -var isRegExp = require('../internals/is-regexp'); - -module.exports = function (it) { - if (isRegExp(it)) { - throw TypeError("The method doesn't accept regular expressions"); - } return it; -}; - -},{"../internals/is-regexp":394}],411:[function(require,module,exports){ -var global = require('../internals/global'); - -var globalIsFinite = global.isFinite; - -// `Number.isFinite` method -// https://tc39.github.io/ecma262/#sec-number.isfinite -module.exports = Number.isFinite || function isFinite(it) { - return typeof it == 'number' && globalIsFinite(it); -}; - -},{"../internals/global":377}],412:[function(require,module,exports){ -'use strict'; -var DESCRIPTORS = require('../internals/descriptors'); -var fails = require('../internals/fails'); -var objectKeys = require('../internals/object-keys'); -var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); -var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); -var toObject = require('../internals/to-object'); -var IndexedObject = require('../internals/indexed-object'); - -var nativeAssign = Object.assign; - -// `Object.assign` method -// https://tc39.github.io/ecma262/#sec-object.assign -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !nativeAssign || fails(function () { - var A = {}; - var B = {}; - // eslint-disable-next-line no-undef - var symbol = Symbol(); - var alphabet = 'abcdefghijklmnopqrst'; - A[symbol] = 7; - alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; -}) ? function assign(target, source) { // eslint-disable-line no-unused-vars - var T = toObject(target); - var argumentsLength = arguments.length; - var index = 1; - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - var propertyIsEnumerable = propertyIsEnumerableModule.f; - while (argumentsLength > index) { - var S = IndexedObject(arguments[index++]); - var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); - var length = keys.length; - var j = 0; - var key; - while (length > j) { - key = keys[j++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; - } - } return T; -} : nativeAssign; - -},{"../internals/descriptors":357,"../internals/fails":362,"../internals/indexed-object":383,"../internals/object-get-own-property-symbols":419,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/to-object":462}],413:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var defineProperties = require('../internals/object-define-properties'); -var enumBugKeys = require('../internals/enum-bug-keys'); -var hiddenKeys = require('../internals/hidden-keys'); -var html = require('../internals/html'); -var documentCreateElement = require('../internals/document-create-element'); -var sharedKey = require('../internals/shared-key'); -var IE_PROTO = sharedKey('IE_PROTO'); - -var PROTOTYPE = 'prototype'; -var Empty = function () { /* empty */ }; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function () { - // Thrash, waste and sodomy: IE GC bug - var iframe = documentCreateElement('iframe'); - var length = enumBugKeys.length; - var lt = '<'; - var script = 'script'; - var gt = '>'; - var js = 'java' + script + ':'; - var iframeDocument; - iframe.style.display = 'none'; - html.appendChild(iframe); - iframe.src = String(js); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; - return createDict(); -}; - -// `Object.create` method -// https://tc39.github.io/ecma262/#sec-object.create -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : defineProperties(result, Properties); -}; - -hiddenKeys[IE_PROTO] = true; - -},{"../internals/an-object":315,"../internals/document-create-element":358,"../internals/enum-bug-keys":360,"../internals/hidden-keys":379,"../internals/html":381,"../internals/object-define-properties":414,"../internals/shared-key":446}],414:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var definePropertyModule = require('../internals/object-define-property'); -var anObject = require('../internals/an-object'); -var objectKeys = require('../internals/object-keys'); - -// `Object.defineProperties` method -// https://tc39.github.io/ecma262/#sec-object.defineproperties -module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = objectKeys(Properties); - var length = keys.length; - var index = 0; - var key; - while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); - return O; -}; - -},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/object-keys":422}],415:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); -var anObject = require('../internals/an-object'); -var toPrimitive = require('../internals/to-primitive'); - -var nativeDefineProperty = Object.defineProperty; - -// `Object.defineProperty` method -// https://tc39.github.io/ecma262/#sec-object.defineproperty -exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return nativeDefineProperty(O, P, Attributes); - } catch (error) { /* empty */ } - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - -},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/ie8-dom-define":382,"../internals/to-primitive":465}],416:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var toIndexedObject = require('../internals/to-indexed-object'); -var toPrimitive = require('../internals/to-primitive'); -var has = require('../internals/has'); -var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); - -var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// `Object.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor -exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { - O = toIndexedObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return nativeGetOwnPropertyDescriptor(O, P); - } catch (error) { /* empty */ } - if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); -}; - -},{"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/has":378,"../internals/ie8-dom-define":382,"../internals/object-property-is-enumerable":423,"../internals/to-indexed-object":459,"../internals/to-primitive":465}],417:[function(require,module,exports){ -var toIndexedObject = require('../internals/to-indexed-object'); -var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f; - -var toString = {}.toString; - -var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames - ? Object.getOwnPropertyNames(window) : []; - -var getWindowNames = function (it) { - try { - return nativeGetOwnPropertyNames(it); - } catch (error) { - return windowNames.slice(); - } -}; - -// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' - ? getWindowNames(it) - : nativeGetOwnPropertyNames(toIndexedObject(it)); -}; - -},{"../internals/object-get-own-property-names":418,"../internals/to-indexed-object":459}],418:[function(require,module,exports){ -var internalObjectKeys = require('../internals/object-keys-internal'); -var enumBugKeys = require('../internals/enum-bug-keys'); - -var hiddenKeys = enumBugKeys.concat('length', 'prototype'); - -// `Object.getOwnPropertyNames` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertynames -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return internalObjectKeys(O, hiddenKeys); -}; - -},{"../internals/enum-bug-keys":360,"../internals/object-keys-internal":421}],419:[function(require,module,exports){ -exports.f = Object.getOwnPropertySymbols; - -},{}],420:[function(require,module,exports){ -var has = require('../internals/has'); -var toObject = require('../internals/to-object'); -var sharedKey = require('../internals/shared-key'); -var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); - -var IE_PROTO = sharedKey('IE_PROTO'); -var ObjectPrototype = Object.prototype; - -// `Object.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.getprototypeof -module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - } return O instanceof Object ? ObjectPrototype : null; -}; - -},{"../internals/correct-prototype-getter":345,"../internals/has":378,"../internals/shared-key":446,"../internals/to-object":462}],421:[function(require,module,exports){ -var has = require('../internals/has'); -var toIndexedObject = require('../internals/to-indexed-object'); -var indexOf = require('../internals/array-includes').indexOf; -var hiddenKeys = require('../internals/hidden-keys'); - -module.exports = function (object, names) { - var O = toIndexedObject(object); - var i = 0; - var result = []; - var key; - for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while (names.length > i) if (has(O, key = names[i++])) { - ~indexOf(result, key) || result.push(key); - } - return result; -}; - -},{"../internals/array-includes":322,"../internals/has":378,"../internals/hidden-keys":379,"../internals/to-indexed-object":459}],422:[function(require,module,exports){ -var internalObjectKeys = require('../internals/object-keys-internal'); -var enumBugKeys = require('../internals/enum-bug-keys'); - -// `Object.keys` method -// https://tc39.github.io/ecma262/#sec-object.keys -module.exports = Object.keys || function keys(O) { - return internalObjectKeys(O, enumBugKeys); -}; - -},{"../internals/enum-bug-keys":360,"../internals/object-keys-internal":421}],423:[function(require,module,exports){ -'use strict'; -var nativePropertyIsEnumerable = {}.propertyIsEnumerable; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; - -// Nashorn ~ JDK8 bug -var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); - -// `Object.prototype.propertyIsEnumerable` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable -exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { - var descriptor = getOwnPropertyDescriptor(this, V); - return !!descriptor && descriptor.enumerable; -} : nativePropertyIsEnumerable; - -},{}],424:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var aPossiblePrototype = require('../internals/a-possible-prototype'); - -// `Object.setPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.setprototypeof -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { - var CORRECT_SETTER = false; - var test = {}; - var setter; - try { - setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; - setter.call(test, []); - CORRECT_SETTER = test instanceof Array; - } catch (error) { /* empty */ } - return function setPrototypeOf(O, proto) { - anObject(O); - aPossiblePrototype(proto); - if (CORRECT_SETTER) setter.call(O, proto); - else O.__proto__ = proto; - return O; - }; -}() : undefined); - -},{"../internals/a-possible-prototype":311,"../internals/an-object":315}],425:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var objectKeys = require('../internals/object-keys'); -var toIndexedObject = require('../internals/to-indexed-object'); -var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f; - -// `Object.{ entries, values }` methods implementation -var createMethod = function (TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) { - key = keys[i++]; - if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [key, O[key]] : O[key]); - } - } - return result; - }; -}; - -module.exports = { - // `Object.entries` method - // https://tc39.github.io/ecma262/#sec-object.entries - entries: createMethod(true), - // `Object.values` method - // https://tc39.github.io/ecma262/#sec-object.values - values: createMethod(false) -}; - -},{"../internals/descriptors":357,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/to-indexed-object":459}],426:[function(require,module,exports){ -'use strict'; -var classof = require('../internals/classof'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var test = {}; - -test[TO_STRING_TAG] = 'z'; - -// `Object.prototype.toString` method implementation -// https://tc39.github.io/ecma262/#sec-object.prototype.tostring -module.exports = String(test) !== '[object z]' ? function toString() { - return '[object ' + classof(this) + ']'; -} : test.toString; - -},{"../internals/classof":334,"../internals/well-known-symbol":473}],427:[function(require,module,exports){ -var getBuiltIn = require('../internals/get-built-in'); -var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); -var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); -var anObject = require('../internals/an-object'); - -// all object keys, includes non-enumerable and symbols -module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { - var keys = getOwnPropertyNamesModule.f(anObject(it)); - var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; - return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; -}; - -},{"../internals/an-object":315,"../internals/get-built-in":372,"../internals/object-get-own-property-names":418,"../internals/object-get-own-property-symbols":419}],428:[function(require,module,exports){ -var global = require('../internals/global'); -var trim = require('../internals/string-trim').trim; -var whitespaces = require('../internals/whitespaces'); - -var nativeParseFloat = global.parseFloat; -var FORCED = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity; - -// `parseFloat` method -// https://tc39.github.io/ecma262/#sec-parsefloat-string -module.exports = FORCED ? function parseFloat(string) { - var trimmedString = trim(String(string)); - var result = nativeParseFloat(trimmedString); - return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; -} : nativeParseFloat; - -},{"../internals/global":377,"../internals/string-trim":454,"../internals/whitespaces":474}],429:[function(require,module,exports){ -var global = require('../internals/global'); -var trim = require('../internals/string-trim').trim; -var whitespaces = require('../internals/whitespaces'); - -var nativeParseInt = global.parseInt; -var hex = /^[+-]?0[Xx]/; -var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22; - -// `parseInt` method -// https://tc39.github.io/ecma262/#sec-parseint-string-radix -module.exports = FORCED ? function parseInt(string, radix) { - var S = trim(String(string)); - return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); -} : nativeParseInt; - -},{"../internals/global":377,"../internals/string-trim":454,"../internals/whitespaces":474}],430:[function(require,module,exports){ -module.exports = require('../internals/global'); - -},{"../internals/global":377}],431:[function(require,module,exports){ -module.exports = function (exec) { - try { - return { error: false, value: exec() }; - } catch (error) { - return { error: true, value: error }; - } -}; - -},{}],432:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var newPromiseCapability = require('../internals/new-promise-capability'); - -module.exports = function (C, x) { - anObject(C); - if (isObject(x) && x.constructor === C) return x; - var promiseCapability = newPromiseCapability.f(C); - var resolve = promiseCapability.resolve; - resolve(x); - return promiseCapability.promise; -}; - -},{"../internals/an-object":315,"../internals/is-object":392,"../internals/new-promise-capability":409}],433:[function(require,module,exports){ -'use strict'; -// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js -var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 -var base = 36; -var tMin = 1; -var tMax = 26; -var skew = 38; -var damp = 700; -var initialBias = 72; -var initialN = 128; // 0x80 -var delimiter = '-'; // '\x2D' -var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars -var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators -var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; -var baseMinusTMin = base - tMin; -var floor = Math.floor; -var stringFromCharCode = String.fromCharCode; - -/** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - */ -var ucs2decode = function (string) { - var output = []; - var counter = 0; - var length = string.length; - while (counter < length) { - var value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - var extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } - } - return output; -}; - -/** - * Converts a digit/integer into a basic code point. - */ -var digitToBasic = function (digit) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26); -}; - -/** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - */ -var adapt = function (delta, numPoints, firstTime) { - var k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); - } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - */ -// eslint-disable-next-line max-statements -var encode = function (input) { - var output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - var inputLength = input.length; - - // Initialize the state. - var n = initialN; - var delta = 0; - var bias = initialBias; - var i, currentValue; - - // Handle the basic code points. - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } - } - - var basicLength = output.length; // number of basic code points. - var handledCPCount = basicLength; // number of code points that have been handled; - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); - } - - // Main encoding loop: - while (handledCPCount < inputLength) { - // All non-basic code points < n have been handled already. Find the next larger one: - var m = maxInt; - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue >= n && currentValue < m) { - m = currentValue; - } - } - - // Increase `delta` enough to advance the decoder's state to , but guard against overflow. - var handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - throw RangeError(OVERFLOW_ERROR); - } - - delta += (m - n) * handledCPCountPlusOne; - n = m; - - for (i = 0; i < input.length; i++) { - currentValue = input[i]; - if (currentValue < n && ++delta > maxInt) { - throw RangeError(OVERFLOW_ERROR); - } - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - var q = delta; - for (var k = base; /* no condition */; k += base) { - var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); - if (q < t) break; - var qMinusT = q - t; - var baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); - q = floor(qMinusT / baseMinusT); - } - - output.push(stringFromCharCode(digitToBasic(q))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; - } - } - - ++delta; - ++n; - } - return output.join(''); -}; - -module.exports = function (input) { - var encoded = []; - var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); - var i, label; - for (i = 0; i < labels.length; i++) { - label = labels[i]; - encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); - } - return encoded.join('.'); -}; - -},{}],434:[function(require,module,exports){ -var redefine = require('../internals/redefine'); - -module.exports = function (target, src, options) { - for (var key in src) redefine(target, key, src[key], options); - return target; -}; - -},{"../internals/redefine":435}],435:[function(require,module,exports){ -var global = require('../internals/global'); -var shared = require('../internals/shared'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var has = require('../internals/has'); -var setGlobal = require('../internals/set-global'); -var nativeFunctionToString = require('../internals/function-to-string'); -var InternalStateModule = require('../internals/internal-state'); - -var getInternalState = InternalStateModule.get; -var enforceInternalState = InternalStateModule.enforce; -var TEMPLATE = String(nativeFunctionToString).split('toString'); - -shared('inspectSource', function (it) { - return nativeFunctionToString.call(it); -}); - -(module.exports = function (O, key, value, options) { - var unsafe = options ? !!options.unsafe : false; - var simple = options ? !!options.enumerable : false; - var noTargetGet = options ? !!options.noTargetGet : false; - if (typeof value == 'function') { - if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key); - enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); - } - if (O === global) { - if (simple) O[key] = value; - else setGlobal(key, value); - return; - } else if (!unsafe) { - delete O[key]; - } else if (!noTargetGet && O[key]) { - simple = true; - } - if (simple) O[key] = value; - else createNonEnumerableProperty(O, key, value); -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, 'toString', function toString() { - return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this); -}); - -},{"../internals/create-non-enumerable-property":350,"../internals/function-to-string":370,"../internals/global":377,"../internals/has":378,"../internals/internal-state":386,"../internals/set-global":443,"../internals/shared":448}],436:[function(require,module,exports){ -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -var Map = require('../modules/es.map'); -var WeakMap = require('../modules/es.weak-map'); -var shared = require('../internals/shared'); - -var metadata = shared('metadata'); -var store = metadata.store || (metadata.store = new WeakMap()); - -var getOrCreateMetadataMap = function (target, targetKey, create) { - var targetMetadata = store.get(target); - if (!targetMetadata) { - if (!create) return; - store.set(target, targetMetadata = new Map()); - } - var keyMetadata = targetMetadata.get(targetKey); - if (!keyMetadata) { - if (!create) return; - targetMetadata.set(targetKey, keyMetadata = new Map()); - } return keyMetadata; -}; - -var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? false : metadataMap.has(MetadataKey); -}; - -var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { - var metadataMap = getOrCreateMetadataMap(O, P, false); - return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); -}; - -var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { - getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); -}; - -var ordinaryOwnMetadataKeys = function (target, targetKey) { - var metadataMap = getOrCreateMetadataMap(target, targetKey, false); - var keys = []; - if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); - return keys; -}; - -var toMetadataKey = function (it) { - return it === undefined || typeof it == 'symbol' ? it : String(it); -}; - -module.exports = { - store: store, - getMap: getOrCreateMetadataMap, - has: ordinaryHasOwnMetadata, - get: ordinaryGetOwnMetadata, - set: ordinaryDefineOwnMetadata, - keys: ordinaryOwnMetadataKeys, - toKey: toMetadataKey -}; - -},{"../internals/shared":448,"../modules/es.map":519,"../modules/es.weak-map":678}],437:[function(require,module,exports){ -var classof = require('./classof-raw'); -var regexpExec = require('./regexp-exec'); - -// `RegExpExec` abstract operation -// https://tc39.github.io/ecma262/#sec-regexpexec -module.exports = function (R, S) { - var exec = R.exec; - if (typeof exec === 'function') { - var result = exec.call(R, S); - if (typeof result !== 'object') { - throw TypeError('RegExp exec method returned something other than an Object or null'); - } - return result; - } - - if (classof(R) !== 'RegExp') { - throw TypeError('RegExp#exec called on incompatible receiver'); - } - - return regexpExec.call(R, S); -}; - - -},{"./classof-raw":333,"./regexp-exec":438}],438:[function(require,module,exports){ -'use strict'; -var regexpFlags = require('./regexp-flags'); - -var nativeExec = RegExp.prototype.exec; -// This always refers to the native implementation, because the -// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, -// which loads this file before patching the method. -var nativeReplace = String.prototype.replace; - -var patchedExec = nativeExec; - -var UPDATES_LAST_INDEX_WRONG = (function () { - var re1 = /a/; - var re2 = /b*/g; - nativeExec.call(re1, 'a'); - nativeExec.call(re2, 'a'); - return re1.lastIndex !== 0 || re2.lastIndex !== 0; -})(); - -// nonparticipating capturing group, copied from es5-shim's String#split patch. -var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - -var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; - -if (PATCH) { - patchedExec = function exec(str) { - var re = this; - var lastIndex, reCopy, match, i; - - if (NPCG_INCLUDED) { - reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); - } - if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; - - match = nativeExec.call(re, str); - - if (UPDATES_LAST_INDEX_WRONG && match) { - re.lastIndex = re.global ? match.index + match[0].length : lastIndex; - } - if (NPCG_INCLUDED && match && match.length > 1) { - // Fix browsers whose `exec` methods don't consistently return `undefined` - // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ - nativeReplace.call(match[0], reCopy, function () { - for (i = 1; i < arguments.length - 2; i++) { - if (arguments[i] === undefined) match[i] = undefined; - } - }); - } - - return match; - }; -} - -module.exports = patchedExec; - -},{"./regexp-flags":439}],439:[function(require,module,exports){ -'use strict'; -var anObject = require('../internals/an-object'); - -// `RegExp.prototype.flags` getter implementation -// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags -module.exports = function () { - var that = anObject(this); - var result = ''; - if (that.global) result += 'g'; - if (that.ignoreCase) result += 'i'; - if (that.multiline) result += 'm'; - if (that.dotAll) result += 's'; - if (that.unicode) result += 'u'; - if (that.sticky) result += 'y'; - return result; -}; - -},{"../internals/an-object":315}],440:[function(require,module,exports){ -// `RequireObjectCoercible` abstract operation -// https://tc39.github.io/ecma262/#sec-requireobjectcoercible -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - -},{}],441:[function(require,module,exports){ -// `SameValueZero` abstract operation -// https://tc39.github.io/ecma262/#sec-samevaluezero -module.exports = function (x, y) { - // eslint-disable-next-line no-self-compare - return x === y || x != x && y != y; -}; - -},{}],442:[function(require,module,exports){ -// `SameValue` abstract operation -// https://tc39.github.io/ecma262/#sec-samevalue -module.exports = Object.is || function is(x, y) { - // eslint-disable-next-line no-self-compare - return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; -}; - -},{}],443:[function(require,module,exports){ -var global = require('../internals/global'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); - -module.exports = function (key, value) { - try { - createNonEnumerableProperty(global, key, value); - } catch (error) { - global[key] = value; - } return value; -}; - -},{"../internals/create-non-enumerable-property":350,"../internals/global":377}],444:[function(require,module,exports){ -'use strict'; -var getBuiltIn = require('../internals/get-built-in'); -var definePropertyModule = require('../internals/object-define-property'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var DESCRIPTORS = require('../internals/descriptors'); - -var SPECIES = wellKnownSymbol('species'); - -module.exports = function (CONSTRUCTOR_NAME) { - var Constructor = getBuiltIn(CONSTRUCTOR_NAME); - var defineProperty = definePropertyModule.f; - - if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { - defineProperty(Constructor, SPECIES, { - configurable: true, - get: function () { return this; } - }); - } -}; - -},{"../internals/descriptors":357,"../internals/get-built-in":372,"../internals/object-define-property":415,"../internals/well-known-symbol":473}],445:[function(require,module,exports){ -var defineProperty = require('../internals/object-define-property').f; -var has = require('../internals/has'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -module.exports = function (it, TAG, STATIC) { - if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { - defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); - } -}; - -},{"../internals/has":378,"../internals/object-define-property":415,"../internals/well-known-symbol":473}],446:[function(require,module,exports){ -var shared = require('../internals/shared'); -var uid = require('../internals/uid'); - -var keys = shared('keys'); - -module.exports = function (key) { - return keys[key] || (keys[key] = uid(key)); -}; - -},{"../internals/shared":448,"../internals/uid":469}],447:[function(require,module,exports){ -var global = require('../internals/global'); -var setGlobal = require('../internals/set-global'); - -var SHARED = '__core-js_shared__'; -var store = global[SHARED] || setGlobal(SHARED, {}); - -module.exports = store; - -},{"../internals/global":377,"../internals/set-global":443}],448:[function(require,module,exports){ -var IS_PURE = require('../internals/is-pure'); -var store = require('../internals/shared-store'); - -(module.exports = function (key, value) { - return store[key] || (store[key] = value !== undefined ? value : {}); -})('versions', []).push({ - version: '3.4.1', - mode: IS_PURE ? 'pure' : 'global', - copyright: '© 2019 Denis Pushkarev (zloirock.ru)' -}); - -},{"../internals/is-pure":393,"../internals/shared-store":447}],449:[function(require,module,exports){ -'use strict'; -var fails = require('../internals/fails'); - -module.exports = function (METHOD_NAME, argument) { - var method = [][METHOD_NAME]; - return !method || !fails(function () { - // eslint-disable-next-line no-useless-call,no-throw-literal - method.call(null, argument || function () { throw 1; }, 1); - }); -}; - -},{"../internals/fails":362}],450:[function(require,module,exports){ -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var SPECIES = wellKnownSymbol('species'); - -// `SpeciesConstructor` abstract operation -// https://tc39.github.io/ecma262/#sec-speciesconstructor -module.exports = function (O, defaultConstructor) { - var C = anObject(O).constructor; - var S; - return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); -}; - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/well-known-symbol":473}],451:[function(require,module,exports){ -var toInteger = require('../internals/to-integer'); -var requireObjectCoercible = require('../internals/require-object-coercible'); - -// `String.prototype.{ codePointAt, at }` methods implementation -var createMethod = function (CONVERT_TO_STRING) { - return function ($this, pos) { - var S = String(requireObjectCoercible($this)); - var position = toInteger(pos); - var size = S.length; - var first, second; - if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; - first = S.charCodeAt(position); - return first < 0xD800 || first > 0xDBFF || position + 1 === size - || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF - ? CONVERT_TO_STRING ? S.charAt(position) : first - : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; - }; -}; - -module.exports = { - // `String.prototype.codePointAt` method - // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat - codeAt: createMethod(false), - // `String.prototype.at` method - // https://github.com/mathiasbynens/String.prototype.at - charAt: createMethod(true) -}; - -},{"../internals/require-object-coercible":440,"../internals/to-integer":460}],452:[function(require,module,exports){ -// https://github.com/tc39/proposal-string-pad-start-end -var toLength = require('../internals/to-length'); -var repeat = require('../internals/string-repeat'); -var requireObjectCoercible = require('../internals/require-object-coercible'); - -var ceil = Math.ceil; - -// `String.prototype.{ padStart, padEnd }` methods implementation -var createMethod = function (IS_END) { - return function ($this, maxLength, fillString) { - var S = String(requireObjectCoercible($this)); - var stringLength = S.length; - var fillStr = fillString === undefined ? ' ' : String(fillString); - var intMaxLength = toLength(maxLength); - var fillLen, stringFiller; - if (intMaxLength <= stringLength || fillStr == '') return S; - fillLen = intMaxLength - stringLength; - stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); - if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); - return IS_END ? S + stringFiller : stringFiller + S; - }; -}; - -module.exports = { - // `String.prototype.padStart` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padstart - start: createMethod(false), - // `String.prototype.padEnd` method - // https://tc39.github.io/ecma262/#sec-string.prototype.padend - end: createMethod(true) -}; - -},{"../internals/require-object-coercible":440,"../internals/string-repeat":453,"../internals/to-length":461}],453:[function(require,module,exports){ -'use strict'; -var toInteger = require('../internals/to-integer'); -var requireObjectCoercible = require('../internals/require-object-coercible'); - -// `String.prototype.repeat` method implementation -// https://tc39.github.io/ecma262/#sec-string.prototype.repeat -module.exports = ''.repeat || function repeat(count) { - var str = String(requireObjectCoercible(this)); - var result = ''; - var n = toInteger(count); - if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); - for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; - return result; -}; - -},{"../internals/require-object-coercible":440,"../internals/to-integer":460}],454:[function(require,module,exports){ -var requireObjectCoercible = require('../internals/require-object-coercible'); -var whitespaces = require('../internals/whitespaces'); - -var whitespace = '[' + whitespaces + ']'; -var ltrim = RegExp('^' + whitespace + whitespace + '*'); -var rtrim = RegExp(whitespace + whitespace + '*$'); - -// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation -var createMethod = function (TYPE) { - return function ($this) { - var string = String(requireObjectCoercible($this)); - if (TYPE & 1) string = string.replace(ltrim, ''); - if (TYPE & 2) string = string.replace(rtrim, ''); - return string; - }; -}; - -module.exports = { - // `String.prototype.{ trimLeft, trimStart }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart - start: createMethod(1), - // `String.prototype.{ trimRight, trimEnd }` methods - // https://tc39.github.io/ecma262/#sec-string.prototype.trimend - end: createMethod(2), - // `String.prototype.trim` method - // https://tc39.github.io/ecma262/#sec-string.prototype.trim - trim: createMethod(3) -}; - -},{"../internals/require-object-coercible":440,"../internals/whitespaces":474}],455:[function(require,module,exports){ -var global = require('../internals/global'); -var fails = require('../internals/fails'); -var classof = require('../internals/classof-raw'); -var bind = require('../internals/bind-context'); -var html = require('../internals/html'); -var createElement = require('../internals/document-create-element'); -var IS_IOS = require('../internals/is-ios'); - -var location = global.location; -var set = global.setImmediate; -var clear = global.clearImmediate; -var process = global.process; -var MessageChannel = global.MessageChannel; -var Dispatch = global.Dispatch; -var counter = 0; -var queue = {}; -var ONREADYSTATECHANGE = 'onreadystatechange'; -var defer, channel, port; - -var run = function (id) { - // eslint-disable-next-line no-prototype-builtins - if (queue.hasOwnProperty(id)) { - var fn = queue[id]; - delete queue[id]; - fn(); - } -}; - -var runner = function (id) { - return function () { - run(id); - }; -}; - -var listener = function (event) { - run(event.data); -}; - -var post = function (id) { - // old engines have not location.origin - global.postMessage(id + '', location.protocol + '//' + location.host); -}; - -// Node.js 0.9+ & IE10+ has setImmediate, otherwise: -if (!set || !clear) { - set = function setImmediate(fn) { - var args = []; - var i = 1; - while (arguments.length > i) args.push(arguments[i++]); - queue[++counter] = function () { - // eslint-disable-next-line no-new-func - (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); - }; - defer(counter); - return counter; - }; - clear = function clearImmediate(id) { - delete queue[id]; - }; - // Node.js 0.8- - if (classof(process) == 'process') { - defer = function (id) { - process.nextTick(runner(id)); - }; - // Sphere (JS game engine) Dispatch API - } else if (Dispatch && Dispatch.now) { - defer = function (id) { - Dispatch.now(runner(id)); - }; - // Browsers with MessageChannel, includes WebWorkers - // except iOS - https://github.com/zloirock/core-js/issues/624 - } else if (MessageChannel && !IS_IOS) { - channel = new MessageChannel(); - port = channel.port2; - channel.port1.onmessage = listener; - defer = bind(port.postMessage, port, 1); - // Browsers with postMessage, skip WebWorkers - // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' - } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) { - defer = post; - global.addEventListener('message', listener, false); - // IE8- - } else if (ONREADYSTATECHANGE in createElement('script')) { - defer = function (id) { - html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { - html.removeChild(this); - run(id); - }; - }; - // Rest old browsers - } else { - defer = function (id) { - setTimeout(runner(id), 0); - }; - } -} - -module.exports = { - set: set, - clear: clear -}; - -},{"../internals/bind-context":330,"../internals/classof-raw":333,"../internals/document-create-element":358,"../internals/fails":362,"../internals/global":377,"../internals/html":381,"../internals/is-ios":391}],456:[function(require,module,exports){ -var classof = require('../internals/classof-raw'); - -// `thisNumberValue` abstract operation -// https://tc39.github.io/ecma262/#sec-thisnumbervalue -module.exports = function (value) { - if (typeof value != 'number' && classof(value) != 'Number') { - throw TypeError('Incorrect invocation'); - } - return +value; -}; - -},{"../internals/classof-raw":333}],457:[function(require,module,exports){ -var toInteger = require('../internals/to-integer'); - -var max = Math.max; -var min = Math.min; - -// Helper for a popular repeating case of the spec: -// Let integer be ? ToInteger(index). -// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). -module.exports = function (index, length) { - var integer = toInteger(index); - return integer < 0 ? max(integer + length, 0) : min(integer, length); -}; - -},{"../internals/to-integer":460}],458:[function(require,module,exports){ -var toInteger = require('../internals/to-integer'); -var toLength = require('../internals/to-length'); - -// `ToIndex` abstract operation -// https://tc39.github.io/ecma262/#sec-toindex -module.exports = function (it) { - if (it === undefined) return 0; - var number = toInteger(it); - var length = toLength(number); - if (number !== length) throw RangeError('Wrong length or index'); - return length; -}; - -},{"../internals/to-integer":460,"../internals/to-length":461}],459:[function(require,module,exports){ -// toObject with fallback for non-array-like ES3 strings -var IndexedObject = require('../internals/indexed-object'); -var requireObjectCoercible = require('../internals/require-object-coercible'); - -module.exports = function (it) { - return IndexedObject(requireObjectCoercible(it)); -}; - -},{"../internals/indexed-object":383,"../internals/require-object-coercible":440}],460:[function(require,module,exports){ -var ceil = Math.ceil; -var floor = Math.floor; - -// `ToInteger` abstract operation -// https://tc39.github.io/ecma262/#sec-tointeger -module.exports = function (argument) { - return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); -}; - -},{}],461:[function(require,module,exports){ -var toInteger = require('../internals/to-integer'); - -var min = Math.min; - -// `ToLength` abstract operation -// https://tc39.github.io/ecma262/#sec-tolength -module.exports = function (argument) { - return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 -}; - -},{"../internals/to-integer":460}],462:[function(require,module,exports){ -var requireObjectCoercible = require('../internals/require-object-coercible'); - -// `ToObject` abstract operation -// https://tc39.github.io/ecma262/#sec-toobject -module.exports = function (argument) { - return Object(requireObjectCoercible(argument)); -}; - -},{"../internals/require-object-coercible":440}],463:[function(require,module,exports){ -var toPositiveInteger = require('../internals/to-positive-integer'); - -module.exports = function (it, BYTES) { - var offset = toPositiveInteger(it); - if (offset % BYTES) throw RangeError('Wrong offset'); - return offset; -}; - -},{"../internals/to-positive-integer":464}],464:[function(require,module,exports){ -var toInteger = require('../internals/to-integer'); - -module.exports = function (it) { - var result = toInteger(it); - if (result < 0) throw RangeError("The argument can't be less than 0"); - return result; -}; - -},{"../internals/to-integer":460}],465:[function(require,module,exports){ -var isObject = require('../internals/is-object'); - -// `ToPrimitive` abstract operation -// https://tc39.github.io/ecma262/#sec-toprimitive -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (input, PREFERRED_STRING) { - if (!isObject(input)) return input; - var fn, val; - if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; - if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - -},{"../internals/is-object":392}],466:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var global = require('../internals/global'); -var DESCRIPTORS = require('../internals/descriptors'); -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var ArrayBufferModule = require('../internals/array-buffer'); -var anInstance = require('../internals/an-instance'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var toLength = require('../internals/to-length'); -var toIndex = require('../internals/to-index'); -var toOffset = require('../internals/to-offset'); -var toPrimitive = require('../internals/to-primitive'); -var has = require('../internals/has'); -var classof = require('../internals/classof'); -var isObject = require('../internals/is-object'); -var create = require('../internals/object-create'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); -var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; -var typedArrayFrom = require('../internals/typed-array-from'); -var forEach = require('../internals/array-iteration').forEach; -var setSpecies = require('../internals/set-species'); -var definePropertyModule = require('../internals/object-define-property'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var InternalStateModule = require('../internals/internal-state'); -var inheritIfRequired = require('../internals/inherit-if-required'); - -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var round = Math.round; -var RangeError = global.RangeError; -var ArrayBuffer = ArrayBufferModule.ArrayBuffer; -var DataView = ArrayBufferModule.DataView; -var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; -var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; -var TypedArray = ArrayBufferViewCore.TypedArray; -var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var isTypedArray = ArrayBufferViewCore.isTypedArray; -var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; -var WRONG_LENGTH = 'Wrong length'; - -var fromList = function (C, list) { - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - while (length > index) result[index] = list[index++]; - return result; -}; - -var addGetter = function (it, key) { - nativeDefineProperty(it, key, { get: function () { - return getInternalState(this)[key]; - } }); -}; - -var isArrayBuffer = function (it) { - var klass; - return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; -}; - -var isTypedArrayIndex = function (target, key) { - return isTypedArray(target) - && typeof key != 'symbol' - && key in target - && String(+key) == String(key); -}; - -var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { - return isTypedArrayIndex(target, key = toPrimitive(key, true)) - ? createPropertyDescriptor(2, target[key]) - : nativeGetOwnPropertyDescriptor(target, key); -}; - -var wrappedDefineProperty = function defineProperty(target, key, descriptor) { - if (isTypedArrayIndex(target, key = toPrimitive(key, true)) - && isObject(descriptor) - && has(descriptor, 'value') - && !has(descriptor, 'get') - && !has(descriptor, 'set') - // TODO: add validation descriptor w/o calling accessors - && !descriptor.configurable - && (!has(descriptor, 'writable') || descriptor.writable) - && (!has(descriptor, 'enumerable') || descriptor.enumerable) - ) { - target[key] = descriptor.value; - return target; - } return nativeDefineProperty(target, key, descriptor); -}; - -if (DESCRIPTORS) { - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; - definePropertyModule.f = wrappedDefineProperty; - addGetter(TypedArrayPrototype, 'buffer'); - addGetter(TypedArrayPrototype, 'byteOffset'); - addGetter(TypedArrayPrototype, 'byteLength'); - addGetter(TypedArrayPrototype, 'length'); - } - - $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { - getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, - defineProperty: wrappedDefineProperty - }); - - module.exports = function (TYPE, BYTES, wrapper, CLAMPED) { - var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; - var GETTER = 'get' + TYPE; - var SETTER = 'set' + TYPE; - var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; - var TypedArrayConstructor = NativeTypedArrayConstructor; - var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; - var exported = {}; - - var getter = function (that, index) { - var data = getInternalState(that); - return data.view[GETTER](index * BYTES + data.byteOffset, true); - }; - - var setter = function (that, index, value) { - var data = getInternalState(that); - if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; - data.view[SETTER](index * BYTES + data.byteOffset, value, true); - }; - - var addElement = function (that, index) { - nativeDefineProperty(that, index, { - get: function () { - return getter(this, index); - }, - set: function (value) { - return setter(this, index, value); - }, - enumerable: true - }); - }; - - if (!NATIVE_ARRAY_BUFFER_VIEWS) { - TypedArrayConstructor = wrapper(function (that, data, offset, $length) { - anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); - var index = 0; - var byteOffset = 0; - var buffer, byteLength, length; - if (!isObject(data)) { - length = toIndex(data); - byteLength = length * BYTES; - buffer = new ArrayBuffer(byteLength); - } else if (isArrayBuffer(data)) { - buffer = data; - byteOffset = toOffset(offset, BYTES); - var $len = data.byteLength; - if ($length === undefined) { - if ($len % BYTES) throw RangeError(WRONG_LENGTH); - byteLength = $len - byteOffset; - if (byteLength < 0) throw RangeError(WRONG_LENGTH); - } else { - byteLength = toLength($length) * BYTES; - if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); - } - length = byteLength / BYTES; - } else if (isTypedArray(data)) { - return fromList(TypedArrayConstructor, data); - } else { - return typedArrayFrom.call(TypedArrayConstructor, data); - } - setInternalState(that, { - buffer: buffer, - byteOffset: byteOffset, - byteLength: byteLength, - length: length, - view: new DataView(buffer) - }); - while (index < length) addElement(that, index++); - }); - - if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); - TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); - } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { - TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { - anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); - return inheritIfRequired(function () { - if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); - if (isArrayBuffer(data)) return $length !== undefined - ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) - : typedArrayOffset !== undefined - ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) - : new NativeTypedArrayConstructor(data); - if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); - return typedArrayFrom.call(TypedArrayConstructor, data); - }(), dummy, TypedArrayConstructor); - }); - - if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); - forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { - if (!(key in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); - } - }); - TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; - } - - if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); - } - - if (TYPED_ARRAY_TAG) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); - } - - exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; - - $({ - global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS - }, exported); - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { - createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); - } - - if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { - createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); - } - - setSpecies(CONSTRUCTOR_NAME); - }; -} else module.exports = function () { /* empty */ }; - -},{"../internals/an-instance":314,"../internals/array-buffer":317,"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/classof":334,"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/inherit-if-required":384,"../internals/internal-state":386,"../internals/is-object":392,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/object-set-prototype-of":424,"../internals/set-species":444,"../internals/to-index":458,"../internals/to-length":461,"../internals/to-offset":463,"../internals/to-primitive":465,"../internals/typed-array-from":467,"../internals/typed-arrays-constructors-requires-wrappers":468}],467:[function(require,module,exports){ -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var getIteratorMethod = require('../internals/get-iterator-method'); -var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); -var bind = require('../internals/bind-context'); -var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor; - -module.exports = function from(source /* , mapfn, thisArg */) { - var O = toObject(source); - var argumentsLength = arguments.length; - var mapfn = argumentsLength > 1 ? arguments[1] : undefined; - var mapping = mapfn !== undefined; - var iteratorMethod = getIteratorMethod(O); - var i, length, result, step, iterator, next; - if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { - iterator = iteratorMethod.call(O); - next = iterator.next; - O = []; - while (!(step = next.call(iterator)).done) { - O.push(step.value); - } - } - if (mapping && argumentsLength > 2) { - mapfn = bind(mapfn, arguments[2], 2); - } - length = toLength(O.length); - result = new (aTypedArrayConstructor(this))(length); - for (i = 0; length > i; i++) { - result[i] = mapping ? mapfn(O[i], i) : O[i]; - } - return result; -}; - -},{"../internals/array-buffer-view-core":316,"../internals/bind-context":330,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461,"../internals/to-object":462}],468:[function(require,module,exports){ -/* eslint-disable no-new */ -var global = require('../internals/global'); -var fails = require('../internals/fails'); -var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); -var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS; - -var ArrayBuffer = global.ArrayBuffer; -var Int8Array = global.Int8Array; - -module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { - Int8Array(1); -}) || !fails(function () { - new Int8Array(-1); -}) || !checkCorrectnessOfIteration(function (iterable) { - new Int8Array(); - new Int8Array(null); - new Int8Array(1.5); - new Int8Array(iterable); -}, true) || fails(function () { - // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill - return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; -}); - -},{"../internals/array-buffer-view-core":316,"../internals/check-correctness-of-iteration":332,"../internals/fails":362,"../internals/global":377}],469:[function(require,module,exports){ -var id = 0; -var postfix = Math.random(); - -module.exports = function (key) { - return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); -}; - -},{}],470:[function(require,module,exports){ -var getBuiltIn = require('../internals/get-built-in'); - -module.exports = getBuiltIn('navigator', 'userAgent') || ''; - -},{"../internals/get-built-in":372}],471:[function(require,module,exports){ -var global = require('../internals/global'); -var userAgent = require('../internals/user-agent'); - -var process = global.process; -var versions = process && process.versions; -var v8 = versions && versions.v8; -var match, version; - -if (v8) { - match = v8.split('.'); - version = match[0] + match[1]; -} else if (userAgent) { - match = userAgent.match(/Edge\/(\d+)/); - if (!match || match[1] >= 74) { - match = userAgent.match(/Chrome\/(\d+)/); - if (match) version = match[1]; - } -} - -module.exports = version && +version; - -},{"../internals/global":377,"../internals/user-agent":470}],472:[function(require,module,exports){ -// https://github.com/zloirock/core-js/issues/280 -var userAgent = require('../internals/user-agent'); - -// eslint-disable-next-line unicorn/no-unsafe-regex -module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); - -},{"../internals/user-agent":470}],473:[function(require,module,exports){ -var global = require('../internals/global'); -var shared = require('../internals/shared'); -var uid = require('../internals/uid'); -var NATIVE_SYMBOL = require('../internals/native-symbol'); - -var Symbol = global.Symbol; -var store = shared('wks'); - -module.exports = function (name) { - return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] - || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -},{"../internals/global":377,"../internals/native-symbol":406,"../internals/shared":448,"../internals/uid":469}],474:[function(require,module,exports){ -// a string of all valid unicode whitespaces -// eslint-disable-next-line max-len -module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; - -},{}],475:[function(require,module,exports){ -exports.f = require('../internals/well-known-symbol'); - -},{"../internals/well-known-symbol":473}],476:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var global = require('../internals/global'); -var arrayBufferModule = require('../internals/array-buffer'); -var setSpecies = require('../internals/set-species'); - -var ARRAY_BUFFER = 'ArrayBuffer'; -var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; -var NativeArrayBuffer = global[ARRAY_BUFFER]; - -// `ArrayBuffer` constructor -// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor -$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { - ArrayBuffer: ArrayBuffer -}); - -setSpecies(ARRAY_BUFFER); - -},{"../internals/array-buffer":317,"../internals/export":361,"../internals/global":377,"../internals/set-species":444}],477:[function(require,module,exports){ -var $ = require('../internals/export'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); - -var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; - -// `ArrayBuffer.isView` method -// https://tc39.github.io/ecma262/#sec-arraybuffer.isview -$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { - isView: ArrayBufferViewCore.isView -}); - -},{"../internals/array-buffer-view-core":316,"../internals/export":361}],478:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var ArrayBufferModule = require('../internals/array-buffer'); -var anObject = require('../internals/an-object'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var toLength = require('../internals/to-length'); -var speciesConstructor = require('../internals/species-constructor'); - -var ArrayBuffer = ArrayBufferModule.ArrayBuffer; -var DataView = ArrayBufferModule.DataView; -var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; - -var INCORRECT_SLICE = fails(function () { - return !new ArrayBuffer(2).slice(1, undefined).byteLength; -}); - -// `ArrayBuffer.prototype.slice` method -// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice -$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { - slice: function slice(start, end) { - if (nativeArrayBufferSlice !== undefined && end === undefined) { - return nativeArrayBufferSlice.call(anObject(this), start); // FF fix - } - var length = anObject(this).byteLength; - var first = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); - var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); - var viewSource = new DataView(this); - var viewTarget = new DataView(result); - var index = 0; - while (first < fin) { - viewTarget.setUint8(index++, viewSource.getUint8(first++)); - } return result; - } -}); - -},{"../internals/an-object":315,"../internals/array-buffer":317,"../internals/export":361,"../internals/fails":362,"../internals/species-constructor":450,"../internals/to-absolute-index":457,"../internals/to-length":461}],479:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var isArray = require('../internals/is-array'); -var isObject = require('../internals/is-object'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var createProperty = require('../internals/create-property'); -var arraySpeciesCreate = require('../internals/array-species-create'); -var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var V8_VERSION = require('../internals/v8-version'); - -var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); -var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; -var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; - -// We can't use this feature detection in V8 since it causes -// deoptimization and serious performance degradation -// https://github.com/zloirock/core-js/issues/679 -var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { - var array = []; - array[IS_CONCAT_SPREADABLE] = false; - return array.concat()[0] !== array; -}); - -var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); - -var isConcatSpreadable = function (O) { - if (!isObject(O)) return false; - var spreadable = O[IS_CONCAT_SPREADABLE]; - return spreadable !== undefined ? !!spreadable : isArray(O); -}; - -var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; - -// `Array.prototype.concat` method -// https://tc39.github.io/ecma262/#sec-array.prototype.concat -// with adding support of @@isConcatSpreadable and @@species -$({ target: 'Array', proto: true, forced: FORCED }, { - concat: function concat(arg) { // eslint-disable-line no-unused-vars - var O = toObject(this); - var A = arraySpeciesCreate(O, 0); - var n = 0; - var i, k, length, len, E; - for (i = -1, length = arguments.length; i < length; i++) { - E = i === -1 ? O : arguments[i]; - if (isConcatSpreadable(E)) { - len = toLength(E.length); - if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); - } else { - if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); - createProperty(A, n++, E); - } - } - A.length = n; - return A; - } -}); - -},{"../internals/array-method-has-species-support":325,"../internals/array-species-create":327,"../internals/create-property":352,"../internals/export":361,"../internals/fails":362,"../internals/is-array":388,"../internals/is-object":392,"../internals/to-length":461,"../internals/to-object":462,"../internals/v8-version":471,"../internals/well-known-symbol":473}],480:[function(require,module,exports){ -var $ = require('../internals/export'); -var copyWithin = require('../internals/array-copy-within'); -var addToUnscopables = require('../internals/add-to-unscopables'); - -// `Array.prototype.copyWithin` method -// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin -$({ target: 'Array', proto: true }, { - copyWithin: copyWithin -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('copyWithin'); - -},{"../internals/add-to-unscopables":312,"../internals/array-copy-within":318,"../internals/export":361}],481:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $every = require('../internals/array-iteration').every; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -// `Array.prototype.every` method -// https://tc39.github.io/ecma262/#sec-array.prototype.every -$({ target: 'Array', proto: true, forced: sloppyArrayMethod('every') }, { - every: function every(callbackfn /* , thisArg */) { - return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-iteration":323,"../internals/export":361,"../internals/sloppy-array-method":449}],482:[function(require,module,exports){ -var $ = require('../internals/export'); -var fill = require('../internals/array-fill'); -var addToUnscopables = require('../internals/add-to-unscopables'); - -// `Array.prototype.fill` method -// https://tc39.github.io/ecma262/#sec-array.prototype.fill -$({ target: 'Array', proto: true }, { - fill: fill -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('fill'); - -},{"../internals/add-to-unscopables":312,"../internals/array-fill":319,"../internals/export":361}],483:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $filter = require('../internals/array-iteration').filter; -var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); - -// `Array.prototype.filter` method -// https://tc39.github.io/ecma262/#sec-array.prototype.filter -// with adding support of @@species -$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('filter') }, { - filter: function filter(callbackfn /* , thisArg */) { - return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-iteration":323,"../internals/array-method-has-species-support":325,"../internals/export":361}],484:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $findIndex = require('../internals/array-iteration').findIndex; -var addToUnscopables = require('../internals/add-to-unscopables'); - -var FIND_INDEX = 'findIndex'; -var SKIPS_HOLES = true; - -// Shouldn't skip holes -if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); - -// `Array.prototype.findIndex` method -// https://tc39.github.io/ecma262/#sec-array.prototype.findindex -$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { - findIndex: function findIndex(callbackfn /* , that = undefined */) { - return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables(FIND_INDEX); - -},{"../internals/add-to-unscopables":312,"../internals/array-iteration":323,"../internals/export":361}],485:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $find = require('../internals/array-iteration').find; -var addToUnscopables = require('../internals/add-to-unscopables'); - -var FIND = 'find'; -var SKIPS_HOLES = true; - -// Shouldn't skip holes -if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); - -// `Array.prototype.find` method -// https://tc39.github.io/ecma262/#sec-array.prototype.find -$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { - find: function find(callbackfn /* , that = undefined */) { - return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables(FIND); - -},{"../internals/add-to-unscopables":312,"../internals/array-iteration":323,"../internals/export":361}],486:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var flattenIntoArray = require('../internals/flatten-into-array'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var aFunction = require('../internals/a-function'); -var arraySpeciesCreate = require('../internals/array-species-create'); - -// `Array.prototype.flatMap` method -// https://github.com/tc39/proposal-flatMap -$({ target: 'Array', proto: true }, { - flatMap: function flatMap(callbackfn /* , thisArg */) { - var O = toObject(this); - var sourceLen = toLength(O.length); - var A; - aFunction(callbackfn); - A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - return A; - } -}); - -},{"../internals/a-function":310,"../internals/array-species-create":327,"../internals/export":361,"../internals/flatten-into-array":364,"../internals/to-length":461,"../internals/to-object":462}],487:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var flattenIntoArray = require('../internals/flatten-into-array'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var toInteger = require('../internals/to-integer'); -var arraySpeciesCreate = require('../internals/array-species-create'); - -// `Array.prototype.flat` method -// https://github.com/tc39/proposal-flatMap -$({ target: 'Array', proto: true }, { - flat: function flat(/* depthArg = 1 */) { - var depthArg = arguments.length ? arguments[0] : undefined; - var O = toObject(this); - var sourceLen = toLength(O.length); - var A = arraySpeciesCreate(O, 0); - A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); - return A; - } -}); - -},{"../internals/array-species-create":327,"../internals/export":361,"../internals/flatten-into-array":364,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],488:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var forEach = require('../internals/array-for-each'); - -// `Array.prototype.forEach` method -// https://tc39.github.io/ecma262/#sec-array.prototype.foreach -$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { - forEach: forEach -}); - -},{"../internals/array-for-each":320,"../internals/export":361}],489:[function(require,module,exports){ -var $ = require('../internals/export'); -var from = require('../internals/array-from'); -var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); - -var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { - Array.from(iterable); -}); - -// `Array.from` method -// https://tc39.github.io/ecma262/#sec-array.from -$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { - from: from -}); - -},{"../internals/array-from":321,"../internals/check-correctness-of-iteration":332,"../internals/export":361}],490:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $includes = require('../internals/array-includes').includes; -var addToUnscopables = require('../internals/add-to-unscopables'); - -// `Array.prototype.includes` method -// https://tc39.github.io/ecma262/#sec-array.prototype.includes -$({ target: 'Array', proto: true }, { - includes: function includes(el /* , fromIndex = 0 */) { - return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('includes'); - -},{"../internals/add-to-unscopables":312,"../internals/array-includes":322,"../internals/export":361}],491:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $indexOf = require('../internals/array-includes').indexOf; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -var nativeIndexOf = [].indexOf; - -var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; -var SLOPPY_METHOD = sloppyArrayMethod('indexOf'); - -// `Array.prototype.indexOf` method -// https://tc39.github.io/ecma262/#sec-array.prototype.indexof -$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, { - indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { - return NEGATIVE_ZERO - // convert -0 to +0 - ? nativeIndexOf.apply(this, arguments) || 0 - : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-includes":322,"../internals/export":361,"../internals/sloppy-array-method":449}],492:[function(require,module,exports){ -var $ = require('../internals/export'); -var isArray = require('../internals/is-array'); - -// `Array.isArray` method -// https://tc39.github.io/ecma262/#sec-array.isarray -$({ target: 'Array', stat: true }, { - isArray: isArray -}); - -},{"../internals/export":361,"../internals/is-array":388}],493:[function(require,module,exports){ -'use strict'; -var toIndexedObject = require('../internals/to-indexed-object'); -var addToUnscopables = require('../internals/add-to-unscopables'); -var Iterators = require('../internals/iterators'); -var InternalStateModule = require('../internals/internal-state'); -var defineIterator = require('../internals/define-iterator'); - -var ARRAY_ITERATOR = 'Array Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); - -// `Array.prototype.entries` method -// https://tc39.github.io/ecma262/#sec-array.prototype.entries -// `Array.prototype.keys` method -// https://tc39.github.io/ecma262/#sec-array.prototype.keys -// `Array.prototype.values` method -// https://tc39.github.io/ecma262/#sec-array.prototype.values -// `Array.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator -// `CreateArrayIterator` internal method -// https://tc39.github.io/ecma262/#sec-createarrayiterator -module.exports = defineIterator(Array, 'Array', function (iterated, kind) { - setInternalState(this, { - type: ARRAY_ITERATOR, - target: toIndexedObject(iterated), // target - index: 0, // next index - kind: kind // kind - }); -// `%ArrayIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next -}, function () { - var state = getInternalState(this); - var target = state.target; - var kind = state.kind; - var index = state.index++; - if (!target || index >= target.length) { - state.target = undefined; - return { value: undefined, done: true }; - } - if (kind == 'keys') return { value: index, done: false }; - if (kind == 'values') return { value: target[index], done: false }; - return { value: [index, target[index]], done: false }; -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% -// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject -// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject -Iterators.Arguments = Iterators.Array; - -// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - -},{"../internals/add-to-unscopables":312,"../internals/define-iterator":355,"../internals/internal-state":386,"../internals/iterators":397,"../internals/to-indexed-object":459}],494:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IndexedObject = require('../internals/indexed-object'); -var toIndexedObject = require('../internals/to-indexed-object'); -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -var nativeJoin = [].join; - -var ES3_STRINGS = IndexedObject != Object; -var SLOPPY_METHOD = sloppyArrayMethod('join', ','); - -// `Array.prototype.join` method -// https://tc39.github.io/ecma262/#sec-array.prototype.join -$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, { - join: function join(separator) { - return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); - } -}); - -},{"../internals/export":361,"../internals/indexed-object":383,"../internals/sloppy-array-method":449,"../internals/to-indexed-object":459}],495:[function(require,module,exports){ -var $ = require('../internals/export'); -var lastIndexOf = require('../internals/array-last-index-of'); - -// `Array.prototype.lastIndexOf` method -// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof -$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { - lastIndexOf: lastIndexOf -}); - -},{"../internals/array-last-index-of":324,"../internals/export":361}],496:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $map = require('../internals/array-iteration').map; -var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); - -// `Array.prototype.map` method -// https://tc39.github.io/ecma262/#sec-array.prototype.map -// with adding support of @@species -$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('map') }, { - map: function map(callbackfn /* , thisArg */) { - return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-iteration":323,"../internals/array-method-has-species-support":325,"../internals/export":361}],497:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var createProperty = require('../internals/create-property'); - -var ISNT_GENERIC = fails(function () { - function F() { /* empty */ } - return !(Array.of.call(F) instanceof F); -}); - -// `Array.of` method -// https://tc39.github.io/ecma262/#sec-array.of -// WebKit Array.of isn't generic -$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { - of: function of(/* ...args */) { - var index = 0; - var argumentsLength = arguments.length; - var result = new (typeof this == 'function' ? this : Array)(argumentsLength); - while (argumentsLength > index) createProperty(result, index, arguments[index++]); - result.length = argumentsLength; - return result; - } -}); - -},{"../internals/create-property":352,"../internals/export":361,"../internals/fails":362}],498:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $reduceRight = require('../internals/array-reduce').right; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -// `Array.prototype.reduceRight` method -// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright -$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduceRight') }, { - reduceRight: function reduceRight(callbackfn /* , initialValue */) { - return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-reduce":326,"../internals/export":361,"../internals/sloppy-array-method":449}],499:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $reduce = require('../internals/array-reduce').left; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -// `Array.prototype.reduce` method -// https://tc39.github.io/ecma262/#sec-array.prototype.reduce -$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduce') }, { - reduce: function reduce(callbackfn /* , initialValue */) { - return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-reduce":326,"../internals/export":361,"../internals/sloppy-array-method":449}],500:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var isArray = require('../internals/is-array'); - -var nativeReverse = [].reverse; -var test = [1, 2]; - -// `Array.prototype.reverse` method -// https://tc39.github.io/ecma262/#sec-array.prototype.reverse -// fix for Safari 12.0 bug -// https://bugs.webkit.org/show_bug.cgi?id=188794 -$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { - reverse: function reverse() { - // eslint-disable-next-line no-self-assign - if (isArray(this)) this.length = this.length; - return nativeReverse.call(this); - } -}); - -},{"../internals/export":361,"../internals/is-array":388}],501:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var isObject = require('../internals/is-object'); -var isArray = require('../internals/is-array'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var toLength = require('../internals/to-length'); -var toIndexedObject = require('../internals/to-indexed-object'); -var createProperty = require('../internals/create-property'); -var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var SPECIES = wellKnownSymbol('species'); -var nativeSlice = [].slice; -var max = Math.max; - -// `Array.prototype.slice` method -// https://tc39.github.io/ecma262/#sec-array.prototype.slice -// fallback for not array-like ES3 strings and DOM objects -$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, { - slice: function slice(start, end) { - var O = toIndexedObject(this); - var length = toLength(O.length); - var k = toAbsoluteIndex(start, length); - var fin = toAbsoluteIndex(end === undefined ? length : end, length); - // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible - var Constructor, result, n; - if (isArray(O)) { - Constructor = O.constructor; - // cross-realm fallback - if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { - Constructor = undefined; - } else if (isObject(Constructor)) { - Constructor = Constructor[SPECIES]; - if (Constructor === null) Constructor = undefined; - } - if (Constructor === Array || Constructor === undefined) { - return nativeSlice.call(O, k, fin); - } - } - result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); - for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); - result.length = n; - return result; - } -}); - -},{"../internals/array-method-has-species-support":325,"../internals/create-property":352,"../internals/export":361,"../internals/is-array":388,"../internals/is-object":392,"../internals/to-absolute-index":457,"../internals/to-indexed-object":459,"../internals/to-length":461,"../internals/well-known-symbol":473}],502:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $some = require('../internals/array-iteration').some; -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -// `Array.prototype.some` method -// https://tc39.github.io/ecma262/#sec-array.prototype.some -$({ target: 'Array', proto: true, forced: sloppyArrayMethod('some') }, { - some: function some(callbackfn /* , thisArg */) { - return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/array-iteration":323,"../internals/export":361,"../internals/sloppy-array-method":449}],503:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var toObject = require('../internals/to-object'); -var fails = require('../internals/fails'); -var sloppyArrayMethod = require('../internals/sloppy-array-method'); - -var test = []; -var nativeSort = test.sort; - -// IE8- -var FAILS_ON_UNDEFINED = fails(function () { - test.sort(undefined); -}); -// V8 bug -var FAILS_ON_NULL = fails(function () { - test.sort(null); -}); -// Old WebKit -var SLOPPY_METHOD = sloppyArrayMethod('sort'); - -var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD; - -// `Array.prototype.sort` method -// https://tc39.github.io/ecma262/#sec-array.prototype.sort -$({ target: 'Array', proto: true, forced: FORCED }, { - sort: function sort(comparefn) { - return comparefn === undefined - ? nativeSort.call(toObject(this)) - : nativeSort.call(toObject(this), aFunction(comparefn)); - } -}); - -},{"../internals/a-function":310,"../internals/export":361,"../internals/fails":362,"../internals/sloppy-array-method":449,"../internals/to-object":462}],504:[function(require,module,exports){ -var setSpecies = require('../internals/set-species'); - -// `Array[@@species]` getter -// https://tc39.github.io/ecma262/#sec-get-array-@@species -setSpecies('Array'); - -},{"../internals/set-species":444}],505:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var toInteger = require('../internals/to-integer'); -var toLength = require('../internals/to-length'); -var toObject = require('../internals/to-object'); -var arraySpeciesCreate = require('../internals/array-species-create'); -var createProperty = require('../internals/create-property'); -var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); - -var max = Math.max; -var min = Math.min; -var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; -var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; - -// `Array.prototype.splice` method -// https://tc39.github.io/ecma262/#sec-array.prototype.splice -// with adding support of @@species -$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, { - splice: function splice(start, deleteCount /* , ...items */) { - var O = toObject(this); - var len = toLength(O.length); - var actualStart = toAbsoluteIndex(start, len); - var argumentsLength = arguments.length; - var insertCount, actualDeleteCount, A, k, from, to; - if (argumentsLength === 0) { - insertCount = actualDeleteCount = 0; - } else if (argumentsLength === 1) { - insertCount = 0; - actualDeleteCount = len - actualStart; - } else { - insertCount = argumentsLength - 2; - actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); - } - if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { - throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); - } - A = arraySpeciesCreate(O, actualDeleteCount); - for (k = 0; k < actualDeleteCount; k++) { - from = actualStart + k; - if (from in O) createProperty(A, k, O[from]); - } - A.length = actualDeleteCount; - if (insertCount < actualDeleteCount) { - for (k = actualStart; k < len - actualDeleteCount; k++) { - from = k + actualDeleteCount; - to = k + insertCount; - if (from in O) O[to] = O[from]; - else delete O[to]; - } - for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; - } else if (insertCount > actualDeleteCount) { - for (k = len - actualDeleteCount; k > actualStart; k--) { - from = k + actualDeleteCount - 1; - to = k + insertCount - 1; - if (from in O) O[to] = O[from]; - else delete O[to]; - } - } - for (k = 0; k < insertCount; k++) { - O[k + actualStart] = arguments[k + 2]; - } - O.length = len - actualDeleteCount + insertCount; - return A; - } -}); - -},{"../internals/array-method-has-species-support":325,"../internals/array-species-create":327,"../internals/create-property":352,"../internals/export":361,"../internals/to-absolute-index":457,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],506:[function(require,module,exports){ -// this method was added to unscopables after implementation -// in popular engines, so it's moved to a separate module -var addToUnscopables = require('../internals/add-to-unscopables'); - -addToUnscopables('flatMap'); - -},{"../internals/add-to-unscopables":312}],507:[function(require,module,exports){ -// this method was added to unscopables after implementation -// in popular engines, so it's moved to a separate module -var addToUnscopables = require('../internals/add-to-unscopables'); - -addToUnscopables('flat'); - -},{"../internals/add-to-unscopables":312}],508:[function(require,module,exports){ -var $ = require('../internals/export'); -var ArrayBufferModule = require('../internals/array-buffer'); -var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER; - -// `DataView` constructor -// https://tc39.github.io/ecma262/#sec-dataview-constructor -$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, { - DataView: ArrayBufferModule.DataView -}); - -},{"../internals/array-buffer":317,"../internals/array-buffer-view-core":316,"../internals/export":361}],509:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Date.now` method -// https://tc39.github.io/ecma262/#sec-date.now -$({ target: 'Date', stat: true }, { - now: function now() { - return new Date().getTime(); - } -}); - -},{"../internals/export":361}],510:[function(require,module,exports){ -var $ = require('../internals/export'); -var toISOString = require('../internals/date-to-iso-string'); - -// `Date.prototype.toISOString` method -// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring -// PhantomJS / old WebKit has a broken implementations -$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { - toISOString: toISOString -}); - -},{"../internals/date-to-iso-string":353,"../internals/export":361}],511:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var toObject = require('../internals/to-object'); -var toPrimitive = require('../internals/to-primitive'); - -var FORCED = fails(function () { - return new Date(NaN).toJSON() !== null - || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; -}); - -// `Date.prototype.toJSON` method -// https://tc39.github.io/ecma262/#sec-date.prototype.tojson -$({ target: 'Date', proto: true, forced: FORCED }, { - // eslint-disable-next-line no-unused-vars - toJSON: function toJSON(key) { - var O = toObject(this); - var pv = toPrimitive(O); - return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/to-object":462,"../internals/to-primitive":465}],512:[function(require,module,exports){ -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var dateToPrimitive = require('../internals/date-to-primitive'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -var DatePrototype = Date.prototype; - -// `Date.prototype[@@toPrimitive]` method -// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive -if (!(TO_PRIMITIVE in DatePrototype)) { - createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); -} - -},{"../internals/create-non-enumerable-property":350,"../internals/date-to-primitive":354,"../internals/well-known-symbol":473}],513:[function(require,module,exports){ -var redefine = require('../internals/redefine'); - -var DatePrototype = Date.prototype; -var INVALID_DATE = 'Invalid Date'; -var TO_STRING = 'toString'; -var nativeDateToString = DatePrototype[TO_STRING]; -var getTime = DatePrototype.getTime; - -// `Date.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-date.prototype.tostring -if (new Date(NaN) + '' != INVALID_DATE) { - redefine(DatePrototype, TO_STRING, function toString() { - var value = getTime.call(this); - // eslint-disable-next-line no-self-compare - return value === value ? nativeDateToString.call(this) : INVALID_DATE; - }); -} - -},{"../internals/redefine":435}],514:[function(require,module,exports){ -var $ = require('../internals/export'); -var bind = require('../internals/function-bind'); - -// `Function.prototype.bind` method -// https://tc39.github.io/ecma262/#sec-function.prototype.bind -$({ target: 'Function', proto: true }, { - bind: bind -}); - -},{"../internals/export":361,"../internals/function-bind":369}],515:[function(require,module,exports){ -'use strict'; -var isObject = require('../internals/is-object'); -var definePropertyModule = require('../internals/object-define-property'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var HAS_INSTANCE = wellKnownSymbol('hasInstance'); -var FunctionPrototype = Function.prototype; - -// `Function.prototype[@@hasInstance]` method -// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance -if (!(HAS_INSTANCE in FunctionPrototype)) { - definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { - if (typeof this != 'function' || !isObject(O)) return false; - if (!isObject(this.prototype)) return O instanceof this; - // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: - while (O = getPrototypeOf(O)) if (this.prototype === O) return true; - return false; - } }); -} - -},{"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/well-known-symbol":473}],516:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var defineProperty = require('../internals/object-define-property').f; - -var FunctionPrototype = Function.prototype; -var FunctionPrototypeToString = FunctionPrototype.toString; -var nameRE = /^\s*function ([^ (]*)/; -var NAME = 'name'; - -// Function instances `.name` property -// https://tc39.github.io/ecma262/#sec-function-instances-name -if (DESCRIPTORS && !(NAME in FunctionPrototype)) { - defineProperty(FunctionPrototype, NAME, { - configurable: true, - get: function () { - try { - return FunctionPrototypeToString.call(this).match(nameRE)[1]; - } catch (error) { - return ''; - } - } - }); -} - -},{"../internals/descriptors":357,"../internals/object-define-property":415}],517:[function(require,module,exports){ -var $ = require('../internals/export'); -var global = require('../internals/global'); - -// `globalThis` object -// https://github.com/tc39/proposal-global -$({ global: true }, { - globalThis: global -}); - -},{"../internals/export":361,"../internals/global":377}],518:[function(require,module,exports){ -var global = require('../internals/global'); -var setToStringTag = require('../internals/set-to-string-tag'); - -// JSON[@@toStringTag] property -// https://tc39.github.io/ecma262/#sec-json-@@tostringtag -setToStringTag(global.JSON, 'JSON', true); - -},{"../internals/global":377,"../internals/set-to-string-tag":445}],519:[function(require,module,exports){ -'use strict'; -var collection = require('../internals/collection'); -var collectionStrong = require('../internals/collection-strong'); - -// `Map` constructor -// https://tc39.github.io/ecma262/#sec-map-objects -module.exports = collection('Map', function (get) { - return function Map() { return get(this, arguments.length ? arguments[0] : undefined); }; -}, collectionStrong, true); - -},{"../internals/collection":341,"../internals/collection-strong":339}],520:[function(require,module,exports){ -var $ = require('../internals/export'); -var log1p = require('../internals/math-log1p'); - -var nativeAcosh = Math.acosh; -var log = Math.log; -var sqrt = Math.sqrt; -var LN2 = Math.LN2; - -var FORCED = !nativeAcosh - // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 - || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 - // Tor Browser bug: Math.acosh(Infinity) -> NaN - || nativeAcosh(Infinity) != Infinity; - -// `Math.acosh` method -// https://tc39.github.io/ecma262/#sec-math.acosh -$({ target: 'Math', stat: true, forced: FORCED }, { - acosh: function acosh(x) { - return (x = +x) < 1 ? NaN : x > 94906265.62425156 - ? log(x) + LN2 - : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); - } -}); - -},{"../internals/export":361,"../internals/math-log1p":401}],521:[function(require,module,exports){ -var $ = require('../internals/export'); - -var nativeAsinh = Math.asinh; -var log = Math.log; -var sqrt = Math.sqrt; - -function asinh(x) { - return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); -} - -// `Math.asinh` method -// https://tc39.github.io/ecma262/#sec-math.asinh -// Tor Browser bug: Math.asinh(0) -> -0 -$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { - asinh: asinh -}); - -},{"../internals/export":361}],522:[function(require,module,exports){ -var $ = require('../internals/export'); - -var nativeAtanh = Math.atanh; -var log = Math.log; - -// `Math.atanh` method -// https://tc39.github.io/ecma262/#sec-math.atanh -// Tor Browser bug: Math.atanh(-0) -> 0 -$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { - atanh: function atanh(x) { - return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; - } -}); - -},{"../internals/export":361}],523:[function(require,module,exports){ -var $ = require('../internals/export'); -var sign = require('../internals/math-sign'); - -var abs = Math.abs; -var pow = Math.pow; - -// `Math.cbrt` method -// https://tc39.github.io/ecma262/#sec-math.cbrt -$({ target: 'Math', stat: true }, { - cbrt: function cbrt(x) { - return sign(x = +x) * pow(abs(x), 1 / 3); - } -}); - -},{"../internals/export":361,"../internals/math-sign":403}],524:[function(require,module,exports){ -var $ = require('../internals/export'); - -var floor = Math.floor; -var log = Math.log; -var LOG2E = Math.LOG2E; - -// `Math.clz32` method -// https://tc39.github.io/ecma262/#sec-math.clz32 -$({ target: 'Math', stat: true }, { - clz32: function clz32(x) { - return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; - } -}); - -},{"../internals/export":361}],525:[function(require,module,exports){ -var $ = require('../internals/export'); -var expm1 = require('../internals/math-expm1'); - -var nativeCosh = Math.cosh; -var abs = Math.abs; -var E = Math.E; - -// `Math.cosh` method -// https://tc39.github.io/ecma262/#sec-math.cosh -$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { - cosh: function cosh(x) { - var t = expm1(abs(x) - 1) + 1; - return (t + 1 / (t * E * E)) * (E / 2); - } -}); - -},{"../internals/export":361,"../internals/math-expm1":399}],526:[function(require,module,exports){ -var $ = require('../internals/export'); -var expm1 = require('../internals/math-expm1'); - -// `Math.expm1` method -// https://tc39.github.io/ecma262/#sec-math.expm1 -$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 }); - -},{"../internals/export":361,"../internals/math-expm1":399}],527:[function(require,module,exports){ -var $ = require('../internals/export'); -var fround = require('../internals/math-fround'); - -// `Math.fround` method -// https://tc39.github.io/ecma262/#sec-math.fround -$({ target: 'Math', stat: true }, { fround: fround }); - -},{"../internals/export":361,"../internals/math-fround":400}],528:[function(require,module,exports){ -var $ = require('../internals/export'); - -var $hypot = Math.hypot; -var abs = Math.abs; -var sqrt = Math.sqrt; - -// Chrome 77 bug -// https://bugs.chromium.org/p/v8/issues/detail?id=9546 -var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; - -// `Math.hypot` method -// https://tc39.github.io/ecma262/#sec-math.hypot -$({ target: 'Math', stat: true, forced: BUGGY }, { - hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars - var sum = 0; - var i = 0; - var aLen = arguments.length; - var larg = 0; - var arg, div; - while (i < aLen) { - arg = abs(arguments[i++]); - if (larg < arg) { - div = larg / arg; - sum = sum * div * div + 1; - larg = arg; - } else if (arg > 0) { - div = arg / larg; - sum += div * div; - } else sum += arg; - } - return larg === Infinity ? Infinity : larg * sqrt(sum); - } -}); - -},{"../internals/export":361}],529:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); - -var nativeImul = Math.imul; - -var FORCED = fails(function () { - return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; -}); - -// `Math.imul` method -// https://tc39.github.io/ecma262/#sec-math.imul -// some WebKit versions fails with big numbers, some has wrong arity -$({ target: 'Math', stat: true, forced: FORCED }, { - imul: function imul(x, y) { - var UINT16 = 0xFFFF; - var xn = +x; - var yn = +y; - var xl = UINT16 & xn; - var yl = UINT16 & yn; - return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); - } -}); - -},{"../internals/export":361,"../internals/fails":362}],530:[function(require,module,exports){ -var $ = require('../internals/export'); - -var log = Math.log; -var LOG10E = Math.LOG10E; - -// `Math.log10` method -// https://tc39.github.io/ecma262/#sec-math.log10 -$({ target: 'Math', stat: true }, { - log10: function log10(x) { - return log(x) * LOG10E; - } -}); - -},{"../internals/export":361}],531:[function(require,module,exports){ -var $ = require('../internals/export'); -var log1p = require('../internals/math-log1p'); - -// `Math.log1p` method -// https://tc39.github.io/ecma262/#sec-math.log1p -$({ target: 'Math', stat: true }, { log1p: log1p }); - -},{"../internals/export":361,"../internals/math-log1p":401}],532:[function(require,module,exports){ -var $ = require('../internals/export'); - -var log = Math.log; -var LN2 = Math.LN2; - -// `Math.log2` method -// https://tc39.github.io/ecma262/#sec-math.log2 -$({ target: 'Math', stat: true }, { - log2: function log2(x) { - return log(x) / LN2; - } -}); - -},{"../internals/export":361}],533:[function(require,module,exports){ -var $ = require('../internals/export'); -var sign = require('../internals/math-sign'); - -// `Math.sign` method -// https://tc39.github.io/ecma262/#sec-math.sign -$({ target: 'Math', stat: true }, { - sign: sign -}); - -},{"../internals/export":361,"../internals/math-sign":403}],534:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var expm1 = require('../internals/math-expm1'); - -var abs = Math.abs; -var exp = Math.exp; -var E = Math.E; - -var FORCED = fails(function () { - return Math.sinh(-2e-17) != -2e-17; -}); - -// `Math.sinh` method -// https://tc39.github.io/ecma262/#sec-math.sinh -// V8 near Chromium 38 has a problem with very small numbers -$({ target: 'Math', stat: true, forced: FORCED }, { - sinh: function sinh(x) { - return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/math-expm1":399}],535:[function(require,module,exports){ -var $ = require('../internals/export'); -var expm1 = require('../internals/math-expm1'); - -var exp = Math.exp; - -// `Math.tanh` method -// https://tc39.github.io/ecma262/#sec-math.tanh -$({ target: 'Math', stat: true }, { - tanh: function tanh(x) { - var a = expm1(x = +x); - var b = expm1(-x); - return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); - } -}); - -},{"../internals/export":361,"../internals/math-expm1":399}],536:[function(require,module,exports){ -var setToStringTag = require('../internals/set-to-string-tag'); - -// Math[@@toStringTag] property -// https://tc39.github.io/ecma262/#sec-math-@@tostringtag -setToStringTag(Math, 'Math', true); - -},{"../internals/set-to-string-tag":445}],537:[function(require,module,exports){ -var $ = require('../internals/export'); - -var ceil = Math.ceil; -var floor = Math.floor; - -// `Math.trunc` method -// https://tc39.github.io/ecma262/#sec-math.trunc -$({ target: 'Math', stat: true }, { - trunc: function trunc(it) { - return (it > 0 ? floor : ceil)(it); - } -}); - -},{"../internals/export":361}],538:[function(require,module,exports){ -'use strict'; -var DESCRIPTORS = require('../internals/descriptors'); -var global = require('../internals/global'); -var isForced = require('../internals/is-forced'); -var redefine = require('../internals/redefine'); -var has = require('../internals/has'); -var classof = require('../internals/classof-raw'); -var inheritIfRequired = require('../internals/inherit-if-required'); -var toPrimitive = require('../internals/to-primitive'); -var fails = require('../internals/fails'); -var create = require('../internals/object-create'); -var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; -var defineProperty = require('../internals/object-define-property').f; -var trim = require('../internals/string-trim').trim; - -var NUMBER = 'Number'; -var NativeNumber = global[NUMBER]; -var NumberPrototype = NativeNumber.prototype; - -// Opera ~12 has broken Object#toString -var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; - -// `ToNumber` abstract operation -// https://tc39.github.io/ecma262/#sec-tonumber -var toNumber = function (argument) { - var it = toPrimitive(argument, false); - var first, third, radix, maxCode, digits, length, index, code; - if (typeof it == 'string' && it.length > 2) { - it = trim(it); - first = it.charCodeAt(0); - if (first === 43 || first === 45) { - third = it.charCodeAt(2); - if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix - } else if (first === 48) { - switch (it.charCodeAt(1)) { - case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i - case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i - default: return +it; - } - digits = it.slice(2); - length = digits.length; - for (index = 0; index < length; index++) { - code = digits.charCodeAt(index); - // parseInt parses a string to a first unavailable symbol - // but ToNumber should return NaN if a string contains unavailable symbols - if (code < 48 || code > maxCode) return NaN; - } return parseInt(digits, radix); - } - } return +it; -}; - -// `Number` constructor -// https://tc39.github.io/ecma262/#sec-number-constructor -if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { - var NumberWrapper = function Number(value) { - var it = arguments.length < 1 ? 0 : value; - var dummy = this; - return dummy instanceof NumberWrapper - // check on 1..constructor(foo) case - && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) - ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); - }; - for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( - // ES3: - 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + - // ES2015 (in case, if modules with ES2015 Number statics required before): - 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + - 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' - ).split(','), j = 0, key; keys.length > j; j++) { - if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { - defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); - } - } - NumberWrapper.prototype = NumberPrototype; - NumberPrototype.constructor = NumberWrapper; - redefine(global, NUMBER, NumberWrapper); -} - -},{"../internals/classof-raw":333,"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/has":378,"../internals/inherit-if-required":384,"../internals/is-forced":389,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/redefine":435,"../internals/string-trim":454,"../internals/to-primitive":465}],539:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Number.EPSILON` constant -// https://tc39.github.io/ecma262/#sec-number.epsilon -$({ target: 'Number', stat: true }, { - EPSILON: Math.pow(2, -52) -}); - -},{"../internals/export":361}],540:[function(require,module,exports){ -var $ = require('../internals/export'); -var numberIsFinite = require('../internals/number-is-finite'); - -// `Number.isFinite` method -// https://tc39.github.io/ecma262/#sec-number.isfinite -$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); - -},{"../internals/export":361,"../internals/number-is-finite":411}],541:[function(require,module,exports){ -var $ = require('../internals/export'); -var isInteger = require('../internals/is-integer'); - -// `Number.isInteger` method -// https://tc39.github.io/ecma262/#sec-number.isinteger -$({ target: 'Number', stat: true }, { - isInteger: isInteger -}); - -},{"../internals/export":361,"../internals/is-integer":390}],542:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Number.isNaN` method -// https://tc39.github.io/ecma262/#sec-number.isnan -$({ target: 'Number', stat: true }, { - isNaN: function isNaN(number) { - // eslint-disable-next-line no-self-compare - return number != number; - } -}); - -},{"../internals/export":361}],543:[function(require,module,exports){ -var $ = require('../internals/export'); -var isInteger = require('../internals/is-integer'); - -var abs = Math.abs; - -// `Number.isSafeInteger` method -// https://tc39.github.io/ecma262/#sec-number.issafeinteger -$({ target: 'Number', stat: true }, { - isSafeInteger: function isSafeInteger(number) { - return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; - } -}); - -},{"../internals/export":361,"../internals/is-integer":390}],544:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Number.MAX_SAFE_INTEGER` constant -// https://tc39.github.io/ecma262/#sec-number.max_safe_integer -$({ target: 'Number', stat: true }, { - MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF -}); - -},{"../internals/export":361}],545:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Number.MIN_SAFE_INTEGER` constant -// https://tc39.github.io/ecma262/#sec-number.min_safe_integer -$({ target: 'Number', stat: true }, { - MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF -}); - -},{"../internals/export":361}],546:[function(require,module,exports){ -var $ = require('../internals/export'); -var parseFloat = require('../internals/parse-float'); - -// `Number.parseFloat` method -// https://tc39.github.io/ecma262/#sec-number.parseFloat -$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, { - parseFloat: parseFloat -}); - -},{"../internals/export":361,"../internals/parse-float":428}],547:[function(require,module,exports){ -var $ = require('../internals/export'); -var parseInt = require('../internals/parse-int'); - -// `Number.parseInt` method -// https://tc39.github.io/ecma262/#sec-number.parseint -$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, { - parseInt: parseInt -}); - -},{"../internals/export":361,"../internals/parse-int":429}],548:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var toInteger = require('../internals/to-integer'); -var thisNumberValue = require('../internals/this-number-value'); -var repeat = require('../internals/string-repeat'); -var fails = require('../internals/fails'); - -var nativeToFixed = 1.0.toFixed; -var floor = Math.floor; - -var pow = function (x, n, acc) { - return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); -}; - -var log = function (x) { - var n = 0; - var x2 = x; - while (x2 >= 4096) { - n += 12; - x2 /= 4096; - } - while (x2 >= 2) { - n += 1; - x2 /= 2; - } return n; -}; - -var FORCED = nativeToFixed && ( - 0.00008.toFixed(3) !== '0.000' || - 0.9.toFixed(0) !== '1' || - 1.255.toFixed(2) !== '1.25' || - 1000000000000000128.0.toFixed(0) !== '1000000000000000128' -) || !fails(function () { - // V8 ~ Android 4.3- - nativeToFixed.call({}); -}); - -// `Number.prototype.toFixed` method -// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed -$({ target: 'Number', proto: true, forced: FORCED }, { - // eslint-disable-next-line max-statements - toFixed: function toFixed(fractionDigits) { - var number = thisNumberValue(this); - var fractDigits = toInteger(fractionDigits); - var data = [0, 0, 0, 0, 0, 0]; - var sign = ''; - var result = '0'; - var e, z, j, k; - - var multiply = function (n, c) { - var index = -1; - var c2 = c; - while (++index < 6) { - c2 += n * data[index]; - data[index] = c2 % 1e7; - c2 = floor(c2 / 1e7); - } - }; - - var divide = function (n) { - var index = 6; - var c = 0; - while (--index >= 0) { - c += data[index]; - data[index] = floor(c / n); - c = (c % n) * 1e7; - } - }; - - var dataToString = function () { - var index = 6; - var s = ''; - while (--index >= 0) { - if (s !== '' || index === 0 || data[index] !== 0) { - var t = String(data[index]); - s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; - } - } return s; - }; - - if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); - // eslint-disable-next-line no-self-compare - if (number != number) return 'NaN'; - if (number <= -1e21 || number >= 1e21) return String(number); - if (number < 0) { - sign = '-'; - number = -number; - } - if (number > 1e-21) { - e = log(number * pow(2, 69, 1)) - 69; - z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); - z *= 0x10000000000000; - e = 52 - e; - if (e > 0) { - multiply(0, z); - j = fractDigits; - while (j >= 7) { - multiply(1e7, 0); - j -= 7; - } - multiply(pow(10, j, 1), 0); - j = e - 1; - while (j >= 23) { - divide(1 << 23); - j -= 23; - } - divide(1 << j); - multiply(1, 1); - divide(2); - result = dataToString(); - } else { - multiply(0, z); - multiply(1 << -e, 0); - result = dataToString() + repeat.call('0', fractDigits); - } - } - if (fractDigits > 0) { - k = result.length; - result = sign + (k <= fractDigits - ? '0.' + repeat.call('0', fractDigits - k) + result - : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); - } else { - result = sign + result; - } return result; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/string-repeat":453,"../internals/this-number-value":456,"../internals/to-integer":460}],549:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var thisNumberValue = require('../internals/this-number-value'); - -var nativeToPrecision = 1.0.toPrecision; - -var FORCED = fails(function () { - // IE7- - return nativeToPrecision.call(1, undefined) !== '1'; -}) || !fails(function () { - // V8 ~ Android 4.3- - nativeToPrecision.call({}); -}); - -// `Number.prototype.toPrecision` method -// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision -$({ target: 'Number', proto: true, forced: FORCED }, { - toPrecision: function toPrecision(precision) { - return precision === undefined - ? nativeToPrecision.call(thisNumberValue(this)) - : nativeToPrecision.call(thisNumberValue(this), precision); - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/this-number-value":456}],550:[function(require,module,exports){ -var $ = require('../internals/export'); -var assign = require('../internals/object-assign'); - -// `Object.assign` method -// https://tc39.github.io/ecma262/#sec-object.assign -$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { - assign: assign -}); - -},{"../internals/export":361,"../internals/object-assign":412}],551:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var create = require('../internals/object-create'); - -// `Object.create` method -// https://tc39.github.io/ecma262/#sec-object.create -$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { - create: create -}); - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-create":413}],552:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var FORCED = require('../internals/forced-object-prototype-accessors-methods'); -var toObject = require('../internals/to-object'); -var aFunction = require('../internals/a-function'); -var definePropertyModule = require('../internals/object-define-property'); - -// `Object.prototype.__defineGetter__` method -// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ -if (DESCRIPTORS) { - $({ target: 'Object', proto: true, forced: FORCED }, { - __defineGetter__: function __defineGetter__(P, getter) { - definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); - } - }); -} - -},{"../internals/a-function":310,"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-define-property":415,"../internals/to-object":462}],553:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var defineProperties = require('../internals/object-define-properties'); - -// `Object.defineProperties` method -// https://tc39.github.io/ecma262/#sec-object.defineproperties -$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { - defineProperties: defineProperties -}); - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-define-properties":414}],554:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var objectDefinePropertyModile = require('../internals/object-define-property'); - -// `Object.defineProperty` method -// https://tc39.github.io/ecma262/#sec-object.defineproperty -$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { - defineProperty: objectDefinePropertyModile.f -}); - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-define-property":415}],555:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var FORCED = require('../internals/forced-object-prototype-accessors-methods'); -var toObject = require('../internals/to-object'); -var aFunction = require('../internals/a-function'); -var definePropertyModule = require('../internals/object-define-property'); - -// `Object.prototype.__defineSetter__` method -// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ -if (DESCRIPTORS) { - $({ target: 'Object', proto: true, forced: FORCED }, { - __defineSetter__: function __defineSetter__(P, setter) { - definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); - } - }); -} - -},{"../internals/a-function":310,"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-define-property":415,"../internals/to-object":462}],556:[function(require,module,exports){ -var $ = require('../internals/export'); -var $entries = require('../internals/object-to-array').entries; - -// `Object.entries` method -// https://tc39.github.io/ecma262/#sec-object.entries -$({ target: 'Object', stat: true }, { - entries: function entries(O) { - return $entries(O); - } -}); - -},{"../internals/export":361,"../internals/object-to-array":425}],557:[function(require,module,exports){ -var $ = require('../internals/export'); -var FREEZING = require('../internals/freezing'); -var fails = require('../internals/fails'); -var isObject = require('../internals/is-object'); -var onFreeze = require('../internals/internal-metadata').onFreeze; - -var nativeFreeze = Object.freeze; -var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); - -// `Object.freeze` method -// https://tc39.github.io/ecma262/#sec-object.freeze -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { - freeze: function freeze(it) { - return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],558:[function(require,module,exports){ -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var createProperty = require('../internals/create-property'); - -// `Object.fromEntries` method -// https://github.com/tc39/proposal-object-from-entries -$({ target: 'Object', stat: true }, { - fromEntries: function fromEntries(iterable) { - var obj = {}; - iterate(iterable, function (k, v) { - createProperty(obj, k, v); - }, undefined, true); - return obj; - } -}); - -},{"../internals/create-property":352,"../internals/export":361,"../internals/iterate":395}],559:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var toIndexedObject = require('../internals/to-indexed-object'); -var nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; -var DESCRIPTORS = require('../internals/descriptors'); - -var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); -var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; - -// `Object.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor -$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { - return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); - } -}); - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/object-get-own-property-descriptor":416,"../internals/to-indexed-object":459}],560:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var ownKeys = require('../internals/own-keys'); -var toIndexedObject = require('../internals/to-indexed-object'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var createProperty = require('../internals/create-property'); - -// `Object.getOwnPropertyDescriptors` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors -$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { - getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { - var O = toIndexedObject(object); - var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; - var keys = ownKeys(O); - var result = {}; - var index = 0; - var key, descriptor; - while (keys.length > index) { - descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); - if (descriptor !== undefined) createProperty(result, key, descriptor); - } - return result; - } -}); - -},{"../internals/create-property":352,"../internals/descriptors":357,"../internals/export":361,"../internals/object-get-own-property-descriptor":416,"../internals/own-keys":427,"../internals/to-indexed-object":459}],561:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f; - -var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); - -// `Object.getOwnPropertyNames` method -// https://tc39.github.io/ecma262/#sec-object.getownpropertynames -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { - getOwnPropertyNames: nativeGetOwnPropertyNames -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/object-get-own-property-names-external":417}],562:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var toObject = require('../internals/to-object'); -var nativeGetPrototypeOf = require('../internals/object-get-prototype-of'); -var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); - -var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); - -// `Object.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.getprototypeof -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { - getPrototypeOf: function getPrototypeOf(it) { - return nativeGetPrototypeOf(toObject(it)); - } -}); - - -},{"../internals/correct-prototype-getter":345,"../internals/export":361,"../internals/fails":362,"../internals/object-get-prototype-of":420,"../internals/to-object":462}],563:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var isObject = require('../internals/is-object'); - -var nativeIsExtensible = Object.isExtensible; -var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); }); - -// `Object.isExtensible` method -// https://tc39.github.io/ecma262/#sec-object.isextensible -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { - isExtensible: function isExtensible(it) { - return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],564:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var isObject = require('../internals/is-object'); - -var nativeIsFrozen = Object.isFrozen; -var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); }); - -// `Object.isFrozen` method -// https://tc39.github.io/ecma262/#sec-object.isfrozen -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { - isFrozen: function isFrozen(it) { - return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],565:[function(require,module,exports){ -var $ = require('../internals/export'); -var fails = require('../internals/fails'); -var isObject = require('../internals/is-object'); - -var nativeIsSealed = Object.isSealed; -var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); }); - -// `Object.isSealed` method -// https://tc39.github.io/ecma262/#sec-object.issealed -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { - isSealed: function isSealed(it) { - return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],566:[function(require,module,exports){ -var $ = require('../internals/export'); -var is = require('../internals/same-value'); - -// `Object.is` method -// https://tc39.github.io/ecma262/#sec-object.is -$({ target: 'Object', stat: true }, { - is: is -}); - -},{"../internals/export":361,"../internals/same-value":442}],567:[function(require,module,exports){ -var $ = require('../internals/export'); -var toObject = require('../internals/to-object'); -var nativeKeys = require('../internals/object-keys'); -var fails = require('../internals/fails'); - -var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); - -// `Object.keys` method -// https://tc39.github.io/ecma262/#sec-object.keys -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { - keys: function keys(it) { - return nativeKeys(toObject(it)); - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/object-keys":422,"../internals/to-object":462}],568:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var FORCED = require('../internals/forced-object-prototype-accessors-methods'); -var toObject = require('../internals/to-object'); -var toPrimitive = require('../internals/to-primitive'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; - -// `Object.prototype.__lookupGetter__` method -// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ -if (DESCRIPTORS) { - $({ target: 'Object', proto: true, forced: FORCED }, { - __lookupGetter__: function __lookupGetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - do { - if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; - } while (O = getPrototypeOf(O)); - } - }); -} - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420,"../internals/to-object":462,"../internals/to-primitive":465}],569:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var FORCED = require('../internals/forced-object-prototype-accessors-methods'); -var toObject = require('../internals/to-object'); -var toPrimitive = require('../internals/to-primitive'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; - -// `Object.prototype.__lookupSetter__` method -// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ -if (DESCRIPTORS) { - $({ target: 'Object', proto: true, forced: FORCED }, { - __lookupSetter__: function __lookupSetter__(P) { - var O = toObject(this); - var key = toPrimitive(P, true); - var desc; - do { - if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; - } while (O = getPrototypeOf(O)); - } - }); -} - -},{"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420,"../internals/to-object":462,"../internals/to-primitive":465}],570:[function(require,module,exports){ -var $ = require('../internals/export'); -var isObject = require('../internals/is-object'); -var onFreeze = require('../internals/internal-metadata').onFreeze; -var FREEZING = require('../internals/freezing'); -var fails = require('../internals/fails'); - -var nativePreventExtensions = Object.preventExtensions; -var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); }); - -// `Object.preventExtensions` method -// https://tc39.github.io/ecma262/#sec-object.preventextensions -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { - preventExtensions: function preventExtensions(it) { - return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],571:[function(require,module,exports){ -var $ = require('../internals/export'); -var isObject = require('../internals/is-object'); -var onFreeze = require('../internals/internal-metadata').onFreeze; -var FREEZING = require('../internals/freezing'); -var fails = require('../internals/fails'); - -var nativeSeal = Object.seal; -var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); }); - -// `Object.seal` method -// https://tc39.github.io/ecma262/#sec-object.seal -$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { - seal: function seal(it) { - return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; - } -}); - -},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],572:[function(require,module,exports){ -var $ = require('../internals/export'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); - -// `Object.setPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-object.setprototypeof -$({ target: 'Object', stat: true }, { - setPrototypeOf: setPrototypeOf -}); - -},{"../internals/export":361,"../internals/object-set-prototype-of":424}],573:[function(require,module,exports){ -var redefine = require('../internals/redefine'); -var toString = require('../internals/object-to-string'); - -var ObjectPrototype = Object.prototype; - -// `Object.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-object.prototype.tostring -if (toString !== ObjectPrototype.toString) { - redefine(ObjectPrototype, 'toString', toString, { unsafe: true }); -} - -},{"../internals/object-to-string":426,"../internals/redefine":435}],574:[function(require,module,exports){ -var $ = require('../internals/export'); -var $values = require('../internals/object-to-array').values; - -// `Object.values` method -// https://tc39.github.io/ecma262/#sec-object.values -$({ target: 'Object', stat: true }, { - values: function values(O) { - return $values(O); - } -}); - -},{"../internals/export":361,"../internals/object-to-array":425}],575:[function(require,module,exports){ -var $ = require('../internals/export'); -var parseFloatImplementation = require('../internals/parse-float'); - -// `parseFloat` method -// https://tc39.github.io/ecma262/#sec-parsefloat-string -$({ global: true, forced: parseFloat != parseFloatImplementation }, { - parseFloat: parseFloatImplementation -}); - -},{"../internals/export":361,"../internals/parse-float":428}],576:[function(require,module,exports){ -var $ = require('../internals/export'); -var parseIntImplementation = require('../internals/parse-int'); - -// `parseInt` method -// https://tc39.github.io/ecma262/#sec-parseint-string-radix -$({ global: true, forced: parseInt != parseIntImplementation }, { - parseInt: parseIntImplementation -}); - -},{"../internals/export":361,"../internals/parse-int":429}],577:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var newPromiseCapabilityModule = require('../internals/new-promise-capability'); -var perform = require('../internals/perform'); -var iterate = require('../internals/iterate'); - -// `Promise.allSettled` method -// https://github.com/tc39/proposal-promise-allSettled -$({ target: 'Promise', stat: true }, { - allSettled: function allSettled(iterable) { - var C = this; - var capability = newPromiseCapabilityModule.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = { status: 'fulfilled', value: value }; - --remaining || resolve(values); - }, function (e) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = { status: 'rejected', reason: e }; - --remaining || resolve(values); - }); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - -},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395,"../internals/new-promise-capability":409,"../internals/perform":431}],578:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var NativePromise = require('../internals/native-promise-constructor'); -var getBuiltIn = require('../internals/get-built-in'); -var speciesConstructor = require('../internals/species-constructor'); -var promiseResolve = require('../internals/promise-resolve'); -var redefine = require('../internals/redefine'); - -// `Promise.prototype.finally` method -// https://tc39.github.io/ecma262/#sec-promise.prototype.finally -$({ target: 'Promise', proto: true, real: true }, { - 'finally': function (onFinally) { - var C = speciesConstructor(this, getBuiltIn('Promise')); - var isFunction = typeof onFinally == 'function'; - return this.then( - isFunction ? function (x) { - return promiseResolve(C, onFinally()).then(function () { return x; }); - } : onFinally, - isFunction ? function (e) { - return promiseResolve(C, onFinally()).then(function () { throw e; }); - } : onFinally - ); - } -}); - -// patch native Promise.prototype for native async functions -if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { - redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); -} - -},{"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/native-promise-constructor":405,"../internals/promise-resolve":432,"../internals/redefine":435,"../internals/species-constructor":450}],579:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var global = require('../internals/global'); -var getBuiltIn = require('../internals/get-built-in'); -var NativePromise = require('../internals/native-promise-constructor'); -var redefine = require('../internals/redefine'); -var redefineAll = require('../internals/redefine-all'); -var shared = require('../internals/shared'); -var setToStringTag = require('../internals/set-to-string-tag'); -var setSpecies = require('../internals/set-species'); -var isObject = require('../internals/is-object'); -var aFunction = require('../internals/a-function'); -var anInstance = require('../internals/an-instance'); -var classof = require('../internals/classof-raw'); -var iterate = require('../internals/iterate'); -var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); -var speciesConstructor = require('../internals/species-constructor'); -var task = require('../internals/task').set; -var microtask = require('../internals/microtask'); -var promiseResolve = require('../internals/promise-resolve'); -var hostReportErrors = require('../internals/host-report-errors'); -var newPromiseCapabilityModule = require('../internals/new-promise-capability'); -var perform = require('../internals/perform'); -var InternalStateModule = require('../internals/internal-state'); -var isForced = require('../internals/is-forced'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var V8_VERSION = require('../internals/v8-version'); - -var SPECIES = wellKnownSymbol('species'); -var PROMISE = 'Promise'; -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; -var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); -var PromiseConstructor = NativePromise; -var TypeError = global.TypeError; -var document = global.document; -var process = global.process; -var inspectSource = shared('inspectSource'); -var $fetch = getBuiltIn('fetch'); -var newPromiseCapability = newPromiseCapabilityModule.f; -var newGenericPromiseCapability = newPromiseCapability; -var IS_NODE = classof(process) == 'process'; -var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); -var UNHANDLED_REJECTION = 'unhandledrejection'; -var REJECTION_HANDLED = 'rejectionhandled'; -var PENDING = 0; -var FULFILLED = 1; -var REJECTED = 2; -var HANDLED = 1; -var UNHANDLED = 2; -var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; - -var FORCED = isForced(PROMISE, function () { - var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); - // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables - // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 - // We can't detect it synchronously, so just check versions - if (V8_VERSION === 66) return true; - // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test - if (!GLOBAL_CORE_JS_PROMISE && !IS_NODE && typeof PromiseRejectionEvent != 'function') return true; - // We need Promise#finally in the pure version for preventing prototype pollution - if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; - // We can't use @@species feature detection in V8 since it causes - // deoptimization and performance degradation - // https://github.com/zloirock/core-js/issues/679 - if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; - // Detect correctness of subclassing with @@species support - var promise = PromiseConstructor.resolve(1); - var FakePromise = function (exec) { - exec(function () { /* empty */ }, function () { /* empty */ }); - }; - var constructor = promise.constructor = {}; - constructor[SPECIES] = FakePromise; - return !(promise.then(function () { /* empty */ }) instanceof FakePromise); -}); - -var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { - PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); -}); - -// helpers -var isThenable = function (it) { - var then; - return isObject(it) && typeof (then = it.then) == 'function' ? then : false; -}; - -var notify = function (promise, state, isReject) { - if (state.notified) return; - state.notified = true; - var chain = state.reactions; - microtask(function () { - var value = state.value; - var ok = state.state == FULFILLED; - var index = 0; - // variable length - can't use forEach - while (chain.length > index) { - var reaction = chain[index++]; - var handler = ok ? reaction.ok : reaction.fail; - var resolve = reaction.resolve; - var reject = reaction.reject; - var domain = reaction.domain; - var result, then, exited; - try { - if (handler) { - if (!ok) { - if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state); - state.rejection = HANDLED; - } - if (handler === true) result = value; - else { - if (domain) domain.enter(); - result = handler(value); // can throw - if (domain) { - domain.exit(); - exited = true; - } - } - if (result === reaction.promise) { - reject(TypeError('Promise-chain cycle')); - } else if (then = isThenable(result)) { - then.call(result, resolve, reject); - } else resolve(result); - } else reject(value); - } catch (error) { - if (domain && !exited) domain.exit(); - reject(error); - } - } - state.reactions = []; - state.notified = false; - if (isReject && !state.rejection) onUnhandled(promise, state); - }); -}; - -var dispatchEvent = function (name, promise, reason) { - var event, handler; - if (DISPATCH_EVENT) { - event = document.createEvent('Event'); - event.promise = promise; - event.reason = reason; - event.initEvent(name, false, true); - global.dispatchEvent(event); - } else event = { promise: promise, reason: reason }; - if (handler = global['on' + name]) handler(event); - else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); -}; - -var onUnhandled = function (promise, state) { - task.call(global, function () { - var value = state.value; - var IS_UNHANDLED = isUnhandled(state); - var result; - if (IS_UNHANDLED) { - result = perform(function () { - if (IS_NODE) { - process.emit('unhandledRejection', value, promise); - } else dispatchEvent(UNHANDLED_REJECTION, promise, value); - }); - // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should - state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; - if (result.error) throw result.value; - } - }); -}; - -var isUnhandled = function (state) { - return state.rejection !== HANDLED && !state.parent; -}; - -var onHandleUnhandled = function (promise, state) { - task.call(global, function () { - if (IS_NODE) { - process.emit('rejectionHandled', promise); - } else dispatchEvent(REJECTION_HANDLED, promise, state.value); - }); -}; - -var bind = function (fn, promise, state, unwrap) { - return function (value) { - fn(promise, state, value, unwrap); - }; -}; - -var internalReject = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - state.value = value; - state.state = REJECTED; - notify(promise, state, true); -}; - -var internalResolve = function (promise, state, value, unwrap) { - if (state.done) return; - state.done = true; - if (unwrap) state = unwrap; - try { - if (promise === value) throw TypeError("Promise can't be resolved itself"); - var then = isThenable(value); - if (then) { - microtask(function () { - var wrapper = { done: false }; - try { - then.call(value, - bind(internalResolve, promise, wrapper, state), - bind(internalReject, promise, wrapper, state) - ); - } catch (error) { - internalReject(promise, wrapper, error, state); - } - }); - } else { - state.value = value; - state.state = FULFILLED; - notify(promise, state, false); - } - } catch (error) { - internalReject(promise, { done: false }, error, state); - } -}; - -// constructor polyfill -if (FORCED) { - // 25.4.3.1 Promise(executor) - PromiseConstructor = function Promise(executor) { - anInstance(this, PromiseConstructor, PROMISE); - aFunction(executor); - Internal.call(this); - var state = getInternalState(this); - try { - executor(bind(internalResolve, this, state), bind(internalReject, this, state)); - } catch (error) { - internalReject(this, state, error); - } - }; - // eslint-disable-next-line no-unused-vars - Internal = function Promise(executor) { - setInternalState(this, { - type: PROMISE, - done: false, - notified: false, - parent: false, - reactions: [], - rejection: false, - state: PENDING, - value: undefined - }); - }; - Internal.prototype = redefineAll(PromiseConstructor.prototype, { - // `Promise.prototype.then` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.then - then: function then(onFulfilled, onRejected) { - var state = getInternalPromiseState(this); - var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); - reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; - reaction.fail = typeof onRejected == 'function' && onRejected; - reaction.domain = IS_NODE ? process.domain : undefined; - state.parent = true; - state.reactions.push(reaction); - if (state.state != PENDING) notify(this, state, false); - return reaction.promise; - }, - // `Promise.prototype.catch` method - // https://tc39.github.io/ecma262/#sec-promise.prototype.catch - 'catch': function (onRejected) { - return this.then(undefined, onRejected); - } - }); - OwnPromiseCapability = function () { - var promise = new Internal(); - var state = getInternalState(promise); - this.promise = promise; - this.resolve = bind(internalResolve, promise, state); - this.reject = bind(internalReject, promise, state); - }; - newPromiseCapabilityModule.f = newPromiseCapability = function (C) { - return C === PromiseConstructor || C === PromiseWrapper - ? new OwnPromiseCapability(C) - : newGenericPromiseCapability(C); - }; - - if (!IS_PURE && typeof NativePromise == 'function') { - nativeThen = NativePromise.prototype.then; - - // wrap native Promise#then for native async functions - redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { - var that = this; - return new PromiseConstructor(function (resolve, reject) { - nativeThen.call(that, resolve, reject); - }).then(onFulfilled, onRejected); - // https://github.com/zloirock/core-js/issues/640 - }, { unsafe: true }); - - // wrap fetch result - if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { - // eslint-disable-next-line no-unused-vars - fetch: function fetch(input /* , init */) { - return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); - } - }); - } -} - -$({ global: true, wrap: true, forced: FORCED }, { - Promise: PromiseConstructor -}); - -setToStringTag(PromiseConstructor, PROMISE, false, true); -setSpecies(PROMISE); - -PromiseWrapper = getBuiltIn(PROMISE); - -// statics -$({ target: PROMISE, stat: true, forced: FORCED }, { - // `Promise.reject` method - // https://tc39.github.io/ecma262/#sec-promise.reject - reject: function reject(r) { - var capability = newPromiseCapability(this); - capability.reject.call(undefined, r); - return capability.promise; - } -}); - -$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { - // `Promise.resolve` method - // https://tc39.github.io/ecma262/#sec-promise.resolve - resolve: function resolve(x) { - return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); - } -}); - -$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { - // `Promise.all` method - // https://tc39.github.io/ecma262/#sec-promise.all - all: function all(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - var values = []; - var counter = 0; - var remaining = 1; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyCalled = false; - values.push(undefined); - remaining++; - $promiseResolve.call(C, promise).then(function (value) { - if (alreadyCalled) return; - alreadyCalled = true; - values[index] = value; - --remaining || resolve(values); - }, reject); - }); - --remaining || resolve(values); - }); - if (result.error) reject(result.value); - return capability.promise; - }, - // `Promise.race` method - // https://tc39.github.io/ecma262/#sec-promise.race - race: function race(iterable) { - var C = this; - var capability = newPromiseCapability(C); - var reject = capability.reject; - var result = perform(function () { - var $promiseResolve = aFunction(C.resolve); - iterate(iterable, function (promise) { - $promiseResolve.call(C, promise).then(capability.resolve, reject); - }); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - -},{"../internals/a-function":310,"../internals/an-instance":314,"../internals/check-correctness-of-iteration":332,"../internals/classof-raw":333,"../internals/export":361,"../internals/get-built-in":372,"../internals/global":377,"../internals/host-report-errors":380,"../internals/internal-state":386,"../internals/is-forced":389,"../internals/is-object":392,"../internals/is-pure":393,"../internals/iterate":395,"../internals/microtask":404,"../internals/native-promise-constructor":405,"../internals/new-promise-capability":409,"../internals/perform":431,"../internals/promise-resolve":432,"../internals/redefine":435,"../internals/redefine-all":434,"../internals/set-species":444,"../internals/set-to-string-tag":445,"../internals/shared":448,"../internals/species-constructor":450,"../internals/task":455,"../internals/v8-version":471,"../internals/well-known-symbol":473}],580:[function(require,module,exports){ -var $ = require('../internals/export'); -var getBuiltIn = require('../internals/get-built-in'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var fails = require('../internals/fails'); - -var nativeApply = getBuiltIn('Reflect', 'apply'); -var functionApply = Function.apply; - -// MS Edge argumentsList argument is optional -var OPTIONAL_ARGUMENTS_LIST = !fails(function () { - nativeApply(function () { /* empty */ }); -}); - -// `Reflect.apply` method -// https://tc39.github.io/ecma262/#sec-reflect.apply -$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { - apply: function apply(target, thisArgument, argumentsList) { - aFunction(target); - anObject(argumentsList); - return nativeApply - ? nativeApply(target, thisArgument, argumentsList) - : functionApply.call(target, thisArgument, argumentsList); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/fails":362,"../internals/get-built-in":372}],581:[function(require,module,exports){ -var $ = require('../internals/export'); -var getBuiltIn = require('../internals/get-built-in'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var create = require('../internals/object-create'); -var bind = require('../internals/function-bind'); -var fails = require('../internals/fails'); - -var nativeConstruct = getBuiltIn('Reflect', 'construct'); - -// `Reflect.construct` method -// https://tc39.github.io/ecma262/#sec-reflect.construct -// MS Edge supports only 2 arguments and argumentsList argument is optional -// FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function () { - function F() { /* empty */ } - return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); -}); -var ARGS_BUG = !fails(function () { - nativeConstruct(function () { /* empty */ }); -}); -var FORCED = NEW_TARGET_BUG || ARGS_BUG; - -$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { - construct: function construct(Target, args /* , newTarget */) { - aFunction(Target); - anObject(args); - var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); - if (Target == newTarget) { - // w/o altered newTarget, optimization for 0-4 arguments - switch (args.length) { - case 0: return new Target(); - case 1: return new Target(args[0]); - case 2: return new Target(args[0], args[1]); - case 3: return new Target(args[0], args[1], args[2]); - case 4: return new Target(args[0], args[1], args[2], args[3]); - } - // w/o altered newTarget, lot of arguments case - var $args = [null]; - $args.push.apply($args, args); - return new (bind.apply(Target, $args))(); - } - // with altered newTarget, not support built-in constructors - var proto = newTarget.prototype; - var instance = create(isObject(proto) ? proto : Object.prototype); - var result = Function.apply.call(Target, instance, args); - return isObject(result) ? result : instance; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/fails":362,"../internals/function-bind":369,"../internals/get-built-in":372,"../internals/is-object":392,"../internals/object-create":413}],582:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var anObject = require('../internals/an-object'); -var toPrimitive = require('../internals/to-primitive'); -var definePropertyModule = require('../internals/object-define-property'); -var fails = require('../internals/fails'); - -// MS Edge has broken Reflect.defineProperty - throwing instead of returning false -var ERROR_INSTEAD_OF_FALSE = fails(function () { - // eslint-disable-next-line no-undef - Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); -}); - -// `Reflect.defineProperty` method -// https://tc39.github.io/ecma262/#sec-reflect.defineproperty -$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { - defineProperty: function defineProperty(target, propertyKey, attributes) { - anObject(target); - var key = toPrimitive(propertyKey, true); - anObject(attributes); - try { - definePropertyModule.f(target, key, attributes); - return true; - } catch (error) { - return false; - } - } -}); - -},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/object-define-property":415,"../internals/to-primitive":465}],583:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; - -// `Reflect.deleteProperty` method -// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty -$({ target: 'Reflect', stat: true }, { - deleteProperty: function deleteProperty(target, propertyKey) { - var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); - return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-own-property-descriptor":416}],584:[function(require,module,exports){ -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var anObject = require('../internals/an-object'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); - -// `Reflect.getOwnPropertyDescriptor` method -// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor -$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { - getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { - return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); - } -}); - -},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/export":361,"../internals/object-get-own-property-descriptor":416}],585:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var objectGetPrototypeOf = require('../internals/object-get-prototype-of'); -var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); - -// `Reflect.getPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof -$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { - getPrototypeOf: function getPrototypeOf(target) { - return objectGetPrototypeOf(anObject(target)); - } -}); - -},{"../internals/an-object":315,"../internals/correct-prototype-getter":345,"../internals/export":361,"../internals/object-get-prototype-of":420}],586:[function(require,module,exports){ -var $ = require('../internals/export'); -var isObject = require('../internals/is-object'); -var anObject = require('../internals/an-object'); -var has = require('../internals/has'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); - -// `Reflect.get` method -// https://tc39.github.io/ecma262/#sec-reflect.get -function get(target, propertyKey /* , receiver */) { - var receiver = arguments.length < 3 ? target : arguments[2]; - var descriptor, prototype; - if (anObject(target) === receiver) return target[propertyKey]; - if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') - ? descriptor.value - : descriptor.get === undefined - ? undefined - : descriptor.get.call(receiver); - if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); -} - -$({ target: 'Reflect', stat: true }, { - get: get -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/has":378,"../internals/is-object":392,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420}],587:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Reflect.has` method -// https://tc39.github.io/ecma262/#sec-reflect.has -$({ target: 'Reflect', stat: true }, { - has: function has(target, propertyKey) { - return propertyKey in target; - } -}); - -},{"../internals/export":361}],588:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); - -var objectIsExtensible = Object.isExtensible; - -// `Reflect.isExtensible` method -// https://tc39.github.io/ecma262/#sec-reflect.isextensible -$({ target: 'Reflect', stat: true }, { - isExtensible: function isExtensible(target) { - anObject(target); - return objectIsExtensible ? objectIsExtensible(target) : true; - } -}); - -},{"../internals/an-object":315,"../internals/export":361}],589:[function(require,module,exports){ -var $ = require('../internals/export'); -var ownKeys = require('../internals/own-keys'); - -// `Reflect.ownKeys` method -// https://tc39.github.io/ecma262/#sec-reflect.ownkeys -$({ target: 'Reflect', stat: true }, { - ownKeys: ownKeys -}); - -},{"../internals/export":361,"../internals/own-keys":427}],590:[function(require,module,exports){ -var $ = require('../internals/export'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var FREEZING = require('../internals/freezing'); - -// `Reflect.preventExtensions` method -// https://tc39.github.io/ecma262/#sec-reflect.preventextensions -$({ target: 'Reflect', stat: true, sham: !FREEZING }, { - preventExtensions: function preventExtensions(target) { - anObject(target); - try { - var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); - if (objectPreventExtensions) objectPreventExtensions(target); - return true; - } catch (error) { - return false; - } - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/freezing":368,"../internals/get-built-in":372}],591:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var aPossiblePrototype = require('../internals/a-possible-prototype'); -var objectSetPrototypeOf = require('../internals/object-set-prototype-of'); - -// `Reflect.setPrototypeOf` method -// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof -if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { - setPrototypeOf: function setPrototypeOf(target, proto) { - anObject(target); - aPossiblePrototype(proto); - try { - objectSetPrototypeOf(target, proto); - return true; - } catch (error) { - return false; - } - } -}); - -},{"../internals/a-possible-prototype":311,"../internals/an-object":315,"../internals/export":361,"../internals/object-set-prototype-of":424}],592:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var has = require('../internals/has'); -var definePropertyModule = require('../internals/object-define-property'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); - -// `Reflect.set` method -// https://tc39.github.io/ecma262/#sec-reflect.set -function set(target, propertyKey, V /* , receiver */) { - var receiver = arguments.length < 4 ? target : arguments[3]; - var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); - var existingDescriptor, prototype; - if (!ownDescriptor) { - if (isObject(prototype = getPrototypeOf(target))) { - return set(prototype, propertyKey, V, receiver); - } - ownDescriptor = createPropertyDescriptor(0); - } - if (has(ownDescriptor, 'value')) { - if (ownDescriptor.writable === false || !isObject(receiver)) return false; - if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { - if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; - existingDescriptor.value = V; - definePropertyModule.f(receiver, propertyKey, existingDescriptor); - } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); - return true; - } - return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); -} - -$({ target: 'Reflect', stat: true }, { - set: set -}); - -},{"../internals/an-object":315,"../internals/create-property-descriptor":351,"../internals/export":361,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420}],593:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var global = require('../internals/global'); -var isForced = require('../internals/is-forced'); -var inheritIfRequired = require('../internals/inherit-if-required'); -var defineProperty = require('../internals/object-define-property').f; -var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; -var isRegExp = require('../internals/is-regexp'); -var getFlags = require('../internals/regexp-flags'); -var redefine = require('../internals/redefine'); -var fails = require('../internals/fails'); -var setSpecies = require('../internals/set-species'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var MATCH = wellKnownSymbol('match'); -var NativeRegExp = global.RegExp; -var RegExpPrototype = NativeRegExp.prototype; -var re1 = /a/g; -var re2 = /a/g; - -// "new" should create a new object, old webkit bug -var CORRECT_NEW = new NativeRegExp(re1) !== re1; - -var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || fails(function () { - re2[MATCH] = false; - // RegExp constructor can alter flags and IsRegExp works correct with @@match - return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; -}))); - -// `RegExp` constructor -// https://tc39.github.io/ecma262/#sec-regexp-constructor -if (FORCED) { - var RegExpWrapper = function RegExp(pattern, flags) { - var thisIsRegExp = this instanceof RegExpWrapper; - var patternIsRegExp = isRegExp(pattern); - var flagsAreUndefined = flags === undefined; - return !thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined ? pattern - : inheritIfRequired(CORRECT_NEW - ? new NativeRegExp(patternIsRegExp && !flagsAreUndefined ? pattern.source : pattern, flags) - : NativeRegExp((patternIsRegExp = pattern instanceof RegExpWrapper) - ? pattern.source - : pattern, patternIsRegExp && flagsAreUndefined ? getFlags.call(pattern) : flags) - , thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); - }; - var proxy = function (key) { - key in RegExpWrapper || defineProperty(RegExpWrapper, key, { - configurable: true, - get: function () { return NativeRegExp[key]; }, - set: function (it) { NativeRegExp[key] = it; } - }); - }; - var keys = getOwnPropertyNames(NativeRegExp); - var index = 0; - while (keys.length > index) proxy(keys[index++]); - RegExpPrototype.constructor = RegExpWrapper; - RegExpWrapper.prototype = RegExpPrototype; - redefine(global, 'RegExp', RegExpWrapper); -} - -// https://tc39.github.io/ecma262/#sec-get-regexp-@@species -setSpecies('RegExp'); - -},{"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/inherit-if-required":384,"../internals/is-forced":389,"../internals/is-regexp":394,"../internals/object-define-property":415,"../internals/object-get-own-property-names":418,"../internals/redefine":435,"../internals/regexp-flags":439,"../internals/set-species":444,"../internals/well-known-symbol":473}],594:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var exec = require('../internals/regexp-exec'); - -$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { - exec: exec -}); - -},{"../internals/export":361,"../internals/regexp-exec":438}],595:[function(require,module,exports){ -var DESCRIPTORS = require('../internals/descriptors'); -var objectDefinePropertyModule = require('../internals/object-define-property'); -var regExpFlags = require('../internals/regexp-flags'); - -// `RegExp.prototype.flags` getter -// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags -if (DESCRIPTORS && /./g.flags != 'g') { - objectDefinePropertyModule.f(RegExp.prototype, 'flags', { - configurable: true, - get: regExpFlags - }); -} - -},{"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/regexp-flags":439}],596:[function(require,module,exports){ -'use strict'; -var redefine = require('../internals/redefine'); -var anObject = require('../internals/an-object'); -var fails = require('../internals/fails'); -var flags = require('../internals/regexp-flags'); - -var TO_STRING = 'toString'; -var RegExpPrototype = RegExp.prototype; -var nativeToString = RegExpPrototype[TO_STRING]; - -var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); -// FF44- RegExp#toString has a wrong name -var INCORRECT_NAME = nativeToString.name != TO_STRING; - -// `RegExp.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring -if (NOT_GENERIC || INCORRECT_NAME) { - redefine(RegExp.prototype, TO_STRING, function toString() { - var R = anObject(this); - var p = String(R.source); - var rf = R.flags; - var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); - return '/' + p + '/' + f; - }, { unsafe: true }); -} - -},{"../internals/an-object":315,"../internals/fails":362,"../internals/redefine":435,"../internals/regexp-flags":439}],597:[function(require,module,exports){ -'use strict'; -var collection = require('../internals/collection'); -var collectionStrong = require('../internals/collection-strong'); - -// `Set` constructor -// https://tc39.github.io/ecma262/#sec-set-objects -module.exports = collection('Set', function (get) { - return function Set() { return get(this, arguments.length ? arguments[0] : undefined); }; -}, collectionStrong); - -},{"../internals/collection":341,"../internals/collection-strong":339}],598:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.anchor` method -// https://tc39.github.io/ecma262/#sec-string.prototype.anchor -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { - anchor: function anchor(name) { - return createHTML(this, 'a', 'name', name); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],599:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.big` method -// https://tc39.github.io/ecma262/#sec-string.prototype.big -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { - big: function big() { - return createHTML(this, 'big', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],600:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.blink` method -// https://tc39.github.io/ecma262/#sec-string.prototype.blink -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { - blink: function blink() { - return createHTML(this, 'blink', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],601:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.bold` method -// https://tc39.github.io/ecma262/#sec-string.prototype.bold -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { - bold: function bold() { - return createHTML(this, 'b', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],602:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var codeAt = require('../internals/string-multibyte').codeAt; - -// `String.prototype.codePointAt` method -// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat -$({ target: 'String', proto: true }, { - codePointAt: function codePointAt(pos) { - return codeAt(this, pos); - } -}); - -},{"../internals/export":361,"../internals/string-multibyte":451}],603:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var toLength = require('../internals/to-length'); -var notARegExp = require('../internals/not-a-regexp'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); - -var nativeEndsWith = ''.endsWith; -var min = Math.min; - -// `String.prototype.endsWith` method -// https://tc39.github.io/ecma262/#sec-string.prototype.endswith -$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, { - endsWith: function endsWith(searchString /* , endPosition = @length */) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var endPosition = arguments.length > 1 ? arguments[1] : undefined; - var len = toLength(that.length); - var end = endPosition === undefined ? len : min(toLength(endPosition), len); - var search = String(searchString); - return nativeEndsWith - ? nativeEndsWith.call(that, search, end) - : that.slice(end - search.length, end) === search; - } -}); - -},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440,"../internals/to-length":461}],604:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.fixed` method -// https://tc39.github.io/ecma262/#sec-string.prototype.fixed -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { - fixed: function fixed() { - return createHTML(this, 'tt', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],605:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.fontcolor` method -// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { - fontcolor: function fontcolor(color) { - return createHTML(this, 'font', 'color', color); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],606:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.fontsize` method -// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { - fontsize: function fontsize(size) { - return createHTML(this, 'font', 'size', size); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],607:[function(require,module,exports){ -var $ = require('../internals/export'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); - -var fromCharCode = String.fromCharCode; -var nativeFromCodePoint = String.fromCodePoint; - -// length should be 1, old FF problem -var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; - -// `String.fromCodePoint` method -// https://tc39.github.io/ecma262/#sec-string.fromcodepoint -$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { - fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars - var elements = []; - var length = arguments.length; - var i = 0; - var code; - while (length > i) { - code = +arguments[i++]; - if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); - elements.push(code < 0x10000 - ? fromCharCode(code) - : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) - ); - } return elements.join(''); - } -}); - -},{"../internals/export":361,"../internals/to-absolute-index":457}],608:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var notARegExp = require('../internals/not-a-regexp'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); - -// `String.prototype.includes` method -// https://tc39.github.io/ecma262/#sec-string.prototype.includes -$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { - includes: function includes(searchString /* , position = 0 */) { - return !!~String(requireObjectCoercible(this)) - .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440}],609:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.italics` method -// https://tc39.github.io/ecma262/#sec-string.prototype.italics -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { - italics: function italics() { - return createHTML(this, 'i', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],610:[function(require,module,exports){ -'use strict'; -var charAt = require('../internals/string-multibyte').charAt; -var InternalStateModule = require('../internals/internal-state'); -var defineIterator = require('../internals/define-iterator'); - -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); - -// `String.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator -defineIterator(String, 'String', function (iterated) { - setInternalState(this, { - type: STRING_ITERATOR, - string: String(iterated), - index: 0 - }); -// `%StringIteratorPrototype%.next` method -// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next -}, function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; - return { value: point, done: false }; -}); - -},{"../internals/define-iterator":355,"../internals/internal-state":386,"../internals/string-multibyte":451}],611:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.link` method -// https://tc39.github.io/ecma262/#sec-string.prototype.link -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { - link: function link(url) { - return createHTML(this, 'a', 'href', url); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],612:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createIteratorConstructor = require('../internals/create-iterator-constructor'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var toLength = require('../internals/to-length'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var classof = require('../internals/classof'); -var isRegExp = require('../internals/is-regexp'); -var getRegExpFlags = require('../internals/regexp-flags'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var fails = require('../internals/fails'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var speciesConstructor = require('../internals/species-constructor'); -var advanceStringIndex = require('../internals/advance-string-index'); -var InternalStateModule = require('../internals/internal-state'); -var IS_PURE = require('../internals/is-pure'); - -var MATCH_ALL = wellKnownSymbol('matchAll'); -var REGEXP_STRING = 'RegExp String'; -var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); -var RegExpPrototype = RegExp.prototype; -var regExpBuiltinExec = RegExpPrototype.exec; -var nativeMatchAll = ''.matchAll; - -var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { - 'a'.matchAll(/./); -}); - -var regExpExec = function (R, S) { - var exec = R.exec; - var result; - if (typeof exec == 'function') { - result = exec.call(R, S); - if (typeof result != 'object') throw TypeError('Incorrect exec result'); - return result; - } return regExpBuiltinExec.call(R, S); -}; - -// eslint-disable-next-line max-len -var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { - setInternalState(this, { - type: REGEXP_STRING_ITERATOR, - regexp: regexp, - string: string, - global: global, - unicode: fullUnicode, - done: false - }); -}, REGEXP_STRING, function next() { - var state = getInternalState(this); - if (state.done) return { value: undefined, done: true }; - var R = state.regexp; - var S = state.string; - var match = regExpExec(R, S); - if (match === null) return { value: undefined, done: state.done = true }; - if (state.global) { - if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); - return { value: match, done: false }; - } - state.done = true; - return { value: match, done: false }; -}); - -var $matchAll = function (string) { - var R = anObject(this); - var S = String(string); - var C, flagsValue, flags, matcher, global, fullUnicode; - C = speciesConstructor(R, RegExp); - flagsValue = R.flags; - if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { - flagsValue = getRegExpFlags.call(R); - } - flags = flagsValue === undefined ? '' : String(flagsValue); - matcher = new C(C === RegExp ? R.source : R, flags); - global = !!~flags.indexOf('g'); - fullUnicode = !!~flags.indexOf('u'); - matcher.lastIndex = toLength(R.lastIndex); - return new $RegExpStringIterator(matcher, S, global, fullUnicode); -}; - -// `String.prototype.matchAll` method -// https://github.com/tc39/proposal-string-matchall -$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { - matchAll: function matchAll(regexp) { - var O = requireObjectCoercible(this); - var flags, S, matcher, rx; - if (regexp != null) { - if (isRegExp(regexp)) { - flags = String(requireObjectCoercible('flags' in RegExpPrototype - ? regexp.flags - : getRegExpFlags.call(regexp) - )); - if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes'); - } - if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); - matcher = regexp[MATCH_ALL]; - if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll; - if (matcher != null) return aFunction(matcher).call(regexp, O); - } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); - S = String(O); - rx = new RegExp(regexp, 'g'); - return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S); - } -}); - -IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); - -},{"../internals/a-function":310,"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/classof":334,"../internals/create-iterator-constructor":348,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/fails":362,"../internals/internal-state":386,"../internals/is-pure":393,"../internals/is-regexp":394,"../internals/regexp-flags":439,"../internals/require-object-coercible":440,"../internals/species-constructor":450,"../internals/to-length":461,"../internals/well-known-symbol":473}],613:[function(require,module,exports){ -'use strict'; -var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); -var anObject = require('../internals/an-object'); -var toLength = require('../internals/to-length'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var advanceStringIndex = require('../internals/advance-string-index'); -var regExpExec = require('../internals/regexp-exec-abstract'); - -// @@match logic -fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { - return [ - // `String.prototype.match` method - // https://tc39.github.io/ecma262/#sec-string.prototype.match - function match(regexp) { - var O = requireObjectCoercible(this); - var matcher = regexp == undefined ? undefined : regexp[MATCH]; - return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); - }, - // `RegExp.prototype[@@match]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match - function (regexp) { - var res = maybeCallNative(nativeMatch, regexp, this); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - - if (!rx.global) return regExpExec(rx, S); - - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - var A = []; - var n = 0; - var result; - while ((result = regExpExec(rx, S)) !== null) { - var matchStr = String(result[0]); - A[n] = matchStr; - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - n++; - } - return n === 0 ? null : A; - } - ]; -}); - -},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/to-length":461}],614:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $padEnd = require('../internals/string-pad').end; -var WEBKIT_BUG = require('../internals/webkit-string-pad-bug'); - -// `String.prototype.padEnd` method -// https://tc39.github.io/ecma262/#sec-string.prototype.padend -$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { - padEnd: function padEnd(maxLength /* , fillString = ' ' */) { - return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/export":361,"../internals/string-pad":452,"../internals/webkit-string-pad-bug":472}],615:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $padStart = require('../internals/string-pad').start; -var WEBKIT_BUG = require('../internals/webkit-string-pad-bug'); - -// `String.prototype.padStart` method -// https://tc39.github.io/ecma262/#sec-string.prototype.padstart -$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { - padStart: function padStart(maxLength /* , fillString = ' ' */) { - return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); - } -}); - -},{"../internals/export":361,"../internals/string-pad":452,"../internals/webkit-string-pad-bug":472}],616:[function(require,module,exports){ -var $ = require('../internals/export'); -var toIndexedObject = require('../internals/to-indexed-object'); -var toLength = require('../internals/to-length'); - -// `String.raw` method -// https://tc39.github.io/ecma262/#sec-string.raw -$({ target: 'String', stat: true }, { - raw: function raw(template) { - var rawTemplate = toIndexedObject(template.raw); - var literalSegments = toLength(rawTemplate.length); - var argumentsLength = arguments.length; - var elements = []; - var i = 0; - while (literalSegments > i) { - elements.push(String(rawTemplate[i++])); - if (i < argumentsLength) elements.push(String(arguments[i])); - } return elements.join(''); - } -}); - -},{"../internals/export":361,"../internals/to-indexed-object":459,"../internals/to-length":461}],617:[function(require,module,exports){ -var $ = require('../internals/export'); -var repeat = require('../internals/string-repeat'); - -// `String.prototype.repeat` method -// https://tc39.github.io/ecma262/#sec-string.prototype.repeat -$({ target: 'String', proto: true }, { - repeat: repeat -}); - -},{"../internals/export":361,"../internals/string-repeat":453}],618:[function(require,module,exports){ -'use strict'; -var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); -var anObject = require('../internals/an-object'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var toInteger = require('../internals/to-integer'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var advanceStringIndex = require('../internals/advance-string-index'); -var regExpExec = require('../internals/regexp-exec-abstract'); - -var max = Math.max; -var min = Math.min; -var floor = Math.floor; -var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; -var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; - -var maybeToString = function (it) { - return it === undefined ? it : String(it); -}; - -// @@replace logic -fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) { - return [ - // `String.prototype.replace` method - // https://tc39.github.io/ecma262/#sec-string.prototype.replace - function replace(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; - return replacer !== undefined - ? replacer.call(searchValue, O, replaceValue) - : nativeReplace.call(String(O), searchValue, replaceValue); - }, - // `RegExp.prototype[@@replace]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace - function (regexp, replaceValue) { - var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - - var functionalReplace = typeof replaceValue === 'function'; - if (!functionalReplace) replaceValue = String(replaceValue); - - var global = rx.global; - if (global) { - var fullUnicode = rx.unicode; - rx.lastIndex = 0; - } - var results = []; - while (true) { - var result = regExpExec(rx, S); - if (result === null) break; - - results.push(result); - if (!global) break; - - var matchStr = String(result[0]); - if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); - } - - var accumulatedResult = ''; - var nextSourcePosition = 0; - for (var i = 0; i < results.length; i++) { - result = results[i]; - - var matched = String(result[0]); - var position = max(min(toInteger(result.index), S.length), 0); - var captures = []; - // NOTE: This is equivalent to - // captures = result.slice(1).map(maybeToString) - // but for some reason `nativeSlice.call(result, 1, result.length)` (called in - // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and - // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. - for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); - var namedCaptures = result.groups; - if (functionalReplace) { - var replacerArgs = [matched].concat(captures, position, S); - if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); - var replacement = String(replaceValue.apply(undefined, replacerArgs)); - } else { - replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); - } - if (position >= nextSourcePosition) { - accumulatedResult += S.slice(nextSourcePosition, position) + replacement; - nextSourcePosition = position + matched.length; - } - } - return accumulatedResult + S.slice(nextSourcePosition); - } - ]; - - // https://tc39.github.io/ecma262/#sec-getsubstitution - function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { - var tailPos = position + matched.length; - var m = captures.length; - var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; - if (namedCaptures !== undefined) { - namedCaptures = toObject(namedCaptures); - symbols = SUBSTITUTION_SYMBOLS; - } - return nativeReplace.call(replacement, symbols, function (match, ch) { - var capture; - switch (ch.charAt(0)) { - case '$': return '$'; - case '&': return matched; - case '`': return str.slice(0, position); - case "'": return str.slice(tailPos); - case '<': - capture = namedCaptures[ch.slice(1, -1)]; - break; - default: // \d\d? - var n = +ch; - if (n === 0) return match; - if (n > m) { - var f = floor(n / 10); - if (f === 0) return match; - if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); - return match; - } - capture = captures[n - 1]; - } - return capture === undefined ? '' : capture; - }); - } -}); - -},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],619:[function(require,module,exports){ -'use strict'; -var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); -var anObject = require('../internals/an-object'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var sameValue = require('../internals/same-value'); -var regExpExec = require('../internals/regexp-exec-abstract'); - -// @@search logic -fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { - return [ - // `String.prototype.search` method - // https://tc39.github.io/ecma262/#sec-string.prototype.search - function search(regexp) { - var O = requireObjectCoercible(this); - var searcher = regexp == undefined ? undefined : regexp[SEARCH]; - return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); - }, - // `RegExp.prototype[@@search]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search - function (regexp) { - var res = maybeCallNative(nativeSearch, regexp, this); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - - var previousLastIndex = rx.lastIndex; - if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; - var result = regExpExec(rx, S); - if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; - return result === null ? -1 : result.index; - } - ]; -}); - -},{"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/same-value":442}],620:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.small` method -// https://tc39.github.io/ecma262/#sec-string.prototype.small -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { - small: function small() { - return createHTML(this, 'small', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],621:[function(require,module,exports){ -'use strict'; -var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); -var isRegExp = require('../internals/is-regexp'); -var anObject = require('../internals/an-object'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var speciesConstructor = require('../internals/species-constructor'); -var advanceStringIndex = require('../internals/advance-string-index'); -var toLength = require('../internals/to-length'); -var callRegExpExec = require('../internals/regexp-exec-abstract'); -var regexpExec = require('../internals/regexp-exec'); -var fails = require('../internals/fails'); - -var arrayPush = [].push; -var min = Math.min; -var MAX_UINT32 = 0xFFFFFFFF; - -// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError -var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); - -// @@split logic -fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { - var internalSplit; - if ( - 'abbc'.split(/(b)*/)[1] == 'c' || - 'test'.split(/(?:)/, -1).length != 4 || - 'ab'.split(/(?:ab)*/).length != 2 || - '.'.split(/(.?)(.?)/).length != 4 || - '.'.split(/()()/).length > 1 || - ''.split(/.?/).length - ) { - // based on es5-shim implementation, need to rework it - internalSplit = function (separator, limit) { - var string = String(requireObjectCoercible(this)); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (separator === undefined) return [string]; - // If `separator` is not a regex, use native split - if (!isRegExp(separator)) { - return nativeSplit.call(string, separator, lim); - } - var output = []; - var flags = (separator.ignoreCase ? 'i' : '') + - (separator.multiline ? 'm' : '') + - (separator.unicode ? 'u' : '') + - (separator.sticky ? 'y' : ''); - var lastLastIndex = 0; - // Make `global` and avoid `lastIndex` issues by working with a copy - var separatorCopy = new RegExp(separator.source, flags + 'g'); - var match, lastIndex, lastLength; - while (match = regexpExec.call(separatorCopy, string)) { - lastIndex = separatorCopy.lastIndex; - if (lastIndex > lastLastIndex) { - output.push(string.slice(lastLastIndex, match.index)); - if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); - lastLength = match[0].length; - lastLastIndex = lastIndex; - if (output.length >= lim) break; - } - if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop - } - if (lastLastIndex === string.length) { - if (lastLength || !separatorCopy.test('')) output.push(''); - } else output.push(string.slice(lastLastIndex)); - return output.length > lim ? output.slice(0, lim) : output; - }; - // Chakra, V8 - } else if ('0'.split(undefined, 0).length) { - internalSplit = function (separator, limit) { - return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); - }; - } else internalSplit = nativeSplit; - - return [ - // `String.prototype.split` method - // https://tc39.github.io/ecma262/#sec-string.prototype.split - function split(separator, limit) { - var O = requireObjectCoercible(this); - var splitter = separator == undefined ? undefined : separator[SPLIT]; - return splitter !== undefined - ? splitter.call(separator, O, limit) - : internalSplit.call(String(O), separator, limit); - }, - // `RegExp.prototype[@@split]` method - // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split - // - // NOTE: This cannot be properly polyfilled in engines that don't support - // the 'y' flag. - function (regexp, limit) { - var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); - if (res.done) return res.value; - - var rx = anObject(regexp); - var S = String(this); - var C = speciesConstructor(rx, RegExp); - - var unicodeMatching = rx.unicode; - var flags = (rx.ignoreCase ? 'i' : '') + - (rx.multiline ? 'm' : '') + - (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); - - // ^(? + rx + ) is needed, in combination with some S slicing, to - // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); - var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; - if (lim === 0) return []; - if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; - var p = 0; - var q = 0; - var A = []; - while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); - var e; - if ( - z === null || - (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p - ) { - q = advanceStringIndex(S, q, unicodeMatching); - } else { - A.push(S.slice(p, q)); - if (A.length === lim) return A; - for (var i = 1; i <= z.length - 1; i++) { - A.push(z[i]); - if (A.length === lim) return A; - } - q = p = e; - } - } - A.push(S.slice(p)); - return A; - } - ]; -}, !SUPPORTS_Y); - -},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fails":362,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/is-regexp":394,"../internals/regexp-exec":438,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/species-constructor":450,"../internals/to-length":461}],622:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var toLength = require('../internals/to-length'); -var notARegExp = require('../internals/not-a-regexp'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); - -var nativeStartsWith = ''.startsWith; -var min = Math.min; - -// `String.prototype.startsWith` method -// https://tc39.github.io/ecma262/#sec-string.prototype.startswith -$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, { - startsWith: function startsWith(searchString /* , position = 0 */) { - var that = String(requireObjectCoercible(this)); - notARegExp(searchString); - var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); - var search = String(searchString); - return nativeStartsWith - ? nativeStartsWith.call(that, search, index) - : that.slice(index, index + search.length) === search; - } -}); - -},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440,"../internals/to-length":461}],623:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.strike` method -// https://tc39.github.io/ecma262/#sec-string.prototype.strike -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { - strike: function strike() { - return createHTML(this, 'strike', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],624:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.sub` method -// https://tc39.github.io/ecma262/#sec-string.prototype.sub -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { - sub: function sub() { - return createHTML(this, 'sub', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],625:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createHTML = require('../internals/create-html'); -var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); - -// `String.prototype.sup` method -// https://tc39.github.io/ecma262/#sec-string.prototype.sup -$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { - sup: function sup() { - return createHTML(this, 'sup', '', ''); - } -}); - -},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],626:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $trimEnd = require('../internals/string-trim').end; -var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); - -var FORCED = forcedStringTrimMethod('trimEnd'); - -var trimEnd = FORCED ? function trimEnd() { - return $trimEnd(this); -} : ''.trimEnd; - -// `String.prototype.{ trimEnd, trimRight }` methods -// https://github.com/tc39/ecmascript-string-left-right-trim -$({ target: 'String', proto: true, forced: FORCED }, { - trimEnd: trimEnd, - trimRight: trimEnd -}); - -},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],627:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $trimStart = require('../internals/string-trim').start; -var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); - -var FORCED = forcedStringTrimMethod('trimStart'); - -var trimStart = FORCED ? function trimStart() { - return $trimStart(this); -} : ''.trimStart; - -// `String.prototype.{ trimStart, trimLeft }` methods -// https://github.com/tc39/ecmascript-string-left-right-trim -$({ target: 'String', proto: true, forced: FORCED }, { - trimStart: trimStart, - trimLeft: trimStart -}); - -},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],628:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var $trim = require('../internals/string-trim').trim; -var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); - -// `String.prototype.trim` method -// https://tc39.github.io/ecma262/#sec-string.prototype.trim -$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { - trim: function trim() { - return $trim(this); - } -}); - -},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],629:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.asyncIterator` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.asynciterator -defineWellKnownSymbol('asyncIterator'); - -},{"../internals/define-well-known-symbol":356}],630:[function(require,module,exports){ -// `Symbol.prototype.description` getter -// https://tc39.github.io/ecma262/#sec-symbol.prototype.description -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var global = require('../internals/global'); -var has = require('../internals/has'); -var isObject = require('../internals/is-object'); -var defineProperty = require('../internals/object-define-property').f; -var copyConstructorProperties = require('../internals/copy-constructor-properties'); - -var NativeSymbol = global.Symbol; - -if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || - // Safari 12 bug - NativeSymbol().description !== undefined -)) { - var EmptyStringDescriptionStore = {}; - // wrap Symbol constructor for correct work with undefined description - var SymbolWrapper = function Symbol() { - var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); - var result = this instanceof SymbolWrapper - ? new NativeSymbol(description) - // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' - : description === undefined ? NativeSymbol() : NativeSymbol(description); - if (description === '') EmptyStringDescriptionStore[result] = true; - return result; - }; - copyConstructorProperties(SymbolWrapper, NativeSymbol); - var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; - symbolPrototype.constructor = SymbolWrapper; - - var symbolToString = symbolPrototype.toString; - var native = String(NativeSymbol('test')) == 'Symbol(test)'; - var regexp = /^Symbol\((.*)\)[^)]+$/; - defineProperty(symbolPrototype, 'description', { - configurable: true, - get: function description() { - var symbol = isObject(this) ? this.valueOf() : this; - var string = symbolToString.call(symbol); - if (has(EmptyStringDescriptionStore, symbol)) return ''; - var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); - return desc === '' ? undefined : desc; - } - }); - - $({ global: true, forced: true }, { - Symbol: SymbolWrapper - }); -} - -},{"../internals/copy-constructor-properties":343,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415}],631:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.hasInstance` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.hasinstance -defineWellKnownSymbol('hasInstance'); - -},{"../internals/define-well-known-symbol":356}],632:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.isConcatSpreadable` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable -defineWellKnownSymbol('isConcatSpreadable'); - -},{"../internals/define-well-known-symbol":356}],633:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.iterator` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.iterator -defineWellKnownSymbol('iterator'); - -},{"../internals/define-well-known-symbol":356}],634:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var global = require('../internals/global'); -var getBuiltIn = require('../internals/get-built-in'); -var IS_PURE = require('../internals/is-pure'); -var DESCRIPTORS = require('../internals/descriptors'); -var NATIVE_SYMBOL = require('../internals/native-symbol'); -var fails = require('../internals/fails'); -var has = require('../internals/has'); -var isArray = require('../internals/is-array'); -var isObject = require('../internals/is-object'); -var anObject = require('../internals/an-object'); -var toObject = require('../internals/to-object'); -var toIndexedObject = require('../internals/to-indexed-object'); -var toPrimitive = require('../internals/to-primitive'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var nativeObjectCreate = require('../internals/object-create'); -var objectKeys = require('../internals/object-keys'); -var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); -var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external'); -var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); -var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); -var definePropertyModule = require('../internals/object-define-property'); -var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefine = require('../internals/redefine'); -var shared = require('../internals/shared'); -var sharedKey = require('../internals/shared-key'); -var hiddenKeys = require('../internals/hidden-keys'); -var uid = require('../internals/uid'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol'); -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); -var setToStringTag = require('../internals/set-to-string-tag'); -var InternalStateModule = require('../internals/internal-state'); -var $forEach = require('../internals/array-iteration').forEach; - -var HIDDEN = sharedKey('hidden'); -var SYMBOL = 'Symbol'; -var PROTOTYPE = 'prototype'; -var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SYMBOL); -var ObjectPrototype = Object[PROTOTYPE]; -var $Symbol = global.Symbol; -var $stringify = getBuiltIn('JSON', 'stringify'); -var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; -var nativeDefineProperty = definePropertyModule.f; -var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; -var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; -var AllSymbols = shared('symbols'); -var ObjectPrototypeSymbols = shared('op-symbols'); -var StringToSymbolRegistry = shared('string-to-symbol-registry'); -var SymbolToStringRegistry = shared('symbol-to-string-registry'); -var WellKnownSymbolsStore = shared('wks'); -var QObject = global.QObject; -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDescriptor = DESCRIPTORS && fails(function () { - return nativeObjectCreate(nativeDefineProperty({}, 'a', { - get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } - })).a != 7; -}) ? function (O, P, Attributes) { - var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); - if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; - nativeDefineProperty(O, P, Attributes); - if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { - nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); - } -} : nativeDefineProperty; - -var wrap = function (tag, description) { - var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); - setInternalState(symbol, { - type: SYMBOL, - tag: tag, - description: description - }); - if (!DESCRIPTORS) symbol.description = description; - return symbol; -}; - -var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) { - return typeof it == 'symbol'; -} : function (it) { - return Object(it) instanceof $Symbol; -}; - -var $defineProperty = function defineProperty(O, P, Attributes) { - if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); - anObject(O); - var key = toPrimitive(P, true); - anObject(Attributes); - if (has(AllSymbols, key)) { - if (!Attributes.enumerable) { - if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); - O[HIDDEN][key] = true; - } else { - if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; - Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); - } return setSymbolDescriptor(O, key, Attributes); - } return nativeDefineProperty(O, key, Attributes); -}; - -var $defineProperties = function defineProperties(O, Properties) { - anObject(O); - var properties = toIndexedObject(Properties); - var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); - $forEach(keys, function (key) { - if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); - }); - return O; -}; - -var $create = function create(O, Properties) { - return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); -}; - -var $propertyIsEnumerable = function propertyIsEnumerable(V) { - var P = toPrimitive(V, true); - var enumerable = nativePropertyIsEnumerable.call(this, P); - if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; - return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; -}; - -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { - var it = toIndexedObject(O); - var key = toPrimitive(P, true); - if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; - var descriptor = nativeGetOwnPropertyDescriptor(it, key); - if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { - descriptor.enumerable = true; - } - return descriptor; -}; - -var $getOwnPropertyNames = function getOwnPropertyNames(O) { - var names = nativeGetOwnPropertyNames(toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); - }); - return result; -}; - -var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { - var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; - var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); - var result = []; - $forEach(names, function (key) { - if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { - result.push(AllSymbols[key]); - } - }); - return result; -}; - -// `Symbol` constructor -// https://tc39.github.io/ecma262/#sec-symbol-constructor -if (!NATIVE_SYMBOL) { - $Symbol = function Symbol() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); - var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); - var tag = uid(description); - var setter = function (value) { - if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); - }; - if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); - return wrap(tag, description); - }; - - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return getInternalState(this).tag; - }); - - propertyIsEnumerableModule.f = $propertyIsEnumerable; - definePropertyModule.f = $defineProperty; - getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; - getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; - getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; - - if (DESCRIPTORS) { - // https://github.com/tc39/proposal-Symbol-description - nativeDefineProperty($Symbol[PROTOTYPE], 'description', { - configurable: true, - get: function description() { - return getInternalState(this).description; - } - }); - if (!IS_PURE) { - redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); - } - } - - wrappedWellKnownSymbolModule.f = function (name) { - return wrap(wellKnownSymbol(name), name); - }; -} - -$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { - Symbol: $Symbol -}); - -$forEach(objectKeys(WellKnownSymbolsStore), function (name) { - defineWellKnownSymbol(name); -}); - -$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { - // `Symbol.for` method - // https://tc39.github.io/ecma262/#sec-symbol.for - 'for': function (key) { - var string = String(key); - if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; - var symbol = $Symbol(string); - StringToSymbolRegistry[string] = symbol; - SymbolToStringRegistry[symbol] = string; - return symbol; - }, - // `Symbol.keyFor` method - // https://tc39.github.io/ecma262/#sec-symbol.keyfor - keyFor: function keyFor(sym) { - if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); - if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; - }, - useSetter: function () { USE_SETTER = true; }, - useSimple: function () { USE_SETTER = false; } -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { - // `Object.create` method - // https://tc39.github.io/ecma262/#sec-object.create - create: $create, - // `Object.defineProperty` method - // https://tc39.github.io/ecma262/#sec-object.defineproperty - defineProperty: $defineProperty, - // `Object.defineProperties` method - // https://tc39.github.io/ecma262/#sec-object.defineproperties - defineProperties: $defineProperties, - // `Object.getOwnPropertyDescriptor` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors - getOwnPropertyDescriptor: $getOwnPropertyDescriptor -}); - -$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { - // `Object.getOwnPropertyNames` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertynames - getOwnPropertyNames: $getOwnPropertyNames, - // `Object.getOwnPropertySymbols` method - // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols - getOwnPropertySymbols: $getOwnPropertySymbols -}); - -// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives -// https://bugs.chromium.org/p/v8/issues/detail?id=3443 -$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { - getOwnPropertySymbols: function getOwnPropertySymbols(it) { - return getOwnPropertySymbolsModule.f(toObject(it)); - } -}); - -// `JSON.stringify` method behavior with symbols -// https://tc39.github.io/ecma262/#sec-json.stringify -if ($stringify) { - var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { - var symbol = $Symbol(); - // MS Edge converts symbol values to JSON as {} - return $stringify([symbol]) != '[null]' - // WebKit converts symbol values to JSON as null - || $stringify({ a: symbol }) != '{}' - // V8 throws on boxed symbols - || $stringify(Object(symbol)) != '{}'; - }); - - $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { - // eslint-disable-next-line no-unused-vars - stringify: function stringify(it, replacer, space) { - var args = [it]; - var index = 1; - var $replacer; - while (arguments.length > index) args.push(arguments[index++]); - $replacer = replacer; - if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - if (!isArray(replacer)) replacer = function (key, value) { - if (typeof $replacer == 'function') value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return $stringify.apply(null, args); - } - }); -} - -// `Symbol.prototype[@@toPrimitive]` method -// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive -if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { - createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -} -// `Symbol.prototype[@@toStringTag]` property -// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag -setToStringTag($Symbol, SYMBOL); - -hiddenKeys[HIDDEN] = true; - -},{"../internals/an-object":315,"../internals/array-iteration":323,"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/define-well-known-symbol":356,"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/get-built-in":372,"../internals/global":377,"../internals/has":378,"../internals/hidden-keys":379,"../internals/internal-state":386,"../internals/is-array":388,"../internals/is-object":392,"../internals/is-pure":393,"../internals/native-symbol":406,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/object-get-own-property-names-external":417,"../internals/object-get-own-property-symbols":419,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/shared":448,"../internals/shared-key":446,"../internals/to-indexed-object":459,"../internals/to-object":462,"../internals/to-primitive":465,"../internals/uid":469,"../internals/well-known-symbol":473,"../internals/wrapped-well-known-symbol":475}],635:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.matchAll` well-known symbol -defineWellKnownSymbol('matchAll'); - -},{"../internals/define-well-known-symbol":356}],636:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.match` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.match -defineWellKnownSymbol('match'); - -},{"../internals/define-well-known-symbol":356}],637:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.replace` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.replace -defineWellKnownSymbol('replace'); - -},{"../internals/define-well-known-symbol":356}],638:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.search` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.search -defineWellKnownSymbol('search'); - -},{"../internals/define-well-known-symbol":356}],639:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.species` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.species -defineWellKnownSymbol('species'); - -},{"../internals/define-well-known-symbol":356}],640:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.split` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.split -defineWellKnownSymbol('split'); - -},{"../internals/define-well-known-symbol":356}],641:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.toPrimitive` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.toprimitive -defineWellKnownSymbol('toPrimitive'); - -},{"../internals/define-well-known-symbol":356}],642:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.toStringTag` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.tostringtag -defineWellKnownSymbol('toStringTag'); - -},{"../internals/define-well-known-symbol":356}],643:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.unscopables` well-known symbol -// https://tc39.github.io/ecma262/#sec-symbol.unscopables -defineWellKnownSymbol('unscopables'); - -},{"../internals/define-well-known-symbol":356}],644:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $copyWithin = require('../internals/array-copy-within'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.copyWithin` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin -ArrayBufferViewCore.exportProto('copyWithin', function copyWithin(target, start /* , end */) { - return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-copy-within":318}],645:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $every = require('../internals/array-iteration').every; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.every` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every -ArrayBufferViewCore.exportProto('every', function every(callbackfn /* , thisArg */) { - return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],646:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $fill = require('../internals/array-fill'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.fill` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill -// eslint-disable-next-line no-unused-vars -ArrayBufferViewCore.exportProto('fill', function fill(value /* , start, end */) { - return $fill.apply(aTypedArray(this), arguments); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-fill":319}],647:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $filter = require('../internals/array-iteration').filter; -var speciesConstructor = require('../internals/species-constructor'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; - -// `%TypedArray%.prototype.filter` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter -ArrayBufferViewCore.exportProto('filter', function filter(callbackfn /* , thisArg */) { - var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - while (length > index) result[index] = list[index++]; - return result; -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/species-constructor":450}],648:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $findIndex = require('../internals/array-iteration').findIndex; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.findIndex` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex -ArrayBufferViewCore.exportProto('findIndex', function findIndex(predicate /* , thisArg */) { - return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],649:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $find = require('../internals/array-iteration').find; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.find` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find -ArrayBufferViewCore.exportProto('find', function find(predicate /* , thisArg */) { - return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],650:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Float32Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Float32', 4, function (init) { - return function Float32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],651:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Float64Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Float64', 8, function (init) { - return function Float64Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],652:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $forEach = require('../internals/array-iteration').forEach; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.forEach` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach -ArrayBufferViewCore.exportProto('forEach', function forEach(callbackfn /* , thisArg */) { - $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],653:[function(require,module,exports){ -'use strict'; -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var typedArrayFrom = require('../internals/typed-array-from'); - -// `%TypedArray%.from` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.from -ArrayBufferViewCore.exportStatic('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); - -},{"../internals/array-buffer-view-core":316,"../internals/typed-array-from":467,"../internals/typed-arrays-constructors-requires-wrappers":468}],654:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $includes = require('../internals/array-includes').includes; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.includes` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes -ArrayBufferViewCore.exportProto('includes', function includes(searchElement /* , fromIndex */) { - return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-includes":322}],655:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $indexOf = require('../internals/array-includes').indexOf; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.indexOf` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof -ArrayBufferViewCore.exportProto('indexOf', function indexOf(searchElement /* , fromIndex */) { - return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-includes":322}],656:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Int16Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Int16', 2, function (init) { - return function Int16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],657:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Int32Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Int32', 4, function (init) { - return function Int32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],658:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Int8Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Int8', 1, function (init) { - return function Int8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],659:[function(require,module,exports){ -'use strict'; -var global = require('../internals/global'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var ArrayIterators = require('../modules/es.array.iterator'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var ITERATOR = wellKnownSymbol('iterator'); -var Uint8Array = global.Uint8Array; -var arrayValues = ArrayIterators.values; -var arrayKeys = ArrayIterators.keys; -var arrayEntries = ArrayIterators.entries; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var exportProto = ArrayBufferViewCore.exportProto; -var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; - -var CORRECT_ITER_NAME = !!nativeTypedArrayIterator - && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); - -var typedArrayValues = function values() { - return arrayValues.call(aTypedArray(this)); -}; - -// `%TypedArray%.prototype.entries` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries -exportProto('entries', function entries() { - return arrayEntries.call(aTypedArray(this)); -}); -// `%TypedArray%.prototype.keys` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys -exportProto('keys', function keys() { - return arrayKeys.call(aTypedArray(this)); -}); -// `%TypedArray%.prototype.values` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values -exportProto('values', typedArrayValues, !CORRECT_ITER_NAME); -// `%TypedArray%.prototype[@@iterator]` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator -exportProto(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); - -},{"../internals/array-buffer-view-core":316,"../internals/global":377,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],660:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var $join = [].join; - -// `%TypedArray%.prototype.join` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join -// eslint-disable-next-line no-unused-vars -ArrayBufferViewCore.exportProto('join', function join(separator) { - return $join.apply(aTypedArray(this), arguments); -}); - -},{"../internals/array-buffer-view-core":316}],661:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $lastIndexOf = require('../internals/array-last-index-of'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.lastIndexOf` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof -// eslint-disable-next-line no-unused-vars -ArrayBufferViewCore.exportProto('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { - return $lastIndexOf.apply(aTypedArray(this), arguments); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-last-index-of":324}],662:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $map = require('../internals/array-iteration').map; -var speciesConstructor = require('../internals/species-constructor'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; - -// `%TypedArray%.prototype.map` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map -ArrayBufferViewCore.exportProto('map', function map(mapfn /* , thisArg */) { - return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { - return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); - }); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/species-constructor":450}],663:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); - -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; - -// `%TypedArray%.of` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.of -ArrayBufferViewCore.exportStatic('of', function of(/* ...items */) { - var index = 0; - var length = arguments.length; - var result = new (aTypedArrayConstructor(this))(length); - while (length > index) result[index] = arguments[index++]; - return result; -}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); - -},{"../internals/array-buffer-view-core":316,"../internals/typed-arrays-constructors-requires-wrappers":468}],664:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $reduceRight = require('../internals/array-reduce').right; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.reduceRicht` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright -ArrayBufferViewCore.exportProto('reduceRight', function reduceRight(callbackfn /* , initialValue */) { - return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-reduce":326}],665:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $reduce = require('../internals/array-reduce').left; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.reduce` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce -ArrayBufferViewCore.exportProto('reduce', function reduce(callbackfn /* , initialValue */) { - return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-reduce":326}],666:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var floor = Math.floor; - -// `%TypedArray%.prototype.reverse` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse -ArrayBufferViewCore.exportProto('reverse', function reverse() { - var that = this; - var length = aTypedArray(that).length; - var middle = floor(length / 2); - var index = 0; - var value; - while (index < middle) { - value = that[index]; - that[index++] = that[--length]; - that[length] = value; - } return that; -}); - -},{"../internals/array-buffer-view-core":316}],667:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var toLength = require('../internals/to-length'); -var toOffset = require('../internals/to-offset'); -var toObject = require('../internals/to-object'); -var fails = require('../internals/fails'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -var FORCED = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).set({}); -}); - -// `%TypedArray%.prototype.set` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set -ArrayBufferViewCore.exportProto('set', function set(arrayLike /* , offset */) { - aTypedArray(this); - var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); - var length = this.length; - var src = toObject(arrayLike); - var len = toLength(src.length); - var index = 0; - if (len + offset > length) throw RangeError('Wrong length'); - while (index < len) this[offset + index] = src[index++]; -}, FORCED); - -},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/to-length":461,"../internals/to-object":462,"../internals/to-offset":463}],668:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var speciesConstructor = require('../internals/species-constructor'); -var fails = require('../internals/fails'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; -var $slice = [].slice; - -var FORCED = fails(function () { - // eslint-disable-next-line no-undef - new Int8Array(1).slice(); -}); - -// `%TypedArray%.prototype.slice` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice -ArrayBufferViewCore.exportProto('slice', function slice(start, end) { - var list = $slice.call(aTypedArray(this), start, end); - var C = speciesConstructor(this, this.constructor); - var index = 0; - var length = list.length; - var result = new (aTypedArrayConstructor(C))(length); - while (length > index) result[index] = list[index++]; - return result; -}, FORCED); - -},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/species-constructor":450}],669:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var $some = require('../internals/array-iteration').some; - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.some` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some -ArrayBufferViewCore.exportProto('some', function some(callbackfn /* , thisArg */) { - return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],670:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var $sort = [].sort; - -// `%TypedArray%.prototype.sort` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort -ArrayBufferViewCore.exportProto('sort', function sort(comparefn) { - return $sort.call(aTypedArray(this), comparefn); -}); - -},{"../internals/array-buffer-view-core":316}],671:[function(require,module,exports){ -'use strict'; -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var toLength = require('../internals/to-length'); -var toAbsoluteIndex = require('../internals/to-absolute-index'); -var speciesConstructor = require('../internals/species-constructor'); - -var aTypedArray = ArrayBufferViewCore.aTypedArray; - -// `%TypedArray%.prototype.subarray` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray -ArrayBufferViewCore.exportProto('subarray', function subarray(begin, end) { - var O = aTypedArray(this); - var length = O.length; - var beginIndex = toAbsoluteIndex(begin, length); - return new (speciesConstructor(O, O.constructor))( - O.buffer, - O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, - toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) - ); -}); - -},{"../internals/array-buffer-view-core":316,"../internals/species-constructor":450,"../internals/to-absolute-index":457,"../internals/to-length":461}],672:[function(require,module,exports){ -'use strict'; -var global = require('../internals/global'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var fails = require('../internals/fails'); - -var Int8Array = global.Int8Array; -var aTypedArray = ArrayBufferViewCore.aTypedArray; -var $toLocaleString = [].toLocaleString; -var $slice = [].slice; - -// iOS Safari 6.x fails here -var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { - $toLocaleString.call(new Int8Array(1)); -}); - -var FORCED = fails(function () { - return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); -}) || !fails(function () { - Int8Array.prototype.toLocaleString.call([1, 2]); -}); - -// `%TypedArray%.prototype.toLocaleString` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring -ArrayBufferViewCore.exportProto('toLocaleString', function toLocaleString() { - return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); -}, FORCED); - -},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/global":377}],673:[function(require,module,exports){ -'use strict'; -var global = require('../internals/global'); -var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); -var fails = require('../internals/fails'); - -var Uint8Array = global.Uint8Array; -var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype; -var arrayToString = [].toString; -var arrayJoin = [].join; - -if (fails(function () { arrayToString.call({}); })) { - arrayToString = function toString() { - return arrayJoin.call(this); - }; -} - -// `%TypedArray%.prototype.toString` method -// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring -ArrayBufferViewCore.exportProto('toString', arrayToString, (Uint8ArrayPrototype || {}).toString != arrayToString); - -},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/global":377}],674:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Uint16Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Uint16', 2, function (init) { - return function Uint16Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],675:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Uint32Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Uint32', 4, function (init) { - return function Uint32Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],676:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Uint8Array` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Uint8', 1, function (init) { - return function Uint8Array(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}); - -},{"../internals/typed-array-constructor":466}],677:[function(require,module,exports){ -var typedArrayConstructor = require('../internals/typed-array-constructor'); - -// `Uint8ClampedArray` constructor -// https://tc39.github.io/ecma262/#sec-typedarray-objects -typedArrayConstructor('Uint8', 1, function (init) { - return function Uint8ClampedArray(data, byteOffset, length) { - return init(this, data, byteOffset, length); - }; -}, true); - -},{"../internals/typed-array-constructor":466}],678:[function(require,module,exports){ -'use strict'; -var global = require('../internals/global'); -var redefineAll = require('../internals/redefine-all'); -var InternalMetadataModule = require('../internals/internal-metadata'); -var collection = require('../internals/collection'); -var collectionWeak = require('../internals/collection-weak'); -var isObject = require('../internals/is-object'); -var enforceIternalState = require('../internals/internal-state').enforce; -var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); - -var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; -var isExtensible = Object.isExtensible; -var InternalWeakMap; - -var wrapper = function (get) { - return function WeakMap() { - return get(this, arguments.length ? arguments[0] : undefined); - }; -}; - -// `WeakMap` constructor -// https://tc39.github.io/ecma262/#sec-weakmap-constructor -var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true); - -// IE11 WeakMap frozen keys fix -// We can't use feature detection because it crash some old IE builds -// https://github.com/zloirock/core-js/issues/485 -if (NATIVE_WEAK_MAP && IS_IE11) { - InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); - InternalMetadataModule.REQUIRED = true; - var WeakMapPrototype = $WeakMap.prototype; - var nativeDelete = WeakMapPrototype['delete']; - var nativeHas = WeakMapPrototype.has; - var nativeGet = WeakMapPrototype.get; - var nativeSet = WeakMapPrototype.set; - redefineAll(WeakMapPrototype, { - 'delete': function (key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeDelete.call(this, key) || state.frozen['delete'](key); - } return nativeDelete.call(this, key); - }, - has: function has(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) || state.frozen.has(key); - } return nativeHas.call(this, key); - }, - get: function get(key) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); - } return nativeGet.call(this, key); - }, - set: function set(key, value) { - if (isObject(key) && !isExtensible(key)) { - var state = enforceIternalState(this); - if (!state.frozen) state.frozen = new InternalWeakMap(); - nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); - } else nativeSet.call(this, key, value); - return this; - } - }); -} - -},{"../internals/collection":341,"../internals/collection-weak":340,"../internals/global":377,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/is-object":392,"../internals/native-weak-map":408,"../internals/redefine-all":434}],679:[function(require,module,exports){ -'use strict'; -var collection = require('../internals/collection'); -var collectionWeak = require('../internals/collection-weak'); - -// `WeakSet` constructor -// https://tc39.github.io/ecma262/#sec-weakset-constructor -collection('WeakSet', function (get) { - return function WeakSet() { return get(this, arguments.length ? arguments[0] : undefined); }; -}, collectionWeak, false, true); - -},{"../internals/collection":341,"../internals/collection-weak":340}],680:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var setPrototypeOf = require('../internals/object-set-prototype-of'); -var create = require('../internals/object-create'); -var defineProperty = require('../internals/object-define-property'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var iterate = require('../internals/iterate'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var InternalStateModule = require('../internals/internal-state'); - -var setInternalState = InternalStateModule.set; -var getInternalAggregateErrorState = InternalStateModule.getterFor('AggregateError'); - -var $AggregateError = function AggregateError(errors, message) { - var that = this; - if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); - if (setPrototypeOf) { - that = setPrototypeOf(new Error(message), getPrototypeOf(that)); - } - var errorsArray = []; - iterate(errors, errorsArray.push, errorsArray); - if (DESCRIPTORS) setInternalState(that, { errors: errorsArray, type: 'AggregateError' }); - else that.errors = errorsArray; - if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message)); - return that; -}; - -$AggregateError.prototype = create(Error.prototype, { - constructor: createPropertyDescriptor(5, $AggregateError), - message: createPropertyDescriptor(5, ''), - name: createPropertyDescriptor(5, 'AggregateError') -}); - -if (DESCRIPTORS) defineProperty.f($AggregateError.prototype, 'errors', { - get: function () { - return getInternalAggregateErrorState(this).errors; - }, - configurable: true -}); - -$({ global: true }, { - AggregateError: $AggregateError -}); - -},{"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/export":361,"../internals/internal-state":386,"../internals/iterate":395,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424}],681:[function(require,module,exports){ -var $ = require('../internals/export'); -var isArray = require('../internals/is-array'); - -var isFrozen = Object.isFrozen; - -var isFrozenStringArray = function (array, allowUndefined) { - if (!isFrozen || !isArray(array) || !isFrozen(array)) return false; - var index = 0; - var length = array.length; - var element; - while (index < length) { - element = array[index++]; - if (!(typeof element === 'string' || (allowUndefined && typeof element === 'undefined'))) { - return false; - } - } return length !== 0; -}; - -// `Array.isTemplateObject` method -// https://github.com/tc39/proposal-array-is-template-object -$({ target: 'Array', stat: true }, { - isTemplateObject: function isTemplateObject(value) { - if (!isFrozenStringArray(value, true)) return false; - var raw = value.raw; - if (raw.length !== value.length || !isFrozenStringArray(raw, false)) return false; - return true; - } -}); - -},{"../internals/export":361,"../internals/is-array":388}],682:[function(require,module,exports){ -'use strict'; -var DESCRIPTORS = require('../internals/descriptors'); -var addToUnscopables = require('../internals/add-to-unscopables'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var defineProperty = require('../internals/object-define-property').f; - -// `Array.prototype.lastIndex` getter -// https://github.com/keithamus/proposal-array-last -if (DESCRIPTORS && !('lastIndex' in [])) { - defineProperty(Array.prototype, 'lastIndex', { - configurable: true, - get: function lastIndex() { - var O = toObject(this); - var len = toLength(O.length); - return len == 0 ? 0 : len - 1; - } - }); - - addToUnscopables('lastIndex'); -} - -},{"../internals/add-to-unscopables":312,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/to-length":461,"../internals/to-object":462}],683:[function(require,module,exports){ -'use strict'; -var DESCRIPTORS = require('../internals/descriptors'); -var addToUnscopables = require('../internals/add-to-unscopables'); -var toObject = require('../internals/to-object'); -var toLength = require('../internals/to-length'); -var defineProperty = require('../internals/object-define-property').f; - -// `Array.prototype.lastIndex` accessor -// https://github.com/keithamus/proposal-array-last -if (DESCRIPTORS && !('lastItem' in [])) { - defineProperty(Array.prototype, 'lastItem', { - configurable: true, - get: function lastItem() { - var O = toObject(this); - var len = toLength(O.length); - return len == 0 ? undefined : O[len - 1]; - }, - set: function lastItem(value) { - var O = toObject(this); - var len = toLength(O.length); - return O[len == 0 ? 0 : len - 1] = value; - } - }); - - addToUnscopables('lastItem'); -} - -},{"../internals/add-to-unscopables":312,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/to-length":461,"../internals/to-object":462}],684:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anInstance = require('../internals/an-instance'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var has = require('../internals/has'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var AsyncIteratorPrototype = require('../internals/async-iterator-prototype'); -var IS_PURE = require('../internals/is-pure'); - -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -var AsyncIteratorConstructor = function AsyncIterator() { - anInstance(this, AsyncIteratorConstructor); -}; - -AsyncIteratorConstructor.prototype = AsyncIteratorPrototype; - -if (!has(AsyncIteratorPrototype, TO_STRING_TAG)) { - createNonEnumerableProperty(AsyncIteratorPrototype, TO_STRING_TAG, 'AsyncIterator'); -} - -if (!has(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPrototype.constructor === Object) { - createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); -} - -$({ global: true, forced: IS_PURE }, { - AsyncIterator: AsyncIteratorConstructor -}); - -},{"../internals/an-instance":314,"../internals/async-iterator-prototype":329,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/has":378,"../internals/is-pure":393,"../internals/well-known-symbol":473}],685:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var toPositiveInteger = require('../internals/to-positive-integer'); -var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); - -var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { - var state = this; - - return new Promise(function (resolve, reject) { - var loop = function () { - try { - Promise.resolve( - anObject(state.next.call(state.iterator, state.remaining ? undefined : arg)) - ).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else if (state.remaining) { - state.remaining--; - loop(); - } else resolve({ done: false, value: step.value }); - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); -}); - -$({ target: 'AsyncIterator', proto: true, real: true }, { - drop: function drop(limit) { - return new AsyncIteratorProxy({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } -}); - -},{"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/to-positive-integer":464}],686:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); - -var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { - var state = this; - var filterer = state.filterer; - - return new Promise(function (resolve, reject) { - var loop = function () { - try { - Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { - try { - if (anObject(step).done) { - state.done = true; - resolve({ done: true, value: undefined }); - } else { - var value = step.value; - Promise.resolve(filterer(value)).then(function (selected) { - selected ? resolve({ done: false, value: value }) : loop(); - }, reject); - } - } catch (err) { reject(err); } - }, reject); - } catch (error) { reject(error); } - }; - - loop(); - }); -}); - -$({ target: 'AsyncIterator', proto: true, real: true }, { - filter: function filter(filterer) { - return new AsyncIteratorProxy({ - iterator: anObject(this), - filterer: aFunction(filterer) - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361}],687:[function(require,module,exports){ -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var path = require('../internals/path'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var toObject = require('../internals/to-object'); -var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); -var getAsyncIteratorMethod = require('../internals/get-async-iterator-method'); - -var AsyncIterator = path.AsyncIterator; - -var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg) { - return anObject(this.next.call(this.iterator, arg)); -}, true); - -$({ target: 'AsyncIterator', stat: true }, { - from: function from(O) { - var object = toObject(O); - var usingIterator = getAsyncIteratorMethod(object); - var iterator; - if (usingIterator != null) { - iterator = aFunction(usingIterator).call(object); - if (iterator instanceof AsyncIterator) return iterator; - } else { - iterator = object; - } return new AsyncIteratorProxy({ - iterator: iterator - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/get-async-iterator-method":371,"../internals/path":430,"../internals/to-object":462}],688:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); - -var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { - var state = this; - var mapper = state.mapper; - - return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { - if (anObject(step).done) { - state.done = true; - return { done: true, value: undefined }; - } - return Promise.resolve(mapper(step.value)).then(function (value) { - return { done: false, value: value }; - }); - }); -}); - -$({ target: 'AsyncIterator', proto: true, real: true }, { - map: function map(mapper) { - return new AsyncIteratorProxy({ - iterator: anObject(this), - mapper: aFunction(mapper) - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361}],689:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var toPositiveInteger = require('../internals/to-positive-integer'); -var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); - -var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg) { - if (!this.remaining--) { - this.done = true; - return { done: true, value: undefined }; - } return this.next.call(this.iterator, arg); -}); - -$({ target: 'AsyncIterator', proto: true, real: true }, { - take: function take(limit) { - return new AsyncIteratorProxy({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } -}); - -},{"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/to-positive-integer":464}],690:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var $toArray = require('../internals/async-iterator-iteration').toArray; - -$({ target: 'AsyncIterator', proto: true, real: true }, { - toArray: function toArray() { - return $toArray(this); - } -}); - -},{"../internals/async-iterator-iteration":328,"../internals/export":361}],691:[function(require,module,exports){ -var $ = require('../internals/export'); -var getCompositeKeyNode = require('../internals/composite-key'); -var getBuiltIn = require('../internals/get-built-in'); -var create = require('../internals/object-create'); - -var initializer = function () { - var freeze = getBuiltIn('Object', 'freeze'); - return freeze ? freeze(create(null)) : create(null); -}; - -// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey -$({ global: true }, { - compositeKey: function compositeKey() { - return getCompositeKeyNode.apply(Object, arguments).get('object', initializer); - } -}); - -},{"../internals/composite-key":342,"../internals/export":361,"../internals/get-built-in":372,"../internals/object-create":413}],692:[function(require,module,exports){ -var $ = require('../internals/export'); -var getCompositeKeyNode = require('../internals/composite-key'); -var getBuiltIn = require('../internals/get-built-in'); - -// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey -$({ global: true }, { - compositeSymbol: function compositeSymbol() { - if (arguments.length === 1 && typeof arguments[0] === 'string') return getBuiltIn('Symbol')['for'](arguments[0]); - return getCompositeKeyNode.apply(null, arguments).get('symbol', getBuiltIn('Symbol')); - } -}); - -},{"../internals/composite-key":342,"../internals/export":361,"../internals/get-built-in":372}],693:[function(require,module,exports){ -// TODO: Remove from `core-js@4` -require('./es.global-this'); - -},{"./es.global-this":517}],694:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); - -var IteratorProxy = createIteratorProxy(function (arg) { - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) return [this.index++, result.value]; -}); - -$({ target: 'Iterator', proto: true, real: true }, { - asIndexedPairs: function asIndexedPairs() { - return new IteratorProxy({ - iterator: anObject(this), - index: 0 - }); - } -}); - -},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361}],695:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var global = require('../internals/global'); -var anInstance = require('../internals/an-instance'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var has = require('../internals/has'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; -var IS_PURE = require('../internals/is-pure'); - -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); - -var NativeIterator = global.Iterator; - -// FF56- have non-standard global helper `Iterator` -var FORCED = IS_PURE || typeof NativeIterator != 'function' || NativeIterator.prototype !== IteratorPrototype; - -var IteratorConstructor = function Iterator() { - anInstance(this, IteratorConstructor); -}; - -if (IS_PURE) { - IteratorPrototype = {}; - createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () { - return this; - }); -} - -if (!has(IteratorPrototype, TO_STRING_TAG)) { - createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator'); -} - -if (!has(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) { - createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor); -} - -IteratorConstructor.prototype = IteratorPrototype; - -$({ global: true, forced: FORCED }, { - Iterator: IteratorConstructor -}); - -},{"../internals/an-instance":314,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/is-pure":393,"../internals/iterators-core":396,"../internals/well-known-symbol":473}],696:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var toPositiveInteger = require('../internals/to-positive-integer'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); - -var IteratorProxy = createIteratorProxy(function (arg) { - var iterator = this.iterator; - var next = this.next; - var result, done; - while (this.remaining) { - this.remaining--; - result = anObject(next.call(iterator)); - done = this.done = !!result.done; - if (done) return; - } - result = anObject(next.call(iterator, arg)); - done = this.done = !!result.done; - if (!done) return result.value; -}); - -$({ target: 'Iterator', proto: true, real: true }, { - drop: function drop(limit) { - return new IteratorProxy({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } -}); - -},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/to-positive-integer":464}],697:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); - -$({ target: 'Iterator', proto: true, real: true }, { - every: function every(fn) { - anObject(this); - aFunction(fn); - return !iterate(this, function (value) { - if (!fn(value)) return iterate.stop(); - }, undefined, false, true).stopped; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],698:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); -var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); - -var IteratorProxy = createIteratorProxy(function (arg) { - var iterator = this.iterator; - var filterer = this.filterer; - var next = this.next; - var result, done, value; - while (true) { - result = anObject(next.call(iterator, arg)); - done = this.done = !!result.done; - if (done) return; - value = result.value; - if (callWithSafeIterationClosing(iterator, filterer, value)) return value; - } -}); - -$({ target: 'Iterator', proto: true, real: true }, { - filter: function filter(filterer) { - return new IteratorProxy({ - iterator: anObject(this), - filterer: aFunction(filterer) - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/call-with-safe-iteration-closing":331,"../internals/create-iterator-proxy":349,"../internals/export":361}],699:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); - -$({ target: 'Iterator', proto: true, real: true }, { - find: function find(fn) { - anObject(this); - aFunction(fn); - return iterate(this, function (value) { - if (fn(value)) return iterate.stop(value); - }, undefined, false, true).result; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],700:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var anObject = require('../internals/an-object'); - -$({ target: 'Iterator', proto: true, real: true }, { - forEach: function forEach(fn) { - iterate(anObject(this), fn, undefined, false, true); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],701:[function(require,module,exports){ -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var path = require('../internals/path'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var toObject = require('../internals/to-object'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); -var getIteratorMethod = require('../internals/get-iterator-method'); - -var Iterator = path.Iterator; - -var IteratorProxy = createIteratorProxy(function (arg) { - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) return result.value; -}, true); - -$({ target: 'Iterator', stat: true }, { - from: function from(O) { - var object = toObject(O); - var usingIterator = getIteratorMethod(object); - var iterator; - if (usingIterator != null) { - iterator = aFunction(usingIterator).call(object); - if (iterator instanceof Iterator) return iterator; - } else { - iterator = object; - } return new IteratorProxy({ - iterator: iterator - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/get-iterator-method":373,"../internals/path":430,"../internals/to-object":462}],702:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); -var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); - -var IteratorProxy = createIteratorProxy(function (arg) { - var iterator = this.iterator; - var result = anObject(this.next.call(iterator, arg)); - var done = this.done = !!result.done; - if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value); -}); - -$({ target: 'Iterator', proto: true, real: true }, { - map: function map(mapper) { - return new IteratorProxy({ - iterator: anObject(this), - mapper: aFunction(mapper) - }); - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/call-with-safe-iteration-closing":331,"../internals/create-iterator-proxy":349,"../internals/export":361}],703:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); - -$({ target: 'Iterator', proto: true, real: true }, { - reduce: function reduce(reducer /* , initialValue */) { - anObject(this); - aFunction(reducer); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - iterate(this, function (value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = reducer(accumulator, value); - } - }, undefined, false, true); - if (noInitial) throw TypeError('Reduce of empty iterator with no initial value'); - return accumulator; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],704:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); - -$({ target: 'Iterator', proto: true, real: true }, { - some: function some(fn) { - anObject(this); - aFunction(fn); - return iterate(this, function (value) { - if (fn(value)) return iterate.stop(); - }, undefined, false, true).stopped; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],705:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var toPositiveInteger = require('../internals/to-positive-integer'); -var createIteratorProxy = require('../internals/create-iterator-proxy'); - -var IteratorProxy = createIteratorProxy(function (arg) { - if (!this.remaining--) { - this.done = true; - return; - } - var result = anObject(this.next.call(this.iterator, arg)); - var done = this.done = !!result.done; - if (!done) return result.value; -}); - -$({ target: 'Iterator', proto: true, real: true }, { - take: function take(limit) { - return new IteratorProxy({ - iterator: anObject(this), - remaining: toPositiveInteger(limit) - }); - } -}); - -},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/to-positive-integer":464}],706:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-iterator-helpers -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var anObject = require('../internals/an-object'); - -var push = [].push; - -$({ target: 'Iterator', proto: true, real: true }, { - toArray: function toArray() { - var result = []; - iterate(anObject(this), push, result, false, true); - return result; - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],707:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionDeleteAll = require('../internals/collection-delete-all'); - -// `Map.prototype.deleteAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } -}); - -},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],708:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.every` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - every: function every(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return !iterate(iterator, function (key, value) { - if (!boundFunction(value, key, map)) return iterate.stop(); - }, undefined, true, true).stopped; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],709:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var speciesConstructor = require('../internals/species-constructor'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.filter` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - filter: function filter(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction(newMap.set); - iterate(iterator, function (key, value) { - if (boundFunction(value, key, map)) setter.call(newMap, key, value); - }, undefined, true, true); - return newMap; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],710:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.findKey` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - findKey: function findKey(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate(iterator, function (key, value) { - if (boundFunction(value, key, map)) return iterate.stop(key); - }, undefined, true, true).result; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],711:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.find` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - find: function find(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate(iterator, function (key, value) { - if (boundFunction(value, key, map)) return iterate.stop(value); - }, undefined, true, true).result; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],712:[function(require,module,exports){ -var $ = require('../internals/export'); -var from = require('../internals/collection-from'); - -// `Map.from` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from -$({ target: 'Map', stat: true }, { - from: from -}); - -},{"../internals/collection-from":337,"../internals/export":361}],713:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); - -// `Map.groupBy` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', stat: true }, { - groupBy: function groupBy(iterable, keyDerivative) { - var newMap = new this(); - aFunction(keyDerivative); - var has = aFunction(newMap.has); - var get = aFunction(newMap.get); - var set = aFunction(newMap.set); - iterate(iterable, function (element) { - var derivedKey = keyDerivative(element); - if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]); - else get.call(newMap, derivedKey).push(element); - }); - return newMap; - } -}); - -},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395}],714:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var getMapIterator = require('../internals/get-map-iterator'); -var sameValueZero = require('../internals/same-value-zero'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.includes` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - includes: function includes(searchElement) { - return iterate(getMapIterator(anObject(this)), function (key, value) { - if (sameValueZero(value, searchElement)) return iterate.stop(); - }, undefined, true, true).stopped; - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/same-value-zero":441}],715:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var iterate = require('../internals/iterate'); -var aFunction = require('../internals/a-function'); - -// `Map.keyBy` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', stat: true }, { - keyBy: function keyBy(iterable, keyDerivative) { - var newMap = new this(); - aFunction(keyDerivative); - var setter = aFunction(newMap.set); - iterate(iterable, function (element) { - setter.call(newMap, keyDerivative(element), element); - }); - return newMap; - } -}); - -},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395}],716:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.includes` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - keyOf: function keyOf(searchElement) { - return iterate(getMapIterator(anObject(this)), function (key, value) { - if (value === searchElement) return iterate.stop(key); - }, undefined, true, true).result; - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],717:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var speciesConstructor = require('../internals/species-constructor'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.mapKeys` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - mapKeys: function mapKeys(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction(newMap.set); - iterate(iterator, function (key, value) { - setter.call(newMap, boundFunction(value, key, map), value); - }, undefined, true, true); - return newMap; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],718:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var speciesConstructor = require('../internals/species-constructor'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.mapValues` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - mapValues: function mapValues(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); - var setter = aFunction(newMap.set); - iterate(iterator, function (key, value) { - setter.call(newMap, key, boundFunction(value, key, map)); - }, undefined, true, true); - return newMap; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],719:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.merge` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - // eslint-disable-next-line no-unused-vars - merge: function merge(iterable /* ...iterbles */) { - var map = anObject(this); - var setter = aFunction(map.set); - var i = 0; - while (i < arguments.length) { - iterate(arguments[i++], setter, map, true); - } - return map; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],720:[function(require,module,exports){ -var $ = require('../internals/export'); -var of = require('../internals/collection-of'); - -// `Map.of` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of -$({ target: 'Map', stat: true }, { - of: of -}); - -},{"../internals/collection-of":338,"../internals/export":361}],721:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Map.prototype.reduce` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - reduce: function reduce(callbackfn /* , initialValue */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - aFunction(callbackfn); - iterate(iterator, function (key, value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = callbackfn(accumulator, value, key, map); - } - }, undefined, true, true); - if (noInitial) throw TypeError('Reduce of empty map with no initial value'); - return accumulator; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],722:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getMapIterator = require('../internals/get-map-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.some` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - some: function some(callbackfn /* , thisArg */) { - var map = anObject(this); - var iterator = getMapIterator(map); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate(iterator, function (key, value) { - if (boundFunction(value, key, map)) return iterate.stop(); - }, undefined, true, true).stopped; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],723:[function(require,module,exports){ -'use strict'; -// TODO: remove from `core-js@4` -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var $upsert = require('../internals/map-upsert'); - -// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.upsert`) -// https://github.com/thumbsupep/proposal-upsert -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - updateOrInsert: $upsert -}); - -},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],724:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); - -// `Set.prototype.update` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - update: function update(key, callback /* , thunk */) { - var map = anObject(this); - var length = arguments.length; - aFunction(callback); - var isPresentInMap = map.has(key); - if (!isPresentInMap && length < 3) { - throw TypeError('Updating absent value'); - } - var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map); - map.set(key, callback(value, key, map)); - return map; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393}],725:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var $upsert = require('../internals/map-upsert'); - -// `Map.prototype.upsert` method -// https://github.com/thumbsupep/proposal-upsert -$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { - upsert: $upsert -}); - -},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],726:[function(require,module,exports){ -var $ = require('../internals/export'); - -var min = Math.min; -var max = Math.max; - -// `Math.clamp` method -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - clamp: function clamp(x, lower, upper) { - return min(upper, max(lower, x)); - } -}); - -},{"../internals/export":361}],727:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.DEG_PER_RAD` constant -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - DEG_PER_RAD: Math.PI / 180 -}); - -},{"../internals/export":361}],728:[function(require,module,exports){ -var $ = require('../internals/export'); - -var RAD_PER_DEG = 180 / Math.PI; - -// `Math.degrees` method -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - degrees: function degrees(radians) { - return radians * RAD_PER_DEG; - } -}); - -},{"../internals/export":361}],729:[function(require,module,exports){ -var $ = require('../internals/export'); - -var scale = require('../internals/math-scale'); -var fround = require('../internals/math-fround'); - -// `Math.fscale` method -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { - return fround(scale(x, inLow, inHigh, outLow, outHigh)); - } -}); - -},{"../internals/export":361,"../internals/math-fround":400,"../internals/math-scale":402}],730:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.iaddh` method -// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 -// TODO: Remove from `core-js@4` -$({ target: 'Math', stat: true }, { - iaddh: function iaddh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; - } -}); - -},{"../internals/export":361}],731:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.imulh` method -// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 -// TODO: Remove from `core-js@4` -$({ target: 'Math', stat: true }, { - imulh: function imulh(u, v) { - var UINT16 = 0xFFFF; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >> 16; - var v1 = $v >> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); - } -}); - -},{"../internals/export":361}],732:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.isubh` method -// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 -// TODO: Remove from `core-js@4` -$({ target: 'Math', stat: true }, { - isubh: function isubh(x0, x1, y0, y1) { - var $x0 = x0 >>> 0; - var $x1 = x1 >>> 0; - var $y0 = y0 >>> 0; - return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; - } -}); - -},{"../internals/export":361}],733:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.RAD_PER_DEG` constant -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - RAD_PER_DEG: 180 / Math.PI -}); - -},{"../internals/export":361}],734:[function(require,module,exports){ -var $ = require('../internals/export'); - -var DEG_PER_RAD = Math.PI / 180; - -// `Math.radians` method -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - radians: function radians(degrees) { - return degrees * DEG_PER_RAD; - } -}); - -},{"../internals/export":361}],735:[function(require,module,exports){ -var $ = require('../internals/export'); -var scale = require('../internals/math-scale'); - -// `Math.scale` method -// https://rwaldron.github.io/proposal-math-extensions/ -$({ target: 'Math', stat: true }, { - scale: scale -}); - -},{"../internals/export":361,"../internals/math-scale":402}],736:[function(require,module,exports){ -var $ = require('../internals/export'); -var anObject = require('../internals/an-object'); -var numberIsFinite = require('../internals/number-is-finite'); -var createIteratorConstructor = require('../internals/create-iterator-constructor'); -var InternalStateModule = require('../internals/internal-state'); - -var SEEDED_RANDOM = 'Seeded Random'; -var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR); -var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; - -var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { - setInternalState(this, { - type: SEEDED_RANDOM_GENERATOR, - seed: seed % 2147483647 - }); -}, SEEDED_RANDOM, function next() { - var state = getInternalState(this); - var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647; - return { value: (seed & 1073741823) / 1073741823, done: false }; -}); - -// `Math.seededPRNG` method -// https://github.com/tc39/proposal-seeded-random -// based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html -$({ target: 'Math', stat: true, forced: true }, { - seededPRNG: function seededPRNG(it) { - var seed = anObject(it).seed; - if (!numberIsFinite(seed)) throw TypeError(SEED_TYPE_ERROR); - return new $SeededRandomGenerator(seed); - } -}); - -},{"../internals/an-object":315,"../internals/create-iterator-constructor":348,"../internals/export":361,"../internals/internal-state":386,"../internals/number-is-finite":411}],737:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.signbit` method -// https://github.com/tc39/proposal-Math.signbit -$({ target: 'Math', stat: true }, { - signbit: function signbit(x) { - return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0; - } -}); - -},{"../internals/export":361}],738:[function(require,module,exports){ -var $ = require('../internals/export'); - -// `Math.umulh` method -// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 -// TODO: Remove from `core-js@4` -$({ target: 'Math', stat: true }, { - umulh: function umulh(u, v) { - var UINT16 = 0xFFFF; - var $u = +u; - var $v = +v; - var u0 = $u & UINT16; - var v0 = $v & UINT16; - var u1 = $u >>> 16; - var v1 = $v >>> 16; - var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); - return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); - } -}); - -},{"../internals/export":361}],739:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var toInteger = require('../internals/to-integer'); -var parseInt = require('../internals/parse-int'); - -var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; -var INVALID_RADIX = 'Invalid radix'; -var valid = /^[\da-z]+$/; - -// `Number.fromString` method -// https://github.com/tc39/proposal-number-fromstring -$({ target: 'Number', stat: true }, { - fromString: function fromString(string, radix) { - var sign = 1; - var R, mathNum; - if (typeof string != 'string') throw TypeError(INVALID_NUMBER_REPRESENTATION); - if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION); - if (string.charAt(0) == '-') { - sign = -1; - string = string.slice(1); - if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION); - } - R = radix === undefined ? 10 : toInteger(radix); - if (R < 2 || R > 36) throw RangeError(INVALID_RADIX); - if (!valid.test(string) || (mathNum = parseInt(string, R)).toString(R) !== string) { - throw SyntaxError(INVALID_NUMBER_REPRESENTATION); - } - return sign * mathNum; - } -}); - -},{"../internals/export":361,"../internals/parse-int":429,"../internals/to-integer":460}],740:[function(require,module,exports){ -'use strict'; -// https://github.com/tc39/proposal-observable -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var setSpecies = require('../internals/set-species'); -var aFunction = require('../internals/a-function'); -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var anInstance = require('../internals/an-instance'); -var defineProperty = require('../internals/object-define-property').f; -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var redefineAll = require('../internals/redefine-all'); -var getIterator = require('../internals/get-iterator'); -var iterate = require('../internals/iterate'); -var hostReportErrors = require('../internals/host-report-errors'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var InternalStateModule = require('../internals/internal-state'); - -var OBSERVABLE = wellKnownSymbol('observable'); -var getInternalState = InternalStateModule.get; -var setInternalState = InternalStateModule.set; - -var getMethod = function (fn) { - return fn == null ? undefined : aFunction(fn); -}; - -var cleanupSubscription = function (subscriptionState) { - var cleanup = subscriptionState.cleanup; - if (cleanup) { - subscriptionState.cleanup = undefined; - try { - cleanup(); - } catch (error) { - hostReportErrors(error); - } - } -}; - -var subscriptionClosed = function (subscriptionState) { - return subscriptionState.observer === undefined; -}; - -var close = function (subscription, subscriptionState) { - if (!DESCRIPTORS) { - subscription.closed = true; - var subscriptionObserver = subscriptionState.subscriptionObserver; - if (subscriptionObserver) subscriptionObserver.closed = true; - } subscriptionState.observer = undefined; -}; - -var Subscription = function (observer, subscriber) { - var subscriptionState = setInternalState(this, { - cleanup: undefined, - observer: anObject(observer), - subscriptionObserver: undefined - }); - var start; - if (!DESCRIPTORS) this.closed = false; - try { - if (start = getMethod(observer.start)) start.call(observer, this); - } catch (error) { - hostReportErrors(error); - } - if (subscriptionClosed(subscriptionState)) return; - var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this); - try { - var cleanup = subscriber(subscriptionObserver); - var subscription = cleanup; - if (cleanup != null) subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function' - ? function () { subscription.unsubscribe(); } - : aFunction(cleanup); - } catch (error) { - subscriptionObserver.error(error); - return; - } if (subscriptionClosed(subscriptionState)) cleanupSubscription(subscriptionState); -}; - -Subscription.prototype = redefineAll({}, { - unsubscribe: function unsubscribe() { - var subscriptionState = getInternalState(this); - if (!subscriptionClosed(subscriptionState)) { - close(this, subscriptionState); - cleanupSubscription(subscriptionState); - } - } -}); - -if (DESCRIPTORS) defineProperty(Subscription.prototype, 'closed', { - configurable: true, - get: function () { - return subscriptionClosed(getInternalState(this)); - } -}); - -var SubscriptionObserver = function (subscription) { - setInternalState(this, { subscription: subscription }); - if (!DESCRIPTORS) this.closed = false; -}; - -SubscriptionObserver.prototype = redefineAll({}, { - next: function next(value) { - var subscriptionState = getInternalState(getInternalState(this).subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - try { - var nextMethod = getMethod(observer.next); - if (nextMethod) nextMethod.call(observer, value); - } catch (error) { - hostReportErrors(error); - } - } - }, - error: function error(value) { - var subscription = getInternalState(this).subscription; - var subscriptionState = getInternalState(subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - close(subscription, subscriptionState); - try { - var errorMethod = getMethod(observer.error); - if (errorMethod) errorMethod.call(observer, value); - else hostReportErrors(value); - } catch (err) { - hostReportErrors(err); - } cleanupSubscription(subscriptionState); - } - }, - complete: function complete() { - var subscription = getInternalState(this).subscription; - var subscriptionState = getInternalState(subscription); - if (!subscriptionClosed(subscriptionState)) { - var observer = subscriptionState.observer; - close(subscription, subscriptionState); - try { - var completeMethod = getMethod(observer.complete); - if (completeMethod) completeMethod.call(observer); - } catch (error) { - hostReportErrors(error); - } cleanupSubscription(subscriptionState); - } - } -}); - -if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', { - configurable: true, - get: function () { - return subscriptionClosed(getInternalState(getInternalState(this).subscription)); - } -}); - -var $Observable = function Observable(subscriber) { - anInstance(this, $Observable, 'Observable'); - setInternalState(this, { subscriber: aFunction(subscriber) }); -}; - -redefineAll($Observable.prototype, { - subscribe: function subscribe(observer) { - var length = arguments.length; - return new Subscription(typeof observer === 'function' ? { - next: observer, - error: length > 1 ? arguments[1] : undefined, - complete: length > 2 ? arguments[2] : undefined - } : isObject(observer) ? observer : {}, getInternalState(this).subscriber); - } -}); - -redefineAll($Observable, { - from: function from(x) { - var C = typeof this === 'function' ? this : $Observable; - var observableMethod = getMethod(anObject(x)[OBSERVABLE]); - if (observableMethod) { - var observable = anObject(observableMethod.call(x)); - return observable.constructor === C ? observable : new C(function (observer) { - return observable.subscribe(observer); - }); - } - var iterator = getIterator(x); - return new C(function (observer) { - iterate(iterator, function (it) { - observer.next(it); - if (observer.closed) return iterate.stop(); - }, undefined, false, true); - observer.complete(); - }); - }, - of: function of() { - var C = typeof this === 'function' ? this : $Observable; - var length = arguments.length; - var items = new Array(length); - var index = 0; - while (index < length) items[index] = arguments[index++]; - return new C(function (observer) { - for (var i = 0; i < length; i++) { - observer.next(items[i]); - if (observer.closed) return; - } observer.complete(); - }); - } -}); - -createNonEnumerableProperty($Observable.prototype, OBSERVABLE, function () { return this; }); - -$({ global: true }, { - Observable: $Observable -}); - -setSpecies('Observable'); - -},{"../internals/a-function":310,"../internals/an-instance":314,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/export":361,"../internals/get-iterator":374,"../internals/host-report-errors":380,"../internals/internal-state":386,"../internals/is-object":392,"../internals/iterate":395,"../internals/object-define-property":415,"../internals/redefine-all":434,"../internals/set-species":444,"../internals/well-known-symbol":473}],741:[function(require,module,exports){ -// TODO: Remove from `core-js@4` -require('./es.promise.all-settled.js'); - -},{"./es.promise.all-settled.js":577}],742:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var aFunction = require('../internals/a-function'); -var getBuiltIn = require('../internals/get-built-in'); -var newPromiseCapabilityModule = require('../internals/new-promise-capability'); -var perform = require('../internals/perform'); -var iterate = require('../internals/iterate'); - -var PROMISE_ANY_ERROR = 'No one promise resolved'; - -// `Promise.any` method -// https://github.com/tc39/proposal-promise-any -$({ target: 'Promise', stat: true }, { - any: function any(iterable) { - var C = this; - var capability = newPromiseCapabilityModule.f(C); - var resolve = capability.resolve; - var reject = capability.reject; - var result = perform(function () { - var promiseResolve = aFunction(C.resolve); - var errors = []; - var counter = 0; - var remaining = 1; - var alreadyResolved = false; - iterate(iterable, function (promise) { - var index = counter++; - var alreadyRejected = false; - errors.push(undefined); - remaining++; - promiseResolve.call(C, promise).then(function (value) { - if (alreadyRejected || alreadyResolved) return; - alreadyResolved = true; - resolve(value); - }, function (e) { - if (alreadyRejected || alreadyResolved) return; - alreadyRejected = true; - errors[index] = e; - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - }); - --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); - }); - if (result.error) reject(result.value); - return capability.promise; - } -}); - -},{"../internals/a-function":310,"../internals/export":361,"../internals/get-built-in":372,"../internals/iterate":395,"../internals/new-promise-capability":409,"../internals/perform":431}],743:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var newPromiseCapabilityModule = require('../internals/new-promise-capability'); -var perform = require('../internals/perform'); - -// `Promise.try` method -// https://github.com/tc39/proposal-promise-try -$({ target: 'Promise', stat: true }, { - 'try': function (callbackfn) { - var promiseCapability = newPromiseCapabilityModule.f(this); - var result = perform(callbackfn); - (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); - return promiseCapability.promise; - } -}); - -},{"../internals/export":361,"../internals/new-promise-capability":409,"../internals/perform":431}],744:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var toMetadataKey = ReflectMetadataModule.toKey; -var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; - -// `Reflect.defineMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) { - var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]); - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],745:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var toMetadataKey = ReflectMetadataModule.toKey; -var getOrCreateMetadataMap = ReflectMetadataModule.getMap; -var store = ReflectMetadataModule.store; - -// `Reflect.deleteMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); - var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); - if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; - if (metadataMap.size) return true; - var targetMetadata = store.get(target); - targetMetadata['delete'](targetKey); - return !!targetMetadata.size || store['delete'](target); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],746:[function(require,module,exports){ -var $ = require('../internals/export'); -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -var Set = require('../modules/es.set'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); -var iterate = require('../internals/iterate'); - -var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; -var toMetadataKey = ReflectMetadataModule.toKey; - -var from = function (iter) { - var result = []; - iterate(iter, result.push, result); - return result; -}; - -var ordinaryMetadataKeys = function (O, P) { - var oKeys = ordinaryOwnMetadataKeys(O, P); - var parent = getPrototypeOf(O); - if (parent === null) return oKeys; - var pKeys = ordinaryMetadataKeys(parent, P); - return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; -}; - -// `Reflect.getMetadataKeys` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { - var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); - return ordinaryMetadataKeys(anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436,"../modules/es.set":597}],747:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); - -var ordinaryHasOwnMetadata = ReflectMetadataModule.has; -var ordinaryGetOwnMetadata = ReflectMetadataModule.get; -var toMetadataKey = ReflectMetadataModule.toKey; - -var ordinaryGetMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; -}; - -// `Reflect.getMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); - return ordinaryGetMetadata(metadataKey, anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436}],748:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; -var toMetadataKey = ReflectMetadataModule.toKey; - -// `Reflect.getOwnMetadataKeys` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { - var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); - return ordinaryOwnMetadataKeys(anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],749:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var ordinaryGetOwnMetadata = ReflectMetadataModule.get; -var toMetadataKey = ReflectMetadataModule.toKey; - -// `Reflect.getOwnMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); - return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],750:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); -var getPrototypeOf = require('../internals/object-get-prototype-of'); - -var ordinaryHasOwnMetadata = ReflectMetadataModule.has; -var toMetadataKey = ReflectMetadataModule.toKey; - -var ordinaryHasMetadata = function (MetadataKey, O, P) { - var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn) return true; - var parent = getPrototypeOf(O); - return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; -}; - -// `Reflect.hasMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); - return ordinaryHasMetadata(metadataKey, anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436}],751:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var ordinaryHasOwnMetadata = ReflectMetadataModule.has; -var toMetadataKey = ReflectMetadataModule.toKey; - -// `Reflect.hasOwnMetadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { - var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); - return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],752:[function(require,module,exports){ -var $ = require('../internals/export'); -var ReflectMetadataModule = require('../internals/reflect-metadata'); -var anObject = require('../internals/an-object'); - -var toMetadataKey = ReflectMetadataModule.toKey; -var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; - -// `Reflect.metadata` method -// https://github.com/rbuckton/reflect-metadata -$({ target: 'Reflect', stat: true }, { - metadata: function metadata(metadataKey, metadataValue) { - return function decorator(target, key) { - ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key)); - }; - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],753:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionAddAll = require('../internals/collection-add-all'); - -// `Set.prototype.addAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - addAll: function addAll(/* ...elements */) { - return collectionAddAll.apply(this, arguments); - } -}); - -},{"../internals/collection-add-all":335,"../internals/export":361,"../internals/is-pure":393}],754:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionDeleteAll = require('../internals/collection-delete-all'); - -// `Set.prototype.deleteAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } -}); - -},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],755:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var speciesConstructor = require('../internals/species-constructor'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.difference` method -// https://github.com/tc39/proposal-set-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - difference: function difference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aFunction(newSet['delete']); - iterate(iterable, function (value) { - remover.call(newSet, value); - }); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],756:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.every` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - every: function every(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return !iterate(iterator, function (value) { - if (!boundFunction(value, value, set)) return iterate.stop(); - }, undefined, false, true).stopped; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],757:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var speciesConstructor = require('../internals/species-constructor'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.filter` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - filter: function filter(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aFunction(newSet.add); - iterate(iterator, function (value) { - if (boundFunction(value, value, set)) adder.call(newSet, value); - }, undefined, false, true); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],758:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.find` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - find: function find(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate(iterator, function (value) { - if (boundFunction(value, value, set)) return iterate.stop(value); - }, undefined, false, true).result; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],759:[function(require,module,exports){ -var $ = require('../internals/export'); -var from = require('../internals/collection-from'); - -// `Set.from` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from -$({ target: 'Set', stat: true }, { - from: from -}); - -},{"../internals/collection-from":337,"../internals/export":361}],760:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var speciesConstructor = require('../internals/species-constructor'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.intersection` method -// https://github.com/tc39/proposal-set-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - intersection: function intersection(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var hasCheck = aFunction(set.has); - var adder = aFunction(newSet.add); - iterate(iterable, function (value) { - if (hasCheck.call(set, value)) adder.call(newSet, value); - }); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],761:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.isDisjointFrom` method -// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - isDisjointFrom: function isDisjointFrom(iterable) { - var set = anObject(this); - var hasCheck = aFunction(set.has); - return !iterate(iterable, function (value) { - if (hasCheck.call(set, value) === true) return iterate.stop(); - }).stopped; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],762:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var getIterator = require('../internals/get-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.isSubsetOf` method -// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - isSubsetOf: function isSubsetOf(iterable) { - var iterator = getIterator(this); - var otherSet = anObject(iterable); - var hasCheck = otherSet.has; - if (typeof hasCheck != 'function') { - otherSet = new (getBuiltIn('Set'))(iterable); - hasCheck = aFunction(otherSet.has); - } - return !iterate(iterator, function (value) { - if (hasCheck.call(otherSet, value) === false) return iterate.stop(); - }, undefined, false, true).stopped; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-iterator":374,"../internals/is-pure":393,"../internals/iterate":395}],763:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.isSupersetOf` method -// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - isSupersetOf: function isSupersetOf(iterable) { - var set = anObject(this); - var hasCheck = aFunction(set.has); - return !iterate(iterable, function (value) { - if (hasCheck.call(set, value) === false) return iterate.stop(); - }).stopped; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],764:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.join` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - join: function join(separator) { - var set = anObject(this); - var iterator = getSetIterator(set); - var sep = separator === undefined ? ',' : String(separator); - var result = []; - iterate(iterator, result.push, result, false, true); - return result.join(sep); - } -}); - -},{"../internals/an-object":315,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],765:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var bind = require('../internals/bind-context'); -var speciesConstructor = require('../internals/species-constructor'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.map` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - map: function map(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); - var adder = aFunction(newSet.add); - iterate(iterator, function (value) { - adder.call(newSet, boundFunction(value, value, set)); - }, undefined, false, true); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],766:[function(require,module,exports){ -var $ = require('../internals/export'); -var of = require('../internals/collection-of'); - -// `Set.of` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of -$({ target: 'Set', stat: true }, { - of: of -}); - -},{"../internals/collection-of":338,"../internals/export":361}],767:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.reduce` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - reduce: function reduce(callbackfn /* , initialValue */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var noInitial = arguments.length < 2; - var accumulator = noInitial ? undefined : arguments[1]; - aFunction(callbackfn); - iterate(iterator, function (value) { - if (noInitial) { - noInitial = false; - accumulator = value; - } else { - accumulator = callbackfn(accumulator, value, value, set); - } - }, undefined, false, true); - if (noInitial) throw TypeError('Reduce of empty set with no initial value'); - return accumulator; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],768:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var anObject = require('../internals/an-object'); -var bind = require('../internals/bind-context'); -var getSetIterator = require('../internals/get-set-iterator'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.some` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - some: function some(callbackfn /* , thisArg */) { - var set = anObject(this); - var iterator = getSetIterator(set); - var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); - return iterate(iterator, function (value) { - if (boundFunction(value, value, set)) return iterate.stop(); - }, undefined, false, true).stopped; - } -}); - -},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],769:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var speciesConstructor = require('../internals/species-constructor'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.symmetricDifference` method -// https://github.com/tc39/proposal-set-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - symmetricDifference: function symmetricDifference(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - var remover = aFunction(newSet['delete']); - var adder = aFunction(newSet.add); - iterate(iterable, function (value) { - remover.call(newSet, value) || adder.call(newSet, value); - }); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],770:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var getBuiltIn = require('../internals/get-built-in'); -var anObject = require('../internals/an-object'); -var aFunction = require('../internals/a-function'); -var speciesConstructor = require('../internals/species-constructor'); -var iterate = require('../internals/iterate'); - -// `Set.prototype.union` method -// https://github.com/tc39/proposal-set-methods -$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { - union: function union(iterable) { - var set = anObject(this); - var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); - iterate(iterable, aFunction(newSet.add), newSet); - return newSet; - } -}); - -},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],771:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var charAt = require('../internals/string-multibyte').charAt; - -// `String.prototype.at` method -// https://github.com/mathiasbynens/String.prototype.at -$({ target: 'String', proto: true }, { - at: function at(pos) { - return charAt(this, pos); - } -}); - -},{"../internals/export":361,"../internals/string-multibyte":451}],772:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var createIteratorConstructor = require('../internals/create-iterator-constructor'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var InternalStateModule = require('../internals/internal-state'); -var StringMultibyteModule = require('../internals/string-multibyte'); - -var codeAt = StringMultibyteModule.codeAt; -var charAt = StringMultibyteModule.charAt; -var STRING_ITERATOR = 'String Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); - -// TODO: unify with String#@@iterator -var $StringIterator = createIteratorConstructor(function StringIterator(string) { - setInternalState(this, { - type: STRING_ITERATOR, - string: string, - index: 0 - }); -}, 'String', function next() { - var state = getInternalState(this); - var string = state.string; - var index = state.index; - var point; - if (index >= string.length) return { value: undefined, done: true }; - point = charAt(string, index); - state.index += point.length; - return { value: { codePoint: codeAt(point, 0), position: index }, done: false }; -}); - -// `String.prototype.codePoints` method -// https://github.com/tc39/proposal-string-prototype-codepoints -$({ target: 'String', proto: true }, { - codePoints: function codePoints() { - return new $StringIterator(String(requireObjectCoercible(this))); - } -}); - -},{"../internals/create-iterator-constructor":348,"../internals/export":361,"../internals/internal-state":386,"../internals/require-object-coercible":440,"../internals/string-multibyte":451}],773:[function(require,module,exports){ -// TODO: Remove from `core-js@4` -require('./es.string.match-all'); - -},{"./es.string.match-all":612}],774:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var requireObjectCoercible = require('../internals/require-object-coercible'); -var isRegExp = require('../internals/is-regexp'); -var getRegExpFlags = require('../internals/regexp-flags'); -var wellKnownSymbol = require('../internals/well-known-symbol'); -var IS_PURE = require('../internals/is-pure'); - -var REPLACE = wellKnownSymbol('replace'); -var RegExpPrototype = RegExp.prototype; - -// `String.prototype.replaceAll` method -// https://github.com/tc39/proposal-string-replace-all -$({ target: 'String', proto: true }, { - replaceAll: function replaceAll(searchValue, replaceValue) { - var O = requireObjectCoercible(this); - var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index; - if (searchValue != null) { - IS_REG_EXP = isRegExp(searchValue); - if (IS_REG_EXP) { - flags = String(requireObjectCoercible('flags' in RegExpPrototype - ? searchValue.flags - : getRegExpFlags.call(searchValue) - )); - if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); - } - replacer = searchValue[REPLACE]; - if (replacer !== undefined) { - return replacer.call(searchValue, O, replaceValue); - } else if (IS_PURE && IS_REG_EXP) { - return String(O).replace(searchValue, replaceValue); - } - } - string = String(O); - searchString = String(searchValue); - if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue); - template = string.split(searchString); - if (typeof replaceValue !== 'function') { - return template.join(String(replaceValue)); - } - result = template[0]; - position = result.length; - for (index = 1; index < template.length; index++) { - result += String(replaceValue(searchString, position, string)); - position += searchString.length + template[index].length; - result += template[index]; - } - return result; - } -}); - -},{"../internals/export":361,"../internals/is-pure":393,"../internals/is-regexp":394,"../internals/regexp-flags":439,"../internals/require-object-coercible":440,"../internals/well-known-symbol":473}],775:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.asyncDispose` well-known symbol -// https://github.com/tc39/proposal-using-statement -defineWellKnownSymbol('asyncDispose'); - -},{"../internals/define-well-known-symbol":356}],776:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.dispose` well-known symbol -// https://github.com/tc39/proposal-using-statement -defineWellKnownSymbol('dispose'); - -},{"../internals/define-well-known-symbol":356}],777:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.observable` well-known symbol -// https://github.com/tc39/proposal-observable -defineWellKnownSymbol('observable'); - -},{"../internals/define-well-known-symbol":356}],778:[function(require,module,exports){ -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -// `Symbol.patternMatch` well-known symbol -// https://github.com/tc39/proposal-pattern-matching -defineWellKnownSymbol('patternMatch'); - -},{"../internals/define-well-known-symbol":356}],779:[function(require,module,exports){ -// TODO: remove from `core-js@4` -var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); - -defineWellKnownSymbol('replaceAll'); - -},{"../internals/define-well-known-symbol":356}],780:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionDeleteAll = require('../internals/collection-delete-all'); - -// `WeakMap.prototype.deleteAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } -}); - -},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],781:[function(require,module,exports){ -var $ = require('../internals/export'); -var from = require('../internals/collection-from'); - -// `WeakMap.from` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from -$({ target: 'WeakMap', stat: true }, { - from: from -}); - -},{"../internals/collection-from":337,"../internals/export":361}],782:[function(require,module,exports){ -var $ = require('../internals/export'); -var of = require('../internals/collection-of'); - -// `WeakMap.of` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of -$({ target: 'WeakMap', stat: true }, { - of: of -}); - -},{"../internals/collection-of":338,"../internals/export":361}],783:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var $upsert = require('../internals/map-upsert'); - -// `WeakMap.prototype.upsert` method -// https://github.com/thumbsupep/proposal-upsert -$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, { - upsert: $upsert -}); - -},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],784:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionAddAll = require('../internals/collection-add-all'); - -// `WeakSet.prototype.addAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'WeakSet', proto: true, real: true, forced: IS_PURE }, { - addAll: function addAll(/* ...elements */) { - return collectionAddAll.apply(this, arguments); - } -}); - -},{"../internals/collection-add-all":335,"../internals/export":361,"../internals/is-pure":393}],785:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); -var IS_PURE = require('../internals/is-pure'); -var collectionDeleteAll = require('../internals/collection-delete-all'); - -// `WeakSet.prototype.deleteAll` method -// https://github.com/tc39/proposal-collection-methods -$({ target: 'WeakSet', proto: true, real: true, forced: IS_PURE }, { - deleteAll: function deleteAll(/* ...elements */) { - return collectionDeleteAll.apply(this, arguments); - } -}); - -},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],786:[function(require,module,exports){ -var $ = require('../internals/export'); -var from = require('../internals/collection-from'); - -// `WeakSet.from` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from -$({ target: 'WeakSet', stat: true }, { - from: from -}); - -},{"../internals/collection-from":337,"../internals/export":361}],787:[function(require,module,exports){ -var $ = require('../internals/export'); -var of = require('../internals/collection-of'); - -// `WeakSet.of` method -// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of -$({ target: 'WeakSet', stat: true }, { - of: of -}); - -},{"../internals/collection-of":338,"../internals/export":361}],788:[function(require,module,exports){ -var global = require('../internals/global'); -var DOMIterables = require('../internals/dom-iterables'); -var forEach = require('../internals/array-for-each'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { - createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); - } catch (error) { - CollectionPrototype.forEach = forEach; - } -} - -},{"../internals/array-for-each":320,"../internals/create-non-enumerable-property":350,"../internals/dom-iterables":359,"../internals/global":377}],789:[function(require,module,exports){ -var global = require('../internals/global'); -var DOMIterables = require('../internals/dom-iterables'); -var ArrayIteratorMethods = require('../modules/es.array.iterator'); -var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var ITERATOR = wellKnownSymbol('iterator'); -var TO_STRING_TAG = wellKnownSymbol('toStringTag'); -var ArrayValues = ArrayIteratorMethods.values; - -for (var COLLECTION_NAME in DOMIterables) { - var Collection = global[COLLECTION_NAME]; - var CollectionPrototype = Collection && Collection.prototype; - if (CollectionPrototype) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[ITERATOR] !== ArrayValues) try { - createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); - } catch (error) { - CollectionPrototype[ITERATOR] = ArrayValues; - } - if (!CollectionPrototype[TO_STRING_TAG]) { - createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); - } - if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { - // some Chrome versions have non-configurable methods on DOMTokenList - if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { - createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); - } catch (error) { - CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; - } - } - } -} - -},{"../internals/create-non-enumerable-property":350,"../internals/dom-iterables":359,"../internals/global":377,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],790:[function(require,module,exports){ -var global = require('../internals/global'); -var task = require('../internals/task'); - -var FORCED = !global.setImmediate || !global.clearImmediate; - -// http://w3c.github.io/setImmediate/ -require('../internals/export')({ global: true, bind: true, enumerable: true, forced: FORCED }, { - // `setImmediate` method - // http://w3c.github.io/setImmediate/#si-setImmediate - setImmediate: task.set, - // `clearImmediate` method - // http://w3c.github.io/setImmediate/#si-clearImmediate - clearImmediate: task.clear -}); - -},{"../internals/export":361,"../internals/global":377,"../internals/task":455}],791:[function(require,module,exports){ -var $ = require('../internals/export'); -var global = require('../internals/global'); -var microtask = require('../internals/microtask'); -var classof = require('../internals/classof-raw'); - -var process = global.process; -var isNode = classof(process) == 'process'; - -// `queueMicrotask` method -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask -$({ global: true, enumerable: true, noTargetGet: true }, { - queueMicrotask: function queueMicrotask(fn) { - var domain = isNode && process.domain; - microtask(domain ? domain.bind(fn) : fn); - } -}); - -},{"../internals/classof-raw":333,"../internals/export":361,"../internals/global":377,"../internals/microtask":404}],792:[function(require,module,exports){ -var $ = require('../internals/export'); -var global = require('../internals/global'); -var userAgent = require('../internals/user-agent'); - -var slice = [].slice; -var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check - -var wrap = function (scheduler) { - return function (handler, timeout /* , ...arguments */) { - var boundArgs = arguments.length > 2; - var args = boundArgs ? slice.call(arguments, 2) : undefined; - return scheduler(boundArgs ? function () { - // eslint-disable-next-line no-new-func - (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); - } : handler, timeout); - }; -}; - -// ie9- setTimeout & setInterval additional parameters fix -// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers -$({ global: true, bind: true, forced: MSIE }, { - // `setTimeout` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout - setTimeout: wrap(global.setTimeout), - // `setInterval` method - // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval - setInterval: wrap(global.setInterval) -}); - -},{"../internals/export":361,"../internals/global":377,"../internals/user-agent":470}],793:[function(require,module,exports){ -'use strict'; -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -require('../modules/es.array.iterator'); -var $ = require('../internals/export'); -var getBuiltIn = require('../internals/get-built-in'); -var USE_NATIVE_URL = require('../internals/native-url'); -var redefine = require('../internals/redefine'); -var redefineAll = require('../internals/redefine-all'); -var setToStringTag = require('../internals/set-to-string-tag'); -var createIteratorConstructor = require('../internals/create-iterator-constructor'); -var InternalStateModule = require('../internals/internal-state'); -var anInstance = require('../internals/an-instance'); -var hasOwn = require('../internals/has'); -var bind = require('../internals/bind-context'); -var classof = require('../internals/classof'); -var anObject = require('../internals/an-object'); -var isObject = require('../internals/is-object'); -var create = require('../internals/object-create'); -var createPropertyDescriptor = require('../internals/create-property-descriptor'); -var getIterator = require('../internals/get-iterator'); -var getIteratorMethod = require('../internals/get-iterator-method'); -var wellKnownSymbol = require('../internals/well-known-symbol'); - -var $fetch = getBuiltIn('fetch'); -var Headers = getBuiltIn('Headers'); -var ITERATOR = wellKnownSymbol('iterator'); -var URL_SEARCH_PARAMS = 'URLSearchParams'; -var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; -var setInternalState = InternalStateModule.set; -var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); -var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); - -var plus = /\+/g; -var sequences = Array(4); - -var percentSequence = function (bytes) { - return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); -}; - -var percentDecode = function (sequence) { - try { - return decodeURIComponent(sequence); - } catch (error) { - return sequence; - } -}; - -var deserialize = function (it) { - var result = it.replace(plus, ' '); - var bytes = 4; - try { - return decodeURIComponent(result); - } catch (error) { - while (bytes) { - result = result.replace(percentSequence(bytes--), percentDecode); - } - return result; - } -}; - -var find = /[!'()~]|%20/g; - -var replace = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+' -}; - -var replacer = function (match) { - return replace[match]; -}; - -var serialize = function (it) { - return encodeURIComponent(it).replace(find, replacer); -}; - -var parseSearchParams = function (result, query) { - if (query) { - var attributes = query.split('&'); - var index = 0; - var attribute, entry; - while (index < attributes.length) { - attribute = attributes[index++]; - if (attribute.length) { - entry = attribute.split('='); - result.push({ - key: deserialize(entry.shift()), - value: deserialize(entry.join('=')) - }); - } - } - } -}; - -var updateSearchParams = function (query) { - this.entries.length = 0; - parseSearchParams(this.entries, query); -}; - -var validateArgumentsLength = function (passed, required) { - if (passed < required) throw TypeError('Not enough arguments'); -}; - -var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { - setInternalState(this, { - type: URL_SEARCH_PARAMS_ITERATOR, - iterator: getIterator(getInternalParamsState(params).entries), - kind: kind - }); -}, 'Iterator', function next() { - var state = getInternalIteratorState(this); - var kind = state.kind; - var step = state.iterator.next(); - var entry = step.value; - if (!step.done) { - step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; - } return step; -}); - -// `URLSearchParams` constructor -// https://url.spec.whatwg.org/#interface-urlsearchparams -var URLSearchParamsConstructor = function URLSearchParams(/* init */) { - anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); - var init = arguments.length > 0 ? arguments[0] : undefined; - var that = this; - var entries = []; - var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; - - setInternalState(that, { - type: URL_SEARCH_PARAMS, - entries: entries, - updateURL: function () { /* empty */ }, - updateSearchParams: updateSearchParams - }); - - if (init !== undefined) { - if (isObject(init)) { - iteratorMethod = getIteratorMethod(init); - if (typeof iteratorMethod === 'function') { - iterator = iteratorMethod.call(init); - next = iterator.next; - while (!(step = next.call(iterator)).done) { - entryIterator = getIterator(anObject(step.value)); - entryNext = entryIterator.next; - if ( - (first = entryNext.call(entryIterator)).done || - (second = entryNext.call(entryIterator)).done || - !entryNext.call(entryIterator).done - ) throw TypeError('Expected sequence with length 2'); - entries.push({ key: first.value + '', value: second.value + '' }); - } - } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); - } else { - parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); - } - } -}; - -var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; - -redefineAll(URLSearchParamsPrototype, { - // `URLSearchParams.prototype.appent` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-append - append: function append(name, value) { - validateArgumentsLength(arguments.length, 2); - var state = getInternalParamsState(this); - state.entries.push({ key: name + '', value: value + '' }); - state.updateURL(); - }, - // `URLSearchParams.prototype.delete` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-delete - 'delete': function (name) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index].key === key) entries.splice(index, 1); - else index++; - } - state.updateURL(); - }, - // `URLSearchParams.prototype.get` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-get - get: function get(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) return entries[index].value; - } - return null; - }, - // `URLSearchParams.prototype.getAll` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-getall - getAll: function getAll(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var result = []; - var index = 0; - for (; index < entries.length; index++) { - if (entries[index].key === key) result.push(entries[index].value); - } - return result; - }, - // `URLSearchParams.prototype.has` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-has - has: function has(name) { - validateArgumentsLength(arguments.length, 1); - var entries = getInternalParamsState(this).entries; - var key = name + ''; - var index = 0; - while (index < entries.length) { - if (entries[index++].key === key) return true; - } - return false; - }, - // `URLSearchParams.prototype.set` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-set - set: function set(name, value) { - validateArgumentsLength(arguments.length, 1); - var state = getInternalParamsState(this); - var entries = state.entries; - var found = false; - var key = name + ''; - var val = value + ''; - var index = 0; - var entry; - for (; index < entries.length; index++) { - entry = entries[index]; - if (entry.key === key) { - if (found) entries.splice(index--, 1); - else { - found = true; - entry.value = val; - } - } - } - if (!found) entries.push({ key: key, value: val }); - state.updateURL(); - }, - // `URLSearchParams.prototype.sort` method - // https://url.spec.whatwg.org/#dom-urlsearchparams-sort - sort: function sort() { - var state = getInternalParamsState(this); - var entries = state.entries; - // Array#sort is not stable in some engines - var slice = entries.slice(); - var entry, entriesIndex, sliceIndex; - entries.length = 0; - for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { - entry = slice[sliceIndex]; - for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { - if (entries[entriesIndex].key > entry.key) { - entries.splice(entriesIndex, 0, entry); - break; - } - } - if (entriesIndex === sliceIndex) entries.push(entry); - } - state.updateURL(); - }, - // `URLSearchParams.prototype.forEach` method - forEach: function forEach(callback /* , thisArg */) { - var entries = getInternalParamsState(this).entries; - var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - boundFunction(entry.value, entry.key, this); - } - }, - // `URLSearchParams.prototype.keys` method - keys: function keys() { - return new URLSearchParamsIterator(this, 'keys'); - }, - // `URLSearchParams.prototype.values` method - values: function values() { - return new URLSearchParamsIterator(this, 'values'); - }, - // `URLSearchParams.prototype.entries` method - entries: function entries() { - return new URLSearchParamsIterator(this, 'entries'); - } -}, { enumerable: true }); - -// `URLSearchParams.prototype[@@iterator]` method -redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); - -// `URLSearchParams.prototype.toString` method -// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior -redefine(URLSearchParamsPrototype, 'toString', function toString() { - var entries = getInternalParamsState(this).entries; - var result = []; - var index = 0; - var entry; - while (index < entries.length) { - entry = entries[index++]; - result.push(serialize(entry.key) + '=' + serialize(entry.value)); - } return result.join('&'); -}, { enumerable: true }); - -setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); - -$({ global: true, forced: !USE_NATIVE_URL }, { - URLSearchParams: URLSearchParamsConstructor -}); - -// Wrap `fetch` for correct work with polyfilled `URLSearchParams` -// https://github.com/zloirock/core-js/issues/674 -if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { - $({ global: true, enumerable: true, forced: true }, { - fetch: function fetch(input /* , init */) { - var args = [input]; - var init, body, headers; - if (arguments.length > 1) { - init = arguments[1]; - if (isObject(init)) { - body = init.body; - if (classof(body) === URL_SEARCH_PARAMS) { - headers = init.headers ? new Headers(init.headers) : new Headers(); - if (!headers.has('content-type')) { - headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); - } - init = create(init, { - body: createPropertyDescriptor(0, String(body)), - headers: createPropertyDescriptor(0, headers) - }); - } - } - args.push(init); - } return $fetch.apply(this, args); - } - }); -} - -module.exports = { - URLSearchParams: URLSearchParamsConstructor, - getState: getInternalParamsState -}; - -},{"../internals/an-instance":314,"../internals/an-object":315,"../internals/bind-context":330,"../internals/classof":334,"../internals/create-iterator-constructor":348,"../internals/create-property-descriptor":351,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-iterator":374,"../internals/get-iterator-method":373,"../internals/has":378,"../internals/internal-state":386,"../internals/is-object":392,"../internals/native-url":407,"../internals/object-create":413,"../internals/redefine":435,"../internals/redefine-all":434,"../internals/set-to-string-tag":445,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],794:[function(require,module,exports){ -'use strict'; -// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` -require('../modules/es.string.iterator'); -var $ = require('../internals/export'); -var DESCRIPTORS = require('../internals/descriptors'); -var USE_NATIVE_URL = require('../internals/native-url'); -var global = require('../internals/global'); -var defineProperties = require('../internals/object-define-properties'); -var redefine = require('../internals/redefine'); -var anInstance = require('../internals/an-instance'); -var has = require('../internals/has'); -var assign = require('../internals/object-assign'); -var arrayFrom = require('../internals/array-from'); -var codeAt = require('../internals/string-multibyte').codeAt; -var toASCII = require('../internals/punycode-to-ascii'); -var setToStringTag = require('../internals/set-to-string-tag'); -var URLSearchParamsModule = require('../modules/web.url-search-params'); -var InternalStateModule = require('../internals/internal-state'); - -var NativeURL = global.URL; -var URLSearchParams = URLSearchParamsModule.URLSearchParams; -var getInternalSearchParamsState = URLSearchParamsModule.getState; -var setInternalState = InternalStateModule.set; -var getInternalURLState = InternalStateModule.getterFor('URL'); -var floor = Math.floor; -var pow = Math.pow; - -var INVALID_AUTHORITY = 'Invalid authority'; -var INVALID_SCHEME = 'Invalid scheme'; -var INVALID_HOST = 'Invalid host'; -var INVALID_PORT = 'Invalid port'; - -var ALPHA = /[A-Za-z]/; -var ALPHANUMERIC = /[\d+\-.A-Za-z]/; -var DIGIT = /\d/; -var HEX_START = /^(0x|0X)/; -var OCT = /^[0-7]+$/; -var DEC = /^\d+$/; -var HEX = /^[\dA-Fa-f]+$/; -// eslint-disable-next-line no-control-regex -var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; -// eslint-disable-next-line no-control-regex -var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; -// eslint-disable-next-line no-control-regex -var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; -// eslint-disable-next-line no-control-regex -var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; -var EOF; - -var parseHost = function (url, input) { - var result, codePoints, index; - if (input.charAt(0) == '[') { - if (input.charAt(input.length - 1) != ']') return INVALID_HOST; - result = parseIPv6(input.slice(1, -1)); - if (!result) return INVALID_HOST; - url.host = result; - // opaque host - } else if (!isSpecial(url)) { - if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; - result = ''; - codePoints = arrayFrom(input); - for (index = 0; index < codePoints.length; index++) { - result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); - } - url.host = result; - } else { - input = toASCII(input); - if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; - result = parseIPv4(input); - if (result === null) return INVALID_HOST; - url.host = result; - } -}; - -var parseIPv4 = function (input) { - var parts = input.split('.'); - var partsLength, numbers, index, part, radix, number, ipv4; - if (parts.length && parts[parts.length - 1] == '') { - parts.pop(); - } - partsLength = parts.length; - if (partsLength > 4) return input; - numbers = []; - for (index = 0; index < partsLength; index++) { - part = parts[index]; - if (part == '') return input; - radix = 10; - if (part.length > 1 && part.charAt(0) == '0') { - radix = HEX_START.test(part) ? 16 : 8; - part = part.slice(radix == 8 ? 1 : 2); - } - if (part === '') { - number = 0; - } else { - if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; - number = parseInt(part, radix); - } - numbers.push(number); - } - for (index = 0; index < partsLength; index++) { - number = numbers[index]; - if (index == partsLength - 1) { - if (number >= pow(256, 5 - partsLength)) return null; - } else if (number > 255) return null; - } - ipv4 = numbers.pop(); - for (index = 0; index < numbers.length; index++) { - ipv4 += numbers[index] * pow(256, 3 - index); - } - return ipv4; -}; - -// eslint-disable-next-line max-statements -var parseIPv6 = function (input) { - var address = [0, 0, 0, 0, 0, 0, 0, 0]; - var pieceIndex = 0; - var compress = null; - var pointer = 0; - var value, length, numbersSeen, ipv4Piece, number, swaps, swap; - - var char = function () { - return input.charAt(pointer); - }; - - if (char() == ':') { - if (input.charAt(1) != ':') return; - pointer += 2; - pieceIndex++; - compress = pieceIndex; - } - while (char()) { - if (pieceIndex == 8) return; - if (char() == ':') { - if (compress !== null) return; - pointer++; - pieceIndex++; - compress = pieceIndex; - continue; - } - value = length = 0; - while (length < 4 && HEX.test(char())) { - value = value * 16 + parseInt(char(), 16); - pointer++; - length++; - } - if (char() == '.') { - if (length == 0) return; - pointer -= length; - if (pieceIndex > 6) return; - numbersSeen = 0; - while (char()) { - ipv4Piece = null; - if (numbersSeen > 0) { - if (char() == '.' && numbersSeen < 4) pointer++; - else return; - } - if (!DIGIT.test(char())) return; - while (DIGIT.test(char())) { - number = parseInt(char(), 10); - if (ipv4Piece === null) ipv4Piece = number; - else if (ipv4Piece == 0) return; - else ipv4Piece = ipv4Piece * 10 + number; - if (ipv4Piece > 255) return; - pointer++; - } - address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; - numbersSeen++; - if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; - } - if (numbersSeen != 4) return; - break; - } else if (char() == ':') { - pointer++; - if (!char()) return; - } else if (char()) return; - address[pieceIndex++] = value; - } - if (compress !== null) { - swaps = pieceIndex - compress; - pieceIndex = 7; - while (pieceIndex != 0 && swaps > 0) { - swap = address[pieceIndex]; - address[pieceIndex--] = address[compress + swaps - 1]; - address[compress + --swaps] = swap; - } - } else if (pieceIndex != 8) return; - return address; -}; - -var findLongestZeroSequence = function (ipv6) { - var maxIndex = null; - var maxLength = 1; - var currStart = null; - var currLength = 0; - var index = 0; - for (; index < 8; index++) { - if (ipv6[index] !== 0) { - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - currStart = null; - currLength = 0; - } else { - if (currStart === null) currStart = index; - ++currLength; - } - } - if (currLength > maxLength) { - maxIndex = currStart; - maxLength = currLength; - } - return maxIndex; -}; - -var serializeHost = function (host) { - var result, index, compress, ignore0; - // ipv4 - if (typeof host == 'number') { - result = []; - for (index = 0; index < 4; index++) { - result.unshift(host % 256); - host = floor(host / 256); - } return result.join('.'); - // ipv6 - } else if (typeof host == 'object') { - result = ''; - compress = findLongestZeroSequence(host); - for (index = 0; index < 8; index++) { - if (ignore0 && host[index] === 0) continue; - if (ignore0) ignore0 = false; - if (compress === index) { - result += index ? ':' : '::'; - ignore0 = true; - } else { - result += host[index].toString(16); - if (index < 7) result += ':'; - } - } - return '[' + result + ']'; - } return host; -}; - -var C0ControlPercentEncodeSet = {}; -var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { - ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 -}); -var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { - '#': 1, '?': 1, '{': 1, '}': 1 -}); -var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { - '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 -}); - -var percentEncode = function (char, set) { - var code = codeAt(char, 0); - return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); -}; - -var specialSchemes = { - ftp: 21, - file: null, - http: 80, - https: 443, - ws: 80, - wss: 443 -}; - -var isSpecial = function (url) { - return has(specialSchemes, url.scheme); -}; - -var includesCredentials = function (url) { - return url.username != '' || url.password != ''; -}; - -var cannotHaveUsernamePasswordPort = function (url) { - return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; -}; - -var isWindowsDriveLetter = function (string, normalized) { - var second; - return string.length == 2 && ALPHA.test(string.charAt(0)) - && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); -}; - -var startsWithWindowsDriveLetter = function (string) { - var third; - return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( - string.length == 2 || - ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') - ); -}; - -var shortenURLsPath = function (url) { - var path = url.path; - var pathSize = path.length; - if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { - path.pop(); - } -}; - -var isSingleDot = function (segment) { - return segment === '.' || segment.toLowerCase() === '%2e'; -}; - -var isDoubleDot = function (segment) { - segment = segment.toLowerCase(); - return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; -}; - -// States: -var SCHEME_START = {}; -var SCHEME = {}; -var NO_SCHEME = {}; -var SPECIAL_RELATIVE_OR_AUTHORITY = {}; -var PATH_OR_AUTHORITY = {}; -var RELATIVE = {}; -var RELATIVE_SLASH = {}; -var SPECIAL_AUTHORITY_SLASHES = {}; -var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; -var AUTHORITY = {}; -var HOST = {}; -var HOSTNAME = {}; -var PORT = {}; -var FILE = {}; -var FILE_SLASH = {}; -var FILE_HOST = {}; -var PATH_START = {}; -var PATH = {}; -var CANNOT_BE_A_BASE_URL_PATH = {}; -var QUERY = {}; -var FRAGMENT = {}; - -// eslint-disable-next-line max-statements -var parseURL = function (url, input, stateOverride, base) { - var state = stateOverride || SCHEME_START; - var pointer = 0; - var buffer = ''; - var seenAt = false; - var seenBracket = false; - var seenPasswordToken = false; - var codePoints, char, bufferCodePoints, failure; - - if (!stateOverride) { - url.scheme = ''; - url.username = ''; - url.password = ''; - url.host = null; - url.port = null; - url.path = []; - url.query = null; - url.fragment = null; - url.cannotBeABaseURL = false; - input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); - } - - input = input.replace(TAB_AND_NEW_LINE, ''); - - codePoints = arrayFrom(input); - - while (pointer <= codePoints.length) { - char = codePoints[pointer]; - switch (state) { - case SCHEME_START: - if (char && ALPHA.test(char)) { - buffer += char.toLowerCase(); - state = SCHEME; - } else if (!stateOverride) { - state = NO_SCHEME; - continue; - } else return INVALID_SCHEME; - break; - - case SCHEME: - if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { - buffer += char.toLowerCase(); - } else if (char == ':') { - if (stateOverride && ( - (isSpecial(url) != has(specialSchemes, buffer)) || - (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || - (url.scheme == 'file' && !url.host) - )) return; - url.scheme = buffer; - if (stateOverride) { - if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; - return; - } - buffer = ''; - if (url.scheme == 'file') { - state = FILE; - } else if (isSpecial(url) && base && base.scheme == url.scheme) { - state = SPECIAL_RELATIVE_OR_AUTHORITY; - } else if (isSpecial(url)) { - state = SPECIAL_AUTHORITY_SLASHES; - } else if (codePoints[pointer + 1] == '/') { - state = PATH_OR_AUTHORITY; - pointer++; - } else { - url.cannotBeABaseURL = true; - url.path.push(''); - state = CANNOT_BE_A_BASE_URL_PATH; - } - } else if (!stateOverride) { - buffer = ''; - state = NO_SCHEME; - pointer = 0; - continue; - } else return INVALID_SCHEME; - break; - - case NO_SCHEME: - if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; - if (base.cannotBeABaseURL && char == '#') { - url.scheme = base.scheme; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - url.cannotBeABaseURL = true; - state = FRAGMENT; - break; - } - state = base.scheme == 'file' ? FILE : RELATIVE; - continue; - - case SPECIAL_RELATIVE_OR_AUTHORITY: - if (char == '/' && codePoints[pointer + 1] == '/') { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - pointer++; - } else { - state = RELATIVE; - continue; - } break; - - case PATH_OR_AUTHORITY: - if (char == '/') { - state = AUTHORITY; - break; - } else { - state = PATH; - continue; - } - - case RELATIVE: - url.scheme = base.scheme; - if (char == EOF) { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '/' || (char == '\\' && isSpecial(url))) { - state = RELATIVE_SLASH; - } else if (char == '?') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - url.path = base.path.slice(); - url.path.pop(); - state = PATH; - continue; - } break; - - case RELATIVE_SLASH: - if (isSpecial(url) && (char == '/' || char == '\\')) { - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - } else if (char == '/') { - state = AUTHORITY; - } else { - url.username = base.username; - url.password = base.password; - url.host = base.host; - url.port = base.port; - state = PATH; - continue; - } break; - - case SPECIAL_AUTHORITY_SLASHES: - state = SPECIAL_AUTHORITY_IGNORE_SLASHES; - if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; - pointer++; - break; - - case SPECIAL_AUTHORITY_IGNORE_SLASHES: - if (char != '/' && char != '\\') { - state = AUTHORITY; - continue; - } break; - - case AUTHORITY: - if (char == '@') { - if (seenAt) buffer = '%40' + buffer; - seenAt = true; - bufferCodePoints = arrayFrom(buffer); - for (var i = 0; i < bufferCodePoints.length; i++) { - var codePoint = bufferCodePoints[i]; - if (codePoint == ':' && !seenPasswordToken) { - seenPasswordToken = true; - continue; - } - var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); - if (seenPasswordToken) url.password += encodedCodePoints; - else url.username += encodedCodePoints; - } - buffer = ''; - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) - ) { - if (seenAt && buffer == '') return INVALID_AUTHORITY; - pointer -= arrayFrom(buffer).length + 1; - buffer = ''; - state = HOST; - } else buffer += char; - break; - - case HOST: - case HOSTNAME: - if (stateOverride && url.scheme == 'file') { - state = FILE_HOST; - continue; - } else if (char == ':' && !seenBracket) { - if (buffer == '') return INVALID_HOST; - failure = parseHost(url, buffer); - if (failure) return failure; - buffer = ''; - state = PORT; - if (stateOverride == HOSTNAME) return; - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) - ) { - if (isSpecial(url) && buffer == '') return INVALID_HOST; - if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; - failure = parseHost(url, buffer); - if (failure) return failure; - buffer = ''; - state = PATH_START; - if (stateOverride) return; - continue; - } else { - if (char == '[') seenBracket = true; - else if (char == ']') seenBracket = false; - buffer += char; - } break; - - case PORT: - if (DIGIT.test(char)) { - buffer += char; - } else if ( - char == EOF || char == '/' || char == '?' || char == '#' || - (char == '\\' && isSpecial(url)) || - stateOverride - ) { - if (buffer != '') { - var port = parseInt(buffer, 10); - if (port > 0xFFFF) return INVALID_PORT; - url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; - buffer = ''; - } - if (stateOverride) return; - state = PATH_START; - continue; - } else return INVALID_PORT; - break; - - case FILE: - url.scheme = 'file'; - if (char == '/' || char == '\\') state = FILE_SLASH; - else if (base && base.scheme == 'file') { - if (char == EOF) { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - } else if (char == '?') { - url.host = base.host; - url.path = base.path.slice(); - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.host = base.host; - url.path = base.path.slice(); - url.query = base.query; - url.fragment = ''; - state = FRAGMENT; - } else { - if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - url.host = base.host; - url.path = base.path.slice(); - shortenURLsPath(url); - } - state = PATH; - continue; - } - } else { - state = PATH; - continue; - } break; - - case FILE_SLASH: - if (char == '/' || char == '\\') { - state = FILE_HOST; - break; - } - if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { - if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); - else url.host = base.host; - } - state = PATH; - continue; - - case FILE_HOST: - if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { - if (!stateOverride && isWindowsDriveLetter(buffer)) { - state = PATH; - } else if (buffer == '') { - url.host = ''; - if (stateOverride) return; - state = PATH_START; - } else { - failure = parseHost(url, buffer); - if (failure) return failure; - if (url.host == 'localhost') url.host = ''; - if (stateOverride) return; - buffer = ''; - state = PATH_START; - } continue; - } else buffer += char; - break; - - case PATH_START: - if (isSpecial(url)) { - state = PATH; - if (char != '/' && char != '\\') continue; - } else if (!stateOverride && char == '?') { - url.query = ''; - state = QUERY; - } else if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - state = PATH; - if (char != '/') continue; - } break; - - case PATH: - if ( - char == EOF || char == '/' || - (char == '\\' && isSpecial(url)) || - (!stateOverride && (char == '?' || char == '#')) - ) { - if (isDoubleDot(buffer)) { - shortenURLsPath(url); - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else if (isSingleDot(buffer)) { - if (char != '/' && !(char == '\\' && isSpecial(url))) { - url.path.push(''); - } - } else { - if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { - if (url.host) url.host = ''; - buffer = buffer.charAt(0) + ':'; // normalize windows drive letter - } - url.path.push(buffer); - } - buffer = ''; - if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { - while (url.path.length > 1 && url.path[0] === '') { - url.path.shift(); - } - } - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } - } else { - buffer += percentEncode(char, pathPercentEncodeSet); - } break; - - case CANNOT_BE_A_BASE_URL_PATH: - if (char == '?') { - url.query = ''; - state = QUERY; - } else if (char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); - } break; - - case QUERY: - if (!stateOverride && char == '#') { - url.fragment = ''; - state = FRAGMENT; - } else if (char != EOF) { - if (char == "'" && isSpecial(url)) url.query += '%27'; - else if (char == '#') url.query += '%23'; - else url.query += percentEncode(char, C0ControlPercentEncodeSet); - } break; - - case FRAGMENT: - if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); - break; - } - - pointer++; - } -}; - -// `URL` constructor -// https://url.spec.whatwg.org/#url-class -var URLConstructor = function URL(url /* , base */) { - var that = anInstance(this, URLConstructor, 'URL'); - var base = arguments.length > 1 ? arguments[1] : undefined; - var urlString = String(url); - var state = setInternalState(that, { type: 'URL' }); - var baseState, failure; - if (base !== undefined) { - if (base instanceof URLConstructor) baseState = getInternalURLState(base); - else { - failure = parseURL(baseState = {}, String(base)); - if (failure) throw TypeError(failure); - } - } - failure = parseURL(state, urlString, null, baseState); - if (failure) throw TypeError(failure); - var searchParams = state.searchParams = new URLSearchParams(); - var searchParamsState = getInternalSearchParamsState(searchParams); - searchParamsState.updateSearchParams(state.query); - searchParamsState.updateURL = function () { - state.query = String(searchParams) || null; - }; - if (!DESCRIPTORS) { - that.href = serializeURL.call(that); - that.origin = getOrigin.call(that); - that.protocol = getProtocol.call(that); - that.username = getUsername.call(that); - that.password = getPassword.call(that); - that.host = getHost.call(that); - that.hostname = getHostname.call(that); - that.port = getPort.call(that); - that.pathname = getPathname.call(that); - that.search = getSearch.call(that); - that.searchParams = getSearchParams.call(that); - that.hash = getHash.call(that); - } -}; - -var URLPrototype = URLConstructor.prototype; - -var serializeURL = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var username = url.username; - var password = url.password; - var host = url.host; - var port = url.port; - var path = url.path; - var query = url.query; - var fragment = url.fragment; - var output = scheme + ':'; - if (host !== null) { - output += '//'; - if (includesCredentials(url)) { - output += username + (password ? ':' + password : '') + '@'; - } - output += serializeHost(host); - if (port !== null) output += ':' + port; - } else if (scheme == 'file') output += '//'; - output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; - if (query !== null) output += '?' + query; - if (fragment !== null) output += '#' + fragment; - return output; -}; - -var getOrigin = function () { - var url = getInternalURLState(this); - var scheme = url.scheme; - var port = url.port; - if (scheme == 'blob') try { - return new URL(scheme.path[0]).origin; - } catch (error) { - return 'null'; - } - if (scheme == 'file' || !isSpecial(url)) return 'null'; - return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); -}; - -var getProtocol = function () { - return getInternalURLState(this).scheme + ':'; -}; - -var getUsername = function () { - return getInternalURLState(this).username; -}; - -var getPassword = function () { - return getInternalURLState(this).password; -}; - -var getHost = function () { - var url = getInternalURLState(this); - var host = url.host; - var port = url.port; - return host === null ? '' - : port === null ? serializeHost(host) - : serializeHost(host) + ':' + port; -}; - -var getHostname = function () { - var host = getInternalURLState(this).host; - return host === null ? '' : serializeHost(host); -}; - -var getPort = function () { - var port = getInternalURLState(this).port; - return port === null ? '' : String(port); -}; - -var getPathname = function () { - var url = getInternalURLState(this); - var path = url.path; - return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; -}; - -var getSearch = function () { - var query = getInternalURLState(this).query; - return query ? '?' + query : ''; -}; - -var getSearchParams = function () { - return getInternalURLState(this).searchParams; -}; - -var getHash = function () { - var fragment = getInternalURLState(this).fragment; - return fragment ? '#' + fragment : ''; -}; - -var accessorDescriptor = function (getter, setter) { - return { get: getter, set: setter, configurable: true, enumerable: true }; -}; - -if (DESCRIPTORS) { - defineProperties(URLPrototype, { - // `URL.prototype.href` accessors pair - // https://url.spec.whatwg.org/#dom-url-href - href: accessorDescriptor(serializeURL, function (href) { - var url = getInternalURLState(this); - var urlString = String(href); - var failure = parseURL(url, urlString); - if (failure) throw TypeError(failure); - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.origin` getter - // https://url.spec.whatwg.org/#dom-url-origin - origin: accessorDescriptor(getOrigin), - // `URL.prototype.protocol` accessors pair - // https://url.spec.whatwg.org/#dom-url-protocol - protocol: accessorDescriptor(getProtocol, function (protocol) { - var url = getInternalURLState(this); - parseURL(url, String(protocol) + ':', SCHEME_START); - }), - // `URL.prototype.username` accessors pair - // https://url.spec.whatwg.org/#dom-url-username - username: accessorDescriptor(getUsername, function (username) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(username)); - if (cannotHaveUsernamePasswordPort(url)) return; - url.username = ''; - for (var i = 0; i < codePoints.length; i++) { - url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.password` accessors pair - // https://url.spec.whatwg.org/#dom-url-password - password: accessorDescriptor(getPassword, function (password) { - var url = getInternalURLState(this); - var codePoints = arrayFrom(String(password)); - if (cannotHaveUsernamePasswordPort(url)) return; - url.password = ''; - for (var i = 0; i < codePoints.length; i++) { - url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); - } - }), - // `URL.prototype.host` accessors pair - // https://url.spec.whatwg.org/#dom-url-host - host: accessorDescriptor(getHost, function (host) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - parseURL(url, String(host), HOST); - }), - // `URL.prototype.hostname` accessors pair - // https://url.spec.whatwg.org/#dom-url-hostname - hostname: accessorDescriptor(getHostname, function (hostname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - parseURL(url, String(hostname), HOSTNAME); - }), - // `URL.prototype.port` accessors pair - // https://url.spec.whatwg.org/#dom-url-port - port: accessorDescriptor(getPort, function (port) { - var url = getInternalURLState(this); - if (cannotHaveUsernamePasswordPort(url)) return; - port = String(port); - if (port == '') url.port = null; - else parseURL(url, port, PORT); - }), - // `URL.prototype.pathname` accessors pair - // https://url.spec.whatwg.org/#dom-url-pathname - pathname: accessorDescriptor(getPathname, function (pathname) { - var url = getInternalURLState(this); - if (url.cannotBeABaseURL) return; - url.path = []; - parseURL(url, pathname + '', PATH_START); - }), - // `URL.prototype.search` accessors pair - // https://url.spec.whatwg.org/#dom-url-search - search: accessorDescriptor(getSearch, function (search) { - var url = getInternalURLState(this); - search = String(search); - if (search == '') { - url.query = null; - } else { - if ('?' == search.charAt(0)) search = search.slice(1); - url.query = ''; - parseURL(url, search, QUERY); - } - getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); - }), - // `URL.prototype.searchParams` getter - // https://url.spec.whatwg.org/#dom-url-searchparams - searchParams: accessorDescriptor(getSearchParams), - // `URL.prototype.hash` accessors pair - // https://url.spec.whatwg.org/#dom-url-hash - hash: accessorDescriptor(getHash, function (hash) { - var url = getInternalURLState(this); - hash = String(hash); - if (hash == '') { - url.fragment = null; - return; - } - if ('#' == hash.charAt(0)) hash = hash.slice(1); - url.fragment = ''; - parseURL(url, hash, FRAGMENT); - }) - }); -} - -// `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson -redefine(URLPrototype, 'toJSON', function toJSON() { - return serializeURL.call(this); -}, { enumerable: true }); - -// `URL.prototype.toString` method -// https://url.spec.whatwg.org/#URL-stringification-behavior -redefine(URLPrototype, 'toString', function toString() { - return serializeURL.call(this); -}, { enumerable: true }); - -if (NativeURL) { - var nativeCreateObjectURL = NativeURL.createObjectURL; - var nativeRevokeObjectURL = NativeURL.revokeObjectURL; - // `URL.createObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL - // eslint-disable-next-line no-unused-vars - if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { - return nativeCreateObjectURL.apply(NativeURL, arguments); - }); - // `URL.revokeObjectURL` method - // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL - // eslint-disable-next-line no-unused-vars - if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { - return nativeRevokeObjectURL.apply(NativeURL, arguments); - }); -} - -setToStringTag(URLConstructor, 'URL'); - -$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { - URL: URLConstructor -}); - -},{"../internals/an-instance":314,"../internals/array-from":321,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/internal-state":386,"../internals/native-url":407,"../internals/object-assign":412,"../internals/object-define-properties":414,"../internals/punycode-to-ascii":433,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/string-multibyte":451,"../modules/es.string.iterator":610,"../modules/web.url-search-params":793}],795:[function(require,module,exports){ -'use strict'; -var $ = require('../internals/export'); - -// `URL.prototype.toJSON` method -// https://url.spec.whatwg.org/#dom-url-tojson -$({ target: 'URL', proto: true, enumerable: true }, { - toJSON: function toJSON() { - return URL.prototype.toString.call(this); - } -}); - -},{"../internals/export":361}],796:[function(require,module,exports){ -require('../modules/esnext.array.is-template-object'); - -},{"../modules/esnext.array.is-template-object":681}],797:[function(require,module,exports){ -require('../modules/esnext.array.last-index'); -require('../modules/esnext.array.last-item'); - -},{"../modules/esnext.array.last-index":682,"../modules/esnext.array.last-item":683}],798:[function(require,module,exports){ -require('../modules/esnext.map.group-by'); -require('../modules/esnext.map.key-by'); -require('../modules/esnext.map.delete-all'); -require('../modules/esnext.map.every'); -require('../modules/esnext.map.filter'); -require('../modules/esnext.map.find'); -require('../modules/esnext.map.find-key'); -require('../modules/esnext.map.includes'); -require('../modules/esnext.map.key-of'); -require('../modules/esnext.map.map-keys'); -require('../modules/esnext.map.map-values'); -require('../modules/esnext.map.merge'); -require('../modules/esnext.map.reduce'); -require('../modules/esnext.map.some'); -require('../modules/esnext.map.update'); -require('../modules/esnext.set.add-all'); -require('../modules/esnext.set.delete-all'); -require('../modules/esnext.set.every'); -require('../modules/esnext.set.filter'); -require('../modules/esnext.set.find'); -require('../modules/esnext.set.join'); -require('../modules/esnext.set.map'); -require('../modules/esnext.set.reduce'); -require('../modules/esnext.set.some'); -require('../modules/esnext.weak-map.delete-all'); -require('../modules/esnext.weak-set.add-all'); -require('../modules/esnext.weak-set.delete-all'); - -},{"../modules/esnext.map.delete-all":707,"../modules/esnext.map.every":708,"../modules/esnext.map.filter":709,"../modules/esnext.map.find":711,"../modules/esnext.map.find-key":710,"../modules/esnext.map.group-by":713,"../modules/esnext.map.includes":714,"../modules/esnext.map.key-by":715,"../modules/esnext.map.key-of":716,"../modules/esnext.map.map-keys":717,"../modules/esnext.map.map-values":718,"../modules/esnext.map.merge":719,"../modules/esnext.map.reduce":721,"../modules/esnext.map.some":722,"../modules/esnext.map.update":724,"../modules/esnext.set.add-all":753,"../modules/esnext.set.delete-all":754,"../modules/esnext.set.every":756,"../modules/esnext.set.filter":757,"../modules/esnext.set.find":758,"../modules/esnext.set.join":764,"../modules/esnext.set.map":765,"../modules/esnext.set.reduce":767,"../modules/esnext.set.some":768,"../modules/esnext.weak-map.delete-all":780,"../modules/esnext.weak-set.add-all":784,"../modules/esnext.weak-set.delete-all":785}],799:[function(require,module,exports){ -require('../modules/esnext.map.from'); -require('../modules/esnext.map.of'); -require('../modules/esnext.set.from'); -require('../modules/esnext.set.of'); -require('../modules/esnext.weak-map.from'); -require('../modules/esnext.weak-map.of'); -require('../modules/esnext.weak-set.from'); -require('../modules/esnext.weak-set.of'); - -},{"../modules/esnext.map.from":712,"../modules/esnext.map.of":720,"../modules/esnext.set.from":759,"../modules/esnext.set.of":766,"../modules/esnext.weak-map.from":781,"../modules/esnext.weak-map.of":782,"../modules/esnext.weak-set.from":786,"../modules/esnext.weak-set.of":787}],800:[function(require,module,exports){ -require('../modules/esnext.math.iaddh'); -require('../modules/esnext.math.isubh'); -require('../modules/esnext.math.imulh'); -require('../modules/esnext.math.umulh'); - -},{"../modules/esnext.math.iaddh":730,"../modules/esnext.math.imulh":731,"../modules/esnext.math.isubh":732,"../modules/esnext.math.umulh":738}],801:[function(require,module,exports){ -require('../modules/esnext.global-this'); - -module.exports = require('../internals/global'); - -},{"../internals/global":377,"../modules/esnext.global-this":693}],802:[function(require,module,exports){ -require('../stage'); - -},{"../stage":828}],803:[function(require,module,exports){ -require('../modules/esnext.async-iterator.constructor'); -require('../modules/esnext.async-iterator.drop'); -require('../modules/esnext.async-iterator.filter'); -require('../modules/esnext.async-iterator.from'); -require('../modules/esnext.async-iterator.map'); -require('../modules/esnext.async-iterator.take'); -require('../modules/esnext.async-iterator.to-array'); -require('../modules/esnext.iterator.constructor'); -require('../modules/esnext.iterator.as-indexed-pairs'); -require('../modules/esnext.iterator.drop'); -require('../modules/esnext.iterator.every'); -require('../modules/esnext.iterator.filter'); -require('../modules/esnext.iterator.find'); -require('../modules/esnext.iterator.for-each'); -require('../modules/esnext.iterator.from'); -require('../modules/esnext.iterator.map'); -require('../modules/esnext.iterator.reduce'); -require('../modules/esnext.iterator.some'); -require('../modules/esnext.iterator.take'); -require('../modules/esnext.iterator.to-array'); - -},{"../modules/esnext.async-iterator.constructor":684,"../modules/esnext.async-iterator.drop":685,"../modules/esnext.async-iterator.filter":686,"../modules/esnext.async-iterator.from":687,"../modules/esnext.async-iterator.map":688,"../modules/esnext.async-iterator.take":689,"../modules/esnext.async-iterator.to-array":690,"../modules/esnext.iterator.as-indexed-pairs":694,"../modules/esnext.iterator.constructor":695,"../modules/esnext.iterator.drop":696,"../modules/esnext.iterator.every":697,"../modules/esnext.iterator.filter":698,"../modules/esnext.iterator.find":699,"../modules/esnext.iterator.for-each":700,"../modules/esnext.iterator.from":701,"../modules/esnext.iterator.map":702,"../modules/esnext.iterator.reduce":703,"../modules/esnext.iterator.some":704,"../modules/esnext.iterator.take":705,"../modules/esnext.iterator.to-array":706}],804:[function(require,module,exports){ -require('../modules/esnext.composite-key'); -require('../modules/esnext.composite-symbol'); - -},{"../modules/esnext.composite-key":691,"../modules/esnext.composite-symbol":692}],805:[function(require,module,exports){ -// https://github.com/thumbsupep/proposal-upsert -// TODO: remove from `core-js@4` -require('../modules/esnext.map.update-or-insert'); -require('../modules/esnext.map.upsert'); -require('../modules/esnext.weak-map.upsert'); - -},{"../modules/esnext.map.update-or-insert":723,"../modules/esnext.map.upsert":725,"../modules/esnext.weak-map.upsert":783}],806:[function(require,module,exports){ -require('../modules/esnext.math.clamp'); -require('../modules/esnext.math.deg-per-rad'); -require('../modules/esnext.math.degrees'); -require('../modules/esnext.math.fscale'); -require('../modules/esnext.math.rad-per-deg'); -require('../modules/esnext.math.radians'); -require('../modules/esnext.math.scale'); - -},{"../modules/esnext.math.clamp":726,"../modules/esnext.math.deg-per-rad":727,"../modules/esnext.math.degrees":728,"../modules/esnext.math.fscale":729,"../modules/esnext.math.rad-per-deg":733,"../modules/esnext.math.radians":734,"../modules/esnext.math.scale":735}],807:[function(require,module,exports){ -require('../modules/esnext.math.signbit'); - -},{"../modules/esnext.math.signbit":737}],808:[function(require,module,exports){ -require('../modules/esnext.number.from-string'); - -},{"../modules/esnext.number.from-string":739}],809:[function(require,module,exports){ -require('../modules/esnext.observable'); -require('../modules/esnext.symbol.observable'); - -},{"../modules/esnext.observable":740,"../modules/esnext.symbol.observable":777}],810:[function(require,module,exports){ -require('../modules/esnext.symbol.pattern-match'); - -},{"../modules/esnext.symbol.pattern-match":778}],811:[function(require,module,exports){ -// TODO: Remove from `core-js@4` -require('../modules/esnext.promise.all-settled'); - -},{"../modules/esnext.promise.all-settled":741}],812:[function(require,module,exports){ -require('../modules/esnext.aggregate-error'); -require('../modules/esnext.promise.any'); - -},{"../modules/esnext.aggregate-error":680,"../modules/esnext.promise.any":742}],813:[function(require,module,exports){ -require('../modules/esnext.promise.try'); - -},{"../modules/esnext.promise.try":743}],814:[function(require,module,exports){ -require('../modules/esnext.reflect.define-metadata'); -require('../modules/esnext.reflect.delete-metadata'); -require('../modules/esnext.reflect.get-metadata'); -require('../modules/esnext.reflect.get-metadata-keys'); -require('../modules/esnext.reflect.get-own-metadata'); -require('../modules/esnext.reflect.get-own-metadata-keys'); -require('../modules/esnext.reflect.has-metadata'); -require('../modules/esnext.reflect.has-own-metadata'); -require('../modules/esnext.reflect.metadata'); - -},{"../modules/esnext.reflect.define-metadata":744,"../modules/esnext.reflect.delete-metadata":745,"../modules/esnext.reflect.get-metadata":747,"../modules/esnext.reflect.get-metadata-keys":746,"../modules/esnext.reflect.get-own-metadata":749,"../modules/esnext.reflect.get-own-metadata-keys":748,"../modules/esnext.reflect.has-metadata":750,"../modules/esnext.reflect.has-own-metadata":751,"../modules/esnext.reflect.metadata":752}],815:[function(require,module,exports){ -require('../modules/esnext.math.seeded-prng'); - -},{"../modules/esnext.math.seeded-prng":736}],816:[function(require,module,exports){ -require('../modules/esnext.set.difference'); -require('../modules/esnext.set.intersection'); -require('../modules/esnext.set.is-disjoint-from'); -require('../modules/esnext.set.is-subset-of'); -require('../modules/esnext.set.is-superset-of'); -require('../modules/esnext.set.union'); -require('../modules/esnext.set.symmetric-difference'); - -},{"../modules/esnext.set.difference":755,"../modules/esnext.set.intersection":760,"../modules/esnext.set.is-disjoint-from":761,"../modules/esnext.set.is-subset-of":762,"../modules/esnext.set.is-superset-of":763,"../modules/esnext.set.symmetric-difference":769,"../modules/esnext.set.union":770}],817:[function(require,module,exports){ -require('../modules/esnext.string.at'); - -},{"../modules/esnext.string.at":771}],818:[function(require,module,exports){ -require('../modules/esnext.string.code-points'); - -},{"../modules/esnext.string.code-points":772}],819:[function(require,module,exports){ -// TODO: Remove from `core-js@4` -require('../modules/esnext.string.match-all'); - -},{"../modules/esnext.string.match-all":773}],820:[function(require,module,exports){ -require('../modules/esnext.string.replace-all'); -require('../modules/esnext.symbol.replace-all'); - -},{"../modules/esnext.string.replace-all":774,"../modules/esnext.symbol.replace-all":779}],821:[function(require,module,exports){ -require('../modules/web.url'); -require('../modules/web.url.to-json'); -require('../modules/web.url-search-params'); - -},{"../modules/web.url":794,"../modules/web.url-search-params":793,"../modules/web.url.to-json":795}],822:[function(require,module,exports){ -// https://github.com/tc39/proposal-using-statement -require('../modules/esnext.symbol.async-dispose'); -require('../modules/esnext.symbol.dispose'); - -},{"../modules/esnext.symbol.async-dispose":775,"../modules/esnext.symbol.dispose":776}],823:[function(require,module,exports){ -require('../proposals/efficient-64-bit-arithmetic'); -require('../proposals/string-at'); -require('../proposals/url'); - -module.exports = require('./1'); - -},{"../proposals/efficient-64-bit-arithmetic":800,"../proposals/string-at":817,"../proposals/url":821,"./1":824}],824:[function(require,module,exports){ -require('../proposals/array-last'); -require('../proposals/collection-methods'); -require('../proposals/collection-of-from'); -require('../proposals/keys-composition'); -require('../proposals/math-extensions'); -require('../proposals/math-signbit'); -require('../proposals/number-from-string'); -require('../proposals/observable'); -require('../proposals/pattern-matching'); -require('../proposals/promise-try'); -require('../proposals/seeded-random'); -require('../proposals/string-code-points'); - -module.exports = require('./2'); - -},{"../proposals/array-last":797,"../proposals/collection-methods":798,"../proposals/collection-of-from":799,"../proposals/keys-composition":804,"../proposals/math-extensions":806,"../proposals/math-signbit":807,"../proposals/number-from-string":808,"../proposals/observable":809,"../proposals/pattern-matching":810,"../proposals/promise-try":813,"../proposals/seeded-random":815,"../proposals/string-code-points":818,"./2":825}],825:[function(require,module,exports){ -require('../proposals/array-is-template-object'); -require('../proposals/iterator-helpers'); -require('../proposals/map-upsert'); -require('../proposals/set-methods'); -require('../proposals/using-statement'); - -module.exports = require('./3'); - -},{"../proposals/array-is-template-object":796,"../proposals/iterator-helpers":803,"../proposals/map-upsert":805,"../proposals/set-methods":816,"../proposals/using-statement":822,"./3":826}],826:[function(require,module,exports){ -require('../proposals/promise-any'); -require('../proposals/string-replace-all'); - -module.exports = require('./4'); - -},{"../proposals/promise-any":812,"../proposals/string-replace-all":820,"./4":827}],827:[function(require,module,exports){ -require('../proposals/global-this'); -require('../proposals/promise-all-settled'); -require('../proposals/string-match-all'); - -module.exports = require('../internals/path'); - -},{"../internals/path":430,"../proposals/global-this":801,"../proposals/promise-all-settled":811,"../proposals/string-match-all":819}],828:[function(require,module,exports){ -module.exports = require('./pre'); - -},{"./pre":829}],829:[function(require,module,exports){ -require('../proposals/reflect-metadata'); - -module.exports = require('./0'); - -},{"../proposals/reflect-metadata":814,"./0":823}],830:[function(require,module,exports){ -require('../modules/web.dom-collections.for-each'); -require('../modules/web.dom-collections.iterator'); -require('../modules/web.immediate'); -require('../modules/web.queue-microtask'); -require('../modules/web.timers'); -require('../modules/web.url'); -require('../modules/web.url.to-json'); -require('../modules/web.url-search-params'); - -module.exports = require('../internals/path'); - -},{"../internals/path":430,"../modules/web.dom-collections.for-each":788,"../modules/web.dom-collections.iterator":789,"../modules/web.immediate":790,"../modules/web.queue-microtask":791,"../modules/web.timers":792,"../modules/web.url":794,"../modules/web.url-search-params":793,"../modules/web.url.to-json":795}],831:[function(require,module,exports){ -"use strict"; - -module.exports = { - "8.0": "79", - "7.1": "78", - "7.0": "78", - "6.1": "76", - "6.0": "76", - "5.0": "72", - "4.2": "69", - "4.1": "69", - "4.0": "69", - "3.1": "66", - "3.0": "66", - "2.1": "61", - "2.0": "61", - "1.8": "59", - "1.7": "58", - "1.6": "56", - "1.5": "54", - "1.4": "53", - "1.3": "52", - "1.2": "51", - "1.1": "50", - "1.0": "49", - "0.37": "49", - "0.36": "47", - "0.35": "45", - "0.34": "45", - "0.33": "45", - "0.32": "45", - "0.31": "44", - "0.30": "44", - "0.29": "43", - "0.28": "43", - "0.27": "42", - "0.26": "42", - "0.25": "42", - "0.24": "41", - "0.23": "41", - "0.22": "41", - "0.21": "40", - "0.20": "39" -}; - -},{}],832:[function(require,module,exports){ -'use strict'; - -var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - -module.exports = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - - return str.replace(matchOperatorsRe, '\\$&'); -}; - -},{}],833:[function(require,module,exports){ -"use strict"; - -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -(function () { - 'use strict'; - - function isExpression(node) { - if (node == null) { - return false; - } - - switch (node.type) { - case 'ArrayExpression': - case 'AssignmentExpression': - case 'BinaryExpression': - case 'CallExpression': - case 'ConditionalExpression': - case 'FunctionExpression': - case 'Identifier': - case 'Literal': - case 'LogicalExpression': - case 'MemberExpression': - case 'NewExpression': - case 'ObjectExpression': - case 'SequenceExpression': - case 'ThisExpression': - case 'UnaryExpression': - case 'UpdateExpression': - return true; - } - - return false; - } - - function isIterationStatement(node) { - if (node == null) { - return false; - } - - switch (node.type) { - case 'DoWhileStatement': - case 'ForInStatement': - case 'ForStatement': - case 'WhileStatement': - return true; - } - - return false; - } - - function isStatement(node) { - if (node == null) { - return false; - } - - switch (node.type) { - case 'BlockStatement': - case 'BreakStatement': - case 'ContinueStatement': - case 'DebuggerStatement': - case 'DoWhileStatement': - case 'EmptyStatement': - case 'ExpressionStatement': - case 'ForInStatement': - case 'ForStatement': - case 'IfStatement': - case 'LabeledStatement': - case 'ReturnStatement': - case 'SwitchStatement': - case 'ThrowStatement': - case 'TryStatement': - case 'VariableDeclaration': - case 'WhileStatement': - case 'WithStatement': - return true; - } - - return false; - } - - function isSourceElement(node) { - return isStatement(node) || node != null && node.type === 'FunctionDeclaration'; - } - - function trailingStatement(node) { - switch (node.type) { - case 'IfStatement': - if (node.alternate != null) { - return node.alternate; - } - - return node.consequent; - - case 'LabeledStatement': - case 'ForStatement': - case 'ForInStatement': - case 'WhileStatement': - case 'WithStatement': - return node.body; - } - - return null; - } - - function isProblematicIfStatement(node) { - var current; - - if (node.type !== 'IfStatement') { - return false; - } - - if (node.alternate == null) { - return false; - } - - current = node.consequent; - - do { - if (current.type === 'IfStatement') { - if (current.alternate == null) { - return true; - } - } - - current = trailingStatement(current); - } while (current); - - return false; - } - - module.exports = { - isExpression: isExpression, - isStatement: isStatement, - isIterationStatement: isIterationStatement, - isSourceElement: isSourceElement, - isProblematicIfStatement: isProblematicIfStatement, - trailingStatement: trailingStatement - }; -})(); -/* vim: set sw=4 ts=4 et tw=80 : */ - -},{}],834:[function(require,module,exports){ -"use strict"; - -/* - Copyright (C) 2013-2014 Yusuke Suzuki - Copyright (C) 2014 Ivan Nikulin - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -(function () { - 'use strict'; - - var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; // See `tools/generate-identifier-regex.js`. - - ES5Regex = { - // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, - // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ - }; - ES6Regex = { - // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart: - NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, - // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart: - NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ - }; - - function isDecimalDigit(ch) { - return 0x30 <= ch && ch <= 0x39; // 0..9 - } - - function isHexDigit(ch) { - return 0x30 <= ch && ch <= 0x39 || // 0..9 - 0x61 <= ch && ch <= 0x66 || // a..f - 0x41 <= ch && ch <= 0x46; // A..F - } - - function isOctalDigit(ch) { - return ch >= 0x30 && ch <= 0x37; // 0..7 - } // 7.2 White Space - - - NON_ASCII_WHITESPACES = [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF]; - - function isWhiteSpace(ch) { - return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0; - } // 7.3 Line Terminators - - - function isLineTerminator(ch) { - return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029; - } // 7.6 Identifier Names and Identifiers - - - function fromCodePoint(cp) { - if (cp <= 0xFFFF) { - return String.fromCharCode(cp); - } - - var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800); - var cu2 = String.fromCharCode((cp - 0x10000) % 0x400 + 0xDC00); - return cu1 + cu2; - } - - IDENTIFIER_START = new Array(0x80); - - for (ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_START[ch] = ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) - } - - IDENTIFIER_PART = new Array(0x80); - - for (ch = 0; ch < 0x80; ++ch) { - IDENTIFIER_PART[ch] = ch >= 0x61 && ch <= 0x7A || // a..z - ch >= 0x41 && ch <= 0x5A || // A..Z - ch >= 0x30 && ch <= 0x39 || // 0..9 - ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) - } - - function isIdentifierStartES5(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); - } - - function isIdentifierPartES5(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); - } - - function isIdentifierStartES6(ch) { - return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); - } - - function isIdentifierPartES6(ch) { - return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); - } - - module.exports = { - isDecimalDigit: isDecimalDigit, - isHexDigit: isHexDigit, - isOctalDigit: isOctalDigit, - isWhiteSpace: isWhiteSpace, - isLineTerminator: isLineTerminator, - isIdentifierStartES5: isIdentifierStartES5, - isIdentifierPartES5: isIdentifierPartES5, - isIdentifierStartES6: isIdentifierStartES6, - isIdentifierPartES6: isIdentifierPartES6 - }; -})(); -/* vim: set sw=4 ts=4 et tw=80 : */ - -},{}],835:[function(require,module,exports){ -"use strict"; - -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -(function () { - 'use strict'; - - var code = require('./code'); - - function isStrictModeReservedWordES6(id) { - switch (id) { - case 'implements': - case 'interface': - case 'package': - case 'private': - case 'protected': - case 'public': - case 'static': - case 'let': - return true; - - default: - return false; - } - } - - function isKeywordES5(id, strict) { - // yield should not be treated as keyword under non-strict mode. - if (!strict && id === 'yield') { - return false; - } - - return isKeywordES6(id, strict); - } - - function isKeywordES6(id, strict) { - if (strict && isStrictModeReservedWordES6(id)) { - return true; - } - - switch (id.length) { - case 2: - return id === 'if' || id === 'in' || id === 'do'; - - case 3: - return id === 'var' || id === 'for' || id === 'new' || id === 'try'; - - case 4: - return id === 'this' || id === 'else' || id === 'case' || id === 'void' || id === 'with' || id === 'enum'; - - case 5: - return id === 'while' || id === 'break' || id === 'catch' || id === 'throw' || id === 'const' || id === 'yield' || id === 'class' || id === 'super'; - - case 6: - return id === 'return' || id === 'typeof' || id === 'delete' || id === 'switch' || id === 'export' || id === 'import'; - - case 7: - return id === 'default' || id === 'finally' || id === 'extends'; - - case 8: - return id === 'function' || id === 'continue' || id === 'debugger'; - - case 10: - return id === 'instanceof'; - - default: - return false; - } - } - - function isReservedWordES5(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict); - } - - function isReservedWordES6(id, strict) { - return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict); - } - - function isRestrictedWord(id) { - return id === 'eval' || id === 'arguments'; - } - - function isIdentifierNameES5(id) { - var i, iz, ch; - - if (id.length === 0) { - return false; - } - - ch = id.charCodeAt(0); - - if (!code.isIdentifierStartES5(ch)) { - return false; - } - - for (i = 1, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - - if (!code.isIdentifierPartES5(ch)) { - return false; - } - } - - return true; - } - - function decodeUtf16(lead, trail) { - return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; - } - - function isIdentifierNameES6(id) { - var i, iz, ch, lowCh, check; - - if (id.length === 0) { - return false; - } - - check = code.isIdentifierStartES6; - - for (i = 0, iz = id.length; i < iz; ++i) { - ch = id.charCodeAt(i); - - if (0xD800 <= ch && ch <= 0xDBFF) { - ++i; - - if (i >= iz) { - return false; - } - - lowCh = id.charCodeAt(i); - - if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) { - return false; - } - - ch = decodeUtf16(ch, lowCh); - } - - if (!check(ch)) { - return false; - } - - check = code.isIdentifierPartES6; - } - - return true; - } - - function isIdentifierES5(id, strict) { - return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); - } - - function isIdentifierES6(id, strict) { - return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); - } - - module.exports = { - isKeywordES5: isKeywordES5, - isKeywordES6: isKeywordES6, - isReservedWordES5: isReservedWordES5, - isReservedWordES6: isReservedWordES6, - isRestrictedWord: isRestrictedWord, - isIdentifierNameES5: isIdentifierNameES5, - isIdentifierNameES6: isIdentifierNameES6, - isIdentifierES5: isIdentifierES5, - isIdentifierES6: isIdentifierES6 - }; -})(); -/* vim: set sw=4 ts=4 et tw=80 : */ - -},{"./code":834}],836:[function(require,module,exports){ -"use strict"; - -/* - Copyright (C) 2013 Yusuke Suzuki - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY - DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -(function () { - 'use strict'; - - exports.ast = require('./ast'); - exports.code = require('./code'); - exports.keyword = require('./keyword'); -})(); -/* vim: set sw=4 ts=4 et tw=80 : */ - -},{"./ast":833,"./code":834,"./keyword":835}],837:[function(require,module,exports){ -module.exports={ - "builtin": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "BigInt": false, - "BigInt64Array": false, - "BigUint64Array": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "globalThis": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "es5": { - "Array": false, - "Boolean": false, - "constructor": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "propertyIsEnumerable": false, - "RangeError": false, - "ReferenceError": false, - "RegExp": false, - "String": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false - }, - "es2015": { - "Array": false, - "ArrayBuffer": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "es2017": { - "Array": false, - "ArrayBuffer": false, - "Atomics": false, - "Boolean": false, - "constructor": false, - "DataView": false, - "Date": false, - "decodeURI": false, - "decodeURIComponent": false, - "encodeURI": false, - "encodeURIComponent": false, - "Error": false, - "escape": false, - "eval": false, - "EvalError": false, - "Float32Array": false, - "Float64Array": false, - "Function": false, - "hasOwnProperty": false, - "Infinity": false, - "Int16Array": false, - "Int32Array": false, - "Int8Array": false, - "isFinite": false, - "isNaN": false, - "isPrototypeOf": false, - "JSON": false, - "Map": false, - "Math": false, - "NaN": false, - "Number": false, - "Object": false, - "parseFloat": false, - "parseInt": false, - "Promise": false, - "propertyIsEnumerable": false, - "Proxy": false, - "RangeError": false, - "ReferenceError": false, - "Reflect": false, - "RegExp": false, - "Set": false, - "SharedArrayBuffer": false, - "String": false, - "Symbol": false, - "SyntaxError": false, - "toLocaleString": false, - "toString": false, - "TypeError": false, - "Uint16Array": false, - "Uint32Array": false, - "Uint8Array": false, - "Uint8ClampedArray": false, - "undefined": false, - "unescape": false, - "URIError": false, - "valueOf": false, - "WeakMap": false, - "WeakSet": false - }, - "browser": { - "AbortController": false, - "AbortSignal": false, - "addEventListener": false, - "alert": false, - "AnalyserNode": false, - "Animation": false, - "AnimationEffectReadOnly": false, - "AnimationEffectTiming": false, - "AnimationEffectTimingReadOnly": false, - "AnimationEvent": false, - "AnimationPlaybackEvent": false, - "AnimationTimeline": false, - "applicationCache": false, - "ApplicationCache": false, - "ApplicationCacheErrorEvent": false, - "atob": false, - "Attr": false, - "Audio": false, - "AudioBuffer": false, - "AudioBufferSourceNode": false, - "AudioContext": false, - "AudioDestinationNode": false, - "AudioListener": false, - "AudioNode": false, - "AudioParam": false, - "AudioProcessingEvent": false, - "AudioScheduledSourceNode": false, - "AudioWorkletGlobalScope ": false, - "AudioWorkletNode": false, - "AudioWorkletProcessor": false, - "BarProp": false, - "BaseAudioContext": false, - "BatteryManager": false, - "BeforeUnloadEvent": false, - "BiquadFilterNode": false, - "Blob": false, - "BlobEvent": false, - "blur": false, - "BroadcastChannel": false, - "btoa": false, - "BudgetService": false, - "ByteLengthQueuingStrategy": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "cancelAnimationFrame": false, - "cancelIdleCallback": false, - "CanvasCaptureMediaStreamTrack": false, - "CanvasGradient": false, - "CanvasPattern": false, - "CanvasRenderingContext2D": false, - "ChannelMergerNode": false, - "ChannelSplitterNode": false, - "CharacterData": false, - "clearInterval": false, - "clearTimeout": false, - "clientInformation": false, - "ClipboardEvent": false, - "close": false, - "closed": false, - "CloseEvent": false, - "Comment": false, - "CompositionEvent": false, - "confirm": false, - "console": false, - "ConstantSourceNode": false, - "ConvolverNode": false, - "CountQueuingStrategy": false, - "createImageBitmap": false, - "Credential": false, - "CredentialsContainer": false, - "crypto": false, - "Crypto": false, - "CryptoKey": false, - "CSS": false, - "CSSConditionRule": false, - "CSSFontFaceRule": false, - "CSSGroupingRule": false, - "CSSImportRule": false, - "CSSKeyframeRule": false, - "CSSKeyframesRule": false, - "CSSMediaRule": false, - "CSSNamespaceRule": false, - "CSSPageRule": false, - "CSSRule": false, - "CSSRuleList": false, - "CSSStyleDeclaration": false, - "CSSStyleRule": false, - "CSSStyleSheet": false, - "CSSSupportsRule": false, - "CustomElementRegistry": false, - "customElements": false, - "CustomEvent": false, - "DataTransfer": false, - "DataTransferItem": false, - "DataTransferItemList": false, - "defaultstatus": false, - "defaultStatus": false, - "DelayNode": false, - "DeviceMotionEvent": false, - "DeviceOrientationEvent": false, - "devicePixelRatio": false, - "dispatchEvent": false, - "document": false, - "Document": false, - "DocumentFragment": false, - "DocumentType": false, - "DOMError": false, - "DOMException": false, - "DOMImplementation": false, - "DOMMatrix": false, - "DOMMatrixReadOnly": false, - "DOMParser": false, - "DOMPoint": false, - "DOMPointReadOnly": false, - "DOMQuad": false, - "DOMRect": false, - "DOMRectReadOnly": false, - "DOMStringList": false, - "DOMStringMap": false, - "DOMTokenList": false, - "DragEvent": false, - "DynamicsCompressorNode": false, - "Element": false, - "ErrorEvent": false, - "event": false, - "Event": false, - "EventSource": false, - "EventTarget": false, - "external": false, - "fetch": false, - "File": false, - "FileList": false, - "FileReader": false, - "find": false, - "focus": false, - "FocusEvent": false, - "FontFace": false, - "FontFaceSetLoadEvent": false, - "FormData": false, - "frameElement": false, - "frames": false, - "GainNode": false, - "Gamepad": false, - "GamepadButton": false, - "GamepadEvent": false, - "getComputedStyle": false, - "getSelection": false, - "HashChangeEvent": false, - "Headers": false, - "history": false, - "History": false, - "HTMLAllCollection": false, - "HTMLAnchorElement": false, - "HTMLAreaElement": false, - "HTMLAudioElement": false, - "HTMLBaseElement": false, - "HTMLBodyElement": false, - "HTMLBRElement": false, - "HTMLButtonElement": false, - "HTMLCanvasElement": false, - "HTMLCollection": false, - "HTMLContentElement": false, - "HTMLDataElement": false, - "HTMLDataListElement": false, - "HTMLDetailsElement": false, - "HTMLDialogElement": false, - "HTMLDirectoryElement": false, - "HTMLDivElement": false, - "HTMLDListElement": false, - "HTMLDocument": false, - "HTMLElement": false, - "HTMLEmbedElement": false, - "HTMLFieldSetElement": false, - "HTMLFontElement": false, - "HTMLFormControlsCollection": false, - "HTMLFormElement": false, - "HTMLFrameElement": false, - "HTMLFrameSetElement": false, - "HTMLHeadElement": false, - "HTMLHeadingElement": false, - "HTMLHRElement": false, - "HTMLHtmlElement": false, - "HTMLIFrameElement": false, - "HTMLImageElement": false, - "HTMLInputElement": false, - "HTMLLabelElement": false, - "HTMLLegendElement": false, - "HTMLLIElement": false, - "HTMLLinkElement": false, - "HTMLMapElement": false, - "HTMLMarqueeElement": false, - "HTMLMediaElement": false, - "HTMLMenuElement": false, - "HTMLMetaElement": false, - "HTMLMeterElement": false, - "HTMLModElement": false, - "HTMLObjectElement": false, - "HTMLOListElement": false, - "HTMLOptGroupElement": false, - "HTMLOptionElement": false, - "HTMLOptionsCollection": false, - "HTMLOutputElement": false, - "HTMLParagraphElement": false, - "HTMLParamElement": false, - "HTMLPictureElement": false, - "HTMLPreElement": false, - "HTMLProgressElement": false, - "HTMLQuoteElement": false, - "HTMLScriptElement": false, - "HTMLSelectElement": false, - "HTMLShadowElement": false, - "HTMLSlotElement": false, - "HTMLSourceElement": false, - "HTMLSpanElement": false, - "HTMLStyleElement": false, - "HTMLTableCaptionElement": false, - "HTMLTableCellElement": false, - "HTMLTableColElement": false, - "HTMLTableElement": false, - "HTMLTableRowElement": false, - "HTMLTableSectionElement": false, - "HTMLTemplateElement": false, - "HTMLTextAreaElement": false, - "HTMLTimeElement": false, - "HTMLTitleElement": false, - "HTMLTrackElement": false, - "HTMLUListElement": false, - "HTMLUnknownElement": false, - "HTMLVideoElement": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "IdleDeadline": false, - "IIRFilterNode": false, - "Image": false, - "ImageBitmap": false, - "ImageBitmapRenderingContext": false, - "ImageCapture": false, - "ImageData": false, - "indexedDB": false, - "innerHeight": false, - "innerWidth": false, - "InputEvent": false, - "IntersectionObserver": false, - "IntersectionObserverEntry": false, - "Intl": false, - "isSecureContext": false, - "KeyboardEvent": false, - "KeyframeEffect": false, - "KeyframeEffectReadOnly": false, - "length": false, - "localStorage": false, - "location": true, - "Location": false, - "locationbar": false, - "matchMedia": false, - "MediaDeviceInfo": false, - "MediaDevices": false, - "MediaElementAudioSourceNode": false, - "MediaEncryptedEvent": false, - "MediaError": false, - "MediaKeyMessageEvent": false, - "MediaKeySession": false, - "MediaKeyStatusMap": false, - "MediaKeySystemAccess": false, - "MediaList": false, - "MediaQueryList": false, - "MediaQueryListEvent": false, - "MediaRecorder": false, - "MediaSettingsRange": false, - "MediaSource": false, - "MediaStream": false, - "MediaStreamAudioDestinationNode": false, - "MediaStreamAudioSourceNode": false, - "MediaStreamEvent": false, - "MediaStreamTrack": false, - "MediaStreamTrackEvent": false, - "menubar": false, - "MessageChannel": false, - "MessageEvent": false, - "MessagePort": false, - "MIDIAccess": false, - "MIDIConnectionEvent": false, - "MIDIInput": false, - "MIDIInputMap": false, - "MIDIMessageEvent": false, - "MIDIOutput": false, - "MIDIOutputMap": false, - "MIDIPort": false, - "MimeType": false, - "MimeTypeArray": false, - "MouseEvent": false, - "moveBy": false, - "moveTo": false, - "MutationEvent": false, - "MutationObserver": false, - "MutationRecord": false, - "name": false, - "NamedNodeMap": false, - "NavigationPreloadManager": false, - "navigator": false, - "Navigator": false, - "NetworkInformation": false, - "Node": false, - "NodeFilter": false, - "NodeIterator": false, - "NodeList": false, - "Notification": false, - "OfflineAudioCompletionEvent": false, - "OfflineAudioContext": false, - "offscreenBuffering": false, - "OffscreenCanvas": true, - "onabort": true, - "onafterprint": true, - "onanimationend": true, - "onanimationiteration": true, - "onanimationstart": true, - "onappinstalled": true, - "onauxclick": true, - "onbeforeinstallprompt": true, - "onbeforeprint": true, - "onbeforeunload": true, - "onblur": true, - "oncancel": true, - "oncanplay": true, - "oncanplaythrough": true, - "onchange": true, - "onclick": true, - "onclose": true, - "oncontextmenu": true, - "oncuechange": true, - "ondblclick": true, - "ondevicemotion": true, - "ondeviceorientation": true, - "ondeviceorientationabsolute": true, - "ondrag": true, - "ondragend": true, - "ondragenter": true, - "ondragleave": true, - "ondragover": true, - "ondragstart": true, - "ondrop": true, - "ondurationchange": true, - "onemptied": true, - "onended": true, - "onerror": true, - "onfocus": true, - "ongotpointercapture": true, - "onhashchange": true, - "oninput": true, - "oninvalid": true, - "onkeydown": true, - "onkeypress": true, - "onkeyup": true, - "onlanguagechange": true, - "onload": true, - "onloadeddata": true, - "onloadedmetadata": true, - "onloadstart": true, - "onlostpointercapture": true, - "onmessage": true, - "onmessageerror": true, - "onmousedown": true, - "onmouseenter": true, - "onmouseleave": true, - "onmousemove": true, - "onmouseout": true, - "onmouseover": true, - "onmouseup": true, - "onmousewheel": true, - "onoffline": true, - "ononline": true, - "onpagehide": true, - "onpageshow": true, - "onpause": true, - "onplay": true, - "onplaying": true, - "onpointercancel": true, - "onpointerdown": true, - "onpointerenter": true, - "onpointerleave": true, - "onpointermove": true, - "onpointerout": true, - "onpointerover": true, - "onpointerup": true, - "onpopstate": true, - "onprogress": true, - "onratechange": true, - "onrejectionhandled": true, - "onreset": true, - "onresize": true, - "onscroll": true, - "onsearch": true, - "onseeked": true, - "onseeking": true, - "onselect": true, - "onstalled": true, - "onstorage": true, - "onsubmit": true, - "onsuspend": true, - "ontimeupdate": true, - "ontoggle": true, - "ontransitionend": true, - "onunhandledrejection": true, - "onunload": true, - "onvolumechange": true, - "onwaiting": true, - "onwheel": true, - "open": false, - "openDatabase": false, - "opener": false, - "Option": false, - "origin": false, - "OscillatorNode": false, - "outerHeight": false, - "outerWidth": false, - "PageTransitionEvent": false, - "pageXOffset": false, - "pageYOffset": false, - "PannerNode": false, - "parent": false, - "Path2D": false, - "PaymentAddress": false, - "PaymentRequest": false, - "PaymentRequestUpdateEvent": false, - "PaymentResponse": false, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceLongTaskTiming": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceNavigationTiming": false, - "PerformanceObserver": false, - "PerformanceObserverEntryList": false, - "PerformancePaintTiming": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "PeriodicWave": false, - "Permissions": false, - "PermissionStatus": false, - "personalbar": false, - "PhotoCapabilities": false, - "Plugin": false, - "PluginArray": false, - "PointerEvent": false, - "PopStateEvent": false, - "postMessage": false, - "Presentation": false, - "PresentationAvailability": false, - "PresentationConnection": false, - "PresentationConnectionAvailableEvent": false, - "PresentationConnectionCloseEvent": false, - "PresentationConnectionList": false, - "PresentationReceiver": false, - "PresentationRequest": false, - "print": false, - "ProcessingInstruction": false, - "ProgressEvent": false, - "PromiseRejectionEvent": false, - "prompt": false, - "PushManager": false, - "PushSubscription": false, - "PushSubscriptionOptions": false, - "queueMicrotask": false, - "RadioNodeList": false, - "Range": false, - "ReadableStream": false, - "registerProcessor": false, - "RemotePlayback": false, - "removeEventListener": false, - "Request": false, - "requestAnimationFrame": false, - "requestIdleCallback": false, - "resizeBy": false, - "ResizeObserver": false, - "ResizeObserverEntry": false, - "resizeTo": false, - "Response": false, - "RTCCertificate": false, - "RTCDataChannel": false, - "RTCDataChannelEvent": false, - "RTCDtlsTransport": false, - "RTCIceCandidate": false, - "RTCIceGatherer": false, - "RTCIceTransport": false, - "RTCPeerConnection": false, - "RTCPeerConnectionIceEvent": false, - "RTCRtpContributingSource": false, - "RTCRtpReceiver": false, - "RTCRtpSender": false, - "RTCSctpTransport": false, - "RTCSessionDescription": false, - "RTCStatsReport": false, - "RTCTrackEvent": false, - "screen": false, - "Screen": false, - "screenLeft": false, - "ScreenOrientation": false, - "screenTop": false, - "screenX": false, - "screenY": false, - "ScriptProcessorNode": false, - "scroll": false, - "scrollbars": false, - "scrollBy": false, - "scrollTo": false, - "scrollX": false, - "scrollY": false, - "SecurityPolicyViolationEvent": false, - "Selection": false, - "self": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerRegistration": false, - "sessionStorage": false, - "setInterval": false, - "setTimeout": false, - "ShadowRoot": false, - "SharedWorker": false, - "SourceBuffer": false, - "SourceBufferList": false, - "speechSynthesis": false, - "SpeechSynthesisEvent": false, - "SpeechSynthesisUtterance": false, - "StaticRange": false, - "status": false, - "statusbar": false, - "StereoPannerNode": false, - "stop": false, - "Storage": false, - "StorageEvent": false, - "StorageManager": false, - "styleMedia": false, - "StyleSheet": false, - "StyleSheetList": false, - "SubtleCrypto": false, - "SVGAElement": false, - "SVGAngle": false, - "SVGAnimatedAngle": false, - "SVGAnimatedBoolean": false, - "SVGAnimatedEnumeration": false, - "SVGAnimatedInteger": false, - "SVGAnimatedLength": false, - "SVGAnimatedLengthList": false, - "SVGAnimatedNumber": false, - "SVGAnimatedNumberList": false, - "SVGAnimatedPreserveAspectRatio": false, - "SVGAnimatedRect": false, - "SVGAnimatedString": false, - "SVGAnimatedTransformList": false, - "SVGAnimateElement": false, - "SVGAnimateMotionElement": false, - "SVGAnimateTransformElement": false, - "SVGAnimationElement": false, - "SVGCircleElement": false, - "SVGClipPathElement": false, - "SVGComponentTransferFunctionElement": false, - "SVGDefsElement": false, - "SVGDescElement": false, - "SVGDiscardElement": false, - "SVGElement": false, - "SVGEllipseElement": false, - "SVGFEBlendElement": false, - "SVGFEColorMatrixElement": false, - "SVGFEComponentTransferElement": false, - "SVGFECompositeElement": false, - "SVGFEConvolveMatrixElement": false, - "SVGFEDiffuseLightingElement": false, - "SVGFEDisplacementMapElement": false, - "SVGFEDistantLightElement": false, - "SVGFEDropShadowElement": false, - "SVGFEFloodElement": false, - "SVGFEFuncAElement": false, - "SVGFEFuncBElement": false, - "SVGFEFuncGElement": false, - "SVGFEFuncRElement": false, - "SVGFEGaussianBlurElement": false, - "SVGFEImageElement": false, - "SVGFEMergeElement": false, - "SVGFEMergeNodeElement": false, - "SVGFEMorphologyElement": false, - "SVGFEOffsetElement": false, - "SVGFEPointLightElement": false, - "SVGFESpecularLightingElement": false, - "SVGFESpotLightElement": false, - "SVGFETileElement": false, - "SVGFETurbulenceElement": false, - "SVGFilterElement": false, - "SVGForeignObjectElement": false, - "SVGGElement": false, - "SVGGeometryElement": false, - "SVGGradientElement": false, - "SVGGraphicsElement": false, - "SVGImageElement": false, - "SVGLength": false, - "SVGLengthList": false, - "SVGLinearGradientElement": false, - "SVGLineElement": false, - "SVGMarkerElement": false, - "SVGMaskElement": false, - "SVGMatrix": false, - "SVGMetadataElement": false, - "SVGMPathElement": false, - "SVGNumber": false, - "SVGNumberList": false, - "SVGPathElement": false, - "SVGPatternElement": false, - "SVGPoint": false, - "SVGPointList": false, - "SVGPolygonElement": false, - "SVGPolylineElement": false, - "SVGPreserveAspectRatio": false, - "SVGRadialGradientElement": false, - "SVGRect": false, - "SVGRectElement": false, - "SVGScriptElement": false, - "SVGSetElement": false, - "SVGStopElement": false, - "SVGStringList": false, - "SVGStyleElement": false, - "SVGSVGElement": false, - "SVGSwitchElement": false, - "SVGSymbolElement": false, - "SVGTextContentElement": false, - "SVGTextElement": false, - "SVGTextPathElement": false, - "SVGTextPositioningElement": false, - "SVGTitleElement": false, - "SVGTransform": false, - "SVGTransformList": false, - "SVGTSpanElement": false, - "SVGUnitTypes": false, - "SVGUseElement": false, - "SVGViewElement": false, - "TaskAttributionTiming": false, - "Text": false, - "TextDecoder": false, - "TextEncoder": false, - "TextEvent": false, - "TextMetrics": false, - "TextTrack": false, - "TextTrackCue": false, - "TextTrackCueList": false, - "TextTrackList": false, - "TimeRanges": false, - "toolbar": false, - "top": false, - "Touch": false, - "TouchEvent": false, - "TouchList": false, - "TrackEvent": false, - "TransitionEvent": false, - "TreeWalker": false, - "UIEvent": false, - "URL": false, - "URLSearchParams": false, - "ValidityState": false, - "visualViewport": false, - "VisualViewport": false, - "VTTCue": false, - "WaveShaperNode": false, - "WebAssembly": false, - "WebGL2RenderingContext": false, - "WebGLActiveInfo": false, - "WebGLBuffer": false, - "WebGLContextEvent": false, - "WebGLFramebuffer": false, - "WebGLProgram": false, - "WebGLQuery": false, - "WebGLRenderbuffer": false, - "WebGLRenderingContext": false, - "WebGLSampler": false, - "WebGLShader": false, - "WebGLShaderPrecisionFormat": false, - "WebGLSync": false, - "WebGLTexture": false, - "WebGLTransformFeedback": false, - "WebGLUniformLocation": false, - "WebGLVertexArrayObject": false, - "WebSocket": false, - "WheelEvent": false, - "window": false, - "Window": false, - "Worker": false, - "WritableStream": false, - "XMLDocument": false, - "XMLHttpRequest": false, - "XMLHttpRequestEventTarget": false, - "XMLHttpRequestUpload": false, - "XMLSerializer": false, - "XPathEvaluator": false, - "XPathExpression": false, - "XPathResult": false, - "XSLTProcessor": false - }, - "worker": { - "addEventListener": false, - "applicationCache": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Cache": false, - "caches": false, - "clearInterval": false, - "clearTimeout": false, - "close": true, - "console": false, - "fetch": false, - "FileReaderSync": false, - "FormData": false, - "Headers": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "ImageData": false, - "importScripts": true, - "indexedDB": false, - "location": false, - "MessageChannel": false, - "MessagePort": false, - "name": false, - "navigator": false, - "Notification": false, - "onclose": true, - "onconnect": true, - "onerror": true, - "onlanguagechange": true, - "onmessage": true, - "onoffline": true, - "ononline": true, - "onrejectionhandled": true, - "onunhandledrejection": true, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "postMessage": true, - "Promise": false, - "queueMicrotask": false, - "removeEventListener": false, - "Request": false, - "Response": false, - "self": true, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false, - "WebSocket": false, - "Worker": false, - "WorkerGlobalScope": false, - "XMLHttpRequest": false - }, - "node": { - "__dirname": false, - "__filename": false, - "Buffer": false, - "clearImmediate": false, - "clearInterval": false, - "clearTimeout": false, - "console": false, - "exports": true, - "global": false, - "Intl": false, - "module": false, - "process": false, - "queueMicrotask": false, - "require": false, - "setImmediate": false, - "setInterval": false, - "setTimeout": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false - }, - "commonjs": { - "exports": true, - "global": false, - "module": false, - "require": false - }, - "amd": { - "define": false, - "require": false - }, - "mocha": { - "after": false, - "afterEach": false, - "before": false, - "beforeEach": false, - "context": false, - "describe": false, - "it": false, - "mocha": false, - "run": false, - "setup": false, - "specify": false, - "suite": false, - "suiteSetup": false, - "suiteTeardown": false, - "teardown": false, - "test": false, - "xcontext": false, - "xdescribe": false, - "xit": false, - "xspecify": false - }, - "jasmine": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "fail": false, - "fdescribe": false, - "fit": false, - "it": false, - "jasmine": false, - "pending": false, - "runs": false, - "spyOn": false, - "spyOnProperty": false, - "waits": false, - "waitsFor": false, - "xdescribe": false, - "xit": false - }, - "jest": { - "afterAll": false, - "afterEach": false, - "beforeAll": false, - "beforeEach": false, - "describe": false, - "expect": false, - "fdescribe": false, - "fit": false, - "it": false, - "jest": false, - "pit": false, - "require": false, - "test": false, - "xdescribe": false, - "xit": false, - "xtest": false - }, - "qunit": { - "asyncTest": false, - "deepEqual": false, - "equal": false, - "expect": false, - "module": false, - "notDeepEqual": false, - "notEqual": false, - "notOk": false, - "notPropEqual": false, - "notStrictEqual": false, - "ok": false, - "propEqual": false, - "QUnit": false, - "raises": false, - "start": false, - "stop": false, - "strictEqual": false, - "test": false, - "throws": false - }, - "phantomjs": { - "console": true, - "exports": true, - "phantom": true, - "require": true, - "WebPage": true - }, - "couch": { - "emit": false, - "exports": false, - "getRow": false, - "log": false, - "module": false, - "provides": false, - "require": false, - "respond": false, - "send": false, - "start": false, - "sum": false - }, - "rhino": { - "defineClass": false, - "deserialize": false, - "gc": false, - "help": false, - "importClass": false, - "importPackage": false, - "java": false, - "load": false, - "loadClass": false, - "Packages": false, - "print": false, - "quit": false, - "readFile": false, - "readUrl": false, - "runCommand": false, - "seal": false, - "serialize": false, - "spawn": false, - "sync": false, - "toint32": false, - "version": false - }, - "nashorn": { - "__DIR__": false, - "__FILE__": false, - "__LINE__": false, - "com": false, - "edu": false, - "exit": false, - "java": false, - "Java": false, - "javafx": false, - "JavaImporter": false, - "javax": false, - "JSAdapter": false, - "load": false, - "loadWithNewGlobal": false, - "org": false, - "Packages": false, - "print": false, - "quit": false - }, - "wsh": { - "ActiveXObject": true, - "Enumerator": true, - "GetObject": true, - "ScriptEngine": true, - "ScriptEngineBuildVersion": true, - "ScriptEngineMajorVersion": true, - "ScriptEngineMinorVersion": true, - "VBArray": true, - "WScript": true, - "WSH": true, - "XDomainRequest": true - }, - "jquery": { - "$": false, - "jQuery": false - }, - "yui": { - "YAHOO": false, - "YAHOO_config": false, - "YUI": false, - "YUI_config": false - }, - "shelljs": { - "cat": false, - "cd": false, - "chmod": false, - "config": false, - "cp": false, - "dirs": false, - "echo": false, - "env": false, - "error": false, - "exec": false, - "exit": false, - "find": false, - "grep": false, - "ln": false, - "ls": false, - "mkdir": false, - "mv": false, - "popd": false, - "pushd": false, - "pwd": false, - "rm": false, - "sed": false, - "set": false, - "target": false, - "tempdir": false, - "test": false, - "touch": false, - "which": false - }, - "prototypejs": { - "$": false, - "$$": false, - "$A": false, - "$break": false, - "$continue": false, - "$F": false, - "$H": false, - "$R": false, - "$w": false, - "Abstract": false, - "Ajax": false, - "Autocompleter": false, - "Builder": false, - "Class": false, - "Control": false, - "Draggable": false, - "Draggables": false, - "Droppables": false, - "Effect": false, - "Element": false, - "Enumerable": false, - "Event": false, - "Field": false, - "Form": false, - "Hash": false, - "Insertion": false, - "ObjectRange": false, - "PeriodicalExecuter": false, - "Position": false, - "Prototype": false, - "Scriptaculous": false, - "Selector": false, - "Sortable": false, - "SortableObserver": false, - "Sound": false, - "Template": false, - "Toggle": false, - "Try": false - }, - "meteor": { - "_": false, - "$": false, - "Accounts": false, - "AccountsClient": false, - "AccountsCommon": false, - "AccountsServer": false, - "App": false, - "Assets": false, - "Blaze": false, - "check": false, - "Cordova": false, - "DDP": false, - "DDPRateLimiter": false, - "DDPServer": false, - "Deps": false, - "EJSON": false, - "Email": false, - "HTTP": false, - "Log": false, - "Match": false, - "Meteor": false, - "Mongo": false, - "MongoInternals": false, - "Npm": false, - "Package": false, - "Plugin": false, - "process": false, - "Random": false, - "ReactiveDict": false, - "ReactiveVar": false, - "Router": false, - "ServiceConfiguration": false, - "Session": false, - "share": false, - "Spacebars": false, - "Template": false, - "Tinytest": false, - "Tracker": false, - "UI": false, - "Utils": false, - "WebApp": false, - "WebAppInternals": false - }, - "mongo": { - "_isWindows": false, - "_rand": false, - "BulkWriteResult": false, - "cat": false, - "cd": false, - "connect": false, - "db": false, - "getHostName": false, - "getMemInfo": false, - "hostname": false, - "ISODate": false, - "listFiles": false, - "load": false, - "ls": false, - "md5sumFile": false, - "mkdir": false, - "Mongo": false, - "NumberInt": false, - "NumberLong": false, - "ObjectId": false, - "PlanCache": false, - "print": false, - "printjson": false, - "pwd": false, - "quit": false, - "removeFile": false, - "rs": false, - "sh": false, - "UUID": false, - "version": false, - "WriteResult": false - }, - "applescript": { - "$": false, - "Application": false, - "Automation": false, - "console": false, - "delay": false, - "Library": false, - "ObjC": false, - "ObjectSpecifier": false, - "Path": false, - "Progress": false, - "Ref": false - }, - "serviceworker": { - "addEventListener": false, - "applicationCache": false, - "atob": false, - "Blob": false, - "BroadcastChannel": false, - "btoa": false, - "Cache": false, - "caches": false, - "CacheStorage": false, - "clearInterval": false, - "clearTimeout": false, - "Client": false, - "clients": false, - "Clients": false, - "close": true, - "console": false, - "ExtendableEvent": false, - "ExtendableMessageEvent": false, - "fetch": false, - "FetchEvent": false, - "FileReaderSync": false, - "FormData": false, - "Headers": false, - "IDBCursor": false, - "IDBCursorWithValue": false, - "IDBDatabase": false, - "IDBFactory": false, - "IDBIndex": false, - "IDBKeyRange": false, - "IDBObjectStore": false, - "IDBOpenDBRequest": false, - "IDBRequest": false, - "IDBTransaction": false, - "IDBVersionChangeEvent": false, - "ImageData": false, - "importScripts": false, - "indexedDB": false, - "location": false, - "MessageChannel": false, - "MessagePort": false, - "name": false, - "navigator": false, - "Notification": false, - "onclose": true, - "onconnect": true, - "onerror": true, - "onfetch": true, - "oninstall": true, - "onlanguagechange": true, - "onmessage": true, - "onmessageerror": true, - "onnotificationclick": true, - "onnotificationclose": true, - "onoffline": true, - "ononline": true, - "onpush": true, - "onpushsubscriptionchange": true, - "onrejectionhandled": true, - "onsync": true, - "onunhandledrejection": true, - "performance": false, - "Performance": false, - "PerformanceEntry": false, - "PerformanceMark": false, - "PerformanceMeasure": false, - "PerformanceNavigation": false, - "PerformanceResourceTiming": false, - "PerformanceTiming": false, - "postMessage": true, - "Promise": false, - "queueMicrotask": false, - "registration": false, - "removeEventListener": false, - "Request": false, - "Response": false, - "self": false, - "ServiceWorker": false, - "ServiceWorkerContainer": false, - "ServiceWorkerGlobalScope": false, - "ServiceWorkerMessageEvent": false, - "ServiceWorkerRegistration": false, - "setInterval": false, - "setTimeout": false, - "skipWaiting": false, - "TextDecoder": false, - "TextEncoder": false, - "URL": false, - "URLSearchParams": false, - "WebSocket": false, - "WindowClient": false, - "Worker": false, - "WorkerGlobalScope": false, - "XMLHttpRequest": false - }, - "atomtest": { - "advanceClock": false, - "fakeClearInterval": false, - "fakeClearTimeout": false, - "fakeSetInterval": false, - "fakeSetTimeout": false, - "resetTimeouts": false, - "waitsForPromise": false - }, - "embertest": { - "andThen": false, - "click": false, - "currentPath": false, - "currentRouteName": false, - "currentURL": false, - "fillIn": false, - "find": false, - "findAll": false, - "findWithAssert": false, - "keyEvent": false, - "pauseTest": false, - "resumeTest": false, - "triggerEvent": false, - "visit": false, - "wait": false - }, - "protractor": { - "$": false, - "$$": false, - "browser": false, - "by": false, - "By": false, - "DartObject": false, - "element": false, - "protractor": false - }, - "shared-node-browser": { - "clearInterval": false, - "clearTimeout": false, - "console": false, - "setInterval": false, - "setTimeout": false, - "URL": false, - "URLSearchParams": false - }, - "webextensions": { - "browser": false, - "chrome": false, - "opr": false - }, - "greasemonkey": { - "cloneInto": false, - "createObjectIn": false, - "exportFunction": false, - "GM": false, - "GM_addStyle": false, - "GM_deleteValue": false, - "GM_getResourceText": false, - "GM_getResourceURL": false, - "GM_getValue": false, - "GM_info": false, - "GM_listValues": false, - "GM_log": false, - "GM_openInTab": false, - "GM_registerMenuCommand": false, - "GM_setClipboard": false, - "GM_setValue": false, - "GM_xmlhttpRequest": false, - "unsafeWindow": false - }, - "devtools": { - "$": false, - "$_": false, - "$$": false, - "$0": false, - "$1": false, - "$2": false, - "$3": false, - "$4": false, - "$x": false, - "chrome": false, - "clear": false, - "copy": false, - "debug": false, - "dir": false, - "dirxml": false, - "getEventListeners": false, - "inspect": false, - "keys": false, - "monitor": false, - "monitorEvents": false, - "profile": false, - "profileEnd": false, - "queryObjects": false, - "table": false, - "undebug": false, - "unmonitor": false, - "unmonitorEvents": false, - "values": false - } -} - -},{}],838:[function(require,module,exports){ -'use strict'; - -module.exports = require('./globals.json'); - -},{"./globals.json":837}],839:[function(require,module,exports){ -"use strict"; - -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var nBits = -7; - var i = isLE ? nBytes - 1 : 0; - var d = isLE ? -1 : 1; - var s = buffer[offset + i]; - i += d; - e = s & (1 << -nBits) - 1; - s >>= -nBits; - nBits += eLen; - - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & (1 << -nBits) - 1; - e >>= -nBits; - nBits += mLen; - - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias; - } else if (e === eMax) { - return m ? NaN : (s ? -1 : 1) * Infinity; - } else { - m = m + Math.pow(2, mLen); - e = e - eBias; - } - - return (s ? -1 : 1) * m * Math.pow(2, e - mLen); -}; - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c; - var eLen = nBytes * 8 - mLen - 1; - var eMax = (1 << eLen) - 1; - var eBias = eMax >> 1; - var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; - var i = isLE ? 0 : nBytes - 1; - var d = isLE ? 1 : -1; - var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; - value = Math.abs(value); - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0; - e = eMax; - } else { - e = Math.floor(Math.log(value) / Math.LN2); - - if (value * (c = Math.pow(2, -e)) < 1) { - e--; - c *= 2; - } - - if (e + eBias >= 1) { - value += rt / c; - } else { - value += rt * Math.pow(2, 1 - eBias); - } - - if (value * c >= 2) { - e++; - c /= 2; - } - - if (e + eBias >= eMax) { - m = 0; - e = eMax; - } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen); - e = e + eBias; - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); - e = 0; - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = e << mLen | m; - eLen += mLen; - - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128; -}; - -},{}],840:[function(require,module,exports){ -(function (process){ -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -'use strict'; -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var invariant = function invariant(condition, format, a, b, c, d, e, f) { - if (process.env.NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - - throw error; - } -}; - -module.exports = invariant; - -}).call(this,require('_process')) -},{"_process":1054}],841:[function(require,module,exports){ -"use strict"; - -/*! - * Determine if an object is a Buffer - * - * @author Feross Aboukhadijeh - * @license MIT - */ -// The _isBuffer check is for Safari 5-7 support, because it's missing -// Object.prototype.constructor. Remove this eventually -module.exports = function (obj) { - return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer); -}; - -function isBuffer(obj) { - return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj); -} // For Node v0.10 support. Remove this eventually. - - -function isSlowBuffer(obj) { - return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)); -} - -},{}],842:[function(require,module,exports){ -'use strict'; - -module.exports = function () { - function _min(d0, d1, d2, bx, ay) { - return d0 < d1 || d2 < d1 ? d0 > d2 ? d2 + 1 : d0 + 1 : bx === ay ? d1 : d1 + 1; - } - - return function (a, b) { - if (a === b) { - return 0; - } - - if (a.length > b.length) { - var tmp = a; - a = b; - b = tmp; - } - - var la = a.length; - var lb = b.length; - - while (la > 0 && a.charCodeAt(la - 1) === b.charCodeAt(lb - 1)) { - la--; - lb--; - } - - var offset = 0; - - while (offset < la && a.charCodeAt(offset) === b.charCodeAt(offset)) { - offset++; - } - - la -= offset; - lb -= offset; - - if (la === 0 || lb < 3) { - return lb; - } - - var x = 0; - var y; - var d0; - var d1; - var d2; - var d3; - var dd; - var dy; - var ay; - var bx0; - var bx1; - var bx2; - var bx3; - var vector = []; - - for (y = 0; y < la; y++) { - vector.push(y + 1); - vector.push(a.charCodeAt(offset + y)); - } - - var len = vector.length - 1; - - for (; x < lb - 3;) { - bx0 = b.charCodeAt(offset + (d0 = x)); - bx1 = b.charCodeAt(offset + (d1 = x + 1)); - bx2 = b.charCodeAt(offset + (d2 = x + 2)); - bx3 = b.charCodeAt(offset + (d3 = x + 3)); - dd = x += 4; - - for (y = 0; y < len; y += 2) { - dy = vector[y]; - ay = vector[y + 1]; - d0 = _min(dy, d0, d1, bx0, ay); - d1 = _min(d0, d1, d2, bx1, ay); - d2 = _min(d1, d2, d3, bx2, ay); - dd = _min(d2, d3, dd, bx3, ay); - vector[y] = dd; - d3 = d2; - d2 = d1; - d1 = d0; - d0 = dy; - } - } - - for (; x < lb;) { - bx0 = b.charCodeAt(offset + (d0 = x)); - dd = ++x; - - for (y = 0; y < len; y += 2) { - dy = vector[y]; - vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]); - d0 = dy; - } - } - - return dd; - }; -}(); - -},{}],843:[function(require,module,exports){ -"use strict"; - -// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell -// License: MIT. (See LICENSE.) -Object.defineProperty(exports, "__esModule", { - value: true -}); // This regex comes from regex.coffee, and is inserted here by generate-index.js -// (run `npm run build`). - -exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; - -exports.matchToToken = function (match) { - var token = { - type: "invalid", - value: match[0], - closed: undefined - }; - if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace"; - return token; -}; - -},{}],844:[function(require,module,exports){ -(function (Buffer){ -'use strict'; - -var object = {}; -var hasOwnProperty = object.hasOwnProperty; - -var forOwn = function forOwn(object, callback) { - for (var key in object) { - if (hasOwnProperty.call(object, key)) { - callback(key, object[key]); - } - } -}; - -var extend = function extend(destination, source) { - if (!source) { - return destination; - } - - forOwn(source, function (key, value) { - destination[key] = value; - }); - return destination; -}; - -var forEach = function forEach(array, callback) { - var length = array.length; - var index = -1; - - while (++index < length) { - callback(array[index]); - } -}; - -var toString = object.toString; -var isArray = Array.isArray; -var isBuffer = Buffer.isBuffer; - -var isObject = function isObject(value) { - // This is a very simple check, but it’s good enough for what we need. - return toString.call(value) == '[object Object]'; -}; - -var isString = function isString(value) { - return typeof value == 'string' || toString.call(value) == '[object String]'; -}; - -var isNumber = function isNumber(value) { - return typeof value == 'number' || toString.call(value) == '[object Number]'; -}; - -var isFunction = function isFunction(value) { - return typeof value == 'function'; -}; - -var isMap = function isMap(value) { - return toString.call(value) == '[object Map]'; -}; - -var isSet = function isSet(value) { - return toString.call(value) == '[object Set]'; -}; -/*--------------------------------------------------------------------------*/ -// https://mathiasbynens.be/notes/javascript-escapes#single - - -var singleEscapes = { - '"': '\\"', - '\'': '\\\'', - '\\': '\\\\', - '\b': '\\b', - '\f': '\\f', - '\n': '\\n', - '\r': '\\r', - '\t': '\\t' // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'. - // '\v': '\\x0B' - -}; -var regexSingleEscape = /["'\\\b\f\n\r\t]/; -var regexDigit = /[0-9]/; -var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/; - -var jsesc = function jsesc(argument, options) { - var increaseIndentation = function increaseIndentation() { - oldIndent = indent; - ++options.indentLevel; - indent = options.indent.repeat(options.indentLevel); - }; // Handle options - - - var defaults = { - 'escapeEverything': false, - 'minimal': false, - 'isScriptContext': false, - 'quotes': 'single', - 'wrap': false, - 'es6': false, - 'json': false, - 'compact': true, - 'lowercaseHex': false, - 'numbers': 'decimal', - 'indent': '\t', - 'indentLevel': 0, - '__inline1__': false, - '__inline2__': false - }; - var json = options && options.json; - - if (json) { - defaults.quotes = 'double'; - defaults.wrap = true; - } - - options = extend(defaults, options); - - if (options.quotes != 'single' && options.quotes != 'double' && options.quotes != 'backtick') { - options.quotes = 'single'; - } - - var quote = options.quotes == 'double' ? '"' : options.quotes == 'backtick' ? '`' : '\''; - var compact = options.compact; - var lowercaseHex = options.lowercaseHex; - var indent = options.indent.repeat(options.indentLevel); - var oldIndent = ''; - var inline1 = options.__inline1__; - var inline2 = options.__inline2__; - var newLine = compact ? '' : '\n'; - var result; - var isEmpty = true; - var useBinNumbers = options.numbers == 'binary'; - var useOctNumbers = options.numbers == 'octal'; - var useDecNumbers = options.numbers == 'decimal'; - var useHexNumbers = options.numbers == 'hexadecimal'; - - if (json && argument && isFunction(argument.toJSON)) { - argument = argument.toJSON(); - } - - if (!isString(argument)) { - if (isMap(argument)) { - if (argument.size == 0) { - return 'new Map()'; - } - - if (!compact) { - options.__inline1__ = true; - options.__inline2__ = false; - } - - return 'new Map(' + jsesc(Array.from(argument), options) + ')'; - } - - if (isSet(argument)) { - if (argument.size == 0) { - return 'new Set()'; - } - - return 'new Set(' + jsesc(Array.from(argument), options) + ')'; - } - - if (isBuffer(argument)) { - if (argument.length == 0) { - return 'Buffer.from([])'; - } - - return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')'; - } - - if (isArray(argument)) { - result = []; - options.wrap = true; - - if (inline1) { - options.__inline1__ = false; - options.__inline2__ = true; - } - - if (!inline2) { - increaseIndentation(); - } - - forEach(argument, function (value) { - isEmpty = false; - - if (inline2) { - options.__inline2__ = false; - } - - result.push((compact || inline2 ? '' : indent) + jsesc(value, options)); - }); - - if (isEmpty) { - return '[]'; - } - - if (inline2) { - return '[' + result.join(', ') + ']'; - } - - return '[' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + ']'; - } else if (isNumber(argument)) { - if (json) { - // Some number values (e.g. `Infinity`) cannot be represented in JSON. - return JSON.stringify(argument); - } - - if (useDecNumbers) { - return String(argument); - } - - if (useHexNumbers) { - var hexadecimal = argument.toString(16); - - if (!lowercaseHex) { - hexadecimal = hexadecimal.toUpperCase(); - } - - return '0x' + hexadecimal; - } - - if (useBinNumbers) { - return '0b' + argument.toString(2); - } - - if (useOctNumbers) { - return '0o' + argument.toString(8); - } - } else if (!isObject(argument)) { - if (json) { - // For some values (e.g. `undefined`, `function` objects), - // `JSON.stringify(value)` returns `undefined` (which isn’t valid - // JSON) instead of `'null'`. - return JSON.stringify(argument) || 'null'; - } - - return String(argument); - } else { - // it’s an object - result = []; - options.wrap = true; - increaseIndentation(); - forOwn(argument, function (key, value) { - isEmpty = false; - result.push((compact ? '' : indent) + jsesc(key, options) + ':' + (compact ? '' : ' ') + jsesc(value, options)); - }); - - if (isEmpty) { - return '{}'; - } - - return '{' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + '}'; - } - } - - var string = argument; // Loop over each code unit in the string and escape it - - var index = -1; - var length = string.length; - result = ''; - - while (++index < length) { - var character = string.charAt(index); - - if (options.es6) { - var first = string.charCodeAt(index); - - if ( // check if it’s the start of a surrogate pair - first >= 0xD800 && first <= 0xDBFF && // high surrogate - length > index + 1 // there is a next code unit - ) { - var second = string.charCodeAt(index + 1); - - if (second >= 0xDC00 && second <= 0xDFFF) { - // low surrogate - // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - var codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - - var _hexadecimal2 = codePoint.toString(16); - - if (!lowercaseHex) { - _hexadecimal2 = _hexadecimal2.toUpperCase(); - } - - result += "\\u{" + _hexadecimal2 + '}'; - ++index; - continue; - } - } - } - - if (!options.escapeEverything) { - if (regexWhitelist.test(character)) { - // It’s a printable ASCII character that is not `"`, `'` or `\`, - // so don’t escape it. - result += character; - continue; - } - - if (character == '"') { - result += quote == character ? '\\"' : character; - continue; - } - - if (character == '`') { - result += quote == character ? '\\`' : character; - continue; - } - - if (character == '\'') { - result += quote == character ? '\\\'' : character; - continue; - } - } - - if (character == '\0' && !json && !regexDigit.test(string.charAt(index + 1))) { - result += '\\0'; - continue; - } - - if (regexSingleEscape.test(character)) { - // no need for a `hasOwnProperty` check here - result += singleEscapes[character]; - continue; - } - - var charCode = character.charCodeAt(0); - - if (options.minimal && charCode != 0x2028 && charCode != 0x2029) { - result += character; - continue; - } - - var _hexadecimal = charCode.toString(16); - - if (!lowercaseHex) { - _hexadecimal = _hexadecimal.toUpperCase(); - } - - var longhand = _hexadecimal.length > 2 || json; - - var escaped = '\\' + (longhand ? 'u' : 'x') + ('0000' + _hexadecimal).slice(longhand ? -4 : -2); - - result += escaped; - continue; - } - - if (options.wrap) { - result = quote + result + quote; - } - - if (quote == '`') { - result = result.replace(/\$\{/g, '\\\$\{'); - } - - if (options.isScriptContext) { - // https://mathiasbynens.be/notes/etago - return result.replace(/<\/(script|style)/gi, '<\\/$1').replace(/ * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 - - -function replaceTildes(comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceTilde(comp, options); - }).join(' '); -} - -function replaceTilde(comp, options) { - var r = options.loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function (_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (isX(p)) { - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } else if (pr) { - debug('replaceTilde pr', pr); - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; - } else { - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; - } - - debug('tilde return', ret); - return ret; - }); -} // ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 - - -function replaceCarets(comp, options) { - return comp.trim().split(/\s+/).map(function (comp) { - return replaceCaret(comp, options); - }).join(' '); -} - -function replaceCaret(comp, options) { - debug('caret', comp, options); - var r = options.loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function (_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) { - ret = ''; - } else if (isX(m)) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (isX(p)) { - if (M === '0') { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } else { - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } - } else if (pr) { - debug('replaceCaret pr', pr); - - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1); - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; - } - } else { - ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0'; - } - } else { - debug('no pr'); - - if (M === '0') { - if (m === '0') { - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1); - } else { - ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; - } - } else { - ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0'; - } - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, options) { - debug('replaceXRanges', comp, options); - return comp.split(/\s+/).map(function (comp) { - return replaceXRange(comp, options); - }).join(' '); -} - -function replaceXRange(comp, options) { - comp = comp.trim(); - var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function (ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) { - gtlt = ''; - } - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // we know patch is an x, because we have any x at all. - // replace X with 0 - if (xm) { - m = 0; - } - - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - - if (xm) { - M = +M + 1; - } else { - m = +m + 1; - } - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - return ret; - }); -} // Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. - - -function replaceStars(comp, options) { - debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets! - - return comp.trim().replace(re[STAR], ''); -} // This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 - - -function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { - if (isX(fM)) { - from = ''; - } else if (isX(fm)) { - from = '>=' + fM + '.0.0'; - } else if (isX(fp)) { - from = '>=' + fM + '.' + fm + '.0'; - } else { - from = '>=' + from; - } - - if (isX(tM)) { - to = ''; - } else if (isX(tm)) { - to = '<' + (+tM + 1) + '.0.0'; - } else if (isX(tp)) { - to = '<' + tM + '.' + (+tm + 1) + '.0'; - } else if (tpr) { - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - } else { - to = '<=' + to; - } - - return (from + ' ' + to).trim(); -} // if ANY of the sets match ALL of its comparators, then pass - - -Range.prototype.test = function (version) { - if (!version) { - return false; - } - - if (typeof version === 'string') { - version = new SemVer(version, this.options); - } - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version, this.options)) { - return true; - } - } - - return false; -}; - -function testSet(set, version, options) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) { - return false; - } - } - - if (version.prerelease.length && !options.includePrerelease) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (i = 0; i < set.length; i++) { - debug(set[i].semver); - - if (set[i].semver === ANY) { - continue; - } - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - - if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { - return true; - } - } - } // Version has a -pre, but it's not one of the ones we like. - - - return false; - } - - return true; -} - -exports.satisfies = satisfies; - -function satisfies(version, range, options) { - try { - range = new Range(range, options); - } catch (er) { - return false; - } - - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; - -function maxSatisfying(versions, range, options) { - var max = null; - var maxSV = null; - - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!max || maxSV.compare(v) === -1) { - // compare(max, v, true) - max = v; - maxSV = new SemVer(max, options); - } - } - }); - return max; -} - -exports.minSatisfying = minSatisfying; - -function minSatisfying(versions, range, options) { - var min = null; - var minSV = null; - - try { - var rangeObj = new Range(range, options); - } catch (er) { - return null; - } - - versions.forEach(function (v) { - if (rangeObj.test(v)) { - // satisfies(v, range, options) - if (!min || minSV.compare(v) === 1) { - // compare(min, v, true) - min = v; - minSV = new SemVer(min, options); - } - } - }); - return min; -} - -exports.minVersion = minVersion; - -function minVersion(range, loose) { - range = new Range(range, loose); - var minver = new SemVer('0.0.0'); - - if (range.test(minver)) { - return minver; - } - - minver = new SemVer('0.0.0-0'); - - if (range.test(minver)) { - return minver; - } - - minver = null; - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - comparators.forEach(function (comparator) { - // Clone to avoid manipulating the comparator's semver object. - var compver = new SemVer(comparator.semver.version); - - switch (comparator.operator) { - case '>': - if (compver.prerelease.length === 0) { - compver.patch++; - } else { - compver.prerelease.push(0); - } - - compver.raw = compver.format(); - - /* fallthrough */ - - case '': - case '>=': - if (!minver || gt(minver, compver)) { - minver = compver; - } - - break; - - case '<': - case '<=': - /* Ignore maximum versions */ - break; - - /* istanbul ignore next */ - - default: - throw new Error('Unexpected operation: ' + comparator.operator); - } - }); - } - - if (minver && range.test(minver)) { - return minver; - } - - return null; -} - -exports.validRange = validRange; - -function validRange(range, options) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, options).range || '*'; - } catch (er) { - return null; - } -} // Determine if version is less than all the versions possible in the range - - -exports.ltr = ltr; - -function ltr(version, range, options) { - return outside(version, range, '<', options); -} // Determine if version is greater than all the versions possible in the range. - - -exports.gtr = gtr; - -function gtr(version, range, options) { - return outside(version, range, '>', options); -} - -exports.outside = outside; - -function outside(version, range, hilo, options) { - version = new SemVer(version, options); - range = new Range(range, options); - var gtfn, ltefn, ltfn, comp, ecomp; - - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } // If it satisifes the range it is not outside - - - if (satisfies(version, range, options)) { - return false; - } // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - var high = null; - var low = null; - comparators.forEach(function (comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0'); - } - - high = high || comparator; - low = low || comparator; - - if (gtfn(comparator.semver, high.semver, options)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, options)) { - low = comparator; - } - }); // If the edge version comparator has a operator then our version - // isn't outside it - - if (high.operator === comp || high.operator === ecomp) { - return false; - } // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - - - if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - - return true; -} - -exports.prerelease = prerelease; - -function prerelease(version, options) { - var parsed = parse(version, options); - return parsed && parsed.prerelease.length ? parsed.prerelease : null; -} - -exports.intersects = intersects; - -function intersects(r1, r2, options) { - r1 = new Range(r1, options); - r2 = new Range(r2, options); - return r1.intersects(r2); -} - -exports.coerce = coerce; - -function coerce(version) { - if (version instanceof SemVer) { - return version; - } - - if (typeof version !== 'string') { - return null; - } - - var match = version.match(re[COERCE]); - - if (match == null) { - return null; - } - - return parse(match[1] + '.' + (match[2] || '0') + '.' + (match[3] || '0')); -} - -}).call(this,require('_process')) -},{"_process":1054}],1071:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var util = require('./util'); - -var has = Object.prototype.hasOwnProperty; -var hasNativeMap = typeof Map !== "undefined"; -/** - * A data structure which is a combination of an array and a set. Adding a new - * member is O(1), testing for membership is O(1), and finding the index of an - * element is O(1). Removing elements from the set is not supported. Only - * strings are supported for membership. - */ - -function ArraySet() { - this._array = []; - this._set = hasNativeMap ? new Map() : Object.create(null); -} -/** - * Static method for creating ArraySet instances from an existing array. - */ - - -ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { - var set = new ArraySet(); - - for (var i = 0, len = aArray.length; i < len; i++) { - set.add(aArray[i], aAllowDuplicates); - } - - return set; -}; -/** - * Return how many unique items are in this ArraySet. If duplicates have been - * added, than those do not count towards the size. - * - * @returns Number - */ - - -ArraySet.prototype.size = function ArraySet_size() { - return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; -}; -/** - * Add the given string to this set. - * - * @param String aStr - */ - - -ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { - var sStr = hasNativeMap ? aStr : util.toSetString(aStr); - var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); - var idx = this._array.length; - - if (!isDuplicate || aAllowDuplicates) { - this._array.push(aStr); - } - - if (!isDuplicate) { - if (hasNativeMap) { - this._set.set(aStr, idx); - } else { - this._set[sStr] = idx; - } - } -}; -/** - * Is the given string a member of this set? - * - * @param String aStr - */ - - -ArraySet.prototype.has = function ArraySet_has(aStr) { - if (hasNativeMap) { - return this._set.has(aStr); - } else { - var sStr = util.toSetString(aStr); - return has.call(this._set, sStr); - } -}; -/** - * What is the index of the given string in the array? - * - * @param String aStr - */ - - -ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { - if (hasNativeMap) { - var idx = this._set.get(aStr); - - if (idx >= 0) { - return idx; - } - } else { - var sStr = util.toSetString(aStr); - - if (has.call(this._set, sStr)) { - return this._set[sStr]; - } - } - - throw new Error('"' + aStr + '" is not in the set.'); -}; -/** - * What is the element at the given index? - * - * @param Number aIdx - */ - - -ArraySet.prototype.at = function ArraySet_at(aIdx) { - if (aIdx >= 0 && aIdx < this._array.length) { - return this._array[aIdx]; - } - - throw new Error('No element indexed by ' + aIdx); -}; -/** - * Returns the array representation of this set (which has the proper indices - * indicated by indexOf). Note that this is a copy of the internal array used - * for storing the members so that no one can mess with internal state. - */ - - -ArraySet.prototype.toArray = function ArraySet_toArray() { - return this._array.slice(); -}; - -exports.ArraySet = ArraySet; - -},{"./util":1080}],1072:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - * - * Based on the Base 64 VLQ implementation in Closure Compiler: - * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java - * - * Copyright 2011 The Closure Compiler Authors. All rights reserved. - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following - * disclaimer in the documentation and/or other materials provided - * with the distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -var base64 = require('./base64'); // A single base 64 digit can contain 6 bits of data. For the base 64 variable -// length quantities we use in the source map spec, the first bit is the sign, -// the next four bits are the actual value, and the 6th bit is the -// continuation bit. The continuation bit tells us whether there are more -// digits in this value following this digit. -// -// Continuation -// | Sign -// | | -// V V -// 101011 - - -var VLQ_BASE_SHIFT = 5; // binary: 100000 - -var VLQ_BASE = 1 << VLQ_BASE_SHIFT; // binary: 011111 - -var VLQ_BASE_MASK = VLQ_BASE - 1; // binary: 100000 - -var VLQ_CONTINUATION_BIT = VLQ_BASE; -/** - * Converts from a two-complement value to a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) - * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) - */ - -function toVLQSigned(aValue) { - return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; -} -/** - * Converts to a two-complement value from a value where the sign bit is - * placed in the least significant bit. For example, as decimals: - * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 - * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 - */ - - -function fromVLQSigned(aValue) { - var isNegative = (aValue & 1) === 1; - var shifted = aValue >> 1; - return isNegative ? -shifted : shifted; -} -/** - * Returns the base 64 VLQ encoded value. - */ - - -exports.encode = function base64VLQ_encode(aValue) { - var encoded = ""; - var digit; - var vlq = toVLQSigned(aValue); - - do { - digit = vlq & VLQ_BASE_MASK; - vlq >>>= VLQ_BASE_SHIFT; - - if (vlq > 0) { - // There are still more digits in this value, so we must make sure the - // continuation bit is marked. - digit |= VLQ_CONTINUATION_BIT; - } - - encoded += base64.encode(digit); - } while (vlq > 0); - - return encoded; -}; -/** - * Decodes the next base 64 VLQ value from the given string and returns the - * value and the rest of the string via the out parameter. - */ - - -exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { - var strLen = aStr.length; - var result = 0; - var shift = 0; - var continuation, digit; - - do { - if (aIndex >= strLen) { - throw new Error("Expected more digits in base 64 VLQ value."); - } - - digit = base64.decode(aStr.charCodeAt(aIndex++)); - - if (digit === -1) { - throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); - } - - continuation = !!(digit & VLQ_CONTINUATION_BIT); - digit &= VLQ_BASE_MASK; - result = result + (digit << shift); - shift += VLQ_BASE_SHIFT; - } while (continuation); - - aOutParam.value = fromVLQSigned(result); - aOutParam.rest = aIndex; -}; - -},{"./base64":1073}],1073:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); -/** - * Encode an integer in the range of 0 to 63 to a single base 64 digit. - */ - -exports.encode = function (number) { - if (0 <= number && number < intToCharMap.length) { - return intToCharMap[number]; - } - - throw new TypeError("Must be between 0 and 63: " + number); -}; -/** - * Decode a single base 64 character code digit to an integer. Returns -1 on - * failure. - */ - - -exports.decode = function (charCode) { - var bigA = 65; // 'A' - - var bigZ = 90; // 'Z' - - var littleA = 97; // 'a' - - var littleZ = 122; // 'z' - - var zero = 48; // '0' - - var nine = 57; // '9' - - var plus = 43; // '+' - - var slash = 47; // '/' - - var littleOffset = 26; - var numberOffset = 52; // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ - - if (bigA <= charCode && charCode <= bigZ) { - return charCode - bigA; - } // 26 - 51: abcdefghijklmnopqrstuvwxyz - - - if (littleA <= charCode && charCode <= littleZ) { - return charCode - littleA + littleOffset; - } // 52 - 61: 0123456789 - - - if (zero <= charCode && charCode <= nine) { - return charCode - zero + numberOffset; - } // 62: + - - - if (charCode == plus) { - return 62; - } // 63: / - - - if (charCode == slash) { - return 63; - } // Invalid base64 digit. - - - return -1; -}; - -},{}],1074:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -exports.GREATEST_LOWER_BOUND = 1; -exports.LEAST_UPPER_BOUND = 2; -/** - * Recursive implementation of binary search. - * - * @param aLow Indices here and lower do not contain the needle. - * @param aHigh Indices here and higher do not contain the needle. - * @param aNeedle The element being searched for. - * @param aHaystack The non-empty array being searched. - * @param aCompare Function which takes two elements and returns -1, 0, or 1. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - */ - -function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { - // This function terminates when one of the following is true: - // - // 1. We find the exact element we are looking for. - // - // 2. We did not find the exact element, but we can return the index of - // the next-closest element. - // - // 3. We did not find the exact element, and there is no next-closest - // element than the one we are searching for, so we return -1. - var mid = Math.floor((aHigh - aLow) / 2) + aLow; - var cmp = aCompare(aNeedle, aHaystack[mid], true); - - if (cmp === 0) { - // Found the element we are looking for. - return mid; - } else if (cmp > 0) { - // Our needle is greater than aHaystack[mid]. - if (aHigh - mid > 1) { - // The element is in the upper half. - return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); - } // The exact needle element was not found in this haystack. Determine if - // we are in termination case (3) or (2) and return the appropriate thing. - - - if (aBias == exports.LEAST_UPPER_BOUND) { - return aHigh < aHaystack.length ? aHigh : -1; - } else { - return mid; - } - } else { - // Our needle is less than aHaystack[mid]. - if (mid - aLow > 1) { - // The element is in the lower half. - return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); - } // we are in termination case (3) or (2) and return the appropriate thing. - - - if (aBias == exports.LEAST_UPPER_BOUND) { - return mid; - } else { - return aLow < 0 ? -1 : aLow; - } - } -} -/** - * This is an implementation of binary search which will always try and return - * the index of the closest element if there is no exact hit. This is because - * mappings between original and generated line/col pairs are single points, - * and there is an implicit region between each of them, so a miss just means - * that you aren't on the very start of a region. - * - * @param aNeedle The element you are looking for. - * @param aHaystack The array that is being searched. - * @param aCompare A function which takes the needle and an element in the - * array and returns -1, 0, or 1 depending on whether the needle is less - * than, equal to, or greater than the element, respectively. - * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or - * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. - */ - - -exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { - if (aHaystack.length === 0) { - return -1; - } - - var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND); - - if (index < 0) { - return -1; - } // We have found either the exact element, or the next-closest element than - // the one we are searching for. However, there may be more than one such - // element. Make sure we always return the smallest of these. - - - while (index - 1 >= 0) { - if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { - break; - } - - --index; - } - - return index; -}; - -},{}],1075:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2014 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var util = require('./util'); -/** - * Determine whether mappingB is after mappingA with respect to generated - * position. - */ - - -function generatedPositionAfter(mappingA, mappingB) { - // Optimized for most common case - var lineA = mappingA.generatedLine; - var lineB = mappingB.generatedLine; - var columnA = mappingA.generatedColumn; - var columnB = mappingB.generatedColumn; - return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; -} -/** - * A data structure to provide a sorted view of accumulated mappings in a - * performance conscious manner. It trades a neglibable overhead in general - * case for a large speedup in case of mappings being added in order. - */ - - -function MappingList() { - this._array = []; - this._sorted = true; // Serves as infimum - - this._last = { - generatedLine: -1, - generatedColumn: 0 - }; -} -/** - * Iterate through internal items. This method takes the same arguments that - * `Array.prototype.forEach` takes. - * - * NOTE: The order of the mappings is NOT guaranteed. - */ - - -MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { - this._array.forEach(aCallback, aThisArg); -}; -/** - * Add the given source mapping. - * - * @param Object aMapping - */ - - -MappingList.prototype.add = function MappingList_add(aMapping) { - if (generatedPositionAfter(this._last, aMapping)) { - this._last = aMapping; - - this._array.push(aMapping); - } else { - this._sorted = false; - - this._array.push(aMapping); - } -}; -/** - * Returns the flat, sorted array of mappings. The mappings are sorted by - * generated position. - * - * WARNING: This method returns internal data without copying, for - * performance. The return value must NOT be mutated, and should be treated as - * an immutable borrow. If you want to take ownership, you must make your own - * copy. - */ - - -MappingList.prototype.toArray = function MappingList_toArray() { - if (!this._sorted) { - this._array.sort(util.compareByGeneratedPositionsInflated); - - this._sorted = true; - } - - return this._array; -}; - -exports.MappingList = MappingList; - -},{"./util":1080}],1076:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -// It turns out that some (most?) JavaScript engines don't self-host -// `Array.prototype.sort`. This makes sense because C++ will likely remain -// faster than JS when doing raw CPU-intensive sorting. However, when using a -// custom comparator function, calling back and forth between the VM's C++ and -// JIT'd JS is rather slow *and* loses JIT type information, resulting in -// worse generated code for the comparator function than would be optimal. In -// fact, when sorting with a comparator, these costs outweigh the benefits of -// sorting in C++. By using our own JS-implemented Quick Sort (below), we get -// a ~3500ms mean speed-up in `bench/bench.html`. - -/** - * Swap the elements indexed by `x` and `y` in the array `ary`. - * - * @param {Array} ary - * The array. - * @param {Number} x - * The index of the first item. - * @param {Number} y - * The index of the second item. - */ -function swap(ary, x, y) { - var temp = ary[x]; - ary[x] = ary[y]; - ary[y] = temp; -} -/** - * Returns a random integer within the range `low .. high` inclusive. - * - * @param {Number} low - * The lower bound on the range. - * @param {Number} high - * The upper bound on the range. - */ - - -function randomIntInRange(low, high) { - return Math.round(low + Math.random() * (high - low)); -} -/** - * The Quick Sort algorithm. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - * @param {Number} p - * Start index of the array - * @param {Number} r - * End index of the array - */ - - -function doQuickSort(ary, comparator, p, r) { - // If our lower bound is less than our upper bound, we (1) partition the - // array into two pieces and (2) recurse on each half. If it is not, this is - // the empty array and our base case. - if (p < r) { - // (1) Partitioning. - // - // The partitioning chooses a pivot between `p` and `r` and moves all - // elements that are less than or equal to the pivot to the before it, and - // all the elements that are greater than it after it. The effect is that - // once partition is done, the pivot is in the exact place it will be when - // the array is put in sorted order, and it will not need to be moved - // again. This runs in O(n) time. - // Always choose a random pivot so that an input array which is reverse - // sorted does not cause O(n^2) running time. - var pivotIndex = randomIntInRange(p, r); - var i = p - 1; - swap(ary, pivotIndex, r); - var pivot = ary[r]; // Immediately after `j` is incremented in this loop, the following hold - // true: - // - // * Every element in `ary[p .. i]` is less than or equal to the pivot. - // - // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. - - for (var j = p; j < r; j++) { - if (comparator(ary[j], pivot) <= 0) { - i += 1; - swap(ary, i, j); - } - } - - swap(ary, i + 1, j); - var q = i + 1; // (2) Recurse on each half. - - doQuickSort(ary, comparator, p, q - 1); - doQuickSort(ary, comparator, q + 1, r); - } -} -/** - * Sort the given array in-place with the given comparator function. - * - * @param {Array} ary - * An array to sort. - * @param {function} comparator - * Function to use to compare two items. - */ - - -exports.quickSort = function (ary, comparator) { - doQuickSort(ary, comparator, 0, ary.length - 1); -}; - -},{}],1077:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var util = require('./util'); - -var binarySearch = require('./binary-search'); - -var ArraySet = require('./array-set').ArraySet; - -var base64VLQ = require('./base64-vlq'); - -var quickSort = require('./quick-sort').quickSort; - -function SourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap) : new BasicSourceMapConsumer(sourceMap); -} - -SourceMapConsumer.fromSourceMap = function (aSourceMap) { - return BasicSourceMapConsumer.fromSourceMap(aSourceMap); -}; -/** - * The version of the source mapping spec that we are consuming. - */ - - -SourceMapConsumer.prototype._version = 3; // `__generatedMappings` and `__originalMappings` are arrays that hold the -// parsed mapping coordinates from the source map's "mappings" attribute. They -// are lazily instantiated, accessed via the `_generatedMappings` and -// `_originalMappings` getters respectively, and we only parse the mappings -// and create these arrays once queried for a source location. We jump through -// these hoops because there can be many thousands of mappings, and parsing -// them is expensive, so we only want to do it if we must. -// -// Each object in the arrays is of the form: -// -// { -// generatedLine: The line number in the generated code, -// generatedColumn: The column number in the generated code, -// source: The path to the original source file that generated this -// chunk of code, -// originalLine: The line number in the original source that -// corresponds to this chunk of generated code, -// originalColumn: The column number in the original source that -// corresponds to this chunk of generated code, -// name: The name of the original symbol which generated this chunk of -// code. -// } -// -// All properties except for `generatedLine` and `generatedColumn` can be -// `null`. -// -// `_generatedMappings` is ordered by the generated positions. -// -// `_originalMappings` is ordered by the original positions. - -SourceMapConsumer.prototype.__generatedMappings = null; -Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { - get: function get() { - if (!this.__generatedMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__generatedMappings; - } -}); -SourceMapConsumer.prototype.__originalMappings = null; -Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { - get: function get() { - if (!this.__originalMappings) { - this._parseMappings(this._mappings, this.sourceRoot); - } - - return this.__originalMappings; - } -}); - -SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { - var c = aStr.charAt(index); - return c === ";" || c === ","; -}; -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - - -SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - throw new Error("Subclasses must implement _parseMappings"); -}; - -SourceMapConsumer.GENERATED_ORDER = 1; -SourceMapConsumer.ORIGINAL_ORDER = 2; -SourceMapConsumer.GREATEST_LOWER_BOUND = 1; -SourceMapConsumer.LEAST_UPPER_BOUND = 2; -/** - * Iterate over each mapping between an original source/line/column and a - * generated line/column in this source map. - * - * @param Function aCallback - * The function that is called with each mapping. - * @param Object aContext - * Optional. If specified, this object will be the value of `this` every - * time that `aCallback` is called. - * @param aOrder - * Either `SourceMapConsumer.GENERATED_ORDER` or - * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to - * iterate over the mappings sorted by the generated file's line/column - * order or the original's source/line/column order, respectively. Defaults to - * `SourceMapConsumer.GENERATED_ORDER`. - */ - -SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { - var context = aContext || null; - var order = aOrder || SourceMapConsumer.GENERATED_ORDER; - var mappings; - - switch (order) { - case SourceMapConsumer.GENERATED_ORDER: - mappings = this._generatedMappings; - break; - - case SourceMapConsumer.ORIGINAL_ORDER: - mappings = this._originalMappings; - break; - - default: - throw new Error("Unknown order of iteration."); - } - - var sourceRoot = this.sourceRoot; - mappings.map(function (mapping) { - var source = mapping.source === null ? null : this._sources.at(mapping.source); - - if (source != null && sourceRoot != null) { - source = util.join(sourceRoot, source); - } - - return { - source: source, - generatedLine: mapping.generatedLine, - generatedColumn: mapping.generatedColumn, - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: mapping.name === null ? null : this._names.at(mapping.name) - }; - }, this).forEach(aCallback, context); -}; -/** - * Returns all generated line and column information for the original source, - * line, and column provided. If no column is provided, returns all mappings - * corresponding to a either the line we are searching for or the next - * closest line that has any mappings. Otherwise, returns all mappings - * corresponding to the given line and either the column we are searching for - * or the next closest column that has any offsets. - * - * The only argument is an object with the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: Optional. the column number in the original source. - * - * and an array of objects is returned, each with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - - -SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { - var line = util.getArg(aArgs, 'line'); // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping - // returns the index of the closest mapping less than the needle. By - // setting needle.originalColumn to 0, we thus find the last mapping for - // the given line, provided such a mapping exists. - - var needle = { - source: util.getArg(aArgs, 'source'), - originalLine: line, - originalColumn: util.getArg(aArgs, 'column', 0) - }; - - if (this.sourceRoot != null) { - needle.source = util.relative(this.sourceRoot, needle.source); - } - - if (!this._sources.has(needle.source)) { - return []; - } - - needle.source = this._sources.indexOf(needle.source); - var mappings = []; - - var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND); - - if (index >= 0) { - var mapping = this._originalMappings[index]; - - if (aArgs.column === undefined) { - var originalLine = mapping.originalLine; // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we found. Since - // mappings are sorted, this is guaranteed to find all mappings for - // the line we found. - - while (mapping && mapping.originalLine === originalLine) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); - mapping = this._originalMappings[++index]; - } - } else { - var originalColumn = mapping.originalColumn; // Iterate until either we run out of mappings, or we run into - // a mapping for a different line than the one we were searching for. - // Since mappings are sorted, this is guaranteed to find all mappings for - // the line we are searching for. - - while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { - mappings.push({ - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }); - mapping = this._originalMappings[++index]; - } - } - } - - return mappings; -}; - -exports.SourceMapConsumer = SourceMapConsumer; -/** - * A BasicSourceMapConsumer instance represents a parsed source map which we can - * query for information about the original file positions by giving it a file - * position in the generated source. - * - * The only parameter is the raw source map (either as a JSON string, or - * already parsed to an object). According to the spec, source maps have the - * following attributes: - * - * - version: Which version of the source map spec this map is following. - * - sources: An array of URLs to the original source files. - * - names: An array of identifiers which can be referrenced by individual mappings. - * - sourceRoot: Optional. The URL root from which all sources are relative. - * - sourcesContent: Optional. An array of contents of the original source files. - * - mappings: A string of base64 VLQs which contain the actual mappings. - * - file: Optional. The generated file this source map is associated with. - * - * Here is an example source map, taken from the source map spec[0]: - * - * { - * version : 3, - * file: "out.js", - * sourceRoot : "", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AA,AB;;ABCDE;" - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# - */ - -function BasicSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sources = util.getArg(sourceMap, 'sources'); // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which - // requires the array) to play nice here. - - var names = util.getArg(sourceMap, 'names', []); - var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); - var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); - var mappings = util.getArg(sourceMap, 'mappings'); - var file = util.getArg(sourceMap, 'file', null); // Once again, Sass deviates from the spec and supplies the version as a - // string rather than a number, so we use loose equality checking here. - - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - sources = sources.map(String) // Some source maps produce relative source paths like "./foo.js" instead of - // "foo.js". Normalize these first so that future comparisons will succeed. - // See bugzil.la/1090768. - .map(util.normalize) // Always ensure that absolute sources are internally stored relative to - // the source root, if the source root is absolute. Not doing this would - // be particularly problematic when the source root is a prefix of the - // source (valid, but why??). See github issue #199 and bugzil.la/1188982. - .map(function (source) { - return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; - }); // Pass `true` below to allow duplicate names and sources. While source maps - // are intended to be compressed and deduplicated, the TypeScript compiler - // sometimes generates source maps with duplicates in them. See Github issue - // #72 and bugzil.la/889492. - - this._names = ArraySet.fromArray(names.map(String), true); - this._sources = ArraySet.fromArray(sources, true); - this.sourceRoot = sourceRoot; - this.sourcesContent = sourcesContent; - this._mappings = mappings; - this.file = file; -} - -BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); -BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; -/** - * Create a BasicSourceMapConsumer from a SourceMapGenerator. - * - * @param SourceMapGenerator aSourceMap - * The source map that will be consumed. - * @returns BasicSourceMapConsumer - */ - -BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap) { - var smc = Object.create(BasicSourceMapConsumer.prototype); - var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); - var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); - smc.sourceRoot = aSourceMap._sourceRoot; - smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot); - smc.file = aSourceMap._file; // Because we are modifying the entries (by converting string sources and - // names to indices into the sources and names ArraySets), we have to make - // a copy of the entry or else bad things happen. Shared mutable state - // strikes again! See github issue #191. - - var generatedMappings = aSourceMap._mappings.toArray().slice(); - - var destGeneratedMappings = smc.__generatedMappings = []; - var destOriginalMappings = smc.__originalMappings = []; - - for (var i = 0, length = generatedMappings.length; i < length; i++) { - var srcMapping = generatedMappings[i]; - var destMapping = new Mapping(); - destMapping.generatedLine = srcMapping.generatedLine; - destMapping.generatedColumn = srcMapping.generatedColumn; - - if (srcMapping.source) { - destMapping.source = sources.indexOf(srcMapping.source); - destMapping.originalLine = srcMapping.originalLine; - destMapping.originalColumn = srcMapping.originalColumn; - - if (srcMapping.name) { - destMapping.name = names.indexOf(srcMapping.name); - } - - destOriginalMappings.push(destMapping); - } - - destGeneratedMappings.push(destMapping); - } - - quickSort(smc.__originalMappings, util.compareByOriginalPositions); - return smc; -}; -/** - * The version of the source mapping spec that we are consuming. - */ - - -BasicSourceMapConsumer.prototype._version = 3; -/** - * The list of original sources. - */ - -Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { - get: function get() { - return this._sources.toArray().map(function (s) { - return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; - }, this); - } -}); -/** - * Provide the JIT with a nice shape / hidden class. - */ - -function Mapping() { - this.generatedLine = 0; - this.generatedColumn = 0; - this.source = null; - this.originalLine = null; - this.originalColumn = null; - this.name = null; -} -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - - -BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { - var generatedLine = 1; - var previousGeneratedColumn = 0; - var previousOriginalLine = 0; - var previousOriginalColumn = 0; - var previousSource = 0; - var previousName = 0; - var length = aStr.length; - var index = 0; - var cachedSegments = {}; - var temp = {}; - var originalMappings = []; - var generatedMappings = []; - var mapping, str, segment, end, value; - - while (index < length) { - if (aStr.charAt(index) === ';') { - generatedLine++; - index++; - previousGeneratedColumn = 0; - } else if (aStr.charAt(index) === ',') { - index++; - } else { - mapping = new Mapping(); - mapping.generatedLine = generatedLine; // Because each offset is encoded relative to the previous one, - // many segments often have the same encoding. We can exploit this - // fact by caching the parsed variable length fields of each segment, - // allowing us to avoid a second parse if we encounter the same - // segment again. - - for (end = index; end < length; end++) { - if (this._charIsMappingSeparator(aStr, end)) { - break; - } - } - - str = aStr.slice(index, end); - segment = cachedSegments[str]; - - if (segment) { - index += str.length; - } else { - segment = []; - - while (index < end) { - base64VLQ.decode(aStr, index, temp); - value = temp.value; - index = temp.rest; - segment.push(value); - } - - if (segment.length === 2) { - throw new Error('Found a source, but no line and column'); - } - - if (segment.length === 3) { - throw new Error('Found a source and line, but no column'); - } - - cachedSegments[str] = segment; - } // Generated column. - - - mapping.generatedColumn = previousGeneratedColumn + segment[0]; - previousGeneratedColumn = mapping.generatedColumn; - - if (segment.length > 1) { - // Original source. - mapping.source = previousSource + segment[1]; - previousSource += segment[1]; // Original line. - - mapping.originalLine = previousOriginalLine + segment[2]; - previousOriginalLine = mapping.originalLine; // Lines are stored 0-based - - mapping.originalLine += 1; // Original column. - - mapping.originalColumn = previousOriginalColumn + segment[3]; - previousOriginalColumn = mapping.originalColumn; - - if (segment.length > 4) { - // Original name. - mapping.name = previousName + segment[4]; - previousName += segment[4]; - } - } - - generatedMappings.push(mapping); - - if (typeof mapping.originalLine === 'number') { - originalMappings.push(mapping); - } - } - } - - quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); - this.__generatedMappings = generatedMappings; - quickSort(originalMappings, util.compareByOriginalPositions); - this.__originalMappings = originalMappings; -}; -/** - * Find the mapping that best matches the hypothetical "needle" mapping that - * we are searching for in the given "haystack" of mappings. - */ - - -BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { - // To return the position we are searching for, we must first find the - // mapping for the given position and then return the opposite position it - // points to. Because the mappings are sorted, we can use binary search to - // find the best mapping. - if (aNeedle[aLineName] <= 0) { - throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]); - } - - if (aNeedle[aColumnName] < 0) { - throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]); - } - - return binarySearch.search(aNeedle, aMappings, aComparator, aBias); -}; -/** - * Compute the last column for each generated mapping. The last column is - * inclusive. - */ - - -BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { - for (var index = 0; index < this._generatedMappings.length; ++index) { - var mapping = this._generatedMappings[index]; // Mappings do not contain a field for the last generated columnt. We - // can come up with an optimistic estimate, however, by assuming that - // mappings are contiguous (i.e. given two consecutive mappings, the - // first mapping ends where the second one starts). - - if (index + 1 < this._generatedMappings.length) { - var nextMapping = this._generatedMappings[index + 1]; - - if (mapping.generatedLine === nextMapping.generatedLine) { - mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; - continue; - } - } // The last mapping for each line spans the entire line. - - - mapping.lastGeneratedColumn = Infinity; - } -}; -/** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ - - -BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; - - var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util.compareByGeneratedPositionsDeflated, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); - - if (index >= 0) { - var mapping = this._generatedMappings[index]; - - if (mapping.generatedLine === needle.generatedLine) { - var source = util.getArg(mapping, 'source', null); - - if (source !== null) { - source = this._sources.at(source); - - if (this.sourceRoot != null) { - source = util.join(this.sourceRoot, source); - } - } - - var name = util.getArg(mapping, 'name', null); - - if (name !== null) { - name = this._names.at(name); - } - - return { - source: source, - line: util.getArg(mapping, 'originalLine', null), - column: util.getArg(mapping, 'originalColumn', null), - name: name - }; - } - } - - return { - source: null, - line: null, - column: null, - name: null - }; -}; -/** - * Return true if we have the source content for every source in the source - * map, false otherwise. - */ - - -BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { - if (!this.sourcesContent) { - return false; - } - - return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (sc) { - return sc == null; - }); -}; -/** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ - - -BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - if (!this.sourcesContent) { - return null; - } - - if (this.sourceRoot != null) { - aSource = util.relative(this.sourceRoot, aSource); - } - - if (this._sources.has(aSource)) { - return this.sourcesContent[this._sources.indexOf(aSource)]; - } - - var url; - - if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { - // XXX: file:// URIs and absolute paths lead to unexpected behavior for - // many users. We can help them out when they expect file:// URIs to - // behave like it would if they were running a local HTTP server. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. - var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); - - if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { - return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; - } - - if ((!url.path || url.path == "/") && this._sources.has("/" + aSource)) { - return this.sourcesContent[this._sources.indexOf("/" + aSource)]; - } - } // This function is used recursively from - // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we - // don't want to throw if we can't find the source - we just want to - // return null, so we provide a flag to exit gracefully. - - - if (nullOnMissing) { - return null; - } else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } -}; -/** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or - * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the - * closest element that is smaller than or greater than the one we are - * searching for, respectively, if the exact element cannot be found. - * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - - -BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { - var source = util.getArg(aArgs, 'source'); - - if (this.sourceRoot != null) { - source = util.relative(this.sourceRoot, source); - } - - if (!this._sources.has(source)) { - return { - line: null, - column: null, - lastColumn: null - }; - } - - source = this._sources.indexOf(source); - var needle = { - source: source, - originalLine: util.getArg(aArgs, 'line'), - originalColumn: util.getArg(aArgs, 'column') - }; - - var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); - - if (index >= 0) { - var mapping = this._originalMappings[index]; - - if (mapping.source === needle.source) { - return { - line: util.getArg(mapping, 'generatedLine', null), - column: util.getArg(mapping, 'generatedColumn', null), - lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) - }; - } - } - - return { - line: null, - column: null, - lastColumn: null - }; -}; - -exports.BasicSourceMapConsumer = BasicSourceMapConsumer; -/** - * An IndexedSourceMapConsumer instance represents a parsed source map which - * we can query for information. It differs from BasicSourceMapConsumer in - * that it takes "indexed" source maps (i.e. ones with a "sections" field) as - * input. - * - * The only parameter is a raw source map (either as a JSON string, or already - * parsed to an object). According to the spec for indexed source maps, they - * have the following attributes: - * - * - version: Which version of the source map spec this map is following. - * - file: Optional. The generated file this source map is associated with. - * - sections: A list of section definitions. - * - * Each value under the "sections" field has two fields: - * - offset: The offset into the original specified at which this section - * begins to apply, defined as an object with a "line" and "column" - * field. - * - map: A source map definition. This source map could also be indexed, - * but doesn't have to be. - * - * Instead of the "map" field, it's also possible to have a "url" field - * specifying a URL to retrieve a source map from, but that's currently - * unsupported. - * - * Here's an example source map, taken from the source map spec[0], but - * modified to omit a section which uses the "url" field. - * - * { - * version : 3, - * file: "app.js", - * sections: [{ - * offset: {line:100, column:10}, - * map: { - * version : 3, - * file: "section.js", - * sources: ["foo.js", "bar.js"], - * names: ["src", "maps", "are", "fun"], - * mappings: "AAAA,E;;ABCDE;" - * } - * }], - * } - * - * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt - */ - -function IndexedSourceMapConsumer(aSourceMap) { - var sourceMap = aSourceMap; - - if (typeof aSourceMap === 'string') { - sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); - } - - var version = util.getArg(sourceMap, 'version'); - var sections = util.getArg(sourceMap, 'sections'); - - if (version != this._version) { - throw new Error('Unsupported version: ' + version); - } - - this._sources = new ArraySet(); - this._names = new ArraySet(); - var lastOffset = { - line: -1, - column: 0 - }; - this._sections = sections.map(function (s) { - if (s.url) { - // The url field will require support for asynchronicity. - // See https://github.com/mozilla/source-map/issues/16 - throw new Error('Support for url field in sections not implemented.'); - } - - var offset = util.getArg(s, 'offset'); - var offsetLine = util.getArg(offset, 'line'); - var offsetColumn = util.getArg(offset, 'column'); - - if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { - throw new Error('Section offsets must be ordered and non-overlapping.'); - } - - lastOffset = offset; - return { - generatedOffset: { - // The offset fields are 0-based, but we use 1-based indices when - // encoding/decoding from VLQ. - generatedLine: offsetLine + 1, - generatedColumn: offsetColumn + 1 - }, - consumer: new SourceMapConsumer(util.getArg(s, 'map')) - }; - }); -} - -IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); -IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; -/** - * The version of the source mapping spec that we are consuming. - */ - -IndexedSourceMapConsumer.prototype._version = 3; -/** - * The list of original sources. - */ - -Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { - get: function get() { - var sources = []; - - for (var i = 0; i < this._sections.length; i++) { - for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { - sources.push(this._sections[i].consumer.sources[j]); - } - } - - return sources; - } -}); -/** - * Returns the original source, line, and column information for the generated - * source's line and column positions provided. The only argument is an object - * with the following properties: - * - * - line: The line number in the generated source. - * - column: The column number in the generated source. - * - * and an object is returned with the following properties: - * - * - source: The original source file, or null. - * - line: The line number in the original source, or null. - * - column: The column number in the original source, or null. - * - name: The original identifier, or null. - */ - -IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { - var needle = { - generatedLine: util.getArg(aArgs, 'line'), - generatedColumn: util.getArg(aArgs, 'column') - }; // Find the section containing the generated position we're trying to map - // to an original position. - - var sectionIndex = binarySearch.search(needle, this._sections, function (needle, section) { - var cmp = needle.generatedLine - section.generatedOffset.generatedLine; - - if (cmp) { - return cmp; - } - - return needle.generatedColumn - section.generatedOffset.generatedColumn; - }); - var section = this._sections[sectionIndex]; - - if (!section) { - return { - source: null, - line: null, - column: null, - name: null - }; - } - - return section.consumer.originalPositionFor({ - line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), - column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), - bias: aArgs.bias - }); -}; -/** - * Return true if we have the source content for every source in the source - * map, false otherwise. - */ - - -IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { - return this._sections.every(function (s) { - return s.consumer.hasContentsOfAllSources(); - }); -}; -/** - * Returns the original source content. The only argument is the url of the - * original source file. Returns null if no original source content is - * available. - */ - - -IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var content = section.consumer.sourceContentFor(aSource, true); - - if (content) { - return content; - } - } - - if (nullOnMissing) { - return null; - } else { - throw new Error('"' + aSource + '" is not in the SourceMap.'); - } -}; -/** - * Returns the generated line and column information for the original source, - * line, and column positions provided. The only argument is an object with - * the following properties: - * - * - source: The filename of the original source. - * - line: The line number in the original source. - * - column: The column number in the original source. - * - * and an object is returned with the following properties: - * - * - line: The line number in the generated source, or null. - * - column: The column number in the generated source, or null. - */ - - -IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; // Only consider this section if the requested source is in the list of - // sources of the consumer. - - if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { - continue; - } - - var generatedPosition = section.consumer.generatedPositionFor(aArgs); - - if (generatedPosition) { - var ret = { - line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), - column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) - }; - return ret; - } - } - - return { - line: null, - column: null - }; -}; -/** - * Parse the mappings in a string in to a data structure which we can easily - * query (the ordered arrays in the `this.__generatedMappings` and - * `this.__originalMappings` properties). - */ - - -IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { - this.__generatedMappings = []; - this.__originalMappings = []; - - for (var i = 0; i < this._sections.length; i++) { - var section = this._sections[i]; - var sectionMappings = section.consumer._generatedMappings; - - for (var j = 0; j < sectionMappings.length; j++) { - var mapping = sectionMappings[j]; - - var source = section.consumer._sources.at(mapping.source); - - if (section.consumer.sourceRoot !== null) { - source = util.join(section.consumer.sourceRoot, source); - } - - this._sources.add(source); - - source = this._sources.indexOf(source); - - var name = section.consumer._names.at(mapping.name); - - this._names.add(name); - - name = this._names.indexOf(name); // The mappings coming from the consumer for the section have - // generated positions relative to the start of the section, so we - // need to offset them to be relative to the start of the concatenated - // generated file. - - var adjustedMapping = { - source: source, - generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), - generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), - originalLine: mapping.originalLine, - originalColumn: mapping.originalColumn, - name: name - }; - - this.__generatedMappings.push(adjustedMapping); - - if (typeof adjustedMapping.originalLine === 'number') { - this.__originalMappings.push(adjustedMapping); - } - } - } - - quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); - quickSort(this.__originalMappings, util.compareByOriginalPositions); -}; - -exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; - -},{"./array-set":1071,"./base64-vlq":1072,"./binary-search":1074,"./quick-sort":1076,"./util":1080}],1078:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var base64VLQ = require('./base64-vlq'); - -var util = require('./util'); - -var ArraySet = require('./array-set').ArraySet; - -var MappingList = require('./mapping-list').MappingList; -/** - * An instance of the SourceMapGenerator represents a source map which is - * being built incrementally. You may pass an object with the following - * properties: - * - * - file: The filename of the generated source. - * - sourceRoot: A root for all relative URLs in this source map. - */ - - -function SourceMapGenerator(aArgs) { - if (!aArgs) { - aArgs = {}; - } - - this._file = util.getArg(aArgs, 'file', null); - this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); - this._skipValidation = util.getArg(aArgs, 'skipValidation', false); - this._sources = new ArraySet(); - this._names = new ArraySet(); - this._mappings = new MappingList(); - this._sourcesContents = null; -} - -SourceMapGenerator.prototype._version = 3; -/** - * Creates a new SourceMapGenerator based on a SourceMapConsumer - * - * @param aSourceMapConsumer The SourceMap. - */ - -SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { - var sourceRoot = aSourceMapConsumer.sourceRoot; - var generator = new SourceMapGenerator({ - file: aSourceMapConsumer.file, - sourceRoot: sourceRoot - }); - aSourceMapConsumer.eachMapping(function (mapping) { - var newMapping = { - generated: { - line: mapping.generatedLine, - column: mapping.generatedColumn - } - }; - - if (mapping.source != null) { - newMapping.source = mapping.source; - - if (sourceRoot != null) { - newMapping.source = util.relative(sourceRoot, newMapping.source); - } - - newMapping.original = { - line: mapping.originalLine, - column: mapping.originalColumn - }; - - if (mapping.name != null) { - newMapping.name = mapping.name; - } - } - - generator.addMapping(newMapping); - }); - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - - if (content != null) { - generator.setSourceContent(sourceFile, content); - } - }); - return generator; -}; -/** - * Add a single mapping from original source line and column to the generated - * source's line and column for this source map being created. The mapping - * object should have the following properties: - * - * - generated: An object with the generated line and column positions. - * - original: An object with the original line and column positions. - * - source: The original source file (relative to the sourceRoot). - * - name: An optional original token name for this mapping. - */ - - -SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { - var generated = util.getArg(aArgs, 'generated'); - var original = util.getArg(aArgs, 'original', null); - var source = util.getArg(aArgs, 'source', null); - var name = util.getArg(aArgs, 'name', null); - - if (!this._skipValidation) { - this._validateMapping(generated, original, source, name); - } - - if (source != null) { - source = String(source); - - if (!this._sources.has(source)) { - this._sources.add(source); - } - } - - if (name != null) { - name = String(name); - - if (!this._names.has(name)) { - this._names.add(name); - } - } - - this._mappings.add({ - generatedLine: generated.line, - generatedColumn: generated.column, - originalLine: original != null && original.line, - originalColumn: original != null && original.column, - source: source, - name: name - }); -}; -/** - * Set the source content for a source file. - */ - - -SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { - var source = aSourceFile; - - if (this._sourceRoot != null) { - source = util.relative(this._sourceRoot, source); - } - - if (aSourceContent != null) { - // Add the source content to the _sourcesContents map. - // Create a new _sourcesContents map if the property is null. - if (!this._sourcesContents) { - this._sourcesContents = Object.create(null); - } - - this._sourcesContents[util.toSetString(source)] = aSourceContent; - } else if (this._sourcesContents) { - // Remove the source file from the _sourcesContents map. - // If the _sourcesContents map is empty, set the property to null. - delete this._sourcesContents[util.toSetString(source)]; - - if (Object.keys(this._sourcesContents).length === 0) { - this._sourcesContents = null; - } - } -}; -/** - * Applies the mappings of a sub-source-map for a specific source file to the - * source map being generated. Each mapping to the supplied source file is - * rewritten using the supplied source map. Note: The resolution for the - * resulting mappings is the minimium of this map and the supplied map. - * - * @param aSourceMapConsumer The source map to be applied. - * @param aSourceFile Optional. The filename of the source file. - * If omitted, SourceMapConsumer's file property will be used. - * @param aSourceMapPath Optional. The dirname of the path to the source map - * to be applied. If relative, it is relative to the SourceMapConsumer. - * This parameter is needed when the two source maps aren't in the same - * directory, and the source map to be applied contains relative source - * paths. If so, those relative source paths need to be rewritten - * relative to the SourceMapGenerator. - */ - - -SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { - var sourceFile = aSourceFile; // If aSourceFile is omitted, we will use the file property of the SourceMap - - if (aSourceFile == null) { - if (aSourceMapConsumer.file == null) { - throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); - } - - sourceFile = aSourceMapConsumer.file; - } - - var sourceRoot = this._sourceRoot; // Make "sourceFile" relative if an absolute Url is passed. - - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } // Applying the SourceMap can add and remove items from the sources and - // the names array. - - - var newSources = new ArraySet(); - var newNames = new ArraySet(); // Find mappings for the "sourceFile" - - this._mappings.unsortedForEach(function (mapping) { - if (mapping.source === sourceFile && mapping.originalLine != null) { - // Check if it can be mapped by the source map, then update the mapping. - var original = aSourceMapConsumer.originalPositionFor({ - line: mapping.originalLine, - column: mapping.originalColumn - }); - - if (original.source != null) { - // Copy mapping - mapping.source = original.source; - - if (aSourceMapPath != null) { - mapping.source = util.join(aSourceMapPath, mapping.source); - } - - if (sourceRoot != null) { - mapping.source = util.relative(sourceRoot, mapping.source); - } - - mapping.originalLine = original.line; - mapping.originalColumn = original.column; - - if (original.name != null) { - mapping.name = original.name; - } - } - } - - var source = mapping.source; - - if (source != null && !newSources.has(source)) { - newSources.add(source); - } - - var name = mapping.name; - - if (name != null && !newNames.has(name)) { - newNames.add(name); - } - }, this); - - this._sources = newSources; - this._names = newNames; // Copy sourcesContents of applied map. - - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - - if (content != null) { - if (aSourceMapPath != null) { - sourceFile = util.join(aSourceMapPath, sourceFile); - } - - if (sourceRoot != null) { - sourceFile = util.relative(sourceRoot, sourceFile); - } - - this.setSourceContent(sourceFile, content); - } - }, this); -}; -/** - * A mapping can have one of the three levels of data: - * - * 1. Just the generated position. - * 2. The Generated position, original position, and original source. - * 3. Generated and original position, original source, as well as a name - * token. - * - * To maintain consistency, we validate that any new mapping being added falls - * in to one of these categories. - */ - - -SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { - // When aOriginal is truthy but has empty values for .line and .column, - // it is most likely a programmer error. In this case we throw a very - // specific error message to try to guide them the right way. - // For example: https://github.com/Polymer/polymer-bundler/pull/519 - if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { - throw new Error('original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.'); - } - - if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { - // Case 1. - return; - } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { - // Cases 2 and 3. - return; - } else { - throw new Error('Invalid mapping: ' + JSON.stringify({ - generated: aGenerated, - source: aSource, - original: aOriginal, - name: aName - })); - } -}; -/** - * Serialize the accumulated mappings in to the stream of base 64 VLQs - * specified by the source map format. - */ - - -SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { - var previousGeneratedColumn = 0; - var previousGeneratedLine = 1; - var previousOriginalColumn = 0; - var previousOriginalLine = 0; - var previousName = 0; - var previousSource = 0; - var result = ''; - var next; - var mapping; - var nameIdx; - var sourceIdx; - - var mappings = this._mappings.toArray(); - - for (var i = 0, len = mappings.length; i < len; i++) { - mapping = mappings[i]; - next = ''; - - if (mapping.generatedLine !== previousGeneratedLine) { - previousGeneratedColumn = 0; - - while (mapping.generatedLine !== previousGeneratedLine) { - next += ';'; - previousGeneratedLine++; - } - } else { - if (i > 0) { - if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { - continue; - } - - next += ','; - } - } - - next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); - previousGeneratedColumn = mapping.generatedColumn; - - if (mapping.source != null) { - sourceIdx = this._sources.indexOf(mapping.source); - next += base64VLQ.encode(sourceIdx - previousSource); - previousSource = sourceIdx; // lines are stored 0-based in SourceMap spec version 3 - - next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); - previousOriginalLine = mapping.originalLine - 1; - next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); - previousOriginalColumn = mapping.originalColumn; - - if (mapping.name != null) { - nameIdx = this._names.indexOf(mapping.name); - next += base64VLQ.encode(nameIdx - previousName); - previousName = nameIdx; - } - } - - result += next; - } - - return result; -}; - -SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { - return aSources.map(function (source) { - if (!this._sourcesContents) { - return null; - } - - if (aSourceRoot != null) { - source = util.relative(aSourceRoot, source); - } - - var key = util.toSetString(source); - return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; - }, this); -}; -/** - * Externalize the source map. - */ - - -SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { - var map = { - version: this._version, - sources: this._sources.toArray(), - names: this._names.toArray(), - mappings: this._serializeMappings() - }; - - if (this._file != null) { - map.file = this._file; - } - - if (this._sourceRoot != null) { - map.sourceRoot = this._sourceRoot; - } - - if (this._sourcesContents) { - map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); - } - - return map; -}; -/** - * Render the source map being generated to a string. - */ - - -SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { - return JSON.stringify(this.toJSON()); -}; - -exports.SourceMapGenerator = SourceMapGenerator; - -},{"./array-set":1071,"./base64-vlq":1072,"./mapping-list":1075,"./util":1080}],1079:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ -var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; - -var util = require('./util'); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other -// operating systems these days (capturing the result). - - -var REGEX_NEWLINE = /(\r?\n)/; // Newline character code for charCodeAt() comparisons - -var NEWLINE_CODE = 10; // Private symbol for identifying `SourceNode`s when multiple versions of -// the source-map library are loaded. This MUST NOT CHANGE across -// versions! - -var isSourceNode = "$$$isSourceNode$$$"; -/** - * SourceNodes provide a way to abstract over interpolating/concatenating - * snippets of generated JavaScript source code while maintaining the line and - * column information associated with the original source code. - * - * @param aLine The original line number. - * @param aColumn The original column number. - * @param aSource The original source's filename. - * @param aChunks Optional. An array of strings which are snippets of - * generated JS, or other SourceNodes. - * @param aName The original identifier. - */ - -function SourceNode(aLine, aColumn, aSource, aChunks, aName) { - this.children = []; - this.sourceContents = {}; - this.line = aLine == null ? null : aLine; - this.column = aColumn == null ? null : aColumn; - this.source = aSource == null ? null : aSource; - this.name = aName == null ? null : aName; - this[isSourceNode] = true; - if (aChunks != null) this.add(aChunks); -} -/** - * Creates a SourceNode from generated code and a SourceMapConsumer. - * - * @param aGeneratedCode The generated code - * @param aSourceMapConsumer The SourceMap for the generated code - * @param aRelativePath Optional. The path that relative sources in the - * SourceMapConsumer should be relative to. - */ - - -SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { - // The SourceNode we want to fill with the generated code - // and the SourceMap - var node = new SourceNode(); // All even indices of this array are one line of the generated code, - // while all odd indices are the newlines between two adjacent lines - // (since `REGEX_NEWLINE` captures its match). - // Processed fragments are accessed by calling `shiftNextLine`. - - var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); - var remainingLinesIndex = 0; - - var shiftNextLine = function shiftNextLine() { - var lineContents = getNextLine(); // The last line of a file might not have a newline. - - var newLine = getNextLine() || ""; - return lineContents + newLine; - - function getNextLine() { - return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined; - } - }; // We need to remember the position of "remainingLines" - - - var lastGeneratedLine = 1, - lastGeneratedColumn = 0; // The generate SourceNodes we need a code range. - // To extract it current and last mapping is used. - // Here we store the last mapping. - - var lastMapping = null; - aSourceMapConsumer.eachMapping(function (mapping) { - if (lastMapping !== null) { - // We add the code from "lastMapping" to "mapping": - // First check if there is a new line in between. - if (lastGeneratedLine < mapping.generatedLine) { - // Associate first line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - lastGeneratedLine++; - lastGeneratedColumn = 0; // The remaining code is added without mapping - } else { - // There is no new line in between. - // Associate the code between "lastGeneratedColumn" and - // "mapping.generatedColumn" with "lastMapping" - var nextLine = remainingLines[remainingLinesIndex]; - var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); - lastGeneratedColumn = mapping.generatedColumn; - addMappingWithCode(lastMapping, code); // No more remaining code, continue - - lastMapping = mapping; - return; - } - } // We add the generated code until the first mapping - // to the SourceNode without any mapping. - // Each line is added as separate string. - - - while (lastGeneratedLine < mapping.generatedLine) { - node.add(shiftNextLine()); - lastGeneratedLine++; - } - - if (lastGeneratedColumn < mapping.generatedColumn) { - var nextLine = remainingLines[remainingLinesIndex]; - node.add(nextLine.substr(0, mapping.generatedColumn)); - remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); - lastGeneratedColumn = mapping.generatedColumn; - } - - lastMapping = mapping; - }, this); // We have processed all mappings. - - if (remainingLinesIndex < remainingLines.length) { - if (lastMapping) { - // Associate the remaining code in the current line with "lastMapping" - addMappingWithCode(lastMapping, shiftNextLine()); - } // and add the remaining lines without any mapping - - - node.add(remainingLines.splice(remainingLinesIndex).join("")); - } // Copy sourcesContent into SourceNode - - - aSourceMapConsumer.sources.forEach(function (sourceFile) { - var content = aSourceMapConsumer.sourceContentFor(sourceFile); - - if (content != null) { - if (aRelativePath != null) { - sourceFile = util.join(aRelativePath, sourceFile); - } - - node.setSourceContent(sourceFile, content); - } - }); - return node; - - function addMappingWithCode(mapping, code) { - if (mapping === null || mapping.source === undefined) { - node.add(code); - } else { - var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; - node.add(new SourceNode(mapping.originalLine, mapping.originalColumn, source, code, mapping.name)); - } - } -}; -/** - * Add a chunk of generated JS to this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - - -SourceNode.prototype.add = function SourceNode_add(aChunk) { - if (Array.isArray(aChunk)) { - aChunk.forEach(function (chunk) { - this.add(chunk); - }, this); - } else if (aChunk[isSourceNode] || typeof aChunk === "string") { - if (aChunk) { - this.children.push(aChunk); - } - } else { - throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); - } - - return this; -}; -/** - * Add a chunk of generated JS to the beginning of this source node. - * - * @param aChunk A string snippet of generated JS code, another instance of - * SourceNode, or an array where each member is one of those things. - */ - - -SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { - if (Array.isArray(aChunk)) { - for (var i = aChunk.length - 1; i >= 0; i--) { - this.prepend(aChunk[i]); - } - } else if (aChunk[isSourceNode] || typeof aChunk === "string") { - this.children.unshift(aChunk); - } else { - throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); - } - - return this; -}; -/** - * Walk over the tree of JS snippets in this node and its children. The - * walking function is called once for each snippet of JS and is passed that - * snippet and the its original associated source's line/column location. - * - * @param aFn The traversal function. - */ - - -SourceNode.prototype.walk = function SourceNode_walk(aFn) { - var chunk; - - for (var i = 0, len = this.children.length; i < len; i++) { - chunk = this.children[i]; - - if (chunk[isSourceNode]) { - chunk.walk(aFn); - } else { - if (chunk !== '') { - aFn(chunk, { - source: this.source, - line: this.line, - column: this.column, - name: this.name - }); - } - } - } -}; -/** - * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between - * each of `this.children`. - * - * @param aSep The separator. - */ - - -SourceNode.prototype.join = function SourceNode_join(aSep) { - var newChildren; - var i; - var len = this.children.length; - - if (len > 0) { - newChildren = []; - - for (i = 0; i < len - 1; i++) { - newChildren.push(this.children[i]); - newChildren.push(aSep); - } - - newChildren.push(this.children[i]); - this.children = newChildren; - } - - return this; -}; -/** - * Call String.prototype.replace on the very right-most source snippet. Useful - * for trimming whitespace from the end of a source node, etc. - * - * @param aPattern The pattern to replace. - * @param aReplacement The thing to replace the pattern with. - */ - - -SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { - var lastChild = this.children[this.children.length - 1]; - - if (lastChild[isSourceNode]) { - lastChild.replaceRight(aPattern, aReplacement); - } else if (typeof lastChild === 'string') { - this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); - } else { - this.children.push(''.replace(aPattern, aReplacement)); - } - - return this; -}; -/** - * Set the source content for a source file. This will be added to the SourceMapGenerator - * in the sourcesContent field. - * - * @param aSourceFile The filename of the source file - * @param aSourceContent The content of the source file - */ - - -SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { - this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; -}; -/** - * Walk over the tree of SourceNodes. The walking function is called for each - * source file content and is passed the filename and source content. - * - * @param aFn The traversal function. - */ - - -SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { - for (var i = 0, len = this.children.length; i < len; i++) { - if (this.children[i][isSourceNode]) { - this.children[i].walkSourceContents(aFn); - } - } - - var sources = Object.keys(this.sourceContents); - - for (var i = 0, len = sources.length; i < len; i++) { - aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); - } -}; -/** - * Return the string representation of this source node. Walks over the tree - * and concatenates all the various snippets together to one string. - */ - - -SourceNode.prototype.toString = function SourceNode_toString() { - var str = ""; - this.walk(function (chunk) { - str += chunk; - }); - return str; -}; -/** - * Returns the string representation of this source node along with a source - * map. - */ - - -SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { - var generated = { - code: "", - line: 1, - column: 0 - }; - var map = new SourceMapGenerator(aArgs); - var sourceMappingActive = false; - var lastOriginalSource = null; - var lastOriginalLine = null; - var lastOriginalColumn = null; - var lastOriginalName = null; - this.walk(function (chunk, original) { - generated.code += chunk; - - if (original.source !== null && original.line !== null && original.column !== null) { - if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - - lastOriginalSource = original.source; - lastOriginalLine = original.line; - lastOriginalColumn = original.column; - lastOriginalName = original.name; - sourceMappingActive = true; - } else if (sourceMappingActive) { - map.addMapping({ - generated: { - line: generated.line, - column: generated.column - } - }); - lastOriginalSource = null; - sourceMappingActive = false; - } - - for (var idx = 0, length = chunk.length; idx < length; idx++) { - if (chunk.charCodeAt(idx) === NEWLINE_CODE) { - generated.line++; - generated.column = 0; // Mappings end at eol - - if (idx + 1 === length) { - lastOriginalSource = null; - sourceMappingActive = false; - } else if (sourceMappingActive) { - map.addMapping({ - source: original.source, - original: { - line: original.line, - column: original.column - }, - generated: { - line: generated.line, - column: generated.column - }, - name: original.name - }); - } - } else { - generated.column++; - } - } - }); - this.walkSourceContents(function (sourceFile, sourceContent) { - map.setSourceContent(sourceFile, sourceContent); - }); - return { - code: generated.code, - map: map - }; -}; - -exports.SourceNode = SourceNode; - -},{"./source-map-generator":1078,"./util":1080}],1080:[function(require,module,exports){ -"use strict"; - -/* -*- Mode: js; js-indent-level: 2; -*- */ - -/* - * Copyright 2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE or: - * http://opensource.org/licenses/BSD-3-Clause - */ - -/** - * This is a helper function for getting values from parameter/options - * objects. - * - * @param args The object we are extracting values from - * @param name The name of the property we are getting. - * @param defaultValue An optional value to return if the property is missing - * from the object. If this is not specified and the property is missing, an - * error will be thrown. - */ -function getArg(aArgs, aName, aDefaultValue) { - if (aName in aArgs) { - return aArgs[aName]; - } else if (arguments.length === 3) { - return aDefaultValue; - } else { - throw new Error('"' + aName + '" is a required argument.'); - } -} - -exports.getArg = getArg; -var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; -var dataUrlRegexp = /^data:.+\,.+$/; - -function urlParse(aUrl) { - var match = aUrl.match(urlRegexp); - - if (!match) { - return null; - } - - return { - scheme: match[1], - auth: match[2], - host: match[3], - port: match[4], - path: match[5] - }; -} - -exports.urlParse = urlParse; - -function urlGenerate(aParsedUrl) { - var url = ''; - - if (aParsedUrl.scheme) { - url += aParsedUrl.scheme + ':'; - } - - url += '//'; - - if (aParsedUrl.auth) { - url += aParsedUrl.auth + '@'; - } - - if (aParsedUrl.host) { - url += aParsedUrl.host; - } - - if (aParsedUrl.port) { - url += ":" + aParsedUrl.port; - } - - if (aParsedUrl.path) { - url += aParsedUrl.path; - } - - return url; -} - -exports.urlGenerate = urlGenerate; -/** - * Normalizes a path, or the path portion of a URL: - * - * - Replaces consecutive slashes with one slash. - * - Removes unnecessary '.' parts. - * - Removes unnecessary '/..' parts. - * - * Based on code in the Node.js 'path' core module. - * - * @param aPath The path or url to normalize. - */ - -function normalize(aPath) { - var path = aPath; - var url = urlParse(aPath); - - if (url) { - if (!url.path) { - return aPath; - } - - path = url.path; - } - - var isAbsolute = exports.isAbsolute(path); - var parts = path.split(/\/+/); - - for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { - part = parts[i]; - - if (part === '.') { - parts.splice(i, 1); - } else if (part === '..') { - up++; - } else if (up > 0) { - if (part === '') { - // The first part is blank if the path is absolute. Trying to go - // above the root is a no-op. Therefore we can remove all '..' parts - // directly after the root. - parts.splice(i + 1, up); - up = 0; - } else { - parts.splice(i, 2); - up--; - } - } - } - - path = parts.join('/'); - - if (path === '') { - path = isAbsolute ? '/' : '.'; - } - - if (url) { - url.path = path; - return urlGenerate(url); - } - - return path; -} - -exports.normalize = normalize; -/** - * Joins two paths/URLs. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be joined with the root. - * - * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a - * scheme-relative URL: Then the scheme of aRoot, if any, is prepended - * first. - * - Otherwise aPath is a path. If aRoot is a URL, then its path portion - * is updated with the result and aRoot is returned. Otherwise the result - * is returned. - * - If aPath is absolute, the result is aPath. - * - Otherwise the two paths are joined with a slash. - * - Joining for example 'http://' and 'www.example.com' is also supported. - */ - -function join(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - - if (aPath === "") { - aPath = "."; - } - - var aPathUrl = urlParse(aPath); - var aRootUrl = urlParse(aRoot); - - if (aRootUrl) { - aRoot = aRootUrl.path || '/'; - } // `join(foo, '//www.example.org')` - - - if (aPathUrl && !aPathUrl.scheme) { - if (aRootUrl) { - aPathUrl.scheme = aRootUrl.scheme; - } - - return urlGenerate(aPathUrl); - } - - if (aPathUrl || aPath.match(dataUrlRegexp)) { - return aPath; - } // `join('http://', 'www.example.com')` - - - if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { - aRootUrl.host = aPath; - return urlGenerate(aRootUrl); - } - - var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); - - if (aRootUrl) { - aRootUrl.path = joined; - return urlGenerate(aRootUrl); - } - - return joined; -} - -exports.join = join; - -exports.isAbsolute = function (aPath) { - return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp); -}; -/** - * Make a path relative to a URL or another path. - * - * @param aRoot The root path or URL. - * @param aPath The path or URL to be made relative to aRoot. - */ - - -function relative(aRoot, aPath) { - if (aRoot === "") { - aRoot = "."; - } - - aRoot = aRoot.replace(/\/$/, ''); // It is possible for the path to be above the root. In this case, simply - // checking whether the root is a prefix of the path won't work. Instead, we - // need to remove components from the root one by one, until either we find - // a prefix that fits, or we run out of components to remove. - - var level = 0; - - while (aPath.indexOf(aRoot + '/') !== 0) { - var index = aRoot.lastIndexOf("/"); - - if (index < 0) { - return aPath; - } // If the only part of the root that is left is the scheme (i.e. http://, - // file:///, etc.), one or more slashes (/), or simply nothing at all, we - // have exhausted all components, so the path is not relative to the root. - - - aRoot = aRoot.slice(0, index); - - if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { - return aPath; - } - - ++level; - } // Make sure we add a "../" for each component we removed from the root. - - - return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); -} - -exports.relative = relative; - -var supportsNullProto = function () { - var obj = Object.create(null); - return !('__proto__' in obj); -}(); - -function identity(s) { - return s; -} -/** - * Because behavior goes wacky when you set `__proto__` on objects, we - * have to prefix all the strings in our set with an arbitrary character. - * - * See https://github.com/mozilla/source-map/pull/31 and - * https://github.com/mozilla/source-map/issues/30 - * - * @param String aStr - */ - - -function toSetString(aStr) { - if (isProtoString(aStr)) { - return '$' + aStr; - } - - return aStr; -} - -exports.toSetString = supportsNullProto ? identity : toSetString; - -function fromSetString(aStr) { - if (isProtoString(aStr)) { - return aStr.slice(1); - } - - return aStr; -} - -exports.fromSetString = supportsNullProto ? identity : fromSetString; - -function isProtoString(s) { - if (!s) { - return false; - } - - var length = s.length; - - if (length < 9 - /* "__proto__".length */ - ) { - return false; - } - - if (s.charCodeAt(length - 1) !== 95 - /* '_' */ - || s.charCodeAt(length - 2) !== 95 - /* '_' */ - || s.charCodeAt(length - 3) !== 111 - /* 'o' */ - || s.charCodeAt(length - 4) !== 116 - /* 't' */ - || s.charCodeAt(length - 5) !== 111 - /* 'o' */ - || s.charCodeAt(length - 6) !== 114 - /* 'r' */ - || s.charCodeAt(length - 7) !== 112 - /* 'p' */ - || s.charCodeAt(length - 8) !== 95 - /* '_' */ - || s.charCodeAt(length - 9) !== 95 - /* '_' */ - ) { - return false; - } - - for (var i = length - 10; i >= 0; i--) { - if (s.charCodeAt(i) !== 36 - /* '$' */ - ) { - return false; - } - } - - return true; -} -/** - * Comparator between two mappings where the original positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same original source/line/column, but different generated - * line and column the same. Useful when searching for a mapping with a - * stubbed out mapping. - */ - - -function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { - var cmp = mappingA.source - mappingB.source; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - - if (cmp !== 0 || onlyCompareOriginal) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedLine - mappingB.generatedLine; - - if (cmp !== 0) { - return cmp; - } - - return mappingA.name - mappingB.name; -} - -exports.compareByOriginalPositions = compareByOriginalPositions; -/** - * Comparator between two mappings with deflated source and name indices where - * the generated positions are compared. - * - * Optionally pass in `true` as `onlyCompareGenerated` to consider two - * mappings with the same generated line and column, but different - * source/name/original line and column the same. Useful when searching for a - * mapping with a stubbed out mapping. - */ - -function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - - if (cmp !== 0 || onlyCompareGenerated) { - return cmp; - } - - cmp = mappingA.source - mappingB.source; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - - if (cmp !== 0) { - return cmp; - } - - return mappingA.name - mappingB.name; -} - -exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; - -function strcmp(aStr1, aStr2) { - if (aStr1 === aStr2) { - return 0; - } - - if (aStr1 > aStr2) { - return 1; - } - - return -1; -} -/** - * Comparator between two mappings with inflated source and name strings where - * the generated positions are compared. - */ - - -function compareByGeneratedPositionsInflated(mappingA, mappingB) { - var cmp = mappingA.generatedLine - mappingB.generatedLine; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.generatedColumn - mappingB.generatedColumn; - - if (cmp !== 0) { - return cmp; - } - - cmp = strcmp(mappingA.source, mappingB.source); - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalLine - mappingB.originalLine; - - if (cmp !== 0) { - return cmp; - } - - cmp = mappingA.originalColumn - mappingB.originalColumn; - - if (cmp !== 0) { - return cmp; - } - - return strcmp(mappingA.name, mappingB.name); -} - -exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; - -},{}],1081:[function(require,module,exports){ -"use strict"; - -/* - * Copyright 2009-2011 Mozilla Foundation and contributors - * Licensed under the New BSD license. See LICENSE.txt or: - * http://opensource.org/licenses/BSD-3-Clause - */ -exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; -exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; -exports.SourceNode = require('./lib/source-node').SourceNode; - -},{"./lib/source-map-consumer":1077,"./lib/source-map-generator":1078,"./lib/source-node":1079}],1082:[function(require,module,exports){ -'use strict'; - -module.exports = { - stdout: false, - stderr: false -}; - -},{}],1083:[function(require,module,exports){ -'use strict'; - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -var fastProto = null; // Creates an object with permanently fast properties in V8. See Toon Verwaest's -// post https://medium.com/@tverwaes/setting-up-prototypes-in-v8-ec9c9491dfe2#5f62 -// for more details. Use %HasFastProperties(object) and the Node.js flag -// --allow-natives-syntax to check whether an object has fast properties. - -function FastObject(o) { - // A prototype object will have "fast properties" enabled once it is checked - // against the inline property cache of a function, e.g. fastProto.property: - // https://github.com/v8/v8/blob/6.0.122/test/mjsunit/fast-prototype.js#L48-L63 - if (fastProto !== null && _typeof(fastProto.property)) { - var result = fastProto; - fastProto = FastObject.prototype = null; - return result; - } - - fastProto = FastObject.prototype = o == null ? Object.create(null) : o; - return new FastObject(); -} // Initialize the inline property cache of FastObject - - -FastObject(); - -module.exports = function toFastproperties(o) { - return FastObject(o); -}; - -},{}],1084:[function(require,module,exports){ -"use strict"; - -module.exports = new Set([// Non-binary properties: -'General_Category', 'Script', 'Script_Extensions', // Binary properties: -'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']); - -},{}],1085:[function(require,module,exports){ -'use strict'; - -var canonicalProperties = require('unicode-canonical-property-names-ecmascript'); - -var propertyAliases = require('unicode-property-aliases-ecmascript'); - -var matchProperty = function matchProperty(property) { - if (canonicalProperties.has(property)) { - return property; - } - - if (propertyAliases.has(property)) { - return propertyAliases.get(property); - } - - throw new Error("Unknown property: ".concat(property)); -}; - -module.exports = matchProperty; - -},{"unicode-canonical-property-names-ecmascript":1084,"unicode-property-aliases-ecmascript":1088}],1086:[function(require,module,exports){ -"use strict"; - -module.exports = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]); - -},{}],1087:[function(require,module,exports){ -'use strict'; - -var propertyToValueAliases = require('./data/mappings.js'); - -var matchPropertyValue = function matchPropertyValue(property, value) { - var aliasToValue = propertyToValueAliases.get(property); - - if (!aliasToValue) { - throw new Error("Unknown property `".concat(property, "`.")); - } - - var canonicalValue = aliasToValue.get(value); - - if (canonicalValue) { - return canonicalValue; - } - - throw new Error("Unknown value `".concat(value, "` for property `").concat(property, "`.")); -}; - -module.exports = matchPropertyValue; - -},{"./data/mappings.js":1086}],1088:[function(require,module,exports){ -"use strict"; - -// Generated using `npm run build`. Do not edit! -module.exports = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['Ext', 'Extender'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]); - -},{}],1089:[function(require,module,exports){ -arguments[4][279][0].apply(exports,arguments) -},{"dup":279}],1090:[function(require,module,exports){ -arguments[4][280][0].apply(exports,arguments) -},{"dup":280}],1091:[function(require,module,exports){ -arguments[4][281][0].apply(exports,arguments) -},{"./support/isBuffer":1090,"_process":1054,"dup":281,"inherits":1089}],1092:[function(require,module,exports){ -"use strict"; - -// Polyfills needed for Babel to function -require("core-js"); - -var babelTransform = require('@babel/core').transform; - -var babelTransformDynamicImport = require('@babel/plugin-syntax-dynamic-import'); - -var babelTransformModulesSystemJS = require('@babel/plugin-transform-modules-systemjs'); - -var babelPresetEnv = require('@babel/preset-env'); - -self.onmessage = function (evt) { - // transform source with Babel - var output = babelTransform(evt.data.source, { - compact: false, - filename: evt.data.key + '!transpiled', - sourceFileName: evt.data.key, - moduleIds: false, - sourceMaps: 'inline', - babelrc: false, - plugins: [babelTransformDynamicImport, babelTransformModulesSystemJS], - presets: [[babelPresetEnv, { - targets: 'ie >= 11' - }]] - }); - self.postMessage({ - key: evt.data.key, - code: output.code, - source: evt.data.source - }); -}; - -},{"@babel/core":19,"@babel/plugin-syntax-dynamic-import":99,"@babel/plugin-transform-modules-systemjs":122,"@babel/preset-env":149,"core-js":309}]},{},[1092]); +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i 2 && arguments[2] !== undefined ? arguments[2] : {}; + var highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight().shouldHighlight)(opts); + var chalk = (0, _highlight().getChalk)(opts); + var defs = getDefs(chalk); + + var maybeHighlight = function maybeHighlight(chalkFn, string) { + return highlighted ? chalkFn(string) : string; + }; + + var lines = rawLines.split(NEWLINE); + + var _getMarkerLines = getMarkerLines(loc, lines, opts), + start = _getMarkerLines.start, + end = _getMarkerLines.end, + markerLines = _getMarkerLines.markerLines; + + var hasColumns = loc.start && typeof loc.start.column === "number"; + var numberMaxWidth = String(end).length; + var highlightedLines = highlighted ? (0, _highlight().default)(rawLines, opts) : rawLines; + var frame = highlightedLines.split(NEWLINE).slice(start, end).map(function (line, index) { + var number = start + 1 + index; + var paddedNumber = " ".concat(number).slice(-numberMaxWidth); + var gutter = " ".concat(paddedNumber, " | "); + var hasMarker = markerLines[number]; + var lastMarkerLine = !markerLines[number + 1]; + + if (hasMarker) { + var markerLine = ""; + + if (Array.isArray(hasMarker)) { + var markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + var numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + + if (lastMarkerLine && opts.message) { + markerLine += " " + maybeHighlight(defs.message, opts.message); + } + } + + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join(""); + } else { + return " ".concat(maybeHighlight(defs.gutter, gutter)).concat(line); + } + }).join("\n"); + + if (opts.message && !hasColumns) { + frame = "".concat(" ".repeat(numberMaxWidth + 1)).concat(opts.message, "\n").concat(frame); + } + + if (highlighted) { + return chalk.reset(frame); + } else { + return frame; + } +} + +function _default(rawLines, lineNumber, colNumber) { + var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + + if (!deprecationWarningShown) { + deprecationWarningShown = true; + var message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + var deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } + } + + colNumber = Math.max(colNumber, 0); + var location = { + start: { + column: colNumber, + line: lineNumber + } + }; + return codeFrameColumns(rawLines, location, opts); +} + +}).call(this,require('_process')) +},{"@babel/highlight":88,"_process":1054}],2:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.makeStrongCache = makeStrongCache; +exports.makeWeakCache = makeWeakCache; +exports.assertSimpleType = assertSimpleType; + +function makeStrongCache(handler) { + return makeCachedFunction(new Map(), handler); +} + +function makeWeakCache(handler) { + return makeCachedFunction(new WeakMap(), handler); +} + +function makeCachedFunction(callCache, handler) { + return function cachedFunction(arg, data) { + var cachedValue = callCache.get(arg); + + if (cachedValue) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = cachedValue[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref = _step.value; + var _value = _ref.value, + valid = _ref.valid; + if (valid(data)) return _value; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + var cache = new CacheConfigurator(data); + var value = handler(arg, cache); + if (!cache.configured()) cache.forever(); + cache.deactivate(); + + switch (cache.mode()) { + case "forever": + cachedValue = [{ + value: value, + valid: function valid() { + return true; + } + }]; + callCache.set(arg, cachedValue); + break; + + case "invalidate": + cachedValue = [{ + value: value, + valid: cache.validator() + }]; + callCache.set(arg, cachedValue); + break; + + case "valid": + if (cachedValue) { + cachedValue.push({ + value: value, + valid: cache.validator() + }); + } else { + cachedValue = [{ + value: value, + valid: cache.validator() + }]; + callCache.set(arg, cachedValue); + } + + } + + return value; + }; +} + +var CacheConfigurator = +/*#__PURE__*/ +function () { + function CacheConfigurator(data) { + _classCallCheck(this, CacheConfigurator); + + this._active = true; + this._never = false; + this._forever = false; + this._invalidate = false; + this._configured = false; + this._pairs = []; + this._data = data; + } + + _createClass(CacheConfigurator, [{ + key: "simple", + value: function simple() { + return makeSimpleConfigurator(this); + } + }, { + key: "mode", + value: function mode() { + if (this._never) return "never"; + if (this._forever) return "forever"; + if (this._invalidate) return "invalidate"; + return "valid"; + } + }, { + key: "forever", + value: function forever() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._never) { + throw new Error("Caching has already been configured with .never()"); + } + + this._forever = true; + this._configured = true; + } + }, { + key: "never", + value: function never() { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._forever) { + throw new Error("Caching has already been configured with .forever()"); + } + + this._never = true; + this._configured = true; + } + }, { + key: "using", + value: function using(handler) { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._never || this._forever) { + throw new Error("Caching has already been configured with .never or .forever()"); + } + + this._configured = true; + var key = handler(this._data); + + this._pairs.push([key, handler]); + + return key; + } + }, { + key: "invalidate", + value: function invalidate(handler) { + if (!this._active) { + throw new Error("Cannot change caching after evaluation has completed."); + } + + if (this._never || this._forever) { + throw new Error("Caching has already been configured with .never or .forever()"); + } + + this._invalidate = true; + this._configured = true; + var key = handler(this._data); + + this._pairs.push([key, handler]); + + return key; + } + }, { + key: "validator", + value: function validator() { + var pairs = this._pairs; + return function (data) { + return pairs.every(function (_ref2) { + var _ref3 = _slicedToArray(_ref2, 2), + key = _ref3[0], + fn = _ref3[1]; + + return key === fn(data); + }); + }; + } + }, { + key: "deactivate", + value: function deactivate() { + this._active = false; + } + }, { + key: "configured", + value: function configured() { + return this._configured; + } + }]); + + return CacheConfigurator; +}(); + +function makeSimpleConfigurator(cache) { + function cacheFn(val) { + if (typeof val === "boolean") { + if (val) cache.forever();else cache.never(); + return; + } + + return cache.using(function () { + return assertSimpleType(val()); + }); + } + + cacheFn.forever = function () { + return cache.forever(); + }; + + cacheFn.never = function () { + return cache.never(); + }; + + cacheFn.using = function (cb) { + return cache.using(function () { + return assertSimpleType(cb()); + }); + }; + + cacheFn.invalidate = function (cb) { + return cache.invalidate(function () { + return assertSimpleType(cb()); + }); + }; + + return cacheFn; +} + +function assertSimpleType(value) { + if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") { + throw new Error("Cache keys must be either string, boolean, number, null, or undefined."); + } + + return value; +} + +},{}],3:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.buildPresetChain = buildPresetChain; +exports.buildRootChain = buildRootChain; +exports.buildPresetChainWalker = void 0; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +function _debug() { + var data = _interopRequireDefault(require("debug")); + + _debug = function _debug() { + return data; + }; + + return data; +} + +var _options = require("./validation/options"); + +var _patternToRegex = _interopRequireDefault(require("./pattern-to-regex")); + +var _files = require("./files"); + +var _caching = require("./caching"); + +var _configDescriptors = require("./config-descriptors"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var debug = (0, _debug().default)("babel:config:config-chain"); + +function buildPresetChain(arg, context) { + var chain = buildPresetChainWalker(arg, context); + if (!chain) return null; + return { + plugins: dedupDescriptors(chain.plugins), + presets: dedupDescriptors(chain.presets), + options: chain.options.map(function (o) { + return normalizeOptions(o); + }) + }; +} + +var buildPresetChainWalker = makeChainWalker({ + init: function init(arg) { + return arg; + }, + root: function root(preset) { + return loadPresetDescriptors(preset); + }, + env: function env(preset, envName) { + return loadPresetEnvDescriptors(preset)(envName); + }, + overrides: function overrides(preset, index) { + return loadPresetOverridesDescriptors(preset)(index); + }, + overridesEnv: function overridesEnv(preset, index, envName) { + return loadPresetOverridesEnvDescriptors(preset)(index)(envName); + } +}); +exports.buildPresetChainWalker = buildPresetChainWalker; +var loadPresetDescriptors = (0, _caching.makeWeakCache)(function (preset) { + return buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors); +}); +var loadPresetEnvDescriptors = (0, _caching.makeWeakCache)(function (preset) { + return (0, _caching.makeStrongCache)(function (envName) { + return buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName); + }); +}); +var loadPresetOverridesDescriptors = (0, _caching.makeWeakCache)(function (preset) { + return (0, _caching.makeStrongCache)(function (index) { + return buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index); + }); +}); +var loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCache)(function (preset) { + return (0, _caching.makeStrongCache)(function (index) { + return (0, _caching.makeStrongCache)(function (envName) { + return buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName); + }); + }); +}); + +function buildRootChain(opts, context) { + var programmaticChain = loadProgrammaticChain({ + options: opts, + dirname: context.cwd + }, context); + if (!programmaticChain) return null; + var configFile; + + if (typeof opts.configFile === "string") { + configFile = (0, _files.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller); + } else if (opts.configFile !== false) { + configFile = (0, _files.findRootConfig)(context.root, context.envName, context.caller); + } + + var babelrc = opts.babelrc, + babelrcRoots = opts.babelrcRoots; + var babelrcRootsDirectory = context.cwd; + var configFileChain = emptyChain(); + + if (configFile) { + var validatedFile = validateConfigFile(configFile); + var result = loadFileChain(validatedFile, context); + if (!result) return null; + + if (babelrc === undefined) { + babelrc = validatedFile.options.babelrc; + } + + if (babelrcRoots === undefined) { + babelrcRootsDirectory = validatedFile.dirname; + babelrcRoots = validatedFile.options.babelrcRoots; + } + + mergeChain(configFileChain, result); + } + + var pkgData = typeof context.filename === "string" ? (0, _files.findPackageData)(context.filename) : null; + var ignoreFile, babelrcFile; + var fileChain = emptyChain(); + + if ((babelrc === true || babelrc === undefined) && pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) { + var _ref = (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller); + + ignoreFile = _ref.ignore; + babelrcFile = _ref.config; + + if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) { + return null; + } + + if (babelrcFile) { + var _result = loadFileChain(validateBabelrcFile(babelrcFile), context); + + if (!_result) return null; + mergeChain(fileChain, _result); + } + } + + var chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain); + return { + plugins: dedupDescriptors(chain.plugins), + presets: dedupDescriptors(chain.presets), + options: chain.options.map(function (o) { + return normalizeOptions(o); + }), + ignore: ignoreFile || undefined, + babelrc: babelrcFile || undefined, + config: configFile || undefined + }; +} + +function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) { + if (typeof babelrcRoots === "boolean") return babelrcRoots; + var absoluteRoot = context.root; + + if (babelrcRoots === undefined) { + return pkgData.directories.indexOf(absoluteRoot) !== -1; + } + + var babelrcPatterns = babelrcRoots; + if (!Array.isArray(babelrcPatterns)) babelrcPatterns = [babelrcPatterns]; + babelrcPatterns = babelrcPatterns.map(function (pat) { + return typeof pat === "string" ? _path().default.resolve(babelrcRootsDirectory, pat) : pat; + }); + + if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) { + return pkgData.directories.indexOf(absoluteRoot) !== -1; + } + + return babelrcPatterns.some(function (pat) { + if (typeof pat === "string") { + pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory); + } + + return pkgData.directories.some(function (directory) { + return matchPattern(pat, babelrcRootsDirectory, directory, context); + }); + }); +} + +var validateConfigFile = (0, _caching.makeWeakCache)(function (file) { + return { + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("configfile", file.options) + }; +}); +var validateBabelrcFile = (0, _caching.makeWeakCache)(function (file) { + return { + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("babelrcfile", file.options) + }; +}); +var validateExtendFile = (0, _caching.makeWeakCache)(function (file) { + return { + filepath: file.filepath, + dirname: file.dirname, + options: (0, _options.validate)("extendsfile", file.options) + }; +}); +var loadProgrammaticChain = makeChainWalker({ + root: function root(input) { + return buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors); + }, + env: function env(input, envName) { + return buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName); + }, + overrides: function overrides(input, index) { + return buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index); + }, + overridesEnv: function overridesEnv(input, index, envName) { + return buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName); + } +}); +var loadFileChain = makeChainWalker({ + root: function root(file) { + return loadFileDescriptors(file); + }, + env: function env(file, envName) { + return loadFileEnvDescriptors(file)(envName); + }, + overrides: function overrides(file, index) { + return loadFileOverridesDescriptors(file)(index); + }, + overridesEnv: function overridesEnv(file, index, envName) { + return loadFileOverridesEnvDescriptors(file)(index)(envName); + } +}); +var loadFileDescriptors = (0, _caching.makeWeakCache)(function (file) { + return buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors); +}); +var loadFileEnvDescriptors = (0, _caching.makeWeakCache)(function (file) { + return (0, _caching.makeStrongCache)(function (envName) { + return buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName); + }); +}); +var loadFileOverridesDescriptors = (0, _caching.makeWeakCache)(function (file) { + return (0, _caching.makeStrongCache)(function (index) { + return buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index); + }); +}); +var loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCache)(function (file) { + return (0, _caching.makeStrongCache)(function (index) { + return (0, _caching.makeStrongCache)(function (envName) { + return buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName); + }); + }); +}); + +function buildRootDescriptors(_ref2, alias, descriptors) { + var dirname = _ref2.dirname, + options = _ref2.options; + return descriptors(dirname, options, alias); +} + +function buildEnvDescriptors(_ref3, alias, descriptors, envName) { + var dirname = _ref3.dirname, + options = _ref3.options; + var opts = options.env && options.env[envName]; + return opts ? descriptors(dirname, opts, "".concat(alias, ".env[\"").concat(envName, "\"]")) : null; +} + +function buildOverrideDescriptors(_ref4, alias, descriptors, index) { + var dirname = _ref4.dirname, + options = _ref4.options; + var opts = options.overrides && options.overrides[index]; + if (!opts) throw new Error("Assertion failure - missing override"); + return descriptors(dirname, opts, "".concat(alias, ".overrides[").concat(index, "]")); +} + +function buildOverrideEnvDescriptors(_ref5, alias, descriptors, index, envName) { + var dirname = _ref5.dirname, + options = _ref5.options; + var override = options.overrides && options.overrides[index]; + if (!override) throw new Error("Assertion failure - missing override"); + var opts = override.env && override.env[envName]; + return opts ? descriptors(dirname, opts, "".concat(alias, ".overrides[").concat(index, "].env[\"").concat(envName, "\"]")) : null; +} + +function makeChainWalker(_ref6) { + var root = _ref6.root, + env = _ref6.env, + overrides = _ref6.overrides, + overridesEnv = _ref6.overridesEnv; + return function (input, context) { + var files = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Set(); + var dirname = input.dirname; + var flattenedConfigs = []; + var rootOpts = root(input); + + if (configIsApplicable(rootOpts, dirname, context)) { + flattenedConfigs.push(rootOpts); + var envOpts = env(input, context.envName); + + if (envOpts && configIsApplicable(envOpts, dirname, context)) { + flattenedConfigs.push(envOpts); + } + + (rootOpts.options.overrides || []).forEach(function (_, index) { + var overrideOps = overrides(input, index); + + if (configIsApplicable(overrideOps, dirname, context)) { + flattenedConfigs.push(overrideOps); + var overrideEnvOpts = overridesEnv(input, index, context.envName); + + if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context)) { + flattenedConfigs.push(overrideEnvOpts); + } + } + }); + } + + if (flattenedConfigs.some(function (_ref7) { + var _ref7$options = _ref7.options, + ignore = _ref7$options.ignore, + only = _ref7$options.only; + return shouldIgnore(context, ignore, only, dirname); + })) { + return null; + } + + var chain = emptyChain(); + + for (var _i = 0, _flattenedConfigs = flattenedConfigs; _i < _flattenedConfigs.length; _i++) { + var op = _flattenedConfigs[_i]; + + if (!mergeExtendsChain(chain, op.options, dirname, context, files)) { + return null; + } + + mergeChainOpts(chain, op); + } + + return chain; + }; +} + +function mergeExtendsChain(chain, opts, dirname, context, files) { + if (opts.extends === undefined) return true; + var file = (0, _files.loadConfig)(opts.extends, dirname, context.envName, context.caller); + + if (files.has(file)) { + throw new Error("Configuration cycle detected loading ".concat(file.filepath, ".\n") + "File already loaded following the config chain:\n" + Array.from(files, function (file) { + return " - ".concat(file.filepath); + }).join("\n")); + } + + files.add(file); + var fileChain = loadFileChain(validateExtendFile(file), context, files); + files.delete(file); + if (!fileChain) return false; + mergeChain(chain, fileChain); + return true; +} + +function mergeChain(target, source) { + var _target$options, _target$plugins, _target$presets; + + (_target$options = target.options).push.apply(_target$options, _toConsumableArray(source.options)); + + (_target$plugins = target.plugins).push.apply(_target$plugins, _toConsumableArray(source.plugins)); + + (_target$presets = target.presets).push.apply(_target$presets, _toConsumableArray(source.presets)); + + return target; +} + +function mergeChainOpts(target, _ref8) { + var _target$plugins2, _target$presets2; + + var options = _ref8.options, + plugins = _ref8.plugins, + presets = _ref8.presets; + target.options.push(options); + + (_target$plugins2 = target.plugins).push.apply(_target$plugins2, _toConsumableArray(plugins())); + + (_target$presets2 = target.presets).push.apply(_target$presets2, _toConsumableArray(presets())); + + return target; +} + +function emptyChain() { + return { + options: [], + presets: [], + plugins: [] + }; +} + +function normalizeOptions(opts) { + var options = Object.assign({}, opts); + delete options.extends; + delete options.env; + delete options.overrides; + delete options.plugins; + delete options.presets; + delete options.passPerPreset; + delete options.ignore; + delete options.only; + delete options.test; + delete options.include; + delete options.exclude; + + if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) { + options.sourceMaps = options.sourceMap; + delete options.sourceMap; + } + + return options; +} + +function dedupDescriptors(items) { + var map = new Map(); + var descriptors = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var item = _step.value; + + if (typeof item.value === "function") { + var fnKey = item.value; + var nameMap = map.get(fnKey); + + if (!nameMap) { + nameMap = new Map(); + map.set(fnKey, nameMap); + } + + var desc = nameMap.get(item.name); + + if (!desc) { + desc = { + value: item + }; + descriptors.push(desc); + if (!item.ownPass) nameMap.set(item.name, desc); + } else { + desc.value = item; + } + } else { + descriptors.push({ + value: item + }); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return descriptors.reduce(function (acc, desc) { + acc.push(desc.value); + return acc; + }, []); +} + +function configIsApplicable(_ref9, dirname, context) { + var options = _ref9.options; + return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname)); +} + +function configFieldIsApplicable(context, test, dirname) { + var patterns = Array.isArray(test) ? test : [test]; + return matchesPatterns(context, patterns, dirname); +} + +function shouldIgnore(context, ignore, only, dirname) { + if (ignore && matchesPatterns(context, ignore, dirname)) { + debug("Ignored %o because it matched one of %O from %o", context.filename, ignore, dirname); + return true; + } + + if (only && !matchesPatterns(context, only, dirname)) { + debug("Ignored %o because it failed to match one of %O from %o", context.filename, only, dirname); + return true; + } + + return false; +} + +function matchesPatterns(context, patterns, dirname) { + return patterns.some(function (pattern) { + return matchPattern(pattern, dirname, context.filename, context); + }); +} + +function matchPattern(pattern, dirname, pathToTest, context) { + if (typeof pattern === "function") { + return !!pattern(pathToTest, { + dirname: dirname, + envName: context.envName, + caller: context.caller + }); + } + + if (typeof pathToTest !== "string") { + throw new Error("Configuration contains string/RegExp pattern, but no filename was passed to Babel"); + } + + if (typeof pattern === "string") { + pattern = (0, _patternToRegex.default)(pattern, dirname); + } + + return pattern.test(pathToTest); +} + +},{"./caching":2,"./config-descriptors":4,"./files":5,"./pattern-to-regex":12,"./validation/options":16,"debug":34,"path":1052}],4:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createCachedDescriptors = createCachedDescriptors; +exports.createUncachedDescriptors = createUncachedDescriptors; +exports.createDescriptor = createDescriptor; + +var _files = require("./files"); + +var _item = require("./item"); + +var _caching = require("./caching"); + +function isEqualDescriptor(a, b) { + return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved); +} + +function createCachedDescriptors(dirname, options, alias) { + var plugins = options.plugins, + presets = options.presets, + passPerPreset = options.passPerPreset; + return { + options: options, + plugins: plugins ? function () { + return createCachedPluginDescriptors(plugins, dirname)(alias); + } : function () { + return []; + }, + presets: presets ? function () { + return createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset); + } : function () { + return []; + } + }; +} + +function createUncachedDescriptors(dirname, options, alias) { + var _plugins; + + var _presets; + + return { + options: options, + plugins: function plugins() { + if (!_plugins) { + _plugins = createPluginDescriptors(options.plugins || [], dirname, alias); + } + + return _plugins; + }, + presets: function presets() { + if (!_presets) { + _presets = createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset); + } + + return _presets; + } + }; +} + +var PRESET_DESCRIPTOR_CACHE = new WeakMap(); +var createCachedPresetDescriptors = (0, _caching.makeWeakCache)(function (items, cache) { + var dirname = cache.using(function (dir) { + return dir; + }); + return (0, _caching.makeStrongCache)(function (alias) { + return (0, _caching.makeStrongCache)(function (passPerPreset) { + return createPresetDescriptors(items, dirname, alias, passPerPreset).map(function (desc) { + return loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc); + }); + }); + }); +}); +var PLUGIN_DESCRIPTOR_CACHE = new WeakMap(); +var createCachedPluginDescriptors = (0, _caching.makeWeakCache)(function (items, cache) { + var dirname = cache.using(function (dir) { + return dir; + }); + return (0, _caching.makeStrongCache)(function (alias) { + return createPluginDescriptors(items, dirname, alias).map(function (desc) { + return loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc); + }); + }); +}); +var DEFAULT_OPTIONS = {}; + +function loadCachedDescriptor(cache, desc) { + var value = desc.value, + _desc$options = desc.options, + options = _desc$options === void 0 ? DEFAULT_OPTIONS : _desc$options; + if (options === false) return desc; + var cacheByOptions = cache.get(value); + + if (!cacheByOptions) { + cacheByOptions = new WeakMap(); + cache.set(value, cacheByOptions); + } + + var possibilities = cacheByOptions.get(options); + + if (!possibilities) { + possibilities = []; + cacheByOptions.set(options, possibilities); + } + + if (possibilities.indexOf(desc) === -1) { + var matches = possibilities.filter(function (possibility) { + return isEqualDescriptor(possibility, desc); + }); + + if (matches.length > 0) { + return matches[0]; + } + + possibilities.push(desc); + } + + return desc; +} + +function createPresetDescriptors(items, dirname, alias, passPerPreset) { + return createDescriptors("preset", items, dirname, alias, passPerPreset); +} + +function createPluginDescriptors(items, dirname, alias) { + return createDescriptors("plugin", items, dirname, alias); +} + +function createDescriptors(type, items, dirname, alias, ownPass) { + var descriptors = items.map(function (item, index) { + return createDescriptor(item, dirname, { + type: type, + alias: "".concat(alias, "$").concat(index), + ownPass: !!ownPass + }); + }); + assertNoDuplicates(descriptors); + return descriptors; +} + +function createDescriptor(pair, dirname, _ref) { + var type = _ref.type, + alias = _ref.alias, + ownPass = _ref.ownPass; + var desc = (0, _item.getItemDescriptor)(pair); + + if (desc) { + return desc; + } + + var name; + var options; + var value = pair; + + if (Array.isArray(value)) { + if (value.length === 3) { + var _value = value; + + var _value2 = _slicedToArray(_value, 3); + + value = _value2[0]; + options = _value2[1]; + name = _value2[2]; + } else { + var _value3 = value; + + var _value4 = _slicedToArray(_value3, 2); + + value = _value4[0]; + options = _value4[1]; + } + } + + var file = undefined; + var filepath = null; + + if (typeof value === "string") { + if (typeof type !== "string") { + throw new Error("To resolve a string-based item, the type of item must be given"); + } + + var resolver = type === "plugin" ? _files.loadPlugin : _files.loadPreset; + var request = value; + + var _resolver = resolver(value, dirname); + + filepath = _resolver.filepath; + value = _resolver.value; + file = { + request: request, + resolved: filepath + }; + } + + if (!value) { + throw new Error("Unexpected falsy value: ".concat(String(value))); + } + + if (_typeof(value) === "object" && value.__esModule) { + if (value.default) { + value = value.default; + } else { + throw new Error("Must export a default export when using ES6 modules."); + } + } + + if (_typeof(value) !== "object" && typeof value !== "function") { + throw new Error("Unsupported format: ".concat(_typeof(value), ". Expected an object or a function.")); + } + + if (filepath !== null && _typeof(value) === "object" && value) { + throw new Error("Plugin/Preset files are not allowed to export objects, only functions. In ".concat(filepath)); + } + + return { + name: name, + alias: filepath || alias, + value: value, + options: options, + dirname: dirname, + ownPass: ownPass, + file: file + }; +} + +function assertNoDuplicates(items) { + var map = new Map(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + var _loop = function _loop() { + var item = _step.value; + if (typeof item.value !== "function") return "continue"; + var nameMap = map.get(item.value); + + if (!nameMap) { + nameMap = new Set(); + map.set(item.value, nameMap); + } + + if (nameMap.has(item.name)) { + var conflicts = items.filter(function (i) { + return i.value === item.value; + }); + throw new Error(["Duplicate plugin/preset detected.", "If you'd like to use two separate instances of a plugin,", "they need separate names, e.g.", "", " plugins: [", " ['some-plugin', {}],", " ['some-plugin', {}, 'some unique name'],", " ]", "", "Duplicates detected are:", "".concat(JSON.stringify(conflicts, null, 2))].join("\n")); + } + + nameMap.add(item.name); + }; + + for (var _iterator = items[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +} + +},{"./caching":2,"./files":5,"./item":10}],5:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findConfigUpwards = findConfigUpwards; +exports.findPackageData = findPackageData; +exports.findRelativeConfig = findRelativeConfig; +exports.findRootConfig = findRootConfig; +exports.loadConfig = loadConfig; +exports.resolvePlugin = resolvePlugin; +exports.resolvePreset = resolvePreset; +exports.loadPlugin = loadPlugin; +exports.loadPreset = loadPreset; + +function findConfigUpwards(rootDir) { + return null; +} + +function findPackageData(filepath) { + return { + filepath: filepath, + directories: [], + pkg: null, + isPackage: false + }; +} + +function findRelativeConfig(pkgData, envName, caller) { + return { + pkg: null, + config: null, + ignore: null + }; +} + +function findRootConfig(dirname, envName, caller) { + return null; +} + +function loadConfig(name, dirname, envName, caller) { + throw new Error("Cannot load ".concat(name, " relative to ").concat(dirname, " in a browser")); +} + +function resolvePlugin(name, dirname) { + return null; +} + +function resolvePreset(name, dirname) { + return null; +} + +function loadPlugin(name, dirname) { + throw new Error("Cannot load plugin ".concat(name, " relative to ").concat(dirname, " in a browser")); +} + +function loadPreset(name, dirname) { + throw new Error("Cannot load preset ".concat(name, " relative to ").concat(dirname, " in a browser")); +} + +},{}],6:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadFullConfig; + +var _util = require("./util"); + +var context = _interopRequireWildcard(require("../index")); + +var _plugin = _interopRequireDefault(require("./plugin")); + +var _item = require("./item"); + +var _configChain = require("./config-chain"); + +function _traverse() { + var data = _interopRequireDefault(require("@babel/traverse")); + + _traverse = function _traverse() { + return data; + }; + + return data; +} + +var _caching = require("./caching"); + +var _options = require("./validation/options"); + +var _plugins = require("./validation/plugins"); + +var _configApi = _interopRequireDefault(require("./helpers/config-api")); + +var _partial = _interopRequireDefault(require("./partial")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function loadFullConfig(inputOpts) { + var result = (0, _partial.default)(inputOpts); + + if (!result) { + return null; + } + + var options = result.options, + context = result.context; + var optionDefaults = {}; + var passes = [[]]; + + try { + var plugins = options.plugins, + presets = options.presets; + + if (!plugins || !presets) { + throw new Error("Assertion failure - plugins and presets exist"); + } + + var ignored = function recurseDescriptors(config, pass) { + var plugins = config.plugins.reduce(function (acc, descriptor) { + if (descriptor.options !== false) { + acc.push(loadPluginDescriptor(descriptor, context)); + } + + return acc; + }, []); + var presets = config.presets.reduce(function (acc, descriptor) { + if (descriptor.options !== false) { + acc.push({ + preset: loadPresetDescriptor(descriptor, context), + pass: descriptor.ownPass ? [] : pass + }); + } + + return acc; + }, []); + + if (presets.length > 0) { + passes.splice.apply(passes, [1, 0].concat(_toConsumableArray(presets.map(function (o) { + return o.pass; + }).filter(function (p) { + return p !== pass; + })))); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = presets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref = _step.value; + var preset = _ref.preset, + _pass = _ref.pass; + if (!preset) return true; + + var _ignored = recurseDescriptors({ + plugins: preset.plugins, + presets: preset.presets + }, _pass); + + if (_ignored) return true; + preset.options.forEach(function (opts) { + (0, _util.mergeOptions)(optionDefaults, opts); + }); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + if (plugins.length > 0) { + pass.unshift.apply(pass, _toConsumableArray(plugins)); + } + }({ + plugins: plugins.map(function (item) { + var desc = (0, _item.getItemDescriptor)(item); + + if (!desc) { + throw new Error("Assertion failure - must be config item"); + } + + return desc; + }), + presets: presets.map(function (item) { + var desc = (0, _item.getItemDescriptor)(item); + + if (!desc) { + throw new Error("Assertion failure - must be config item"); + } + + return desc; + }) + }, passes[0]); + + if (ignored) return null; + } catch (e) { + if (!/^\[BABEL\]/.test(e.message)) { + e.message = "[BABEL] ".concat(context.filename || "unknown", ": ").concat(e.message); + } + + throw e; + } + + var opts = optionDefaults; + (0, _util.mergeOptions)(opts, options); + opts.plugins = passes[0]; + opts.presets = passes.slice(1).filter(function (plugins) { + return plugins.length > 0; + }).map(function (plugins) { + return { + plugins: plugins + }; + }); + opts.passPerPreset = opts.presets.length > 0; + return { + options: opts, + passes: passes + }; +} + +var loadDescriptor = (0, _caching.makeWeakCache)(function (_ref2, cache) { + var value = _ref2.value, + options = _ref2.options, + dirname = _ref2.dirname, + alias = _ref2.alias; + if (options === false) throw new Error("Assertion failure"); + options = options || {}; + var item = value; + + if (typeof value === "function") { + var api = Object.assign({}, context, {}, (0, _configApi.default)(cache)); + + try { + item = value(api, options, dirname); + } catch (e) { + if (alias) { + e.message += " (While processing: ".concat(JSON.stringify(alias), ")"); + } + + throw e; + } + } + + if (!item || _typeof(item) !== "object") { + throw new Error("Plugin/Preset did not return an object."); + } + + if (typeof item.then === "function") { + throw new Error("You appear to be using an async plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version."); + } + + return { + value: item, + options: options, + dirname: dirname, + alias: alias + }; +}); + +function loadPluginDescriptor(descriptor, context) { + if (descriptor.value instanceof _plugin.default) { + if (descriptor.options) { + throw new Error("Passed options to an existing Plugin instance will not work."); + } + + return descriptor.value; + } + + return instantiatePlugin(loadDescriptor(descriptor, context), context); +} + +var instantiatePlugin = (0, _caching.makeWeakCache)(function (_ref3, cache) { + var value = _ref3.value, + options = _ref3.options, + dirname = _ref3.dirname, + alias = _ref3.alias; + var pluginObj = (0, _plugins.validatePluginObject)(value); + var plugin = Object.assign({}, pluginObj); + + if (plugin.visitor) { + plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor)); + } + + if (plugin.inherits) { + var inheritsDescriptor = { + name: undefined, + alias: "".concat(alias, "$inherits"), + value: plugin.inherits, + options: options, + dirname: dirname + }; + var inherits = cache.invalidate(function (data) { + return loadPluginDescriptor(inheritsDescriptor, data); + }); + plugin.pre = chain(inherits.pre, plugin.pre); + plugin.post = chain(inherits.post, plugin.post); + plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions); + plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]); + } + + return new _plugin.default(plugin, options, alias); +}); + +var validateIfOptionNeedsFilename = function validateIfOptionNeedsFilename(options, descriptor) { + if (options.test || options.include || options.exclude) { + var formattedPresetName = descriptor.name ? "\"".concat(descriptor.name, "\"") : "/* your preset */"; + throw new Error(["Preset ".concat(formattedPresetName, " requires a filename to be set when babel is called directly,"), "```", "babel.transform(code, { filename: 'file.ts', presets: [".concat(formattedPresetName, "] });"), "```", "See https://babeljs.io/docs/en/options#filename for more information."].join("\n")); + } +}; + +var validatePreset = function validatePreset(preset, context, descriptor) { + if (!context.filename) { + var options = preset.options; + validateIfOptionNeedsFilename(options, descriptor); + + if (options.overrides) { + options.overrides.forEach(function (overrideOptions) { + return validateIfOptionNeedsFilename(overrideOptions, descriptor); + }); + } + } +}; + +var loadPresetDescriptor = function loadPresetDescriptor(descriptor, context) { + var preset = instantiatePreset(loadDescriptor(descriptor, context)); + validatePreset(preset, context, descriptor); + return (0, _configChain.buildPresetChain)(preset, context); +}; + +var instantiatePreset = (0, _caching.makeWeakCache)(function (_ref4) { + var value = _ref4.value, + dirname = _ref4.dirname, + alias = _ref4.alias; + return { + options: (0, _options.validate)("preset", value), + alias: alias, + dirname: dirname + }; +}); + +function chain(a, b) { + var fns = [a, b].filter(Boolean); + if (fns.length <= 1) return fns[0]; + return function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = fns[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var fn = _step2.value; + fn.apply(this, args); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + }; +} + +},{"../index":19,"./caching":2,"./config-chain":3,"./helpers/config-api":7,"./item":10,"./partial":11,"./plugin":13,"./util":14,"./validation/options":16,"./validation/plugins":17,"@babel/traverse":176}],7:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = makeAPI; + +function _semver() { + var data = _interopRequireDefault(require("semver")); + + _semver = function _semver() { + return data; + }; + + return data; +} + +var _ = require("../../"); + +var _caching = require("../caching"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function makeAPI(cache) { + var env = function env(value) { + return cache.using(function (data) { + if (typeof value === "undefined") return data.envName; + + if (typeof value === "function") { + return (0, _caching.assertSimpleType)(value(data.envName)); + } + + if (!Array.isArray(value)) value = [value]; + return value.some(function (entry) { + if (typeof entry !== "string") { + throw new Error("Unexpected non-string value"); + } + + return entry === data.envName; + }); + }); + }; + + var caller = function caller(cb) { + return cache.using(function (data) { + return (0, _caching.assertSimpleType)(cb(data.caller)); + }); + }; + + return { + version: _.version, + cache: cache.simple(), + env: env, + async: function async() { + return false; + }, + caller: caller, + assertVersion: assertVersion, + tokTypes: undefined + }; +} + +function assertVersion(range) { + if (typeof range === "number") { + if (!Number.isInteger(range)) { + throw new Error("Expected string or integer value."); + } + + range = "^".concat(range, ".0.0-0"); + } + + if (typeof range !== "string") { + throw new Error("Expected string or integer value."); + } + + if (_semver().default.satisfies(_.version, range)) return; + var limit = Error.stackTraceLimit; + + if (typeof limit === "number" && limit < 25) { + Error.stackTraceLimit = 25; + } + + var err = new Error("Requires Babel \"".concat(range, "\", but was loaded with \"").concat(_.version, "\". ") + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel."); + + if (typeof limit === "number") { + Error.stackTraceLimit = limit; + } + + throw Object.assign(err, { + code: "BABEL_VERSION_UNSUPPORTED", + version: _.version, + range: range + }); +} + +},{"../../":19,"../caching":2,"semver":1070}],8:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getEnv = getEnv; + +function getEnv() { + var defaultValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "development"; + return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue; +} + +}).call(this,require('_process')) +},{"_process":1054}],9:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.loadOptions = loadOptions; +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _full.default; + } +}); +Object.defineProperty(exports, "loadPartialConfig", { + enumerable: true, + get: function get() { + return _partial.loadPartialConfig; + } +}); + +var _full = _interopRequireDefault(require("./full")); + +var _partial = require("./partial"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function loadOptions(opts) { + var config = (0, _full.default)(opts); + return config ? config.options : null; +} + +},{"./full":6,"./partial":11}],10:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createItemFromDescriptor = createItemFromDescriptor; +exports.createConfigItem = createConfigItem; +exports.getItemDescriptor = getItemDescriptor; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +var _configDescriptors = require("./config-descriptors"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function createItemFromDescriptor(desc) { + return new ConfigItem(desc); +} + +function createConfigItem(value) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$dirname = _ref.dirname, + dirname = _ref$dirname === void 0 ? "." : _ref$dirname, + type = _ref.type; + + var descriptor = (0, _configDescriptors.createDescriptor)(value, _path().default.resolve(dirname), { + type: type, + alias: "programmatic item" + }); + return createItemFromDescriptor(descriptor); +} + +function getItemDescriptor(item) { + if (item instanceof ConfigItem) { + return item._descriptor; + } + + return undefined; +} + +var ConfigItem = function ConfigItem(descriptor) { + _classCallCheck(this, ConfigItem); + + this._descriptor = descriptor; + Object.defineProperty(this, "_descriptor", { + enumerable: false + }); + this.value = this._descriptor.value; + this.options = this._descriptor.options; + this.dirname = this._descriptor.dirname; + this.name = this._descriptor.name; + this.file = this._descriptor.file ? { + request: this._descriptor.file.request, + resolved: this._descriptor.file.resolved + } : undefined; + Object.freeze(this); +}; + +Object.freeze(ConfigItem.prototype); + +},{"./config-descriptors":4,"path":1052}],11:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadPrivatePartialConfig; +exports.loadPartialConfig = loadPartialConfig; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +var _plugin = _interopRequireDefault(require("./plugin")); + +var _util = require("./util"); + +var _item = require("./item"); + +var _configChain = require("./config-chain"); + +var _environment = require("./helpers/environment"); + +var _options = require("./validation/options"); + +var _files = require("./files"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function resolveRootMode(rootDir, rootMode) { + switch (rootMode) { + case "root": + return rootDir; + + case "upward-optional": + { + var upwardRootDir = (0, _files.findConfigUpwards)(rootDir); + return upwardRootDir === null ? rootDir : upwardRootDir; + } + + case "upward": + { + var _upwardRootDir = (0, _files.findConfigUpwards)(rootDir); + + if (_upwardRootDir !== null) return _upwardRootDir; + throw Object.assign(new Error("Babel was run with rootMode:\"upward\" but a root could not " + "be found when searching upward from \"".concat(rootDir, "\"")), { + code: "BABEL_ROOT_NOT_FOUND", + dirname: rootDir + }); + } + + default: + throw new Error("Assertion failure - unknown rootMode value"); + } +} + +function loadPrivatePartialConfig(inputOpts) { + if (inputOpts != null && (_typeof(inputOpts) !== "object" || Array.isArray(inputOpts))) { + throw new Error("Babel options must be an object, null, or undefined"); + } + + var args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {}; + var _args$envName = args.envName, + envName = _args$envName === void 0 ? (0, _environment.getEnv)() : _args$envName, + _args$cwd = args.cwd, + cwd = _args$cwd === void 0 ? "." : _args$cwd, + _args$root = args.root, + rootDir = _args$root === void 0 ? "." : _args$root, + _args$rootMode = args.rootMode, + rootMode = _args$rootMode === void 0 ? "root" : _args$rootMode, + caller = args.caller; + + var absoluteCwd = _path().default.resolve(cwd); + + var absoluteRootDir = resolveRootMode(_path().default.resolve(absoluteCwd, rootDir), rootMode); + var context = { + filename: typeof args.filename === "string" ? _path().default.resolve(cwd, args.filename) : undefined, + cwd: absoluteCwd, + root: absoluteRootDir, + envName: envName, + caller: caller + }; + var configChain = (0, _configChain.buildRootChain)(args, context); + if (!configChain) return null; + var options = {}; + configChain.options.forEach(function (opts) { + (0, _util.mergeOptions)(options, opts); + }); + options.babelrc = false; + options.configFile = false; + options.passPerPreset = false; + options.envName = context.envName; + options.cwd = context.cwd; + options.root = context.root; + options.filename = typeof context.filename === "string" ? context.filename : undefined; + options.plugins = configChain.plugins.map(function (descriptor) { + return (0, _item.createItemFromDescriptor)(descriptor); + }); + options.presets = configChain.presets.map(function (descriptor) { + return (0, _item.createItemFromDescriptor)(descriptor); + }); + return { + options: options, + context: context, + ignore: configChain.ignore, + babelrc: configChain.babelrc, + config: configChain.config + }; +} + +function loadPartialConfig(inputOpts) { + var result = loadPrivatePartialConfig(inputOpts); + if (!result) return null; + var options = result.options, + babelrc = result.babelrc, + ignore = result.ignore, + config = result.config; + (options.plugins || []).forEach(function (item) { + if (item.value instanceof _plugin.default) { + throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()"); + } + }); + return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined); +} + +var PartialConfig = +/*#__PURE__*/ +function () { + function PartialConfig(options, babelrc, ignore, config) { + _classCallCheck(this, PartialConfig); + + this.options = options; + this.babelignore = ignore; + this.babelrc = babelrc; + this.config = config; + Object.freeze(this); + } + + _createClass(PartialConfig, [{ + key: "hasFilesystemConfig", + value: function hasFilesystemConfig() { + return this.babelrc !== undefined || this.config !== undefined; + } + }]); + + return PartialConfig; +}(); + +Object.freeze(PartialConfig.prototype); + +},{"./config-chain":3,"./files":5,"./helpers/environment":8,"./item":10,"./plugin":13,"./util":14,"./validation/options":16,"path":1052}],12:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = pathToPattern; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +function _escapeRegExp() { + var data = _interopRequireDefault(require("lodash/escapeRegExp")); + + _escapeRegExp = function _escapeRegExp() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var sep = "\\".concat(_path().default.sep); +var endSep = "(?:".concat(sep, "|$)"); +var substitution = "[^".concat(sep, "]+"); +var starPat = "(?:".concat(substitution).concat(sep, ")"); +var starPatLast = "(?:".concat(substitution).concat(endSep, ")"); +var starStarPat = "".concat(starPat, "*?"); +var starStarPatLast = "".concat(starPat, "*?").concat(starPatLast, "?"); + +function pathToPattern(pattern, dirname) { + var parts = _path().default.resolve(dirname, pattern).split(_path().default.sep); + + return new RegExp(["^"].concat(_toConsumableArray(parts.map(function (part, i) { + var last = i === parts.length - 1; + if (part === "**") return last ? starStarPatLast : starStarPat; + if (part === "*") return last ? starPatLast : starPat; + + if (part.indexOf("*.") === 0) { + return substitution + (0, _escapeRegExp().default)(part.slice(1)) + (last ? endSep : sep); + } + + return (0, _escapeRegExp().default)(part) + (last ? endSep : sep); + }))).join("")); +} + +},{"lodash/escapeRegExp":1009,"path":1052}],13:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var Plugin = function Plugin(plugin, options, key) { + _classCallCheck(this, Plugin); + + this.key = plugin.name || key; + this.manipulateOptions = plugin.manipulateOptions; + this.post = plugin.post; + this.pre = plugin.pre; + this.visitor = plugin.visitor || {}; + this.parserOverride = plugin.parserOverride; + this.generatorOverride = plugin.generatorOverride; + this.options = options; +}; + +exports.default = Plugin; + +},{}],14:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.mergeOptions = mergeOptions; + +function mergeOptions(target, source) { + for (var _i = 0, _Object$keys = Object.keys(source); _i < _Object$keys.length; _i++) { + var k = _Object$keys[_i]; + + if (k === "parserOpts" && source.parserOpts) { + var parserOpts = source.parserOpts; + var targetObj = target.parserOpts = target.parserOpts || {}; + mergeDefaultFields(targetObj, parserOpts); + } else if (k === "generatorOpts" && source.generatorOpts) { + var generatorOpts = source.generatorOpts; + + var _targetObj = target.generatorOpts = target.generatorOpts || {}; + + mergeDefaultFields(_targetObj, generatorOpts); + } else { + var val = source[k]; + if (val !== undefined) target[k] = val; + } + } +} + +function mergeDefaultFields(target, source) { + for (var _i2 = 0, _Object$keys2 = Object.keys(source); _i2 < _Object$keys2.length; _i2++) { + var k = _Object$keys2[_i2]; + var val = source[k]; + if (val !== undefined) target[k] = val; + } +} + +},{}],15:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.msg = msg; +exports.access = access; +exports.assertRootMode = assertRootMode; +exports.assertSourceMaps = assertSourceMaps; +exports.assertCompact = assertCompact; +exports.assertSourceType = assertSourceType; +exports.assertCallerMetadata = assertCallerMetadata; +exports.assertInputSourceMap = assertInputSourceMap; +exports.assertString = assertString; +exports.assertFunction = assertFunction; +exports.assertBoolean = assertBoolean; +exports.assertObject = assertObject; +exports.assertArray = assertArray; +exports.assertIgnoreList = assertIgnoreList; +exports.assertConfigApplicableTest = assertConfigApplicableTest; +exports.assertConfigFileSearch = assertConfigFileSearch; +exports.assertBabelrcSearch = assertBabelrcSearch; +exports.assertPluginList = assertPluginList; + +function msg(loc) { + switch (loc.type) { + case "root": + return ""; + + case "env": + return "".concat(msg(loc.parent), ".env[\"").concat(loc.name, "\"]"); + + case "overrides": + return "".concat(msg(loc.parent), ".overrides[").concat(loc.index, "]"); + + case "option": + return "".concat(msg(loc.parent), ".").concat(loc.name); + + case "access": + return "".concat(msg(loc.parent), "[").concat(JSON.stringify(loc.name), "]"); + + default: + throw new Error("Assertion failure: Unknown type ".concat(loc.type)); + } +} + +function access(loc, name) { + return { + type: "access", + name: name, + parent: loc + }; +} + +function assertRootMode(loc, value) { + if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") { + throw new Error("".concat(msg(loc), " must be a \"root\", \"upward\", \"upward-optional\" or undefined")); + } + + return value; +} + +function assertSourceMaps(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") { + throw new Error("".concat(msg(loc), " must be a boolean, \"inline\", \"both\", or undefined")); + } + + return value; +} + +function assertCompact(loc, value) { + if (value !== undefined && typeof value !== "boolean" && value !== "auto") { + throw new Error("".concat(msg(loc), " must be a boolean, \"auto\", or undefined")); + } + + return value; +} + +function assertSourceType(loc, value) { + if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") { + throw new Error("".concat(msg(loc), " must be \"module\", \"script\", \"unambiguous\", or undefined")); + } + + return value; +} + +function assertCallerMetadata(loc, value) { + var obj = assertObject(loc, value); + + if (obj) { + if (typeof obj["name"] !== "string") { + throw new Error("".concat(msg(loc), " set but does not contain \"name\" property string")); + } + + for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { + var prop = _Object$keys[_i]; + var propLoc = access(loc, prop); + var _value = obj[prop]; + + if (_value != null && typeof _value !== "boolean" && typeof _value !== "string" && typeof _value !== "number") { + throw new Error("".concat(msg(propLoc), " must be null, undefined, a boolean, a string, or a number.")); + } + } + } + + return value; +} + +function assertInputSourceMap(loc, value) { + if (value !== undefined && typeof value !== "boolean" && (_typeof(value) !== "object" || !value)) { + throw new Error("".concat(msg(loc), " must be a boolean, object, or undefined")); + } + + return value; +} + +function assertString(loc, value) { + if (value !== undefined && typeof value !== "string") { + throw new Error("".concat(msg(loc), " must be a string, or undefined")); + } + + return value; +} + +function assertFunction(loc, value) { + if (value !== undefined && typeof value !== "function") { + throw new Error("".concat(msg(loc), " must be a function, or undefined")); + } + + return value; +} + +function assertBoolean(loc, value) { + if (value !== undefined && typeof value !== "boolean") { + throw new Error("".concat(msg(loc), " must be a boolean, or undefined")); + } + + return value; +} + +function assertObject(loc, value) { + if (value !== undefined && (_typeof(value) !== "object" || Array.isArray(value) || !value)) { + throw new Error("".concat(msg(loc), " must be an object, or undefined")); + } + + return value; +} + +function assertArray(loc, value) { + if (value != null && !Array.isArray(value)) { + throw new Error("".concat(msg(loc), " must be an array, or undefined")); + } + + return value; +} + +function assertIgnoreList(loc, value) { + var arr = assertArray(loc, value); + + if (arr) { + arr.forEach(function (item, i) { + return assertIgnoreItem(access(loc, i), item); + }); + } + + return arr; +} + +function assertIgnoreItem(loc, value) { + if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) { + throw new Error("".concat(msg(loc), " must be an array of string/Function/RegExp values, or undefined")); + } + + return value; +} + +function assertConfigApplicableTest(loc, value) { + if (value === undefined) return value; + + if (Array.isArray(value)) { + value.forEach(function (item, i) { + if (!checkValidTest(item)) { + throw new Error("".concat(msg(access(loc, i)), " must be a string/Function/RegExp.")); + } + }); + } else if (!checkValidTest(value)) { + throw new Error("".concat(msg(loc), " must be a string/Function/RegExp, or an array of those")); + } + + return value; +} + +function checkValidTest(value) { + return typeof value === "string" || typeof value === "function" || value instanceof RegExp; +} + +function assertConfigFileSearch(loc, value) { + if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") { + throw new Error("".concat(msg(loc), " must be a undefined, a boolean, a string, ") + "got ".concat(JSON.stringify(value))); + } + + return value; +} + +function assertBabelrcSearch(loc, value) { + if (value === undefined || typeof value === "boolean") return value; + + if (Array.isArray(value)) { + value.forEach(function (item, i) { + if (!checkValidTest(item)) { + throw new Error("".concat(msg(access(loc, i)), " must be a string/Function/RegExp.")); + } + }); + } else if (!checkValidTest(value)) { + throw new Error("".concat(msg(loc), " must be a undefined, a boolean, a string/Function/RegExp ") + "or an array of those, got ".concat(JSON.stringify(value))); + } + + return value; +} + +function assertPluginList(loc, value) { + var arr = assertArray(loc, value); + + if (arr) { + arr.forEach(function (item, i) { + return assertPluginItem(access(loc, i), item); + }); + } + + return arr; +} + +function assertPluginItem(loc, value) { + if (Array.isArray(value)) { + if (value.length === 0) { + throw new Error("".concat(msg(loc), " must include an object")); + } + + if (value.length > 3) { + throw new Error("".concat(msg(loc), " may only be a two-tuple or three-tuple")); + } + + assertPluginTarget(access(loc, 0), value[0]); + + if (value.length > 1) { + var opts = value[1]; + + if (opts !== undefined && opts !== false && (_typeof(opts) !== "object" || Array.isArray(opts) || opts === null)) { + throw new Error("".concat(msg(access(loc, 1)), " must be an object, false, or undefined")); + } + } + + if (value.length === 3) { + var name = value[2]; + + if (name !== undefined && typeof name !== "string") { + throw new Error("".concat(msg(access(loc, 2)), " must be a string, or undefined")); + } + } + } else { + assertPluginTarget(loc, value); + } + + return value; +} + +function assertPluginTarget(loc, value) { + if ((_typeof(value) !== "object" || !value) && typeof value !== "string" && typeof value !== "function") { + throw new Error("".concat(msg(loc), " must be a string, object, function")); + } + + return value; +} + +},{}],16:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validate = validate; + +var _plugin = _interopRequireDefault(require("../plugin")); + +var _removed = _interopRequireDefault(require("./removed")); + +var _optionAssertions = require("./option-assertions"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var ROOT_VALIDATORS = { + cwd: _optionAssertions.assertString, + root: _optionAssertions.assertString, + rootMode: _optionAssertions.assertRootMode, + configFile: _optionAssertions.assertConfigFileSearch, + caller: _optionAssertions.assertCallerMetadata, + filename: _optionAssertions.assertString, + filenameRelative: _optionAssertions.assertString, + code: _optionAssertions.assertBoolean, + ast: _optionAssertions.assertBoolean, + envName: _optionAssertions.assertString +}; +var BABELRC_VALIDATORS = { + babelrc: _optionAssertions.assertBoolean, + babelrcRoots: _optionAssertions.assertBabelrcSearch +}; +var NONPRESET_VALIDATORS = { + extends: _optionAssertions.assertString, + ignore: _optionAssertions.assertIgnoreList, + only: _optionAssertions.assertIgnoreList +}; +var COMMON_VALIDATORS = { + inputSourceMap: _optionAssertions.assertInputSourceMap, + presets: _optionAssertions.assertPluginList, + plugins: _optionAssertions.assertPluginList, + passPerPreset: _optionAssertions.assertBoolean, + env: assertEnvSet, + overrides: assertOverridesList, + test: _optionAssertions.assertConfigApplicableTest, + include: _optionAssertions.assertConfigApplicableTest, + exclude: _optionAssertions.assertConfigApplicableTest, + retainLines: _optionAssertions.assertBoolean, + comments: _optionAssertions.assertBoolean, + shouldPrintComment: _optionAssertions.assertFunction, + compact: _optionAssertions.assertCompact, + minified: _optionAssertions.assertBoolean, + auxiliaryCommentBefore: _optionAssertions.assertString, + auxiliaryCommentAfter: _optionAssertions.assertString, + sourceType: _optionAssertions.assertSourceType, + wrapPluginVisitorMethod: _optionAssertions.assertFunction, + highlightCode: _optionAssertions.assertBoolean, + sourceMaps: _optionAssertions.assertSourceMaps, + sourceMap: _optionAssertions.assertSourceMaps, + sourceFileName: _optionAssertions.assertString, + sourceRoot: _optionAssertions.assertString, + getModuleId: _optionAssertions.assertFunction, + moduleRoot: _optionAssertions.assertString, + moduleIds: _optionAssertions.assertBoolean, + moduleId: _optionAssertions.assertString, + parserOpts: _optionAssertions.assertObject, + generatorOpts: _optionAssertions.assertObject +}; + +function getSource(loc) { + return loc.type === "root" ? loc.source : getSource(loc.parent); +} + +function validate(type, opts) { + return validateNested({ + type: "root", + source: type + }, opts); +} + +function validateNested(loc, opts) { + var type = getSource(loc); + assertNoDuplicateSourcemap(opts); + Object.keys(opts).forEach(function (key) { + var optLoc = { + type: "option", + name: key, + parent: loc + }; + + if (type === "preset" && NONPRESET_VALIDATORS[key]) { + throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is not allowed in preset options")); + } + + if (type !== "arguments" && ROOT_VALIDATORS[key]) { + throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is only allowed in root programmatic options")); + } + + if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) { + if (type === "babelrcfile" || type === "extendsfile") { + throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is not allowed in .babelrc or \"extends\"ed files, only in root programmatic options, ") + "or babel.config.js/config file options"); + } + + throw new Error("".concat((0, _optionAssertions.msg)(optLoc), " is only allowed in root programmatic options, or babel.config.js/config file options")); + } + + var validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError; + validator(optLoc, opts[key]); + }); + return opts; +} + +function throwUnknownError(loc) { + var key = loc.name; + + if (_removed.default[key]) { + var _removed$default$key = _removed.default[key], + message = _removed$default$key.message, + _removed$default$key$ = _removed$default$key.version, + version = _removed$default$key$ === void 0 ? 5 : _removed$default$key$; + throw new ReferenceError("Using removed Babel ".concat(version, " option: ").concat((0, _optionAssertions.msg)(loc), " - ").concat(message)); + } else { + var unknownOptErr = "Unknown option: ".concat((0, _optionAssertions.msg)(loc), ". Check out https://babeljs.io/docs/en/babel-core/#options for more information about options."); + throw new ReferenceError(unknownOptErr); + } +} + +function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function assertNoDuplicateSourcemap(opts) { + if (has(opts, "sourceMap") && has(opts, "sourceMaps")) { + throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both"); + } +} + +function assertEnvSet(loc, value) { + if (loc.parent.type === "env") { + throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside of another .env block")); + } + + var parent = loc.parent; + var obj = (0, _optionAssertions.assertObject)(loc, value); + + if (obj) { + for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { + var envName = _Object$keys[_i]; + var env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]); + if (!env) continue; + var envLoc = { + type: "env", + name: envName, + parent: parent + }; + validateNested(envLoc, env); + } + } + + return obj; +} + +function assertOverridesList(loc, value) { + if (loc.parent.type === "env") { + throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside an .env block")); + } + + if (loc.parent.type === "overrides") { + throw new Error("".concat((0, _optionAssertions.msg)(loc), " is not allowed inside an .overrides block")); + } + + var parent = loc.parent; + var arr = (0, _optionAssertions.assertArray)(loc, value); + + if (arr) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = arr.entries()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + index = _step$value[0], + item = _step$value[1]; + + var objLoc = (0, _optionAssertions.access)(loc, index); + var env = (0, _optionAssertions.assertObject)(objLoc, item); + if (!env) throw new Error("".concat((0, _optionAssertions.msg)(objLoc), " must be an object")); + var overridesLoc = { + type: "overrides", + index: index, + parent: parent + }; + validateNested(overridesLoc, env); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return arr; +} + +},{"../plugin":13,"./option-assertions":15,"./removed":18}],17:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validatePluginObject = validatePluginObject; + +var _optionAssertions = require("./option-assertions"); + +var VALIDATORS = { + name: _optionAssertions.assertString, + manipulateOptions: _optionAssertions.assertFunction, + pre: _optionAssertions.assertFunction, + post: _optionAssertions.assertFunction, + inherits: _optionAssertions.assertFunction, + visitor: assertVisitorMap, + parserOverride: _optionAssertions.assertFunction, + generatorOverride: _optionAssertions.assertFunction +}; + +function assertVisitorMap(key, value) { + var obj = (0, _optionAssertions.assertObject)(key, value); + + if (obj) { + Object.keys(obj).forEach(function (prop) { + return assertVisitorHandler(prop, obj[prop]); + }); + + if (obj.enter || obj.exit) { + throw new Error(".".concat(key, " cannot contain catch-all \"enter\" or \"exit\" handlers. Please target individual nodes.")); + } + } + + return obj; +} + +function assertVisitorHandler(key, value) { + if (value && _typeof(value) === "object") { + Object.keys(value).forEach(function (handler) { + if (handler !== "enter" && handler !== "exit") { + throw new Error(".visitor[\"".concat(key, "\"] may only have .enter and/or .exit handlers.")); + } + }); + } else if (typeof value !== "function") { + throw new Error(".visitor[\"".concat(key, "\"] must be a function")); + } + + return value; +} + +function validatePluginObject(obj) { + var rootPath = { + type: "root", + source: "plugin" + }; + Object.keys(obj).forEach(function (key) { + var validator = VALIDATORS[key]; + var optLoc = { + type: "option", + name: key, + parent: rootPath + }; + if (validator) validator(optLoc, obj[key]);else throw new Error(".".concat(key, " is not a valid Plugin property")); + }); + return obj; +} + +},{"./option-assertions":15}],18:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + auxiliaryComment: { + message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`" + }, + blacklist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + breakConfig: { + message: "This is not a necessary option in Babel 6" + }, + experimental: { + message: "Put the specific transforms you want in the `plugins` option" + }, + externalHelpers: { + message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/" + }, + extra: { + message: "" + }, + jsxPragma: { + message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/" + }, + loose: { + message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option." + }, + metadataUsedHelpers: { + message: "Not required anymore as this is enabled by default" + }, + modules: { + message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules" + }, + nonStandard: { + message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/" + }, + optional: { + message: "Put the specific transforms you want in the `plugins` option" + }, + sourceMapName: { + message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves." + }, + stage: { + message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets" + }, + whitelist: { + message: "Put the specific transforms you want in the `plugins` option" + }, + resolveModuleSource: { + version: 6, + message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options" + }, + metadata: { + version: 6, + message: "Generated plugin metadata is always included in the output result" + }, + sourceMapTarget: { + version: 6, + message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves." + } +}; +exports.default = _default; + +},{}],19:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Plugin = Plugin; +Object.defineProperty(exports, "File", { + enumerable: true, + get: function get() { + return _file.default; + } +}); +Object.defineProperty(exports, "buildExternalHelpers", { + enumerable: true, + get: function get() { + return _buildExternalHelpers.default; + } +}); +Object.defineProperty(exports, "resolvePlugin", { + enumerable: true, + get: function get() { + return _files.resolvePlugin; + } +}); +Object.defineProperty(exports, "resolvePreset", { + enumerable: true, + get: function get() { + return _files.resolvePreset; + } +}); +Object.defineProperty(exports, "version", { + enumerable: true, + get: function get() { + return _package.version; + } +}); +Object.defineProperty(exports, "getEnv", { + enumerable: true, + get: function get() { + return _environment.getEnv; + } +}); +Object.defineProperty(exports, "tokTypes", { + enumerable: true, + get: function get() { + return _parser().tokTypes; + } +}); +Object.defineProperty(exports, "traverse", { + enumerable: true, + get: function get() { + return _traverse().default; + } +}); +Object.defineProperty(exports, "template", { + enumerable: true, + get: function get() { + return _template().default; + } +}); +Object.defineProperty(exports, "createConfigItem", { + enumerable: true, + get: function get() { + return _item.createConfigItem; + } +}); +Object.defineProperty(exports, "loadPartialConfig", { + enumerable: true, + get: function get() { + return _config.loadPartialConfig; + } +}); +Object.defineProperty(exports, "loadOptions", { + enumerable: true, + get: function get() { + return _config.loadOptions; + } +}); +Object.defineProperty(exports, "transform", { + enumerable: true, + get: function get() { + return _transform.transform; + } +}); +Object.defineProperty(exports, "transformSync", { + enumerable: true, + get: function get() { + return _transform.transformSync; + } +}); +Object.defineProperty(exports, "transformAsync", { + enumerable: true, + get: function get() { + return _transform.transformAsync; + } +}); +Object.defineProperty(exports, "transformFile", { + enumerable: true, + get: function get() { + return _transformFile.transformFile; + } +}); +Object.defineProperty(exports, "transformFileSync", { + enumerable: true, + get: function get() { + return _transformFile.transformFileSync; + } +}); +Object.defineProperty(exports, "transformFileAsync", { + enumerable: true, + get: function get() { + return _transformFile.transformFileAsync; + } +}); +Object.defineProperty(exports, "transformFromAst", { + enumerable: true, + get: function get() { + return _transformAst.transformFromAst; + } +}); +Object.defineProperty(exports, "transformFromAstSync", { + enumerable: true, + get: function get() { + return _transformAst.transformFromAstSync; + } +}); +Object.defineProperty(exports, "transformFromAstAsync", { + enumerable: true, + get: function get() { + return _transformAst.transformFromAstAsync; + } +}); +Object.defineProperty(exports, "parse", { + enumerable: true, + get: function get() { + return _parse.parse; + } +}); +Object.defineProperty(exports, "parseSync", { + enumerable: true, + get: function get() { + return _parse.parseSync; + } +}); +Object.defineProperty(exports, "parseAsync", { + enumerable: true, + get: function get() { + return _parse.parseAsync; + } +}); +exports.types = exports.OptionManager = exports.DEFAULT_EXTENSIONS = void 0; + +var _file = _interopRequireDefault(require("./transformation/file/file")); + +var _buildExternalHelpers = _interopRequireDefault(require("./tools/build-external-helpers")); + +var _files = require("./config/files"); + +var _package = require("../package.json"); + +var _environment = require("./config/helpers/environment"); + +function _types() { + var data = _interopRequireWildcard(require("@babel/types")); + + _types = function _types() { + return data; + }; + + return data; +} + +Object.defineProperty(exports, "types", { + enumerable: true, + get: function get() { + return _types(); + } +}); + +function _parser() { + var data = require("@babel/parser"); + + _parser = function _parser() { + return data; + }; + + return data; +} + +function _traverse() { + var data = _interopRequireDefault(require("@babel/traverse")); + + _traverse = function _traverse() { + return data; + }; + + return data; +} + +function _template() { + var data = _interopRequireDefault(require("@babel/template")); + + _template = function _template() { + return data; + }; + + return data; +} + +var _item = require("./config/item"); + +var _config = require("./config"); + +var _transform = require("./transform"); + +var _transformFile = require("./transform-file"); + +var _transformAst = require("./transform-ast"); + +var _parse = require("./parse"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var DEFAULT_EXTENSIONS = Object.freeze([".js", ".jsx", ".es6", ".es", ".mjs"]); +exports.DEFAULT_EXTENSIONS = DEFAULT_EXTENSIONS; + +var OptionManager = +/*#__PURE__*/ +function () { + function OptionManager() { + _classCallCheck(this, OptionManager); + } + + _createClass(OptionManager, [{ + key: "init", + value: function init(opts) { + return (0, _config.loadOptions)(opts); + } + }]); + + return OptionManager; +}(); + +exports.OptionManager = OptionManager; + +function Plugin(alias) { + throw new Error("The (".concat(alias, ") Babel 5 plugin is being run with an unsupported Babel version.")); +} + +},{"../package.json":37,"./config":9,"./config/files":5,"./config/helpers/environment":8,"./config/item":10,"./parse":20,"./tools/build-external-helpers":21,"./transform":24,"./transform-ast":22,"./transform-file":23,"./transformation/file/file":26,"@babel/parser":89,"@babel/template":167,"@babel/traverse":176,"@babel/types":242}],20:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseSync = parseSync; +exports.parseAsync = parseAsync; +exports.parse = void 0; + +var _config = _interopRequireDefault(require("./config")); + +var _normalizeFile = _interopRequireDefault(require("./transformation/normalize-file")); + +var _normalizeOpts = _interopRequireDefault(require("./transformation/normalize-opts")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var parse = function parse(code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) return parseSync(code, opts); + var config = (0, _config.default)(opts); + + if (config === null) { + return null; + } + + var cb = callback; + process.nextTick(function () { + var ast = null; + + try { + var cfg = (0, _config.default)(opts); + if (cfg === null) return cb(null, null); + ast = (0, _normalizeFile.default)(cfg.passes, (0, _normalizeOpts.default)(cfg), code).ast; + } catch (err) { + return cb(err); + } + + cb(null, ast); + }); +}; + +exports.parse = parse; + +function parseSync(code, opts) { + var config = (0, _config.default)(opts); + + if (config === null) { + return null; + } + + return (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code).ast; +} + +function parseAsync(code, opts) { + return new Promise(function (res, rej) { + parse(code, opts, function (err, result) { + if (err == null) res(result);else rej(err); + }); + }); +} + +}).call(this,require('_process')) +},{"./config":9,"./transformation/normalize-file":30,"./transformation/normalize-opts":31,"_process":1054}],21:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n (function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(AMD_ARGUMENTS, factory);\n } else if (typeof exports === \"object\") {\n factory(COMMON_ARGUMENTS);\n } else {\n factory(BROWSER_ARGUMENTS);\n }\n })(UMD_ROOT, function (FACTORY_PARAMETERS) {\n FACTORY_BODY\n });\n "]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +function helpers() { + var data = _interopRequireWildcard(require("@babel/helpers")); + + helpers = function helpers() { + return data; + }; + + return data; +} + +function _generator() { + var data = _interopRequireDefault(require("@babel/generator")); + + _generator = function _generator() { + return data; + }; + + return data; +} + +function _template() { + var data = _interopRequireDefault(require("@babel/template")); + + _template = function _template() { + return data; + }; + + return data; +} + +function t() { + var data = _interopRequireWildcard(require("@babel/types")); + + t = function t() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var buildUmdWrapper = function buildUmdWrapper(replacements) { + return _template().default(_templateObject())(replacements); +}; + +function buildGlobal(whitelist) { + var namespace = t().identifier("babelHelpers"); + var body = []; + var container = t().functionExpression(null, [t().identifier("global")], t().blockStatement(body)); + var tree = t().program([t().expressionStatement(t().callExpression(container, [t().conditionalExpression(t().binaryExpression("===", t().unaryExpression("typeof", t().identifier("global")), t().stringLiteral("undefined")), t().identifier("self"), t().identifier("global"))]))]); + body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().assignmentExpression("=", t().memberExpression(t().identifier("global"), namespace), t().objectExpression([])))])); + buildHelpers(body, namespace, whitelist); + return tree; +} + +function buildModule(whitelist) { + var body = []; + var refs = buildHelpers(body, null, whitelist); + body.unshift(t().exportNamedDeclaration(null, Object.keys(refs).map(function (name) { + return t().exportSpecifier(t().cloneNode(refs[name]), t().identifier(name)); + }))); + return t().program(body, [], "module"); +} + +function buildUmd(whitelist) { + var namespace = t().identifier("babelHelpers"); + var body = []; + body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().identifier("global"))])); + buildHelpers(body, namespace, whitelist); + return t().program([buildUmdWrapper({ + FACTORY_PARAMETERS: t().identifier("global"), + BROWSER_ARGUMENTS: t().assignmentExpression("=", t().memberExpression(t().identifier("root"), namespace), t().objectExpression([])), + COMMON_ARGUMENTS: t().identifier("exports"), + AMD_ARGUMENTS: t().arrayExpression([t().stringLiteral("exports")]), + FACTORY_BODY: body, + UMD_ROOT: t().identifier("this") + })]); +} + +function buildVar(whitelist) { + var namespace = t().identifier("babelHelpers"); + var body = []; + body.push(t().variableDeclaration("var", [t().variableDeclarator(namespace, t().objectExpression([]))])); + var tree = t().program(body); + buildHelpers(body, namespace, whitelist); + body.push(t().expressionStatement(namespace)); + return tree; +} + +function buildHelpers(body, namespace, whitelist) { + var getHelperReference = function getHelperReference(name) { + return namespace ? t().memberExpression(namespace, t().identifier(name)) : t().identifier("_".concat(name)); + }; + + var refs = {}; + helpers().list.forEach(function (name) { + if (whitelist && whitelist.indexOf(name) < 0) return; + var ref = refs[name] = getHelperReference(name); + + var _helpers$get = helpers().get(name, getHelperReference, ref), + nodes = _helpers$get.nodes; + + body.push.apply(body, _toConsumableArray(nodes)); + }); + return refs; +} + +function _default(whitelist) { + var outputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "global"; + var tree; + var build = { + global: buildGlobal, + module: buildModule, + umd: buildUmd, + var: buildVar + }[outputType]; + + if (build) { + tree = build(whitelist); + } else { + throw new Error("Unsupported output type ".concat(outputType)); + } + + return (0, _generator().default)(tree).code; +} + +},{"@babel/generator":51,"@babel/helpers":87,"@babel/template":167,"@babel/types":242}],22:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFromAstSync = transformFromAstSync; +exports.transformFromAstAsync = transformFromAstAsync; +exports.transformFromAst = void 0; + +var _config = _interopRequireDefault(require("./config")); + +var _transformation = require("./transformation"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var transformFromAst = function transformFromAst(ast, code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) return transformFromAstSync(ast, code, opts); + var cb = callback; + process.nextTick(function () { + var cfg; + + try { + cfg = (0, _config.default)(opts); + if (cfg === null) return cb(null, null); + } catch (err) { + return cb(err); + } + + if (!ast) return cb(new Error("No AST given")); + (0, _transformation.runAsync)(cfg, code, ast, cb); + }); +}; + +exports.transformFromAst = transformFromAst; + +function transformFromAstSync(ast, code, opts) { + var config = (0, _config.default)(opts); + if (config === null) return null; + if (!ast) throw new Error("No AST given"); + return (0, _transformation.runSync)(config, code, ast); +} + +function transformFromAstAsync(ast, code, opts) { + return new Promise(function (res, rej) { + transformFromAst(ast, code, opts, function (err, result) { + if (err == null) res(result);else rej(err); + }); + }); +} + +}).call(this,require('_process')) +},{"./config":9,"./transformation":29,"_process":1054}],23:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformFileSync = transformFileSync; +exports.transformFileAsync = transformFileAsync; +exports.transformFile = void 0; + +var transformFile = function transformFile(filename, opts, callback) { + if (typeof opts === "function") { + callback = opts; + } + + callback(new Error("Transforming files is not supported in browsers"), null); +}; + +exports.transformFile = transformFile; + +function transformFileSync() { + throw new Error("Transforming files is not supported in browsers"); +} + +function transformFileAsync() { + return Promise.reject(new Error("Transforming files is not supported in browsers")); +} + +},{}],24:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformSync = transformSync; +exports.transformAsync = transformAsync; +exports.transform = void 0; + +var _config = _interopRequireDefault(require("./config")); + +var _transformation = require("./transformation"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var transform = function transform(code, opts, callback) { + if (typeof opts === "function") { + callback = opts; + opts = undefined; + } + + if (callback === undefined) return transformSync(code, opts); + var cb = callback; + process.nextTick(function () { + var cfg; + + try { + cfg = (0, _config.default)(opts); + if (cfg === null) return cb(null, null); + } catch (err) { + return cb(err); + } + + (0, _transformation.runAsync)(cfg, code, null, cb); + }); +}; + +exports.transform = transform; + +function transformSync(code, opts) { + var config = (0, _config.default)(opts); + if (config === null) return null; + return (0, _transformation.runSync)(config, code); +} + +function transformAsync(code, opts) { + return new Promise(function (res, rej) { + transform(code, opts, function (err, result) { + if (err == null) res(result);else rej(err); + }); + }); +} + +}).call(this,require('_process')) +},{"./config":9,"./transformation":29,"_process":1054}],25:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = loadBlockHoistPlugin; + +function _sortBy() { + var data = _interopRequireDefault(require("lodash/sortBy")); + + _sortBy = function _sortBy() { + return data; + }; + + return data; +} + +var _config = _interopRequireDefault(require("../config")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var LOADED_PLUGIN; + +function loadBlockHoistPlugin() { + if (!LOADED_PLUGIN) { + var config = (0, _config.default)({ + babelrc: false, + configFile: false, + plugins: [blockHoistPlugin] + }); + LOADED_PLUGIN = config ? config.passes[0][0] : undefined; + if (!LOADED_PLUGIN) throw new Error("Assertion failure"); + } + + return LOADED_PLUGIN; +} + +var blockHoistPlugin = { + name: "internal.blockHoist", + visitor: { + Block: { + exit: function exit(_ref) { + var node = _ref.node; + var hasChange = false; + + for (var i = 0; i < node.body.length; i++) { + var bodyNode = node.body[i]; + + if (bodyNode && bodyNode._blockHoist != null) { + hasChange = true; + break; + } + } + + if (!hasChange) return; + node.body = (0, _sortBy().default)(node.body, function (bodyNode) { + var priority = bodyNode && bodyNode._blockHoist; + if (priority == null) priority = 1; + if (priority === true) priority = 2; + return -1 * priority; + }); + } + } + } +}; + +},{"../config":9,"lodash/sortBy":1040}],26:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function helpers() { + var data = _interopRequireWildcard(require("@babel/helpers")); + + helpers = function helpers() { + return data; + }; + + return data; +} + +function _traverse() { + var data = _interopRequireWildcard(require("@babel/traverse")); + + _traverse = function _traverse() { + return data; + }; + + return data; +} + +function _codeFrame() { + var data = require("@babel/code-frame"); + + _codeFrame = function _codeFrame() { + return data; + }; + + return data; +} + +function t() { + var data = _interopRequireWildcard(require("@babel/types")); + + t = function t() { + return data; + }; + + return data; +} + +function _semver() { + var data = _interopRequireDefault(require("semver")); + + _semver = function _semver() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var errorVisitor = { + enter: function enter(path, state) { + var loc = path.node.loc; + + if (loc) { + state.loc = loc; + path.stop(); + } + } +}; + +var File = +/*#__PURE__*/ +function () { + function File(options, _ref) { + var _this = this; + + var code = _ref.code, + ast = _ref.ast, + inputMap = _ref.inputMap; + + _classCallCheck(this, File); + + this._map = new Map(); + this.declarations = {}; + this.path = null; + this.ast = {}; + this.metadata = {}; + this.code = ""; + this.inputMap = null; + this.hub = { + file: this, + getCode: function getCode() { + return _this.code; + }, + getScope: function getScope() { + return _this.scope; + }, + addHelper: this.addHelper.bind(this), + buildError: this.buildCodeFrameError.bind(this) + }; + this.opts = options; + this.code = code; + this.ast = ast; + this.inputMap = inputMap; + this.path = _traverse().NodePath.get({ + hub: this.hub, + parentPath: null, + parent: this.ast, + container: this.ast, + key: "program" + }).setContext(); + this.scope = this.path.scope; + } + + _createClass(File, [{ + key: "set", + value: function set(key, val) { + if (key === "helpersNamespace") { + throw new Error("Babel 7.0.0-beta.56 has dropped support for the 'helpersNamespace' utility." + "If you are using @babel/plugin-external-helpers you will need to use a newer " + "version than the one you currently have installed. " + "If you have your own implementation, you'll want to explore using 'helperGenerator' " + "alongside 'file.availableHelper()'."); + } + + this._map.set(key, val); + } + }, { + key: "get", + value: function get(key) { + return this._map.get(key); + } + }, { + key: "has", + value: function has(key) { + return this._map.has(key); + } + }, { + key: "getModuleName", + value: function getModuleName() { + var _this$opts = this.opts, + filename = _this$opts.filename, + _this$opts$filenameRe = _this$opts.filenameRelative, + filenameRelative = _this$opts$filenameRe === void 0 ? filename : _this$opts$filenameRe, + moduleId = _this$opts.moduleId, + _this$opts$moduleIds = _this$opts.moduleIds, + moduleIds = _this$opts$moduleIds === void 0 ? !!moduleId : _this$opts$moduleIds, + getModuleId = _this$opts.getModuleId, + sourceRootTmp = _this$opts.sourceRoot, + _this$opts$moduleRoot = _this$opts.moduleRoot, + moduleRoot = _this$opts$moduleRoot === void 0 ? sourceRootTmp : _this$opts$moduleRoot, + _this$opts$sourceRoot = _this$opts.sourceRoot, + sourceRoot = _this$opts$sourceRoot === void 0 ? moduleRoot : _this$opts$sourceRoot; + if (!moduleIds) return null; + + if (moduleId != null && !getModuleId) { + return moduleId; + } + + var moduleName = moduleRoot != null ? moduleRoot + "/" : ""; + + if (filenameRelative) { + var sourceRootReplacer = sourceRoot != null ? new RegExp("^" + sourceRoot + "/?") : ""; + moduleName += filenameRelative.replace(sourceRootReplacer, "").replace(/\.(\w*?)$/, ""); + } + + moduleName = moduleName.replace(/\\/g, "/"); + + if (getModuleId) { + return getModuleId(moduleName) || moduleName; + } else { + return moduleName; + } + } + }, { + key: "addImport", + value: function addImport() { + throw new Error("This API has been removed. If you're looking for this " + "functionality in Babel 7, you should import the " + "'@babel/helper-module-imports' module and use the functions exposed " + " from that module, such as 'addNamed' or 'addDefault'."); + } + }, { + key: "availableHelper", + value: function availableHelper(name, versionRange) { + var minVersion; + + try { + minVersion = helpers().minVersion(name); + } catch (err) { + if (err.code !== "BABEL_HELPER_UNKNOWN") throw err; + return false; + } + + if (typeof versionRange !== "string") return true; + if (_semver().default.valid(versionRange)) versionRange = "^".concat(versionRange); + return !_semver().default.intersects("<".concat(minVersion), versionRange) && !_semver().default.intersects(">=8.0.0", versionRange); + } + }, { + key: "addHelper", + value: function addHelper(name) { + var _this2 = this; + + var declar = this.declarations[name]; + if (declar) return t().cloneNode(declar); + var generator = this.get("helperGenerator"); + + if (generator) { + var res = generator(name); + if (res) return res; + } + + helpers().ensure(name); + var uid = this.declarations[name] = this.scope.generateUidIdentifier(name); + var dependencies = {}; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = helpers().getDependencies(name)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var dep = _step.value; + dependencies[dep] = this.addHelper(dep); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var _helpers$get = helpers().get(name, function (dep) { + return dependencies[dep]; + }, uid, Object.keys(this.scope.getAllBindings())), + nodes = _helpers$get.nodes, + globals = _helpers$get.globals; + + globals.forEach(function (name) { + if (_this2.path.scope.hasBinding(name, true)) { + _this2.path.scope.rename(name); + } + }); + nodes.forEach(function (node) { + node._compact = true; + }); + this.path.unshiftContainer("body", nodes); + this.path.get("body").forEach(function (path) { + if (nodes.indexOf(path.node) === -1) return; + if (path.isVariableDeclaration()) _this2.scope.registerDeclaration(path); + }); + return uid; + } + }, { + key: "addTemplateObject", + value: function addTemplateObject() { + throw new Error("This function has been moved into the template literal transform itself."); + } + }, { + key: "buildCodeFrameError", + value: function buildCodeFrameError(node, msg) { + var Error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : SyntaxError; + var loc = node && (node.loc || node._loc); + + if (!loc && node) { + var state = { + loc: null + }; + (0, _traverse().default)(node, errorVisitor, this.scope, state); + loc = state.loc; + var txt = "This is an error on an internal node. Probably an internal error."; + if (loc) txt += " Location has been estimated."; + msg += " (".concat(txt, ")"); + } + + if (loc) { + var _this$opts$highlightC = this.opts.highlightCode, + highlightCode = _this$opts$highlightC === void 0 ? true : _this$opts$highlightC; + msg += "\n" + (0, _codeFrame().codeFrameColumns)(this.code, { + start: { + line: loc.start.line, + column: loc.start.column + 1 + }, + end: loc.end && loc.start.line === loc.end.line ? { + line: loc.end.line, + column: loc.end.column + 1 + } : undefined + }, { + highlightCode: highlightCode + }); + } + + return new Error(msg); + } + }, { + key: "shebang", + get: function get() { + var interpreter = this.path.node.interpreter; + return interpreter ? interpreter.value : ""; + }, + set: function set(value) { + if (value) { + this.path.get("interpreter").replaceWith(t().interpreterDirective(value)); + } else { + this.path.get("interpreter").remove(); + } + } + }]); + + return File; +}(); + +exports.default = File; + +},{"@babel/code-frame":1,"@babel/helpers":87,"@babel/traverse":176,"@babel/types":242,"semver":1070}],27:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateCode; + +function _convertSourceMap() { + var data = _interopRequireDefault(require("convert-source-map")); + + _convertSourceMap = function _convertSourceMap() { + return data; + }; + + return data; +} + +function _generator() { + var data = _interopRequireDefault(require("@babel/generator")); + + _generator = function _generator() { + return data; + }; + + return data; +} + +var _mergeMap = _interopRequireDefault(require("./merge-map")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function generateCode(pluginPasses, file) { + var opts = file.opts, + ast = file.ast, + code = file.code, + inputMap = file.inputMap; + var results = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var plugins = _step.value; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var plugin = _step2.value; + var generatorOverride = plugin.generatorOverride; + + if (generatorOverride) { + var _result2 = generatorOverride(ast, opts.generatorOpts, code, _generator().default); + + if (_result2 !== undefined) results.push(_result2); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var result; + + if (results.length === 0) { + result = (0, _generator().default)(ast, opts.generatorOpts, code); + } else if (results.length === 1) { + result = results[0]; + + if (typeof result.then === "function") { + throw new Error("You appear to be using an async codegen plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, " + "you may need to upgrade your @babel/core version."); + } + } else { + throw new Error("More than one plugin attempted to override codegen."); + } + + var _result = result, + outputCode = _result.code, + outputMap = _result.map; + + if (outputMap && inputMap) { + outputMap = (0, _mergeMap.default)(inputMap.toObject(), outputMap); + } + + if (opts.sourceMaps === "inline" || opts.sourceMaps === "both") { + outputCode += "\n" + _convertSourceMap().default.fromObject(outputMap).toComment(); + } + + if (opts.sourceMaps === "inline") { + outputMap = null; + } + + return { + outputCode: outputCode, + outputMap: outputMap + }; +} + +},{"./merge-map":28,"@babel/generator":51,"convert-source-map":302}],28:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = mergeSourceMap; + +function _sourceMap() { + var data = _interopRequireDefault(require("source-map")); + + _sourceMap = function _sourceMap() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function mergeSourceMap(inputMap, map) { + var input = buildMappingData(inputMap); + var output = buildMappingData(map); + var mergedGenerator = new (_sourceMap().default.SourceMapGenerator)(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = input.sources[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref = _step.value; + var source = _ref.source; + + if (typeof source.content === "string") { + mergedGenerator.setSourceContent(source.path, source.content); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (output.sources.length === 1) { + var defaultSource = output.sources[0]; + var insertedMappings = new Map(); + eachInputGeneratedRange(input, function (generated, original, source) { + eachOverlappingGeneratedOutputRange(defaultSource, generated, function (item) { + var key = makeMappingKey(item); + if (insertedMappings.has(key)) return; + insertedMappings.set(key, item); + mergedGenerator.addMapping({ + source: source.path, + original: { + line: original.line, + column: original.columnStart + }, + generated: { + line: item.line, + column: item.columnStart + }, + name: original.name + }); + }); + }); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = insertedMappings.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var item = _step2.value; + + if (item.columnEnd === Infinity) { + continue; + } + + var clearItem = { + line: item.line, + columnStart: item.columnEnd + }; + var key = makeMappingKey(clearItem); + + if (insertedMappings.has(key)) { + continue; + } + + mergedGenerator.addMapping({ + generated: { + line: clearItem.line, + column: clearItem.columnStart + } + }); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + + var result = mergedGenerator.toJSON(); + + if (typeof input.sourceRoot === "string") { + result.sourceRoot = input.sourceRoot; + } + + return result; +} + +function makeMappingKey(item) { + return "".concat(item.line, "/").concat(item.columnStart); +} + +function eachOverlappingGeneratedOutputRange(outputFile, inputGeneratedRange, callback) { + var overlappingOriginal = filterApplicableOriginalRanges(outputFile, inputGeneratedRange); + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = overlappingOriginal[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _ref2 = _step3.value; + var generated = _ref2.generated; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = generated[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var item = _step4.value; + callback(item); + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } +} + +function filterApplicableOriginalRanges(_ref5, _ref6) { + var mappings = _ref5.mappings; + var line = _ref6.line, + columnStart = _ref6.columnStart, + columnEnd = _ref6.columnEnd; + return filterSortedArray(mappings, function (_ref7) { + var outOriginal = _ref7.original; + if (line > outOriginal.line) return -1; + if (line < outOriginal.line) return 1; + if (columnStart >= outOriginal.columnEnd) return -1; + if (columnEnd <= outOriginal.columnStart) return 1; + return 0; + }); +} + +function eachInputGeneratedRange(map, callback) { + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = map.sources[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var _ref3 = _step5.value; + var source = _ref3.source, + mappings = _ref3.mappings; + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = mappings[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var _ref4 = _step6.value; + var original = _ref4.original, + generated = _ref4.generated; + var _iteratorNormalCompletion7 = true; + var _didIteratorError7 = false; + var _iteratorError7 = undefined; + + try { + for (var _iterator7 = generated[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + var item = _step7.value; + callback(item, original, source); + } + } catch (err) { + _didIteratorError7 = true; + _iteratorError7 = err; + } finally { + try { + if (!_iteratorNormalCompletion7 && _iterator7.return != null) { + _iterator7.return(); + } + } finally { + if (_didIteratorError7) { + throw _iteratorError7; + } + } + } + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } +} + +function buildMappingData(map) { + var consumer = new (_sourceMap().default.SourceMapConsumer)(Object.assign({}, map, { + sourceRoot: null + })); + var sources = new Map(); + var mappings = new Map(); + var last = null; + consumer.computeColumnSpans(); + consumer.eachMapping(function (m) { + if (m.originalLine === null) return; + var source = sources.get(m.source); + + if (!source) { + source = { + path: m.source, + content: consumer.sourceContentFor(m.source, true) + }; + sources.set(m.source, source); + } + + var sourceData = mappings.get(source); + + if (!sourceData) { + sourceData = { + source: source, + mappings: [] + }; + mappings.set(source, sourceData); + } + + var obj = { + line: m.originalLine, + columnStart: m.originalColumn, + columnEnd: Infinity, + name: m.name + }; + + if (last && last.source === source && last.mapping.line === m.originalLine) { + last.mapping.columnEnd = m.originalColumn; + } + + last = { + source: source, + mapping: obj + }; + sourceData.mappings.push({ + original: obj, + generated: consumer.allGeneratedPositionsFor({ + source: m.source, + line: m.originalLine, + column: m.originalColumn + }).map(function (item) { + return { + line: item.line, + columnStart: item.column, + columnEnd: item.lastColumn + 1 + }; + }) + }); + }, null, _sourceMap().default.SourceMapConsumer.ORIGINAL_ORDER); + return { + file: map.file, + sourceRoot: map.sourceRoot, + sources: Array.from(mappings.values()) + }; +} + +function findInsertionLocation(array, callback) { + var left = 0; + var right = array.length; + + while (left < right) { + var mid = Math.floor((left + right) / 2); + var item = array[mid]; + var result = callback(item); + + if (result === 0) { + left = mid; + break; + } + + if (result >= 0) { + right = mid; + } else { + left = mid + 1; + } + } + + var i = left; + + if (i < array.length) { + while (i >= 0 && callback(array[i]) >= 0) { + i--; + } + + return i + 1; + } + + return i; +} + +function filterSortedArray(array, callback) { + var start = findInsertionLocation(array, callback); + var results = []; + + for (var i = start; i < array.length && callback(array[i]) === 0; i++) { + results.push(array[i]); + } + + return results; +} + +},{"source-map":1081}],29:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.runAsync = runAsync; +exports.runSync = runSync; + +function _traverse() { + var data = _interopRequireDefault(require("@babel/traverse")); + + _traverse = function _traverse() { + return data; + }; + + return data; +} + +var _pluginPass = _interopRequireDefault(require("./plugin-pass")); + +var _blockHoistPlugin = _interopRequireDefault(require("./block-hoist-plugin")); + +var _normalizeOpts = _interopRequireDefault(require("./normalize-opts")); + +var _normalizeFile = _interopRequireDefault(require("./normalize-file")); + +var _generate = _interopRequireDefault(require("./file/generate")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function runAsync(config, code, ast, callback) { + var result; + + try { + result = runSync(config, code, ast); + } catch (err) { + return callback(err); + } + + return callback(null, result); +} + +function runSync(config, code, ast) { + var file = (0, _normalizeFile.default)(config.passes, (0, _normalizeOpts.default)(config), code, ast); + var opts = file.opts; + + try { + transformFile(file, config.passes); + } catch (e) { + var _opts$filename; + + e.message = "".concat((_opts$filename = opts.filename) !== null && _opts$filename !== void 0 ? _opts$filename : "unknown", ": ").concat(e.message); + + if (!e.code) { + e.code = "BABEL_TRANSFORM_ERROR"; + } + + throw e; + } + + var outputCode, outputMap; + + try { + if (opts.code !== false) { + var _ref = (0, _generate.default)(config.passes, file); + + outputCode = _ref.outputCode; + outputMap = _ref.outputMap; + } + } catch (e) { + var _opts$filename2; + + e.message = "".concat((_opts$filename2 = opts.filename) !== null && _opts$filename2 !== void 0 ? _opts$filename2 : "unknown", ": ").concat(e.message); + + if (!e.code) { + e.code = "BABEL_GENERATE_ERROR"; + } + + throw e; + } + + return { + metadata: file.metadata, + options: opts, + ast: opts.ast === true ? file.ast : null, + code: outputCode === undefined ? null : outputCode, + map: outputMap === undefined ? null : outputMap, + sourceType: file.ast.program.sourceType + }; +} + +function transformFile(file, pluginPasses) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var pluginPairs = _step.value; + var passPairs = []; + var passes = []; + var visitors = []; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = pluginPairs.concat([(0, _blockHoistPlugin.default)()])[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var plugin = _step2.value; + var pass = new _pluginPass.default(file, plugin.key, plugin.options); + passPairs.push([plugin, pass]); + passes.push(pass); + visitors.push(plugin.visitor); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + for (var _i = 0, _passPairs = passPairs; _i < _passPairs.length; _i++) { + var _passPairs$_i = _slicedToArray(_passPairs[_i], 2), + _plugin = _passPairs$_i[0], + _pass = _passPairs$_i[1]; + + var fn = _plugin.pre; + + if (fn) { + var result = fn.call(_pass, file); + + if (isThenable(result)) { + throw new Error("You appear to be using an plugin with an async .pre, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); + } + } + } + + var visitor = _traverse().default.visitors.merge(visitors, passes, file.opts.wrapPluginVisitorMethod); + + (0, _traverse().default)(file.ast, visitor, file.scope); + + for (var _i2 = 0, _passPairs2 = passPairs; _i2 < _passPairs2.length; _i2++) { + var _passPairs2$_i = _slicedToArray(_passPairs2[_i2], 2), + _plugin2 = _passPairs2$_i[0], + _pass2 = _passPairs2$_i[1]; + + var _fn = _plugin2.post; + + if (_fn) { + var _result = _fn.call(_pass2, file); + + if (isThenable(_result)) { + throw new Error("You appear to be using an plugin with an async .post, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); + } + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +} + +function isThenable(val) { + return !!val && (_typeof(val) === "object" || typeof val === "function") && !!val.then && typeof val.then === "function"; +} + +},{"./block-hoist-plugin":25,"./file/generate":27,"./normalize-file":30,"./normalize-opts":31,"./plugin-pass":32,"@babel/traverse":176}],30:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeFile; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +function _debug() { + var data = _interopRequireDefault(require("debug")); + + _debug = function _debug() { + return data; + }; + + return data; +} + +function _cloneDeep() { + var data = _interopRequireDefault(require("lodash/cloneDeep")); + + _cloneDeep = function _cloneDeep() { + return data; + }; + + return data; +} + +function t() { + var data = _interopRequireWildcard(require("@babel/types")); + + t = function t() { + return data; + }; + + return data; +} + +function _convertSourceMap() { + var data = _interopRequireDefault(require("convert-source-map")); + + _convertSourceMap = function _convertSourceMap() { + return data; + }; + + return data; +} + +function _parser() { + var data = require("@babel/parser"); + + _parser = function _parser() { + return data; + }; + + return data; +} + +function _codeFrame() { + var data = require("@babel/code-frame"); + + _codeFrame = function _codeFrame() { + return data; + }; + + return data; +} + +var _file = _interopRequireDefault(require("./file/file")); + +var _missingPluginHelper = _interopRequireDefault(require("./util/missing-plugin-helper")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var debug = (0, _debug().default)("babel:transform:file"); + +function normalizeFile(pluginPasses, options, code, ast) { + code = "".concat(code || ""); + + if (ast) { + if (ast.type === "Program") { + ast = t().file(ast, [], []); + } else if (ast.type !== "File") { + throw new Error("AST root must be a Program or File node"); + } + + ast = (0, _cloneDeep().default)(ast); + } else { + ast = parser(pluginPasses, options, code); + } + + var inputMap = null; + + if (options.inputSourceMap !== false) { + if (_typeof(options.inputSourceMap) === "object") { + inputMap = _convertSourceMap().default.fromObject(options.inputSourceMap); + } + + if (!inputMap) { + var lastComment = extractComments(INLINE_SOURCEMAP_REGEX, ast); + + if (lastComment) { + try { + inputMap = _convertSourceMap().default.fromComment(lastComment); + } catch (err) { + debug("discarding unknown inline input sourcemap", err); + } + } + } + + if (!inputMap) { + var _lastComment = extractComments(EXTERNAL_SOURCEMAP_REGEX, ast); + + if (typeof options.filename === "string" && _lastComment) { + try { + inputMap = _convertSourceMap().default.fromMapFileComment("//".concat(_lastComment), _path().default.dirname(options.filename)); + } catch (err) { + debug("discarding unknown file input sourcemap", err); + } + } else if (_lastComment) { + debug("discarding un-loadable file input sourcemap"); + } + } + } + + return new _file.default(options, { + code: code, + ast: ast, + inputMap: inputMap + }); +} + +function parser(pluginPasses, _ref, code) { + var parserOpts = _ref.parserOpts, + _ref$highlightCode = _ref.highlightCode, + highlightCode = _ref$highlightCode === void 0 ? true : _ref$highlightCode, + _ref$filename = _ref.filename, + filename = _ref$filename === void 0 ? "unknown" : _ref$filename; + + try { + var results = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = pluginPasses[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var plugins = _step.value; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var plugin = _step2.value; + var parserOverride = plugin.parserOverride; + + if (parserOverride) { + var ast = parserOverride(code, parserOpts, _parser().parse); + if (ast !== undefined) results.push(ast); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (results.length === 0) { + return (0, _parser().parse)(code, parserOpts); + } else if (results.length === 1) { + if (typeof results[0].then === "function") { + throw new Error("You appear to be using an async parser plugin, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); + } + + return results[0]; + } + + throw new Error("More than one plugin attempted to override parsing."); + } catch (err) { + if (err.code === "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED") { + err.message += "\nConsider renaming the file to '.mjs', or setting sourceType:module " + "or sourceType:unambiguous in your Babel config for this file."; + } + + var loc = err.loc, + missingPlugin = err.missingPlugin; + + if (loc) { + var codeFrame = (0, _codeFrame().codeFrameColumns)(code, { + start: { + line: loc.line, + column: loc.column + 1 + } + }, { + highlightCode: highlightCode + }); + + if (missingPlugin) { + err.message = "".concat(filename, ": ") + (0, _missingPluginHelper.default)(missingPlugin[0], loc, codeFrame); + } else { + err.message = "".concat(filename, ": ").concat(err.message, "\n\n") + codeFrame; + } + + err.code = "BABEL_PARSE_ERROR"; + } + + throw err; + } +} + +var INLINE_SOURCEMAP_REGEX = /^[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/; +var EXTERNAL_SOURCEMAP_REGEX = /^[@#][ \t]+sourceMappingURL=(?:[^\s'"`]+?)[ \t]*$/; + +function extractCommentsFromList(regex, comments, lastComment) { + if (comments) { + comments = comments.filter(function (_ref2) { + var value = _ref2.value; + + if (regex.test(value)) { + lastComment = value; + return false; + } + + return true; + }); + } + + return [comments, lastComment]; +} + +function extractComments(regex, ast) { + var lastComment = null; + t().traverseFast(ast, function (node) { + var _extractCommentsFromL = extractCommentsFromList(regex, node.leadingComments, lastComment); + + var _extractCommentsFromL2 = _slicedToArray(_extractCommentsFromL, 2); + + node.leadingComments = _extractCommentsFromL2[0]; + lastComment = _extractCommentsFromL2[1]; + + var _extractCommentsFromL3 = extractCommentsFromList(regex, node.innerComments, lastComment); + + var _extractCommentsFromL4 = _slicedToArray(_extractCommentsFromL3, 2); + + node.innerComments = _extractCommentsFromL4[0]; + lastComment = _extractCommentsFromL4[1]; + + var _extractCommentsFromL5 = extractCommentsFromList(regex, node.trailingComments, lastComment); + + var _extractCommentsFromL6 = _slicedToArray(_extractCommentsFromL5, 2); + + node.trailingComments = _extractCommentsFromL6[0]; + lastComment = _extractCommentsFromL6[1]; + }); + return lastComment; +} + +},{"./file/file":26,"./util/missing-plugin-helper":33,"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242,"convert-source-map":302,"debug":34,"lodash/cloneDeep":1005,"path":1052}],31:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = normalizeOptions; + +function _path() { + var data = _interopRequireDefault(require("path")); + + _path = function _path() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function normalizeOptions(config) { + var _config$options = config.options, + filename = _config$options.filename, + cwd = _config$options.cwd, + _config$options$filen = _config$options.filenameRelative, + filenameRelative = _config$options$filen === void 0 ? typeof filename === "string" ? _path().default.relative(cwd, filename) : "unknown" : _config$options$filen, + _config$options$sourc = _config$options.sourceType, + sourceType = _config$options$sourc === void 0 ? "module" : _config$options$sourc, + inputSourceMap = _config$options.inputSourceMap, + _config$options$sourc2 = _config$options.sourceMaps, + sourceMaps = _config$options$sourc2 === void 0 ? !!inputSourceMap : _config$options$sourc2, + moduleRoot = _config$options.moduleRoot, + _config$options$sourc3 = _config$options.sourceRoot, + sourceRoot = _config$options$sourc3 === void 0 ? moduleRoot : _config$options$sourc3, + _config$options$sourc4 = _config$options.sourceFileName, + sourceFileName = _config$options$sourc4 === void 0 ? _path().default.basename(filenameRelative) : _config$options$sourc4, + _config$options$comme = _config$options.comments, + comments = _config$options$comme === void 0 ? true : _config$options$comme, + _config$options$compa = _config$options.compact, + compact = _config$options$compa === void 0 ? "auto" : _config$options$compa; + var opts = config.options; + var options = Object.assign({}, opts, { + parserOpts: Object.assign({ + sourceType: _path().default.extname(filenameRelative) === ".mjs" ? "module" : sourceType, + sourceFileName: filename, + plugins: [] + }, opts.parserOpts), + generatorOpts: Object.assign({ + filename: filename, + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + retainLines: opts.retainLines, + comments: comments, + shouldPrintComment: opts.shouldPrintComment, + compact: compact, + minified: opts.minified, + sourceMaps: sourceMaps, + sourceRoot: sourceRoot, + sourceFileName: sourceFileName + }, opts.generatorOpts) + }); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = config.passes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var plugins = _step.value; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = plugins[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var plugin = _step2.value; + + if (plugin.manipulateOptions) { + plugin.manipulateOptions(options, options.parserOpts); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return options; +} + +},{"path":1052}],32:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var PluginPass = +/*#__PURE__*/ +function () { + function PluginPass(file, key, options) { + _classCallCheck(this, PluginPass); + + this._map = new Map(); + this.key = key; + this.file = file; + this.opts = options || {}; + this.cwd = file.opts.cwd; + this.filename = file.opts.filename; + } + + _createClass(PluginPass, [{ + key: "set", + value: function set(key, val) { + this._map.set(key, val); + } + }, { + key: "get", + value: function get(key) { + return this._map.get(key); + } + }, { + key: "availableHelper", + value: function availableHelper(name, versionRange) { + return this.file.availableHelper(name, versionRange); + } + }, { + key: "addHelper", + value: function addHelper(name) { + return this.file.addHelper(name); + } + }, { + key: "addImport", + value: function addImport() { + return this.file.addImport(); + } + }, { + key: "getModuleName", + value: function getModuleName() { + return this.file.getModuleName(); + } + }, { + key: "buildCodeFrameError", + value: function buildCodeFrameError(node, msg, Error) { + return this.file.buildCodeFrameError(node, msg, Error); + } + }]); + + return PluginPass; +}(); + +exports.default = PluginPass; + +},{}],33:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = generateMissingPluginMessage; +var pluginNameMap = { + classProperties: { + syntax: { + name: "@babel/plugin-syntax-class-properties", + url: "https://git.io/vb4yQ" + }, + transform: { + name: "@babel/plugin-proposal-class-properties", + url: "https://git.io/vb4SL" + } + }, + decorators: { + syntax: { + name: "@babel/plugin-syntax-decorators", + url: "https://git.io/vb4y9" + }, + transform: { + name: "@babel/plugin-proposal-decorators", + url: "https://git.io/vb4ST" + } + }, + doExpressions: { + syntax: { + name: "@babel/plugin-syntax-do-expressions", + url: "https://git.io/vb4yh" + }, + transform: { + name: "@babel/plugin-proposal-do-expressions", + url: "https://git.io/vb4S3" + } + }, + dynamicImport: { + syntax: { + name: "@babel/plugin-syntax-dynamic-import", + url: "https://git.io/vb4Sv" + } + }, + exportDefaultFrom: { + syntax: { + name: "@babel/plugin-syntax-export-default-from", + url: "https://git.io/vb4SO" + }, + transform: { + name: "@babel/plugin-proposal-export-default-from", + url: "https://git.io/vb4yH" + } + }, + exportNamespaceFrom: { + syntax: { + name: "@babel/plugin-syntax-export-namespace-from", + url: "https://git.io/vb4Sf" + }, + transform: { + name: "@babel/plugin-proposal-export-namespace-from", + url: "https://git.io/vb4SG" + } + }, + flow: { + syntax: { + name: "@babel/plugin-syntax-flow", + url: "https://git.io/vb4yb" + }, + transform: { + name: "@babel/plugin-transform-flow-strip-types", + url: "https://git.io/vb49g" + } + }, + functionBind: { + syntax: { + name: "@babel/plugin-syntax-function-bind", + url: "https://git.io/vb4y7" + }, + transform: { + name: "@babel/plugin-proposal-function-bind", + url: "https://git.io/vb4St" + } + }, + functionSent: { + syntax: { + name: "@babel/plugin-syntax-function-sent", + url: "https://git.io/vb4yN" + }, + transform: { + name: "@babel/plugin-proposal-function-sent", + url: "https://git.io/vb4SZ" + } + }, + importMeta: { + syntax: { + name: "@babel/plugin-syntax-import-meta", + url: "https://git.io/vbKK6" + } + }, + jsx: { + syntax: { + name: "@babel/plugin-syntax-jsx", + url: "https://git.io/vb4yA" + }, + transform: { + name: "@babel/plugin-transform-react-jsx", + url: "https://git.io/vb4yd" + } + }, + logicalAssignment: { + syntax: { + name: "@babel/plugin-syntax-logical-assignment-operators", + url: "https://git.io/vAlBp" + }, + transform: { + name: "@babel/plugin-proposal-logical-assignment-operators", + url: "https://git.io/vAlRe" + } + }, + nullishCoalescingOperator: { + syntax: { + name: "@babel/plugin-syntax-nullish-coalescing-operator", + url: "https://git.io/vb4yx" + }, + transform: { + name: "@babel/plugin-proposal-nullish-coalescing-operator", + url: "https://git.io/vb4Se" + } + }, + numericSeparator: { + syntax: { + name: "@babel/plugin-syntax-numeric-separator", + url: "https://git.io/vb4Sq" + }, + transform: { + name: "@babel/plugin-proposal-numeric-separator", + url: "https://git.io/vb4yS" + } + }, + optionalChaining: { + syntax: { + name: "@babel/plugin-syntax-optional-chaining", + url: "https://git.io/vb4Sc" + }, + transform: { + name: "@babel/plugin-proposal-optional-chaining", + url: "https://git.io/vb4Sk" + } + }, + pipelineOperator: { + syntax: { + name: "@babel/plugin-syntax-pipeline-operator", + url: "https://git.io/vb4yj" + }, + transform: { + name: "@babel/plugin-proposal-pipeline-operator", + url: "https://git.io/vb4SU" + } + }, + throwExpressions: { + syntax: { + name: "@babel/plugin-syntax-throw-expressions", + url: "https://git.io/vb4SJ" + }, + transform: { + name: "@babel/plugin-proposal-throw-expressions", + url: "https://git.io/vb4yF" + } + }, + typescript: { + syntax: { + name: "@babel/plugin-syntax-typescript", + url: "https://git.io/vb4SC" + }, + transform: { + name: "@babel/plugin-transform-typescript", + url: "https://git.io/vb4Sm" + } + }, + asyncGenerators: { + syntax: { + name: "@babel/plugin-syntax-async-generators", + url: "https://git.io/vb4SY" + }, + transform: { + name: "@babel/plugin-proposal-async-generator-functions", + url: "https://git.io/vb4yp" + } + }, + objectRestSpread: { + syntax: { + name: "@babel/plugin-syntax-object-rest-spread", + url: "https://git.io/vb4y5" + }, + transform: { + name: "@babel/plugin-proposal-object-rest-spread", + url: "https://git.io/vb4Ss" + } + }, + optionalCatchBinding: { + syntax: { + name: "@babel/plugin-syntax-optional-catch-binding", + url: "https://git.io/vb4Sn" + }, + transform: { + name: "@babel/plugin-proposal-optional-catch-binding", + url: "https://git.io/vb4SI" + } + } +}; + +var getNameURLCombination = function getNameURLCombination(_ref) { + var name = _ref.name, + url = _ref.url; + return "".concat(name, " (").concat(url, ")"); +}; + +function generateMissingPluginMessage(missingPluginName, loc, codeFrame) { + var helpMessage = "Support for the experimental syntax '".concat(missingPluginName, "' isn't currently enabled ") + "(".concat(loc.line, ":").concat(loc.column + 1, "):\n\n") + codeFrame; + var pluginInfo = pluginNameMap[missingPluginName]; + + if (pluginInfo) { + var syntaxPlugin = pluginInfo.syntax, + transformPlugin = pluginInfo.transform; + + if (syntaxPlugin) { + if (transformPlugin) { + var transformPluginInfo = getNameURLCombination(transformPlugin); + helpMessage += "\n\nAdd ".concat(transformPluginInfo, " to the 'plugins' section of your Babel config ") + "to enable transformation."; + } else { + var syntaxPluginInfo = getNameURLCombination(syntaxPlugin); + helpMessage += "\n\nAdd ".concat(syntaxPluginInfo, " to the 'plugins' section of your Babel config ") + "to enable parsing."; + } + } + } + + return helpMessage; +} + +},{}],34:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/* eslint-env browser */ + +/** + * This is the web browser implementation of `debug()`. + */ +exports.log = log; +exports.formatArgs = formatArgs; +exports.save = save; +exports.load = load; +exports.useColors = useColors; +exports.storage = localstorage(); +/** + * Colors. + */ + +exports.colors = ['#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33']; +/** + * Currently only WebKit-based Web Inspectors, Firefox >= v31, + * and the Firebug extension (any Firefox version) are known + * to support "%c" CSS customizations. + * + * TODO: add a `localStorage` variable to explicitly enable/disable colors + */ +// eslint-disable-next-line complexity + +function useColors() { + // NB: In an Electron preload script, document will be defined but not fully + // initialized. Since we know we're in Chrome, we'll just detect this case + // explicitly + if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) { + return true; + } // Internet Explorer and Edge do not support colors. + + + if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { + return false; + } // Is webkit? http://stackoverflow.com/a/16459606/376773 + // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 + + + return typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773 + typeof window !== 'undefined' && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31? + // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker + typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/); +} +/** + * Colorize log arguments if enabled. + * + * @api public + */ + + +function formatArgs(args) { + args[0] = (this.useColors ? '%c' : '') + this.namespace + (this.useColors ? ' %c' : ' ') + args[0] + (this.useColors ? '%c ' : ' ') + '+' + module.exports.humanize(this.diff); + + if (!this.useColors) { + return; + } + + var c = 'color: ' + this.color; + args.splice(1, 0, c, 'color: inherit'); // The final "%c" is somewhat tricky, because there could be other + // arguments passed either before or after the %c, so we need to + // figure out the correct index to insert the CSS into + + var index = 0; + var lastC = 0; + args[0].replace(/%[a-zA-Z%]/g, function (match) { + if (match === '%%') { + return; + } + + index++; + + if (match === '%c') { + // We only are interested in the *last* %c + // (the user may have provided their own) + lastC = index; + } + }); + args.splice(lastC, 0, c); +} +/** + * Invokes `console.log()` when available. + * No-op when `console.log` is not a "function". + * + * @api public + */ + + +function log() { + var _console; + + // This hackery is required for IE8/9, where + // the `console.log` function doesn't have 'apply' + return (typeof console === "undefined" ? "undefined" : _typeof(console)) === 'object' && console.log && (_console = console).log.apply(_console, arguments); +} +/** + * Save `namespaces`. + * + * @param {String} namespaces + * @api private + */ + + +function save(namespaces) { + try { + if (namespaces) { + exports.storage.setItem('debug', namespaces); + } else { + exports.storage.removeItem('debug'); + } + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } +} +/** + * Load `namespaces`. + * + * @return {String} returns the previously persisted debug modes + * @api private + */ + + +function load() { + var r; + + try { + r = exports.storage.getItem('debug'); + } catch (error) {} // Swallow + // XXX (@Qix-) should we be logging these? + // If debug isn't set in LS, and we're in Electron, try to load $DEBUG + + + if (!r && typeof process !== 'undefined' && 'env' in process) { + r = process.env.DEBUG; + } + + return r; +} +/** + * Localstorage attempts to return the localstorage. + * + * This is necessary because safari throws + * when a user disables cookies/localstorage + * and you attempt to access it. + * + * @return {LocalStorage} + * @api private + */ + + +function localstorage() { + try { + // TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context + // The Browser also has localStorage in the global context. + return localStorage; + } catch (error) {// Swallow + // XXX (@Qix-) should we be logging these? + } +} + +module.exports = require('./common')(exports); +var formatters = module.exports.formatters; +/** + * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. + */ + +formatters.j = function (v) { + try { + return JSON.stringify(v); + } catch (error) { + return '[UnexpectedJSONParseError]: ' + error.message; + } +}; + +}).call(this,require('_process')) +},{"./common":35,"_process":1054}],35:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +/** + * This is the common logic for both the Node.js and web browser + * implementations of `debug()`. + */ +function setup(env) { + createDebug.debug = createDebug; + createDebug.default = createDebug; + createDebug.coerce = coerce; + createDebug.disable = disable; + createDebug.enable = enable; + createDebug.enabled = enabled; + createDebug.humanize = require('ms'); + Object.keys(env).forEach(function (key) { + createDebug[key] = env[key]; + }); + /** + * Active `debug` instances. + */ + + createDebug.instances = []; + /** + * The currently active debug mode names, and names to skip. + */ + + createDebug.names = []; + createDebug.skips = []; + /** + * Map of special "%n" handling functions, for the debug "format" argument. + * + * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". + */ + + createDebug.formatters = {}; + /** + * Selects a color for a debug namespace + * @param {String} namespace The namespace string for the for the debug instance to be colored + * @return {Number|String} An ANSI color code for the given namespace + * @api private + */ + + function selectColor(namespace) { + var hash = 0; + + for (var i = 0; i < namespace.length; i++) { + hash = (hash << 5) - hash + namespace.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + + return createDebug.colors[Math.abs(hash) % createDebug.colors.length]; + } + + createDebug.selectColor = selectColor; + /** + * Create a debugger with the given `namespace`. + * + * @param {String} namespace + * @return {Function} + * @api public + */ + + function createDebug(namespace) { + var prevTime; + + function debug() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + // Disabled? + if (!debug.enabled) { + return; + } + + var self = debug; // Set `diff` timestamp + + var curr = Number(new Date()); + var ms = curr - (prevTime || curr); + self.diff = ms; + self.prev = prevTime; + self.curr = curr; + prevTime = curr; + args[0] = createDebug.coerce(args[0]); + + if (typeof args[0] !== 'string') { + // Anything else let's inspect with %O + args.unshift('%O'); + } // Apply any `formatters` transformations + + + var index = 0; + args[0] = args[0].replace(/%([a-zA-Z%])/g, function (match, format) { + // If we encounter an escaped % then don't increase the array index + if (match === '%%') { + return match; + } + + index++; + var formatter = createDebug.formatters[format]; + + if (typeof formatter === 'function') { + var val = args[index]; + match = formatter.call(self, val); // Now we need to remove `args[index]` since it's inlined in the `format` + + args.splice(index, 1); + index--; + } + + return match; + }); // Apply env-specific formatting (colors, etc.) + + createDebug.formatArgs.call(self, args); + var logFn = self.log || createDebug.log; + logFn.apply(self, args); + } + + debug.namespace = namespace; + debug.enabled = createDebug.enabled(namespace); + debug.useColors = createDebug.useColors(); + debug.color = selectColor(namespace); + debug.destroy = destroy; + debug.extend = extend; // Debug.formatArgs = formatArgs; + // debug.rawLog = rawLog; + // env-specific initialization logic for debug instances + + if (typeof createDebug.init === 'function') { + createDebug.init(debug); + } + + createDebug.instances.push(debug); + return debug; + } + + function destroy() { + var index = createDebug.instances.indexOf(this); + + if (index !== -1) { + createDebug.instances.splice(index, 1); + return true; + } + + return false; + } + + function extend(namespace, delimiter) { + var newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace); + newDebug.log = this.log; + return newDebug; + } + /** + * Enables a debug mode by namespaces. This can include modes + * separated by a colon and wildcards. + * + * @param {String} namespaces + * @api public + */ + + + function enable(namespaces) { + createDebug.save(namespaces); + createDebug.names = []; + createDebug.skips = []; + var i; + var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); + var len = split.length; + + for (i = 0; i < len; i++) { + if (!split[i]) { + // ignore empty strings + continue; + } + + namespaces = split[i].replace(/\*/g, '.*?'); + + if (namespaces[0] === '-') { + createDebug.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); + } else { + createDebug.names.push(new RegExp('^' + namespaces + '$')); + } + } + + for (i = 0; i < createDebug.instances.length; i++) { + var instance = createDebug.instances[i]; + instance.enabled = createDebug.enabled(instance.namespace); + } + } + /** + * Disable debug output. + * + * @return {String} namespaces + * @api public + */ + + + function disable() { + var namespaces = [].concat(_toConsumableArray(createDebug.names.map(toNamespace)), _toConsumableArray(createDebug.skips.map(toNamespace).map(function (namespace) { + return '-' + namespace; + }))).join(','); + createDebug.enable(''); + return namespaces; + } + /** + * Returns true if the given mode name is enabled, false otherwise. + * + * @param {String} name + * @return {Boolean} + * @api public + */ + + + function enabled(name) { + if (name[name.length - 1] === '*') { + return true; + } + + var i; + var len; + + for (i = 0, len = createDebug.skips.length; i < len; i++) { + if (createDebug.skips[i].test(name)) { + return false; + } + } + + for (i = 0, len = createDebug.names.length; i < len; i++) { + if (createDebug.names[i].test(name)) { + return true; + } + } + + return false; + } + /** + * Convert regexp to namespace + * + * @param {RegExp} regxep + * @return {String} namespace + * @api private + */ + + + function toNamespace(regexp) { + return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, '*'); + } + /** + * Coerce `val`. + * + * @param {Mixed} val + * @return {Mixed} + * @api private + */ + + + function coerce(val) { + if (val instanceof Error) { + return val.stack || val.message; + } + + return val; + } + + createDebug.enable(createDebug.load()); + return createDebug; +} + +module.exports = setup; + +},{"ms":36}],36:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/** + * Helpers. + */ +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var w = d * 7; +var y = d * 365.25; +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @param {String|Number} val + * @param {Object} [options] + * @throws {Error} throw an error if val is not a non-empty string or a number + * @return {String|Number} + * @api public + */ + +module.exports = function (val, options) { + options = options || {}; + + var type = _typeof(val); + + if (type === 'string' && val.length > 0) { + return parse(val); + } else if (type === 'number' && isFinite(val)) { + return options.long ? fmtLong(val) : fmtShort(val); + } + + throw new Error('val is not a non-empty string or a valid number. val=' + JSON.stringify(val)); +}; +/** + * Parse the given `str` and return milliseconds. + * + * @param {String} str + * @return {Number} + * @api private + */ + + +function parse(str) { + str = String(str); + + if (str.length > 100) { + return; + } + + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(str); + + if (!match) { + return; + } + + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + + switch (type) { + case 'years': + case 'year': + case 'yrs': + case 'yr': + case 'y': + return n * y; + + case 'weeks': + case 'week': + case 'w': + return n * w; + + case 'days': + case 'day': + case 'd': + return n * d; + + case 'hours': + case 'hour': + case 'hrs': + case 'hr': + case 'h': + return n * h; + + case 'minutes': + case 'minute': + case 'mins': + case 'min': + case 'm': + return n * m; + + case 'seconds': + case 'second': + case 'secs': + case 'sec': + case 's': + return n * s; + + case 'milliseconds': + case 'millisecond': + case 'msecs': + case 'msec': + case 'ms': + return n; + + default: + return undefined; + } +} +/** + * Short format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + + +function fmtShort(ms) { + var msAbs = Math.abs(ms); + + if (msAbs >= d) { + return Math.round(ms / d) + 'd'; + } + + if (msAbs >= h) { + return Math.round(ms / h) + 'h'; + } + + if (msAbs >= m) { + return Math.round(ms / m) + 'm'; + } + + if (msAbs >= s) { + return Math.round(ms / s) + 's'; + } + + return ms + 'ms'; +} +/** + * Long format for `ms`. + * + * @param {Number} ms + * @return {String} + * @api private + */ + + +function fmtLong(ms) { + var msAbs = Math.abs(ms); + + if (msAbs >= d) { + return plural(ms, msAbs, d, 'day'); + } + + if (msAbs >= h) { + return plural(ms, msAbs, h, 'hour'); + } + + if (msAbs >= m) { + return plural(ms, msAbs, m, 'minute'); + } + + if (msAbs >= s) { + return plural(ms, msAbs, s, 'second'); + } + + return ms + ' ms'; +} +/** + * Pluralization helper. + */ + + +function plural(ms, msAbs, n, name) { + var isPlural = msAbs >= n * 1.5; + return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : ''); +} + +},{}],37:[function(require,module,exports){ +module.exports={ + "_from": "@babel/core@*", + "_id": "@babel/core@7.7.2", + "_inBundle": false, + "_integrity": "sha512-eeD7VEZKfhK1KUXGiyPFettgF3m513f8FoBSWiQ1xTvl1RAopLs42Wp9+Ze911I6H0N9lNqJMDgoZT7gHsipeQ==", + "_location": "/@babel/core", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@babel/core@*", + "name": "@babel/core", + "escapedName": "@babel%2fcore", + "scope": "@babel", + "rawSpec": "*", + "saveSpec": null, + "fetchSpec": "*" + }, + "_requiredBy": [ + "#DEV:/" + ], + "_resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.2.tgz", + "_shasum": "ea5b99693bcfc058116f42fa1dd54da412b29d91", + "_spec": "@babel/core@*", + "_where": "/local/home/ossman/devel/noVNC", + "author": { + "name": "Sebastian McKenzie", + "email": "sebmck@gmail.com" + }, + "browser": { + "./lib/config/files/index.js": "./lib/config/files/index-browser.js", + "./lib/transform-file.js": "./lib/transform-file-browser.js" + }, + "bundleDependencies": false, + "dependencies": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.7.2", + "@babel/helpers": "^7.7.0", + "@babel/parser": "^7.7.2", + "@babel/template": "^7.7.0", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.7.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "json5": "^2.1.0", + "lodash": "^4.17.13", + "resolve": "^1.3.2", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "deprecated": false, + "description": "Babel compiler core.", + "devDependencies": { + "@babel/helper-transform-fixture-test-runner": "^7.6.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "gitHead": "35f4d1276310bac6fede4a6f86a5c76f951e179e", + "homepage": "https://babeljs.io/", + "keywords": [ + "6to5", + "babel", + "classes", + "const", + "es6", + "harmony", + "let", + "modules", + "transpile", + "transpiler", + "var", + "babel-core", + "compiler" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "@babel/core", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-core" + }, + "version": "7.7.2" +} + +},{}],38:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var SPACES_RE = /^[ \t]+$/; + +var Buffer = +/*#__PURE__*/ +function () { + function Buffer(map) { + _classCallCheck(this, Buffer); + + this._map = null; + this._buf = []; + this._last = ""; + this._queue = []; + this._position = { + line: 1, + column: 0 + }; + this._sourcePosition = { + identifierName: null, + line: null, + column: null, + filename: null + }; + this._disallowedPop = null; + this._map = map; + } + + _createClass(Buffer, [{ + key: "get", + value: function get() { + this._flush(); + + var map = this._map; + var result = { + code: this._buf.join("").trimRight(), + map: null, + rawMappings: map && map.getRawMappings() + }; + + if (map) { + Object.defineProperty(result, "map", { + configurable: true, + enumerable: true, + get: function get() { + return this.map = map.get(); + }, + set: function set(value) { + Object.defineProperty(this, "map", { + value: value, + writable: true + }); + } + }); + } + + return result; + } + }, { + key: "append", + value: function append(str) { + this._flush(); + + var _this$_sourcePosition = this._sourcePosition, + line = _this$_sourcePosition.line, + column = _this$_sourcePosition.column, + filename = _this$_sourcePosition.filename, + identifierName = _this$_sourcePosition.identifierName, + force = _this$_sourcePosition.force; + + this._append(str, line, column, identifierName, filename, force); + } + }, { + key: "queue", + value: function queue(str) { + if (str === "\n") { + while (this._queue.length > 0 && SPACES_RE.test(this._queue[0][0])) { + this._queue.shift(); + } + } + + var _this$_sourcePosition2 = this._sourcePosition, + line = _this$_sourcePosition2.line, + column = _this$_sourcePosition2.column, + filename = _this$_sourcePosition2.filename, + identifierName = _this$_sourcePosition2.identifierName, + force = _this$_sourcePosition2.force; + + this._queue.unshift([str, line, column, identifierName, filename, force]); + } + }, { + key: "_flush", + value: function _flush() { + var item; + + while (item = this._queue.pop()) { + this._append.apply(this, _toConsumableArray(item)); + } + } + }, { + key: "_append", + value: function _append(str, line, column, identifierName, filename, force) { + if (this._map && str[0] !== "\n") { + this._map.mark(this._position.line, this._position.column, line, column, identifierName, filename, force); + } + + this._buf.push(str); + + this._last = str[str.length - 1]; + + for (var i = 0; i < str.length; i++) { + if (str[i] === "\n") { + this._position.line++; + this._position.column = 0; + } else { + this._position.column++; + } + } + } + }, { + key: "removeTrailingNewline", + value: function removeTrailingNewline() { + if (this._queue.length > 0 && this._queue[0][0] === "\n") { + this._queue.shift(); + } + } + }, { + key: "removeLastSemicolon", + value: function removeLastSemicolon() { + if (this._queue.length > 0 && this._queue[0][0] === ";") { + this._queue.shift(); + } + } + }, { + key: "endsWith", + value: function endsWith(suffix) { + if (suffix.length === 1) { + var last; + + if (this._queue.length > 0) { + var str = this._queue[0][0]; + last = str[str.length - 1]; + } else { + last = this._last; + } + + return last === suffix; + } + + var end = this._last + this._queue.reduce(function (acc, item) { + return item[0] + acc; + }, ""); + + if (suffix.length <= end.length) { + return end.slice(-suffix.length) === suffix; + } + + return false; + } + }, { + key: "hasContent", + value: function hasContent() { + return this._queue.length > 0 || !!this._last; + } + }, { + key: "exactSource", + value: function exactSource(loc, cb) { + this.source("start", loc, true); + cb(); + this.source("end", loc); + + this._disallowPop("start", loc); + } + }, { + key: "source", + value: function source(prop, loc, force) { + if (prop && !loc) return; + + this._normalizePosition(prop, loc, this._sourcePosition, force); + } + }, { + key: "withSource", + value: function withSource(prop, loc, cb) { + if (!this._map) return cb(); + var originalLine = this._sourcePosition.line; + var originalColumn = this._sourcePosition.column; + var originalFilename = this._sourcePosition.filename; + var originalIdentifierName = this._sourcePosition.identifierName; + this.source(prop, loc); + cb(); + + if ((!this._sourcePosition.force || this._sourcePosition.line !== originalLine || this._sourcePosition.column !== originalColumn || this._sourcePosition.filename !== originalFilename) && (!this._disallowedPop || this._disallowedPop.line !== originalLine || this._disallowedPop.column !== originalColumn || this._disallowedPop.filename !== originalFilename)) { + this._sourcePosition.line = originalLine; + this._sourcePosition.column = originalColumn; + this._sourcePosition.filename = originalFilename; + this._sourcePosition.identifierName = originalIdentifierName; + this._sourcePosition.force = false; + this._disallowedPop = null; + } + } + }, { + key: "_disallowPop", + value: function _disallowPop(prop, loc) { + if (prop && !loc) return; + this._disallowedPop = this._normalizePosition(prop, loc); + } + }, { + key: "_normalizePosition", + value: function _normalizePosition(prop, loc, targetObj, force) { + var pos = loc ? loc[prop] : null; + + if (targetObj === undefined) { + targetObj = { + identifierName: null, + line: null, + column: null, + filename: null, + force: false + }; + } + + var origLine = targetObj.line; + var origColumn = targetObj.column; + var origFilename = targetObj.filename; + targetObj.identifierName = prop === "start" && loc && loc.identifierName || null; + targetObj.line = pos ? pos.line : null; + targetObj.column = pos ? pos.column : null; + targetObj.filename = loc && loc.filename || null; + + if (force || targetObj.line !== origLine || targetObj.column !== origColumn || targetObj.filename !== origFilename) { + targetObj.force = force; + } + + return targetObj; + } + }, { + key: "getCurrentColumn", + value: function getCurrentColumn() { + var extra = this._queue.reduce(function (acc, item) { + return item[0] + acc; + }, ""); + + var lastIndex = extra.lastIndexOf("\n"); + return lastIndex === -1 ? this._position.column + extra.length : extra.length - 1 - lastIndex; + } + }, { + key: "getCurrentLine", + value: function getCurrentLine() { + var extra = this._queue.reduce(function (acc, item) { + return item[0] + acc; + }, ""); + + var count = 0; + + for (var i = 0; i < extra.length; i++) { + if (extra[i] === "\n") count++; + } + + return this._position.line + count; + } + }]); + + return Buffer; +}(); + +exports.default = Buffer; + +},{}],39:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.File = File; +exports.Program = Program; +exports.BlockStatement = BlockStatement; +exports.Noop = Noop; +exports.Directive = Directive; +exports.DirectiveLiteral = DirectiveLiteral; +exports.InterpreterDirective = InterpreterDirective; +exports.Placeholder = Placeholder; + +function File(node) { + if (node.program) { + this.print(node.program.interpreter, node); + } + + this.print(node.program, node); +} + +function Program(node) { + this.printInnerComments(node, false); + this.printSequence(node.directives, node); + if (node.directives && node.directives.length) this.newline(); + this.printSequence(node.body, node); +} + +function BlockStatement(node) { + this.token("{"); + this.printInnerComments(node); + var hasDirectives = node.directives && node.directives.length; + + if (node.body.length || hasDirectives) { + this.newline(); + this.printSequence(node.directives, node, { + indent: true + }); + if (hasDirectives) this.newline(); + this.printSequence(node.body, node, { + indent: true + }); + this.removeTrailingNewline(); + this.source("end", node.loc); + if (!this.endsWith("\n")) this.newline(); + this.rightBrace(); + } else { + this.source("end", node.loc); + this.token("}"); + } +} + +function Noop() {} + +function Directive(node) { + this.print(node.value, node); + this.semicolon(); +} + +var unescapedSingleQuoteRE = /(?:^|[^\\])(?:\\\\)*'/; +var unescapedDoubleQuoteRE = /(?:^|[^\\])(?:\\\\)*"/; + +function DirectiveLiteral(node) { + var raw = this.getPossibleRaw(node); + + if (raw != null) { + this.token(raw); + return; + } + + var value = node.value; + + if (!unescapedDoubleQuoteRE.test(value)) { + this.token("\"".concat(value, "\"")); + } else if (!unescapedSingleQuoteRE.test(value)) { + this.token("'".concat(value, "'")); + } else { + throw new Error("Malformed AST: it is not possible to print a directive containing" + " both unescaped single and double quotes."); + } +} + +function InterpreterDirective(node) { + this.token("#!".concat(node.value, "\n")); +} + +function Placeholder(node) { + this.token("%%"); + this.print(node.name); + this.token("%%"); + + if (node.expectedNode === "Statement") { + this.semicolon(); + } +} + +},{}],40:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ClassExpression = exports.ClassDeclaration = ClassDeclaration; +exports.ClassBody = ClassBody; +exports.ClassProperty = ClassProperty; +exports.ClassPrivateProperty = ClassPrivateProperty; +exports.ClassMethod = ClassMethod; +exports.ClassPrivateMethod = ClassPrivateMethod; +exports._classMethodHead = _classMethodHead; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function ClassDeclaration(node, parent) { + if (!this.format.decoratorsBeforeExport || !t.isExportDefaultDeclaration(parent) && !t.isExportNamedDeclaration(parent)) { + this.printJoin(node.decorators, node); + } + + if (node.declare) { + this.word("declare"); + this.space(); + } + + if (node.abstract) { + this.word("abstract"); + this.space(); + } + + this.word("class"); + + if (node.id) { + this.space(); + this.print(node.id, node); + } + + this.print(node.typeParameters, node); + + if (node.superClass) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.superClass, node); + this.print(node.superTypeParameters, node); + } + + if (node.implements) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } + + this.space(); + this.print(node.body, node); +} + +function ClassBody(node) { + this.token("{"); + this.printInnerComments(node); + + if (node.body.length === 0) { + this.token("}"); + } else { + this.newline(); + this.indent(); + this.printSequence(node.body, node); + this.dedent(); + if (!this.endsWith("\n")) this.newline(); + this.rightBrace(); + } +} + +function ClassProperty(node) { + this.printJoin(node.decorators, node); + this.tsPrintClassMemberModifiers(node, true); + + if (node.computed) { + this.token("["); + this.print(node.key, node); + this.token("]"); + } else { + this._variance(node); + + this.print(node.key, node); + } + + if (node.optional) { + this.token("?"); + } + + if (node.definite) { + this.token("!"); + } + + this.print(node.typeAnnotation, node); + + if (node.value) { + this.space(); + this.token("="); + this.space(); + this.print(node.value, node); + } + + this.semicolon(); +} + +function ClassPrivateProperty(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this.print(node.key, node); + this.print(node.typeAnnotation, node); + + if (node.value) { + this.space(); + this.token("="); + this.space(); + this.print(node.value, node); + } + + this.semicolon(); +} + +function ClassMethod(node) { + this._classMethodHead(node); + + this.space(); + this.print(node.body, node); +} + +function ClassPrivateMethod(node) { + this._classMethodHead(node); + + this.space(); + this.print(node.body, node); +} + +function _classMethodHead(node) { + this.printJoin(node.decorators, node); + this.tsPrintClassMemberModifiers(node, false); + + this._methodHead(node); +} + +},{"@babel/types":242}],41:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.UnaryExpression = UnaryExpression; +exports.DoExpression = DoExpression; +exports.ParenthesizedExpression = ParenthesizedExpression; +exports.UpdateExpression = UpdateExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.NewExpression = NewExpression; +exports.SequenceExpression = SequenceExpression; +exports.ThisExpression = ThisExpression; +exports.Super = Super; +exports.Decorator = Decorator; +exports.OptionalMemberExpression = OptionalMemberExpression; +exports.OptionalCallExpression = OptionalCallExpression; +exports.CallExpression = CallExpression; +exports.Import = Import; +exports.EmptyStatement = EmptyStatement; +exports.ExpressionStatement = ExpressionStatement; +exports.AssignmentPattern = AssignmentPattern; +exports.LogicalExpression = exports.BinaryExpression = exports.AssignmentExpression = AssignmentExpression; +exports.BindExpression = BindExpression; +exports.MemberExpression = MemberExpression; +exports.MetaProperty = MetaProperty; +exports.PrivateName = PrivateName; +exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; +exports.AwaitExpression = exports.YieldExpression = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +var n = _interopRequireWildcard(require("../node")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function UnaryExpression(node) { + if (node.operator === "void" || node.operator === "delete" || node.operator === "typeof" || node.operator === "throw") { + this.word(node.operator); + this.space(); + } else { + this.token(node.operator); + } + + this.print(node.argument, node); +} + +function DoExpression(node) { + this.word("do"); + this.space(); + this.print(node.body, node); +} + +function ParenthesizedExpression(node) { + this.token("("); + this.print(node.expression, node); + this.token(")"); +} + +function UpdateExpression(node) { + if (node.prefix) { + this.token(node.operator); + this.print(node.argument, node); + } else { + this.startTerminatorless(true); + this.print(node.argument, node); + this.endTerminatorless(); + this.token(node.operator); + } +} + +function ConditionalExpression(node) { + this.print(node.test, node); + this.space(); + this.token("?"); + this.space(); + this.print(node.consequent, node); + this.space(); + this.token(":"); + this.space(); + this.print(node.alternate, node); +} + +function NewExpression(node, parent) { + this.word("new"); + this.space(); + this.print(node.callee, node); + + if (this.format.minified && node.arguments.length === 0 && !node.optional && !t.isCallExpression(parent, { + callee: node + }) && !t.isMemberExpression(parent) && !t.isNewExpression(parent)) { + return; + } + + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + + if (node.optional) { + this.token("?."); + } + + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function SequenceExpression(node) { + this.printList(node.expressions, node); +} + +function ThisExpression() { + this.word("this"); +} + +function Super() { + this.word("super"); +} + +function Decorator(node) { + this.token("@"); + this.print(node.expression, node); + this.newline(); +} + +function OptionalMemberExpression(node) { + this.print(node.object, node); + + if (!node.computed && t.isMemberExpression(node.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + + var computed = node.computed; + + if (t.isLiteral(node.property) && typeof node.property.value === "number") { + computed = true; + } + + if (node.optional) { + this.token("?."); + } + + if (computed) { + this.token("["); + this.print(node.property, node); + this.token("]"); + } else { + if (!node.optional) { + this.token("."); + } + + this.print(node.property, node); + } +} + +function OptionalCallExpression(node) { + this.print(node.callee, node); + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + + if (node.optional) { + this.token("?."); + } + + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function CallExpression(node) { + this.print(node.callee, node); + this.print(node.typeArguments, node); + this.print(node.typeParameters, node); + this.token("("); + this.printList(node.arguments, node); + this.token(")"); +} + +function Import() { + this.word("import"); +} + +function buildYieldAwait(keyword) { + return function (node) { + this.word(keyword); + + if (node.delegate) { + this.token("*"); + } + + if (node.argument) { + this.space(); + var terminatorState = this.startTerminatorless(); + this.print(node.argument, node); + this.endTerminatorless(terminatorState); + } + }; +} + +var YieldExpression = buildYieldAwait("yield"); +exports.YieldExpression = YieldExpression; +var AwaitExpression = buildYieldAwait("await"); +exports.AwaitExpression = AwaitExpression; + +function EmptyStatement() { + this.semicolon(true); +} + +function ExpressionStatement(node) { + this.print(node.expression, node); + this.semicolon(); +} + +function AssignmentPattern(node) { + this.print(node.left, node); + if (node.left.optional) this.token("?"); + this.print(node.left.typeAnnotation, node); + this.space(); + this.token("="); + this.space(); + this.print(node.right, node); +} + +function AssignmentExpression(node, parent) { + var parens = this.inForStatementInitCounter && node.operator === "in" && !n.needsParens(node, parent); + + if (parens) { + this.token("("); + } + + this.print(node.left, node); + this.space(); + + if (node.operator === "in" || node.operator === "instanceof") { + this.word(node.operator); + } else { + this.token(node.operator); + } + + this.space(); + this.print(node.right, node); + + if (parens) { + this.token(")"); + } +} + +function BindExpression(node) { + this.print(node.object, node); + this.token("::"); + this.print(node.callee, node); +} + +function MemberExpression(node) { + this.print(node.object, node); + + if (!node.computed && t.isMemberExpression(node.property)) { + throw new TypeError("Got a MemberExpression for MemberExpression property"); + } + + var computed = node.computed; + + if (t.isLiteral(node.property) && typeof node.property.value === "number") { + computed = true; + } + + if (computed) { + this.token("["); + this.print(node.property, node); + this.token("]"); + } else { + this.token("."); + this.print(node.property, node); + } +} + +function MetaProperty(node) { + this.print(node.meta, node); + this.token("."); + this.print(node.property, node); +} + +function PrivateName(node) { + this.token("#"); + this.print(node.id, node); +} + +function V8IntrinsicIdentifier(node) { + this.token("%"); + this.word(node.name); +} + +},{"../node":52,"@babel/types":242}],42:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.AnyTypeAnnotation = AnyTypeAnnotation; +exports.ArrayTypeAnnotation = ArrayTypeAnnotation; +exports.BooleanTypeAnnotation = BooleanTypeAnnotation; +exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; +exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; +exports.DeclareClass = DeclareClass; +exports.DeclareFunction = DeclareFunction; +exports.InferredPredicate = InferredPredicate; +exports.DeclaredPredicate = DeclaredPredicate; +exports.DeclareInterface = DeclareInterface; +exports.DeclareModule = DeclareModule; +exports.DeclareModuleExports = DeclareModuleExports; +exports.DeclareTypeAlias = DeclareTypeAlias; +exports.DeclareOpaqueType = DeclareOpaqueType; +exports.DeclareVariable = DeclareVariable; +exports.DeclareExportDeclaration = DeclareExportDeclaration; +exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; +exports.EnumDeclaration = EnumDeclaration; +exports.EnumBooleanBody = EnumBooleanBody; +exports.EnumNumberBody = EnumNumberBody; +exports.EnumStringBody = EnumStringBody; +exports.EnumSymbolBody = EnumSymbolBody; +exports.EnumDefaultedMember = EnumDefaultedMember; +exports.EnumBooleanMember = EnumBooleanMember; +exports.EnumNumberMember = EnumNumberMember; +exports.EnumStringMember = EnumStringMember; +exports.ExistsTypeAnnotation = ExistsTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.FunctionTypeParam = FunctionTypeParam; +exports.GenericTypeAnnotation = exports.ClassImplements = exports.InterfaceExtends = InterfaceExtends; +exports._interfaceish = _interfaceish; +exports._variance = _variance; +exports.InterfaceDeclaration = InterfaceDeclaration; +exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; +exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; +exports.MixedTypeAnnotation = MixedTypeAnnotation; +exports.EmptyTypeAnnotation = EmptyTypeAnnotation; +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.NumberTypeAnnotation = NumberTypeAnnotation; +exports.StringTypeAnnotation = StringTypeAnnotation; +exports.ThisTypeAnnotation = ThisTypeAnnotation; +exports.TupleTypeAnnotation = TupleTypeAnnotation; +exports.TypeofTypeAnnotation = TypeofTypeAnnotation; +exports.TypeAlias = TypeAlias; +exports.TypeAnnotation = TypeAnnotation; +exports.TypeParameterDeclaration = exports.TypeParameterInstantiation = TypeParameterInstantiation; +exports.TypeParameter = TypeParameter; +exports.OpaqueType = OpaqueType; +exports.ObjectTypeAnnotation = ObjectTypeAnnotation; +exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; +exports.ObjectTypeCallProperty = ObjectTypeCallProperty; +exports.ObjectTypeIndexer = ObjectTypeIndexer; +exports.ObjectTypeProperty = ObjectTypeProperty; +exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; +exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; +exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.TypeCastExpression = TypeCastExpression; +exports.Variance = Variance; +exports.VoidTypeAnnotation = VoidTypeAnnotation; +Object.defineProperty(exports, "NumberLiteralTypeAnnotation", { + enumerable: true, + get: function get() { + return _types2.NumericLiteral; + } +}); +Object.defineProperty(exports, "StringLiteralTypeAnnotation", { + enumerable: true, + get: function get() { + return _types2.StringLiteral; + } +}); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _modules = require("./modules"); + +var _types2 = require("./types"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function AnyTypeAnnotation() { + this.word("any"); +} + +function ArrayTypeAnnotation(node) { + this.print(node.elementType, node); + this.token("["); + this.token("]"); +} + +function BooleanTypeAnnotation() { + this.word("boolean"); +} + +function BooleanLiteralTypeAnnotation(node) { + this.word(node.value ? "true" : "false"); +} + +function NullLiteralTypeAnnotation() { + this.word("null"); +} + +function DeclareClass(node, parent) { + if (!t.isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("class"); + this.space(); + + this._interfaceish(node); +} + +function DeclareFunction(node, parent) { + if (!t.isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("function"); + this.space(); + this.print(node.id, node); + this.print(node.id.typeAnnotation.typeAnnotation, node); + + if (node.predicate) { + this.space(); + this.print(node.predicate, node); + } + + this.semicolon(); +} + +function InferredPredicate() { + this.token("%"); + this.word("checks"); +} + +function DeclaredPredicate(node) { + this.token("%"); + this.word("checks"); + this.token("("); + this.print(node.value, node); + this.token(")"); +} + +function DeclareInterface(node) { + this.word("declare"); + this.space(); + this.InterfaceDeclaration(node); +} + +function DeclareModule(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.space(); + this.print(node.id, node); + this.space(); + this.print(node.body, node); +} + +function DeclareModuleExports(node) { + this.word("declare"); + this.space(); + this.word("module"); + this.token("."); + this.word("exports"); + this.print(node.typeAnnotation, node); +} + +function DeclareTypeAlias(node) { + this.word("declare"); + this.space(); + this.TypeAlias(node); +} + +function DeclareOpaqueType(node, parent) { + if (!t.isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.OpaqueType(node); +} + +function DeclareVariable(node, parent) { + if (!t.isDeclareExportDeclaration(parent)) { + this.word("declare"); + this.space(); + } + + this.word("var"); + this.space(); + this.print(node.id, node); + this.print(node.id.typeAnnotation, node); + this.semicolon(); +} + +function DeclareExportDeclaration(node) { + this.word("declare"); + this.space(); + this.word("export"); + this.space(); + + if (node.default) { + this.word("default"); + this.space(); + } + + FlowExportDeclaration.apply(this, arguments); +} + +function DeclareExportAllDeclaration() { + this.word("declare"); + this.space(); + + _modules.ExportAllDeclaration.apply(this, arguments); +} + +function EnumDeclaration(node) { + var id = node.id, + body = node.body; + this.word("enum"); + this.space(); + this.print(id, node); + this.print(body, node); +} + +function enumExplicitType(context, name, hasExplicitType) { + if (hasExplicitType) { + context.space(); + context.word("of"); + context.space(); + context.word(name); + } + + context.space(); +} + +function enumBody(context, node) { + var members = node.members; + context.token("{"); + context.indent(); + context.newline(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = members[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var member = _step.value; + context.print(member, node); + context.newline(); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + context.dedent(); + context.token("}"); +} + +function EnumBooleanBody(node) { + var explicitType = node.explicitType; + enumExplicitType(this, "boolean", explicitType); + enumBody(this, node); +} + +function EnumNumberBody(node) { + var explicitType = node.explicitType; + enumExplicitType(this, "number", explicitType); + enumBody(this, node); +} + +function EnumStringBody(node) { + var explicitType = node.explicitType; + enumExplicitType(this, "string", explicitType); + enumBody(this, node); +} + +function EnumSymbolBody(node) { + enumExplicitType(this, "symbol", true); + enumBody(this, node); +} + +function EnumDefaultedMember(node) { + var id = node.id; + this.print(id, node); + this.token(","); +} + +function enumInitializedMember(context, node) { + var id = node.id, + init = node.init; + context.print(id, node); + context.space(); + context.token("="); + context.space(); + context.print(init, node); + context.token(","); +} + +function EnumBooleanMember(node) { + enumInitializedMember(this, node); +} + +function EnumNumberMember(node) { + enumInitializedMember(this, node); +} + +function EnumStringMember(node) { + enumInitializedMember(this, node); +} + +function FlowExportDeclaration(node) { + if (node.declaration) { + var declar = node.declaration; + this.print(declar, node); + if (!t.isStatement(declar)) this.semicolon(); + } else { + this.token("{"); + + if (node.specifiers.length) { + this.space(); + this.printList(node.specifiers, node); + this.space(); + } + + this.token("}"); + + if (node.source) { + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + } + + this.semicolon(); + } +} + +function ExistsTypeAnnotation() { + this.token("*"); +} + +function FunctionTypeAnnotation(node, parent) { + this.print(node.typeParameters, node); + this.token("("); + this.printList(node.params, node); + + if (node.rest) { + if (node.params.length) { + this.token(","); + this.space(); + } + + this.token("..."); + this.print(node.rest, node); + } + + this.token(")"); + + if (parent.type === "ObjectTypeCallProperty" || parent.type === "DeclareFunction" || parent.type === "ObjectTypeProperty" && parent.method) { + this.token(":"); + } else { + this.space(); + this.token("=>"); + } + + this.space(); + this.print(node.returnType, node); +} + +function FunctionTypeParam(node) { + this.print(node.name, node); + if (node.optional) this.token("?"); + + if (node.name) { + this.token(":"); + this.space(); + } + + this.print(node.typeAnnotation, node); +} + +function InterfaceExtends(node) { + this.print(node.id, node); + this.print(node.typeParameters, node); +} + +function _interfaceish(node) { + this.print(node.id, node); + this.print(node.typeParameters, node); + + if (node.extends.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends, node); + } + + if (node.mixins && node.mixins.length) { + this.space(); + this.word("mixins"); + this.space(); + this.printList(node.mixins, node); + } + + if (node.implements && node.implements.length) { + this.space(); + this.word("implements"); + this.space(); + this.printList(node.implements, node); + } + + this.space(); + this.print(node.body, node); +} + +function _variance(node) { + if (node.variance) { + if (node.variance.kind === "plus") { + this.token("+"); + } else if (node.variance.kind === "minus") { + this.token("-"); + } + } +} + +function InterfaceDeclaration(node) { + this.word("interface"); + this.space(); + + this._interfaceish(node); +} + +function andSeparator() { + this.space(); + this.token("&"); + this.space(); +} + +function InterfaceTypeAnnotation(node) { + this.word("interface"); + + if (node.extends && node.extends.length) { + this.space(); + this.word("extends"); + this.space(); + this.printList(node.extends, node); + } + + this.space(); + this.print(node.body, node); +} + +function IntersectionTypeAnnotation(node) { + this.printJoin(node.types, node, { + separator: andSeparator + }); +} + +function MixedTypeAnnotation() { + this.word("mixed"); +} + +function EmptyTypeAnnotation() { + this.word("empty"); +} + +function NullableTypeAnnotation(node) { + this.token("?"); + this.print(node.typeAnnotation, node); +} + +function NumberTypeAnnotation() { + this.word("number"); +} + +function StringTypeAnnotation() { + this.word("string"); +} + +function ThisTypeAnnotation() { + this.word("this"); +} + +function TupleTypeAnnotation(node) { + this.token("["); + this.printList(node.types, node); + this.token("]"); +} + +function TypeofTypeAnnotation(node) { + this.word("typeof"); + this.space(); + this.print(node.argument, node); +} + +function TypeAlias(node) { + this.word("type"); + this.space(); + this.print(node.id, node); + this.print(node.typeParameters, node); + this.space(); + this.token("="); + this.space(); + this.print(node.right, node); + this.semicolon(); +} + +function TypeAnnotation(node) { + this.token(":"); + this.space(); + if (node.optional) this.token("?"); + this.print(node.typeAnnotation, node); +} + +function TypeParameterInstantiation(node) { + this.token("<"); + this.printList(node.params, node, {}); + this.token(">"); +} + +function TypeParameter(node) { + this._variance(node); + + this.word(node.name); + + if (node.bound) { + this.print(node.bound, node); + } + + if (node.default) { + this.space(); + this.token("="); + this.space(); + this.print(node.default, node); + } +} + +function OpaqueType(node) { + this.word("opaque"); + this.space(); + this.word("type"); + this.space(); + this.print(node.id, node); + this.print(node.typeParameters, node); + + if (node.supertype) { + this.token(":"); + this.space(); + this.print(node.supertype, node); + } + + if (node.impltype) { + this.space(); + this.token("="); + this.space(); + this.print(node.impltype, node); + } + + this.semicolon(); +} + +function ObjectTypeAnnotation(node) { + var _this = this; + + if (node.exact) { + this.token("{|"); + } else { + this.token("{"); + } + + var props = node.properties.concat(node.callProperties || [], node.indexers || [], node.internalSlots || []); + + if (props.length) { + this.space(); + this.printJoin(props, node, { + addNewlines: function addNewlines(leading) { + if (leading && !props[0]) return 1; + }, + indent: true, + statement: true, + iterator: function iterator() { + if (props.length !== 1 || node.inexact) { + _this.token(","); + + _this.space(); + } + } + }); + this.space(); + } + + if (node.inexact) { + this.indent(); + this.token("..."); + + if (props.length) { + this.newline(); + } + + this.dedent(); + } + + if (node.exact) { + this.token("|}"); + } else { + this.token("}"); + } +} + +function ObjectTypeInternalSlot(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this.token("["); + this.token("["); + this.print(node.id, node); + this.token("]"); + this.token("]"); + if (node.optional) this.token("?"); + + if (!node.method) { + this.token(":"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeCallProperty(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeIndexer(node) { + if (node.static) { + this.word("static"); + this.space(); + } + + this._variance(node); + + this.token("["); + + if (node.id) { + this.print(node.id, node); + this.token(":"); + this.space(); + } + + this.print(node.key, node); + this.token("]"); + this.token(":"); + this.space(); + this.print(node.value, node); +} + +function ObjectTypeProperty(node) { + if (node.proto) { + this.word("proto"); + this.space(); + } + + if (node.static) { + this.word("static"); + this.space(); + } + + this._variance(node); + + this.print(node.key, node); + if (node.optional) this.token("?"); + + if (!node.method) { + this.token(":"); + this.space(); + } + + this.print(node.value, node); +} + +function ObjectTypeSpreadProperty(node) { + this.token("..."); + this.print(node.argument, node); +} + +function QualifiedTypeIdentifier(node) { + this.print(node.qualification, node); + this.token("."); + this.print(node.id, node); +} + +function orSeparator() { + this.space(); + this.token("|"); + this.space(); +} + +function UnionTypeAnnotation(node) { + this.printJoin(node.types, node, { + separator: orSeparator + }); +} + +function TypeCastExpression(node) { + this.token("("); + this.print(node.expression, node); + this.print(node.typeAnnotation, node); + this.token(")"); +} + +function Variance(node) { + if (node.kind === "plus") { + this.token("+"); + } else { + this.token("-"); + } +} + +function VoidTypeAnnotation() { + this.word("void"); +} + +},{"./modules":46,"./types":49,"@babel/types":242}],43:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _templateLiterals = require("./template-literals"); + +Object.keys(_templateLiterals).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _templateLiterals[key]; + } + }); +}); + +var _expressions = require("./expressions"); + +Object.keys(_expressions).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _expressions[key]; + } + }); +}); + +var _statements = require("./statements"); + +Object.keys(_statements).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _statements[key]; + } + }); +}); + +var _classes = require("./classes"); + +Object.keys(_classes).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _classes[key]; + } + }); +}); + +var _methods = require("./methods"); + +Object.keys(_methods).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _methods[key]; + } + }); +}); + +var _modules = require("./modules"); + +Object.keys(_modules).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _modules[key]; + } + }); +}); + +var _types = require("./types"); + +Object.keys(_types).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _types[key]; + } + }); +}); + +var _flow = require("./flow"); + +Object.keys(_flow).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _flow[key]; + } + }); +}); + +var _base = require("./base"); + +Object.keys(_base).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _base[key]; + } + }); +}); + +var _jsx = require("./jsx"); + +Object.keys(_jsx).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _jsx[key]; + } + }); +}); + +var _typescript = require("./typescript"); + +Object.keys(_typescript).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _typescript[key]; + } + }); +}); + +},{"./base":39,"./classes":40,"./expressions":41,"./flow":42,"./jsx":44,"./methods":45,"./modules":46,"./statements":47,"./template-literals":48,"./types":49,"./typescript":50}],44:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.JSXAttribute = JSXAttribute; +exports.JSXIdentifier = JSXIdentifier; +exports.JSXNamespacedName = JSXNamespacedName; +exports.JSXMemberExpression = JSXMemberExpression; +exports.JSXSpreadAttribute = JSXSpreadAttribute; +exports.JSXExpressionContainer = JSXExpressionContainer; +exports.JSXSpreadChild = JSXSpreadChild; +exports.JSXText = JSXText; +exports.JSXElement = JSXElement; +exports.JSXOpeningElement = JSXOpeningElement; +exports.JSXClosingElement = JSXClosingElement; +exports.JSXEmptyExpression = JSXEmptyExpression; +exports.JSXFragment = JSXFragment; +exports.JSXOpeningFragment = JSXOpeningFragment; +exports.JSXClosingFragment = JSXClosingFragment; + +function JSXAttribute(node) { + this.print(node.name, node); + + if (node.value) { + this.token("="); + this.print(node.value, node); + } +} + +function JSXIdentifier(node) { + this.word(node.name); +} + +function JSXNamespacedName(node) { + this.print(node.namespace, node); + this.token(":"); + this.print(node.name, node); +} + +function JSXMemberExpression(node) { + this.print(node.object, node); + this.token("."); + this.print(node.property, node); +} + +function JSXSpreadAttribute(node) { + this.token("{"); + this.token("..."); + this.print(node.argument, node); + this.token("}"); +} + +function JSXExpressionContainer(node) { + this.token("{"); + this.print(node.expression, node); + this.token("}"); +} + +function JSXSpreadChild(node) { + this.token("{"); + this.token("..."); + this.print(node.expression, node); + this.token("}"); +} + +function JSXText(node) { + var raw = this.getPossibleRaw(node); + + if (raw != null) { + this.token(raw); + } else { + this.token(node.value); + } +} + +function JSXElement(node) { + var open = node.openingElement; + this.print(open, node); + if (open.selfClosing) return; + this.indent(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = node.children[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var child = _step.value; + this.print(child, node); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + this.dedent(); + this.print(node.closingElement, node); +} + +function spaceSeparator() { + this.space(); +} + +function JSXOpeningElement(node) { + this.token("<"); + this.print(node.name, node); + this.print(node.typeParameters, node); + + if (node.attributes.length > 0) { + this.space(); + this.printJoin(node.attributes, node, { + separator: spaceSeparator + }); + } + + if (node.selfClosing) { + this.space(); + this.token("/>"); + } else { + this.token(">"); + } +} + +function JSXClosingElement(node) { + this.token(""); +} + +function JSXEmptyExpression(node) { + this.printInnerComments(node); +} + +function JSXFragment(node) { + this.print(node.openingFragment, node); + this.indent(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = node.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var child = _step2.value; + this.print(child, node); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + this.dedent(); + this.print(node.closingFragment, node); +} + +function JSXOpeningFragment() { + this.token("<"); + this.token(">"); +} + +function JSXClosingFragment() { + this.token(""); +} + +},{}],45:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports._params = _params; +exports._parameters = _parameters; +exports._param = _param; +exports._methodHead = _methodHead; +exports._predicate = _predicate; +exports._functionHead = _functionHead; +exports.FunctionDeclaration = exports.FunctionExpression = FunctionExpression; +exports.ArrowFunctionExpression = ArrowFunctionExpression; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _params(node) { + this.print(node.typeParameters, node); + this.token("("); + + this._parameters(node.params, node); + + this.token(")"); + this.print(node.returnType, node); +} + +function _parameters(parameters, parent) { + for (var i = 0; i < parameters.length; i++) { + this._param(parameters[i], parent); + + if (i < parameters.length - 1) { + this.token(","); + this.space(); + } + } +} + +function _param(parameter, parent) { + this.printJoin(parameter.decorators, parameter); + this.print(parameter, parent); + if (parameter.optional) this.token("?"); + this.print(parameter.typeAnnotation, parameter); +} + +function _methodHead(node) { + var kind = node.kind; + var key = node.key; + + if (kind === "get" || kind === "set") { + this.word(kind); + this.space(); + } + + if (node.async) { + this.word("async"); + this.space(); + } + + if (kind === "method" || kind === "init") { + if (node.generator) { + this.token("*"); + } + } + + if (node.computed) { + this.token("["); + this.print(key, node); + this.token("]"); + } else { + this.print(key, node); + } + + if (node.optional) { + this.token("?"); + } + + this._params(node); +} + +function _predicate(node) { + if (node.predicate) { + if (!node.returnType) { + this.token(":"); + } + + this.space(); + this.print(node.predicate, node); + } +} + +function _functionHead(node) { + if (node.async) { + this.word("async"); + this.space(); + } + + this.word("function"); + if (node.generator) this.token("*"); + this.space(); + + if (node.id) { + this.print(node.id, node); + } + + this._params(node); + + this._predicate(node); +} + +function FunctionExpression(node) { + this._functionHead(node); + + this.space(); + this.print(node.body, node); +} + +function ArrowFunctionExpression(node) { + if (node.async) { + this.word("async"); + this.space(); + } + + var firstParam = node.params[0]; + + if (node.params.length === 1 && t.isIdentifier(firstParam) && !hasTypes(node, firstParam)) { + if (this.format.retainLines && node.loc && node.body.loc && node.loc.start.line < node.body.loc.start.line) { + this.token("("); + + if (firstParam.loc && firstParam.loc.start.line > node.loc.start.line) { + this.indent(); + this.print(firstParam, node); + this.dedent(); + + this._catchUp("start", node.body.loc); + } else { + this.print(firstParam, node); + } + + this.token(")"); + } else { + this.print(firstParam, node); + } + } else { + this._params(node); + } + + this._predicate(node); + + this.space(); + this.token("=>"); + this.space(); + this.print(node.body, node); +} + +function hasTypes(node, param) { + return node.typeParameters || node.returnType || param.typeAnnotation || param.optional || param.trailingComments; +} + +},{"@babel/types":242}],46:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ImportSpecifier = ImportSpecifier; +exports.ImportDefaultSpecifier = ImportDefaultSpecifier; +exports.ExportDefaultSpecifier = ExportDefaultSpecifier; +exports.ExportSpecifier = ExportSpecifier; +exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; +exports.ExportAllDeclaration = ExportAllDeclaration; +exports.ExportNamedDeclaration = ExportNamedDeclaration; +exports.ExportDefaultDeclaration = ExportDefaultDeclaration; +exports.ImportDeclaration = ImportDeclaration; +exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function ImportSpecifier(node) { + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + + this.print(node.imported, node); + + if (node.local && node.local.name !== node.imported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.local, node); + } +} + +function ImportDefaultSpecifier(node) { + this.print(node.local, node); +} + +function ExportDefaultSpecifier(node) { + this.print(node.exported, node); +} + +function ExportSpecifier(node) { + this.print(node.local, node); + + if (node.exported && node.local.name !== node.exported.name) { + this.space(); + this.word("as"); + this.space(); + this.print(node.exported, node); + } +} + +function ExportNamespaceSpecifier(node) { + this.token("*"); + this.space(); + this.word("as"); + this.space(); + this.print(node.exported, node); +} + +function ExportAllDeclaration(node) { + this.word("export"); + this.space(); + + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + + this.token("*"); + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + this.semicolon(); +} + +function ExportNamedDeclaration(node) { + if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { + this.printJoin(node.declaration.decorators, node); + } + + this.word("export"); + this.space(); + ExportDeclaration.apply(this, arguments); +} + +function ExportDefaultDeclaration(node) { + if (this.format.decoratorsBeforeExport && t.isClassDeclaration(node.declaration)) { + this.printJoin(node.declaration.decorators, node); + } + + this.word("export"); + this.space(); + this.word("default"); + this.space(); + ExportDeclaration.apply(this, arguments); +} + +function ExportDeclaration(node) { + if (node.declaration) { + var declar = node.declaration; + this.print(declar, node); + if (!t.isStatement(declar)) this.semicolon(); + } else { + if (node.exportKind === "type") { + this.word("type"); + this.space(); + } + + var specifiers = node.specifiers.slice(0); + var hasSpecial = false; + + while (true) { + var first = specifiers[0]; + + if (t.isExportDefaultSpecifier(first) || t.isExportNamespaceSpecifier(first)) { + hasSpecial = true; + this.print(specifiers.shift(), node); + + if (specifiers.length) { + this.token(","); + this.space(); + } + } else { + break; + } + } + + if (specifiers.length || !specifiers.length && !hasSpecial) { + this.token("{"); + + if (specifiers.length) { + this.space(); + this.printList(specifiers, node); + this.space(); + } + + this.token("}"); + } + + if (node.source) { + this.space(); + this.word("from"); + this.space(); + this.print(node.source, node); + } + + this.semicolon(); + } +} + +function ImportDeclaration(node) { + this.word("import"); + this.space(); + + if (node.importKind === "type" || node.importKind === "typeof") { + this.word(node.importKind); + this.space(); + } + + var specifiers = node.specifiers.slice(0); + + if (specifiers && specifiers.length) { + while (true) { + var first = specifiers[0]; + + if (t.isImportDefaultSpecifier(first) || t.isImportNamespaceSpecifier(first)) { + this.print(specifiers.shift(), node); + + if (specifiers.length) { + this.token(","); + this.space(); + } + } else { + break; + } + } + + if (specifiers.length) { + this.token("{"); + this.space(); + this.printList(specifiers, node); + this.space(); + this.token("}"); + } + + this.space(); + this.word("from"); + this.space(); + } + + this.print(node.source, node); + this.semicolon(); +} + +function ImportNamespaceSpecifier(node) { + this.token("*"); + this.space(); + this.word("as"); + this.space(); + this.print(node.local, node); +} + +},{"@babel/types":242}],47:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.WithStatement = WithStatement; +exports.IfStatement = IfStatement; +exports.ForStatement = ForStatement; +exports.WhileStatement = WhileStatement; +exports.DoWhileStatement = DoWhileStatement; +exports.LabeledStatement = LabeledStatement; +exports.TryStatement = TryStatement; +exports.CatchClause = CatchClause; +exports.SwitchStatement = SwitchStatement; +exports.SwitchCase = SwitchCase; +exports.DebuggerStatement = DebuggerStatement; +exports.VariableDeclaration = VariableDeclaration; +exports.VariableDeclarator = VariableDeclarator; +exports.ThrowStatement = exports.BreakStatement = exports.ReturnStatement = exports.ContinueStatement = exports.ForOfStatement = exports.ForInStatement = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function WithStatement(node) { + this.word("with"); + this.space(); + this.token("("); + this.print(node.object, node); + this.token(")"); + this.printBlock(node); +} + +function IfStatement(node) { + this.word("if"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.space(); + var needsBlock = node.alternate && t.isIfStatement(getLastStatement(node.consequent)); + + if (needsBlock) { + this.token("{"); + this.newline(); + this.indent(); + } + + this.printAndIndentOnComments(node.consequent, node); + + if (needsBlock) { + this.dedent(); + this.newline(); + this.token("}"); + } + + if (node.alternate) { + if (this.endsWith("}")) this.space(); + this.word("else"); + this.space(); + this.printAndIndentOnComments(node.alternate, node); + } +} + +function getLastStatement(statement) { + if (!t.isStatement(statement.body)) return statement; + return getLastStatement(statement.body); +} + +function ForStatement(node) { + this.word("for"); + this.space(); + this.token("("); + this.inForStatementInitCounter++; + this.print(node.init, node); + this.inForStatementInitCounter--; + this.token(";"); + + if (node.test) { + this.space(); + this.print(node.test, node); + } + + this.token(";"); + + if (node.update) { + this.space(); + this.print(node.update, node); + } + + this.token(")"); + this.printBlock(node); +} + +function WhileStatement(node) { + this.word("while"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.printBlock(node); +} + +var buildForXStatement = function buildForXStatement(op) { + return function (node) { + this.word("for"); + this.space(); + + if (op === "of" && node.await) { + this.word("await"); + this.space(); + } + + this.token("("); + this.print(node.left, node); + this.space(); + this.word(op); + this.space(); + this.print(node.right, node); + this.token(")"); + this.printBlock(node); + }; +}; + +var ForInStatement = buildForXStatement("in"); +exports.ForInStatement = ForInStatement; +var ForOfStatement = buildForXStatement("of"); +exports.ForOfStatement = ForOfStatement; + +function DoWhileStatement(node) { + this.word("do"); + this.space(); + this.print(node.body, node); + this.space(); + this.word("while"); + this.space(); + this.token("("); + this.print(node.test, node); + this.token(")"); + this.semicolon(); +} + +function buildLabelStatement(prefix) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "label"; + return function (node) { + this.word(prefix); + var label = node[key]; + + if (label) { + this.space(); + var isLabel = key == "label"; + var terminatorState = this.startTerminatorless(isLabel); + this.print(label, node); + this.endTerminatorless(terminatorState); + } + + this.semicolon(); + }; +} + +var ContinueStatement = buildLabelStatement("continue"); +exports.ContinueStatement = ContinueStatement; +var ReturnStatement = buildLabelStatement("return", "argument"); +exports.ReturnStatement = ReturnStatement; +var BreakStatement = buildLabelStatement("break"); +exports.BreakStatement = BreakStatement; +var ThrowStatement = buildLabelStatement("throw", "argument"); +exports.ThrowStatement = ThrowStatement; + +function LabeledStatement(node) { + this.print(node.label, node); + this.token(":"); + this.space(); + this.print(node.body, node); +} + +function TryStatement(node) { + this.word("try"); + this.space(); + this.print(node.block, node); + this.space(); + + if (node.handlers) { + this.print(node.handlers[0], node); + } else { + this.print(node.handler, node); + } + + if (node.finalizer) { + this.space(); + this.word("finally"); + this.space(); + this.print(node.finalizer, node); + } +} + +function CatchClause(node) { + this.word("catch"); + this.space(); + + if (node.param) { + this.token("("); + this.print(node.param, node); + this.token(")"); + this.space(); + } + + this.print(node.body, node); +} + +function SwitchStatement(node) { + this.word("switch"); + this.space(); + this.token("("); + this.print(node.discriminant, node); + this.token(")"); + this.space(); + this.token("{"); + this.printSequence(node.cases, node, { + indent: true, + addNewlines: function addNewlines(leading, cas) { + if (!leading && node.cases[node.cases.length - 1] === cas) return -1; + } + }); + this.token("}"); +} + +function SwitchCase(node) { + if (node.test) { + this.word("case"); + this.space(); + this.print(node.test, node); + this.token(":"); + } else { + this.word("default"); + this.token(":"); + } + + if (node.consequent.length) { + this.newline(); + this.printSequence(node.consequent, node, { + indent: true + }); + } +} + +function DebuggerStatement() { + this.word("debugger"); + this.semicolon(); +} + +function variableDeclarationIndent() { + this.token(","); + this.newline(); + if (this.endsWith("\n")) for (var i = 0; i < 4; i++) { + this.space(true); + } +} + +function constDeclarationIndent() { + this.token(","); + this.newline(); + if (this.endsWith("\n")) for (var i = 0; i < 6; i++) { + this.space(true); + } +} + +function VariableDeclaration(node, parent) { + if (node.declare) { + this.word("declare"); + this.space(); + } + + this.word(node.kind); + this.space(); + var hasInits = false; + + if (!t.isFor(parent)) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var declar = _step.value; + + if (declar.init) { + hasInits = true; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + var separator; + + if (hasInits) { + separator = node.kind === "const" ? constDeclarationIndent : variableDeclarationIndent; + } + + this.printList(node.declarations, node, { + separator: separator + }); + + if (t.isFor(parent)) { + if (parent.left === node || parent.init === node) return; + } + + this.semicolon(); +} + +function VariableDeclarator(node) { + this.print(node.id, node); + if (node.definite) this.token("!"); + this.print(node.id.typeAnnotation, node); + + if (node.init) { + this.space(); + this.token("="); + this.space(); + this.print(node.init, node); + } +} + +},{"@babel/types":242}],48:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TaggedTemplateExpression = TaggedTemplateExpression; +exports.TemplateElement = TemplateElement; +exports.TemplateLiteral = TemplateLiteral; + +function TaggedTemplateExpression(node) { + this.print(node.tag, node); + this.print(node.typeParameters, node); + this.print(node.quasi, node); +} + +function TemplateElement(node, parent) { + var isFirst = parent.quasis[0] === node; + var isLast = parent.quasis[parent.quasis.length - 1] === node; + var value = (isFirst ? "`" : "}") + node.value.raw + (isLast ? "`" : "${"); + this.token(value); +} + +function TemplateLiteral(node) { + var quasis = node.quasis; + + for (var i = 0; i < quasis.length; i++) { + this.print(quasis[i], node); + + if (i + 1 < quasis.length) { + this.print(node.expressions[i], node); + } + } +} + +},{}],49:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Identifier = Identifier; +exports.ArgumentPlaceholder = ArgumentPlaceholder; +exports.SpreadElement = exports.RestElement = RestElement; +exports.ObjectPattern = exports.ObjectExpression = ObjectExpression; +exports.ObjectMethod = ObjectMethod; +exports.ObjectProperty = ObjectProperty; +exports.ArrayPattern = exports.ArrayExpression = ArrayExpression; +exports.RegExpLiteral = RegExpLiteral; +exports.BooleanLiteral = BooleanLiteral; +exports.NullLiteral = NullLiteral; +exports.NumericLiteral = NumericLiteral; +exports.StringLiteral = StringLiteral; +exports.BigIntLiteral = BigIntLiteral; +exports.PipelineTopicExpression = PipelineTopicExpression; +exports.PipelineBareFunction = PipelineBareFunction; +exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; + +var t = _interopRequireWildcard(require("@babel/types")); + +var _jsesc = _interopRequireDefault(require("jsesc")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function Identifier(node) { + var _this = this; + + this.exactSource(node.loc, function () { + _this.word(node.name); + }); +} + +function ArgumentPlaceholder() { + this.token("?"); +} + +function RestElement(node) { + this.token("..."); + this.print(node.argument, node); +} + +function ObjectExpression(node) { + var props = node.properties; + this.token("{"); + this.printInnerComments(node); + + if (props.length) { + this.space(); + this.printList(props, node, { + indent: true, + statement: true + }); + this.space(); + } + + this.token("}"); +} + +function ObjectMethod(node) { + this.printJoin(node.decorators, node); + + this._methodHead(node); + + this.space(); + this.print(node.body, node); +} + +function ObjectProperty(node) { + this.printJoin(node.decorators, node); + + if (node.computed) { + this.token("["); + this.print(node.key, node); + this.token("]"); + } else { + if (t.isAssignmentPattern(node.value) && t.isIdentifier(node.key) && node.key.name === node.value.left.name) { + this.print(node.value, node); + return; + } + + this.print(node.key, node); + + if (node.shorthand && t.isIdentifier(node.key) && t.isIdentifier(node.value) && node.key.name === node.value.name) { + return; + } + } + + this.token(":"); + this.space(); + this.print(node.value, node); +} + +function ArrayExpression(node) { + var elems = node.elements; + var len = elems.length; + this.token("["); + this.printInnerComments(node); + + for (var i = 0; i < elems.length; i++) { + var elem = elems[i]; + + if (elem) { + if (i > 0) this.space(); + this.print(elem, node); + if (i < len - 1) this.token(","); + } else { + this.token(","); + } + } + + this.token("]"); +} + +function RegExpLiteral(node) { + this.word("/".concat(node.pattern, "/").concat(node.flags)); +} + +function BooleanLiteral(node) { + this.word(node.value ? "true" : "false"); +} + +function NullLiteral() { + this.word("null"); +} + +function NumericLiteral(node) { + var raw = this.getPossibleRaw(node); + var value = node.value + ""; + + if (raw == null) { + this.number(value); + } else if (this.format.minified) { + this.number(raw.length < value.length ? raw : value); + } else { + this.number(raw); + } +} + +function StringLiteral(node) { + var raw = this.getPossibleRaw(node); + + if (!this.format.minified && raw != null) { + this.token(raw); + return; + } + + var opts = this.format.jsescOption; + + if (this.format.jsonCompatibleStrings) { + opts.json = true; + } + + var val = (0, _jsesc.default)(node.value, opts); + return this.token(val); +} + +function BigIntLiteral(node) { + var raw = this.getPossibleRaw(node); + + if (!this.format.minified && raw != null) { + this.token(raw); + return; + } + + this.token(node.value); +} + +function PipelineTopicExpression(node) { + this.print(node.expression, node); +} + +function PipelineBareFunction(node) { + this.print(node.callee, node); +} + +function PipelinePrimaryTopicReference() { + this.token("#"); +} + +},{"@babel/types":242,"jsesc":844}],50:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TSTypeAnnotation = TSTypeAnnotation; +exports.TSTypeParameterDeclaration = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; +exports.TSTypeParameter = TSTypeParameter; +exports.TSParameterProperty = TSParameterProperty; +exports.TSDeclareFunction = TSDeclareFunction; +exports.TSDeclareMethod = TSDeclareMethod; +exports.TSQualifiedName = TSQualifiedName; +exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; +exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; +exports.TSPropertySignature = TSPropertySignature; +exports.tsPrintPropertyOrMethodName = tsPrintPropertyOrMethodName; +exports.TSMethodSignature = TSMethodSignature; +exports.TSIndexSignature = TSIndexSignature; +exports.TSAnyKeyword = TSAnyKeyword; +exports.TSBigIntKeyword = TSBigIntKeyword; +exports.TSUnknownKeyword = TSUnknownKeyword; +exports.TSNumberKeyword = TSNumberKeyword; +exports.TSObjectKeyword = TSObjectKeyword; +exports.TSBooleanKeyword = TSBooleanKeyword; +exports.TSStringKeyword = TSStringKeyword; +exports.TSSymbolKeyword = TSSymbolKeyword; +exports.TSVoidKeyword = TSVoidKeyword; +exports.TSUndefinedKeyword = TSUndefinedKeyword; +exports.TSNullKeyword = TSNullKeyword; +exports.TSNeverKeyword = TSNeverKeyword; +exports.TSThisType = TSThisType; +exports.TSFunctionType = TSFunctionType; +exports.TSConstructorType = TSConstructorType; +exports.tsPrintFunctionOrConstructorType = tsPrintFunctionOrConstructorType; +exports.TSTypeReference = TSTypeReference; +exports.TSTypePredicate = TSTypePredicate; +exports.TSTypeQuery = TSTypeQuery; +exports.TSTypeLiteral = TSTypeLiteral; +exports.tsPrintTypeLiteralOrInterfaceBody = tsPrintTypeLiteralOrInterfaceBody; +exports.tsPrintBraced = tsPrintBraced; +exports.TSArrayType = TSArrayType; +exports.TSTupleType = TSTupleType; +exports.TSOptionalType = TSOptionalType; +exports.TSRestType = TSRestType; +exports.TSUnionType = TSUnionType; +exports.TSIntersectionType = TSIntersectionType; +exports.tsPrintUnionOrIntersectionType = tsPrintUnionOrIntersectionType; +exports.TSConditionalType = TSConditionalType; +exports.TSInferType = TSInferType; +exports.TSParenthesizedType = TSParenthesizedType; +exports.TSTypeOperator = TSTypeOperator; +exports.TSIndexedAccessType = TSIndexedAccessType; +exports.TSMappedType = TSMappedType; +exports.TSLiteralType = TSLiteralType; +exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; +exports.TSInterfaceDeclaration = TSInterfaceDeclaration; +exports.TSInterfaceBody = TSInterfaceBody; +exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; +exports.TSAsExpression = TSAsExpression; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSEnumDeclaration = TSEnumDeclaration; +exports.TSEnumMember = TSEnumMember; +exports.TSModuleDeclaration = TSModuleDeclaration; +exports.TSModuleBlock = TSModuleBlock; +exports.TSImportType = TSImportType; +exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; +exports.TSExternalModuleReference = TSExternalModuleReference; +exports.TSNonNullExpression = TSNonNullExpression; +exports.TSExportAssignment = TSExportAssignment; +exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; +exports.tsPrintSignatureDeclarationBase = tsPrintSignatureDeclarationBase; +exports.tsPrintClassMemberModifiers = tsPrintClassMemberModifiers; + +function TSTypeAnnotation(node) { + this.token(":"); + this.space(); + if (node.optional) this.token("?"); + this.print(node.typeAnnotation, node); +} + +function TSTypeParameterInstantiation(node) { + this.token("<"); + this.printList(node.params, node, {}); + this.token(">"); +} + +function TSTypeParameter(node) { + this.word(node.name); + + if (node.constraint) { + this.space(); + this.word("extends"); + this.space(); + this.print(node.constraint, node); + } + + if (node.default) { + this.space(); + this.token("="); + this.space(); + this.print(node.default, node); + } +} + +function TSParameterProperty(node) { + if (node.accessibility) { + this.word(node.accessibility); + this.space(); + } + + if (node.readonly) { + this.word("readonly"); + this.space(); + } + + this._param(node.parameter); +} + +function TSDeclareFunction(node) { + if (node.declare) { + this.word("declare"); + this.space(); + } + + this._functionHead(node); + + this.token(";"); +} + +function TSDeclareMethod(node) { + this._classMethodHead(node); + + this.token(";"); +} + +function TSQualifiedName(node) { + this.print(node.left, node); + this.token("."); + this.print(node.right, node); +} + +function TSCallSignatureDeclaration(node) { + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSConstructSignatureDeclaration(node) { + this.word("new"); + this.space(); + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSPropertySignature(node) { + var readonly = node.readonly, + initializer = node.initializer; + + if (readonly) { + this.word("readonly"); + this.space(); + } + + this.tsPrintPropertyOrMethodName(node); + this.print(node.typeAnnotation, node); + + if (initializer) { + this.space(); + this.token("="); + this.space(); + this.print(initializer, node); + } + + this.token(";"); +} + +function tsPrintPropertyOrMethodName(node) { + if (node.computed) { + this.token("["); + } + + this.print(node.key, node); + + if (node.computed) { + this.token("]"); + } + + if (node.optional) { + this.token("?"); + } +} + +function TSMethodSignature(node) { + this.tsPrintPropertyOrMethodName(node); + this.tsPrintSignatureDeclarationBase(node); + this.token(";"); +} + +function TSIndexSignature(node) { + var readonly = node.readonly; + + if (readonly) { + this.word("readonly"); + this.space(); + } + + this.token("["); + + this._parameters(node.parameters, node); + + this.token("]"); + this.print(node.typeAnnotation, node); + this.token(";"); +} + +function TSAnyKeyword() { + this.word("any"); +} + +function TSBigIntKeyword() { + this.word("bigint"); +} + +function TSUnknownKeyword() { + this.word("unknown"); +} + +function TSNumberKeyword() { + this.word("number"); +} + +function TSObjectKeyword() { + this.word("object"); +} + +function TSBooleanKeyword() { + this.word("boolean"); +} + +function TSStringKeyword() { + this.word("string"); +} + +function TSSymbolKeyword() { + this.word("symbol"); +} + +function TSVoidKeyword() { + this.word("void"); +} + +function TSUndefinedKeyword() { + this.word("undefined"); +} + +function TSNullKeyword() { + this.word("null"); +} + +function TSNeverKeyword() { + this.word("never"); +} + +function TSThisType() { + this.word("this"); +} + +function TSFunctionType(node) { + this.tsPrintFunctionOrConstructorType(node); +} + +function TSConstructorType(node) { + this.word("new"); + this.space(); + this.tsPrintFunctionOrConstructorType(node); +} + +function tsPrintFunctionOrConstructorType(node) { + var typeParameters = node.typeParameters, + parameters = node.parameters; + this.print(typeParameters, node); + this.token("("); + + this._parameters(parameters, node); + + this.token(")"); + this.space(); + this.token("=>"); + this.space(); + this.print(node.typeAnnotation.typeAnnotation, node); +} + +function TSTypeReference(node) { + this.print(node.typeName, node); + this.print(node.typeParameters, node); +} + +function TSTypePredicate(node) { + if (node.asserts) { + this.word("asserts"); + this.space(); + } + + this.print(node.parameterName); + + if (node.typeAnnotation) { + this.space(); + this.word("is"); + this.space(); + this.print(node.typeAnnotation.typeAnnotation); + } +} + +function TSTypeQuery(node) { + this.word("typeof"); + this.space(); + this.print(node.exprName); +} + +function TSTypeLiteral(node) { + this.tsPrintTypeLiteralOrInterfaceBody(node.members, node); +} + +function tsPrintTypeLiteralOrInterfaceBody(members, node) { + this.tsPrintBraced(members, node); +} + +function tsPrintBraced(members, node) { + this.token("{"); + + if (members.length) { + this.indent(); + this.newline(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = members[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var member = _step.value; + this.print(member, node); + this.newline(); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + this.dedent(); + this.rightBrace(); + } else { + this.token("}"); + } +} + +function TSArrayType(node) { + this.print(node.elementType, node); + this.token("[]"); +} + +function TSTupleType(node) { + this.token("["); + this.printList(node.elementTypes, node); + this.token("]"); +} + +function TSOptionalType(node) { + this.print(node.typeAnnotation, node); + this.token("?"); +} + +function TSRestType(node) { + this.token("..."); + this.print(node.typeAnnotation, node); +} + +function TSUnionType(node) { + this.tsPrintUnionOrIntersectionType(node, "|"); +} + +function TSIntersectionType(node) { + this.tsPrintUnionOrIntersectionType(node, "&"); +} + +function tsPrintUnionOrIntersectionType(node, sep) { + this.printJoin(node.types, node, { + separator: function separator() { + this.space(); + this.token(sep); + this.space(); + } + }); +} + +function TSConditionalType(node) { + this.print(node.checkType); + this.space(); + this.word("extends"); + this.space(); + this.print(node.extendsType); + this.space(); + this.token("?"); + this.space(); + this.print(node.trueType); + this.space(); + this.token(":"); + this.space(); + this.print(node.falseType); +} + +function TSInferType(node) { + this.token("infer"); + this.space(); + this.print(node.typeParameter); +} + +function TSParenthesizedType(node) { + this.token("("); + this.print(node.typeAnnotation, node); + this.token(")"); +} + +function TSTypeOperator(node) { + this.token(node.operator); + this.space(); + this.print(node.typeAnnotation, node); +} + +function TSIndexedAccessType(node) { + this.print(node.objectType, node); + this.token("["); + this.print(node.indexType, node); + this.token("]"); +} + +function TSMappedType(node) { + var readonly = node.readonly, + typeParameter = node.typeParameter, + optional = node.optional; + this.token("{"); + this.space(); + + if (readonly) { + tokenIfPlusMinus(this, readonly); + this.word("readonly"); + this.space(); + } + + this.token("["); + this.word(typeParameter.name); + this.space(); + this.word("in"); + this.space(); + this.print(typeParameter.constraint, typeParameter); + this.token("]"); + + if (optional) { + tokenIfPlusMinus(this, optional); + this.token("?"); + } + + this.token(":"); + this.space(); + this.print(node.typeAnnotation, node); + this.space(); + this.token("}"); +} + +function tokenIfPlusMinus(self, tok) { + if (tok !== true) { + self.token(tok); + } +} + +function TSLiteralType(node) { + this.print(node.literal, node); +} + +function TSExpressionWithTypeArguments(node) { + this.print(node.expression, node); + this.print(node.typeParameters, node); +} + +function TSInterfaceDeclaration(node) { + var declare = node.declare, + id = node.id, + typeParameters = node.typeParameters, + extendz = node.extends, + body = node.body; + + if (declare) { + this.word("declare"); + this.space(); + } + + this.word("interface"); + this.space(); + this.print(id, node); + this.print(typeParameters, node); + + if (extendz) { + this.space(); + this.word("extends"); + this.space(); + this.printList(extendz, node); + } + + this.space(); + this.print(body, node); +} + +function TSInterfaceBody(node) { + this.tsPrintTypeLiteralOrInterfaceBody(node.body, node); +} + +function TSTypeAliasDeclaration(node) { + var declare = node.declare, + id = node.id, + typeParameters = node.typeParameters, + typeAnnotation = node.typeAnnotation; + + if (declare) { + this.word("declare"); + this.space(); + } + + this.word("type"); + this.space(); + this.print(id, node); + this.print(typeParameters, node); + this.space(); + this.token("="); + this.space(); + this.print(typeAnnotation, node); + this.token(";"); +} + +function TSAsExpression(node) { + var expression = node.expression, + typeAnnotation = node.typeAnnotation; + this.print(expression, node); + this.space(); + this.word("as"); + this.space(); + this.print(typeAnnotation, node); +} + +function TSTypeAssertion(node) { + var typeAnnotation = node.typeAnnotation, + expression = node.expression; + this.token("<"); + this.print(typeAnnotation, node); + this.token(">"); + this.space(); + this.print(expression, node); +} + +function TSEnumDeclaration(node) { + var declare = node.declare, + isConst = node.const, + id = node.id, + members = node.members; + + if (declare) { + this.word("declare"); + this.space(); + } + + if (isConst) { + this.word("const"); + this.space(); + } + + this.word("enum"); + this.space(); + this.print(id, node); + this.space(); + this.tsPrintBraced(members, node); +} + +function TSEnumMember(node) { + var id = node.id, + initializer = node.initializer; + this.print(id, node); + + if (initializer) { + this.space(); + this.token("="); + this.space(); + this.print(initializer, node); + } + + this.token(","); +} + +function TSModuleDeclaration(node) { + var declare = node.declare, + id = node.id; + + if (declare) { + this.word("declare"); + this.space(); + } + + if (!node.global) { + this.word(id.type === "Identifier" ? "namespace" : "module"); + this.space(); + } + + this.print(id, node); + + if (!node.body) { + this.token(";"); + return; + } + + var body = node.body; + + while (body.type === "TSModuleDeclaration") { + this.token("."); + this.print(body.id, body); + body = body.body; + } + + this.space(); + this.print(body, node); +} + +function TSModuleBlock(node) { + this.tsPrintBraced(node.body, node); +} + +function TSImportType(node) { + var argument = node.argument, + qualifier = node.qualifier, + typeParameters = node.typeParameters; + this.word("import"); + this.token("("); + this.print(argument, node); + this.token(")"); + + if (qualifier) { + this.token("."); + this.print(qualifier, node); + } + + if (typeParameters) { + this.print(typeParameters, node); + } +} + +function TSImportEqualsDeclaration(node) { + var isExport = node.isExport, + id = node.id, + moduleReference = node.moduleReference; + + if (isExport) { + this.word("export"); + this.space(); + } + + this.word("import"); + this.space(); + this.print(id, node); + this.space(); + this.token("="); + this.space(); + this.print(moduleReference, node); + this.token(";"); +} + +function TSExternalModuleReference(node) { + this.token("require("); + this.print(node.expression, node); + this.token(")"); +} + +function TSNonNullExpression(node) { + this.print(node.expression, node); + this.token("!"); +} + +function TSExportAssignment(node) { + this.word("export"); + this.space(); + this.token("="); + this.space(); + this.print(node.expression, node); + this.token(";"); +} + +function TSNamespaceExportDeclaration(node) { + this.word("export"); + this.space(); + this.word("as"); + this.space(); + this.word("namespace"); + this.space(); + this.print(node.id, node); +} + +function tsPrintSignatureDeclarationBase(node) { + var typeParameters = node.typeParameters, + parameters = node.parameters; + this.print(typeParameters, node); + this.token("("); + + this._parameters(parameters, node); + + this.token(")"); + this.print(node.typeAnnotation, node); +} + +function tsPrintClassMemberModifiers(node, isField) { + if (isField && node.declare) { + this.word("declare"); + this.space(); + } + + if (node.accessibility) { + this.word(node.accessibility); + this.space(); + } + + if (node.static) { + this.word("static"); + this.space(); + } + + if (node.abstract) { + this.word("abstract"); + this.space(); + } + + if (isField && node.readonly) { + this.word("readonly"); + this.space(); + } +} + +},{}],51:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.CodeGenerator = void 0; + +var _sourceMap = _interopRequireDefault(require("./source-map")); + +var _printer = _interopRequireDefault(require("./printer")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var Generator = +/*#__PURE__*/ +function (_printer$default) { + _inherits(Generator, _printer$default); + + function Generator(ast) { + var _this; + + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var code = arguments.length > 2 ? arguments[2] : undefined; + + _classCallCheck(this, Generator); + + var format = normalizeOptions(code, opts); + var map = opts.sourceMaps ? new _sourceMap.default(opts, code) : null; + _this = _possibleConstructorReturn(this, _getPrototypeOf(Generator).call(this, format, map)); + _this.ast = ast; + return _this; + } + + _createClass(Generator, [{ + key: "generate", + value: function generate() { + return _get(_getPrototypeOf(Generator.prototype), "generate", this).call(this, this.ast); + } + }]); + + return Generator; +}(_printer.default); + +function normalizeOptions(code, opts) { + var format = { + auxiliaryCommentBefore: opts.auxiliaryCommentBefore, + auxiliaryCommentAfter: opts.auxiliaryCommentAfter, + shouldPrintComment: opts.shouldPrintComment, + retainLines: opts.retainLines, + retainFunctionParens: opts.retainFunctionParens, + comments: opts.comments == null || opts.comments, + compact: opts.compact, + minified: opts.minified, + concise: opts.concise, + jsonCompatibleStrings: opts.jsonCompatibleStrings, + indent: { + adjustMultilineComment: true, + style: " ", + base: 0 + }, + decoratorsBeforeExport: !!opts.decoratorsBeforeExport, + jsescOption: Object.assign({ + quotes: "double", + wrap: true + }, opts.jsescOption) + }; + + if (format.minified) { + format.compact = true; + + format.shouldPrintComment = format.shouldPrintComment || function () { + return format.comments; + }; + } else { + format.shouldPrintComment = format.shouldPrintComment || function (value) { + return format.comments || value.indexOf("@license") >= 0 || value.indexOf("@preserve") >= 0; + }; + } + + if (format.compact === "auto") { + format.compact = code.length > 500000; + + if (format.compact) { + console.error("[BABEL] Note: The code generator has deoptimised the styling of " + "".concat(opts.filename, " as it exceeds the max of ", "500KB", ".")); + } + } + + if (format.compact) { + format.indent.adjustMultilineComment = false; + } + + return format; +} + +var CodeGenerator = +/*#__PURE__*/ +function () { + function CodeGenerator(ast, opts, code) { + _classCallCheck(this, CodeGenerator); + + this._generator = new Generator(ast, opts, code); + } + + _createClass(CodeGenerator, [{ + key: "generate", + value: function generate() { + return this._generator.generate(); + } + }]); + + return CodeGenerator; +}(); + +exports.CodeGenerator = CodeGenerator; + +function _default(ast, opts, code) { + var gen = new Generator(ast, opts, code); + return gen.generate(); +} + +},{"./printer":55,"./source-map":56}],52:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.needsWhitespace = needsWhitespace; +exports.needsWhitespaceBefore = needsWhitespaceBefore; +exports.needsWhitespaceAfter = needsWhitespaceAfter; +exports.needsParens = needsParens; + +var whitespace = _interopRequireWildcard(require("./whitespace")); + +var parens = _interopRequireWildcard(require("./parentheses")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function expandAliases(obj) { + var newObj = {}; + + function add(type, func) { + var fn = newObj[type]; + newObj[type] = fn ? function (node, parent, stack) { + var result = fn(node, parent, stack); + return result == null ? func(node, parent, stack) : result; + } : func; + } + + for (var _i = 0, _Object$keys = Object.keys(obj); _i < _Object$keys.length; _i++) { + var type = _Object$keys[_i]; + var aliases = t.FLIPPED_ALIAS_KEYS[type]; + + if (aliases) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var alias = _step.value; + add(alias, obj[type]); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } else { + add(type, obj[type]); + } + } + + return newObj; +} + +var expandedParens = expandAliases(parens); +var expandedWhitespaceNodes = expandAliases(whitespace.nodes); +var expandedWhitespaceList = expandAliases(whitespace.list); + +function find(obj, node, parent, printStack) { + var fn = obj[node.type]; + return fn ? fn(node, parent, printStack) : null; +} + +function isOrHasCallExpression(node) { + if (t.isCallExpression(node)) { + return true; + } + + if (t.isMemberExpression(node)) { + return isOrHasCallExpression(node.object) || !node.computed && isOrHasCallExpression(node.property); + } else { + return false; + } +} + +function needsWhitespace(node, parent, type) { + if (!node) return 0; + + if (t.isExpressionStatement(node)) { + node = node.expression; + } + + var linesInfo = find(expandedWhitespaceNodes, node, parent); + + if (!linesInfo) { + var items = find(expandedWhitespaceList, node, parent); + + if (items) { + for (var i = 0; i < items.length; i++) { + linesInfo = needsWhitespace(items[i], node, type); + if (linesInfo) break; + } + } + } + + if (_typeof(linesInfo) === "object" && linesInfo !== null) { + return linesInfo[type] || 0; + } + + return 0; +} + +function needsWhitespaceBefore(node, parent) { + return needsWhitespace(node, parent, "before"); +} + +function needsWhitespaceAfter(node, parent) { + return needsWhitespace(node, parent, "after"); +} + +function needsParens(node, parent, printStack) { + if (!parent) return false; + + if (t.isNewExpression(parent) && parent.callee === node) { + if (isOrHasCallExpression(node)) return true; + } + + if (t.isLogicalExpression(node) && parent.operator === "??") return true; + return find(expandedParens, node, parent, printStack); +} + +},{"./parentheses":53,"./whitespace":54,"@babel/types":242}],53:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.UpdateExpression = UpdateExpression; +exports.ObjectExpression = ObjectExpression; +exports.DoExpression = DoExpression; +exports.Binary = Binary; +exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.TSAsExpression = TSAsExpression; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSIntersectionType = exports.TSUnionType = TSUnionType; +exports.BinaryExpression = BinaryExpression; +exports.SequenceExpression = SequenceExpression; +exports.AwaitExpression = exports.YieldExpression = YieldExpression; +exports.ClassExpression = ClassExpression; +exports.UnaryLike = UnaryLike; +exports.FunctionExpression = FunctionExpression; +exports.ArrowFunctionExpression = ArrowFunctionExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.OptionalMemberExpression = OptionalMemberExpression; +exports.AssignmentExpression = AssignmentExpression; +exports.NewExpression = NewExpression; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var PRECEDENCE = { + "||": 0, + "&&": 1, + "|": 2, + "^": 3, + "&": 4, + "==": 5, + "===": 5, + "!=": 5, + "!==": 5, + "<": 6, + ">": 6, + "<=": 6, + ">=": 6, + in: 6, + instanceof: 6, + ">>": 7, + "<<": 7, + ">>>": 7, + "+": 8, + "-": 8, + "*": 9, + "/": 9, + "%": 9, + "**": 10 +}; + +var isClassExtendsClause = function isClassExtendsClause(node, parent) { + return (t.isClassDeclaration(parent) || t.isClassExpression(parent)) && parent.superClass === node; +}; + +function NullableTypeAnnotation(node, parent) { + return t.isArrayTypeAnnotation(parent); +} + +function FunctionTypeAnnotation(node, parent, printStack) { + return t.isUnionTypeAnnotation(parent) || t.isIntersectionTypeAnnotation(parent) || t.isArrayTypeAnnotation(parent) || t.isTypeAnnotation(parent) && t.isArrowFunctionExpression(printStack[printStack.length - 3]); +} + +function UpdateExpression(node, parent) { + return t.isMemberExpression(parent, { + object: node + }) || t.isCallExpression(parent, { + callee: node + }) || t.isNewExpression(parent, { + callee: node + }) || isClassExtendsClause(node, parent); +} + +function ObjectExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerArrow: true + }); +} + +function DoExpression(node, parent, printStack) { + return isFirstInStatement(printStack); +} + +function Binary(node, parent) { + if (node.operator === "**" && t.isBinaryExpression(parent, { + operator: "**" + })) { + return parent.left === node; + } + + if (isClassExtendsClause(node, parent)) { + return true; + } + + if ((t.isCallExpression(parent) || t.isNewExpression(parent)) && parent.callee === node || t.isUnaryLike(parent) || t.isMemberExpression(parent) && parent.object === node || t.isAwaitExpression(parent)) { + return true; + } + + if (t.isBinary(parent)) { + var parentOp = parent.operator; + var parentPos = PRECEDENCE[parentOp]; + var nodeOp = node.operator; + var nodePos = PRECEDENCE[nodeOp]; + + if (parentPos === nodePos && parent.right === node && !t.isLogicalExpression(parent) || parentPos > nodePos) { + return true; + } + } + + return false; +} + +function UnionTypeAnnotation(node, parent) { + return t.isArrayTypeAnnotation(parent) || t.isNullableTypeAnnotation(parent) || t.isIntersectionTypeAnnotation(parent) || t.isUnionTypeAnnotation(parent); +} + +function TSAsExpression() { + return true; +} + +function TSTypeAssertion() { + return true; +} + +function TSUnionType(node, parent) { + return t.isTSArrayType(parent) || t.isTSOptionalType(parent) || t.isTSIntersectionType(parent) || t.isTSUnionType(parent) || t.isTSRestType(parent); +} + +function BinaryExpression(node, parent) { + return node.operator === "in" && (t.isVariableDeclarator(parent) || t.isFor(parent)); +} + +function SequenceExpression(node, parent) { + if (t.isForStatement(parent) || t.isThrowStatement(parent) || t.isReturnStatement(parent) || t.isIfStatement(parent) && parent.test === node || t.isWhileStatement(parent) && parent.test === node || t.isForInStatement(parent) && parent.right === node || t.isSwitchStatement(parent) && parent.discriminant === node || t.isExpressionStatement(parent) && parent.expression === node) { + return false; + } + + return true; +} + +function YieldExpression(node, parent) { + return t.isBinary(parent) || t.isUnaryLike(parent) || t.isCallExpression(parent) || t.isMemberExpression(parent) || t.isNewExpression(parent) || t.isAwaitExpression(parent) && t.isYieldExpression(node) || t.isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent); +} + +function ClassExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerDefaultExports: true + }); +} + +function UnaryLike(node, parent) { + return t.isMemberExpression(parent, { + object: node + }) || t.isCallExpression(parent, { + callee: node + }) || t.isNewExpression(parent, { + callee: node + }) || t.isBinaryExpression(parent, { + operator: "**", + left: node + }) || isClassExtendsClause(node, parent); +} + +function FunctionExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerDefaultExports: true + }); +} + +function ArrowFunctionExpression(node, parent) { + return t.isExportDeclaration(parent) || ConditionalExpression(node, parent); +} + +function ConditionalExpression(node, parent) { + if (t.isUnaryLike(parent) || t.isBinary(parent) || t.isConditionalExpression(parent, { + test: node + }) || t.isAwaitExpression(parent) || t.isOptionalMemberExpression(parent) || t.isTaggedTemplateExpression(parent) || t.isTSTypeAssertion(parent) || t.isTSAsExpression(parent)) { + return true; + } + + return UnaryLike(node, parent); +} + +function OptionalMemberExpression(node, parent) { + return t.isCallExpression(parent) || t.isMemberExpression(parent); +} + +function AssignmentExpression(node) { + if (t.isObjectPattern(node.left)) { + return true; + } else { + return ConditionalExpression.apply(void 0, arguments); + } +} + +function NewExpression(node, parent) { + return isClassExtendsClause(node, parent); +} + +function isFirstInStatement(printStack) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$considerArrow = _ref.considerArrow, + considerArrow = _ref$considerArrow === void 0 ? false : _ref$considerArrow, + _ref$considerDefaultE = _ref.considerDefaultExports, + considerDefaultExports = _ref$considerDefaultE === void 0 ? false : _ref$considerDefaultE; + + var i = printStack.length - 1; + var node = printStack[i]; + i--; + var parent = printStack[i]; + + while (i > 0) { + if (t.isExpressionStatement(parent, { + expression: node + }) || t.isTaggedTemplateExpression(parent) || considerDefaultExports && t.isExportDefaultDeclaration(parent, { + declaration: node + }) || considerArrow && t.isArrowFunctionExpression(parent, { + body: node + })) { + return true; + } + + if (t.isCallExpression(parent, { + callee: node + }) || t.isSequenceExpression(parent) && parent.expressions[0] === node || t.isMemberExpression(parent, { + object: node + }) || t.isConditional(parent, { + test: node + }) || t.isBinary(parent, { + left: node + }) || t.isAssignmentExpression(parent, { + left: node + })) { + node = parent; + i--; + parent = printStack[i]; + } else { + return false; + } + } + + return false; +} + +},{"@babel/types":242}],54:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.list = exports.nodes = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function crawl(node) { + var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (t.isMemberExpression(node)) { + crawl(node.object, state); + if (node.computed) crawl(node.property, state); + } else if (t.isBinary(node) || t.isAssignmentExpression(node)) { + crawl(node.left, state); + crawl(node.right, state); + } else if (t.isCallExpression(node)) { + state.hasCall = true; + crawl(node.callee, state); + } else if (t.isFunction(node)) { + state.hasFunction = true; + } else if (t.isIdentifier(node)) { + state.hasHelper = state.hasHelper || isHelper(node.callee); + } + + return state; +} + +function isHelper(node) { + if (t.isMemberExpression(node)) { + return isHelper(node.object) || isHelper(node.property); + } else if (t.isIdentifier(node)) { + return node.name === "require" || node.name[0] === "_"; + } else if (t.isCallExpression(node)) { + return isHelper(node.callee); + } else if (t.isBinary(node) || t.isAssignmentExpression(node)) { + return t.isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right); + } else { + return false; + } +} + +function isType(node) { + return t.isLiteral(node) || t.isObjectExpression(node) || t.isArrayExpression(node) || t.isIdentifier(node) || t.isMemberExpression(node); +} + +var nodes = { + AssignmentExpression: function AssignmentExpression(node) { + var state = crawl(node.right); + + if (state.hasCall && state.hasHelper || state.hasFunction) { + return { + before: state.hasFunction, + after: true + }; + } + }, + SwitchCase: function SwitchCase(node, parent) { + return { + before: node.consequent.length || parent.cases[0] === node, + after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node + }; + }, + LogicalExpression: function LogicalExpression(node) { + if (t.isFunction(node.left) || t.isFunction(node.right)) { + return { + after: true + }; + } + }, + Literal: function Literal(node) { + if (node.value === "use strict") { + return { + after: true + }; + } + }, + CallExpression: function CallExpression(node) { + if (t.isFunction(node.callee) || isHelper(node)) { + return { + before: true, + after: true + }; + } + }, + VariableDeclaration: function VariableDeclaration(node) { + for (var i = 0; i < node.declarations.length; i++) { + var declar = node.declarations[i]; + var enabled = isHelper(declar.id) && !isType(declar.init); + + if (!enabled) { + var state = crawl(declar.init); + enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; + } + + if (enabled) { + return { + before: true, + after: true + }; + } + } + }, + IfStatement: function IfStatement(node) { + if (t.isBlockStatement(node.consequent)) { + return { + before: true, + after: true + }; + } + } +}; +exports.nodes = nodes; + +nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) { + if (parent.properties[0] === node) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeCallProperty = function (node, parent) { + if (parent.callProperties[0] === node && (!parent.properties || !parent.properties.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeIndexer = function (node, parent) { + if (parent.indexers[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeInternalSlot = function (node, parent) { + if (parent.internalSlots[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length) && (!parent.indexers || !parent.indexers.length)) { + return { + before: true + }; + } +}; + +var list = { + VariableDeclaration: function VariableDeclaration(node) { + return node.declarations.map(function (decl) { + return decl.init; + }); + }, + ArrayExpression: function ArrayExpression(node) { + return node.elements; + }, + ObjectExpression: function ObjectExpression(node) { + return node.properties; + } +}; +exports.list = list; +[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function (_ref) { + var _ref2 = _slicedToArray(_ref, 2), + type = _ref2[0], + amounts = _ref2[1]; + + if (typeof amounts === "boolean") { + amounts = { + after: amounts, + before: amounts + }; + } + + [type].concat(t.FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) { + nodes[type] = function () { + return amounts; + }; + }); +}); + +},{"@babel/types":242}],55:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _isInteger = _interopRequireDefault(require("lodash/isInteger")); + +var _repeat = _interopRequireDefault(require("lodash/repeat")); + +var _buffer = _interopRequireDefault(require("./buffer")); + +var n = _interopRequireWildcard(require("./node")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var generatorFunctions = _interopRequireWildcard(require("./generators")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var SCIENTIFIC_NOTATION = /e/i; +var ZERO_DECIMAL_INTEGER = /\.0+$/; +var NON_DECIMAL_LITERAL = /^0[box]/; + +var Printer = +/*#__PURE__*/ +function () { + function Printer(format, map) { + _classCallCheck(this, Printer); + + this.inForStatementInitCounter = 0; + this._printStack = []; + this._indent = 0; + this._insideAux = false; + this._printedCommentStarts = {}; + this._parenPushNewlineState = null; + this._noLineTerminator = false; + this._printAuxAfterOnNextUserNode = false; + this._printedComments = new WeakSet(); + this._endsWithInteger = false; + this._endsWithWord = false; + this.format = format || {}; + this._buf = new _buffer.default(map); + } + + _createClass(Printer, [{ + key: "generate", + value: function generate(ast) { + this.print(ast); + + this._maybeAddAuxComment(); + + return this._buf.get(); + } + }, { + key: "indent", + value: function indent() { + if (this.format.compact || this.format.concise) return; + this._indent++; + } + }, { + key: "dedent", + value: function dedent() { + if (this.format.compact || this.format.concise) return; + this._indent--; + } + }, { + key: "semicolon", + value: function semicolon() { + var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + this._maybeAddAuxComment(); + + this._append(";", !force); + } + }, { + key: "rightBrace", + value: function rightBrace() { + if (this.format.minified) { + this._buf.removeLastSemicolon(); + } + + this.token("}"); + } + }, { + key: "space", + value: function space() { + var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + if (this.format.compact) return; + + if (this._buf.hasContent() && !this.endsWith(" ") && !this.endsWith("\n") || force) { + this._space(); + } + } + }, { + key: "word", + value: function word(str) { + if (this._endsWithWord || this.endsWith("/") && str.indexOf("/") === 0) { + this._space(); + } + + this._maybeAddAuxComment(); + + this._append(str); + + this._endsWithWord = true; + } + }, { + key: "number", + value: function number(str) { + this.word(str); + this._endsWithInteger = (0, _isInteger.default)(+str) && !NON_DECIMAL_LITERAL.test(str) && !SCIENTIFIC_NOTATION.test(str) && !ZERO_DECIMAL_INTEGER.test(str) && str[str.length - 1] !== "."; + } + }, { + key: "token", + value: function token(str) { + if (str === "--" && this.endsWith("!") || str[0] === "+" && this.endsWith("+") || str[0] === "-" && this.endsWith("-") || str[0] === "." && this._endsWithInteger) { + this._space(); + } + + this._maybeAddAuxComment(); + + this._append(str); + } + }, { + key: "newline", + value: function newline(i) { + if (this.format.retainLines || this.format.compact) return; + + if (this.format.concise) { + this.space(); + return; + } + + if (this.endsWith("\n\n")) return; + if (typeof i !== "number") i = 1; + i = Math.min(2, i); + if (this.endsWith("{\n") || this.endsWith(":\n")) i--; + if (i <= 0) return; + + for (var j = 0; j < i; j++) { + this._newline(); + } + } + }, { + key: "endsWith", + value: function endsWith(str) { + return this._buf.endsWith(str); + } + }, { + key: "removeTrailingNewline", + value: function removeTrailingNewline() { + this._buf.removeTrailingNewline(); + } + }, { + key: "exactSource", + value: function exactSource(loc, cb) { + this._catchUp("start", loc); + + this._buf.exactSource(loc, cb); + } + }, { + key: "source", + value: function source(prop, loc) { + this._catchUp(prop, loc); + + this._buf.source(prop, loc); + } + }, { + key: "withSource", + value: function withSource(prop, loc, cb) { + this._catchUp(prop, loc); + + this._buf.withSource(prop, loc, cb); + } + }, { + key: "_space", + value: function _space() { + this._append(" ", true); + } + }, { + key: "_newline", + value: function _newline() { + this._append("\n", true); + } + }, { + key: "_append", + value: function _append(str) { + var queue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + this._maybeAddParen(str); + + this._maybeIndent(str); + + if (queue) this._buf.queue(str);else this._buf.append(str); + this._endsWithWord = false; + this._endsWithInteger = false; + } + }, { + key: "_maybeIndent", + value: function _maybeIndent(str) { + if (this._indent && this.endsWith("\n") && str[0] !== "\n") { + this._buf.queue(this._getIndent()); + } + } + }, { + key: "_maybeAddParen", + value: function _maybeAddParen(str) { + var parenPushNewlineState = this._parenPushNewlineState; + if (!parenPushNewlineState) return; + this._parenPushNewlineState = null; + var i; + + for (i = 0; i < str.length && str[i] === " "; i++) { + continue; + } + + if (i === str.length) return; + var cha = str[i]; + + if (cha !== "\n") { + if (cha !== "/") return; + if (i + 1 === str.length) return; + var chaPost = str[i + 1]; + if (chaPost !== "/" && chaPost !== "*") return; + } + + this.token("("); + this.indent(); + parenPushNewlineState.printed = true; + } + }, { + key: "_catchUp", + value: function _catchUp(prop, loc) { + if (!this.format.retainLines) return; + var pos = loc ? loc[prop] : null; + + if (pos && pos.line !== null) { + var count = pos.line - this._buf.getCurrentLine(); + + for (var i = 0; i < count; i++) { + this._newline(); + } + } + } + }, { + key: "_getIndent", + value: function _getIndent() { + return (0, _repeat.default)(this.format.indent.style, this._indent); + } + }, { + key: "startTerminatorless", + value: function startTerminatorless() { + var isLabel = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (isLabel) { + this._noLineTerminator = true; + return null; + } else { + return this._parenPushNewlineState = { + printed: false + }; + } + } + }, { + key: "endTerminatorless", + value: function endTerminatorless(state) { + this._noLineTerminator = false; + + if (state && state.printed) { + this.dedent(); + this.newline(); + this.token(")"); + } + } + }, { + key: "print", + value: function print(node, parent) { + var _this = this; + + if (!node) return; + var oldConcise = this.format.concise; + + if (node._compact) { + this.format.concise = true; + } + + var printMethod = this[node.type]; + + if (!printMethod) { + throw new ReferenceError("unknown node of type ".concat(JSON.stringify(node.type), " with constructor ").concat(JSON.stringify(node && node.constructor.name))); + } + + this._printStack.push(node); + + var oldInAux = this._insideAux; + this._insideAux = !node.loc; + + this._maybeAddAuxComment(this._insideAux && !oldInAux); + + var needsParens = n.needsParens(node, parent, this._printStack); + + if (this.format.retainFunctionParens && node.type === "FunctionExpression" && node.extra && node.extra.parenthesized) { + needsParens = true; + } + + if (needsParens) this.token("("); + + this._printLeadingComments(node); + + var loc = t.isProgram(node) || t.isFile(node) ? null : node.loc; + this.withSource("start", loc, function () { + printMethod.call(_this, node, parent); + }); + + this._printTrailingComments(node); + + if (needsParens) this.token(")"); + + this._printStack.pop(); + + this.format.concise = oldConcise; + this._insideAux = oldInAux; + } + }, { + key: "_maybeAddAuxComment", + value: function _maybeAddAuxComment(enteredPositionlessNode) { + if (enteredPositionlessNode) this._printAuxBeforeComment(); + if (!this._insideAux) this._printAuxAfterComment(); + } + }, { + key: "_printAuxBeforeComment", + value: function _printAuxBeforeComment() { + if (this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = true; + var comment = this.format.auxiliaryCommentBefore; + + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }); + } + } + }, { + key: "_printAuxAfterComment", + value: function _printAuxAfterComment() { + if (!this._printAuxAfterOnNextUserNode) return; + this._printAuxAfterOnNextUserNode = false; + var comment = this.format.auxiliaryCommentAfter; + + if (comment) { + this._printComment({ + type: "CommentBlock", + value: comment + }); + } + } + }, { + key: "getPossibleRaw", + value: function getPossibleRaw(node) { + var extra = node.extra; + + if (extra && extra.raw != null && extra.rawValue != null && node.value === extra.rawValue) { + return extra.raw; + } + } + }, { + key: "printJoin", + value: function printJoin(nodes, parent) { + var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + if (!nodes || !nodes.length) return; + if (opts.indent) this.indent(); + var newlineOpts = { + addNewlines: opts.addNewlines + }; + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (!node) continue; + if (opts.statement) this._printNewline(true, node, parent, newlineOpts); + this.print(node, parent); + + if (opts.iterator) { + opts.iterator(node, i); + } + + if (opts.separator && i < nodes.length - 1) { + opts.separator.call(this); + } + + if (opts.statement) this._printNewline(false, node, parent, newlineOpts); + } + + if (opts.indent) this.dedent(); + } + }, { + key: "printAndIndentOnComments", + value: function printAndIndentOnComments(node, parent) { + var indent = node.leadingComments && node.leadingComments.length > 0; + if (indent) this.indent(); + this.print(node, parent); + if (indent) this.dedent(); + } + }, { + key: "printBlock", + value: function printBlock(parent) { + var node = parent.body; + + if (!t.isEmptyStatement(node)) { + this.space(); + } + + this.print(node, parent); + } + }, { + key: "_printTrailingComments", + value: function _printTrailingComments(node) { + this._printComments(this._getComments(false, node)); + } + }, { + key: "_printLeadingComments", + value: function _printLeadingComments(node) { + this._printComments(this._getComments(true, node)); + } + }, { + key: "printInnerComments", + value: function printInnerComments(node) { + var indent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + if (!node.innerComments || !node.innerComments.length) return; + if (indent) this.indent(); + + this._printComments(node.innerComments); + + if (indent) this.dedent(); + } + }, { + key: "printSequence", + value: function printSequence(nodes, parent) { + var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + opts.statement = true; + return this.printJoin(nodes, parent, opts); + } + }, { + key: "printList", + value: function printList(items, parent) { + var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (opts.separator == null) { + opts.separator = commaSeparator; + } + + return this.printJoin(items, parent, opts); + } + }, { + key: "_printNewline", + value: function _printNewline(leading, node, parent, opts) { + if (this.format.retainLines || this.format.compact) return; + + if (this.format.concise) { + this.space(); + return; + } + + var lines = 0; + + if (this._buf.hasContent()) { + if (!leading) lines++; + if (opts.addNewlines) lines += opts.addNewlines(leading, node) || 0; + var needs = leading ? n.needsWhitespaceBefore : n.needsWhitespaceAfter; + if (needs(node, parent)) lines++; + } + + this.newline(lines); + } + }, { + key: "_getComments", + value: function _getComments(leading, node) { + return node && (leading ? node.leadingComments : node.trailingComments) || []; + } + }, { + key: "_printComment", + value: function _printComment(comment) { + var _this2 = this; + + if (!this.format.shouldPrintComment(comment.value)) return; + if (comment.ignore) return; + if (this._printedComments.has(comment)) return; + + this._printedComments.add(comment); + + if (comment.start != null) { + if (this._printedCommentStarts[comment.start]) return; + this._printedCommentStarts[comment.start] = true; + } + + var isBlockComment = comment.type === "CommentBlock"; + this.newline(this._buf.hasContent() && !this._noLineTerminator && isBlockComment ? 1 : 0); + if (!this.endsWith("[") && !this.endsWith("{")) this.space(); + var val = !isBlockComment && !this._noLineTerminator ? "//".concat(comment.value, "\n") : "/*".concat(comment.value, "*/"); + + if (isBlockComment && this.format.indent.adjustMultilineComment) { + var offset = comment.loc && comment.loc.start.column; + + if (offset) { + var newlineRegex = new RegExp("\\n\\s{1," + offset + "}", "g"); + val = val.replace(newlineRegex, "\n"); + } + + var indentSize = Math.max(this._getIndent().length, this._buf.getCurrentColumn()); + val = val.replace(/\n(?!$)/g, "\n".concat((0, _repeat.default)(" ", indentSize))); + } + + if (this.endsWith("/")) this._space(); + this.withSource("start", comment.loc, function () { + _this2._append(val); + }); + this.newline(isBlockComment && !this._noLineTerminator ? 1 : 0); + } + }, { + key: "_printComments", + value: function _printComments(comments) { + if (!comments || !comments.length) return; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = comments[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var comment = _step.value; + + this._printComment(comment); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + }]); + + return Printer; +}(); + +exports.default = Printer; +Object.assign(Printer.prototype, generatorFunctions); + +function commaSeparator() { + this.token(","); + this.space(); +} + +},{"./buffer":38,"./generators":43,"./node":52,"@babel/types":242,"lodash/isInteger":1021,"lodash/repeat":1039}],56:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _sourceMap = _interopRequireDefault(require("source-map")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var SourceMap = +/*#__PURE__*/ +function () { + function SourceMap(opts, code) { + _classCallCheck(this, SourceMap); + + this._cachedMap = null; + this._code = code; + this._opts = opts; + this._rawMappings = []; + } + + _createClass(SourceMap, [{ + key: "get", + value: function get() { + if (!this._cachedMap) { + var map = this._cachedMap = new _sourceMap.default.SourceMapGenerator({ + sourceRoot: this._opts.sourceRoot + }); + var code = this._code; + + if (typeof code === "string") { + map.setSourceContent(this._opts.sourceFileName.replace(/\\/g, "/"), code); + } else if (_typeof(code) === "object") { + Object.keys(code).forEach(function (sourceFileName) { + map.setSourceContent(sourceFileName.replace(/\\/g, "/"), code[sourceFileName]); + }); + } + + this._rawMappings.forEach(function (mapping) { + return map.addMapping(mapping); + }, map); + } + + return this._cachedMap.toJSON(); + } + }, { + key: "getRawMappings", + value: function getRawMappings() { + return this._rawMappings.slice(); + } + }, { + key: "mark", + value: function mark(generatedLine, generatedColumn, line, column, identifierName, filename, force) { + if (this._lastGenLine !== generatedLine && line === null) return; + + if (!force && this._lastGenLine === generatedLine && this._lastSourceLine === line && this._lastSourceColumn === column) { + return; + } + + this._cachedMap = null; + this._lastGenLine = generatedLine; + this._lastSourceLine = line; + this._lastSourceColumn = column; + + this._rawMappings.push({ + name: identifierName || undefined, + generated: { + line: generatedLine, + column: generatedColumn + }, + source: line == null ? undefined : (filename || this._opts.sourceFileName).replace(/\\/g, "/"), + original: line == null ? undefined : { + line: line, + column: column + } + }); + } + }]); + + return SourceMap; +}(); + +exports.default = SourceMap; + +},{"source-map":1081}],57:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = annotateAsPure; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var PURE_ANNOTATION = "#__PURE__"; + +var isPureAnnotated = function isPureAnnotated(_ref) { + var leadingComments = _ref.leadingComments; + return !!leadingComments && leadingComments.some(function (comment) { + return /[@#]__PURE__/.test(comment.value); + }); +}; + +function annotateAsPure(pathOrNode) { + var node = pathOrNode.node || pathOrNode; + + if (isPureAnnotated(node)) { + return; + } + + t.addComment(node, "leading", PURE_ANNOTATION); +} + +},{"@babel/types":242}],58:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperExplodeAssignableExpression = _interopRequireDefault(require("@babel/helper-explode-assignable-expression")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _default(opts) { + var build = opts.build, + operator = opts.operator; + return { + AssignmentExpression: function AssignmentExpression(path) { + var node = path.node, + scope = path.scope; + if (node.operator !== operator + "=") return; + var nodes = []; + var exploded = (0, _helperExplodeAssignableExpression.default)(node.left, nodes, this, scope); + nodes.push(t.assignmentExpression("=", exploded.ref, build(exploded.uid, node.right))); + path.replaceWith(t.sequenceExpression(nodes)); + }, + BinaryExpression: function BinaryExpression(path) { + var node = path.node; + + if (node.operator === operator) { + path.replaceWith(build(node.left, node.right)); + } + } + }; +} + +},{"@babel/helper-explode-assignable-expression":65,"@babel/types":242}],59:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperHoistVariables = _interopRequireDefault(require("@babel/helper-hoist-variables")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var visitor = { + enter: function enter(path, state) { + if (path.isThisExpression()) { + state.foundThis = true; + } + + if (path.isReferencedIdentifier({ + name: "arguments" + })) { + state.foundArguments = true; + } + }, + Function: function Function(path) { + path.skip(); + } +}; + +function _default(path) { + var scope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : path.scope; + var node = path.node; + var container = t.functionExpression(null, [], node.body, node.generator, node.async); + var callee = container; + var args = []; + (0, _helperHoistVariables.default)(path, function (id) { + return scope.push({ + id: id + }); + }); + var state = { + foundThis: false, + foundArguments: false + }; + path.traverse(visitor, state); + + if (state.foundArguments || state.foundThis) { + callee = t.memberExpression(container, t.identifier("apply")); + args = []; + + if (state.foundThis) { + args.push(t.thisExpression()); + } + + if (state.foundArguments) { + if (!state.foundThis) args.push(t.nullLiteral()); + args.push(t.identifier("arguments")); + } + } + + var call = t.callExpression(callee, args); + if (node.generator) call = t.yieldExpression(call, true); + return t.returnStatement(call); +} + +},{"@babel/helper-hoist-variables":68,"@babel/types":242}],60:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.enableFeature = enableFeature; +exports.hasFeature = hasFeature; +exports.runtimeKey = exports.featuresKey = exports.FEATURES = void 0; +var FEATURES = Object.freeze({ + unicodeFlag: 1 << 0, + dotAllFlag: 1 << 1, + unicodePropertyEscape: 1 << 2, + namedCaptureGroups: 1 << 3 +}); +exports.FEATURES = FEATURES; +var featuresKey = "@babel/plugin-regexp-features/featuresKey"; +exports.featuresKey = featuresKey; +var runtimeKey = "@babel/plugin-regexp-features/runtimeKey"; +exports.runtimeKey = runtimeKey; + +function enableFeature(features, feature) { + return features | feature; +} + +function hasFeature(features, feature) { + return !!(features & feature); +} + +},{}],61:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createRegExpFeaturePlugin = createRegExpFeaturePlugin; + +var _regexpuCore = _interopRequireDefault(require("regexpu-core")); + +var _features = require("./features"); + +var _util = require("./util"); + +var _package = _interopRequireDefault(require("../package.json")); + +var _core = require("@babel/core"); + +var _helperRegex = require("@babel/helper-regex"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var version = _package.default.version.split(".").reduce(function (v, x) { + return v * 1e5 + +x; +}, 0); + +var versionKey = "@babel/plugin-regexp-features/version"; + +function createRegExpFeaturePlugin(_ref) { + var name = _ref.name, + feature = _ref.feature, + _ref$options = _ref.options, + options = _ref$options === void 0 ? {} : _ref$options; + return { + name: name, + pre: function pre() { + var _file$get; + + var file = this.file; + var features = (_file$get = file.get(_features.featuresKey)) !== null && _file$get !== void 0 ? _file$get : 0; + var newFeatures = (0, _features.enableFeature)(features, _features.FEATURES[feature]); + var useUnicodeFlag = options.useUnicodeFlag, + _options$runtime = options.runtime, + runtime = _options$runtime === void 0 ? true : _options$runtime; + + if (useUnicodeFlag === false) { + newFeatures = (0, _features.enableFeature)(newFeatures, _features.FEATURES.unicodeFlag); + } + + if (newFeatures !== features) { + file.set(_features.featuresKey, newFeatures); + } + + if (!runtime) { + file.set(_features.runtimeKey, false); + } + + if (!file.has(versionKey) || file.get(versionKey) < version) { + file.set(versionKey, version); + } + }, + visitor: { + RegExpLiteral: function RegExpLiteral(path) { + var _file$get2; + + var node = path.node; + var file = this.file; + var features = file.get(_features.featuresKey); + var runtime = (_file$get2 = file.get(_features.runtimeKey)) !== null && _file$get2 !== void 0 ? _file$get2 : true; + var regexpuOptions = (0, _util.generateRegexpuOptions)(node, features); + + if (regexpuOptions === null) { + return; + } + + var namedCaptureGroups = {}; + + if (regexpuOptions.namedGroup) { + regexpuOptions.onNamedGroup = function (name, index) { + namedCaptureGroups[name] = index; + }; + } + + node.pattern = (0, _regexpuCore.default)(node.pattern, node.flags, regexpuOptions); + + if (regexpuOptions.namedGroup && Object.keys(namedCaptureGroups).length > 0 && runtime && !isRegExpTest(path)) { + path.replaceWith(_core.types.callExpression(this.addHelper("wrapRegExp"), [node, _core.types.valueToNode(namedCaptureGroups)])); + } + + if ((0, _features.hasFeature)(features, _features.FEATURES.unicodeFlag)) { + (0, _helperRegex.pullFlag)(node, "u"); + } + + if ((0, _features.hasFeature)(features, _features.FEATURES.dotAllFlag)) { + (0, _helperRegex.pullFlag)(node, "s"); + } + } + } + }; +} + +function isRegExpTest(path) { + return path.parentPath.isMemberExpression({ + object: path.node, + computed: false + }) && path.parentPath.get("property").isIdentifier({ + name: "test" + }); +} + +},{"../package.json":63,"./features":60,"./util":62,"@babel/core":19,"@babel/helper-regex":80,"regexpu-core":1066}],62:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.generateRegexpuOptions = generateRegexpuOptions; + +var _features = require("./features"); + +function generateRegexpuOptions(node, features) { + var useUnicodeFlag = false, + dotAllFlag = false, + unicodePropertyEscape = false, + namedGroup = false; + var flags = node.flags, + pattern = node.pattern; + var flagsIncludesU = flags.includes("u"); + + if (flagsIncludesU) { + if (!(0, _features.hasFeature)(features, _features.FEATURES.unicodeFlag)) { + useUnicodeFlag = true; + } + + if ((0, _features.hasFeature)(features, _features.FEATURES.unicodePropertyEscape) && /\\[pP]{/.test(pattern)) { + unicodePropertyEscape = true; + } + } + + if ((0, _features.hasFeature)(features, _features.FEATURES.dotAllFlag) && flags.indexOf("s") >= 0) { + dotAllFlag = true; + } + + if ((0, _features.hasFeature)(features, _features.FEATURES.namedCaptureGroups) && /\(\?<(?![=!])/.test(pattern)) { + namedGroup = true; + } + + if (!namedGroup && !unicodePropertyEscape && !dotAllFlag && (!flagsIncludesU || useUnicodeFlag)) { + return null; + } + + if (flagsIncludesU && flags.indexOf("s") >= 0) { + dotAllFlag = true; + } + + return { + useUnicodeFlag: useUnicodeFlag, + onNamedGroup: function onNamedGroup() {}, + namedGroup: namedGroup, + unicodePropertyEscape: unicodePropertyEscape, + dotAllFlag: dotAllFlag, + lookbehind: true + }; +} + +},{"./features":60}],63:[function(require,module,exports){ +module.exports={ + "_from": "@babel/helper-create-regexp-features-plugin@^7.7.0", + "_id": "@babel/helper-create-regexp-features-plugin@7.7.2", + "_inBundle": false, + "_integrity": "sha512-pAil/ZixjTlrzNpjx+l/C/wJk002Wo7XbbZ8oujH/AoJ3Juv0iN/UTcPUHXKMFLqsfS0Hy6Aow8M31brUYBlQQ==", + "_location": "/@babel/helper-create-regexp-features-plugin", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@babel/helper-create-regexp-features-plugin@^7.7.0", + "name": "@babel/helper-create-regexp-features-plugin", + "escapedName": "@babel%2fhelper-create-regexp-features-plugin", + "scope": "@babel", + "rawSpec": "^7.7.0", + "saveSpec": null, + "fetchSpec": "^7.7.0" + }, + "_requiredBy": [ + "/@babel/plugin-proposal-unicode-property-regex", + "/@babel/plugin-transform-dotall-regex", + "/@babel/plugin-transform-named-capturing-groups-regex", + "/@babel/plugin-transform-unicode-regex" + ], + "_resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.7.2.tgz", + "_shasum": "6f20443778c8fce2af2ff4206284afc0ced65db6", + "_spec": "@babel/helper-create-regexp-features-plugin@^7.7.0", + "_where": "/local/home/ossman/devel/noVNC/node_modules/@babel/plugin-proposal-unicode-property-regex", + "author": { + "name": "The Babel Team", + "url": "https://babeljs.io/team" + }, + "bugs": { + "url": "https://github.com/babel/babel/issues" + }, + "bundleDependencies": false, + "dependencies": { + "@babel/helper-regex": "^7.4.4", + "regexpu-core": "^4.6.0" + }, + "deprecated": false, + "description": "Compile ESNext Regular Expressions to ES5", + "devDependencies": { + "@babel/core": "^7.7.2", + "@babel/helper-plugin-test-runner": "^7.0.0" + }, + "gitHead": "35f4d1276310bac6fede4a6f86a5c76f951e179e", + "homepage": "https://github.com/babel/babel#readme", + "keywords": [ + "babel", + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "@babel/helper-create-regexp-features-plugin", + "peerDependencies": { + "@babel/core": "^7.0.0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/babel/babel.git", + "directory": "packages/babel-helper-create-regexp-features-plugin" + }, + "version": "7.7.2" +} + +},{}],64:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.push = push; +exports.hasComputed = hasComputed; +exports.toComputedObjectFromClass = toComputedObjectFromClass; +exports.toClassObject = toClassObject; +exports.toDefineObject = toDefineObject; + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +var _has = _interopRequireDefault(require("lodash/has")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function toKind(node) { + if (t.isClassMethod(node) || t.isObjectMethod(node)) { + if (node.kind === "get" || node.kind === "set") { + return node.kind; + } + } + + return "value"; +} + +function push(mutatorMap, node, kind, file, scope) { + var alias = t.toKeyAlias(node); + var map = {}; + if ((0, _has.default)(mutatorMap, alias)) map = mutatorMap[alias]; + mutatorMap[alias] = map; + map._inherits = map._inherits || []; + + map._inherits.push(node); + + map._key = node.key; + + if (node.computed) { + map._computed = true; + } + + if (node.decorators) { + var decorators = map.decorators = map.decorators || t.arrayExpression([]); + decorators.elements = decorators.elements.concat(node.decorators.map(function (dec) { + return dec.expression; + }).reverse()); + } + + if (map.value || map.initializer) { + throw file.buildCodeFrameError(node, "Key conflict with sibling node"); + } + + var key, value; + + if (t.isObjectProperty(node) || t.isObjectMethod(node) || t.isClassMethod(node)) { + key = t.toComputedKey(node, node.key); + } + + if (t.isProperty(node)) { + value = node.value; + } else if (t.isObjectMethod(node) || t.isClassMethod(node)) { + value = t.functionExpression(null, node.params, node.body, node.generator, node.async); + value.returnType = node.returnType; + } + + var inheritedKind = toKind(node); + + if (!kind || inheritedKind !== "value") { + kind = inheritedKind; + } + + if (scope && t.isStringLiteral(key) && (kind === "value" || kind === "initializer") && t.isFunctionExpression(value)) { + value = (0, _helperFunctionName.default)({ + id: key, + node: value, + scope: scope + }); + } + + if (value) { + t.inheritsComments(value, node); + map[kind] = value; + } + + return map; +} + +function hasComputed(mutatorMap) { + for (var _i = 0, _Object$keys = Object.keys(mutatorMap); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + + if (mutatorMap[key]._computed) { + return true; + } + } + + return false; +} + +function toComputedObjectFromClass(obj) { + var objExpr = t.arrayExpression([]); + + for (var i = 0; i < obj.properties.length; i++) { + var prop = obj.properties[i]; + var val = prop.value; + val.properties.unshift(t.objectProperty(t.identifier("key"), t.toComputedKey(prop))); + objExpr.elements.push(val); + } + + return objExpr; +} + +function toClassObject(mutatorMap) { + var objExpr = t.objectExpression([]); + Object.keys(mutatorMap).forEach(function (mutatorMapKey) { + var map = mutatorMap[mutatorMapKey]; + var mapNode = t.objectExpression([]); + var propNode = t.objectProperty(map._key, mapNode, map._computed); + Object.keys(map).forEach(function (key) { + var node = map[key]; + if (key[0] === "_") return; + var prop = t.objectProperty(t.identifier(key), node); + t.inheritsComments(prop, node); + t.removeComments(node); + mapNode.properties.push(prop); + }); + objExpr.properties.push(propNode); + }); + return objExpr; +} + +function toDefineObject(mutatorMap) { + Object.keys(mutatorMap).forEach(function (key) { + var map = mutatorMap[key]; + if (map.value) map.writable = t.booleanLiteral(true); + map.configurable = t.booleanLiteral(true); + map.enumerable = t.booleanLiteral(true); + }); + return toClassObject(mutatorMap); +} + +},{"@babel/helper-function-name":66,"@babel/types":242,"lodash/has":1012}],65:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function getObjRef(node, nodes, file, scope) { + var ref; + + if (t.isSuper(node)) { + return node; + } else if (t.isIdentifier(node)) { + if (scope.hasBinding(node.name)) { + return node; + } else { + ref = node; + } + } else if (t.isMemberExpression(node)) { + ref = node.object; + + if (t.isSuper(ref) || t.isIdentifier(ref) && scope.hasBinding(ref.name)) { + return ref; + } + } else { + throw new Error("We can't explode this node type ".concat(node.type)); + } + + var temp = scope.generateUidIdentifierBasedOnNode(ref); + scope.push({ + id: temp + }); + nodes.push(t.assignmentExpression("=", t.cloneNode(temp), t.cloneNode(ref))); + return temp; +} + +function getPropRef(node, nodes, file, scope) { + var prop = node.property; + var key = t.toComputedKey(node, prop); + if (t.isLiteral(key) && t.isPureish(key)) return key; + var temp = scope.generateUidIdentifierBasedOnNode(prop); + scope.push({ + id: temp + }); + nodes.push(t.assignmentExpression("=", t.cloneNode(temp), t.cloneNode(prop))); + return temp; +} + +function _default(node, nodes, file, scope, allowedSingleIdent) { + var obj; + + if (t.isIdentifier(node) && allowedSingleIdent) { + obj = node; + } else { + obj = getObjRef(node, nodes, file, scope); + } + + var ref, uid; + + if (t.isIdentifier(node)) { + ref = t.cloneNode(node); + uid = obj; + } else { + var prop = getPropRef(node, nodes, file, scope); + var computed = node.computed || t.isLiteral(prop); + uid = t.memberExpression(t.cloneNode(obj), t.cloneNode(prop), computed); + ref = t.memberExpression(t.cloneNode(obj), t.cloneNode(prop), computed); + } + + return { + uid: uid, + ref: ref + }; +} + +},{"@babel/types":242}],66:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperGetFunctionArity = _interopRequireDefault(require("@babel/helper-get-function-arity")); + +var _template = _interopRequireDefault(require("@babel/template")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var buildPropertyMethodAssignmentWrapper = (0, _template.default)("\n (function (FUNCTION_KEY) {\n function FUNCTION_ID() {\n return FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n }\n\n return FUNCTION_ID;\n })(FUNCTION)\n"); +var buildGeneratorPropertyMethodAssignmentWrapper = (0, _template.default)("\n (function (FUNCTION_KEY) {\n function* FUNCTION_ID() {\n return yield* FUNCTION_KEY.apply(this, arguments);\n }\n\n FUNCTION_ID.toString = function () {\n return FUNCTION_KEY.toString();\n };\n\n return FUNCTION_ID;\n })(FUNCTION)\n"); +var visitor = { + "ReferencedIdentifier|BindingIdentifier": function ReferencedIdentifierBindingIdentifier(path, state) { + if (path.node.name !== state.name) return; + var localDeclar = path.scope.getBindingIdentifier(state.name); + if (localDeclar !== state.outerDeclar) return; + state.selfReference = true; + path.stop(); + } +}; + +function getNameFromLiteralId(id) { + if (t.isNullLiteral(id)) { + return "null"; + } + + if (t.isRegExpLiteral(id)) { + return "_".concat(id.pattern, "_").concat(id.flags); + } + + if (t.isTemplateLiteral(id)) { + return id.quasis.map(function (quasi) { + return quasi.value.raw; + }).join(""); + } + + if (id.value !== undefined) { + return id.value + ""; + } + + return ""; +} + +function wrap(state, method, id, scope) { + if (state.selfReference) { + if (scope.hasBinding(id.name) && !scope.hasGlobal(id.name)) { + scope.rename(id.name); + } else { + if (!t.isFunction(method)) return; + var build = buildPropertyMethodAssignmentWrapper; + + if (method.generator) { + build = buildGeneratorPropertyMethodAssignmentWrapper; + } + + var template = build({ + FUNCTION: method, + FUNCTION_ID: id, + FUNCTION_KEY: scope.generateUidIdentifier(id.name) + }).expression; + var params = template.callee.body.body[0].params; + + for (var i = 0, len = (0, _helperGetFunctionArity.default)(method); i < len; i++) { + params.push(scope.generateUidIdentifier("x")); + } + + return template; + } + } + + method.id = id; + scope.getProgramParent().references[id.name] = true; +} + +function visit(node, name, scope) { + var state = { + selfAssignment: false, + selfReference: false, + outerDeclar: scope.getBindingIdentifier(name), + references: [], + name: name + }; + var binding = scope.getOwnBinding(name); + + if (binding) { + if (binding.kind === "param") { + state.selfReference = true; + } else {} + } else if (state.outerDeclar || scope.hasGlobal(name)) { + scope.traverse(node, visitor, state); + } + + return state; +} + +function _default(_ref) { + var node = _ref.node, + parent = _ref.parent, + scope = _ref.scope, + id = _ref.id; + var localBinding = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + if (node.id) return; + + if ((t.isObjectProperty(parent) || t.isObjectMethod(parent, { + kind: "method" + })) && (!parent.computed || t.isLiteral(parent.key))) { + id = parent.key; + } else if (t.isVariableDeclarator(parent)) { + id = parent.id; + + if (t.isIdentifier(id) && !localBinding) { + var binding = scope.parent.getBinding(id.name); + + if (binding && binding.constant && scope.getBinding(id.name) === binding) { + node.id = t.cloneNode(id); + node.id[t.NOT_LOCAL_BINDING] = true; + return; + } + } + } else if (t.isAssignmentExpression(parent)) { + id = parent.left; + } else if (!id) { + return; + } + + var name; + + if (id && t.isLiteral(id)) { + name = getNameFromLiteralId(id); + } else if (id && t.isIdentifier(id)) { + name = id.name; + } + + if (name === undefined) { + return; + } + + name = t.toBindingIdentifierName(name); + id = t.identifier(name); + id[t.NOT_LOCAL_BINDING] = true; + var state = visit(node, name, scope); + return wrap(state, node, id, scope) || node; +} + +},{"@babel/helper-get-function-arity":67,"@babel/template":167,"@babel/types":242}],67:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _default(node) { + var params = node.params; + + for (var i = 0; i < params.length; i++) { + var param = params[i]; + + if (t.isAssignmentPattern(param) || t.isRestElement(param)) { + return i; + } + } + + return params.length; +} + +},{"@babel/types":242}],68:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var visitor = { + Scope: function Scope(path, state) { + if (state.kind === "let") path.skip(); + }, + Function: function Function(path) { + path.skip(); + }, + VariableDeclaration: function VariableDeclaration(path, state) { + if (state.kind && path.node.kind !== state.kind) return; + var nodes = []; + var declarations = path.get("declarations"); + var firstId; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var declar = _step.value; + firstId = declar.node.id; + + if (declar.node.init) { + nodes.push(t.expressionStatement(t.assignmentExpression("=", declar.node.id, declar.node.init))); + } + + for (var _i = 0, _Object$keys = Object.keys(declar.getBindingIdentifiers()); _i < _Object$keys.length; _i++) { + var name = _Object$keys[_i]; + state.emit(t.identifier(name), name, declar.node.init !== null); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (path.parentPath.isFor({ + left: path.node + })) { + path.replaceWith(firstId); + } else { + path.replaceWithMultiple(nodes); + } + } +}; + +function _default(path, emit) { + var kind = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "var"; + path.traverse(visitor, { + kind: kind, + emit: emit + }); +} + +},{"@babel/types":242}],69:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = memberExpressionToFunctions; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var AssignmentMemoiser = +/*#__PURE__*/ +function () { + function AssignmentMemoiser() { + _classCallCheck(this, AssignmentMemoiser); + + this._map = new WeakMap(); + } + + _createClass(AssignmentMemoiser, [{ + key: "has", + value: function has(key) { + return this._map.has(key); + } + }, { + key: "get", + value: function get(key) { + if (!this.has(key)) return; + + var record = this._map.get(key); + + var value = record.value; + record.count--; + + if (record.count === 0) { + return t.assignmentExpression("=", value, key); + } + + return value; + } + }, { + key: "set", + value: function set(key, value, count) { + return this._map.set(key, { + count: count, + value: value + }); + } + }]); + + return AssignmentMemoiser; +}(); + +var handle = { + memoise: function memoise() {}, + handle: function handle(member) { + var node = member.node, + parent = member.parent, + parentPath = member.parentPath; + + if (parentPath.isUpdateExpression({ + argument: node + })) { + var operator = parent.operator, + prefix = parent.prefix; + this.memoise(member, 2); + var value = t.binaryExpression(operator[0], t.unaryExpression("+", this.get(member)), t.numericLiteral(1)); + + if (prefix) { + parentPath.replaceWith(this.set(member, value)); + } else { + var scope = member.scope; + var ref = scope.generateUidIdentifierBasedOnNode(node); + scope.push({ + id: ref + }); + value.left = t.assignmentExpression("=", t.cloneNode(ref), value.left); + parentPath.replaceWith(t.sequenceExpression([this.set(member, value), t.cloneNode(ref)])); + } + + return; + } + + if (parentPath.isAssignmentExpression({ + left: node + })) { + var _operator = parent.operator, + right = parent.right; + var _value = right; + + if (_operator !== "=") { + this.memoise(member, 2); + _value = t.binaryExpression(_operator.slice(0, -1), this.get(member), _value); + } + + parentPath.replaceWith(this.set(member, _value)); + return; + } + + if (parentPath.isCallExpression({ + callee: node + })) { + var args = parent.arguments; + parentPath.replaceWith(this.call(member, args)); + return; + } + + if (parentPath.isObjectProperty({ + value: node + }) && parentPath.parentPath.isObjectPattern() || parentPath.isAssignmentPattern({ + left: node + }) && parentPath.parentPath.isObjectProperty({ + value: parent + }) && parentPath.parentPath.parentPath.isObjectPattern() || parentPath.isArrayPattern() || parentPath.isAssignmentPattern({ + left: node + }) && parentPath.parentPath.isArrayPattern() || parentPath.isRestElement()) { + member.replaceWith(this.destructureSet(member)); + return; + } + + member.replaceWith(this.get(member)); + } +}; + +function memberExpressionToFunctions(path, visitor, state) { + path.traverse(visitor, Object.assign({}, handle, {}, state, { + memoiser: new AssignmentMemoiser() + })); +} + +},{"@babel/types":242}],70:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _assert = _interopRequireDefault(require("assert")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var ImportBuilder = +/*#__PURE__*/ +function () { + function ImportBuilder(importedSource, scope, hub) { + _classCallCheck(this, ImportBuilder); + + this._statements = []; + this._resultName = null; + this._scope = null; + this._hub = null; + this._scope = scope; + this._hub = hub; + this._importedSource = importedSource; + } + + _createClass(ImportBuilder, [{ + key: "done", + value: function done() { + return { + statements: this._statements, + resultName: this._resultName + }; + } + }, { + key: "import", + value: function _import() { + this._statements.push(t.importDeclaration([], t.stringLiteral(this._importedSource))); + + return this; + } + }, { + key: "require", + value: function require() { + this._statements.push(t.expressionStatement(t.callExpression(t.identifier("require"), [t.stringLiteral(this._importedSource)]))); + + return this; + } + }, { + key: "namespace", + value: function namespace() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "namespace"; + name = this._scope.generateUidIdentifier(name); + var statement = this._statements[this._statements.length - 1]; + (0, _assert.default)(statement.type === "ImportDeclaration"); + (0, _assert.default)(statement.specifiers.length === 0); + statement.specifiers = [t.importNamespaceSpecifier(name)]; + this._resultName = t.cloneNode(name); + return this; + } + }, { + key: "default", + value: function _default(name) { + name = this._scope.generateUidIdentifier(name); + var statement = this._statements[this._statements.length - 1]; + (0, _assert.default)(statement.type === "ImportDeclaration"); + (0, _assert.default)(statement.specifiers.length === 0); + statement.specifiers = [t.importDefaultSpecifier(name)]; + this._resultName = t.cloneNode(name); + return this; + } + }, { + key: "named", + value: function named(name, importName) { + if (importName === "default") return this.default(name); + name = this._scope.generateUidIdentifier(name); + var statement = this._statements[this._statements.length - 1]; + (0, _assert.default)(statement.type === "ImportDeclaration"); + (0, _assert.default)(statement.specifiers.length === 0); + statement.specifiers = [t.importSpecifier(name, t.identifier(importName))]; + this._resultName = t.cloneNode(name); + return this; + } + }, { + key: "var", + value: function _var(name) { + name = this._scope.generateUidIdentifier(name); + var statement = this._statements[this._statements.length - 1]; + + if (statement.type !== "ExpressionStatement") { + (0, _assert.default)(this._resultName); + statement = t.expressionStatement(this._resultName); + + this._statements.push(statement); + } + + this._statements[this._statements.length - 1] = t.variableDeclaration("var", [t.variableDeclarator(name, statement.expression)]); + this._resultName = t.cloneNode(name); + return this; + } + }, { + key: "defaultInterop", + value: function defaultInterop() { + return this._interop(this._hub.addHelper("interopRequireDefault")); + } + }, { + key: "wildcardInterop", + value: function wildcardInterop() { + return this._interop(this._hub.addHelper("interopRequireWildcard")); + } + }, { + key: "_interop", + value: function _interop(callee) { + var statement = this._statements[this._statements.length - 1]; + + if (statement.type === "ExpressionStatement") { + statement.expression = t.callExpression(callee, [statement.expression]); + } else if (statement.type === "VariableDeclaration") { + (0, _assert.default)(statement.declarations.length === 1); + statement.declarations[0].init = t.callExpression(callee, [statement.declarations[0].init]); + } else { + _assert.default.fail("Unexpected type."); + } + + return this; + } + }, { + key: "prop", + value: function prop(name) { + var statement = this._statements[this._statements.length - 1]; + + if (statement.type === "ExpressionStatement") { + statement.expression = t.memberExpression(statement.expression, t.identifier(name)); + } else if (statement.type === "VariableDeclaration") { + (0, _assert.default)(statement.declarations.length === 1); + statement.declarations[0].init = t.memberExpression(statement.declarations[0].init, t.identifier(name)); + } else { + _assert.default.fail("Unexpected type:" + statement.type); + } + + return this; + } + }, { + key: "read", + value: function read(name) { + this._resultName = t.memberExpression(this._resultName, t.identifier(name)); + } + }]); + + return ImportBuilder; +}(); + +exports.default = ImportBuilder; + +},{"@babel/types":242,"assert":278}],71:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _assert = _interopRequireDefault(require("assert")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _importBuilder = _interopRequireDefault(require("./import-builder")); + +var _isModule = _interopRequireDefault(require("./is-module")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var ImportInjector = +/*#__PURE__*/ +function () { + function ImportInjector(path, importedSource, opts) { + _classCallCheck(this, ImportInjector); + + this._defaultOpts = { + importedSource: null, + importedType: "commonjs", + importedInterop: "babel", + importingInterop: "babel", + ensureLiveReference: false, + ensureNoContext: false + }; + var programPath = path.find(function (p) { + return p.isProgram(); + }); + this._programPath = programPath; + this._programScope = programPath.scope; + this._hub = programPath.hub; + this._defaultOpts = this._applyDefaults(importedSource, opts, true); + } + + _createClass(ImportInjector, [{ + key: "addDefault", + value: function addDefault(importedSourceIn, opts) { + return this.addNamed("default", importedSourceIn, opts); + } + }, { + key: "addNamed", + value: function addNamed(importName, importedSourceIn, opts) { + (0, _assert.default)(typeof importName === "string"); + return this._generateImport(this._applyDefaults(importedSourceIn, opts), importName); + } + }, { + key: "addNamespace", + value: function addNamespace(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), null); + } + }, { + key: "addSideEffect", + value: function addSideEffect(importedSourceIn, opts) { + return this._generateImport(this._applyDefaults(importedSourceIn, opts), false); + } + }, { + key: "_applyDefaults", + value: function _applyDefaults(importedSource, opts) { + var isInit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var optsList = []; + + if (typeof importedSource === "string") { + optsList.push({ + importedSource: importedSource + }); + optsList.push(opts); + } else { + (0, _assert.default)(!opts, "Unexpected secondary arguments."); + optsList.push(importedSource); + } + + var newOpts = Object.assign({}, this._defaultOpts); + + var _loop = function _loop() { + var opts = _optsList[_i]; + if (!opts) return "continue"; + Object.keys(newOpts).forEach(function (key) { + if (opts[key] !== undefined) newOpts[key] = opts[key]; + }); + + if (!isInit) { + if (opts.nameHint !== undefined) newOpts.nameHint = opts.nameHint; + if (opts.blockHoist !== undefined) newOpts.blockHoist = opts.blockHoist; + } + }; + + for (var _i = 0, _optsList = optsList; _i < _optsList.length; _i++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + return newOpts; + } + }, { + key: "_generateImport", + value: function _generateImport(opts, importName) { + var isDefault = importName === "default"; + var isNamed = !!importName && !isDefault; + var isNamespace = importName === null; + var importedSource = opts.importedSource, + importedType = opts.importedType, + importedInterop = opts.importedInterop, + importingInterop = opts.importingInterop, + ensureLiveReference = opts.ensureLiveReference, + ensureNoContext = opts.ensureNoContext, + nameHint = opts.nameHint, + blockHoist = opts.blockHoist; + var name = nameHint || importName; + var isMod = (0, _isModule.default)(this._programPath); + var isModuleForNode = isMod && importingInterop === "node"; + var isModuleForBabel = isMod && importingInterop === "babel"; + var builder = new _importBuilder.default(importedSource, this._programScope, this._hub); + + if (importedType === "es6") { + if (!isModuleForNode && !isModuleForBabel) { + throw new Error("Cannot import an ES6 module from CommonJS"); + } + + builder.import(); + + if (isNamespace) { + builder.namespace(nameHint || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else if (importedType !== "commonjs") { + throw new Error("Unexpected interopType \"".concat(importedType, "\"")); + } else if (importedInterop === "babel") { + if (isModuleForNode) { + name = name !== "default" ? name : importedSource; + var es6Default = "".concat(importedSource, "$es6Default"); + builder.import(); + + if (isNamespace) { + builder.default(es6Default).var(name || importedSource).wildcardInterop(); + } else if (isDefault) { + if (ensureLiveReference) { + builder.default(es6Default).var(name || importedSource).defaultInterop().read("default"); + } else { + builder.default(es6Default).var(name).defaultInterop().prop(importName); + } + } else if (isNamed) { + builder.default(es6Default).read(importName); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource).wildcardInterop(); + } else if ((isDefault || isNamed) && ensureLiveReference) { + if (isDefault) { + name = name !== "default" ? name : importedSource; + builder.var(name).read(importName); + builder.defaultInterop(); + } else { + builder.var(importedSource).read(importName); + } + } else if (isDefault) { + builder.var(name).defaultInterop().prop(importName); + } else if (isNamed) { + builder.var(name).prop(importName); + } + } + } else if (importedInterop === "compiled") { + if (isModuleForNode) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault || isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.namespace(name || importedSource); + } else if (isDefault || isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault || isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.prop(importName).var(name); + } + } + } + } else if (importedInterop === "uncompiled") { + if (isDefault && ensureLiveReference) { + throw new Error("No live reference for commonjs default"); + } + + if (isModuleForNode) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.default(importedSource).read(name); + } + } else if (isModuleForBabel) { + builder.import(); + + if (isNamespace) { + builder.default(name || importedSource); + } else if (isDefault) { + builder.default(name); + } else if (isNamed) { + builder.named(name, importName); + } + } else { + builder.require(); + + if (isNamespace) { + builder.var(name || importedSource); + } else if (isDefault) { + builder.var(name); + } else if (isNamed) { + if (ensureLiveReference) { + builder.var(importedSource).read(name); + } else { + builder.var(name).prop(importName); + } + } + } + } else { + throw new Error("Unknown importedInterop \"".concat(importedInterop, "\".")); + } + + var _builder$done = builder.done(), + statements = _builder$done.statements, + resultName = _builder$done.resultName; + + this._insertStatements(statements, blockHoist); + + if ((isDefault || isNamed) && ensureNoContext && resultName.type !== "Identifier") { + return t.sequenceExpression([t.numericLiteral(0), resultName]); + } + + return resultName; + } + }, { + key: "_insertStatements", + value: function _insertStatements(statements) { + var blockHoist = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 3; + statements.forEach(function (node) { + node._blockHoist = blockHoist; + }); + + var targetPath = this._programPath.get("body").find(function (p) { + var val = p.node._blockHoist; + return Number.isFinite(val) && val < 4; + }); + + if (targetPath) { + targetPath.insertBefore(statements); + } else { + this._programPath.unshiftContainer("body", statements); + } + } + }]); + + return ImportInjector; +}(); + +exports.default = ImportInjector; + +},{"./import-builder":70,"./is-module":73,"@babel/types":242,"assert":278}],72:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.addDefault = addDefault; +exports.addNamed = addNamed; +exports.addNamespace = addNamespace; +exports.addSideEffect = addSideEffect; +Object.defineProperty(exports, "ImportInjector", { + enumerable: true, + get: function get() { + return _importInjector.default; + } +}); +Object.defineProperty(exports, "isModule", { + enumerable: true, + get: function get() { + return _isModule.default; + } +}); + +var _importInjector = _interopRequireDefault(require("./import-injector")); + +var _isModule = _interopRequireDefault(require("./is-module")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function addDefault(path, importedSource, opts) { + return new _importInjector.default(path).addDefault(importedSource, opts); +} + +function addNamed(path, name, importedSource, opts) { + return new _importInjector.default(path).addNamed(name, importedSource, opts); +} + +function addNamespace(path, importedSource, opts) { + return new _importInjector.default(path).addNamespace(importedSource, opts); +} + +function addSideEffect(path, importedSource, opts) { + return new _importInjector.default(path).addSideEffect(importedSource, opts); +} + +},{"./import-injector":71,"./is-module":73}],73:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isModule; + +function isModule(path) { + var sourceType = path.node.sourceType; + + if (sourceType !== "module" && sourceType !== "script") { + throw path.buildCodeFrameError("Unknown sourceType \"".concat(sourceType, "\", cannot transform.")); + } + + return path.node.sourceType === "module"; +} + +},{}],74:[function(require,module,exports){ +"use strict"; + +function _templateObject11() { + var data = _taggedTemplateLiteral(["EXPORTS.NAME = VALUE"]); + + _templateObject11 = function _templateObject11() { + return data; + }; + + return data; +} + +function _templateObject10() { + var data = _taggedTemplateLiteral(["\n if (Object.prototype.hasOwnProperty.call(EXPORTS_LIST, key)) return;\n "]); + + _templateObject10 = function _templateObject10() { + return data; + }; + + return data; +} + +function _templateObject9() { + var data = _taggedTemplateLiteral(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n Object.defineProperty(EXPORTS, key, {\n enumerable: true,\n get: function() {\n return NAMESPACE[key];\n },\n });\n });\n "]); + + _templateObject9 = function _templateObject9() { + return data; + }; + + return data; +} + +function _templateObject8() { + var data = _taggedTemplateLiteral(["\n Object.keys(NAMESPACE).forEach(function(key) {\n if (key === \"default\" || key === \"__esModule\") return;\n VERIFY_NAME_LIST;\n\n EXPORTS[key] = NAMESPACE[key];\n });\n "]); + + _templateObject8 = function _templateObject8() { + return data; + }; + + return data; +} + +function _templateObject7() { + var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"__esModule\", {\n value: true,\n });\n "]); + + _templateObject7 = function _templateObject7() { + return data; + }; + + return data; +} + +function _templateObject6() { + var data = _taggedTemplateLiteral(["\n EXPORTS.__esModule = true;\n "]); + + _templateObject6 = function _templateObject6() { + return data; + }; + + return data; +} + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _templateObject5() { + var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"EXPORT_NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE.IMPORT_NAME;\n },\n });\n "]); + + _templateObject5 = function _templateObject5() { + return data; + }; + + return data; +} + +function _templateObject4() { + var data = _taggedTemplateLiteral(["EXPORTS.EXPORT_NAME = NAMESPACE.IMPORT_NAME;"]); + + _templateObject4 = function _templateObject4() { + return data; + }; + + return data; +} + +function _templateObject3() { + var data = _taggedTemplateLiteral(["EXPORTS.NAME = NAMESPACE;"]); + + _templateObject3 = function _templateObject3() { + return data; + }; + + return data; +} + +function _templateObject2() { + var data = _taggedTemplateLiteral(["\n Object.defineProperty(EXPORTS, \"NAME\", {\n enumerable: true,\n get: function() {\n return NAMESPACE;\n }\n });\n "]); + + _templateObject2 = function _templateObject2() { + return data; + }; + + return data; +} + +function _templateObject() { + var data = _taggedTemplateLiteral(["var NAME = SOURCE;"]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.rewriteModuleStatementsAndPrepareHeader = rewriteModuleStatementsAndPrepareHeader; +exports.ensureStatementsHoisted = ensureStatementsHoisted; +exports.wrapInterop = wrapInterop; +exports.buildNamespaceInitStatements = buildNamespaceInitStatements; +Object.defineProperty(exports, "isModule", { + enumerable: true, + get: function get() { + return _helperModuleImports.isModule; + } +}); +Object.defineProperty(exports, "hasExports", { + enumerable: true, + get: function get() { + return _normalizeAndLoadMetadata.hasExports; + } +}); +Object.defineProperty(exports, "isSideEffectImport", { + enumerable: true, + get: function get() { + return _normalizeAndLoadMetadata.isSideEffectImport; + } +}); + +var _assert = _interopRequireDefault(require("assert")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _template = _interopRequireDefault(require("@babel/template")); + +var _chunk = _interopRequireDefault(require("lodash/chunk")); + +var _helperModuleImports = require("@babel/helper-module-imports"); + +var _rewriteThis = _interopRequireDefault(require("./rewrite-this")); + +var _rewriteLiveReferences = _interopRequireDefault(require("./rewrite-live-references")); + +var _normalizeAndLoadMetadata = _interopRequireWildcard(require("./normalize-and-load-metadata")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function rewriteModuleStatementsAndPrepareHeader(path, _ref) { + var exportName = _ref.exportName, + strict = _ref.strict, + allowTopLevelThis = _ref.allowTopLevelThis, + strictMode = _ref.strictMode, + loose = _ref.loose, + noInterop = _ref.noInterop, + lazy = _ref.lazy, + esNamespaceOnly = _ref.esNamespaceOnly; + (0, _assert.default)((0, _helperModuleImports.isModule)(path), "Cannot process module statements in a script"); + path.node.sourceType = "script"; + var meta = (0, _normalizeAndLoadMetadata.default)(path, exportName, { + noInterop: noInterop, + loose: loose, + lazy: lazy, + esNamespaceOnly: esNamespaceOnly + }); + + if (!allowTopLevelThis) { + (0, _rewriteThis.default)(path); + } + + (0, _rewriteLiveReferences.default)(path, meta); + + if (strictMode !== false) { + var hasStrict = path.node.directives.some(function (directive) { + return directive.value.value === "use strict"; + }); + + if (!hasStrict) { + path.unshiftContainer("directives", t.directive(t.directiveLiteral("use strict"))); + } + } + + var headers = []; + + if ((0, _normalizeAndLoadMetadata.hasExports)(meta) && !strict) { + headers.push(buildESModuleHeader(meta, loose)); + } + + var nameList = buildExportNameListDeclaration(path, meta); + + if (nameList) { + meta.exportNameListName = nameList.name; + headers.push(nameList.statement); + } + + headers.push.apply(headers, _toConsumableArray(buildExportInitializationStatements(path, meta, loose))); + return { + meta: meta, + headers: headers + }; +} + +function ensureStatementsHoisted(statements) { + statements.forEach(function (header) { + header._blockHoist = 3; + }); +} + +function wrapInterop(programPath, expr, type) { + if (type === "none") { + return null; + } + + var helper; + + if (type === "default") { + helper = "interopRequireDefault"; + } else if (type === "namespace") { + helper = "interopRequireWildcard"; + } else { + throw new Error("Unknown interop: ".concat(type)); + } + + return t.callExpression(programPath.hub.addHelper(helper), [expr]); +} + +function buildNamespaceInitStatements(metadata, sourceMetadata) { + var loose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var statements = []; + var srcNamespace = t.identifier(sourceMetadata.name); + if (sourceMetadata.lazy) srcNamespace = t.callExpression(srcNamespace, []); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = sourceMetadata.importsNamespace[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var localName = _step.value; + if (localName === sourceMetadata.name) continue; + statements.push(_template.default.statement(_templateObject())({ + NAME: localName, + SOURCE: t.cloneNode(srcNamespace) + })); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (loose) { + statements.push.apply(statements, _toConsumableArray(buildReexportsFromMeta(metadata, sourceMetadata, loose))); + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = sourceMetadata.reexportNamespace[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var exportName = _step2.value; + statements.push((sourceMetadata.lazy ? _template.default.statement(_templateObject2()) : _template.default.statement(_templateObject3()))({ + EXPORTS: metadata.exportName, + NAME: exportName, + NAMESPACE: t.cloneNode(srcNamespace) + })); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + if (sourceMetadata.reexportAll) { + var statement = buildNamespaceReexport(metadata, t.cloneNode(srcNamespace), loose); + statement.loc = sourceMetadata.reexportAll.loc; + statements.push(statement); + } + + return statements; +} + +var getTemplateForReexport = function getTemplateForReexport(loose) { + return loose ? _template.default.statement(_templateObject4()) : _template.default(_templateObject5()); +}; + +var buildReexportsFromMeta = function buildReexportsFromMeta(meta, metadata, loose) { + var namespace = metadata.lazy ? t.callExpression(t.identifier(metadata.name), []) : t.identifier(metadata.name); + var templateForCurrentMode = getTemplateForReexport(loose); + return Array.from(metadata.reexports, function (_ref2) { + var _ref3 = _slicedToArray(_ref2, 2), + exportName = _ref3[0], + importName = _ref3[1]; + + return templateForCurrentMode({ + EXPORTS: meta.exportName, + EXPORT_NAME: exportName, + NAMESPACE: t.cloneNode(namespace), + IMPORT_NAME: importName + }); + }); +}; + +function buildESModuleHeader(metadata) { + var enumerable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + return (enumerable ? _template.default.statement(_templateObject6()) : _template.default.statement(_templateObject7()))({ + EXPORTS: metadata.exportName + }); +} + +function buildNamespaceReexport(metadata, namespace, loose) { + return (loose ? _template.default.statement(_templateObject8()) : _template.default.statement(_templateObject9()))({ + NAMESPACE: namespace, + EXPORTS: metadata.exportName, + VERIFY_NAME_LIST: metadata.exportNameListName ? _template.default(_templateObject10())({ + EXPORTS_LIST: metadata.exportNameListName + }) : null + }); +} + +function buildExportNameListDeclaration(programPath, metadata) { + var exportedVars = Object.create(null); + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = metadata.local.values()[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var data = _step3.value; + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = data.names[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var _name = _step5.value; + exportedVars[_name] = true; + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + var hasReexport = false; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = metadata.source.values()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var _data = _step4.value; + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = _data.reexports.keys()[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var exportName = _step6.value; + exportedVars[exportName] = true; + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + + var _iteratorNormalCompletion7 = true; + var _didIteratorError7 = false; + var _iteratorError7 = undefined; + + try { + for (var _iterator7 = _data.reexportNamespace[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + var _exportName = _step7.value; + exportedVars[_exportName] = true; + } + } catch (err) { + _didIteratorError7 = true; + _iteratorError7 = err; + } finally { + try { + if (!_iteratorNormalCompletion7 && _iterator7.return != null) { + _iterator7.return(); + } + } finally { + if (_didIteratorError7) { + throw _iteratorError7; + } + } + } + + hasReexport = hasReexport || _data.reexportAll; + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + if (!hasReexport || Object.keys(exportedVars).length === 0) return null; + var name = programPath.scope.generateUidIdentifier("exportNames"); + delete exportedVars.default; + return { + name: name.name, + statement: t.variableDeclaration("var", [t.variableDeclarator(name, t.valueToNode(exportedVars))]) + }; +} + +function buildExportInitializationStatements(programPath, metadata) { + var loose = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var initStatements = []; + var exportNames = []; + var _iteratorNormalCompletion8 = true; + var _didIteratorError8 = false; + var _iteratorError8 = undefined; + + try { + for (var _iterator8 = metadata.local[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { + var _step8$value = _slicedToArray(_step8.value, 2), + localName = _step8$value[0], + data = _step8$value[1]; + + if (data.kind === "import") {} else if (data.kind === "hoisted") { + initStatements.push(buildInitStatement(metadata, data.names, t.identifier(localName))); + } else { + exportNames.push.apply(exportNames, _toConsumableArray(data.names)); + } + } + } catch (err) { + _didIteratorError8 = true; + _iteratorError8 = err; + } finally { + try { + if (!_iteratorNormalCompletion8 && _iterator8.return != null) { + _iterator8.return(); + } + } finally { + if (_didIteratorError8) { + throw _iteratorError8; + } + } + } + + var _iteratorNormalCompletion9 = true; + var _didIteratorError9 = false; + var _iteratorError9 = undefined; + + try { + for (var _iterator9 = metadata.source.values()[Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { + var _data2 = _step9.value; + + if (!loose) { + initStatements.push.apply(initStatements, _toConsumableArray(buildReexportsFromMeta(metadata, _data2, loose))); + } + + var _iteratorNormalCompletion10 = true; + var _didIteratorError10 = false; + var _iteratorError10 = undefined; + + try { + for (var _iterator10 = _data2.reexportNamespace[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { + var exportName = _step10.value; + exportNames.push(exportName); + } + } catch (err) { + _didIteratorError10 = true; + _iteratorError10 = err; + } finally { + try { + if (!_iteratorNormalCompletion10 && _iterator10.return != null) { + _iterator10.return(); + } + } finally { + if (_didIteratorError10) { + throw _iteratorError10; + } + } + } + } + } catch (err) { + _didIteratorError9 = true; + _iteratorError9 = err; + } finally { + try { + if (!_iteratorNormalCompletion9 && _iterator9.return != null) { + _iterator9.return(); + } + } finally { + if (_didIteratorError9) { + throw _iteratorError9; + } + } + } + + initStatements.push.apply(initStatements, _toConsumableArray((0, _chunk.default)(exportNames, 100).map(function (members) { + return buildInitStatement(metadata, members, programPath.scope.buildUndefinedNode()); + }))); + return initStatements; +} + +function buildInitStatement(metadata, exportNames, initExpr) { + return t.expressionStatement(exportNames.reduce(function (acc, exportName) { + return _template.default.expression(_templateObject11())({ + EXPORTS: metadata.exportName, + NAME: exportName, + VALUE: acc + }); + }, initExpr)); +} + +},{"./normalize-and-load-metadata":75,"./rewrite-live-references":76,"./rewrite-this":77,"@babel/helper-module-imports":72,"@babel/template":167,"@babel/types":242,"assert":278,"lodash/chunk":1003}],75:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.hasExports = hasExports; +exports.isSideEffectImport = isSideEffectImport; +exports.default = normalizeModuleAndLoadMetadata; + +var _path = require("path"); + +var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function hasExports(metadata) { + return metadata.hasExports; +} + +function isSideEffectImport(source) { + return source.imports.size === 0 && source.importsNamespace.size === 0 && source.reexports.size === 0 && source.reexportNamespace.size === 0 && !source.reexportAll; +} + +function normalizeModuleAndLoadMetadata(programPath, exportName) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + _ref$noInterop = _ref.noInterop, + noInterop = _ref$noInterop === void 0 ? false : _ref$noInterop, + _ref$loose = _ref.loose, + loose = _ref$loose === void 0 ? false : _ref$loose, + _ref$lazy = _ref.lazy, + lazy = _ref$lazy === void 0 ? false : _ref$lazy, + _ref$esNamespaceOnly = _ref.esNamespaceOnly, + esNamespaceOnly = _ref$esNamespaceOnly === void 0 ? false : _ref$esNamespaceOnly; + + if (!exportName) { + exportName = programPath.scope.generateUidIdentifier("exports").name; + } + + nameAnonymousExports(programPath); + + var _getModuleMetadata = getModuleMetadata(programPath, { + loose: loose, + lazy: lazy + }), + local = _getModuleMetadata.local, + source = _getModuleMetadata.source, + hasExports = _getModuleMetadata.hasExports; + + removeModuleDeclarations(programPath); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + metadata = _step$value[1]; + + if (metadata.importsNamespace.size > 0) { + metadata.name = metadata.importsNamespace.values().next().value; + } + + if (noInterop) metadata.interop = "none";else if (esNamespaceOnly) { + if (metadata.interop === "namespace") { + metadata.interop = "default"; + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return { + exportName: exportName, + exportNameListName: null, + hasExports: hasExports, + local: local, + source: source + }; +} + +function getModuleMetadata(programPath, _ref2) { + var loose = _ref2.loose, + lazy = _ref2.lazy; + var localData = getLocalExportMetadata(programPath, loose); + var sourceData = new Map(); + + var getData = function getData(sourceNode) { + var source = sourceNode.value; + var data = sourceData.get(source); + + if (!data) { + data = { + name: programPath.scope.generateUidIdentifier((0, _path.basename)(source, (0, _path.extname)(source))).name, + interop: "none", + loc: null, + imports: new Map(), + importsNamespace: new Set(), + reexports: new Map(), + reexportNamespace: new Set(), + reexportAll: null, + lazy: false + }; + sourceData.set(source, data); + } + + return data; + }; + + var hasExports = false; + programPath.get("body").forEach(function (child) { + if (child.isImportDeclaration()) { + var data = getData(child.node.source); + if (!data.loc) data.loc = child.node.loc; + child.get("specifiers").forEach(function (spec) { + if (spec.isImportDefaultSpecifier()) { + var localName = spec.get("local").node.name; + data.imports.set(localName, "default"); + var reexport = localData.get(localName); + + if (reexport) { + localData.delete(localName); + reexport.names.forEach(function (name) { + data.reexports.set(name, "default"); + }); + } + } else if (spec.isImportNamespaceSpecifier()) { + var _localName = spec.get("local").node.name; + data.importsNamespace.add(_localName); + + var _reexport = localData.get(_localName); + + if (_reexport) { + localData.delete(_localName); + + _reexport.names.forEach(function (name) { + data.reexportNamespace.add(name); + }); + } + } else if (spec.isImportSpecifier()) { + var importName = spec.get("imported").node.name; + var _localName2 = spec.get("local").node.name; + data.imports.set(_localName2, importName); + + var _reexport2 = localData.get(_localName2); + + if (_reexport2) { + localData.delete(_localName2); + + _reexport2.names.forEach(function (name) { + data.reexports.set(name, importName); + }); + } + } + }); + } else if (child.isExportAllDeclaration()) { + hasExports = true; + + var _data = getData(child.node.source); + + if (!_data.loc) _data.loc = child.node.loc; + _data.reexportAll = { + loc: child.node.loc + }; + } else if (child.isExportNamedDeclaration() && child.node.source) { + hasExports = true; + + var _data2 = getData(child.node.source); + + if (!_data2.loc) _data2.loc = child.node.loc; + child.get("specifiers").forEach(function (spec) { + if (!spec.isExportSpecifier()) { + throw spec.buildCodeFrameError("Unexpected export specifier type"); + } + + var importName = spec.get("local").node.name; + var exportName = spec.get("exported").node.name; + + _data2.reexports.set(exportName, importName); + + if (exportName === "__esModule") { + throw exportName.buildCodeFrameError('Illegal export "__esModule".'); + } + }); + } else if (child.isExportNamedDeclaration() || child.isExportDefaultDeclaration()) { + hasExports = true; + } + }); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = sourceData.values()[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var metadata = _step2.value; + var needsDefault = false; + var needsNamed = false; + + if (metadata.importsNamespace.size > 0) { + needsDefault = true; + needsNamed = true; + } + + if (metadata.reexportAll) { + needsNamed = true; + } + + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = metadata.imports.values()[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var importName = _step4.value; + if (importName === "default") needsDefault = true;else needsNamed = true; + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = metadata.reexports.values()[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var _importName = _step5.value; + if (_importName === "default") needsDefault = true;else needsNamed = true; + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + + if (needsDefault && needsNamed) { + metadata.interop = "namespace"; + } else if (needsDefault) { + metadata.interop = "default"; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = sourceData[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _step3$value = _slicedToArray(_step3.value, 2), + source = _step3$value[0], + _metadata = _step3$value[1]; + + if (lazy !== false && !(isSideEffectImport(_metadata) || _metadata.reexportAll)) { + if (lazy === true) { + _metadata.lazy = !/\./.test(source); + } else if (Array.isArray(lazy)) { + _metadata.lazy = lazy.indexOf(source) !== -1; + } else if (typeof lazy === "function") { + _metadata.lazy = lazy(source); + } else { + throw new Error(".lazy must be a boolean, string array, or function"); + } + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + return { + hasExports: hasExports, + local: localData, + source: sourceData + }; +} + +function getLocalExportMetadata(programPath, loose) { + var bindingKindLookup = new Map(); + programPath.get("body").forEach(function (child) { + var kind; + + if (child.isImportDeclaration()) { + kind = "import"; + } else { + if (child.isExportDefaultDeclaration()) child = child.get("declaration"); + + if (child.isExportNamedDeclaration()) { + if (child.node.declaration) { + child = child.get("declaration"); + } else if (loose && child.node.source && child.get("source").isStringLiteral()) { + child.node.specifiers.forEach(function (specifier) { + bindingKindLookup.set(specifier.local.name, "block"); + }); + return; + } + } + + if (child.isFunctionDeclaration()) { + kind = "hoisted"; + } else if (child.isClassDeclaration()) { + kind = "block"; + } else if (child.isVariableDeclaration({ + kind: "var" + })) { + kind = "var"; + } else if (child.isVariableDeclaration()) { + kind = "block"; + } else { + return; + } + } + + Object.keys(child.getOuterBindingIdentifiers()).forEach(function (name) { + bindingKindLookup.set(name, kind); + }); + }); + var localMetadata = new Map(); + + var getLocalMetadata = function getLocalMetadata(idPath) { + var localName = idPath.node.name; + var metadata = localMetadata.get(localName); + + if (!metadata) { + var kind = bindingKindLookup.get(localName); + + if (kind === undefined) { + throw idPath.buildCodeFrameError("Exporting local \"".concat(localName, "\", which is not declared.")); + } + + metadata = { + names: [], + kind: kind + }; + localMetadata.set(localName, metadata); + } + + return metadata; + }; + + programPath.get("body").forEach(function (child) { + if (child.isExportNamedDeclaration() && (loose || !child.node.source)) { + if (child.node.declaration) { + var declaration = child.get("declaration"); + var ids = declaration.getOuterBindingIdentifierPaths(); + Object.keys(ids).forEach(function (name) { + if (name === "__esModule") { + throw declaration.buildCodeFrameError('Illegal export "__esModule".'); + } + + getLocalMetadata(ids[name]).names.push(name); + }); + } else { + child.get("specifiers").forEach(function (spec) { + var local = spec.get("local"); + var exported = spec.get("exported"); + + if (exported.node.name === "__esModule") { + throw exported.buildCodeFrameError('Illegal export "__esModule".'); + } + + getLocalMetadata(local).names.push(exported.node.name); + }); + } + } else if (child.isExportDefaultDeclaration()) { + var _declaration = child.get("declaration"); + + if (_declaration.isFunctionDeclaration() || _declaration.isClassDeclaration()) { + getLocalMetadata(_declaration.get("id")).names.push("default"); + } else { + throw _declaration.buildCodeFrameError("Unexpected default expression export."); + } + } + }); + return localMetadata; +} + +function nameAnonymousExports(programPath) { + programPath.get("body").forEach(function (child) { + if (!child.isExportDefaultDeclaration()) return; + (0, _helperSplitExportDeclaration.default)(child); + }); +} + +function removeModuleDeclarations(programPath) { + programPath.get("body").forEach(function (child) { + if (child.isImportDeclaration()) { + child.remove(); + } else if (child.isExportNamedDeclaration()) { + if (child.node.declaration) { + child.node.declaration._blockHoist = child.node._blockHoist; + child.replaceWith(child.node.declaration); + } else { + child.remove(); + } + } else if (child.isExportDefaultDeclaration()) { + var declaration = child.get("declaration"); + + if (declaration.isFunctionDeclaration() || declaration.isClassDeclaration()) { + declaration._blockHoist = child.node._blockHoist; + child.replaceWith(declaration); + } else { + throw declaration.buildCodeFrameError("Unexpected default expression export."); + } + } else if (child.isExportAllDeclaration()) { + child.remove(); + } + }); +} + +},{"@babel/helper-split-export-declaration":84,"path":1052}],76:[function(require,module,exports){ +"use strict"; + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n (function() {\n throw new Error('\"' + '", "' + '\" is read-only.');\n })()\n "]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rewriteLiveReferences; + +var _assert = _interopRequireDefault(require("assert")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _template = _interopRequireDefault(require("@babel/template")); + +var _helperSimpleAccess = _interopRequireDefault(require("@babel/helper-simple-access")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function rewriteLiveReferences(programPath, metadata) { + var imported = new Map(); + var exported = new Map(); + + var requeueInParent = function requeueInParent(path) { + programPath.requeue(path); + }; + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = metadata.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + source = _step$value[0], + data = _step$value[1]; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = data.imports[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _step3$value = _slicedToArray(_step3.value, 2), + localName = _step3$value[0], + importName = _step3$value[1]; + + imported.set(localName, [source, importName, null]); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = data.importsNamespace[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var _localName = _step4.value; + imported.set(_localName, [source, null, _localName]); + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = metadata.local[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _exportMeta; + + var _step2$value = _slicedToArray(_step2.value, 2), + local = _step2$value[0], + _data = _step2$value[1]; + + var exportMeta = exported.get(local); + + if (!exportMeta) { + exportMeta = []; + exported.set(local, exportMeta); + } + + (_exportMeta = exportMeta).push.apply(_exportMeta, _toConsumableArray(_data.names)); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + programPath.traverse(rewriteBindingInitVisitor, { + metadata: metadata, + requeueInParent: requeueInParent, + scope: programPath.scope, + exported: exported + }); + (0, _helperSimpleAccess.default)(programPath, new Set([].concat(_toConsumableArray(Array.from(imported.keys())), _toConsumableArray(Array.from(exported.keys()))))); + programPath.traverse(rewriteReferencesVisitor, { + seen: new WeakSet(), + metadata: metadata, + requeueInParent: requeueInParent, + scope: programPath.scope, + imported: imported, + exported: exported, + buildImportReference: function buildImportReference(_ref, identNode) { + var _ref2 = _slicedToArray(_ref, 3), + source = _ref2[0], + importName = _ref2[1], + localName = _ref2[2]; + + var meta = metadata.source.get(source); + + if (localName) { + if (meta.lazy) identNode = t.callExpression(identNode, []); + return identNode; + } + + var namespace = t.identifier(meta.name); + if (meta.lazy) namespace = t.callExpression(namespace, []); + return t.memberExpression(namespace, t.identifier(importName)); + } + }); +} + +var rewriteBindingInitVisitor = { + ClassProperty: function ClassProperty(path) { + path.skip(); + }, + Function: function Function(path) { + path.skip(); + }, + ClassDeclaration: function ClassDeclaration(path) { + var requeueInParent = this.requeueInParent, + exported = this.exported, + metadata = this.metadata; + var id = path.node.id; + if (!id) throw new Error("Expected class to have a name"); + var localName = id.name; + var exportNames = exported.get(localName) || []; + + if (exportNames.length > 0) { + var statement = t.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t.identifier(localName))); + statement._blockHoist = path.node._blockHoist; + requeueInParent(path.insertAfter(statement)[0]); + } + }, + VariableDeclaration: function VariableDeclaration(path) { + var requeueInParent = this.requeueInParent, + exported = this.exported, + metadata = this.metadata; + Object.keys(path.getOuterBindingIdentifiers()).forEach(function (localName) { + var exportNames = exported.get(localName) || []; + + if (exportNames.length > 0) { + var statement = t.expressionStatement(buildBindingExportAssignmentExpression(metadata, exportNames, t.identifier(localName))); + statement._blockHoist = path.node._blockHoist; + requeueInParent(path.insertAfter(statement)[0]); + } + }); + } +}; + +var buildBindingExportAssignmentExpression = function buildBindingExportAssignmentExpression(metadata, exportNames, localExpr) { + return (exportNames || []).reduce(function (expr, exportName) { + return t.assignmentExpression("=", t.memberExpression(t.identifier(metadata.exportName), t.identifier(exportName)), expr); + }, localExpr); +}; + +var buildImportThrow = function buildImportThrow(localName) { + return _template.default.expression.ast(_templateObject(), localName); +}; + +var rewriteReferencesVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path) { + var seen = this.seen, + buildImportReference = this.buildImportReference, + scope = this.scope, + imported = this.imported, + requeueInParent = this.requeueInParent; + if (seen.has(path.node)) return; + seen.add(path.node); + var localName = path.node.name; + var localBinding = path.scope.getBinding(localName); + var rootBinding = scope.getBinding(localName); + if (rootBinding !== localBinding) return; + var importData = imported.get(localName); + + if (importData) { + var ref = buildImportReference(importData, path.node); + ref.loc = path.node.loc; + + if (path.parentPath.isCallExpression({ + callee: path.node + }) && t.isMemberExpression(ref)) { + path.replaceWith(t.sequenceExpression([t.numericLiteral(0), ref])); + } else if (path.isJSXIdentifier() && t.isMemberExpression(ref)) { + var object = ref.object, + property = ref.property; + path.replaceWith(t.JSXMemberExpression(t.JSXIdentifier(object.name), t.JSXIdentifier(property.name))); + } else { + path.replaceWith(ref); + } + + requeueInParent(path); + path.skip(); + } + }, + AssignmentExpression: { + exit: function exit(path) { + var _this = this; + + var scope = this.scope, + seen = this.seen, + imported = this.imported, + exported = this.exported, + requeueInParent = this.requeueInParent, + buildImportReference = this.buildImportReference; + if (seen.has(path.node)) return; + seen.add(path.node); + var left = path.get("left"); + if (left.isMemberExpression()) return; + + if (left.isIdentifier()) { + var localName = left.node.name; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + var exportedNames = exported.get(localName); + var importData = imported.get(localName); + + if ((exportedNames === null || exportedNames === void 0 ? void 0 : exportedNames.length) > 0 || importData) { + (0, _assert.default)(path.node.operator === "=", "Path was not simplified"); + var assignment = path.node; + + if (importData) { + assignment.left = buildImportReference(importData, assignment.left); + assignment.right = t.sequenceExpression([assignment.right, buildImportThrow(localName)]); + } + + path.replaceWith(buildBindingExportAssignmentExpression(this.metadata, exportedNames, assignment)); + requeueInParent(path); + } + } else { + var ids = left.getOuterBindingIdentifiers(); + var programScopeIds = Object.keys(ids).filter(function (localName) { + return scope.getBinding(localName) === path.scope.getBinding(localName); + }); + var id = programScopeIds.find(function (localName) { + return imported.has(localName); + }); + + if (id) { + path.node.right = t.sequenceExpression([path.node.right, buildImportThrow(id)]); + } + + var items = []; + programScopeIds.forEach(function (localName) { + var exportedNames = exported.get(localName) || []; + + if (exportedNames.length > 0) { + items.push(buildBindingExportAssignmentExpression(_this.metadata, exportedNames, t.identifier(localName))); + } + }); + + if (items.length > 0) { + var node = t.sequenceExpression(items); + + if (path.parentPath.isExpressionStatement()) { + node = t.expressionStatement(node); + node._blockHoist = path.parentPath.node._blockHoist; + } + + var statement = path.insertAfter(node)[0]; + requeueInParent(statement); + } + } + } + } +}; + +},{"@babel/helper-simple-access":83,"@babel/template":167,"@babel/types":242,"assert":278}],77:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = rewriteThis; + +function rewriteThis(programPath) { + programPath.traverse(rewriteThisVisitor); +} + +var rewriteThisVisitor = { + ThisExpression: function ThisExpression(path) { + path.replaceWith(path.scope.buildUndefinedNode()); + }, + Function: function Function(path) { + if (!path.isArrowFunctionExpression()) path.skip(); + }, + ClassProperty: function ClassProperty(path) { + path.skip(); + }, + ClassPrivateProperty: function ClassPrivateProperty(path) { + path.skip(); + } +}; + +},{}],78:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _default(callee, thisNode, args) { + if (args.length === 1 && t.isSpreadElement(args[0]) && t.isIdentifier(args[0].argument, { + name: "arguments" + })) { + return t.callExpression(t.memberExpression(callee, t.identifier("apply")), [thisNode, args[0].argument]); + } else { + return t.callExpression(t.memberExpression(callee, t.identifier("call")), [thisNode].concat(_toConsumableArray(args))); + } +} + +},{"@babel/types":242}],79:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.declare = declare; + +function declare(builder) { + return function (api, options, dirname) { + if (!api.assertVersion) { + api = Object.assign(copyApiObject(api), { + assertVersion: function assertVersion(range) { + throwVersionError(range, api.version); + } + }); + } + + return builder(api, options || {}, dirname); + }; +} + +function copyApiObject(api) { + var proto = null; + + if (typeof api.version === "string" && /^7\./.test(api.version)) { + proto = Object.getPrototypeOf(api); + + if (proto && (!has(proto, "version") || !has(proto, "transform") || !has(proto, "template") || !has(proto, "types"))) { + proto = null; + } + } + + return Object.assign({}, proto, api); +} + +function has(obj, key) { + return Object.prototype.hasOwnProperty.call(obj, key); +} + +function throwVersionError(range, version) { + if (typeof range === "number") { + if (!Number.isInteger(range)) { + throw new Error("Expected string or integer value."); + } + + range = "^".concat(range, ".0.0-0"); + } + + if (typeof range !== "string") { + throw new Error("Expected string or integer value."); + } + + var limit = Error.stackTraceLimit; + + if (typeof limit === "number" && limit < 25) { + Error.stackTraceLimit = 25; + } + + var err; + + if (version.slice(0, 2) === "7.") { + err = new Error("Requires Babel \"^7.0.0-beta.41\", but was loaded with \"".concat(version, "\". ") + "You'll need to update your @babel/core version."); + } else { + err = new Error("Requires Babel \"".concat(range, "\", but was loaded with \"").concat(version, "\". ") + "If you are sure you have a compatible version of @babel/core, " + "it is likely that something in your build process is loading the " + "wrong version. Inspect the stack trace of this error to look for " + "the first entry that doesn't mention \"@babel/core\" or \"babel-core\" " + "to see what is calling Babel."); + } + + if (typeof limit === "number") { + Error.stackTraceLimit = limit; + } + + throw Object.assign(err, { + code: "BABEL_VERSION_UNSUPPORTED", + version: version, + range: range + }); +} + +},{}],80:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.is = is; +exports.pullFlag = pullFlag; + +function _pull() { + var data = _interopRequireDefault(require("lodash/pull")); + + _pull = function _pull() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function is(node, flag) { + return node.type === "RegExpLiteral" && node.flags.indexOf(flag) >= 0; +} + +function pullFlag(node, flag) { + var flags = node.flags.split(""); + if (node.flags.indexOf(flag) < 0) return; + (0, _pull().default)(flags, flag); + node.flags = flags.join(""); +} + +},{"lodash/pull":1037}],81:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperWrapFunction = _interopRequireDefault(require("@babel/helper-wrap-function")); + +var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var awaitVisitor = { + Function: function Function(path) { + path.skip(); + }, + AwaitExpression: function AwaitExpression(path, _ref) { + var wrapAwait = _ref.wrapAwait; + var argument = path.get("argument"); + + if (path.parentPath.isYieldExpression()) { + path.replaceWith(argument.node); + return; + } + + path.replaceWith(t.yieldExpression(wrapAwait ? t.callExpression(t.cloneNode(wrapAwait), [argument.node]) : argument.node)); + } +}; + +function _default(path, helpers) { + path.traverse(awaitVisitor, { + wrapAwait: helpers.wrapAwait + }); + var isIIFE = checkIsIIFE(path); + path.node.async = false; + path.node.generator = true; + (0, _helperWrapFunction.default)(path, t.cloneNode(helpers.wrapAsync)); + var isProperty = path.isObjectMethod() || path.isClassMethod() || path.parentPath.isObjectProperty() || path.parentPath.isClassProperty(); + + if (!isProperty && !isIIFE && path.isExpression()) { + (0, _helperAnnotateAsPure.default)(path); + } + + function checkIsIIFE(path) { + if (path.parentPath.isCallExpression({ + callee: path.node + })) { + return true; + } + + var parentPath = path.parentPath; + + if (parentPath.isMemberExpression() && t.isIdentifier(parentPath.node.property, { + name: "bind" + })) { + var bindCall = parentPath.parentPath; + return bindCall.isCallExpression() && bindCall.node.arguments.length === 1 && t.isThisExpression(bindCall.node.arguments[0]) && bindCall.parentPath.isCallExpression({ + callee: bindCall.node + }); + } + + return false; + } +} + +},{"@babel/helper-annotate-as-pure":57,"@babel/helper-wrap-function":85,"@babel/types":242}],82:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.environmentVisitor = void 0; + +var _traverse = _interopRequireDefault(require("@babel/traverse")); + +var _helperMemberExpressionToFunctions = _interopRequireDefault(require("@babel/helper-member-expression-to-functions")); + +var _helperOptimiseCallExpression = _interopRequireDefault(require("@babel/helper-optimise-call-expression")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function getPrototypeOfExpression(objectRef, isStatic, file, isPrivateMethod) { + objectRef = t.cloneNode(objectRef); + var targetRef = isStatic || isPrivateMethod ? objectRef : t.memberExpression(objectRef, t.identifier("prototype")); + return t.callExpression(file.addHelper("getPrototypeOf"), [targetRef]); +} + +function skipAllButComputedKey(path) { + if (!path.node.computed) { + path.skip(); + return; + } + + var keys = t.VISITOR_KEYS[path.type]; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + if (key !== "key") path.skipKey(key); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +} + +var environmentVisitor = { + TypeAnnotation: function TypeAnnotation(path) { + path.skip(); + }, + Function: function Function(path) { + if (path.isMethod()) return; + if (path.isArrowFunctionExpression()) return; + path.skip(); + }, + "Method|ClassProperty|ClassPrivateProperty": function MethodClassPropertyClassPrivateProperty(path) { + skipAllButComputedKey(path); + } +}; +exports.environmentVisitor = environmentVisitor; + +var visitor = _traverse.default.visitors.merge([environmentVisitor, { + Super: function Super(path, state) { + var node = path.node, + parentPath = path.parentPath; + if (!parentPath.isMemberExpression({ + object: node + })) return; + state.handle(parentPath); + } +}]); + +var specHandlers = { + memoise: function memoise(superMember, count) { + var scope = superMember.scope, + node = superMember.node; + var computed = node.computed, + property = node.property; + + if (!computed) { + return; + } + + var memo = scope.maybeGenerateMemoised(property); + + if (!memo) { + return; + } + + this.memoiser.set(property, memo, count); + }, + prop: function prop(superMember) { + var _superMember$node = superMember.node, + computed = _superMember$node.computed, + property = _superMember$node.property; + + if (this.memoiser.has(property)) { + return t.cloneNode(this.memoiser.get(property)); + } + + if (computed) { + return t.cloneNode(property); + } + + return t.stringLiteral(property.name); + }, + get: function get(superMember) { + return t.callExpression(this.file.addHelper("get"), [getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod), this.prop(superMember), t.thisExpression()]); + }, + set: function set(superMember, value) { + return t.callExpression(this.file.addHelper("set"), [getPrototypeOfExpression(this.getObjectRef(), this.isStatic, this.file, this.isPrivateMethod), this.prop(superMember), value, t.thisExpression(), t.booleanLiteral(superMember.isInStrictMode())]); + }, + destructureSet: function destructureSet(superMember) { + throw superMember.buildCodeFrameError("Destructuring to a super field is not supported yet."); + }, + call: function call(superMember, args) { + return (0, _helperOptimiseCallExpression.default)(this.get(superMember), t.thisExpression(), args); + } +}; +var looseHandlers = Object.assign({}, specHandlers, { + prop: function prop(superMember) { + var property = superMember.node.property; + + if (this.memoiser.has(property)) { + return t.cloneNode(this.memoiser.get(property)); + } + + return t.cloneNode(property); + }, + get: function get(superMember) { + var isStatic = this.isStatic, + superRef = this.superRef; + var computed = superMember.node.computed; + var prop = this.prop(superMember); + var object; + + if (isStatic) { + object = superRef ? t.cloneNode(superRef) : t.memberExpression(t.identifier("Function"), t.identifier("prototype")); + } else { + object = superRef ? t.memberExpression(t.cloneNode(superRef), t.identifier("prototype")) : t.memberExpression(t.identifier("Object"), t.identifier("prototype")); + } + + return t.memberExpression(object, prop, computed); + }, + set: function set(superMember, value) { + var computed = superMember.node.computed; + var prop = this.prop(superMember); + return t.assignmentExpression("=", t.memberExpression(t.thisExpression(), prop, computed), value); + }, + destructureSet: function destructureSet(superMember) { + var computed = superMember.node.computed; + var prop = this.prop(superMember); + return t.memberExpression(t.thisExpression(), prop, computed); + } +}); + +var ReplaceSupers = +/*#__PURE__*/ +function () { + function ReplaceSupers(opts) { + _classCallCheck(this, ReplaceSupers); + + var path = opts.methodPath; + this.methodPath = path; + this.isStatic = path.isObjectMethod() || path.node.static; + this.isPrivateMethod = path.isPrivate() && path.isMethod(); + this.file = opts.file; + this.superRef = opts.superRef; + this.isLoose = opts.isLoose; + this.opts = opts; + } + + _createClass(ReplaceSupers, [{ + key: "getObjectRef", + value: function getObjectRef() { + return t.cloneNode(this.opts.objectRef || this.opts.getObjectRef()); + } + }, { + key: "replace", + value: function replace() { + var handler = this.isLoose ? looseHandlers : specHandlers; + (0, _helperMemberExpressionToFunctions.default)(this.methodPath, visitor, Object.assign({ + file: this.file, + isStatic: this.isStatic, + isPrivateMethod: this.isPrivateMethod, + getObjectRef: this.getObjectRef.bind(this), + superRef: this.superRef + }, handler)); + } + }]); + + return ReplaceSupers; +}(); + +exports.default = ReplaceSupers; + +},{"@babel/helper-member-expression-to-functions":69,"@babel/helper-optimise-call-expression":78,"@babel/traverse":176,"@babel/types":242}],83:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = simplifyAccess; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function simplifyAccess(path, bindingNames) { + path.traverse(simpleAssignmentVisitor, { + scope: path.scope, + bindingNames: bindingNames, + seen: new WeakSet() + }); +} + +var simpleAssignmentVisitor = { + UpdateExpression: { + exit: function exit(path) { + var scope = this.scope, + bindingNames = this.bindingNames; + var arg = path.get("argument"); + if (!arg.isIdentifier()) return; + var localName = arg.node.name; + if (!bindingNames.has(localName)) return; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + if (path.parentPath.isExpressionStatement() && !path.isCompletionRecord()) { + var operator = path.node.operator == "++" ? "+=" : "-="; + path.replaceWith(t.assignmentExpression(operator, arg.node, t.numericLiteral(1))); + } else if (path.node.prefix) { + path.replaceWith(t.assignmentExpression("=", t.identifier(localName), t.binaryExpression(path.node.operator[0], t.unaryExpression("+", arg.node), t.numericLiteral(1)))); + } else { + var old = path.scope.generateUidIdentifierBasedOnNode(arg.node, "old"); + var varName = old.name; + path.scope.push({ + id: old + }); + var binary = t.binaryExpression(path.node.operator[0], t.identifier(varName), t.numericLiteral(1)); + path.replaceWith(t.sequenceExpression([t.assignmentExpression("=", t.identifier(varName), t.unaryExpression("+", arg.node)), t.assignmentExpression("=", t.cloneNode(arg.node), binary), t.identifier(varName)])); + } + } + }, + AssignmentExpression: { + exit: function exit(path) { + var scope = this.scope, + seen = this.seen, + bindingNames = this.bindingNames; + if (path.node.operator === "=") return; + if (seen.has(path.node)) return; + seen.add(path.node); + var left = path.get("left"); + if (!left.isIdentifier()) return; + var localName = left.node.name; + if (!bindingNames.has(localName)) return; + + if (scope.getBinding(localName) !== path.scope.getBinding(localName)) { + return; + } + + path.node.right = t.binaryExpression(path.node.operator.slice(0, -1), t.cloneNode(path.node.left), path.node.right); + path.node.operator = "="; + } + } +}; + +},{"@babel/types":242}],84:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = splitExportDeclaration; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function splitExportDeclaration(exportDeclaration) { + if (!exportDeclaration.isExportDeclaration()) { + throw new Error("Only export declarations can be splitted."); + } + + var isDefault = exportDeclaration.isExportDefaultDeclaration(); + var declaration = exportDeclaration.get("declaration"); + var isClassDeclaration = declaration.isClassDeclaration(); + + if (isDefault) { + var standaloneDeclaration = declaration.isFunctionDeclaration() || isClassDeclaration; + var scope = declaration.isScope() ? declaration.scope.parent : declaration.scope; + var id = declaration.node.id; + var needBindingRegistration = false; + + if (!id) { + needBindingRegistration = true; + id = scope.generateUidIdentifier("default"); + + if (standaloneDeclaration || declaration.isFunctionExpression() || declaration.isClassExpression()) { + declaration.node.id = t.cloneNode(id); + } + } + + var updatedDeclaration = standaloneDeclaration ? declaration : t.variableDeclaration("var", [t.variableDeclarator(t.cloneNode(id), declaration.node)]); + var updatedExportDeclaration = t.exportNamedDeclaration(null, [t.exportSpecifier(t.cloneNode(id), t.identifier("default"))]); + exportDeclaration.insertAfter(updatedExportDeclaration); + exportDeclaration.replaceWith(updatedDeclaration); + + if (needBindingRegistration) { + scope.registerDeclaration(exportDeclaration); + } + + return exportDeclaration; + } + + if (exportDeclaration.get("specifiers").length > 0) { + throw new Error("It doesn't make sense to split exported specifiers."); + } + + var bindingIdentifiers = declaration.getOuterBindingIdentifiers(); + var specifiers = Object.keys(bindingIdentifiers).map(function (name) { + return t.exportSpecifier(t.identifier(name), t.identifier(name)); + }); + var aliasDeclar = t.exportNamedDeclaration(null, specifiers); + exportDeclaration.insertAfter(aliasDeclar); + exportDeclaration.replaceWith(declaration.node); + return exportDeclaration; +} + +},{"@babel/types":242}],85:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = wrapFunction; + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +var _template = _interopRequireDefault(require("@babel/template")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var buildAnonymousExpressionWrapper = _template.default.expression("\n (function () {\n var REF = FUNCTION;\n return function NAME(PARAMS) {\n return REF.apply(this, arguments);\n };\n })()\n"); + +var buildNamedExpressionWrapper = _template.default.expression("\n (function () {\n var REF = FUNCTION;\n function NAME(PARAMS) {\n return REF.apply(this, arguments);\n }\n return NAME;\n })()\n"); + +var buildDeclarationWrapper = (0, _template.default)("\n function NAME(PARAMS) { return REF.apply(this, arguments); }\n function REF() {\n REF = FUNCTION;\n return REF.apply(this, arguments);\n }\n"); + +function classOrObjectMethod(path, callId) { + var node = path.node; + var body = node.body; + var container = t.functionExpression(null, [], t.blockStatement(body.body), true); + body.body = [t.returnStatement(t.callExpression(t.callExpression(callId, [container]), []))]; + node.async = false; + node.generator = false; + path.get("body.body.0.argument.callee.arguments.0").unwrapFunctionEnvironment(); +} + +function plainFunction(path, callId) { + var node = path.node; + var isDeclaration = path.isFunctionDeclaration(); + var functionId = node.id; + var wrapper = isDeclaration ? buildDeclarationWrapper : functionId ? buildNamedExpressionWrapper : buildAnonymousExpressionWrapper; + + if (path.isArrowFunctionExpression()) { + path.arrowFunctionToExpression(); + } + + node.id = null; + + if (isDeclaration) { + node.type = "FunctionExpression"; + } + + var built = t.callExpression(callId, [node]); + var container = wrapper({ + NAME: functionId || null, + REF: path.scope.generateUidIdentifier(functionId ? functionId.name : "ref"), + FUNCTION: built, + PARAMS: node.params.reduce(function (acc, param) { + acc.done = acc.done || t.isAssignmentPattern(param) || t.isRestElement(param); + + if (!acc.done) { + acc.params.push(path.scope.generateUidIdentifier("x")); + } + + return acc; + }, { + params: [], + done: false + }).params + }); + + if (isDeclaration) { + path.replaceWith(container[0]); + path.insertAfter(container[1]); + } else { + var retFunction = container.callee.body.body[1].argument; + + if (!functionId) { + (0, _helperFunctionName.default)({ + node: retFunction, + parent: path.parent, + scope: path.scope + }); + } + + if (!retFunction || retFunction.id || node.params.length) { + path.replaceWith(container); + } else { + path.replaceWith(built); + } + } +} + +function wrapFunction(path, callId) { + if (path.isClassMethod() || path.isObjectMethod()) { + classOrObjectMethod(path, callId); + } else { + plainFunction(path, callId); + } +} + +},{"@babel/helper-function-name":66,"@babel/template":167,"@babel/types":242}],86:[function(require,module,exports){ +"use strict"; + +function _templateObject73() { + var data = _taggedTemplateLiteral(["\n import wrapNativeSuper from \"wrapNativeSuper\";\n import getPrototypeOf from \"getPrototypeOf\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n import inherits from \"inherits\";\n\n export default function _wrapRegExp(re, groups) {\n _wrapRegExp = function(re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _RegExp = wrapNativeSuper(RegExp);\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = _RegExp.call(this, re, flags);\n // if the regex is recreated with 'g' flag\n _groups.set(_this, groups || _groups.get(re));\n return _this;\n }\n inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function(str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function(str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\$<([^>]+)>/g, function(_, name) {\n return \"$\" + groups[name];\n })\n );\n } else if (typeof substitution === \"function\") {\n var _this = this;\n return _super[Symbol.replace].call(\n this,\n str,\n function() {\n var args = [];\n args.push.apply(args, arguments);\n if (typeof args[args.length - 1] !== \"object\") {\n // Modern engines already pass result.groups as the last arg.\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n }\n );\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n }\n\n function buildGroups(result, re) {\n // NOTE: This function should return undefined if there are no groups,\n // but in that case Babel doesn't add the wrapper anyway.\n\n var g = _groups.get(re);\n return Object.keys(g).reduce(function(groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n }\n"], ["\n import wrapNativeSuper from \"wrapNativeSuper\";\n import getPrototypeOf from \"getPrototypeOf\";\n import possibleConstructorReturn from \"possibleConstructorReturn\";\n import inherits from \"inherits\";\n\n export default function _wrapRegExp(re, groups) {\n _wrapRegExp = function(re, groups) {\n return new BabelRegExp(re, undefined, groups);\n };\n\n var _RegExp = wrapNativeSuper(RegExp);\n var _super = RegExp.prototype;\n var _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = _RegExp.call(this, re, flags);\n // if the regex is recreated with 'g' flag\n _groups.set(_this, groups || _groups.get(re));\n return _this;\n }\n inherits(BabelRegExp, _RegExp);\n\n BabelRegExp.prototype.exec = function(str) {\n var result = _super.exec.call(this, str);\n if (result) result.groups = buildGroups(result, this);\n return result;\n };\n BabelRegExp.prototype[Symbol.replace] = function(str, substitution) {\n if (typeof substitution === \"string\") {\n var groups = _groups.get(this);\n return _super[Symbol.replace].call(\n this,\n str,\n substitution.replace(/\\\\$<([^>]+)>/g, function(_, name) {\n return \"$\" + groups[name];\n })\n );\n } else if (typeof substitution === \"function\") {\n var _this = this;\n return _super[Symbol.replace].call(\n this,\n str,\n function() {\n var args = [];\n args.push.apply(args, arguments);\n if (typeof args[args.length - 1] !== \"object\") {\n // Modern engines already pass result.groups as the last arg.\n args.push(buildGroups(args, _this));\n }\n return substitution.apply(this, args);\n }\n );\n } else {\n return _super[Symbol.replace].call(this, str, substitution);\n }\n }\n\n function buildGroups(result, re) {\n // NOTE: This function should return undefined if there are no groups,\n // but in that case Babel doesn't add the wrapper anyway.\n\n var g = _groups.get(re);\n return Object.keys(g).reduce(function(groups, name) {\n groups[name] = result[g[name]];\n return groups;\n }, Object.create(null));\n }\n\n return _wrapRegExp.apply(this, arguments);\n }\n"]); + + _templateObject73 = function _templateObject73() { + return data; + }; + + return data; +} + +function _templateObject72() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateMethodSet() {\n throw new TypeError(\"attempted to reassign private method\");\n }\n"]); + + _templateObject72 = function _templateObject72() { + return data; + }; + + return data; +} + +function _templateObject71() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateMethodGet(receiver, privateSet, fn) {\n if (!privateSet.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return fn;\n }\n"]); + + _templateObject71 = function _templateObject71() { + return data; + }; + + return data; +} + +function _templateObject70() { + var data = _taggedTemplateLiteral(["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = (cl: Class) => Class;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory(initialize: (instance: C) => void): {\n F: Class,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::*/ F /*: Class */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::*/ receiver /*: C | Class */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::*/(\n obj /*: T */,\n name /*: $Keys */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"], ["\n import toArray from \"toArray\";\n import toPropertyKey from \"toPropertyKey\";\n\n // These comments are stripped by @babel/template\n /*::\n type PropertyDescriptor =\n | {\n value: any,\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n }\n | {\n get?: () => any,\n set?: (v: any) => void,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type FieldDescriptor ={\n writable: boolean,\n configurable: boolean,\n enumerable: boolean,\n };\n\n type Placement = \"static\" | \"prototype\" | \"own\";\n type Key = string | symbol; // PrivateName is not supported yet.\n\n type ElementDescriptor =\n | {\n kind: \"method\",\n key: Key,\n placement: Placement,\n descriptor: PropertyDescriptor\n }\n | {\n kind: \"field\",\n key: Key,\n placement: Placement,\n descriptor: FieldDescriptor,\n initializer?: () => any,\n };\n\n // This is exposed to the user code\n type ElementObjectInput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n };\n\n // This is exposed to the user code\n type ElementObjectOutput = ElementDescriptor & {\n [@@toStringTag]?: \"Descriptor\"\n extras?: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n // This is exposed to the user code\n type ClassObject = {\n [@@toStringTag]?: \"Descriptor\",\n kind: \"class\",\n elements: ElementDescriptor[],\n };\n\n type ElementDecorator = (descriptor: ElementObjectInput) => ?ElementObjectOutput;\n type ClassDecorator = (descriptor: ClassObject) => ?ClassObject;\n type ClassFinisher = (cl: Class) => Class;\n\n // Only used by Babel in the transform output, not part of the spec.\n type ElementDefinition =\n | {\n kind: \"method\",\n value: any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n }\n | {\n kind: \"field\",\n value: () => any,\n key: Key,\n static?: boolean,\n decorators?: ElementDecorator[],\n };\n\n declare function ClassFactory(initialize: (instance: C) => void): {\n F: Class,\n d: ElementDefinition[]\n }\n\n */\n\n /*::\n // Various combinations with/without extras and with one or many finishers\n\n type ElementFinisherExtras = {\n element: ElementDescriptor,\n finisher?: ClassFinisher,\n extras?: ElementDescriptor[],\n };\n\n type ElementFinishersExtras = {\n element: ElementDescriptor,\n finishers: ClassFinisher[],\n extras: ElementDescriptor[],\n };\n\n type ElementsFinisher = {\n elements: ElementDescriptor[],\n finisher?: ClassFinisher,\n };\n\n type ElementsFinishers = {\n elements: ElementDescriptor[],\n finishers: ClassFinisher[],\n };\n\n */\n\n /*::\n\n type Placements = {\n static: Key[],\n prototype: Key[],\n own: Key[],\n };\n\n */\n\n // ClassDefinitionEvaluation (Steps 26-*)\n export default function _decorate(\n decorators /*: ClassDecorator[] */,\n factory /*: ClassFactory */,\n superClass /*: ?Class<*> */,\n mixins /*: ?Array */,\n ) /*: Class<*> */ {\n var api = _getDecoratorsApi();\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n api = mixins[i](api);\n }\n }\n\n var r = factory(function initialize(O) {\n api.initializeInstanceElements(O, decorated.elements);\n }, superClass);\n var decorated = api.decorateClass(\n _coalesceClassElements(r.d.map(_createElementDescriptor)),\n decorators,\n );\n\n api.initializeClassElements(r.F, decorated.elements);\n\n return api.runClassFinishers(r.F, decorated.finishers);\n }\n\n function _getDecoratorsApi() {\n _getDecoratorsApi = function() {\n return api;\n };\n\n var api = {\n elementsDefinitionOrder: [[\"method\"], [\"field\"]],\n\n // InitializeInstanceElements\n initializeInstanceElements: function(\n /*::*/ O /*: C */,\n elements /*: ElementDescriptor[] */,\n ) {\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (element.kind === kind && element.placement === \"own\") {\n this.defineClassElement(O, element);\n }\n }, this);\n }, this);\n },\n\n // InitializeClassElements\n initializeClassElements: function(\n /*::*/ F /*: Class */,\n elements /*: ElementDescriptor[] */,\n ) {\n var proto = F.prototype;\n\n [\"method\", \"field\"].forEach(function(kind) {\n elements.forEach(function(element /*: ElementDescriptor */) {\n var placement = element.placement;\n if (\n element.kind === kind &&\n (placement === \"static\" || placement === \"prototype\")\n ) {\n var receiver = placement === \"static\" ? F : proto;\n this.defineClassElement(receiver, element);\n }\n }, this);\n }, this);\n },\n\n // DefineClassElement\n defineClassElement: function(\n /*::*/ receiver /*: C | Class */,\n element /*: ElementDescriptor */,\n ) {\n var descriptor /*: PropertyDescriptor */ = element.descriptor;\n if (element.kind === \"field\") {\n var initializer = element.initializer;\n descriptor = {\n enumerable: descriptor.enumerable,\n writable: descriptor.writable,\n configurable: descriptor.configurable,\n value: initializer === void 0 ? void 0 : initializer.call(receiver),\n };\n }\n Object.defineProperty(receiver, element.key, descriptor);\n },\n\n // DecorateClass\n decorateClass: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var newElements /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n var placements /*: Placements */ = {\n static: [],\n prototype: [],\n own: [],\n };\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n this.addElementPlacement(element, placements);\n }, this);\n\n elements.forEach(function(element /*: ElementDescriptor */) {\n if (!_hasDecorators(element)) return newElements.push(element);\n\n var elementFinishersExtras /*: ElementFinishersExtras */ = this.decorateElement(\n element,\n placements,\n );\n newElements.push(elementFinishersExtras.element);\n newElements.push.apply(newElements, elementFinishersExtras.extras);\n finishers.push.apply(finishers, elementFinishersExtras.finishers);\n }, this);\n\n if (!decorators) {\n return { elements: newElements, finishers: finishers };\n }\n\n var result /*: ElementsFinishers */ = this.decorateConstructor(\n newElements,\n decorators,\n );\n finishers.push.apply(finishers, result.finishers);\n result.finishers = finishers;\n\n return result;\n },\n\n // AddElementPlacement\n addElementPlacement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n silent /*: boolean */,\n ) {\n var keys = placements[element.placement];\n if (!silent && keys.indexOf(element.key) !== -1) {\n throw new TypeError(\"Duplicated element (\" + element.key + \")\");\n }\n keys.push(element.key);\n },\n\n // DecorateElement\n decorateElement: function(\n element /*: ElementDescriptor */,\n placements /*: Placements */,\n ) /*: ElementFinishersExtras */ {\n var extras /*: ElementDescriptor[] */ = [];\n var finishers /*: ClassFinisher[] */ = [];\n\n for (\n var decorators = element.decorators, i = decorators.length - 1;\n i >= 0;\n i--\n ) {\n // (inlined) RemoveElementPlacement\n var keys = placements[element.placement];\n keys.splice(keys.indexOf(element.key), 1);\n\n var elementObject /*: ElementObjectInput */ = this.fromElementDescriptor(\n element,\n );\n var elementFinisherExtras /*: ElementFinisherExtras */ = this.toElementFinisherExtras(\n (0, decorators[i])(elementObject) /*: ElementObjectOutput */ ||\n elementObject,\n );\n\n element = elementFinisherExtras.element;\n this.addElementPlacement(element, placements);\n\n if (elementFinisherExtras.finisher) {\n finishers.push(elementFinisherExtras.finisher);\n }\n\n var newExtras /*: ElementDescriptor[] | void */ =\n elementFinisherExtras.extras;\n if (newExtras) {\n for (var j = 0; j < newExtras.length; j++) {\n this.addElementPlacement(newExtras[j], placements);\n }\n extras.push.apply(extras, newExtras);\n }\n }\n\n return { element: element, finishers: finishers, extras: extras };\n },\n\n // DecorateConstructor\n decorateConstructor: function(\n elements /*: ElementDescriptor[] */,\n decorators /*: ClassDecorator[] */,\n ) /*: ElementsFinishers */ {\n var finishers /*: ClassFinisher[] */ = [];\n\n for (var i = decorators.length - 1; i >= 0; i--) {\n var obj /*: ClassObject */ = this.fromClassDescriptor(elements);\n var elementsAndFinisher /*: ElementsFinisher */ = this.toClassDescriptor(\n (0, decorators[i])(obj) /*: ClassObject */ || obj,\n );\n\n if (elementsAndFinisher.finisher !== undefined) {\n finishers.push(elementsAndFinisher.finisher);\n }\n\n if (elementsAndFinisher.elements !== undefined) {\n elements = elementsAndFinisher.elements;\n\n for (var j = 0; j < elements.length - 1; j++) {\n for (var k = j + 1; k < elements.length; k++) {\n if (\n elements[j].key === elements[k].key &&\n elements[j].placement === elements[k].placement\n ) {\n throw new TypeError(\n \"Duplicated element (\" + elements[j].key + \")\",\n );\n }\n }\n }\n }\n }\n\n return { elements: elements, finishers: finishers };\n },\n\n // FromElementDescriptor\n fromElementDescriptor: function(\n element /*: ElementDescriptor */,\n ) /*: ElementObject */ {\n var obj /*: ElementObject */ = {\n kind: element.kind,\n key: element.key,\n placement: element.placement,\n descriptor: element.descriptor,\n };\n\n var desc = {\n value: \"Descriptor\",\n configurable: true,\n };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n if (element.kind === \"field\") obj.initializer = element.initializer;\n\n return obj;\n },\n\n // ToElementDescriptors\n toElementDescriptors: function(\n elementObjects /*: ElementObject[] */,\n ) /*: ElementDescriptor[] */ {\n if (elementObjects === undefined) return;\n return toArray(elementObjects).map(function(elementObject) {\n var element = this.toElementDescriptor(elementObject);\n this.disallowProperty(elementObject, \"finisher\", \"An element descriptor\");\n this.disallowProperty(elementObject, \"extras\", \"An element descriptor\");\n return element;\n }, this);\n },\n\n // ToElementDescriptor\n toElementDescriptor: function(\n elementObject /*: ElementObject */,\n ) /*: ElementDescriptor */ {\n var kind = String(elementObject.kind);\n if (kind !== \"method\" && kind !== \"field\") {\n throw new TypeError(\n 'An element descriptor\\\\'s .kind property must be either \"method\" or' +\n ' \"field\", but a decorator created an element descriptor with' +\n ' .kind \"' +\n kind +\n '\"',\n );\n }\n\n var key = toPropertyKey(elementObject.key);\n\n var placement = String(elementObject.placement);\n if (\n placement !== \"static\" &&\n placement !== \"prototype\" &&\n placement !== \"own\"\n ) {\n throw new TypeError(\n 'An element descriptor\\\\'s .placement property must be one of \"static\",' +\n ' \"prototype\" or \"own\", but a decorator created an element descriptor' +\n ' with .placement \"' +\n placement +\n '\"',\n );\n }\n\n var descriptor /*: PropertyDescriptor */ = elementObject.descriptor;\n\n this.disallowProperty(elementObject, \"elements\", \"An element descriptor\");\n\n var element /*: ElementDescriptor */ = {\n kind: kind,\n key: key,\n placement: placement,\n descriptor: Object.assign({}, descriptor),\n };\n\n if (kind !== \"field\") {\n this.disallowProperty(elementObject, \"initializer\", \"A method descriptor\");\n } else {\n this.disallowProperty(\n descriptor,\n \"get\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"set\",\n \"The property descriptor of a field descriptor\",\n );\n this.disallowProperty(\n descriptor,\n \"value\",\n \"The property descriptor of a field descriptor\",\n );\n\n element.initializer = elementObject.initializer;\n }\n\n return element;\n },\n\n toElementFinisherExtras: function(\n elementObject /*: ElementObject */,\n ) /*: ElementFinisherExtras */ {\n var element /*: ElementDescriptor */ = this.toElementDescriptor(\n elementObject,\n );\n var finisher /*: ClassFinisher */ = _optionalCallableProperty(\n elementObject,\n \"finisher\",\n );\n var extras /*: ElementDescriptors[] */ = this.toElementDescriptors(\n elementObject.extras,\n );\n\n return { element: element, finisher: finisher, extras: extras };\n },\n\n // FromClassDescriptor\n fromClassDescriptor: function(\n elements /*: ElementDescriptor[] */,\n ) /*: ClassObject */ {\n var obj = {\n kind: \"class\",\n elements: elements.map(this.fromElementDescriptor, this),\n };\n\n var desc = { value: \"Descriptor\", configurable: true };\n Object.defineProperty(obj, Symbol.toStringTag, desc);\n\n return obj;\n },\n\n // ToClassDescriptor\n toClassDescriptor: function(\n obj /*: ClassObject */,\n ) /*: ElementsFinisher */ {\n var kind = String(obj.kind);\n if (kind !== \"class\") {\n throw new TypeError(\n 'A class descriptor\\\\'s .kind property must be \"class\", but a decorator' +\n ' created a class descriptor with .kind \"' +\n kind +\n '\"',\n );\n }\n\n this.disallowProperty(obj, \"key\", \"A class descriptor\");\n this.disallowProperty(obj, \"placement\", \"A class descriptor\");\n this.disallowProperty(obj, \"descriptor\", \"A class descriptor\");\n this.disallowProperty(obj, \"initializer\", \"A class descriptor\");\n this.disallowProperty(obj, \"extras\", \"A class descriptor\");\n\n var finisher = _optionalCallableProperty(obj, \"finisher\");\n var elements = this.toElementDescriptors(obj.elements);\n\n return { elements: elements, finisher: finisher };\n },\n\n // RunClassFinishers\n runClassFinishers: function(\n constructor /*: Class<*> */,\n finishers /*: ClassFinisher[] */,\n ) /*: Class<*> */ {\n for (var i = 0; i < finishers.length; i++) {\n var newConstructor /*: ?Class<*> */ = (0, finishers[i])(constructor);\n if (newConstructor !== undefined) {\n // NOTE: This should check if IsConstructor(newConstructor) is false.\n if (typeof newConstructor !== \"function\") {\n throw new TypeError(\"Finishers must return a constructor.\");\n }\n constructor = newConstructor;\n }\n }\n return constructor;\n },\n\n disallowProperty: function(obj, name, objectType) {\n if (obj[name] !== undefined) {\n throw new TypeError(objectType + \" can't have a .\" + name + \" property.\");\n }\n }\n };\n\n return api;\n }\n\n // ClassElementEvaluation\n function _createElementDescriptor(\n def /*: ElementDefinition */,\n ) /*: ElementDescriptor */ {\n var key = toPropertyKey(def.key);\n\n var descriptor /*: PropertyDescriptor */;\n if (def.kind === \"method\") {\n descriptor = {\n value: def.value,\n writable: true,\n configurable: true,\n enumerable: false,\n };\n } else if (def.kind === \"get\") {\n descriptor = { get: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"set\") {\n descriptor = { set: def.value, configurable: true, enumerable: false };\n } else if (def.kind === \"field\") {\n descriptor = { configurable: true, writable: true, enumerable: true };\n }\n\n var element /*: ElementDescriptor */ = {\n kind: def.kind === \"field\" ? \"field\" : \"method\",\n key: key,\n placement: def.static\n ? \"static\"\n : def.kind === \"field\"\n ? \"own\"\n : \"prototype\",\n descriptor: descriptor,\n };\n if (def.decorators) element.decorators = def.decorators;\n if (def.kind === \"field\") element.initializer = def.value;\n\n return element;\n }\n\n // CoalesceGetterSetter\n function _coalesceGetterSetter(\n element /*: ElementDescriptor */,\n other /*: ElementDescriptor */,\n ) {\n if (element.descriptor.get !== undefined) {\n other.descriptor.get = element.descriptor.get;\n } else {\n other.descriptor.set = element.descriptor.set;\n }\n }\n\n // CoalesceClassElements\n function _coalesceClassElements(\n elements /*: ElementDescriptor[] */,\n ) /*: ElementDescriptor[] */ {\n var newElements /*: ElementDescriptor[] */ = [];\n\n var isSameElement = function(\n other /*: ElementDescriptor */,\n ) /*: boolean */ {\n return (\n other.kind === \"method\" &&\n other.key === element.key &&\n other.placement === element.placement\n );\n };\n\n for (var i = 0; i < elements.length; i++) {\n var element /*: ElementDescriptor */ = elements[i];\n var other /*: ElementDescriptor */;\n\n if (\n element.kind === \"method\" &&\n (other = newElements.find(isSameElement))\n ) {\n if (\n _isDataDescriptor(element.descriptor) ||\n _isDataDescriptor(other.descriptor)\n ) {\n if (_hasDecorators(element) || _hasDecorators(other)) {\n throw new ReferenceError(\n \"Duplicated methods (\" + element.key + \") can't be decorated.\",\n );\n }\n other.descriptor = element.descriptor;\n } else {\n if (_hasDecorators(element)) {\n if (_hasDecorators(other)) {\n throw new ReferenceError(\n \"Decorators can't be placed on different accessors with for \" +\n \"the same property (\" +\n element.key +\n \").\",\n );\n }\n other.decorators = element.decorators;\n }\n _coalesceGetterSetter(element, other);\n }\n } else {\n newElements.push(element);\n }\n }\n\n return newElements;\n }\n\n function _hasDecorators(element /*: ElementDescriptor */) /*: boolean */ {\n return element.decorators && element.decorators.length;\n }\n\n function _isDataDescriptor(desc /*: PropertyDescriptor */) /*: boolean */ {\n return (\n desc !== undefined &&\n !(desc.value === undefined && desc.writable === undefined)\n );\n }\n\n function _optionalCallableProperty /*::*/(\n obj /*: T */,\n name /*: $Keys */,\n ) /*: ?Function */ {\n var value = obj[name];\n if (value !== undefined && typeof value !== \"function\") {\n throw new TypeError(\"Expected '\" + name + \"' to be a function\");\n }\n return value;\n }\n\n"]); + + _templateObject70 = function _templateObject70() { + return data; + }; + + return data; +} + +function _templateObject69() { + var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateMethodSet() {\n throw new TypeError(\"attempted to set read only static private field\");\n }\n"]); + + _templateObject69 = function _templateObject69() { + return data; + }; + + return data; +} + +function _templateObject68() { + var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateMethodGet(receiver, classConstructor, method) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n return method;\n }\n"]); + + _templateObject68 = function _templateObject68() { + return data; + }; + + return data; +} + +function _templateObject67() { + var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n descriptor.value = value;\n }\n\n return value;\n }\n"]); + + _templateObject67 = function _templateObject67() { + return data; + }; + + return data; +} + +function _templateObject66() { + var data = _taggedTemplateLiteral(["\n export default function _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) {\n if (receiver !== classConstructor) {\n throw new TypeError(\"Private static access of wrong provenance\");\n }\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"]); + + _templateObject66 = function _templateObject66() { + return data; + }; + + return data; +} + +function _templateObject65() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldDestructureSet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n var descriptor = privateMap.get(receiver);\n if (descriptor.set) {\n if (!(\"__destrObj\" in descriptor)) {\n descriptor.__destrObj = {\n set value(v) {\n descriptor.set.call(receiver, v)\n },\n };\n }\n return descriptor.__destrObj;\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n return descriptor;\n }\n }\n"]); + + _templateObject65 = function _templateObject65() { + return data; + }; + + return data; +} + +function _templateObject64() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = privateMap.get(receiver);\n if (!descriptor) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n // This should only throw in strict mode, but class bodies are\n // always strict and private fields can only be used inside\n // class bodies.\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n\n return value;\n }\n"]); + + _templateObject64 = function _templateObject64() { + return data; + }; + + return data; +} + +function _templateObject63() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = privateMap.get(receiver);\n if (!descriptor) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n return descriptor.value;\n }\n"]); + + _templateObject63 = function _templateObject63() { + return data; + }; + + return data; +} + +function _templateObject62() { + var data = _taggedTemplateLiteral(["\n export default function _classPrivateFieldBase(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n return receiver;\n }\n"]); + + _templateObject62 = function _templateObject62() { + return data; + }; + + return data; +} + +function _templateObject61() { + var data = _taggedTemplateLiteral(["\n var id = 0;\n export default function _classPrivateFieldKey(name) {\n return \"__private_\" + (id++) + \"_\" + name;\n }\n"]); + + _templateObject61 = function _templateObject61() { + return data; + }; + + return data; +} + +function _templateObject60() { + var data = _taggedTemplateLiteral(["\n export default function _applyDecoratedDescriptor(target, property, decorators, descriptor, context){\n var desc = {};\n Object.keys(descriptor).forEach(function(key){\n desc[key] = descriptor[key];\n });\n desc.enumerable = !!desc.enumerable;\n desc.configurable = !!desc.configurable;\n if ('value' in desc || desc.initializer){\n desc.writable = true;\n }\n\n desc = decorators.slice().reverse().reduce(function(desc, decorator){\n return decorator(target, property, desc) || desc;\n }, desc);\n\n if (context && desc.initializer !== void 0){\n desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n desc.initializer = undefined;\n }\n\n if (desc.initializer === void 0){\n // This is a hack to avoid this being processed by 'transform-runtime'.\n // See issue #9.\n Object.defineProperty(target, property, desc);\n desc = null;\n }\n\n return desc;\n }\n"]); + + _templateObject60 = function _templateObject60() { + return data; + }; + + return data; +} + +function _templateObject59() { + var data = _taggedTemplateLiteral(["\n export default function _initializerDefineProperty(target, property, descriptor, context){\n if (!descriptor) return;\n\n Object.defineProperty(target, property, {\n enumerable: descriptor.enumerable,\n configurable: descriptor.configurable,\n writable: descriptor.writable,\n value: descriptor.initializer ? descriptor.initializer.call(context) : void 0,\n });\n }\n"]); + + _templateObject59 = function _templateObject59() { + return data; + }; + + return data; +} + +function _templateObject58() { + var data = _taggedTemplateLiteral(["\n export default function _initializerWarningHelper(descriptor, context){\n throw new Error(\n 'Decorating class property failed. Please ensure that ' +\n 'proposal-class-properties is enabled and runs after the decorators transform.'\n );\n }\n"]); + + _templateObject58 = function _templateObject58() { + return data; + }; + + return data; +} + +function _templateObject57() { + var data = _taggedTemplateLiteral(["\n import toPrimitive from \"toPrimitive\";\n\n export default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n"]); + + _templateObject57 = function _templateObject57() { + return data; + }; + + return data; +} + +function _templateObject56() { + var data = _taggedTemplateLiteral(["\n export default function _toPrimitive(\n input,\n hint /*: \"default\" | \"string\" | \"number\" | void */\n ) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n"]); + + _templateObject56 = function _templateObject56() { + return data; + }; + + return data; +} + +function _templateObject55() { + var data = _taggedTemplateLiteral(["\n export default function _skipFirstGeneratorNext(fn) {\n return function () {\n var it = fn.apply(this, arguments);\n it.next();\n return it;\n }\n }\n"]); + + _templateObject55 = function _templateObject55() { + return data; + }; + + return data; +} + +function _templateObject54() { + var data = _taggedTemplateLiteral(["\n export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n"]); + + _templateObject54 = function _templateObject54() { + return data; + }; + + return data; +} + +function _templateObject53() { + var data = _taggedTemplateLiteral(["\n export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n }\n"]); + + _templateObject53 = function _templateObject53() { + return data; + }; + + return data; +} + +function _templateObject52() { + var data = _taggedTemplateLiteral(["\n export default function _iterableToArrayLimitLoose(arr, i) {\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n if (i && _arr.length === i) break;\n }\n return _arr;\n }\n"]); + + _templateObject52 = function _templateObject52() { + return data; + }; + + return data; +} + +function _templateObject51() { + var data = _taggedTemplateLiteral(["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of `for...of` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"], ["\n export default function _iterableToArrayLimit(arr, i) {\n // this is an expanded form of \\`for...of\\` that properly supports abrupt completions of\n // iterators etc. variable names have been minimised to reduce the size of this massive\n // helper. sometimes spec compliance is annoying :(\n //\n // _n = _iteratorNormalCompletion\n // _d = _didIteratorError\n // _e = _iteratorError\n // _i = _iterator\n // _s = _step\n if (!(\n Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === \"[object Arguments]\"\n )) { return }\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n"]); + + _templateObject51 = function _templateObject51() { + return data; + }; + + return data; +} + +function _templateObject50() { + var data = _taggedTemplateLiteral(["\n export default function _iterableToArray(iter) {\n if (\n Symbol.iterator in Object(iter) ||\n Object.prototype.toString.call(iter) === \"[object Arguments]\"\n ) return Array.from(iter);\n }\n"]); + + _templateObject50 = function _templateObject50() { + return data; + }; + + return data; +} + +function _templateObject49() { + var data = _taggedTemplateLiteral(["\n export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n"]); + + _templateObject49 = function _templateObject49() { + return data; + }; + + return data; +} + +function _templateObject48() { + var data = _taggedTemplateLiteral(["\n export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n return arr2;\n }\n }\n"]); + + _templateObject48 = function _templateObject48() { + return data; + }; + + return data; +} + +function _templateObject47() { + var data = _taggedTemplateLiteral(["\n import arrayWithoutHoles from \"arrayWithoutHoles\";\n import iterableToArray from \"iterableToArray\";\n import nonIterableSpread from \"nonIterableSpread\";\n\n export default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n }\n"]); + + _templateObject47 = function _templateObject47() { + return data; + }; + + return data; +} + +function _templateObject46() { + var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArray from \"iterableToArray\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n }\n"]); + + _templateObject46 = function _templateObject46() { + return data; + }; + + return data; +} + +function _templateObject45() { + var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimitLoose from \"iterableToArrayLimitLoose\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArrayLoose(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimitLoose(arr, i) || nonIterableRest();\n }\n"]); + + _templateObject45 = function _templateObject45() { + return data; + }; + + return data; +} + +function _templateObject44() { + var data = _taggedTemplateLiteral(["\n import arrayWithHoles from \"arrayWithHoles\";\n import iterableToArrayLimit from \"iterableToArrayLimit\";\n import nonIterableRest from \"nonIterableRest\";\n\n export default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n }\n"]); + + _templateObject44 = function _templateObject44() { + return data; + }; + + return data; +} + +function _templateObject43() { + var data = _taggedTemplateLiteral(["\n import undef from \"temporalUndefined\";\n import err from \"tdz\";\n\n export default function _temporalRef(val, name) {\n return val === undef ? err(name) : val;\n }\n"]); + + _templateObject43 = function _templateObject43() { + return data; + }; + + return data; +} + +function _templateObject42() { + var data = _taggedTemplateLiteral(["\n export default function _tdzError(name) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n }\n"]); + + _templateObject42 = function _templateObject42() { + return data; + }; + + return data; +} + +function _templateObject41() { + var data = _taggedTemplateLiteral(["\n // This function isn't mean to be called, but to be used as a reference.\n // We can't use a normal object because it isn't hoisted.\n export default function _temporalUndefined() {}\n"]); + + _templateObject41 = function _templateObject41() { + return data; + }; + + return data; +} + +function _templateObject40() { + var data = _taggedTemplateLiteral(["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\"\" + name + \"\\\" cannot be referenced in computed property keys.\");\n }\n"], ["\n export default function _classNameTDZError(name) {\n throw new Error(\"Class \\\\\"\" + name + \"\\\\\" cannot be referenced in computed property keys.\");\n }\n"]); + + _templateObject40 = function _templateObject40() { + return data; + }; + + return data; +} + +function _templateObject39() { + var data = _taggedTemplateLiteral(["\n export default function _readOnlyError(name) {\n throw new Error(\"\\\"\" + name + \"\\\" is read-only\");\n }\n"], ["\n export default function _readOnlyError(name) {\n throw new Error(\"\\\\\"\" + name + \"\\\\\" is read-only\");\n }\n"]); + + _templateObject39 = function _templateObject39() { + return data; + }; + + return data; +} + +function _templateObject38() { + var data = _taggedTemplateLiteral(["\n export default function _taggedTemplateLiteralLoose(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n strings.raw = raw;\n return strings;\n }\n"]); + + _templateObject38 = function _templateObject38() { + return data; + }; + + return data; +} + +function _templateObject37() { + var data = _taggedTemplateLiteral(["\n export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) { raw = strings.slice(0); }\n return Object.freeze(Object.defineProperties(strings, {\n raw: { value: Object.freeze(raw) }\n }));\n }\n"]); + + _templateObject37 = function _templateObject37() { + return data; + }; + + return data; +} + +function _templateObject36() { + var data = _taggedTemplateLiteral(["\n import superPropBase from \"superPropBase\";\n import defineProperty from \"defineProperty\";\n\n function set(target, property, value, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.set) {\n set = Reflect.set;\n } else {\n set = function set(target, property, value, receiver) {\n var base = superPropBase(target, property);\n var desc;\n\n if (base) {\n desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.set) {\n desc.set.call(receiver, value);\n return true;\n } else if (!desc.writable) {\n // Both getter and non-writable fall into this.\n return false;\n }\n }\n\n // Without a super that defines the property, spec boils down to\n // \"define on receiver\" for some reason.\n desc = Object.getOwnPropertyDescriptor(receiver, property);\n if (desc) {\n if (!desc.writable) {\n // Setter, getter, and non-writable fall into this.\n return false;\n }\n\n desc.value = value;\n Object.defineProperty(receiver, property, desc);\n } else {\n // Avoid setters that may be defined on Sub's prototype, but not on\n // the instance.\n defineProperty(receiver, property, value);\n }\n\n return true;\n };\n }\n\n return set(target, property, value, receiver);\n }\n\n export default function _set(target, property, value, receiver, isStrict) {\n var s = set(target, property, value, receiver || target);\n if (!s && isStrict) {\n throw new Error('failed to set property');\n }\n\n return value;\n }\n"]); + + _templateObject36 = function _templateObject36() { + return data; + }; + + return data; +} + +function _templateObject35() { + var data = _taggedTemplateLiteral(["\n import superPropBase from \"superPropBase\";\n\n export default function _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n\n if (!base) return;\n\n var desc = Object.getOwnPropertyDescriptor(base, property);\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n return _get(target, property, receiver || target);\n }\n"]); + + _templateObject35 = function _templateObject35() { + return data; + }; + + return data; +} + +function _templateObject34() { + var data = _taggedTemplateLiteral(["\n import getPrototypeOf from \"getPrototypeOf\";\n\n export default function _superPropBase(object, property) {\n // Yes, this throws if object is null to being with, that's on purpose.\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n return object;\n }\n"]); + + _templateObject34 = function _templateObject34() { + return data; + }; + + return data; +} + +function _templateObject33() { + var data = _taggedTemplateLiteral(["\n import assertThisInitialized from \"assertThisInitialized\";\n\n export default function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n return assertThisInitialized(self);\n }\n"]); + + _templateObject33 = function _templateObject33() { + return data; + }; + + return data; +} + +function _templateObject32() { + var data = _taggedTemplateLiteral(["\n export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n }\n"]); + + _templateObject32 = function _templateObject32() { + return data; + }; + + return data; +} + +function _templateObject31() { + var data = _taggedTemplateLiteral(["\n import objectWithoutPropertiesLoose from \"objectWithoutPropertiesLoose\";\n\n export default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n }\n"]); + + _templateObject31 = function _templateObject31() { + return data; + }; + + return data; +} + +function _templateObject30() { + var data = _taggedTemplateLiteral(["\n export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n }\n"]); + + _templateObject30 = function _templateObject30() { + return data; + }; + + return data; +} + +function _templateObject29() { + var data = _taggedTemplateLiteral(["\n export default function _objectDestructuringEmpty(obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n }\n"]); + + _templateObject29 = function _templateObject29() { + return data; + }; + + return data; +} + +function _templateObject28() { + var data = _taggedTemplateLiteral(["\n export default function _newArrowCheck(innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n }\n"]); + + _templateObject28 = function _templateObject28() { + return data; + }; + + return data; +} + +function _templateObject27() { + var data = _taggedTemplateLiteral(["\n function _getRequireWildcardCache() {\n if (typeof WeakMap !== \"function\") return null;\n\n var cache = new WeakMap();\n _getRequireWildcardCache = function () { return cache; };\n return cache;\n }\n\n export default function _interopRequireWildcard(obj) {\n if (obj && obj.__esModule) {\n return obj;\n }\n\n if (obj === null || (typeof obj !== \"object\" && typeof obj !== \"function\")) {\n return { default: obj }\n }\n\n var cache = _getRequireWildcardCache();\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor\n ? Object.getOwnPropertyDescriptor(obj, key)\n : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n }\n"]); + + _templateObject27 = function _templateObject27() { + return data; + }; + + return data; +} + +function _templateObject26() { + var data = _taggedTemplateLiteral(["\n export default function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n"]); + + _templateObject26 = function _templateObject26() { + return data; + }; + + return data; +} + +function _templateObject25() { + var data = _taggedTemplateLiteral(["\n export default function _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n }\n"]); + + _templateObject25 = function _templateObject25() { + return data; + }; + + return data; +} + +function _templateObject24() { + var data = _taggedTemplateLiteral(["\n import getPrototypeOf from \"getPrototypeOf\";\n import setPrototypeOf from \"setPrototypeOf\";\n import isNativeFunction from \"isNativeFunction\";\n import construct from \"construct\";\n\n export default function _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor)\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n }\n });\n\n return setPrototypeOf(Wrapper, Class);\n }\n\n return _wrapNativeSuper(Class)\n }\n"]); + + _templateObject24 = function _templateObject24() { + return data; + }; + + return data; +} + +function _templateObject23() { + var data = _taggedTemplateLiteral(["\n export default function _isNativeFunction(fn) {\n // Note: This function returns \"true\" for core-js functions.\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n }\n"]); + + _templateObject23 = function _templateObject23() { + return data; + }; + + return data; +} + +function _templateObject22() { + var data = _taggedTemplateLiteral(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n function isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n\n // core-js@3\n if (Reflect.construct.sham) return false;\n\n // Proxy can't be polyfilled. Every browser implemented\n // proxies before or at the same time as Reflect.construct,\n // so if they support Proxy they also support Reflect.construct.\n if (typeof Proxy === \"function\") return true;\n\n // Since Reflect.construct can't be properly polyfilled, some\n // implementations (e.g. core-js@2) don't set the correct internal slots.\n // Those polyfills don't allow us to subclass built-ins, so we need to\n // use our fallback implementation.\n try {\n // If the internal slots aren't set, this throws an error similar to\n // TypeError: this is not a Date object.\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n export default function _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n // NOTE: If Parent !== Class, the correct __proto__ is set *after*\n // calling the constructor.\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n // Avoid issues with Class being present but undefined when it wasn't\n // present in the original call.\n return _construct.apply(null, arguments);\n }\n"]); + + _templateObject22 = function _templateObject22() { + return data; + }; + + return data; +} + +function _templateObject21() { + var data = _taggedTemplateLiteral(["\n export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n"]); + + _templateObject21 = function _templateObject21() { + return data; + }; + + return data; +} + +function _templateObject20() { + var data = _taggedTemplateLiteral(["\n export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf\n ? Object.getPrototypeOf\n : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n"]); + + _templateObject20 = function _templateObject20() { + return data; + }; + + return data; +} + +function _templateObject19() { + var data = _taggedTemplateLiteral(["\n export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n }\n"]); + + _templateObject19 = function _templateObject19() { + return data; + }; + + return data; +} + +function _templateObject18() { + var data = _taggedTemplateLiteral(["\n import setPrototypeOf from \"setPrototypeOf\";\n\n export default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n }\n"]); + + _templateObject18 = function _templateObject18() { + return data; + }; + + return data; +} + +function _templateObject17() { + var data = _taggedTemplateLiteral(["\n import defineProperty from \"defineProperty\";\n\n // This function is different to \"Reflect.ownKeys\". The enumerableOnly\n // filters on symbol properties only. Returned string properties are always\n // enumerable. It is good to use in objectSpread.\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n\n export default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? arguments[i] : {};\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n }\n return target;\n }\n"]); + + _templateObject17 = function _templateObject17() { + return data; + }; + + return data; +} + +function _templateObject16() { + var data = _taggedTemplateLiteral(["\n import defineProperty from \"defineProperty\";\n\n export default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = (arguments[i] != null) ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n"]); + + _templateObject16 = function _templateObject16() { + return data; + }; + + return data; +} + +function _templateObject15() { + var data = _taggedTemplateLiteral(["\n export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n"]); + + _templateObject15 = function _templateObject15() { + return data; + }; + + return data; +} + +function _templateObject14() { + var data = _taggedTemplateLiteral(["\n export default function _defineProperty(obj, key, value) {\n // Shortcircuit the slow defineProperty path when possible.\n // We are trying to avoid issues where setters defined on the\n // prototype cause side effects under the fast path of simple\n // assignment. By checking for existence of the property with\n // the in operator, we can optimize most of this overhead away.\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n"]); + + _templateObject14 = function _templateObject14() { + return data; + }; + + return data; +} + +function _templateObject13() { + var data = _taggedTemplateLiteral(["\n export default function _defaults(obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n return obj;\n }\n"]); + + _templateObject13 = function _templateObject13() { + return data; + }; + + return data; +} + +function _templateObject12() { + var data = _taggedTemplateLiteral(["\n export default function _defineEnumerableProperties(obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n // Symbols are not enumerated over by for-in loops. If native\n // Symbols are available, fetch all of the descs object's own\n // symbol properties and define them on our target object too.\n if (Object.getOwnPropertySymbols) {\n var objectSymbols = Object.getOwnPropertySymbols(descs);\n for (var i = 0; i < objectSymbols.length; i++) {\n var sym = objectSymbols[i];\n var desc = descs[sym];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, sym, desc);\n }\n }\n return obj;\n }\n"]); + + _templateObject12 = function _templateObject12() { + return data; + }; + + return data; +} + +function _templateObject11() { + var data = _taggedTemplateLiteral(["\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i ++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n export default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n"]); + + _templateObject11 = function _templateObject11() { + return data; + }; + + return data; +} + +function _templateObject10() { + var data = _taggedTemplateLiteral(["\n export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n"]); + + _templateObject10 = function _templateObject10() { + return data; + }; + + return data; +} + +function _templateObject9() { + var data = _taggedTemplateLiteral(["\n function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n }\n\n export default function _asyncToGenerator(fn) {\n return function () {\n var self = this, args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n }\n"]); + + _templateObject9 = function _templateObject9() { + return data; + }; + + return data; +} + +function _templateObject8() { + var data = _taggedTemplateLiteral(["\n export default function _asyncGeneratorDelegate(inner, awaitWrap) {\n var iter = {}, waiting = false;\n\n function pump(key, value) {\n waiting = true;\n value = new Promise(function (resolve) { resolve(inner[key](value)); });\n return { done: false, value: awaitWrap(value) };\n };\n\n if (typeof Symbol === \"function\" && Symbol.iterator) {\n iter[Symbol.iterator] = function () { return this; };\n }\n\n iter.next = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"next\", value);\n };\n\n if (typeof inner.throw === \"function\") {\n iter.throw = function (value) {\n if (waiting) {\n waiting = false;\n throw value;\n }\n return pump(\"throw\", value);\n };\n }\n\n if (typeof inner.return === \"function\") {\n iter.return = function (value) {\n if (waiting) {\n waiting = false;\n return value;\n }\n return pump(\"return\", value);\n };\n }\n\n return iter;\n }\n"]); + + _templateObject8 = function _templateObject8() { + return data; + }; + + return data; +} + +function _templateObject7() { + var data = _taggedTemplateLiteral(["\n import AwaitValue from \"AwaitValue\";\n\n export default function _awaitAsyncGenerator(value) {\n return new AwaitValue(value);\n }\n"]); + + _templateObject7 = function _templateObject7() { + return data; + }; + + return data; +} + +function _templateObject6() { + var data = _taggedTemplateLiteral(["\n import AsyncGenerator from \"AsyncGenerator\";\n\n export default function _wrapAsyncGenerator(fn) {\n return function () {\n return new AsyncGenerator(fn.apply(this, arguments));\n };\n }\n"]); + + _templateObject6 = function _templateObject6() { + return data; + }; + + return data; +} + +function _templateObject5() { + var data = _taggedTemplateLiteral(["\n import AwaitValue from \"AwaitValue\";\n\n export default function AsyncGenerator(gen) {\n var front, back;\n\n function send(key, arg) {\n return new Promise(function (resolve, reject) {\n var request = {\n key: key,\n arg: arg,\n resolve: resolve,\n reject: reject,\n next: null,\n };\n\n if (back) {\n back = back.next = request;\n } else {\n front = back = request;\n resume(key, arg);\n }\n });\n }\n\n function resume(key, arg) {\n try {\n var result = gen[key](arg)\n var value = result.value;\n var wrappedAwait = value instanceof AwaitValue;\n\n Promise.resolve(wrappedAwait ? value.wrapped : value).then(\n function (arg) {\n if (wrappedAwait) {\n resume(key === \"return\" ? \"return\" : \"next\", arg);\n return\n }\n\n settle(result.done ? \"return\" : \"normal\", arg);\n },\n function (err) { resume(\"throw\", err); });\n } catch (err) {\n settle(\"throw\", err);\n }\n }\n\n function settle(type, value) {\n switch (type) {\n case \"return\":\n front.resolve({ value: value, done: true });\n break;\n case \"throw\":\n front.reject(value);\n break;\n default:\n front.resolve({ value: value, done: false });\n break;\n }\n\n front = front.next;\n if (front) {\n resume(front.key, front.arg);\n } else {\n back = null;\n }\n }\n\n this._invoke = send;\n\n // Hide \"return\" method if generator return is not supported\n if (typeof gen.return !== \"function\") {\n this.return = undefined;\n }\n }\n\n if (typeof Symbol === \"function\" && Symbol.asyncIterator) {\n AsyncGenerator.prototype[Symbol.asyncIterator] = function () { return this; };\n }\n\n AsyncGenerator.prototype.next = function (arg) { return this._invoke(\"next\", arg); };\n AsyncGenerator.prototype.throw = function (arg) { return this._invoke(\"throw\", arg); };\n AsyncGenerator.prototype.return = function (arg) { return this._invoke(\"return\", arg); };\n"]); + + _templateObject5 = function _templateObject5() { + return data; + }; + + return data; +} + +function _templateObject4() { + var data = _taggedTemplateLiteral(["\n export default function _AwaitValue(value) {\n this.wrapped = value;\n }\n"]); + + _templateObject4 = function _templateObject4() { + return data; + }; + + return data; +} + +function _templateObject3() { + var data = _taggedTemplateLiteral(["\n export default function _asyncIterator(iterable) {\n var method\n if (typeof Symbol !== \"undefined\") {\n if (Symbol.asyncIterator) {\n method = iterable[Symbol.asyncIterator]\n if (method != null) return method.call(iterable);\n }\n if (Symbol.iterator) {\n method = iterable[Symbol.iterator]\n if (method != null) return method.call(iterable);\n }\n }\n throw new TypeError(\"Object is not async iterable\");\n }\n"]); + + _templateObject3 = function _templateObject3() { + return data; + }; + + return data; +} + +function _templateObject2() { + var data = _taggedTemplateLiteral(["\n var REACT_ELEMENT_TYPE;\n\n export default function _createRawReactElement(type, props, key, children) {\n if (!REACT_ELEMENT_TYPE) {\n REACT_ELEMENT_TYPE = (\n typeof Symbol === \"function\" && Symbol[\"for\"] && Symbol[\"for\"](\"react.element\")\n ) || 0xeac7;\n }\n\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n // If we're going to assign props.children, we create a new object now\n // to avoid mutating defaultProps.\n props = {\n children: void 0,\n };\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = new Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n props.children = childArray;\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null,\n };\n }\n"]); + + _templateObject2 = function _templateObject2() { + return data; + }; + + return data; +} + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n export default function _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) { return typeof obj; };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype\n ? \"symbol\"\n : typeof obj;\n };\n }\n\n return _typeof(obj);\n }\n"]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _template = _interopRequireDefault(require("@babel/template")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var helpers = Object.create(null); +var _default = helpers; +exports.default = _default; + +var helper = function helper(minVersion) { + return function (tpl) { + return { + minVersion: minVersion, + ast: function ast() { + return _template.default.program.ast(tpl); + } + }; + }; +}; + +helpers.typeof = helper("7.0.0-beta.0")(_templateObject()); +helpers.jsx = helper("7.0.0-beta.0")(_templateObject2()); +helpers.asyncIterator = helper("7.0.0-beta.0")(_templateObject3()); +helpers.AwaitValue = helper("7.0.0-beta.0")(_templateObject4()); +helpers.AsyncGenerator = helper("7.0.0-beta.0")(_templateObject5()); +helpers.wrapAsyncGenerator = helper("7.0.0-beta.0")(_templateObject6()); +helpers.awaitAsyncGenerator = helper("7.0.0-beta.0")(_templateObject7()); +helpers.asyncGeneratorDelegate = helper("7.0.0-beta.0")(_templateObject8()); +helpers.asyncToGenerator = helper("7.0.0-beta.0")(_templateObject9()); +helpers.classCallCheck = helper("7.0.0-beta.0")(_templateObject10()); +helpers.createClass = helper("7.0.0-beta.0")(_templateObject11()); +helpers.defineEnumerableProperties = helper("7.0.0-beta.0")(_templateObject12()); +helpers.defaults = helper("7.0.0-beta.0")(_templateObject13()); +helpers.defineProperty = helper("7.0.0-beta.0")(_templateObject14()); +helpers.extends = helper("7.0.0-beta.0")(_templateObject15()); +helpers.objectSpread = helper("7.0.0-beta.0")(_templateObject16()); +helpers.objectSpread2 = helper("7.5.0")(_templateObject17()); +helpers.inherits = helper("7.0.0-beta.0")(_templateObject18()); +helpers.inheritsLoose = helper("7.0.0-beta.0")(_templateObject19()); +helpers.getPrototypeOf = helper("7.0.0-beta.0")(_templateObject20()); +helpers.setPrototypeOf = helper("7.0.0-beta.0")(_templateObject21()); +helpers.construct = helper("7.0.0-beta.0")(_templateObject22()); +helpers.isNativeFunction = helper("7.0.0-beta.0")(_templateObject23()); +helpers.wrapNativeSuper = helper("7.0.0-beta.0")(_templateObject24()); +helpers.instanceof = helper("7.0.0-beta.0")(_templateObject25()); +helpers.interopRequireDefault = helper("7.0.0-beta.0")(_templateObject26()); +helpers.interopRequireWildcard = helper("7.0.0-beta.0")(_templateObject27()); +helpers.newArrowCheck = helper("7.0.0-beta.0")(_templateObject28()); +helpers.objectDestructuringEmpty = helper("7.0.0-beta.0")(_templateObject29()); +helpers.objectWithoutPropertiesLoose = helper("7.0.0-beta.0")(_templateObject30()); +helpers.objectWithoutProperties = helper("7.0.0-beta.0")(_templateObject31()); +helpers.assertThisInitialized = helper("7.0.0-beta.0")(_templateObject32()); +helpers.possibleConstructorReturn = helper("7.0.0-beta.0")(_templateObject33()); +helpers.superPropBase = helper("7.0.0-beta.0")(_templateObject34()); +helpers.get = helper("7.0.0-beta.0")(_templateObject35()); +helpers.set = helper("7.0.0-beta.0")(_templateObject36()); +helpers.taggedTemplateLiteral = helper("7.0.0-beta.0")(_templateObject37()); +helpers.taggedTemplateLiteralLoose = helper("7.0.0-beta.0")(_templateObject38()); +helpers.readOnlyError = helper("7.0.0-beta.0")(_templateObject39()); +helpers.classNameTDZError = helper("7.0.0-beta.0")(_templateObject40()); +helpers.temporalUndefined = helper("7.0.0-beta.0")(_templateObject41()); +helpers.tdz = helper("7.5.5")(_templateObject42()); +helpers.temporalRef = helper("7.0.0-beta.0")(_templateObject43()); +helpers.slicedToArray = helper("7.0.0-beta.0")(_templateObject44()); +helpers.slicedToArrayLoose = helper("7.0.0-beta.0")(_templateObject45()); +helpers.toArray = helper("7.0.0-beta.0")(_templateObject46()); +helpers.toConsumableArray = helper("7.0.0-beta.0")(_templateObject47()); +helpers.arrayWithoutHoles = helper("7.0.0-beta.0")(_templateObject48()); +helpers.arrayWithHoles = helper("7.0.0-beta.0")(_templateObject49()); +helpers.iterableToArray = helper("7.0.0-beta.0")(_templateObject50()); +helpers.iterableToArrayLimit = helper("7.0.0-beta.0")(_templateObject51()); +helpers.iterableToArrayLimitLoose = helper("7.0.0-beta.0")(_templateObject52()); +helpers.nonIterableSpread = helper("7.0.0-beta.0")(_templateObject53()); +helpers.nonIterableRest = helper("7.0.0-beta.0")(_templateObject54()); +helpers.skipFirstGeneratorNext = helper("7.0.0-beta.0")(_templateObject55()); +helpers.toPrimitive = helper("7.1.5")(_templateObject56()); +helpers.toPropertyKey = helper("7.1.5")(_templateObject57()); +helpers.initializerWarningHelper = helper("7.0.0-beta.0")(_templateObject58()); +helpers.initializerDefineProperty = helper("7.0.0-beta.0")(_templateObject59()); +helpers.applyDecoratedDescriptor = helper("7.0.0-beta.0")(_templateObject60()); +helpers.classPrivateFieldLooseKey = helper("7.0.0-beta.0")(_templateObject61()); +helpers.classPrivateFieldLooseBase = helper("7.0.0-beta.0")(_templateObject62()); +helpers.classPrivateFieldGet = helper("7.0.0-beta.0")(_templateObject63()); +helpers.classPrivateFieldSet = helper("7.0.0-beta.0")(_templateObject64()); +helpers.classPrivateFieldDestructureSet = helper("7.4.4")(_templateObject65()); +helpers.classStaticPrivateFieldSpecGet = helper("7.0.2")(_templateObject66()); +helpers.classStaticPrivateFieldSpecSet = helper("7.0.2")(_templateObject67()); +helpers.classStaticPrivateMethodGet = helper("7.3.2")(_templateObject68()); +helpers.classStaticPrivateMethodSet = helper("7.3.2")(_templateObject69()); +helpers.decorate = helper("7.1.5")(_templateObject70()); +helpers.classPrivateMethodGet = helper("7.1.6")(_templateObject71()); +helpers.classPrivateMethodSet = helper("7.1.6")(_templateObject72()); +helpers.wrapRegExp = helper("7.2.6")(_templateObject73()); + +},{"@babel/template":167}],87:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.get = get; +exports.minVersion = minVersion; +exports.getDependencies = getDependencies; +exports.ensure = ensure; +exports.default = exports.list = void 0; + +var _traverse = _interopRequireDefault(require("@babel/traverse")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _helpers = _interopRequireDefault(require("./helpers")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function makePath(path) { + var parts = []; + + for (; path.parentPath; path = path.parentPath) { + parts.push(path.key); + if (path.inList) parts.push(path.listKey); + } + + return parts.reverse().join("."); +} + +function getHelperMetadata(file) { + var globals = new Set(); + var localBindingNames = new Set(); + var dependencies = new Map(); + var exportName; + var exportPath; + var exportBindingAssignments = []; + var importPaths = []; + var importBindingsReferences = []; + (0, _traverse.default)(file, { + ImportDeclaration: function ImportDeclaration(child) { + var name = child.node.source.value; + + if (!_helpers.default[name]) { + throw child.buildCodeFrameError("Unknown helper ".concat(name)); + } + + if (child.get("specifiers").length !== 1 || !child.get("specifiers.0").isImportDefaultSpecifier()) { + throw child.buildCodeFrameError("Helpers can only import a default value"); + } + + var bindingIdentifier = child.node.specifiers[0].local; + dependencies.set(bindingIdentifier, name); + importPaths.push(makePath(child)); + }, + ExportDefaultDeclaration: function ExportDefaultDeclaration(child) { + var decl = child.get("declaration"); + + if (decl.isFunctionDeclaration()) { + if (!decl.node.id) { + throw decl.buildCodeFrameError("Helpers should give names to their exported func declaration"); + } + + exportName = decl.node.id.name; + } + + exportPath = makePath(child); + }, + ExportAllDeclaration: function ExportAllDeclaration(child) { + throw child.buildCodeFrameError("Helpers can only export default"); + }, + ExportNamedDeclaration: function ExportNamedDeclaration(child) { + throw child.buildCodeFrameError("Helpers can only export default"); + }, + Statement: function Statement(child) { + if (child.isModuleDeclaration()) return; + child.skip(); + } + }); + (0, _traverse.default)(file, { + Program: function Program(path) { + var bindings = path.scope.getAllBindings(); + Object.keys(bindings).forEach(function (name) { + if (name === exportName) return; + if (dependencies.has(bindings[name].identifier)) return; + localBindingNames.add(name); + }); + }, + ReferencedIdentifier: function ReferencedIdentifier(child) { + var name = child.node.name; + var binding = child.scope.getBinding(name, true); + + if (!binding) { + globals.add(name); + } else if (dependencies.has(binding.identifier)) { + importBindingsReferences.push(makePath(child)); + } + }, + AssignmentExpression: function AssignmentExpression(child) { + var left = child.get("left"); + if (!(exportName in left.getBindingIdentifiers())) return; + + if (!left.isIdentifier()) { + throw left.buildCodeFrameError("Only simple assignments to exports are allowed in helpers"); + } + + var binding = child.scope.getBinding(exportName); + + if (binding && binding.scope.path.isProgram()) { + exportBindingAssignments.push(makePath(child)); + } + } + }); + if (!exportPath) throw new Error("Helpers must default-export something."); + exportBindingAssignments.reverse(); + return { + globals: Array.from(globals), + localBindingNames: Array.from(localBindingNames), + dependencies: dependencies, + exportBindingAssignments: exportBindingAssignments, + exportPath: exportPath, + exportName: exportName, + importBindingsReferences: importBindingsReferences, + importPaths: importPaths + }; +} + +function permuteHelperAST(file, metadata, id, localBindings, getDependency) { + if (localBindings && !id) { + throw new Error("Unexpected local bindings for module-based helpers."); + } + + if (!id) return; + var localBindingNames = metadata.localBindingNames, + dependencies = metadata.dependencies, + exportBindingAssignments = metadata.exportBindingAssignments, + exportPath = metadata.exportPath, + exportName = metadata.exportName, + importBindingsReferences = metadata.importBindingsReferences, + importPaths = metadata.importPaths; + var dependenciesRefs = {}; + dependencies.forEach(function (name, id) { + dependenciesRefs[id.name] = typeof getDependency === "function" && getDependency(name) || id; + }); + var toRename = {}; + var bindings = new Set(localBindings || []); + localBindingNames.forEach(function (name) { + var newName = name; + + while (bindings.has(newName)) { + newName = "_" + newName; + } + + if (newName !== name) toRename[name] = newName; + }); + + if (id.type === "Identifier" && exportName !== id.name) { + toRename[exportName] = id.name; + } + + (0, _traverse.default)(file, { + Program: function Program(path) { + var exp = path.get(exportPath); + var imps = importPaths.map(function (p) { + return path.get(p); + }); + var impsBindingRefs = importBindingsReferences.map(function (p) { + return path.get(p); + }); + var decl = exp.get("declaration"); + + if (id.type === "Identifier") { + if (decl.isFunctionDeclaration()) { + exp.replaceWith(decl); + } else { + exp.replaceWith(t.variableDeclaration("var", [t.variableDeclarator(id, decl.node)])); + } + } else if (id.type === "MemberExpression") { + if (decl.isFunctionDeclaration()) { + exportBindingAssignments.forEach(function (assignPath) { + var assign = path.get(assignPath); + assign.replaceWith(t.assignmentExpression("=", id, assign.node)); + }); + exp.replaceWith(decl); + path.pushContainer("body", t.expressionStatement(t.assignmentExpression("=", id, t.identifier(exportName)))); + } else { + exp.replaceWith(t.expressionStatement(t.assignmentExpression("=", id, decl.node))); + } + } else { + throw new Error("Unexpected helper format."); + } + + Object.keys(toRename).forEach(function (name) { + path.scope.rename(name, toRename[name]); + }); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = imps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _path = _step.value; + + _path.remove(); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = impsBindingRefs[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _path2 = _step2.value; + var node = t.cloneNode(dependenciesRefs[_path2.node.name]); + + _path2.replaceWith(node); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + path.stop(); + } + }); +} + +var helperData = Object.create(null); + +function loadHelper(name) { + if (!helperData[name]) { + var helper = _helpers.default[name]; + + if (!helper) { + throw Object.assign(new ReferenceError("Unknown helper ".concat(name)), { + code: "BABEL_HELPER_UNKNOWN", + helper: name + }); + } + + var fn = function fn() { + return t.file(helper.ast()); + }; + + var metadata = getHelperMetadata(fn()); + helperData[name] = { + build: function build(getDependency, id, localBindings) { + var file = fn(); + permuteHelperAST(file, metadata, id, localBindings, getDependency); + return { + nodes: file.program.body, + globals: metadata.globals + }; + }, + minVersion: function minVersion() { + return helper.minVersion; + }, + dependencies: metadata.dependencies + }; + } + + return helperData[name]; +} + +function get(name, getDependency, id, localBindings) { + return loadHelper(name).build(getDependency, id, localBindings); +} + +function minVersion(name) { + return loadHelper(name).minVersion(); +} + +function getDependencies(name) { + return Array.from(loadHelper(name).dependencies.values()); +} + +function ensure(name) { + loadHelper(name); +} + +var list = Object.keys(_helpers.default).map(function (name) { + return name.replace(/^_/, ""); +}).filter(function (name) { + return name !== "__esModule"; +}); +exports.list = list; +var _default = get; +exports.default = _default; + +},{"./helpers":86,"@babel/traverse":176,"@babel/types":242}],88:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.shouldHighlight = shouldHighlight; +exports.getChalk = getChalk; +exports.default = highlight; + +function _jsTokens() { + var data = _interopRequireWildcard(require("js-tokens")); + + _jsTokens = function _jsTokens() { + return data; + }; + + return data; +} + +function _esutils() { + var data = _interopRequireDefault(require("esutils")); + + _esutils = function _esutils() { + return data; + }; + + return data; +} + +function _chalk() { + var data = _interopRequireDefault(require("chalk")); + + _chalk = function _chalk() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } +} + +function getDefs(chalk) { + return { + keyword: chalk.cyan, + capitalized: chalk.yellow, + jsx_tag: chalk.yellow, + punctuator: chalk.yellow, + number: chalk.magenta, + string: chalk.green, + regex: chalk.magenta, + comment: chalk.grey, + invalid: chalk.white.bgRed.bold + }; +} + +var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; +var JSX_TAG = /^[a-z][\w-]*$/i; +var BRACKET = /^[()[\]{}]$/; + +function getTokenType(match) { + var _match$slice = match.slice(-2), + _match$slice2 = _slicedToArray(_match$slice, 2), + offset = _match$slice2[0], + text = _match$slice2[1]; + + var token = (0, _jsTokens().matchToToken)(match); + + if (token.type === "name") { + if (_esutils().default.keyword.isReservedWordES6(token.value)) { + return "keyword"; + } + + if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == " 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (shouldHighlight(options)) { + var chalk = getChalk(options); + var defs = getDefs(chalk); + return highlightTokens(defs, code); + } else { + return code; + } +} + +},{"chalk":296,"esutils":836,"js-tokens":843}],89:[function(require,module,exports){ +'use strict'; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +Object.defineProperty(exports, '__esModule', { + value: true +}); +var beforeExpr = true; +var startsExpr = true; +var isLoop = true; +var isAssign = true; +var prefix = true; +var postfix = true; + +var TokenType = function TokenType(label) { + var conf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + _classCallCheck(this, TokenType); + + this.label = label; + this.keyword = conf.keyword; + this.beforeExpr = !!conf.beforeExpr; + this.startsExpr = !!conf.startsExpr; + this.rightAssociative = !!conf.rightAssociative; + this.isLoop = !!conf.isLoop; + this.isAssign = !!conf.isAssign; + this.prefix = !!conf.prefix; + this.postfix = !!conf.postfix; + this.binop = conf.binop != null ? conf.binop : null; + this.updateContext = null; +}; + +var keywords = new Map(); + +function createKeyword(name) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + options.keyword = name; + var token = new TokenType(name, options); + keywords.set(name, token); + return token; +} + +function createBinop(name, binop) { + return new TokenType(name, { + beforeExpr: beforeExpr, + binop: binop + }); +} + +var types = { + num: new TokenType("num", { + startsExpr: startsExpr + }), + bigint: new TokenType("bigint", { + startsExpr: startsExpr + }), + regexp: new TokenType("regexp", { + startsExpr: startsExpr + }), + string: new TokenType("string", { + startsExpr: startsExpr + }), + name: new TokenType("name", { + startsExpr: startsExpr + }), + eof: new TokenType("eof"), + bracketL: new TokenType("[", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + bracketR: new TokenType("]"), + braceL: new TokenType("{", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + braceBarL: new TokenType("{|", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + braceR: new TokenType("}"), + braceBarR: new TokenType("|}"), + parenL: new TokenType("(", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + parenR: new TokenType(")"), + comma: new TokenType(",", { + beforeExpr: beforeExpr + }), + semi: new TokenType(";", { + beforeExpr: beforeExpr + }), + colon: new TokenType(":", { + beforeExpr: beforeExpr + }), + doubleColon: new TokenType("::", { + beforeExpr: beforeExpr + }), + dot: new TokenType("."), + question: new TokenType("?", { + beforeExpr: beforeExpr + }), + questionDot: new TokenType("?."), + arrow: new TokenType("=>", { + beforeExpr: beforeExpr + }), + template: new TokenType("template"), + ellipsis: new TokenType("...", { + beforeExpr: beforeExpr + }), + backQuote: new TokenType("`", { + startsExpr: startsExpr + }), + dollarBraceL: new TokenType("${", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + at: new TokenType("@"), + hash: new TokenType("#", { + startsExpr: startsExpr + }), + interpreterDirective: new TokenType("#!..."), + eq: new TokenType("=", { + beforeExpr: beforeExpr, + isAssign: isAssign + }), + assign: new TokenType("_=", { + beforeExpr: beforeExpr, + isAssign: isAssign + }), + incDec: new TokenType("++/--", { + prefix: prefix, + postfix: postfix, + startsExpr: startsExpr + }), + bang: new TokenType("!", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }), + tilde: new TokenType("~", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }), + pipeline: createBinop("|>", 0), + nullishCoalescing: createBinop("??", 1), + logicalOR: createBinop("||", 2), + logicalAND: createBinop("&&", 3), + bitwiseOR: createBinop("|", 4), + bitwiseXOR: createBinop("^", 5), + bitwiseAND: createBinop("&", 6), + equality: createBinop("==/!=/===/!==", 7), + relational: createBinop("/<=/>=", 8), + bitShift: createBinop("<>/>>>", 9), + plusMin: new TokenType("+/-", { + beforeExpr: beforeExpr, + binop: 10, + prefix: prefix, + startsExpr: startsExpr + }), + modulo: new TokenType("%", { + beforeExpr: beforeExpr, + binop: 11, + startsExpr: startsExpr + }), + star: createBinop("*", 11), + slash: createBinop("/", 11), + exponent: new TokenType("**", { + beforeExpr: beforeExpr, + binop: 12, + rightAssociative: true + }), + _break: createKeyword("break"), + _case: createKeyword("case", { + beforeExpr: beforeExpr + }), + _catch: createKeyword("catch"), + _continue: createKeyword("continue"), + _debugger: createKeyword("debugger"), + _default: createKeyword("default", { + beforeExpr: beforeExpr + }), + _do: createKeyword("do", { + isLoop: isLoop, + beforeExpr: beforeExpr + }), + _else: createKeyword("else", { + beforeExpr: beforeExpr + }), + _finally: createKeyword("finally"), + _for: createKeyword("for", { + isLoop: isLoop + }), + _function: createKeyword("function", { + startsExpr: startsExpr + }), + _if: createKeyword("if"), + _return: createKeyword("return", { + beforeExpr: beforeExpr + }), + _switch: createKeyword("switch"), + _throw: createKeyword("throw", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }), + _try: createKeyword("try"), + _var: createKeyword("var"), + _const: createKeyword("const"), + _while: createKeyword("while", { + isLoop: isLoop + }), + _with: createKeyword("with"), + _new: createKeyword("new", { + beforeExpr: beforeExpr, + startsExpr: startsExpr + }), + _this: createKeyword("this", { + startsExpr: startsExpr + }), + _super: createKeyword("super", { + startsExpr: startsExpr + }), + _class: createKeyword("class", { + startsExpr: startsExpr + }), + _extends: createKeyword("extends", { + beforeExpr: beforeExpr + }), + _export: createKeyword("export"), + _import: createKeyword("import", { + startsExpr: startsExpr + }), + _null: createKeyword("null", { + startsExpr: startsExpr + }), + _true: createKeyword("true", { + startsExpr: startsExpr + }), + _false: createKeyword("false", { + startsExpr: startsExpr + }), + _in: createKeyword("in", { + beforeExpr: beforeExpr, + binop: 8 + }), + _instanceof: createKeyword("instanceof", { + beforeExpr: beforeExpr, + binop: 8 + }), + _typeof: createKeyword("typeof", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }), + _void: createKeyword("void", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }), + _delete: createKeyword("delete", { + beforeExpr: beforeExpr, + prefix: prefix, + startsExpr: startsExpr + }) +}; +var SCOPE_OTHER = 0, + SCOPE_PROGRAM = 1, + SCOPE_FUNCTION = 2, + SCOPE_ASYNC = 4, + SCOPE_GENERATOR = 8, + SCOPE_ARROW = 16, + SCOPE_SIMPLE_CATCH = 32, + SCOPE_SUPER = 64, + SCOPE_DIRECT_SUPER = 128, + SCOPE_CLASS = 256, + SCOPE_TS_MODULE = 512, + SCOPE_VAR = SCOPE_PROGRAM | SCOPE_FUNCTION | SCOPE_TS_MODULE; + +function functionFlags(isAsync, isGenerator) { + return SCOPE_FUNCTION | (isAsync ? SCOPE_ASYNC : 0) | (isGenerator ? SCOPE_GENERATOR : 0); +} + +var BIND_KIND_VALUE = 1, + BIND_KIND_TYPE = 2, + BIND_SCOPE_VAR = 4, + BIND_SCOPE_LEXICAL = 8, + BIND_SCOPE_FUNCTION = 16, + BIND_FLAGS_NONE = 64, + BIND_FLAGS_CLASS = 128, + BIND_FLAGS_TS_ENUM = 256, + BIND_FLAGS_TS_CONST_ENUM = 512, + BIND_FLAGS_TS_EXPORT_ONLY = 1024; +var BIND_CLASS = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_CLASS, + BIND_LEXICAL = BIND_KIND_VALUE | 0 | BIND_SCOPE_LEXICAL | 0, + BIND_VAR = BIND_KIND_VALUE | 0 | BIND_SCOPE_VAR | 0, + BIND_FUNCTION = BIND_KIND_VALUE | 0 | BIND_SCOPE_FUNCTION | 0, + BIND_TS_INTERFACE = 0 | BIND_KIND_TYPE | 0 | BIND_FLAGS_CLASS, + BIND_TS_TYPE = 0 | BIND_KIND_TYPE | 0 | 0, + BIND_TS_ENUM = BIND_KIND_VALUE | BIND_KIND_TYPE | BIND_SCOPE_LEXICAL | BIND_FLAGS_TS_ENUM, + BIND_TS_AMBIENT = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY, + BIND_NONE = 0 | 0 | 0 | BIND_FLAGS_NONE, + BIND_OUTSIDE = BIND_KIND_VALUE | 0 | 0 | BIND_FLAGS_NONE, + BIND_TS_CONST_ENUM = BIND_TS_ENUM | BIND_FLAGS_TS_CONST_ENUM, + BIND_TS_NAMESPACE = 0 | 0 | 0 | BIND_FLAGS_TS_EXPORT_ONLY; + +function isSimpleProperty(node) { + return node != null && node.type === "Property" && node.kind === "init" && node.method === false; +} + +var estree = function estree(superClass) { + return ( + /*#__PURE__*/ + function (_superClass) { + _inherits(_class, _superClass); + + function _class() { + _classCallCheck(this, _class); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class).apply(this, arguments)); + } + + _createClass(_class, [{ + key: "estreeParseRegExpLiteral", + value: function estreeParseRegExpLiteral(_ref) { + var pattern = _ref.pattern, + flags = _ref.flags; + var regex = null; + + try { + regex = new RegExp(pattern, flags); + } catch (e) {} + + var node = this.estreeParseLiteral(regex); + node.regex = { + pattern: pattern, + flags: flags + }; + return node; + } + }, { + key: "estreeParseLiteral", + value: function estreeParseLiteral(value) { + return this.parseLiteral(value, "Literal"); + } + }, { + key: "directiveToStmt", + value: function directiveToStmt(directive) { + var directiveLiteral = directive.value; + var stmt = this.startNodeAt(directive.start, directive.loc.start); + var expression = this.startNodeAt(directiveLiteral.start, directiveLiteral.loc.start); + expression.value = directiveLiteral.value; + expression.raw = directiveLiteral.extra.raw; + stmt.expression = this.finishNodeAt(expression, "Literal", directiveLiteral.end, directiveLiteral.loc.end); + stmt.directive = directiveLiteral.extra.raw.slice(1, -1); + return this.finishNodeAt(stmt, "ExpressionStatement", directive.end, directive.loc.end); + } + }, { + key: "initFunction", + value: function initFunction(node, isAsync) { + _get(_getPrototypeOf(_class.prototype), "initFunction", this).call(this, node, isAsync); + + node.expression = false; + } + }, { + key: "checkDeclaration", + value: function checkDeclaration(node) { + if (isSimpleProperty(node)) { + this.checkDeclaration(node.value); + } else { + _get(_getPrototypeOf(_class.prototype), "checkDeclaration", this).call(this, node); + } + } + }, { + key: "checkGetterSetterParams", + value: function checkGetterSetterParams(method) { + var prop = method; + var paramCount = prop.kind === "get" ? 0 : 1; + var start = prop.start; + + if (prop.value.params.length !== paramCount) { + if (prop.kind === "get") { + this.raise(start, "getter must not have any formal parameters"); + } else { + this.raise(start, "setter must have exactly one formal parameter"); + } + } else if (prop.kind === "set" && prop.value.params[0].type === "RestElement") { + this.raise(start, "setter function argument must not be a rest parameter"); + } + } + }, { + key: "checkLVal", + value: function checkLVal(expr) { + var _this = this; + + var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; + var checkClashes = arguments.length > 2 ? arguments[2] : undefined; + var contextDescription = arguments.length > 3 ? arguments[3] : undefined; + var disallowLetBinding = arguments.length > 4 ? arguments[4] : undefined; + + switch (expr.type) { + case "ObjectPattern": + expr.properties.forEach(function (prop) { + _this.checkLVal(prop.type === "Property" ? prop.value : prop, bindingType, checkClashes, "object destructuring pattern", disallowLetBinding); + }); + break; + + default: + _get(_getPrototypeOf(_class.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription, disallowLetBinding); + + } + } + }, { + key: "checkDuplicatedProto", + value: function checkDuplicatedProto(prop, protoRef) { + if (prop.type === "SpreadElement" || prop.computed || prop.method || prop.shorthand) { + return; + } + + var key = prop.key; + var name = key.type === "Identifier" ? key.name : String(key.value); + + if (name === "__proto__" && prop.kind === "init") { + if (protoRef.used && !protoRef.start) { + protoRef.start = key.start; + } + + protoRef.used = true; + } + } + }, { + key: "isStrictBody", + value: function isStrictBody(node) { + var isBlockStatement = node.body.type === "BlockStatement"; + + if (isBlockStatement && node.body.body.length > 0) { + for (var _i = 0, _node$body$body = node.body.body; _i < _node$body$body.length; _i++) { + var directive = _node$body$body[_i]; + + if (directive.type === "ExpressionStatement" && directive.expression.type === "Literal") { + if (directive.expression.value === "use strict") return true; + } else { + break; + } + } + } + + return false; + } + }, { + key: "isValidDirective", + value: function isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "Literal" && typeof stmt.expression.value === "string" && (!stmt.expression.extra || !stmt.expression.extra.parenthesized); + } + }, { + key: "stmtToDirective", + value: function stmtToDirective(stmt) { + var directive = _get(_getPrototypeOf(_class.prototype), "stmtToDirective", this).call(this, stmt); + + var value = stmt.expression.value; + directive.value.value = value; + return directive; + } + }, { + key: "parseBlockBody", + value: function parseBlockBody(node, allowDirectives, topLevel, end) { + var _this2 = this; + + _get(_getPrototypeOf(_class.prototype), "parseBlockBody", this).call(this, node, allowDirectives, topLevel, end); + + var directiveStatements = node.directives.map(function (d) { + return _this2.directiveToStmt(d); + }); + node.body = directiveStatements.concat(node.body); + delete node.directives; + } + }, { + key: "pushClassMethod", + value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true); + + if (method.typeParameters) { + method.value.typeParameters = method.typeParameters; + delete method.typeParameters; + } + + classBody.body.push(method); + } + }, { + key: "parseExprAtom", + value: function parseExprAtom(refShorthandDefaultPos) { + switch (this.state.type) { + case types.regexp: + return this.estreeParseRegExpLiteral(this.state.value); + + case types.num: + case types.string: + return this.estreeParseLiteral(this.state.value); + + case types._null: + return this.estreeParseLiteral(null); + + case types._true: + return this.estreeParseLiteral(true); + + case types._false: + return this.estreeParseLiteral(false); + + default: + return _get(_getPrototypeOf(_class.prototype), "parseExprAtom", this).call(this, refShorthandDefaultPos); + } + } + }, { + key: "parseLiteral", + value: function parseLiteral(value, type, startPos, startLoc) { + var node = _get(_getPrototypeOf(_class.prototype), "parseLiteral", this).call(this, value, type, startPos, startLoc); + + node.raw = node.extra.raw; + delete node.extra; + return node; + } + }, { + key: "parseFunctionBody", + value: function parseFunctionBody(node, allowExpression) { + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + _get(_getPrototypeOf(_class.prototype), "parseFunctionBody", this).call(this, node, allowExpression, isMethod); + + node.expression = node.body.type !== "BlockStatement"; + } + }, { + key: "parseMethod", + value: function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type) { + var inClassScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; + var funcNode = this.startNode(); + funcNode.kind = node.kind; + funcNode = _get(_getPrototypeOf(_class.prototype), "parseMethod", this).call(this, funcNode, isGenerator, isAsync, isConstructor, allowDirectSuper, type, inClassScope); + funcNode.type = "FunctionExpression"; + delete funcNode.kind; + node.value = funcNode; + type = type === "ClassMethod" ? "MethodDefinition" : type; + return this.finishNode(node, type); + } + }, { + key: "parseObjectMethod", + value: function parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) { + var node = _get(_getPrototypeOf(_class.prototype), "parseObjectMethod", this).call(this, prop, isGenerator, isAsync, isPattern, containsEsc); + + if (node) { + node.type = "Property"; + if (node.kind === "method") node.kind = "init"; + node.shorthand = false; + } + + return node; + } + }, { + key: "parseObjectProperty", + value: function parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos) { + var node = _get(_getPrototypeOf(_class.prototype), "parseObjectProperty", this).call(this, prop, startPos, startLoc, isPattern, refShorthandDefaultPos); + + if (node) { + node.kind = "init"; + node.type = "Property"; + } + + return node; + } + }, { + key: "toAssignable", + value: function toAssignable(node, isBinding, contextDescription) { + if (isSimpleProperty(node)) { + this.toAssignable(node.value, isBinding, contextDescription); + return node; + } + + return _get(_getPrototypeOf(_class.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); + } + }, { + key: "toAssignableObjectExpressionProp", + value: function toAssignableObjectExpressionProp(prop, isBinding, isLast) { + if (prop.kind === "get" || prop.kind === "set") { + throw this.raise(prop.key.start, "Object pattern can't contain getter or setter"); + } else if (prop.method) { + throw this.raise(prop.key.start, "Object pattern can't contain methods"); + } else { + _get(_getPrototypeOf(_class.prototype), "toAssignableObjectExpressionProp", this).call(this, prop, isBinding, isLast); + } + } + }]); + + return _class; + }(superClass) + ); +}; + +var lineBreak = /\r\n?|[\n\u2028\u2029]/; +var lineBreakG = new RegExp(lineBreak.source, "g"); + +function isNewLine(code) { + switch (code) { + case 10: + case 13: + case 8232: + case 8233: + return true; + + default: + return false; + } +} + +var skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g; + +function isWhitespace(code) { + switch (code) { + case 0x0009: + case 0x000b: + case 0x000c: + case 32: + case 160: + case 5760: + case 0x2000: + case 0x2001: + case 0x2002: + case 0x2003: + case 0x2004: + case 0x2005: + case 0x2006: + case 0x2007: + case 0x2008: + case 0x2009: + case 0x200a: + case 0x202f: + case 0x205f: + case 0x3000: + case 0xfeff: + return true; + + default: + return false; + } +} + +var TokContext = function TokContext(token, isExpr, preserveSpace, override) { + _classCallCheck(this, TokContext); + + this.token = token; + this.isExpr = !!isExpr; + this.preserveSpace = !!preserveSpace; + this.override = override; +}; + +var types$1 = { + braceStatement: new TokContext("{", false), + braceExpression: new TokContext("{", true), + templateQuasi: new TokContext("${", false), + parenStatement: new TokContext("(", false), + parenExpression: new TokContext("(", true), + template: new TokContext("`", true, true, function (p) { + return p.readTmplToken(); + }), + functionExpression: new TokContext("function", true), + functionStatement: new TokContext("function", false) +}; + +types.parenR.updateContext = types.braceR.updateContext = function () { + if (this.state.context.length === 1) { + this.state.exprAllowed = true; + return; + } + + var out = this.state.context.pop(); + + if (out === types$1.braceStatement && this.curContext().token === "function") { + out = this.state.context.pop(); + } + + this.state.exprAllowed = !out.isExpr; +}; + +types.name.updateContext = function (prevType) { + var allowed = false; + + if (prevType !== types.dot) { + if (this.state.value === "of" && !this.state.exprAllowed || this.state.value === "yield" && this.scope.inGenerator) { + allowed = true; + } + } + + this.state.exprAllowed = allowed; + + if (this.state.isIterator) { + this.state.isIterator = false; + } +}; + +types.braceL.updateContext = function (prevType) { + this.state.context.push(this.braceIsBlock(prevType) ? types$1.braceStatement : types$1.braceExpression); + this.state.exprAllowed = true; +}; + +types.dollarBraceL.updateContext = function () { + this.state.context.push(types$1.templateQuasi); + this.state.exprAllowed = true; +}; + +types.parenL.updateContext = function (prevType) { + var statementParens = prevType === types._if || prevType === types._for || prevType === types._with || prevType === types._while; + this.state.context.push(statementParens ? types$1.parenStatement : types$1.parenExpression); + this.state.exprAllowed = true; +}; + +types.incDec.updateContext = function () {}; + +types._function.updateContext = types._class.updateContext = function (prevType) { + if (prevType.beforeExpr && prevType !== types.semi && prevType !== types._else && !(prevType === types._return && lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start))) && !((prevType === types.colon || prevType === types.braceL) && this.curContext() === types$1.b_stat)) { + this.state.context.push(types$1.functionExpression); + } else { + this.state.context.push(types$1.functionStatement); + } + + this.state.exprAllowed = false; +}; + +types.backQuote.updateContext = function () { + if (this.curContext() === types$1.template) { + this.state.context.pop(); + } else { + this.state.context.push(types$1.template); + } + + this.state.exprAllowed = false; +}; + +var reservedWords = { + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] +}; +var reservedWordsStrictSet = new Set(reservedWords.strict); +var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + +var isReservedWord = function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; +}; + +function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); +} + +function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); +} + +function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); +} + +function isKeyword(word) { + return keywords.has(word); +} + +var keywordRelationalOperator = /^in(stanceof)?$/; +var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; +var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECD\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; +var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); +var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); +nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; +var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 477, 28, 11, 0, 9, 21, 155, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 12, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 0, 33, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 0, 161, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 270, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 754, 9486, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42710, 42, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541]; +var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 525, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 4, 9, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 232, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 19723, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 792487, 239]; + +function isInAstralSet(code, set) { + var pos = 0x10000; + + for (var i = 0, length = set.length; i < length; i += 2) { + pos += set[i]; + if (pos > code) return false; + pos += set[i + 1]; + if (pos >= code) return true; + } + + return false; +} + +function isIdentifierStart(code) { + if (code < 65) return code === 36; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes); +} + +function isIteratorStart(current, next) { + return current === 64 && next === 64; +} + +function isIdentifierChar(code) { + if (code < 48) return code === 36; + if (code < 58) return true; + if (code < 65) return false; + if (code <= 90) return true; + if (code < 97) return code === 95; + if (code <= 122) return true; + + if (code <= 0xffff) { + return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code)); + } + + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); +} + +var reservedTypes = ["any", "bool", "boolean", "empty", "false", "mixed", "null", "number", "static", "string", "true", "typeof", "void", "interface", "extends", "_"]; + +function isEsModuleType(bodyElement) { + return bodyElement.type === "DeclareExportAllDeclaration" || bodyElement.type === "DeclareExportDeclaration" && (!bodyElement.declaration || bodyElement.declaration.type !== "TypeAlias" && bodyElement.declaration.type !== "InterfaceDeclaration"); +} + +function hasTypeImportKind(node) { + return node.importKind === "type" || node.importKind === "typeof"; +} + +function isMaybeDefaultImport(state) { + return (state.type === types.name || !!state.type.keyword) && state.value !== "from"; +} + +var exportSuggestions = { + const: "declare export var", + let: "declare export var", + type: "export type", + interface: "export interface" +}; + +function partition(list, test) { + var list1 = []; + var list2 = []; + + for (var i = 0; i < list.length; i++) { + (test(list[i], i, list) ? list1 : list2).push(list[i]); + } + + return [list1, list2]; +} + +var FLOW_PRAGMA_REGEX = /\*?\s*@((?:no)?flow)\b/; + +var flow = function flow(superClass) { + return ( + /*#__PURE__*/ + function (_superClass2) { + _inherits(_class2, _superClass2); + + function _class2(options, input) { + var _this3; + + _classCallCheck(this, _class2); + + _this3 = _possibleConstructorReturn(this, _getPrototypeOf(_class2).call(this, options, input)); + _this3.flowPragma = undefined; + return _this3; + } + + _createClass(_class2, [{ + key: "shouldParseTypes", + value: function shouldParseTypes() { + return this.getPluginOption("flow", "all") || this.flowPragma === "flow"; + } + }, { + key: "shouldParseEnums", + value: function shouldParseEnums() { + return !!this.getPluginOption("flow", "enums"); + } + }, { + key: "finishToken", + value: function finishToken(type, val) { + if (type !== types.string && type !== types.semi && type !== types.interpreterDirective) { + if (this.flowPragma === undefined) { + this.flowPragma = null; + } + } + + return _get(_getPrototypeOf(_class2.prototype), "finishToken", this).call(this, type, val); + } + }, { + key: "addComment", + value: function addComment(comment) { + if (this.flowPragma === undefined) { + var matches = FLOW_PRAGMA_REGEX.exec(comment.value); + if (!matches) ;else if (matches[1] === "flow") { + this.flowPragma = "flow"; + } else if (matches[1] === "noflow") { + this.flowPragma = "noflow"; + } else { + throw new Error("Unexpected flow pragma"); + } + } + + return _get(_getPrototypeOf(_class2.prototype), "addComment", this).call(this, comment); + } + }, { + key: "flowParseTypeInitialiser", + value: function flowParseTypeInitialiser(tok) { + var oldInType = this.state.inType; + this.state.inType = true; + this.expect(tok || types.colon); + var type = this.flowParseType(); + this.state.inType = oldInType; + return type; + } + }, { + key: "flowParsePredicate", + value: function flowParsePredicate() { + var node = this.startNode(); + var moduloLoc = this.state.startLoc; + var moduloPos = this.state.start; + this.expect(types.modulo); + var checksLoc = this.state.startLoc; + this.expectContextual("checks"); + + if (moduloLoc.line !== checksLoc.line || moduloLoc.column !== checksLoc.column - 1) { + this.raise(moduloPos, "Spaces between ´%´ and ´checks´ are not allowed here."); + } + + if (this.eat(types.parenL)) { + node.value = this.parseExpression(); + this.expect(types.parenR); + return this.finishNode(node, "DeclaredPredicate"); + } else { + return this.finishNode(node, "InferredPredicate"); + } + } + }, { + key: "flowParseTypeAndPredicateInitialiser", + value: function flowParseTypeAndPredicateInitialiser() { + var oldInType = this.state.inType; + this.state.inType = true; + this.expect(types.colon); + var type = null; + var predicate = null; + + if (this.match(types.modulo)) { + this.state.inType = oldInType; + predicate = this.flowParsePredicate(); + } else { + type = this.flowParseType(); + this.state.inType = oldInType; + + if (this.match(types.modulo)) { + predicate = this.flowParsePredicate(); + } + } + + return [type, predicate]; + } + }, { + key: "flowParseDeclareClass", + value: function flowParseDeclareClass(node) { + this.next(); + this.flowParseInterfaceish(node, true); + return this.finishNode(node, "DeclareClass"); + } + }, { + key: "flowParseDeclareFunction", + value: function flowParseDeclareFunction(node) { + this.next(); + var id = node.id = this.parseIdentifier(); + var typeNode = this.startNode(); + var typeContainer = this.startNode(); + + if (this.isRelational("<")) { + typeNode.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + typeNode.typeParameters = null; + } + + this.expect(types.parenL); + var tmp = this.flowParseFunctionTypeParams(); + typeNode.params = tmp.params; + typeNode.rest = tmp.rest; + this.expect(types.parenR); + + var _this$flowParseTypeAn = this.flowParseTypeAndPredicateInitialiser(); + + var _this$flowParseTypeAn2 = _slicedToArray(_this$flowParseTypeAn, 2); + + typeNode.returnType = _this$flowParseTypeAn2[0]; + node.predicate = _this$flowParseTypeAn2[1]; + typeContainer.typeAnnotation = this.finishNode(typeNode, "FunctionTypeAnnotation"); + id.typeAnnotation = this.finishNode(typeContainer, "TypeAnnotation"); + this.resetEndLocation(id); + this.semicolon(); + return this.finishNode(node, "DeclareFunction"); + } + }, { + key: "flowParseDeclare", + value: function flowParseDeclare(node, insideModule) { + if (this.match(types._class)) { + return this.flowParseDeclareClass(node); + } else if (this.match(types._function)) { + return this.flowParseDeclareFunction(node); + } else if (this.match(types._var)) { + return this.flowParseDeclareVariable(node); + } else if (this.eatContextual("module")) { + if (this.match(types.dot)) { + return this.flowParseDeclareModuleExports(node); + } else { + if (insideModule) { + this.raise(this.state.lastTokStart, "`declare module` cannot be used inside another `declare module`"); + } + + return this.flowParseDeclareModule(node); + } + } else if (this.isContextual("type")) { + return this.flowParseDeclareTypeAlias(node); + } else if (this.isContextual("opaque")) { + return this.flowParseDeclareOpaqueType(node); + } else if (this.isContextual("interface")) { + return this.flowParseDeclareInterface(node); + } else if (this.match(types._export)) { + return this.flowParseDeclareExportDeclaration(node, insideModule); + } else { + throw this.unexpected(); + } + } + }, { + key: "flowParseDeclareVariable", + value: function flowParseDeclareVariable(node) { + this.next(); + node.id = this.flowParseTypeAnnotatableIdentifier(true); + this.scope.declareName(node.id.name, BIND_VAR, node.id.start); + this.semicolon(); + return this.finishNode(node, "DeclareVariable"); + } + }, { + key: "flowParseDeclareModule", + value: function flowParseDeclareModule(node) { + var _this4 = this; + + this.scope.enter(SCOPE_OTHER); + + if (this.match(types.string)) { + node.id = this.parseExprAtom(); + } else { + node.id = this.parseIdentifier(); + } + + var bodyNode = node.body = this.startNode(); + var body = bodyNode.body = []; + this.expect(types.braceL); + + while (!this.match(types.braceR)) { + var _bodyNode = this.startNode(); + + if (this.match(types._import)) { + this.next(); + + if (!this.isContextual("type") && !this.match(types._typeof)) { + this.raise(this.state.lastTokStart, "Imports within a `declare module` body must always be `import type` or `import typeof`"); + } + + this.parseImport(_bodyNode); + } else { + this.expectContextual("declare", "Only declares and type imports are allowed inside declare module"); + _bodyNode = this.flowParseDeclare(_bodyNode, true); + } + + body.push(_bodyNode); + } + + this.scope.exit(); + this.expect(types.braceR); + this.finishNode(bodyNode, "BlockStatement"); + var kind = null; + var hasModuleExport = false; + var errorMessage = "Found both `declare module.exports` and `declare export` in the same module. " + "Modules can only have 1 since they are either an ES module or they are a CommonJS module"; + body.forEach(function (bodyElement) { + if (isEsModuleType(bodyElement)) { + if (kind === "CommonJS") { + _this4.raise(bodyElement.start, errorMessage); + } + + kind = "ES"; + } else if (bodyElement.type === "DeclareModuleExports") { + if (hasModuleExport) { + _this4.raise(bodyElement.start, "Duplicate `declare module.exports` statement"); + } + + if (kind === "ES") _this4.raise(bodyElement.start, errorMessage); + kind = "CommonJS"; + hasModuleExport = true; + } + }); + node.kind = kind || "CommonJS"; + return this.finishNode(node, "DeclareModule"); + } + }, { + key: "flowParseDeclareExportDeclaration", + value: function flowParseDeclareExportDeclaration(node, insideModule) { + this.expect(types._export); + + if (this.eat(types._default)) { + if (this.match(types._function) || this.match(types._class)) { + node.declaration = this.flowParseDeclare(this.startNode()); + } else { + node.declaration = this.flowParseType(); + this.semicolon(); + } + + node.default = true; + return this.finishNode(node, "DeclareExportDeclaration"); + } else { + if (this.match(types._const) || this.isLet() || (this.isContextual("type") || this.isContextual("interface")) && !insideModule) { + var label = this.state.value; + var suggestion = exportSuggestions[label]; + this.unexpected(this.state.start, "`declare export ".concat(label, "` is not supported. Use `").concat(suggestion, "` instead")); + } + + if (this.match(types._var) || this.match(types._function) || this.match(types._class) || this.isContextual("opaque")) { + node.declaration = this.flowParseDeclare(this.startNode()); + node.default = false; + return this.finishNode(node, "DeclareExportDeclaration"); + } else if (this.match(types.star) || this.match(types.braceL) || this.isContextual("interface") || this.isContextual("type") || this.isContextual("opaque")) { + node = this.parseExport(node); + + if (node.type === "ExportNamedDeclaration") { + node.type = "ExportDeclaration"; + node.default = false; + delete node.exportKind; + } + + node.type = "Declare" + node.type; + return node; + } + } + + throw this.unexpected(); + } + }, { + key: "flowParseDeclareModuleExports", + value: function flowParseDeclareModuleExports(node) { + this.next(); + this.expectContextual("exports"); + node.typeAnnotation = this.flowParseTypeAnnotation(); + this.semicolon(); + return this.finishNode(node, "DeclareModuleExports"); + } + }, { + key: "flowParseDeclareTypeAlias", + value: function flowParseDeclareTypeAlias(node) { + this.next(); + this.flowParseTypeAlias(node); + node.type = "DeclareTypeAlias"; + return node; + } + }, { + key: "flowParseDeclareOpaqueType", + value: function flowParseDeclareOpaqueType(node) { + this.next(); + this.flowParseOpaqueType(node, true); + node.type = "DeclareOpaqueType"; + return node; + } + }, { + key: "flowParseDeclareInterface", + value: function flowParseDeclareInterface(node) { + this.next(); + this.flowParseInterfaceish(node); + return this.finishNode(node, "DeclareInterface"); + } + }, { + key: "flowParseInterfaceish", + value: function flowParseInterfaceish(node) { + var isClass = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + node.id = this.flowParseRestrictedIdentifier(!isClass); + this.scope.declareName(node.id.name, isClass ? BIND_FUNCTION : BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.extends = []; + node.implements = []; + node.mixins = []; + + if (this.eat(types._extends)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (!isClass && this.eat(types.comma)); + } + + if (this.isContextual("mixins")) { + this.next(); + + do { + node.mixins.push(this.flowParseInterfaceExtends()); + } while (this.eat(types.comma)); + } + + if (this.isContextual("implements")) { + this.next(); + + do { + node.implements.push(this.flowParseInterfaceExtends()); + } while (this.eat(types.comma)); + } + + node.body = this.flowParseObjectType({ + allowStatic: isClass, + allowExact: false, + allowSpread: false, + allowProto: isClass, + allowInexact: false + }); + } + }, { + key: "flowParseInterfaceExtends", + value: function flowParseInterfaceExtends() { + var node = this.startNode(); + node.id = this.flowParseQualifiedTypeIdentifier(); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + node.typeParameters = null; + } + + return this.finishNode(node, "InterfaceExtends"); + } + }, { + key: "flowParseInterface", + value: function flowParseInterface(node) { + this.flowParseInterfaceish(node); + return this.finishNode(node, "InterfaceDeclaration"); + } + }, { + key: "checkNotUnderscore", + value: function checkNotUnderscore(word) { + if (word === "_") { + this.raise(this.state.start, "`_` is only allowed as a type argument to call or new"); + } + } + }, { + key: "checkReservedType", + value: function checkReservedType(word, startLoc) { + if (reservedTypes.indexOf(word) > -1) { + this.raise(startLoc, "Cannot overwrite reserved type ".concat(word)); + } + } + }, { + key: "flowParseRestrictedIdentifier", + value: function flowParseRestrictedIdentifier(liberal) { + this.checkReservedType(this.state.value, this.state.start); + return this.parseIdentifier(liberal); + } + }, { + key: "flowParseTypeAlias", + value: function flowParseTypeAlias(node) { + node.id = this.flowParseRestrictedIdentifier(); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.right = this.flowParseTypeInitialiser(types.eq); + this.semicolon(); + return this.finishNode(node, "TypeAlias"); + } + }, { + key: "flowParseOpaqueType", + value: function flowParseOpaqueType(node, declare) { + this.expectContextual("type"); + node.id = this.flowParseRestrictedIdentifier(true); + this.scope.declareName(node.id.name, BIND_LEXICAL, node.id.start); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } else { + node.typeParameters = null; + } + + node.supertype = null; + + if (this.match(types.colon)) { + node.supertype = this.flowParseTypeInitialiser(types.colon); + } + + node.impltype = null; + + if (!declare) { + node.impltype = this.flowParseTypeInitialiser(types.eq); + } + + this.semicolon(); + return this.finishNode(node, "OpaqueType"); + } + }, { + key: "flowParseTypeParameter", + value: function flowParseTypeParameter() { + var requireDefault = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var nodeStart = this.state.start; + var node = this.startNode(); + var variance = this.flowParseVariance(); + var ident = this.flowParseTypeAnnotatableIdentifier(); + node.name = ident.name; + node.variance = variance; + node.bound = ident.typeAnnotation; + + if (this.match(types.eq)) { + this.eat(types.eq); + node.default = this.flowParseType(); + } else { + if (requireDefault) { + this.raise(nodeStart, "Type parameter declaration needs a default, since a preceding type parameter declaration has a default."); + } + } + + return this.finishNode(node, "TypeParameter"); + } + }, { + key: "flowParseTypeParameterDeclaration", + value: function flowParseTypeParameterDeclaration() { + var oldInType = this.state.inType; + var node = this.startNode(); + node.params = []; + this.state.inType = true; + + if (this.isRelational("<") || this.match(types.jsxTagStart)) { + this.next(); + } else { + this.unexpected(); + } + + var defaultRequired = false; + + do { + var typeParameter = this.flowParseTypeParameter(defaultRequired); + node.params.push(typeParameter); + + if (typeParameter.default) { + defaultRequired = true; + } + + if (!this.isRelational(">")) { + this.expect(types.comma); + } + } while (!this.isRelational(">")); + + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterDeclaration"); + } + }, { + key: "flowParseTypeParameterInstantiation", + value: function flowParseTypeParameterInstantiation() { + var node = this.startNode(); + var oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); + var oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = false; + + while (!this.isRelational(">")) { + node.params.push(this.flowParseType()); + + if (!this.isRelational(">")) { + this.expect(types.comma); + } + } + + this.state.noAnonFunctionType = oldNoAnonFunctionType; + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + }, { + key: "flowParseTypeParameterInstantiationCallOrNew", + value: function flowParseTypeParameterInstantiationCallOrNew() { + var node = this.startNode(); + var oldInType = this.state.inType; + node.params = []; + this.state.inType = true; + this.expectRelational("<"); + + while (!this.isRelational(">")) { + node.params.push(this.flowParseTypeOrImplicitInstantiation()); + + if (!this.isRelational(">")) { + this.expect(types.comma); + } + } + + this.expectRelational(">"); + this.state.inType = oldInType; + return this.finishNode(node, "TypeParameterInstantiation"); + } + }, { + key: "flowParseInterfaceType", + value: function flowParseInterfaceType() { + var node = this.startNode(); + this.expectContextual("interface"); + node.extends = []; + + if (this.eat(types._extends)) { + do { + node.extends.push(this.flowParseInterfaceExtends()); + } while (this.eat(types.comma)); + } + + node.body = this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: false, + allowProto: false, + allowInexact: false + }); + return this.finishNode(node, "InterfaceTypeAnnotation"); + } + }, { + key: "flowParseObjectPropertyKey", + value: function flowParseObjectPropertyKey() { + return this.match(types.num) || this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); + } + }, { + key: "flowParseObjectTypeIndexer", + value: function flowParseObjectTypeIndexer(node, isStatic, variance) { + node.static = isStatic; + + if (this.lookahead().type === types.colon) { + node.id = this.flowParseObjectPropertyKey(); + node.key = this.flowParseTypeInitialiser(); + } else { + node.id = null; + node.key = this.flowParseType(); + } + + this.expect(types.bracketR); + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + return this.finishNode(node, "ObjectTypeIndexer"); + } + }, { + key: "flowParseObjectTypeInternalSlot", + value: function flowParseObjectTypeInternalSlot(node, isStatic) { + node.static = isStatic; + node.id = this.flowParseObjectPropertyKey(); + this.expect(types.bracketR); + this.expect(types.bracketR); + + if (this.isRelational("<") || this.match(types.parenL)) { + node.method = true; + node.optional = false; + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + } else { + node.method = false; + + if (this.eat(types.question)) { + node.optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + } + + return this.finishNode(node, "ObjectTypeInternalSlot"); + } + }, { + key: "flowParseObjectTypeMethodish", + value: function flowParseObjectTypeMethodish(node) { + node.params = []; + node.rest = null; + node.typeParameters = null; + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + this.expect(types.parenL); + + while (!this.match(types.parenR) && !this.match(types.ellipsis)) { + node.params.push(this.flowParseFunctionTypeParam()); + + if (!this.match(types.parenR)) { + this.expect(types.comma); + } + } + + if (this.eat(types.ellipsis)) { + node.rest = this.flowParseFunctionTypeParam(); + } + + this.expect(types.parenR); + node.returnType = this.flowParseTypeInitialiser(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + }, { + key: "flowParseObjectTypeCallProperty", + value: function flowParseObjectTypeCallProperty(node, isStatic) { + var valueNode = this.startNode(); + node.static = isStatic; + node.value = this.flowParseObjectTypeMethodish(valueNode); + return this.finishNode(node, "ObjectTypeCallProperty"); + } + }, { + key: "flowParseObjectType", + value: function flowParseObjectType(_ref2) { + var allowStatic = _ref2.allowStatic, + allowExact = _ref2.allowExact, + allowSpread = _ref2.allowSpread, + allowProto = _ref2.allowProto, + allowInexact = _ref2.allowInexact; + var oldInType = this.state.inType; + this.state.inType = true; + var nodeStart = this.startNode(); + nodeStart.callProperties = []; + nodeStart.properties = []; + nodeStart.indexers = []; + nodeStart.internalSlots = []; + var endDelim; + var exact; + var inexact = false; + + if (allowExact && this.match(types.braceBarL)) { + this.expect(types.braceBarL); + endDelim = types.braceBarR; + exact = true; + } else { + this.expect(types.braceL); + endDelim = types.braceR; + exact = false; + } + + nodeStart.exact = exact; + + while (!this.match(endDelim)) { + var isStatic = false; + var protoStart = null; + var inexactStart = null; + var node = this.startNode(); + + if (allowProto && this.isContextual("proto")) { + var lookahead = this.lookahead(); + + if (lookahead.type !== types.colon && lookahead.type !== types.question) { + this.next(); + protoStart = this.state.start; + allowStatic = false; + } + } + + if (allowStatic && this.isContextual("static")) { + var _lookahead = this.lookahead(); + + if (_lookahead.type !== types.colon && _lookahead.type !== types.question) { + this.next(); + isStatic = true; + } + } + + var variance = this.flowParseVariance(); + + if (this.eat(types.bracketL)) { + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (this.eat(types.bracketL)) { + if (variance) { + this.unexpected(variance.start); + } + + nodeStart.internalSlots.push(this.flowParseObjectTypeInternalSlot(node, isStatic)); + } else { + nodeStart.indexers.push(this.flowParseObjectTypeIndexer(node, isStatic, variance)); + } + } else if (this.match(types.parenL) || this.isRelational("<")) { + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.unexpected(variance.start); + } + + nodeStart.callProperties.push(this.flowParseObjectTypeCallProperty(node, isStatic)); + } else { + var _allowInexact; + + var kind = "init"; + + if (this.isContextual("get") || this.isContextual("set")) { + var _lookahead2 = this.lookahead(); + + if (_lookahead2.type === types.name || _lookahead2.type === types.string || _lookahead2.type === types.num) { + kind = this.state.value; + this.next(); + } + } + + var propOrInexact = this.flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, (_allowInexact = allowInexact) !== null && _allowInexact !== void 0 ? _allowInexact : !exact); + + if (propOrInexact === null) { + inexact = true; + inexactStart = this.state.lastTokStart; + } else { + nodeStart.properties.push(propOrInexact); + } + } + + this.flowObjectTypeSemicolon(); + + if (inexactStart && !this.match(types.braceR) && !this.match(types.braceBarR)) { + this.raise(inexactStart, "Explicit inexact syntax must appear at the end of an inexact object"); + } + } + + this.expect(endDelim); + + if (allowSpread) { + nodeStart.inexact = inexact; + } + + var out = this.finishNode(nodeStart, "ObjectTypeAnnotation"); + this.state.inType = oldInType; + return out; + } + }, { + key: "flowParseObjectTypeProperty", + value: function flowParseObjectTypeProperty(node, isStatic, protoStart, variance, kind, allowSpread, allowInexact) { + if (this.eat(types.ellipsis)) { + var isInexactToken = this.match(types.comma) || this.match(types.semi) || this.match(types.braceR) || this.match(types.braceBarR); + + if (isInexactToken) { + if (!allowSpread) { + this.raise(this.state.lastTokStart, "Explicit inexact syntax cannot appear in class or interface definitions"); + } else if (!allowInexact) { + this.raise(this.state.lastTokStart, "Explicit inexact syntax cannot appear inside an explicit exact object type"); + } + + if (variance) { + this.raise(variance.start, "Explicit inexact syntax cannot have variance"); + } + + return null; + } + + if (!allowSpread) { + this.raise(this.state.lastTokStart, "Spread operator cannot appear in class or interface definitions"); + } + + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.raise(variance.start, "Spread properties cannot have variance"); + } + + node.argument = this.flowParseType(); + return this.finishNode(node, "ObjectTypeSpreadProperty"); + } else { + node.key = this.flowParseObjectPropertyKey(); + node.static = isStatic; + node.proto = protoStart != null; + node.kind = kind; + var optional = false; + + if (this.isRelational("<") || this.match(types.parenL)) { + node.method = true; + + if (protoStart != null) { + this.unexpected(protoStart); + } + + if (variance) { + this.unexpected(variance.start); + } + + node.value = this.flowParseObjectTypeMethodish(this.startNodeAt(node.start, node.loc.start)); + + if (kind === "get" || kind === "set") { + this.flowCheckGetterSetterParams(node); + } + } else { + if (kind !== "init") this.unexpected(); + node.method = false; + + if (this.eat(types.question)) { + optional = true; + } + + node.value = this.flowParseTypeInitialiser(); + node.variance = variance; + } + + node.optional = optional; + return this.finishNode(node, "ObjectTypeProperty"); + } + } + }, { + key: "flowCheckGetterSetterParams", + value: function flowCheckGetterSetterParams(property) { + var paramCount = property.kind === "get" ? 0 : 1; + var start = property.start; + var length = property.value.params.length + (property.value.rest ? 1 : 0); + + if (length !== paramCount) { + if (property.kind === "get") { + this.raise(start, "getter must not have any formal parameters"); + } else { + this.raise(start, "setter must have exactly one formal parameter"); + } + } + + if (property.kind === "set" && property.value.rest) { + this.raise(start, "setter function argument must not be a rest parameter"); + } + } + }, { + key: "flowObjectTypeSemicolon", + value: function flowObjectTypeSemicolon() { + if (!this.eat(types.semi) && !this.eat(types.comma) && !this.match(types.braceR) && !this.match(types.braceBarR)) { + this.unexpected(); + } + } + }, { + key: "flowParseQualifiedTypeIdentifier", + value: function flowParseQualifiedTypeIdentifier(startPos, startLoc, id) { + startPos = startPos || this.state.start; + startLoc = startLoc || this.state.startLoc; + var node = id || this.parseIdentifier(); + + while (this.eat(types.dot)) { + var node2 = this.startNodeAt(startPos, startLoc); + node2.qualification = node; + node2.id = this.parseIdentifier(); + node = this.finishNode(node2, "QualifiedTypeIdentifier"); + } + + return node; + } + }, { + key: "flowParseGenericType", + value: function flowParseGenericType(startPos, startLoc, id) { + var node = this.startNodeAt(startPos, startLoc); + node.typeParameters = null; + node.id = this.flowParseQualifiedTypeIdentifier(startPos, startLoc, id); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterInstantiation(); + } + + return this.finishNode(node, "GenericTypeAnnotation"); + } + }, { + key: "flowParseTypeofType", + value: function flowParseTypeofType() { + var node = this.startNode(); + this.expect(types._typeof); + node.argument = this.flowParsePrimaryType(); + return this.finishNode(node, "TypeofTypeAnnotation"); + } + }, { + key: "flowParseTupleType", + value: function flowParseTupleType() { + var node = this.startNode(); + node.types = []; + this.expect(types.bracketL); + + while (this.state.pos < this.length && !this.match(types.bracketR)) { + node.types.push(this.flowParseType()); + if (this.match(types.bracketR)) break; + this.expect(types.comma); + } + + this.expect(types.bracketR); + return this.finishNode(node, "TupleTypeAnnotation"); + } + }, { + key: "flowParseFunctionTypeParam", + value: function flowParseFunctionTypeParam() { + var name = null; + var optional = false; + var typeAnnotation = null; + var node = this.startNode(); + var lh = this.lookahead(); + + if (lh.type === types.colon || lh.type === types.question) { + name = this.parseIdentifier(); + + if (this.eat(types.question)) { + optional = true; + } + + typeAnnotation = this.flowParseTypeInitialiser(); + } else { + typeAnnotation = this.flowParseType(); + } + + node.name = name; + node.optional = optional; + node.typeAnnotation = typeAnnotation; + return this.finishNode(node, "FunctionTypeParam"); + } + }, { + key: "reinterpretTypeAsFunctionTypeParam", + value: function reinterpretTypeAsFunctionTypeParam(type) { + var node = this.startNodeAt(type.start, type.loc.start); + node.name = null; + node.optional = false; + node.typeAnnotation = type; + return this.finishNode(node, "FunctionTypeParam"); + } + }, { + key: "flowParseFunctionTypeParams", + value: function flowParseFunctionTypeParams() { + var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var rest = null; + + while (!this.match(types.parenR) && !this.match(types.ellipsis)) { + params.push(this.flowParseFunctionTypeParam()); + + if (!this.match(types.parenR)) { + this.expect(types.comma); + } + } + + if (this.eat(types.ellipsis)) { + rest = this.flowParseFunctionTypeParam(); + } + + return { + params: params, + rest: rest + }; + } + }, { + key: "flowIdentToTypeAnnotation", + value: function flowIdentToTypeAnnotation(startPos, startLoc, node, id) { + switch (id.name) { + case "any": + return this.finishNode(node, "AnyTypeAnnotation"); + + case "bool": + case "boolean": + return this.finishNode(node, "BooleanTypeAnnotation"); + + case "mixed": + return this.finishNode(node, "MixedTypeAnnotation"); + + case "empty": + return this.finishNode(node, "EmptyTypeAnnotation"); + + case "number": + return this.finishNode(node, "NumberTypeAnnotation"); + + case "string": + return this.finishNode(node, "StringTypeAnnotation"); + + default: + this.checkNotUnderscore(id.name); + return this.flowParseGenericType(startPos, startLoc, id); + } + } + }, { + key: "flowParsePrimaryType", + value: function flowParsePrimaryType() { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var node = this.startNode(); + var tmp; + var type; + var isGroupedType = false; + var oldNoAnonFunctionType = this.state.noAnonFunctionType; + + switch (this.state.type) { + case types.name: + if (this.isContextual("interface")) { + return this.flowParseInterfaceType(); + } + + return this.flowIdentToTypeAnnotation(startPos, startLoc, node, this.parseIdentifier()); + + case types.braceL: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: false, + allowSpread: true, + allowProto: false, + allowInexact: true + }); + + case types.braceBarL: + return this.flowParseObjectType({ + allowStatic: false, + allowExact: true, + allowSpread: true, + allowProto: false, + allowInexact: false + }); + + case types.bracketL: + this.state.noAnonFunctionType = false; + type = this.flowParseTupleType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + return type; + + case types.relational: + if (this.state.value === "<") { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + this.expect(types.parenL); + tmp = this.flowParseFunctionTypeParams(); + node.params = tmp.params; + node.rest = tmp.rest; + this.expect(types.parenR); + this.expect(types.arrow); + node.returnType = this.flowParseType(); + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + break; + + case types.parenL: + this.next(); + + if (!this.match(types.parenR) && !this.match(types.ellipsis)) { + if (this.match(types.name)) { + var token = this.lookahead().type; + isGroupedType = token !== types.question && token !== types.colon; + } else { + isGroupedType = true; + } + } + + if (isGroupedType) { + this.state.noAnonFunctionType = false; + type = this.flowParseType(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + + if (this.state.noAnonFunctionType || !(this.match(types.comma) || this.match(types.parenR) && this.lookahead().type === types.arrow)) { + this.expect(types.parenR); + return type; + } else { + this.eat(types.comma); + } + } + + if (type) { + tmp = this.flowParseFunctionTypeParams([this.reinterpretTypeAsFunctionTypeParam(type)]); + } else { + tmp = this.flowParseFunctionTypeParams(); + } + + node.params = tmp.params; + node.rest = tmp.rest; + this.expect(types.parenR); + this.expect(types.arrow); + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + + case types.string: + return this.parseLiteral(this.state.value, "StringLiteralTypeAnnotation"); + + case types._true: + case types._false: + node.value = this.match(types._true); + this.next(); + return this.finishNode(node, "BooleanLiteralTypeAnnotation"); + + case types.plusMin: + if (this.state.value === "-") { + this.next(); + + if (this.match(types.num)) { + return this.parseLiteral(-this.state.value, "NumberLiteralTypeAnnotation", node.start, node.loc.start); + } + + if (this.match(types.bigint)) { + return this.parseLiteral(-this.state.value, "BigIntLiteralTypeAnnotation", node.start, node.loc.start); + } + + throw this.raise(this.state.start, "Unexpected token, expected \"number\" or \"bigint\""); + } + + this.unexpected(); + + case types.num: + return this.parseLiteral(this.state.value, "NumberLiteralTypeAnnotation"); + + case types.bigint: + return this.parseLiteral(this.state.value, "BigIntLiteralTypeAnnotation"); + + case types._void: + this.next(); + return this.finishNode(node, "VoidTypeAnnotation"); + + case types._null: + this.next(); + return this.finishNode(node, "NullLiteralTypeAnnotation"); + + case types._this: + this.next(); + return this.finishNode(node, "ThisTypeAnnotation"); + + case types.star: + this.next(); + return this.finishNode(node, "ExistsTypeAnnotation"); + + default: + if (this.state.type.keyword === "typeof") { + return this.flowParseTypeofType(); + } else if (this.state.type.keyword) { + var label = this.state.type.label; + this.next(); + return _get(_getPrototypeOf(_class2.prototype), "createIdentifier", this).call(this, node, label); + } + + } + + throw this.unexpected(); + } + }, { + key: "flowParsePostfixType", + value: function flowParsePostfixType() { + var startPos = this.state.start, + startLoc = this.state.startLoc; + var type = this.flowParsePrimaryType(); + + while (this.match(types.bracketL) && !this.canInsertSemicolon()) { + var node = this.startNodeAt(startPos, startLoc); + node.elementType = type; + this.expect(types.bracketL); + this.expect(types.bracketR); + type = this.finishNode(node, "ArrayTypeAnnotation"); + } + + return type; + } + }, { + key: "flowParsePrefixType", + value: function flowParsePrefixType() { + var node = this.startNode(); + + if (this.eat(types.question)) { + node.typeAnnotation = this.flowParsePrefixType(); + return this.finishNode(node, "NullableTypeAnnotation"); + } else { + return this.flowParsePostfixType(); + } + } + }, { + key: "flowParseAnonFunctionWithoutParens", + value: function flowParseAnonFunctionWithoutParens() { + var param = this.flowParsePrefixType(); + + if (!this.state.noAnonFunctionType && this.eat(types.arrow)) { + var node = this.startNodeAt(param.start, param.loc.start); + node.params = [this.reinterpretTypeAsFunctionTypeParam(param)]; + node.rest = null; + node.returnType = this.flowParseType(); + node.typeParameters = null; + return this.finishNode(node, "FunctionTypeAnnotation"); + } + + return param; + } + }, { + key: "flowParseIntersectionType", + value: function flowParseIntersectionType() { + var node = this.startNode(); + this.eat(types.bitwiseAND); + var type = this.flowParseAnonFunctionWithoutParens(); + node.types = [type]; + + while (this.eat(types.bitwiseAND)) { + node.types.push(this.flowParseAnonFunctionWithoutParens()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "IntersectionTypeAnnotation"); + } + }, { + key: "flowParseUnionType", + value: function flowParseUnionType() { + var node = this.startNode(); + this.eat(types.bitwiseOR); + var type = this.flowParseIntersectionType(); + node.types = [type]; + + while (this.eat(types.bitwiseOR)) { + node.types.push(this.flowParseIntersectionType()); + } + + return node.types.length === 1 ? type : this.finishNode(node, "UnionTypeAnnotation"); + } + }, { + key: "flowParseType", + value: function flowParseType() { + var oldInType = this.state.inType; + this.state.inType = true; + var type = this.flowParseUnionType(); + this.state.inType = oldInType; + this.state.exprAllowed = this.state.exprAllowed || this.state.noAnonFunctionType; + return type; + } + }, { + key: "flowParseTypeOrImplicitInstantiation", + value: function flowParseTypeOrImplicitInstantiation() { + if (this.state.type === types.name && this.state.value === "_") { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var node = this.parseIdentifier(); + return this.flowParseGenericType(startPos, startLoc, node); + } else { + return this.flowParseType(); + } + } + }, { + key: "flowParseTypeAnnotation", + value: function flowParseTypeAnnotation() { + var node = this.startNode(); + node.typeAnnotation = this.flowParseTypeInitialiser(); + return this.finishNode(node, "TypeAnnotation"); + } + }, { + key: "flowParseTypeAnnotatableIdentifier", + value: function flowParseTypeAnnotatableIdentifier(allowPrimitiveOverride) { + var ident = allowPrimitiveOverride ? this.parseIdentifier() : this.flowParseRestrictedIdentifier(); + + if (this.match(types.colon)) { + ident.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(ident); + } + + return ident; + } + }, { + key: "typeCastToParameter", + value: function typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); + return node.expression; + } + }, { + key: "flowParseVariance", + value: function flowParseVariance() { + var variance = null; + + if (this.match(types.plusMin)) { + variance = this.startNode(); + + if (this.state.value === "+") { + variance.kind = "plus"; + } else { + variance.kind = "minus"; + } + + this.next(); + this.finishNode(variance, "Variance"); + } + + return variance; + } + }, { + key: "parseFunctionBody", + value: function parseFunctionBody(node, allowExpressionBody) { + var _this5 = this; + + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (allowExpressionBody) { + return this.forwardNoArrowParamsConversionAt(node, function () { + return _get(_getPrototypeOf(_class2.prototype), "parseFunctionBody", _this5).call(_this5, node, true, isMethod); + }); + } + + return _get(_getPrototypeOf(_class2.prototype), "parseFunctionBody", this).call(this, node, false, isMethod); + } + }, { + key: "parseFunctionBodyAndFinish", + value: function parseFunctionBodyAndFinish(node, type) { + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (this.match(types.colon)) { + var typeNode = this.startNode(); + + var _this$flowParseTypeAn3 = this.flowParseTypeAndPredicateInitialiser(); + + var _this$flowParseTypeAn4 = _slicedToArray(_this$flowParseTypeAn3, 2); + + typeNode.typeAnnotation = _this$flowParseTypeAn4[0]; + node.predicate = _this$flowParseTypeAn4[1]; + node.returnType = typeNode.typeAnnotation ? this.finishNode(typeNode, "TypeAnnotation") : null; + } + + _get(_getPrototypeOf(_class2.prototype), "parseFunctionBodyAndFinish", this).call(this, node, type, isMethod); + } + }, { + key: "parseStatement", + value: function parseStatement(context, topLevel) { + if (this.state.strict && this.match(types.name) && this.state.value === "interface") { + var node = this.startNode(); + this.next(); + return this.flowParseInterface(node); + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + var _node = this.startNode(); + + this.next(); + return this.flowParseEnumDeclaration(_node); + } else { + var stmt = _get(_getPrototypeOf(_class2.prototype), "parseStatement", this).call(this, context, topLevel); + + if (this.flowPragma === undefined && !this.isValidDirective(stmt)) { + this.flowPragma = null; + } + + return stmt; + } + } + }, { + key: "parseExpressionStatement", + value: function parseExpressionStatement(node, expr) { + if (expr.type === "Identifier") { + if (expr.name === "declare") { + if (this.match(types._class) || this.match(types.name) || this.match(types._function) || this.match(types._var) || this.match(types._export)) { + return this.flowParseDeclare(node); + } + } else if (this.match(types.name)) { + if (expr.name === "interface") { + return this.flowParseInterface(node); + } else if (expr.name === "type") { + return this.flowParseTypeAlias(node); + } else if (expr.name === "opaque") { + return this.flowParseOpaqueType(node, false); + } + } + } + + return _get(_getPrototypeOf(_class2.prototype), "parseExpressionStatement", this).call(this, node, expr); + } + }, { + key: "shouldParseExportDeclaration", + value: function shouldParseExportDeclaration() { + return this.isContextual("type") || this.isContextual("interface") || this.isContextual("opaque") || this.shouldParseEnums() && this.isContextual("enum") || _get(_getPrototypeOf(_class2.prototype), "shouldParseExportDeclaration", this).call(this); + } + }, { + key: "isExportDefaultSpecifier", + value: function isExportDefaultSpecifier() { + if (this.match(types.name) && (this.state.value === "type" || this.state.value === "interface" || this.state.value === "opaque" || this.shouldParseEnums() && this.state.value === "enum")) { + return false; + } + + return _get(_getPrototypeOf(_class2.prototype), "isExportDefaultSpecifier", this).call(this); + } + }, { + key: "parseExportDefaultExpression", + value: function parseExportDefaultExpression() { + if (this.shouldParseEnums() && this.isContextual("enum")) { + var node = this.startNode(); + this.next(); + return this.flowParseEnumDeclaration(node); + } + + return _get(_getPrototypeOf(_class2.prototype), "parseExportDefaultExpression", this).call(this); + } + }, { + key: "parseConditional", + value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { + var _this6 = this; + + if (!this.match(types.question)) return expr; + + if (refNeedsArrowPos) { + var result = this.tryParse(function () { + return _get(_getPrototypeOf(_class2.prototype), "parseConditional", _this6).call(_this6, expr, noIn, startPos, startLoc); + }); + + if (!result.node) { + refNeedsArrowPos.start = result.error.pos || this.state.start; + return expr; + } + + if (result.error) this.state = result.failState; + return result.node; + } + + this.expect(types.question); + var state = this.state.clone(); + var originalNoArrowAt = this.state.noArrowAt; + var node = this.startNodeAt(startPos, startLoc); + + var _this$tryParseConditi = this.tryParseConditionalConsequent(), + consequent = _this$tryParseConditi.consequent, + failed = _this$tryParseConditi.failed; + + var _this$getArrowLikeExp = this.getArrowLikeExpressions(consequent), + _this$getArrowLikeExp2 = _slicedToArray(_this$getArrowLikeExp, 2), + valid = _this$getArrowLikeExp2[0], + invalid = _this$getArrowLikeExp2[1]; + + if (failed || invalid.length > 0) { + var noArrowAt = _toConsumableArray(originalNoArrowAt); + + if (invalid.length > 0) { + this.state = state; + this.state.noArrowAt = noArrowAt; + + for (var i = 0; i < invalid.length; i++) { + noArrowAt.push(invalid[i].start); + } + + var _this$tryParseConditi2 = this.tryParseConditionalConsequent(); + + consequent = _this$tryParseConditi2.consequent; + failed = _this$tryParseConditi2.failed; + + var _this$getArrowLikeExp3 = this.getArrowLikeExpressions(consequent); + + var _this$getArrowLikeExp4 = _slicedToArray(_this$getArrowLikeExp3, 2); + + valid = _this$getArrowLikeExp4[0]; + invalid = _this$getArrowLikeExp4[1]; + } + + if (failed && valid.length > 1) { + this.raise(state.start, "Ambiguous expression: wrap the arrow functions in parentheses to disambiguate."); + } + + if (failed && valid.length === 1) { + this.state = state; + this.state.noArrowAt = noArrowAt.concat(valid[0].start); + + var _this$tryParseConditi3 = this.tryParseConditionalConsequent(); + + consequent = _this$tryParseConditi3.consequent; + failed = _this$tryParseConditi3.failed; + } + } + + this.getArrowLikeExpressions(consequent, true); + this.state.noArrowAt = originalNoArrowAt; + this.expect(types.colon); + node.test = expr; + node.consequent = consequent; + node.alternate = this.forwardNoArrowParamsConversionAt(node, function () { + return _this6.parseMaybeAssign(noIn, undefined, undefined, undefined); + }); + return this.finishNode(node, "ConditionalExpression"); + } + }, { + key: "tryParseConditionalConsequent", + value: function tryParseConditionalConsequent() { + this.state.noArrowParamsConversionAt.push(this.state.start); + var consequent = this.parseMaybeAssign(); + var failed = !this.match(types.colon); + this.state.noArrowParamsConversionAt.pop(); + return { + consequent: consequent, + failed: failed + }; + } + }, { + key: "getArrowLikeExpressions", + value: function getArrowLikeExpressions(node, disallowInvalid) { + var _this7 = this; + + var stack = [node]; + var arrows = []; + + while (stack.length !== 0) { + var _node2 = stack.pop(); + + if (_node2.type === "ArrowFunctionExpression") { + if (_node2.typeParameters || !_node2.returnType) { + this.finishArrowValidation(_node2); + } else { + arrows.push(_node2); + } + + stack.push(_node2.body); + } else if (_node2.type === "ConditionalExpression") { + stack.push(_node2.consequent); + stack.push(_node2.alternate); + } + } + + if (disallowInvalid) { + arrows.forEach(function (node) { + return _this7.finishArrowValidation(node); + }); + return [arrows, []]; + } + + return partition(arrows, function (node) { + return node.params.every(function (param) { + return _this7.isAssignable(param, true); + }); + }); + } + }, { + key: "finishArrowValidation", + value: function finishArrowValidation(node) { + var _node$extra; + + this.toAssignableList(node.params, true, "arrow function parameters", (_node$extra = node.extra) === null || _node$extra === void 0 ? void 0 : _node$extra.trailingComma); + this.scope.enter(functionFlags(false, false) | SCOPE_ARROW); + + _get(_getPrototypeOf(_class2.prototype), "checkParams", this).call(this, node, false, true); + + this.scope.exit(); + } + }, { + key: "forwardNoArrowParamsConversionAt", + value: function forwardNoArrowParamsConversionAt(node, parse) { + var result; + + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + this.state.noArrowParamsConversionAt.push(this.state.start); + result = parse(); + this.state.noArrowParamsConversionAt.pop(); + } else { + result = parse(); + } + + return result; + } + }, { + key: "parseParenItem", + value: function parseParenItem(node, startPos, startLoc) { + node = _get(_getPrototypeOf(_class2.prototype), "parseParenItem", this).call(this, node, startPos, startLoc); + + if (this.eat(types.question)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(types.colon)) { + var typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.flowParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TypeCastExpression"); + } + + return node; + } + }, { + key: "assertModuleNodeAllowed", + value: function assertModuleNodeAllowed(node) { + if (node.type === "ImportDeclaration" && (node.importKind === "type" || node.importKind === "typeof") || node.type === "ExportNamedDeclaration" && node.exportKind === "type" || node.type === "ExportAllDeclaration" && node.exportKind === "type") { + return; + } + + _get(_getPrototypeOf(_class2.prototype), "assertModuleNodeAllowed", this).call(this, node); + } + }, { + key: "parseExport", + value: function parseExport(node) { + var decl = _get(_getPrototypeOf(_class2.prototype), "parseExport", this).call(this, node); + + if (decl.type === "ExportNamedDeclaration" || decl.type === "ExportAllDeclaration") { + decl.exportKind = decl.exportKind || "value"; + } + + return decl; + } + }, { + key: "parseExportDeclaration", + value: function parseExportDeclaration(node) { + if (this.isContextual("type")) { + node.exportKind = "type"; + var declarationNode = this.startNode(); + this.next(); + + if (this.match(types.braceL)) { + node.specifiers = this.parseExportSpecifiers(); + this.parseExportFrom(node); + return null; + } else { + return this.flowParseTypeAlias(declarationNode); + } + } else if (this.isContextual("opaque")) { + node.exportKind = "type"; + + var _declarationNode = this.startNode(); + + this.next(); + return this.flowParseOpaqueType(_declarationNode, false); + } else if (this.isContextual("interface")) { + node.exportKind = "type"; + + var _declarationNode2 = this.startNode(); + + this.next(); + return this.flowParseInterface(_declarationNode2); + } else if (this.shouldParseEnums() && this.isContextual("enum")) { + node.exportKind = "value"; + + var _declarationNode3 = this.startNode(); + + this.next(); + return this.flowParseEnumDeclaration(_declarationNode3); + } else { + return _get(_getPrototypeOf(_class2.prototype), "parseExportDeclaration", this).call(this, node); + } + } + }, { + key: "eatExportStar", + value: function eatExportStar(node) { + if (_get(_getPrototypeOf(_class2.prototype), "eatExportStar", this).apply(this, arguments)) return true; + + if (this.isContextual("type") && this.lookahead().type === types.star) { + node.exportKind = "type"; + this.next(); + this.next(); + return true; + } + + return false; + } + }, { + key: "maybeParseExportNamespaceSpecifier", + value: function maybeParseExportNamespaceSpecifier(node) { + var pos = this.state.start; + + var hasNamespace = _get(_getPrototypeOf(_class2.prototype), "maybeParseExportNamespaceSpecifier", this).call(this, node); + + if (hasNamespace && node.exportKind === "type") { + this.unexpected(pos); + } + + return hasNamespace; + } + }, { + key: "parseClassId", + value: function parseClassId(node, isStatement, optionalId) { + _get(_getPrototypeOf(_class2.prototype), "parseClassId", this).call(this, node, isStatement, optionalId); + + if (this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + } + }, { + key: "getTokenFromCode", + value: function getTokenFromCode(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 123 && next === 124) { + return this.finishOp(types.braceBarL, 2); + } else if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(types.relational, 1); + } else if (isIteratorStart(code, next)) { + this.state.isIterator = true; + return _get(_getPrototypeOf(_class2.prototype), "readWord", this).call(this); + } else { + return _get(_getPrototypeOf(_class2.prototype), "getTokenFromCode", this).call(this, code); + } + } + }, { + key: "isAssignable", + value: function isAssignable(node, isBinding) { + var _this8 = this; + + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + return true; + + case "ObjectExpression": + { + var _last = node.properties.length - 1; + + return node.properties.every(function (prop, i) { + return prop.type !== "ObjectMethod" && (i === _last || prop.type === "SpreadElement") && _this8.isAssignable(prop); + }); + } + + case "ObjectProperty": + return this.isAssignable(node.value); + + case "SpreadElement": + return this.isAssignable(node.argument); + + case "ArrayExpression": + return node.elements.every(function (element) { + return _this8.isAssignable(element); + }); + + case "AssignmentExpression": + return node.operator === "="; + + case "ParenthesizedExpression": + case "TypeCastExpression": + return this.isAssignable(node.expression); + + case "MemberExpression": + case "OptionalMemberExpression": + return !isBinding; + + default: + return false; + } + } + }, { + key: "toAssignable", + value: function toAssignable(node, isBinding, contextDescription) { + if (node.type === "TypeCastExpression") { + return _get(_getPrototypeOf(_class2.prototype), "toAssignable", this).call(this, this.typeCastToParameter(node), isBinding, contextDescription); + } else { + return _get(_getPrototypeOf(_class2.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); + } + } + }, { + key: "toAssignableList", + value: function toAssignableList(exprList, isBinding, contextDescription, trailingCommaPos) { + for (var i = 0; i < exprList.length; i++) { + var expr = exprList[i]; + + if (expr && expr.type === "TypeCastExpression") { + exprList[i] = this.typeCastToParameter(expr); + } + } + + return _get(_getPrototypeOf(_class2.prototype), "toAssignableList", this).call(this, exprList, isBinding, contextDescription, trailingCommaPos); + } + }, { + key: "toReferencedList", + value: function toReferencedList(exprList, isParenthesizedExpr) { + for (var i = 0; i < exprList.length; i++) { + var expr = exprList[i]; + + if (expr && expr.type === "TypeCastExpression" && (!expr.extra || !expr.extra.parenthesized) && (exprList.length > 1 || !isParenthesizedExpr)) { + this.raise(expr.typeAnnotation.start, "The type cast expression is expected to be wrapped with parenthesis"); + } + } + + return exprList; + } + }, { + key: "checkLVal", + value: function checkLVal(expr) { + var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; + var checkClashes = arguments.length > 2 ? arguments[2] : undefined; + var contextDescription = arguments.length > 3 ? arguments[3] : undefined; + + if (expr.type !== "TypeCastExpression") { + return _get(_getPrototypeOf(_class2.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription); + } + } + }, { + key: "parseClassProperty", + value: function parseClassProperty(node) { + if (this.match(types.colon)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return _get(_getPrototypeOf(_class2.prototype), "parseClassProperty", this).call(this, node); + } + }, { + key: "parseClassPrivateProperty", + value: function parseClassPrivateProperty(node) { + if (this.match(types.colon)) { + node.typeAnnotation = this.flowParseTypeAnnotation(); + } + + return _get(_getPrototypeOf(_class2.prototype), "parseClassPrivateProperty", this).call(this, node); + } + }, { + key: "isClassMethod", + value: function isClassMethod() { + return this.isRelational("<") || _get(_getPrototypeOf(_class2.prototype), "isClassMethod", this).call(this); + } + }, { + key: "isClassProperty", + value: function isClassProperty() { + return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "isClassProperty", this).call(this); + } + }, { + key: "isNonstaticConstructor", + value: function isNonstaticConstructor(method) { + return !this.match(types.colon) && _get(_getPrototypeOf(_class2.prototype), "isNonstaticConstructor", this).call(this, method); + } + }, { + key: "pushClassMethod", + value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + if (method.variance) { + this.unexpected(method.variance.start); + } + + delete method.variance; + + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + _get(_getPrototypeOf(_class2.prototype), "pushClassMethod", this).call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + }, { + key: "pushClassPrivateMethod", + value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + if (method.variance) { + this.unexpected(method.variance.start); + } + + delete method.variance; + + if (this.isRelational("<")) { + method.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + _get(_getPrototypeOf(_class2.prototype), "pushClassPrivateMethod", this).call(this, classBody, method, isGenerator, isAsync); + } + }, { + key: "parseClassSuper", + value: function parseClassSuper(node) { + _get(_getPrototypeOf(_class2.prototype), "parseClassSuper", this).call(this, node); + + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.flowParseTypeParameterInstantiation(); + } + + if (this.isContextual("implements")) { + this.next(); + var implemented = node.implements = []; + + do { + var _node3 = this.startNode(); + + _node3.id = this.flowParseRestrictedIdentifier(true); + + if (this.isRelational("<")) { + _node3.typeParameters = this.flowParseTypeParameterInstantiation(); + } else { + _node3.typeParameters = null; + } + + implemented.push(this.finishNode(_node3, "ClassImplements")); + } while (this.eat(types.comma)); + } + } + }, { + key: "parsePropertyName", + value: function parsePropertyName(node) { + var variance = this.flowParseVariance(); + + var key = _get(_getPrototypeOf(_class2.prototype), "parsePropertyName", this).call(this, node); + + node.variance = variance; + return key; + } + }, { + key: "parseObjPropValue", + value: function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc) { + if (prop.variance) { + this.unexpected(prop.variance.start); + } + + delete prop.variance; + var typeParameters; + + if (this.isRelational("<")) { + typeParameters = this.flowParseTypeParameterDeclaration(); + if (!this.match(types.parenL)) this.unexpected(); + } + + _get(_getPrototypeOf(_class2.prototype), "parseObjPropValue", this).call(this, prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc); + + if (typeParameters) { + (prop.value || prop).typeParameters = typeParameters; + } + } + }, { + key: "parseAssignableListItemTypes", + value: function parseAssignableListItemTypes(param) { + if (this.eat(types.question)) { + if (param.type !== "Identifier") { + this.raise(param.start, "A binding pattern parameter cannot be optional in an implementation signature."); + } + + param.optional = true; + } + + if (this.match(types.colon)) { + param.typeAnnotation = this.flowParseTypeAnnotation(); + } + + this.resetEndLocation(param); + return param; + } + }, { + key: "parseMaybeDefault", + value: function parseMaybeDefault(startPos, startLoc, left) { + var node = _get(_getPrototypeOf(_class2.prototype), "parseMaybeDefault", this).call(this, startPos, startLoc, left); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(node.typeAnnotation.start, "Type annotations must come before default assignments, " + "e.g. instead of `age = 25: number` use `age: number = 25`"); + } + + return node; + } + }, { + key: "shouldParseDefaultImport", + value: function shouldParseDefaultImport(node) { + if (!hasTypeImportKind(node)) { + return _get(_getPrototypeOf(_class2.prototype), "shouldParseDefaultImport", this).call(this, node); + } + + return isMaybeDefaultImport(this.state); + } + }, { + key: "parseImportSpecifierLocal", + value: function parseImportSpecifierLocal(node, specifier, type, contextDescription) { + specifier.local = hasTypeImportKind(node) ? this.flowParseRestrictedIdentifier(true) : this.parseIdentifier(); + this.checkLVal(specifier.local, BIND_LEXICAL, undefined, contextDescription); + node.specifiers.push(this.finishNode(specifier, type)); + } + }, { + key: "maybeParseDefaultImportSpecifier", + value: function maybeParseDefaultImportSpecifier(node) { + node.importKind = "value"; + var kind = null; + + if (this.match(types._typeof)) { + kind = "typeof"; + } else if (this.isContextual("type")) { + kind = "type"; + } + + if (kind) { + var lh = this.lookahead(); + + if (kind === "type" && lh.type === types.star) { + this.unexpected(lh.start); + } + + if (isMaybeDefaultImport(lh) || lh.type === types.braceL || lh.type === types.star) { + this.next(); + node.importKind = kind; + } + } + + return _get(_getPrototypeOf(_class2.prototype), "maybeParseDefaultImportSpecifier", this).call(this, node); + } + }, { + key: "parseImportSpecifier", + value: function parseImportSpecifier(node) { + var specifier = this.startNode(); + var firstIdentLoc = this.state.start; + var firstIdent = this.parseIdentifier(true); + var specifierTypeKind = null; + + if (firstIdent.name === "type") { + specifierTypeKind = "type"; + } else if (firstIdent.name === "typeof") { + specifierTypeKind = "typeof"; + } + + var isBinding = false; + + if (this.isContextual("as") && !this.isLookaheadContextual("as")) { + var as_ident = this.parseIdentifier(true); + + if (specifierTypeKind !== null && !this.match(types.name) && !this.state.type.keyword) { + specifier.imported = as_ident; + specifier.importKind = specifierTypeKind; + specifier.local = as_ident.__clone(); + } else { + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = this.parseIdentifier(); + } + } else if (specifierTypeKind !== null && (this.match(types.name) || this.state.type.keyword)) { + specifier.imported = this.parseIdentifier(true); + specifier.importKind = specifierTypeKind; + + if (this.eatContextual("as")) { + specifier.local = this.parseIdentifier(); + } else { + isBinding = true; + specifier.local = specifier.imported.__clone(); + } + } else { + isBinding = true; + specifier.imported = firstIdent; + specifier.importKind = null; + specifier.local = specifier.imported.__clone(); + } + + var nodeIsTypeImport = hasTypeImportKind(node); + var specifierIsTypeImport = hasTypeImportKind(specifier); + + if (nodeIsTypeImport && specifierIsTypeImport) { + this.raise(firstIdentLoc, "The `type` and `typeof` keywords on named imports can only be used on regular " + "`import` statements. It cannot be used with `import type` or `import typeof` statements"); + } + + if (nodeIsTypeImport || specifierIsTypeImport) { + this.checkReservedType(specifier.local.name, specifier.local.start); + } + + if (isBinding && !nodeIsTypeImport && !specifierIsTypeImport) { + this.checkReservedWord(specifier.local.name, specifier.start, true, true); + } + + this.checkLVal(specifier.local, BIND_LEXICAL, undefined, "import specifier"); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } + }, { + key: "parseFunctionParams", + value: function parseFunctionParams(node, allowModifiers) { + var kind = node.kind; + + if (kind !== "get" && kind !== "set" && this.isRelational("<")) { + node.typeParameters = this.flowParseTypeParameterDeclaration(); + } + + _get(_getPrototypeOf(_class2.prototype), "parseFunctionParams", this).call(this, node, allowModifiers); + } + }, { + key: "parseVarId", + value: function parseVarId(decl, kind) { + _get(_getPrototypeOf(_class2.prototype), "parseVarId", this).call(this, decl, kind); + + if (this.match(types.colon)) { + decl.id.typeAnnotation = this.flowParseTypeAnnotation(); + this.resetEndLocation(decl.id); + } + } + }, { + key: "parseAsyncArrowFromCallExpression", + value: function parseAsyncArrowFromCallExpression(node, call) { + if (this.match(types.colon)) { + var oldNoAnonFunctionType = this.state.noAnonFunctionType; + this.state.noAnonFunctionType = true; + node.returnType = this.flowParseTypeAnnotation(); + this.state.noAnonFunctionType = oldNoAnonFunctionType; + } + + return _get(_getPrototypeOf(_class2.prototype), "parseAsyncArrowFromCallExpression", this).call(this, node, call); + } + }, { + key: "shouldParseAsyncArrow", + value: function shouldParseAsyncArrow() { + return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "shouldParseAsyncArrow", this).call(this); + } + }, { + key: "parseMaybeAssign", + value: function parseMaybeAssign(noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos) { + var _this9 = this; + + var state = null; + var jsx; + + if (this.hasPlugin("jsx") && (this.match(types.jsxTagStart) || this.isRelational("<"))) { + state = this.state.clone(); + jsx = this.tryParse(function () { + return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", _this9).call(_this9, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); + }, state); + if (!jsx.error) return jsx.node; + var context = this.state.context; + + if (context[context.length - 1] === types$1.j_oTag) { + context.length -= 2; + } else if (context[context.length - 1] === types$1.j_expr) { + context.length -= 1; + } + } + + if (jsx && jsx.error || this.isRelational("<")) { + state = state || this.state.clone(); + var typeParameters; + var arrow = this.tryParse(function () { + typeParameters = _this9.flowParseTypeParameterDeclaration(); + + var arrowExpression = _this9.forwardNoArrowParamsConversionAt(typeParameters, function () { + return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", _this9).call(_this9, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); + }); + + arrowExpression.typeParameters = typeParameters; + + _this9.resetStartLocationFromNode(arrowExpression, typeParameters); + + return arrowExpression; + }, state); + var arrowExpression = arrow.node && arrow.node.type === "ArrowFunctionExpression" ? arrow.node : null; + if (!arrow.error && arrowExpression) return arrowExpression; + + if (jsx && jsx.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrowExpression) { + this.state = arrow.failState; + return arrowExpression; + } + + if (jsx && jsx.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + throw this.raise(typeParameters.start, "Expected an arrow function after this type parameter declaration"); + } + + return _get(_getPrototypeOf(_class2.prototype), "parseMaybeAssign", this).call(this, noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos); + } + }, { + key: "parseArrow", + value: function parseArrow(node) { + var _this10 = this; + + if (this.match(types.colon)) { + var result = this.tryParse(function () { + var oldNoAnonFunctionType = _this10.state.noAnonFunctionType; + _this10.state.noAnonFunctionType = true; + + var typeNode = _this10.startNode(); + + var _this10$flowParseType = _this10.flowParseTypeAndPredicateInitialiser(); + + var _this10$flowParseType2 = _slicedToArray(_this10$flowParseType, 2); + + typeNode.typeAnnotation = _this10$flowParseType2[0]; + node.predicate = _this10$flowParseType2[1]; + _this10.state.noAnonFunctionType = oldNoAnonFunctionType; + if (_this10.canInsertSemicolon()) _this10.unexpected(); + if (!_this10.match(types.arrow)) _this10.unexpected(); + return typeNode; + }); + if (result.thrown) return null; + if (result.error) this.state = result.failState; + node.returnType = result.node.typeAnnotation ? this.finishNode(result.node, "TypeAnnotation") : null; + } + + return _get(_getPrototypeOf(_class2.prototype), "parseArrow", this).call(this, node); + } + }, { + key: "shouldParseArrow", + value: function shouldParseArrow() { + return this.match(types.colon) || _get(_getPrototypeOf(_class2.prototype), "shouldParseArrow", this).call(this); + } + }, { + key: "setArrowFunctionParameters", + value: function setArrowFunctionParameters(node, params) { + if (this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + node.params = params; + } else { + _get(_getPrototypeOf(_class2.prototype), "setArrowFunctionParameters", this).call(this, node, params); + } + } + }, { + key: "checkParams", + value: function checkParams(node, allowDuplicates, isArrowFunction) { + if (isArrowFunction && this.state.noArrowParamsConversionAt.indexOf(node.start) !== -1) { + return; + } + + return _get(_getPrototypeOf(_class2.prototype), "checkParams", this).apply(this, arguments); + } + }, { + key: "parseParenAndDistinguishExpression", + value: function parseParenAndDistinguishExpression(canBeArrow) { + return _get(_getPrototypeOf(_class2.prototype), "parseParenAndDistinguishExpression", this).call(this, canBeArrow && this.state.noArrowAt.indexOf(this.state.start) === -1); + } + }, { + key: "parseSubscripts", + value: function parseSubscripts(base, startPos, startLoc, noCalls) { + var _this11 = this; + + if (base.type === "Identifier" && base.name === "async" && this.state.noArrowAt.indexOf(startPos) !== -1) { + this.next(); + var node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.arguments = this.parseCallExpressionArguments(types.parenR, false); + base = this.finishNode(node, "CallExpression"); + } else if (base.type === "Identifier" && base.name === "async" && this.isRelational("<")) { + var state = this.state.clone(); + var arrow = this.tryParse(function (abort) { + return _this11.parseAsyncArrowWithTypeParameters(startPos, startLoc) || abort(); + }, state); + if (!arrow.error && !arrow.aborted) return arrow.node; + var result = this.tryParse(function () { + return _get(_getPrototypeOf(_class2.prototype), "parseSubscripts", _this11).call(_this11, base, startPos, startLoc, noCalls); + }, state); + if (result.node && !result.error) return result.node; + + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if (result.node) { + this.state = result.failState; + return result.node; + } + + throw arrow.error || result.error; + } + + return _get(_getPrototypeOf(_class2.prototype), "parseSubscripts", this).call(this, base, startPos, startLoc, noCalls); + } + }, { + key: "parseSubscript", + value: function parseSubscript(base, startPos, startLoc, noCalls, subscriptState) { + var _this12 = this; + + if (this.match(types.questionDot) && this.isLookaheadRelational("<")) { + this.expectPlugin("optionalChaining"); + subscriptState.optionalChainMember = true; + + if (noCalls) { + subscriptState.stop = true; + return base; + } + + this.next(); + var node = this.startNodeAt(startPos, startLoc); + node.callee = base; + node.typeArguments = this.flowParseTypeParameterInstantiation(); + this.expect(types.parenL); + node.arguments = this.parseCallExpressionArguments(types.parenR, false); + node.optional = true; + return this.finishCallExpression(node, true); + } else if (!noCalls && this.shouldParseTypes() && this.isRelational("<")) { + var _node4 = this.startNodeAt(startPos, startLoc); + + _node4.callee = base; + var result = this.tryParse(function () { + _node4.typeArguments = _this12.flowParseTypeParameterInstantiationCallOrNew(); + + _this12.expect(types.parenL); + + _node4.arguments = _this12.parseCallExpressionArguments(types.parenR, false); + if (subscriptState.optionalChainMember) _node4.optional = false; + return _this12.finishCallExpression(_node4, subscriptState.optionalChainMember); + }); + + if (result.node) { + if (result.error) this.state = result.failState; + return result.node; + } + } + + return _get(_getPrototypeOf(_class2.prototype), "parseSubscript", this).call(this, base, startPos, startLoc, noCalls, subscriptState); + } + }, { + key: "parseNewArguments", + value: function parseNewArguments(node) { + var _this13 = this; + + var targs = null; + + if (this.shouldParseTypes() && this.isRelational("<")) { + targs = this.tryParse(function () { + return _this13.flowParseTypeParameterInstantiationCallOrNew(); + }).node; + } + + node.typeArguments = targs; + + _get(_getPrototypeOf(_class2.prototype), "parseNewArguments", this).call(this, node); + } + }, { + key: "parseAsyncArrowWithTypeParameters", + value: function parseAsyncArrowWithTypeParameters(startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + this.parseFunctionParams(node); + if (!this.parseArrow(node)) return; + return this.parseArrowExpression(node, undefined, true); + } + }, { + key: "readToken_mult_modulo", + value: function readToken_mult_modulo(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 42 && next === 47 && this.state.hasFlowComment) { + this.state.hasFlowComment = false; + this.state.pos += 2; + this.nextToken(); + return; + } + + _get(_getPrototypeOf(_class2.prototype), "readToken_mult_modulo", this).call(this, code); + } + }, { + key: "readToken_pipe_amp", + value: function readToken_pipe_amp(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (code === 124 && next === 125) { + this.finishOp(types.braceBarR, 2); + return; + } + + _get(_getPrototypeOf(_class2.prototype), "readToken_pipe_amp", this).call(this, code); + } + }, { + key: "parseTopLevel", + value: function parseTopLevel(file, program) { + var fileNode = _get(_getPrototypeOf(_class2.prototype), "parseTopLevel", this).call(this, file, program); + + if (this.state.hasFlowComment) { + this.raise(this.state.pos, "Unterminated flow-comment"); + } + + return fileNode; + } + }, { + key: "skipBlockComment", + value: function skipBlockComment() { + if (this.hasPlugin("flowComments") && this.skipFlowComment()) { + if (this.state.hasFlowComment) { + this.unexpected(null, "Cannot have a flow comment inside another flow comment"); + } + + this.hasFlowCommentCompletion(); + this.state.pos += this.skipFlowComment(); + this.state.hasFlowComment = true; + return; + } + + if (this.state.hasFlowComment) { + var end = this.input.indexOf("*-/", this.state.pos += 2); + + if (end === -1) { + throw this.raise(this.state.pos - 2, "Unterminated comment"); + } + + this.state.pos = end + 3; + return; + } + + _get(_getPrototypeOf(_class2.prototype), "skipBlockComment", this).call(this); + } + }, { + key: "skipFlowComment", + value: function skipFlowComment() { + var pos = this.state.pos; + var shiftToFirstNonWhiteSpace = 2; + + while ([32, 9].includes(this.input.charCodeAt(pos + shiftToFirstNonWhiteSpace))) { + shiftToFirstNonWhiteSpace++; + } + + var ch2 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos); + var ch3 = this.input.charCodeAt(shiftToFirstNonWhiteSpace + pos + 1); + + if (ch2 === 58 && ch3 === 58) { + return shiftToFirstNonWhiteSpace + 2; + } + + if (this.input.slice(shiftToFirstNonWhiteSpace + pos, shiftToFirstNonWhiteSpace + pos + 12) === "flow-include") { + return shiftToFirstNonWhiteSpace + 12; + } + + if (ch2 === 58 && ch3 !== 58) { + return shiftToFirstNonWhiteSpace; + } + + return false; + } + }, { + key: "hasFlowCommentCompletion", + value: function hasFlowCommentCompletion() { + var end = this.input.indexOf("*/", this.state.pos); + + if (end === -1) { + throw this.raise(this.state.pos, "Unterminated comment"); + } + } + }, { + key: "flowEnumErrorBooleanMemberNotInitialized", + value: function flowEnumErrorBooleanMemberNotInitialized(pos, _ref3) { + var enumName = _ref3.enumName, + memberName = _ref3.memberName; + this.raise(pos, "Boolean enum members need to be initialized. Use either `".concat(memberName, " = true,` ") + "or `".concat(memberName, " = false,` in enum `").concat(enumName, "`.")); + } + }, { + key: "flowEnumErrorInvalidMemberName", + value: function flowEnumErrorInvalidMemberName(pos, _ref4) { + var enumName = _ref4.enumName, + memberName = _ref4.memberName; + var suggestion = memberName[0].toUpperCase() + memberName.slice(1); + this.raise(pos, "Enum member names cannot start with lowercase 'a' through 'z'. Instead of using " + "`".concat(memberName, "`, consider using `").concat(suggestion, "`, in enum `").concat(enumName, "`.")); + } + }, { + key: "flowEnumErrorDuplicateMemberName", + value: function flowEnumErrorDuplicateMemberName(pos, _ref5) { + var enumName = _ref5.enumName, + memberName = _ref5.memberName; + this.raise(pos, "Enum member names need to be unique, but the name `".concat(memberName, "` has already been used ") + "before in enum `".concat(enumName, "`.")); + } + }, { + key: "flowEnumErrorInconsistentMemberValues", + value: function flowEnumErrorInconsistentMemberValues(pos, _ref6) { + var enumName = _ref6.enumName; + this.raise(pos, "Enum `".concat(enumName, "` has inconsistent member initializers. Either use no initializers, or ") + "consistently use literals (either booleans, numbers, or strings) for all member initializers."); + } + }, { + key: "flowEnumErrorInvalidExplicitType", + value: function flowEnumErrorInvalidExplicitType(pos, _ref7) { + var enumName = _ref7.enumName, + suppliedType = _ref7.suppliedType; + var suggestion = "Use one of `boolean`, `number`, `string`, or `symbol` in " + "enum `".concat(enumName, "`."); + var message = suppliedType === null ? "Supplied enum type is not valid. ".concat(suggestion) : "Enum type `".concat(suppliedType, "` is not valid. ").concat(suggestion); + return this.raise(pos, message); + } + }, { + key: "flowEnumErrorInvalidMemberInitializer", + value: function flowEnumErrorInvalidMemberInitializer(pos, _ref8) { + var enumName = _ref8.enumName, + explicitType = _ref8.explicitType, + memberName = _ref8.memberName; + var message = null; + + switch (explicitType) { + case "boolean": + case "number": + case "string": + message = "Enum `".concat(enumName, "` has type `").concat(explicitType, "`, so the initializer of ") + "`".concat(memberName, "` needs to be a ").concat(explicitType, " literal."); + break; + + case "symbol": + message = "Symbol enum members cannot be initialized. Use `".concat(memberName, ",` in ") + "enum `".concat(enumName, "`."); + break; + + default: + message = "The enum member initializer for `".concat(memberName, "` needs to be a literal (either ") + "a boolean, number, or string) in enum `".concat(enumName, "`."); + } + + return this.raise(pos, message); + } + }, { + key: "flowEnumErrorNumberMemberNotInitialized", + value: function flowEnumErrorNumberMemberNotInitialized(pos, _ref9) { + var enumName = _ref9.enumName, + memberName = _ref9.memberName; + this.raise(pos, "Number enum members need to be initialized, e.g. `".concat(memberName, " = 1` in enum `").concat(enumName, "`.")); + } + }, { + key: "flowEnumErrorStringMemberInconsistentlyInitailized", + value: function flowEnumErrorStringMemberInconsistentlyInitailized(pos, _ref10) { + var enumName = _ref10.enumName; + this.raise(pos, "String enum members need to consistently either all use initializers, or use no initializers, " + "in enum `".concat(enumName, "`.")); + } + }, { + key: "flowEnumMemberInit", + value: function flowEnumMemberInit() { + var _this14 = this; + + var startPos = this.state.start; + + var endOfInit = function endOfInit() { + return _this14.match(types.comma) || _this14.match(types.braceR); + }; + + switch (this.state.type) { + case types.num: + { + var _literal = this.parseLiteral(this.state.value, "NumericLiteral"); + + if (endOfInit()) { + return { + type: "number", + pos: _literal.start, + value: _literal + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + case types.string: + { + var _literal2 = this.parseLiteral(this.state.value, "StringLiteral"); + + if (endOfInit()) { + return { + type: "string", + pos: _literal2.start, + value: _literal2 + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + case types._true: + case types._false: + { + var _literal3 = this.parseBooleanLiteral(); + + if (endOfInit()) { + return { + type: "boolean", + pos: _literal3.start, + value: _literal3 + }; + } + + return { + type: "invalid", + pos: startPos + }; + } + + default: + return { + type: "invalid", + pos: startPos + }; + } + } + }, { + key: "flowEnumMemberRaw", + value: function flowEnumMemberRaw() { + var pos = this.state.start; + var id = this.parseIdentifier(true); + var init = this.eat(types.eq) ? this.flowEnumMemberInit() : { + type: "none", + pos: pos + }; + return { + id: id, + init: init + }; + } + }, { + key: "flowEnumCheckExplicitTypeMismatch", + value: function flowEnumCheckExplicitTypeMismatch(pos, context, expectedType) { + var explicitType = context.explicitType; + + if (explicitType === null) { + return; + } + + if (explicitType !== expectedType) { + this.flowEnumErrorInvalidMemberInitializer(pos, context); + } + } + }, { + key: "flowEnumMembers", + value: function flowEnumMembers(_ref11) { + var enumName = _ref11.enumName, + explicitType = _ref11.explicitType; + var seenNames = new Set(); + var members = { + booleanMembers: [], + numberMembers: [], + stringMembers: [], + defaultedMembers: [] + }; + + while (!this.match(types.braceR)) { + var memberNode = this.startNode(); + + var _this$flowEnumMemberR = this.flowEnumMemberRaw(), + id = _this$flowEnumMemberR.id, + init = _this$flowEnumMemberR.init; + + var memberName = id.name; + + if (memberName === "") { + continue; + } + + if (/^[a-z]/.test(memberName)) { + this.flowEnumErrorInvalidMemberName(id.start, { + enumName: enumName, + memberName: memberName + }); + } + + if (seenNames.has(memberName)) { + this.flowEnumErrorDuplicateMemberName(id.start, { + enumName: enumName, + memberName: memberName + }); + } + + seenNames.add(memberName); + var context = { + enumName: enumName, + explicitType: explicitType, + memberName: memberName + }; + memberNode.id = id; + + switch (init.type) { + case "boolean": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "boolean"); + memberNode.init = init.value; + members.booleanMembers.push(this.finishNode(memberNode, "EnumBooleanMember")); + break; + } + + case "number": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "number"); + memberNode.init = init.value; + members.numberMembers.push(this.finishNode(memberNode, "EnumNumberMember")); + break; + } + + case "string": + { + this.flowEnumCheckExplicitTypeMismatch(init.pos, context, "string"); + memberNode.init = init.value; + members.stringMembers.push(this.finishNode(memberNode, "EnumStringMember")); + break; + } + + case "invalid": + { + throw this.flowEnumErrorInvalidMemberInitializer(init.pos, context); + } + + case "none": + { + switch (explicitType) { + case "boolean": + this.flowEnumErrorBooleanMemberNotInitialized(init.pos, context); + break; + + case "number": + this.flowEnumErrorNumberMemberNotInitialized(init.pos, context); + break; + + default: + members.defaultedMembers.push(this.finishNode(memberNode, "EnumDefaultedMember")); + } + } + } + + if (!this.match(types.braceR)) { + this.expect(types.comma); + } + } + + return members; + } + }, { + key: "flowEnumStringBody", + value: function flowEnumStringBody(bodyNode, initializedMembers, defaultedMembers, _ref12) { + var enumName = _ref12.enumName; + + if (initializedMembers.length === 0) { + bodyNode.members = defaultedMembers; + } else if (defaultedMembers.length === 0) { + bodyNode.members = initializedMembers; + } else if (defaultedMembers.length > initializedMembers.length) { + bodyNode.members = defaultedMembers; + + for (var _i = 0; _i < initializedMembers.length; _i++) { + var member = initializedMembers[_i]; + this.flowEnumErrorStringMemberInconsistentlyInitailized(member.start, { + enumName: enumName + }); + } + } else { + bodyNode.members = initializedMembers; + + for (var _i2 = 0; _i2 < defaultedMembers.length; _i2++) { + var _member = defaultedMembers[_i2]; + this.flowEnumErrorStringMemberInconsistentlyInitailized(_member.start, { + enumName: enumName + }); + } + } + + return this.finishNode(bodyNode, "EnumStringBody"); + } + }, { + key: "flowEnumParseExplicitType", + value: function flowEnumParseExplicitType(_ref13) { + var enumName = _ref13.enumName; + + if (this.eatContextual("of")) { + if (!this.match(types.name)) { + throw this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName: enumName, + suppliedType: null + }); + } + + var value = this.state.value; + this.next(); + + if (value !== "boolean" && value !== "number" && value !== "string" && value !== "symbol") { + this.flowEnumErrorInvalidExplicitType(this.state.start, { + enumName: enumName, + suppliedType: value + }); + } + + return value; + } + + return null; + } + }, { + key: "flowParseEnumDeclaration", + value: function flowParseEnumDeclaration(node) { + var _this15 = this; + + var id = this.parseIdentifier(); + node.id = id; + var enumName = id.name; + var explicitType = this.flowEnumParseExplicitType({ + enumName: enumName + }); + this.expect(types.braceL); + var bodyNode = this.startNode(); + var members = this.flowEnumMembers({ + enumName: enumName, + explicitType: explicitType + }); + + switch (explicitType) { + case "boolean": + bodyNode.explicitType = true; + bodyNode.members = members.booleanMembers; + node.body = this.finishNode(bodyNode, "EnumBooleanBody"); + break; + + case "number": + bodyNode.explicitType = true; + bodyNode.members = members.numberMembers; + node.body = this.finishNode(bodyNode, "EnumNumberBody"); + break; + + case "string": + bodyNode.explicitType = true; + node.body = this.flowEnumStringBody(bodyNode, members.stringMembers, members.defaultedMembers, { + enumName: enumName + }); + break; + + case "symbol": + bodyNode.members = members.defaultedMembers; + node.body = this.finishNode(bodyNode, "EnumSymbolBody"); + break; + + default: + { + var empty = function empty() { + bodyNode.members = []; + return _this15.finishNode(bodyNode, "EnumStringBody"); + }; + + bodyNode.explicitType = false; + var boolsLen = members.booleanMembers.length; + var numsLen = members.numberMembers.length; + var strsLen = members.stringMembers.length; + var defaultedLen = members.defaultedMembers.length; + + if (!boolsLen && !numsLen && !strsLen && !defaultedLen) { + node.body = empty(); + } else if (!boolsLen && !numsLen) { + node.body = this.flowEnumStringBody(bodyNode, members.stringMembers, members.defaultedMembers, { + enumName: enumName + }); + } else if (!numsLen && !strsLen && boolsLen >= defaultedLen) { + bodyNode.members = members.booleanMembers; + node.body = this.finishNode(bodyNode, "EnumBooleanBody"); + + for (var _i3 = 0, _members$defaultedMem = members.defaultedMembers; _i3 < _members$defaultedMem.length; _i3++) { + var member = _members$defaultedMem[_i3]; + this.flowEnumErrorBooleanMemberNotInitialized(member.start, { + enumName: enumName, + memberName: member.id.name + }); + } + } else if (!boolsLen && !strsLen && numsLen >= defaultedLen) { + bodyNode.members = members.numberMembers; + node.body = this.finishNode(bodyNode, "EnumNumberBody"); + + for (var _i4 = 0, _members$defaultedMem2 = members.defaultedMembers; _i4 < _members$defaultedMem2.length; _i4++) { + var _member2 = _members$defaultedMem2[_i4]; + this.flowEnumErrorNumberMemberNotInitialized(_member2.start, { + enumName: enumName, + memberName: _member2.id.name + }); + } + } else { + node.body = empty(); + this.flowEnumErrorInconsistentMemberValues(id.start, { + enumName: enumName + }); + } + } + } + + this.expect(types.braceR); + return this.finishNode(node, "EnumDeclaration"); + } + }]); + + return _class2; + }(superClass) + ); +}; + +var entities = { + quot: "\"", + amp: "&", + apos: "'", + lt: "<", + gt: ">", + nbsp: "\xA0", + iexcl: "\xA1", + cent: "\xA2", + pound: "\xA3", + curren: "\xA4", + yen: "\xA5", + brvbar: "\xA6", + sect: "\xA7", + uml: "\xA8", + copy: "\xA9", + ordf: "\xAA", + laquo: "\xAB", + not: "\xAC", + shy: "\xAD", + reg: "\xAE", + macr: "\xAF", + deg: "\xB0", + plusmn: "\xB1", + sup2: "\xB2", + sup3: "\xB3", + acute: "\xB4", + micro: "\xB5", + para: "\xB6", + middot: "\xB7", + cedil: "\xB8", + sup1: "\xB9", + ordm: "\xBA", + raquo: "\xBB", + frac14: "\xBC", + frac12: "\xBD", + frac34: "\xBE", + iquest: "\xBF", + Agrave: "\xC0", + Aacute: "\xC1", + Acirc: "\xC2", + Atilde: "\xC3", + Auml: "\xC4", + Aring: "\xC5", + AElig: "\xC6", + Ccedil: "\xC7", + Egrave: "\xC8", + Eacute: "\xC9", + Ecirc: "\xCA", + Euml: "\xCB", + Igrave: "\xCC", + Iacute: "\xCD", + Icirc: "\xCE", + Iuml: "\xCF", + ETH: "\xD0", + Ntilde: "\xD1", + Ograve: "\xD2", + Oacute: "\xD3", + Ocirc: "\xD4", + Otilde: "\xD5", + Ouml: "\xD6", + times: "\xD7", + Oslash: "\xD8", + Ugrave: "\xD9", + Uacute: "\xDA", + Ucirc: "\xDB", + Uuml: "\xDC", + Yacute: "\xDD", + THORN: "\xDE", + szlig: "\xDF", + agrave: "\xE0", + aacute: "\xE1", + acirc: "\xE2", + atilde: "\xE3", + auml: "\xE4", + aring: "\xE5", + aelig: "\xE6", + ccedil: "\xE7", + egrave: "\xE8", + eacute: "\xE9", + ecirc: "\xEA", + euml: "\xEB", + igrave: "\xEC", + iacute: "\xED", + icirc: "\xEE", + iuml: "\xEF", + eth: "\xF0", + ntilde: "\xF1", + ograve: "\xF2", + oacute: "\xF3", + ocirc: "\xF4", + otilde: "\xF5", + ouml: "\xF6", + divide: "\xF7", + oslash: "\xF8", + ugrave: "\xF9", + uacute: "\xFA", + ucirc: "\xFB", + uuml: "\xFC", + yacute: "\xFD", + thorn: "\xFE", + yuml: "\xFF", + OElig: "\u0152", + oelig: "\u0153", + Scaron: "\u0160", + scaron: "\u0161", + Yuml: "\u0178", + fnof: "\u0192", + circ: "\u02C6", + tilde: "\u02DC", + Alpha: "\u0391", + Beta: "\u0392", + Gamma: "\u0393", + Delta: "\u0394", + Epsilon: "\u0395", + Zeta: "\u0396", + Eta: "\u0397", + Theta: "\u0398", + Iota: "\u0399", + Kappa: "\u039A", + Lambda: "\u039B", + Mu: "\u039C", + Nu: "\u039D", + Xi: "\u039E", + Omicron: "\u039F", + Pi: "\u03A0", + Rho: "\u03A1", + Sigma: "\u03A3", + Tau: "\u03A4", + Upsilon: "\u03A5", + Phi: "\u03A6", + Chi: "\u03A7", + Psi: "\u03A8", + Omega: "\u03A9", + alpha: "\u03B1", + beta: "\u03B2", + gamma: "\u03B3", + delta: "\u03B4", + epsilon: "\u03B5", + zeta: "\u03B6", + eta: "\u03B7", + theta: "\u03B8", + iota: "\u03B9", + kappa: "\u03BA", + lambda: "\u03BB", + mu: "\u03BC", + nu: "\u03BD", + xi: "\u03BE", + omicron: "\u03BF", + pi: "\u03C0", + rho: "\u03C1", + sigmaf: "\u03C2", + sigma: "\u03C3", + tau: "\u03C4", + upsilon: "\u03C5", + phi: "\u03C6", + chi: "\u03C7", + psi: "\u03C8", + omega: "\u03C9", + thetasym: "\u03D1", + upsih: "\u03D2", + piv: "\u03D6", + ensp: "\u2002", + emsp: "\u2003", + thinsp: "\u2009", + zwnj: "\u200C", + zwj: "\u200D", + lrm: "\u200E", + rlm: "\u200F", + ndash: "\u2013", + mdash: "\u2014", + lsquo: "\u2018", + rsquo: "\u2019", + sbquo: "\u201A", + ldquo: "\u201C", + rdquo: "\u201D", + bdquo: "\u201E", + dagger: "\u2020", + Dagger: "\u2021", + bull: "\u2022", + hellip: "\u2026", + permil: "\u2030", + prime: "\u2032", + Prime: "\u2033", + lsaquo: "\u2039", + rsaquo: "\u203A", + oline: "\u203E", + frasl: "\u2044", + euro: "\u20AC", + image: "\u2111", + weierp: "\u2118", + real: "\u211C", + trade: "\u2122", + alefsym: "\u2135", + larr: "\u2190", + uarr: "\u2191", + rarr: "\u2192", + darr: "\u2193", + harr: "\u2194", + crarr: "\u21B5", + lArr: "\u21D0", + uArr: "\u21D1", + rArr: "\u21D2", + dArr: "\u21D3", + hArr: "\u21D4", + forall: "\u2200", + part: "\u2202", + exist: "\u2203", + empty: "\u2205", + nabla: "\u2207", + isin: "\u2208", + notin: "\u2209", + ni: "\u220B", + prod: "\u220F", + sum: "\u2211", + minus: "\u2212", + lowast: "\u2217", + radic: "\u221A", + prop: "\u221D", + infin: "\u221E", + ang: "\u2220", + and: "\u2227", + or: "\u2228", + cap: "\u2229", + cup: "\u222A", + int: "\u222B", + there4: "\u2234", + sim: "\u223C", + cong: "\u2245", + asymp: "\u2248", + ne: "\u2260", + equiv: "\u2261", + le: "\u2264", + ge: "\u2265", + sub: "\u2282", + sup: "\u2283", + nsub: "\u2284", + sube: "\u2286", + supe: "\u2287", + oplus: "\u2295", + otimes: "\u2297", + perp: "\u22A5", + sdot: "\u22C5", + lceil: "\u2308", + rceil: "\u2309", + lfloor: "\u230A", + rfloor: "\u230B", + lang: "\u2329", + rang: "\u232A", + loz: "\u25CA", + spades: "\u2660", + clubs: "\u2663", + hearts: "\u2665", + diams: "\u2666" +}; +var HEX_NUMBER = /^[\da-fA-F]+$/; +var DECIMAL_NUMBER = /^\d+$/; +types$1.j_oTag = new TokContext("...", true, true); +types.jsxName = new TokenType("jsxName"); +types.jsxText = new TokenType("jsxText", { + beforeExpr: true +}); +types.jsxTagStart = new TokenType("jsxTagStart", { + startsExpr: true +}); +types.jsxTagEnd = new TokenType("jsxTagEnd"); + +types.jsxTagStart.updateContext = function () { + this.state.context.push(types$1.j_expr); + this.state.context.push(types$1.j_oTag); + this.state.exprAllowed = false; +}; + +types.jsxTagEnd.updateContext = function (prevType) { + var out = this.state.context.pop(); + + if (out === types$1.j_oTag && prevType === types.slash || out === types$1.j_cTag) { + this.state.context.pop(); + this.state.exprAllowed = this.curContext() === types$1.j_expr; + } else { + this.state.exprAllowed = true; + } +}; + +function isFragment(object) { + return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false; +} + +function getQualifiedJSXName(object) { + if (object.type === "JSXIdentifier") { + return object.name; + } + + if (object.type === "JSXNamespacedName") { + return object.namespace.name + ":" + object.name.name; + } + + if (object.type === "JSXMemberExpression") { + return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property); + } + + throw new Error("Node had unexpected type: " + object.type); +} + +var jsx = function jsx(superClass) { + return ( + /*#__PURE__*/ + function (_superClass3) { + _inherits(_class3, _superClass3); + + function _class3() { + _classCallCheck(this, _class3); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class3).apply(this, arguments)); + } + + _createClass(_class3, [{ + key: "jsxReadToken", + value: function jsxReadToken() { + var out = ""; + var chunkStart = this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, "Unterminated JSX contents"); + } + + var ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 60: + case 123: + if (this.state.pos === this.state.start) { + if (ch === 60 && this.state.exprAllowed) { + ++this.state.pos; + return this.finishToken(types.jsxTagStart); + } + + return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, ch); + } + + out += this.input.slice(chunkStart, this.state.pos); + return this.finishToken(types.jsxText, out); + + case 38: + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + break; + + default: + if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(true); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + + } + } + } + }, { + key: "jsxReadNewLine", + value: function jsxReadNewLine(normalizeCRLF) { + var ch = this.input.charCodeAt(this.state.pos); + var out; + ++this.state.pos; + + if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + out = normalizeCRLF ? "\n" : "\r\n"; + } else { + out = String.fromCharCode(ch); + } + + ++this.state.curLine; + this.state.lineStart = this.state.pos; + return out; + } + }, { + key: "jsxReadString", + value: function jsxReadString(quote) { + var out = ""; + var chunkStart = ++this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, "Unterminated string constant"); + } + + var ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + + if (ch === 38) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadEntity(); + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.jsxReadNewLine(false); + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + + out += this.input.slice(chunkStart, this.state.pos++); + return this.finishToken(types.string, out); + } + }, { + key: "jsxReadEntity", + value: function jsxReadEntity() { + var str = ""; + var count = 0; + var entity; + var ch = this.input[this.state.pos]; + var startPos = ++this.state.pos; + + while (this.state.pos < this.length && count++ < 10) { + ch = this.input[this.state.pos++]; + + if (ch === ";") { + if (str[0] === "#") { + if (str[1] === "x") { + str = str.substr(2); + + if (HEX_NUMBER.test(str)) { + entity = String.fromCodePoint(parseInt(str, 16)); + } + } else { + str = str.substr(1); + + if (DECIMAL_NUMBER.test(str)) { + entity = String.fromCodePoint(parseInt(str, 10)); + } + } + } else { + entity = entities[str]; + } + + break; + } + + str += ch; + } + + if (!entity) { + this.state.pos = startPos; + return "&"; + } + + return entity; + } + }, { + key: "jsxReadWord", + value: function jsxReadWord() { + var ch; + var start = this.state.pos; + + do { + ch = this.input.charCodeAt(++this.state.pos); + } while (isIdentifierChar(ch) || ch === 45); + + return this.finishToken(types.jsxName, this.input.slice(start, this.state.pos)); + } + }, { + key: "jsxParseIdentifier", + value: function jsxParseIdentifier() { + var node = this.startNode(); + + if (this.match(types.jsxName)) { + node.name = this.state.value; + } else if (this.state.type.keyword) { + node.name = this.state.type.keyword; + } else { + this.unexpected(); + } + + this.next(); + return this.finishNode(node, "JSXIdentifier"); + } + }, { + key: "jsxParseNamespacedName", + value: function jsxParseNamespacedName() { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var name = this.jsxParseIdentifier(); + if (!this.eat(types.colon)) return name; + var node = this.startNodeAt(startPos, startLoc); + node.namespace = name; + node.name = this.jsxParseIdentifier(); + return this.finishNode(node, "JSXNamespacedName"); + } + }, { + key: "jsxParseElementName", + value: function jsxParseElementName() { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var node = this.jsxParseNamespacedName(); + + if (node.type === "JSXNamespacedName") { + return node; + } + + while (this.eat(types.dot)) { + var newNode = this.startNodeAt(startPos, startLoc); + newNode.object = node; + newNode.property = this.jsxParseIdentifier(); + node = this.finishNode(newNode, "JSXMemberExpression"); + } + + return node; + } + }, { + key: "jsxParseAttributeValue", + value: function jsxParseAttributeValue() { + var node; + + switch (this.state.type) { + case types.braceL: + node = this.startNode(); + this.next(); + node = this.jsxParseExpressionContainer(node); + + if (node.expression.type === "JSXEmptyExpression") { + this.raise(node.start, "JSX attributes must only be assigned a non-empty expression"); + } + + return node; + + case types.jsxTagStart: + case types.string: + return this.parseExprAtom(); + + default: + throw this.raise(this.state.start, "JSX value should be either an expression or a quoted JSX text"); + } + } + }, { + key: "jsxParseEmptyExpression", + value: function jsxParseEmptyExpression() { + var node = this.startNodeAt(this.state.lastTokEnd, this.state.lastTokEndLoc); + return this.finishNodeAt(node, "JSXEmptyExpression", this.state.start, this.state.startLoc); + } + }, { + key: "jsxParseSpreadChild", + value: function jsxParseSpreadChild(node) { + this.next(); + node.expression = this.parseExpression(); + this.expect(types.braceR); + return this.finishNode(node, "JSXSpreadChild"); + } + }, { + key: "jsxParseExpressionContainer", + value: function jsxParseExpressionContainer(node) { + if (this.match(types.braceR)) { + node.expression = this.jsxParseEmptyExpression(); + } else { + node.expression = this.parseExpression(); + } + + this.expect(types.braceR); + return this.finishNode(node, "JSXExpressionContainer"); + } + }, { + key: "jsxParseAttribute", + value: function jsxParseAttribute() { + var node = this.startNode(); + + if (this.eat(types.braceL)) { + this.expect(types.ellipsis); + node.argument = this.parseMaybeAssign(); + this.expect(types.braceR); + return this.finishNode(node, "JSXSpreadAttribute"); + } + + node.name = this.jsxParseNamespacedName(); + node.value = this.eat(types.eq) ? this.jsxParseAttributeValue() : null; + return this.finishNode(node, "JSXAttribute"); + } + }, { + key: "jsxParseOpeningElementAt", + value: function jsxParseOpeningElementAt(startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + + if (this.match(types.jsxTagEnd)) { + this.expect(types.jsxTagEnd); + return this.finishNode(node, "JSXOpeningFragment"); + } + + node.name = this.jsxParseElementName(); + return this.jsxParseOpeningElementAfterName(node); + } + }, { + key: "jsxParseOpeningElementAfterName", + value: function jsxParseOpeningElementAfterName(node) { + var attributes = []; + + while (!this.match(types.slash) && !this.match(types.jsxTagEnd)) { + attributes.push(this.jsxParseAttribute()); + } + + node.attributes = attributes; + node.selfClosing = this.eat(types.slash); + this.expect(types.jsxTagEnd); + return this.finishNode(node, "JSXOpeningElement"); + } + }, { + key: "jsxParseClosingElementAt", + value: function jsxParseClosingElementAt(startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + + if (this.match(types.jsxTagEnd)) { + this.expect(types.jsxTagEnd); + return this.finishNode(node, "JSXClosingFragment"); + } + + node.name = this.jsxParseElementName(); + this.expect(types.jsxTagEnd); + return this.finishNode(node, "JSXClosingElement"); + } + }, { + key: "jsxParseElementAt", + value: function jsxParseElementAt(startPos, startLoc) { + var node = this.startNodeAt(startPos, startLoc); + var children = []; + var openingElement = this.jsxParseOpeningElementAt(startPos, startLoc); + var closingElement = null; + + if (!openingElement.selfClosing) { + contents: for (;;) { + switch (this.state.type) { + case types.jsxTagStart: + startPos = this.state.start; + startLoc = this.state.startLoc; + this.next(); + + if (this.eat(types.slash)) { + closingElement = this.jsxParseClosingElementAt(startPos, startLoc); + break contents; + } + + children.push(this.jsxParseElementAt(startPos, startLoc)); + break; + + case types.jsxText: + children.push(this.parseExprAtom()); + break; + + case types.braceL: + { + var _node5 = this.startNode(); + + this.next(); + + if (this.match(types.ellipsis)) { + children.push(this.jsxParseSpreadChild(_node5)); + } else { + children.push(this.jsxParseExpressionContainer(_node5)); + } + + break; + } + + default: + throw this.unexpected(); + } + } + + if (isFragment(openingElement) && !isFragment(closingElement)) { + this.raise(closingElement.start, "Expected corresponding JSX closing tag for <>"); + } else if (!isFragment(openingElement) && isFragment(closingElement)) { + this.raise(closingElement.start, "Expected corresponding JSX closing tag for <" + getQualifiedJSXName(openingElement.name) + ">"); + } else if (!isFragment(openingElement) && !isFragment(closingElement)) { + if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) { + this.raise(closingElement.start, "Expected corresponding JSX closing tag for <" + getQualifiedJSXName(openingElement.name) + ">"); + } + } + } + + if (isFragment(openingElement)) { + node.openingFragment = openingElement; + node.closingFragment = closingElement; + } else { + node.openingElement = openingElement; + node.closingElement = closingElement; + } + + node.children = children; + + if (this.isRelational("<")) { + throw this.raise(this.state.start, "Adjacent JSX elements must be wrapped in an enclosing tag. " + "Did you want a JSX fragment <>...?"); + } + + return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement"); + } + }, { + key: "jsxParseElement", + value: function jsxParseElement() { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + this.next(); + return this.jsxParseElementAt(startPos, startLoc); + } + }, { + key: "parseExprAtom", + value: function parseExprAtom(refShortHandDefaultPos) { + if (this.match(types.jsxText)) { + return this.parseLiteral(this.state.value, "JSXText"); + } else if (this.match(types.jsxTagStart)) { + return this.jsxParseElement(); + } else if (this.isRelational("<") && this.input.charCodeAt(this.state.pos) !== 33) { + this.finishToken(types.jsxTagStart); + return this.jsxParseElement(); + } else { + return _get(_getPrototypeOf(_class3.prototype), "parseExprAtom", this).call(this, refShortHandDefaultPos); + } + } + }, { + key: "getTokenFromCode", + value: function getTokenFromCode(code) { + if (this.state.inPropertyName) return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, code); + var context = this.curContext(); + + if (context === types$1.j_expr) { + return this.jsxReadToken(); + } + + if (context === types$1.j_oTag || context === types$1.j_cTag) { + if (isIdentifierStart(code)) { + return this.jsxReadWord(); + } + + if (code === 62) { + ++this.state.pos; + return this.finishToken(types.jsxTagEnd); + } + + if ((code === 34 || code === 39) && context === types$1.j_oTag) { + return this.jsxReadString(code); + } + } + + if (code === 60 && this.state.exprAllowed && this.input.charCodeAt(this.state.pos + 1) !== 33) { + ++this.state.pos; + return this.finishToken(types.jsxTagStart); + } + + return _get(_getPrototypeOf(_class3.prototype), "getTokenFromCode", this).call(this, code); + } + }, { + key: "updateContext", + value: function updateContext(prevType) { + if (this.match(types.braceL)) { + var curContext = this.curContext(); + + if (curContext === types$1.j_oTag) { + this.state.context.push(types$1.braceExpression); + } else if (curContext === types$1.j_expr) { + this.state.context.push(types$1.templateQuasi); + } else { + _get(_getPrototypeOf(_class3.prototype), "updateContext", this).call(this, prevType); + } + + this.state.exprAllowed = true; + } else if (this.match(types.slash) && prevType === types.jsxTagStart) { + this.state.context.length -= 2; + this.state.context.push(types$1.j_cTag); + this.state.exprAllowed = false; + } else { + return _get(_getPrototypeOf(_class3.prototype), "updateContext", this).call(this, prevType); + } + } + }]); + + return _class3; + }(superClass) + ); +}; + +var Scope = function Scope(flags) { + _classCallCheck(this, Scope); + + this.var = []; + this.lexical = []; + this.functions = []; + this.flags = flags; +}; + +var ScopeHandler = +/*#__PURE__*/ +function () { + function ScopeHandler(raise, inModule) { + _classCallCheck(this, ScopeHandler); + + this.scopeStack = []; + this.undefinedExports = new Map(); + this.raise = raise; + this.inModule = inModule; + } + + _createClass(ScopeHandler, [{ + key: "createScope", + value: function createScope(flags) { + return new Scope(flags); + } + }, { + key: "enter", + value: function enter(flags) { + this.scopeStack.push(this.createScope(flags)); + } + }, { + key: "exit", + value: function exit() { + this.scopeStack.pop(); + } + }, { + key: "treatFunctionsAsVarInScope", + value: function treatFunctionsAsVarInScope(scope) { + return !!(scope.flags & SCOPE_FUNCTION || !this.inModule && scope.flags & SCOPE_PROGRAM); + } + }, { + key: "declareName", + value: function declareName(name, bindingType, pos) { + var scope = this.currentScope(); + + if (bindingType & BIND_SCOPE_LEXICAL || bindingType & BIND_SCOPE_FUNCTION) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + + if (bindingType & BIND_SCOPE_FUNCTION) { + scope.functions.push(name); + } else { + scope.lexical.push(name); + } + + if (bindingType & BIND_SCOPE_LEXICAL) { + this.maybeExportDefined(scope, name); + } + } else if (bindingType & BIND_SCOPE_VAR) { + for (var i = this.scopeStack.length - 1; i >= 0; --i) { + scope = this.scopeStack[i]; + this.checkRedeclarationInScope(scope, name, bindingType, pos); + scope.var.push(name); + this.maybeExportDefined(scope, name); + if (scope.flags & SCOPE_VAR) break; + } + } + + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + }, { + key: "maybeExportDefined", + value: function maybeExportDefined(scope, name) { + if (this.inModule && scope.flags & SCOPE_PROGRAM) { + this.undefinedExports.delete(name); + } + } + }, { + key: "checkRedeclarationInScope", + value: function checkRedeclarationInScope(scope, name, bindingType, pos) { + if (this.isRedeclaredInScope(scope, name, bindingType)) { + this.raise(pos, "Identifier '".concat(name, "' has already been declared")); + } + } + }, { + key: "isRedeclaredInScope", + value: function isRedeclaredInScope(scope, name, bindingType) { + if (!(bindingType & BIND_KIND_VALUE)) return false; + + if (bindingType & BIND_SCOPE_LEXICAL) { + return scope.lexical.indexOf(name) > -1 || scope.functions.indexOf(name) > -1 || scope.var.indexOf(name) > -1; + } + + if (bindingType & BIND_SCOPE_FUNCTION) { + return scope.lexical.indexOf(name) > -1 || !this.treatFunctionsAsVarInScope(scope) && scope.var.indexOf(name) > -1; + } + + return scope.lexical.indexOf(name) > -1 && !(scope.flags & SCOPE_SIMPLE_CATCH && scope.lexical[0] === name) || !this.treatFunctionsAsVarInScope(scope) && scope.functions.indexOf(name) > -1; + } + }, { + key: "checkLocalExport", + value: function checkLocalExport(id) { + if (this.scopeStack[0].lexical.indexOf(id.name) === -1 && this.scopeStack[0].var.indexOf(id.name) === -1 && this.scopeStack[0].functions.indexOf(id.name) === -1) { + this.undefinedExports.set(id.name, id.start); + } + } + }, { + key: "currentScope", + value: function currentScope() { + return this.scopeStack[this.scopeStack.length - 1]; + } + }, { + key: "currentVarScope", + value: function currentVarScope() { + for (var i = this.scopeStack.length - 1;; i--) { + var scope = this.scopeStack[i]; + + if (scope.flags & SCOPE_VAR) { + return scope; + } + } + } + }, { + key: "currentThisScope", + value: function currentThisScope() { + for (var i = this.scopeStack.length - 1;; i--) { + var scope = this.scopeStack[i]; + + if ((scope.flags & SCOPE_VAR || scope.flags & SCOPE_CLASS) && !(scope.flags & SCOPE_ARROW)) { + return scope; + } + } + } + }, { + key: "inFunction", + get: function get() { + return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0; + } + }, { + key: "inGenerator", + get: function get() { + return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0; + } + }, { + key: "inAsync", + get: function get() { + return (this.currentVarScope().flags & SCOPE_ASYNC) > 0; + } + }, { + key: "allowSuper", + get: function get() { + return (this.currentThisScope().flags & SCOPE_SUPER) > 0; + } + }, { + key: "allowDirectSuper", + get: function get() { + return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0; + } + }, { + key: "inNonArrowFunction", + get: function get() { + return (this.currentThisScope().flags & SCOPE_FUNCTION) > 0; + } + }, { + key: "treatFunctionsAsVar", + get: function get() { + return this.treatFunctionsAsVarInScope(this.currentScope()); + } + }]); + + return ScopeHandler; +}(); + +var TypeScriptScope = +/*#__PURE__*/ +function (_Scope) { + _inherits(TypeScriptScope, _Scope); + + function TypeScriptScope() { + var _getPrototypeOf2; + + var _this16; + + _classCallCheck(this, TypeScriptScope); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this16 = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(TypeScriptScope)).call.apply(_getPrototypeOf2, [this].concat(args))); + _this16.types = []; + _this16.enums = []; + _this16.constEnums = []; + _this16.classes = []; + _this16.exportOnlyBindings = []; + return _this16; + } + + return TypeScriptScope; +}(Scope); + +var TypeScriptScopeHandler = +/*#__PURE__*/ +function (_ScopeHandler) { + _inherits(TypeScriptScopeHandler, _ScopeHandler); + + function TypeScriptScopeHandler() { + _classCallCheck(this, TypeScriptScopeHandler); + + return _possibleConstructorReturn(this, _getPrototypeOf(TypeScriptScopeHandler).apply(this, arguments)); + } + + _createClass(TypeScriptScopeHandler, [{ + key: "createScope", + value: function createScope(flags) { + return new TypeScriptScope(flags); + } + }, { + key: "declareName", + value: function declareName(name, bindingType, pos) { + var scope = this.currentScope(); + + if (bindingType & BIND_FLAGS_TS_EXPORT_ONLY) { + this.maybeExportDefined(scope, name); + scope.exportOnlyBindings.push(name); + return; + } + + _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "declareName", this).apply(this, arguments); + + if (bindingType & BIND_KIND_TYPE) { + if (!(bindingType & BIND_KIND_VALUE)) { + this.checkRedeclarationInScope(scope, name, bindingType, pos); + this.maybeExportDefined(scope, name); + } + + scope.types.push(name); + } + + if (bindingType & BIND_FLAGS_TS_ENUM) scope.enums.push(name); + if (bindingType & BIND_FLAGS_TS_CONST_ENUM) scope.constEnums.push(name); + if (bindingType & BIND_FLAGS_CLASS) scope.classes.push(name); + } + }, { + key: "isRedeclaredInScope", + value: function isRedeclaredInScope(scope, name, bindingType) { + if (scope.enums.indexOf(name) > -1) { + if (bindingType & BIND_FLAGS_TS_ENUM) { + var isConst = !!(bindingType & BIND_FLAGS_TS_CONST_ENUM); + var wasConst = scope.constEnums.indexOf(name) > -1; + return isConst !== wasConst; + } + + return true; + } + + if (bindingType & BIND_FLAGS_CLASS && scope.classes.indexOf(name) > -1) { + if (scope.lexical.indexOf(name) > -1) { + return !!(bindingType & BIND_KIND_VALUE); + } else { + return false; + } + } + + if (bindingType & BIND_KIND_TYPE && scope.types.indexOf(name) > -1) { + return true; + } + + return _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "isRedeclaredInScope", this).apply(this, arguments); + } + }, { + key: "checkLocalExport", + value: function checkLocalExport(id) { + if (this.scopeStack[0].types.indexOf(id.name) === -1 && this.scopeStack[0].exportOnlyBindings.indexOf(id.name) === -1) { + _get(_getPrototypeOf(TypeScriptScopeHandler.prototype), "checkLocalExport", this).call(this, id); + } + } + }]); + + return TypeScriptScopeHandler; +}(ScopeHandler); + +function nonNull(x) { + if (x == null) { + throw new Error("Unexpected ".concat(x, " value.")); + } + + return x; +} + +function assert(x) { + if (!x) { + throw new Error("Assert fail"); + } +} + +function keywordTypeFromName(value) { + switch (value) { + case "any": + return "TSAnyKeyword"; + + case "boolean": + return "TSBooleanKeyword"; + + case "bigint": + return "TSBigIntKeyword"; + + case "never": + return "TSNeverKeyword"; + + case "number": + return "TSNumberKeyword"; + + case "object": + return "TSObjectKeyword"; + + case "string": + return "TSStringKeyword"; + + case "symbol": + return "TSSymbolKeyword"; + + case "undefined": + return "TSUndefinedKeyword"; + + case "unknown": + return "TSUnknownKeyword"; + + default: + return undefined; + } +} + +var typescript = function typescript(superClass) { + return ( + /*#__PURE__*/ + function (_superClass4) { + _inherits(_class4, _superClass4); + + function _class4() { + _classCallCheck(this, _class4); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class4).apply(this, arguments)); + } + + _createClass(_class4, [{ + key: "getScopeHandler", + value: function getScopeHandler() { + return TypeScriptScopeHandler; + } + }, { + key: "tsIsIdentifier", + value: function tsIsIdentifier() { + return this.match(types.name); + } + }, { + key: "tsNextTokenCanFollowModifier", + value: function tsNextTokenCanFollowModifier() { + this.next(); + return !this.hasPrecedingLineBreak() && !this.match(types.parenL) && !this.match(types.parenR) && !this.match(types.colon) && !this.match(types.eq) && !this.match(types.question) && !this.match(types.bang); + } + }, { + key: "tsParseModifier", + value: function tsParseModifier(allowedModifiers) { + if (!this.match(types.name)) { + return undefined; + } + + var modifier = this.state.value; + + if (allowedModifiers.indexOf(modifier) !== -1 && this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))) { + return modifier; + } + + return undefined; + } + }, { + key: "tsParseModifiers", + value: function tsParseModifiers(allowedModifiers) { + var modifiers = Object.create(null); + + while (true) { + var startPos = this.state.start; + var modifier = this.tsParseModifier(allowedModifiers); + if (!modifier) break; + + if (Object.hasOwnProperty.call(modifiers, modifier)) { + this.raise(startPos, "Duplicate modifier: '".concat(modifier, "'")); + } + + modifiers[modifier] = true; + } + + return modifiers; + } + }, { + key: "tsIsListTerminator", + value: function tsIsListTerminator(kind) { + switch (kind) { + case "EnumMembers": + case "TypeMembers": + return this.match(types.braceR); + + case "HeritageClauseElement": + return this.match(types.braceL); + + case "TupleElementTypes": + return this.match(types.bracketR); + + case "TypeParametersOrArguments": + return this.isRelational(">"); + } + + throw new Error("Unreachable"); + } + }, { + key: "tsParseList", + value: function tsParseList(kind, parseElement) { + var result = []; + + while (!this.tsIsListTerminator(kind)) { + result.push(parseElement()); + } + + return result; + } + }, { + key: "tsParseDelimitedList", + value: function tsParseDelimitedList(kind, parseElement) { + return nonNull(this.tsParseDelimitedListWorker(kind, parseElement, true)); + } + }, { + key: "tsParseDelimitedListWorker", + value: function tsParseDelimitedListWorker(kind, parseElement, expectSuccess) { + var result = []; + + while (true) { + if (this.tsIsListTerminator(kind)) { + break; + } + + var element = parseElement(); + + if (element == null) { + return undefined; + } + + result.push(element); + + if (this.eat(types.comma)) { + continue; + } + + if (this.tsIsListTerminator(kind)) { + break; + } + + if (expectSuccess) { + this.expect(types.comma); + } + + return undefined; + } + + return result; + } + }, { + key: "tsParseBracketedList", + value: function tsParseBracketedList(kind, parseElement, bracket, skipFirstToken) { + if (!skipFirstToken) { + if (bracket) { + this.expect(types.bracketL); + } else { + this.expectRelational("<"); + } + } + + var result = this.tsParseDelimitedList(kind, parseElement); + + if (bracket) { + this.expect(types.bracketR); + } else { + this.expectRelational(">"); + } + + return result; + } + }, { + key: "tsParseImportType", + value: function tsParseImportType() { + var node = this.startNode(); + this.expect(types._import); + this.expect(types.parenL); + + if (!this.match(types.string)) { + this.raise(this.state.start, "Argument in a type import must be a string literal"); + } + + node.argument = this.parseExprAtom(); + this.expect(types.parenR); + + if (this.eat(types.dot)) { + node.qualifier = this.tsParseEntityName(true); + } + + if (this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSImportType"); + } + }, { + key: "tsParseEntityName", + value: function tsParseEntityName(allowReservedWords) { + var entity = this.parseIdentifier(); + + while (this.eat(types.dot)) { + var node = this.startNodeAtNode(entity); + node.left = entity; + node.right = this.parseIdentifier(allowReservedWords); + entity = this.finishNode(node, "TSQualifiedName"); + } + + return entity; + } + }, { + key: "tsParseTypeReference", + value: function tsParseTypeReference() { + var node = this.startNode(); + node.typeName = this.tsParseEntityName(false); + + if (!this.hasPrecedingLineBreak() && this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSTypeReference"); + } + }, { + key: "tsParseThisTypePredicate", + value: function tsParseThisTypePredicate(lhs) { + this.next(); + var node = this.startNodeAtNode(lhs); + node.parameterName = lhs; + node.typeAnnotation = this.tsParseTypeAnnotation(false); + return this.finishNode(node, "TSTypePredicate"); + } + }, { + key: "tsParseThisTypeNode", + value: function tsParseThisTypeNode() { + var node = this.startNode(); + this.next(); + return this.finishNode(node, "TSThisType"); + } + }, { + key: "tsParseTypeQuery", + value: function tsParseTypeQuery() { + var node = this.startNode(); + this.expect(types._typeof); + + if (this.match(types._import)) { + node.exprName = this.tsParseImportType(); + } else { + node.exprName = this.tsParseEntityName(true); + } + + return this.finishNode(node, "TSTypeQuery"); + } + }, { + key: "tsParseTypeParameter", + value: function tsParseTypeParameter() { + var node = this.startNode(); + node.name = this.parseIdentifierName(node.start); + node.constraint = this.tsEatThenParseType(types._extends); + node.default = this.tsEatThenParseType(types.eq); + return this.finishNode(node, "TSTypeParameter"); + } + }, { + key: "tsTryParseTypeParameters", + value: function tsTryParseTypeParameters() { + if (this.isRelational("<")) { + return this.tsParseTypeParameters(); + } + } + }, { + key: "tsParseTypeParameters", + value: function tsParseTypeParameters() { + var node = this.startNode(); + + if (this.isRelational("<") || this.match(types.jsxTagStart)) { + this.next(); + } else { + this.unexpected(); + } + + node.params = this.tsParseBracketedList("TypeParametersOrArguments", this.tsParseTypeParameter.bind(this), false, true); + return this.finishNode(node, "TSTypeParameterDeclaration"); + } + }, { + key: "tsTryNextParseConstantContext", + value: function tsTryNextParseConstantContext() { + if (this.lookahead().type === types._const) { + this.next(); + return this.tsParseTypeReference(); + } + + return null; + } + }, { + key: "tsFillSignature", + value: function tsFillSignature(returnToken, signature) { + var returnTokenRequired = returnToken === types.arrow; + signature.typeParameters = this.tsTryParseTypeParameters(); + this.expect(types.parenL); + signature.parameters = this.tsParseBindingListForSignature(); + + if (returnTokenRequired) { + signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } else if (this.match(returnToken)) { + signature.typeAnnotation = this.tsParseTypeOrTypePredicateAnnotation(returnToken); + } + } + }, { + key: "tsParseBindingListForSignature", + value: function tsParseBindingListForSignature() { + var _this17 = this; + + return this.parseBindingList(types.parenR, 41).map(function (pattern) { + if (pattern.type !== "Identifier" && pattern.type !== "RestElement" && pattern.type !== "ObjectPattern" && pattern.type !== "ArrayPattern") { + _this17.raise(pattern.start, "Name in a signature must be an Identifier, ObjectPattern or ArrayPattern," + "instead got ".concat(pattern.type)); + } + + return pattern; + }); + } + }, { + key: "tsParseTypeMemberSemicolon", + value: function tsParseTypeMemberSemicolon() { + if (!this.eat(types.comma)) { + this.semicolon(); + } + } + }, { + key: "tsParseSignatureMember", + value: function tsParseSignatureMember(kind, node) { + this.tsFillSignature(types.colon, node); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, kind); + } + }, { + key: "tsIsUnambiguouslyIndexSignature", + value: function tsIsUnambiguouslyIndexSignature() { + this.next(); + return this.eat(types.name) && this.match(types.colon); + } + }, { + key: "tsTryParseIndexSignature", + value: function tsTryParseIndexSignature(node) { + if (!(this.match(types.bracketL) && this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))) { + return undefined; + } + + this.expect(types.bracketL); + var id = this.parseIdentifier(); + id.typeAnnotation = this.tsParseTypeAnnotation(); + this.resetEndLocation(id); + this.expect(types.bracketR); + node.parameters = [id]; + var type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(node, "TSIndexSignature"); + } + }, { + key: "tsParsePropertyOrMethodSignature", + value: function tsParsePropertyOrMethodSignature(node, readonly) { + if (this.eat(types.question)) node.optional = true; + var nodeAny = node; + + if (!readonly && (this.match(types.parenL) || this.isRelational("<"))) { + var method = nodeAny; + this.tsFillSignature(types.colon, method); + this.tsParseTypeMemberSemicolon(); + return this.finishNode(method, "TSMethodSignature"); + } else { + var property = nodeAny; + if (readonly) property.readonly = true; + var type = this.tsTryParseTypeAnnotation(); + if (type) property.typeAnnotation = type; + this.tsParseTypeMemberSemicolon(); + return this.finishNode(property, "TSPropertySignature"); + } + } + }, { + key: "tsParseTypeMember", + value: function tsParseTypeMember() { + var node = this.startNode(); + + if (this.match(types.parenL) || this.isRelational("<")) { + return this.tsParseSignatureMember("TSCallSignatureDeclaration", node); + } + + if (this.match(types._new)) { + var id = this.startNode(); + this.next(); + + if (this.match(types.parenL) || this.isRelational("<")) { + return this.tsParseSignatureMember("TSConstructSignatureDeclaration", node); + } else { + node.key = this.createIdentifier(id, "new"); + return this.tsParsePropertyOrMethodSignature(node, false); + } + } + + var readonly = !!this.tsParseModifier(["readonly"]); + var idx = this.tsTryParseIndexSignature(node); + + if (idx) { + if (readonly) node.readonly = true; + return idx; + } + + this.parsePropertyName(node); + return this.tsParsePropertyOrMethodSignature(node, readonly); + } + }, { + key: "tsParseTypeLiteral", + value: function tsParseTypeLiteral() { + var node = this.startNode(); + node.members = this.tsParseObjectTypeMembers(); + return this.finishNode(node, "TSTypeLiteral"); + } + }, { + key: "tsParseObjectTypeMembers", + value: function tsParseObjectTypeMembers() { + this.expect(types.braceL); + var members = this.tsParseList("TypeMembers", this.tsParseTypeMember.bind(this)); + this.expect(types.braceR); + return members; + } + }, { + key: "tsIsStartOfMappedType", + value: function tsIsStartOfMappedType() { + this.next(); + + if (this.eat(types.plusMin)) { + return this.isContextual("readonly"); + } + + if (this.isContextual("readonly")) { + this.next(); + } + + if (!this.match(types.bracketL)) { + return false; + } + + this.next(); + + if (!this.tsIsIdentifier()) { + return false; + } + + this.next(); + return this.match(types._in); + } + }, { + key: "tsParseMappedTypeParameter", + value: function tsParseMappedTypeParameter() { + var node = this.startNode(); + node.name = this.parseIdentifierName(node.start); + node.constraint = this.tsExpectThenParseType(types._in); + return this.finishNode(node, "TSTypeParameter"); + } + }, { + key: "tsParseMappedType", + value: function tsParseMappedType() { + var node = this.startNode(); + this.expect(types.braceL); + + if (this.match(types.plusMin)) { + node.readonly = this.state.value; + this.next(); + this.expectContextual("readonly"); + } else if (this.eatContextual("readonly")) { + node.readonly = true; + } + + this.expect(types.bracketL); + node.typeParameter = this.tsParseMappedTypeParameter(); + this.expect(types.bracketR); + + if (this.match(types.plusMin)) { + node.optional = this.state.value; + this.next(); + this.expect(types.question); + } else if (this.eat(types.question)) { + node.optional = true; + } + + node.typeAnnotation = this.tsTryParseType(); + this.semicolon(); + this.expect(types.braceR); + return this.finishNode(node, "TSMappedType"); + } + }, { + key: "tsParseTupleType", + value: function tsParseTupleType() { + var _this18 = this; + + var node = this.startNode(); + node.elementTypes = this.tsParseBracketedList("TupleElementTypes", this.tsParseTupleElementType.bind(this), true, false); + var seenOptionalElement = false; + node.elementTypes.forEach(function (elementNode) { + if (elementNode.type === "TSOptionalType") { + seenOptionalElement = true; + } else if (seenOptionalElement && elementNode.type !== "TSRestType") { + _this18.raise(elementNode.start, "A required element cannot follow an optional element."); + } + }); + return this.finishNode(node, "TSTupleType"); + } + }, { + key: "tsParseTupleElementType", + value: function tsParseTupleElementType() { + if (this.match(types.ellipsis)) { + var restNode = this.startNode(); + this.next(); + restNode.typeAnnotation = this.tsParseType(); + this.checkCommaAfterRest(93); + return this.finishNode(restNode, "TSRestType"); + } + + var type = this.tsParseType(); + + if (this.eat(types.question)) { + var optionalTypeNode = this.startNodeAtNode(type); + optionalTypeNode.typeAnnotation = type; + return this.finishNode(optionalTypeNode, "TSOptionalType"); + } + + return type; + } + }, { + key: "tsParseParenthesizedType", + value: function tsParseParenthesizedType() { + var node = this.startNode(); + this.expect(types.parenL); + node.typeAnnotation = this.tsParseType(); + this.expect(types.parenR); + return this.finishNode(node, "TSParenthesizedType"); + } + }, { + key: "tsParseFunctionOrConstructorType", + value: function tsParseFunctionOrConstructorType(type) { + var node = this.startNode(); + + if (type === "TSConstructorType") { + this.expect(types._new); + } + + this.tsFillSignature(types.arrow, node); + return this.finishNode(node, type); + } + }, { + key: "tsParseLiteralTypeNode", + value: function tsParseLiteralTypeNode() { + var _this19 = this; + + var node = this.startNode(); + + node.literal = function () { + switch (_this19.state.type) { + case types.num: + case types.string: + case types._true: + case types._false: + return _this19.parseExprAtom(); + + default: + throw _this19.unexpected(); + } + }(); + + return this.finishNode(node, "TSLiteralType"); + } + }, { + key: "tsParseTemplateLiteralType", + value: function tsParseTemplateLiteralType() { + var node = this.startNode(); + var templateNode = this.parseTemplate(false); + + if (templateNode.expressions.length > 0) { + this.raise(templateNode.expressions[0].start, "Template literal types cannot have any substitution"); + } + + node.literal = templateNode; + return this.finishNode(node, "TSLiteralType"); + } + }, { + key: "tsParseNonArrayType", + value: function tsParseNonArrayType() { + switch (this.state.type) { + case types.name: + case types._void: + case types._null: + { + var type = this.match(types._void) ? "TSVoidKeyword" : this.match(types._null) ? "TSNullKeyword" : keywordTypeFromName(this.state.value); + + if (type !== undefined && this.lookaheadCharCode() !== 46) { + var node = this.startNode(); + this.next(); + return this.finishNode(node, type); + } + + return this.tsParseTypeReference(); + } + + case types.string: + case types.num: + case types._true: + case types._false: + return this.tsParseLiteralTypeNode(); + + case types.plusMin: + if (this.state.value === "-") { + var _node6 = this.startNode(); + + if (this.lookahead().type !== types.num) { + throw this.unexpected(); + } + + _node6.literal = this.parseMaybeUnary(); + return this.finishNode(_node6, "TSLiteralType"); + } + + break; + + case types._this: + { + var thisKeyword = this.tsParseThisTypeNode(); + + if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { + return this.tsParseThisTypePredicate(thisKeyword); + } else { + return thisKeyword; + } + } + + case types._typeof: + return this.tsParseTypeQuery(); + + case types._import: + return this.tsParseImportType(); + + case types.braceL: + return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this)) ? this.tsParseMappedType() : this.tsParseTypeLiteral(); + + case types.bracketL: + return this.tsParseTupleType(); + + case types.parenL: + return this.tsParseParenthesizedType(); + + case types.backQuote: + return this.tsParseTemplateLiteralType(); + } + + throw this.unexpected(); + } + }, { + key: "tsParseArrayTypeOrHigher", + value: function tsParseArrayTypeOrHigher() { + var type = this.tsParseNonArrayType(); + + while (!this.hasPrecedingLineBreak() && this.eat(types.bracketL)) { + if (this.match(types.bracketR)) { + var node = this.startNodeAtNode(type); + node.elementType = type; + this.expect(types.bracketR); + type = this.finishNode(node, "TSArrayType"); + } else { + var _node7 = this.startNodeAtNode(type); + + _node7.objectType = type; + _node7.indexType = this.tsParseType(); + this.expect(types.bracketR); + type = this.finishNode(_node7, "TSIndexedAccessType"); + } + } + + return type; + } + }, { + key: "tsParseTypeOperator", + value: function tsParseTypeOperator(operator) { + var node = this.startNode(); + this.expectContextual(operator); + node.operator = operator; + node.typeAnnotation = this.tsParseTypeOperatorOrHigher(); + + if (operator === "readonly") { + this.tsCheckTypeAnnotationForReadOnly(node); + } + + return this.finishNode(node, "TSTypeOperator"); + } + }, { + key: "tsCheckTypeAnnotationForReadOnly", + value: function tsCheckTypeAnnotationForReadOnly(node) { + switch (node.typeAnnotation.type) { + case "TSTupleType": + case "TSArrayType": + return; + + default: + this.raise(node.start, "'readonly' type modifier is only permitted on array and tuple literal types."); + } + } + }, { + key: "tsParseInferType", + value: function tsParseInferType() { + var node = this.startNode(); + this.expectContextual("infer"); + var typeParameter = this.startNode(); + typeParameter.name = this.parseIdentifierName(typeParameter.start); + node.typeParameter = this.finishNode(typeParameter, "TSTypeParameter"); + return this.finishNode(node, "TSInferType"); + } + }, { + key: "tsParseTypeOperatorOrHigher", + value: function tsParseTypeOperatorOrHigher() { + var _this20 = this; + + var operator = ["keyof", "unique", "readonly"].find(function (kw) { + return _this20.isContextual(kw); + }); + return operator ? this.tsParseTypeOperator(operator) : this.isContextual("infer") ? this.tsParseInferType() : this.tsParseArrayTypeOrHigher(); + } + }, { + key: "tsParseUnionOrIntersectionType", + value: function tsParseUnionOrIntersectionType(kind, parseConstituentType, operator) { + this.eat(operator); + var type = parseConstituentType(); + + if (this.match(operator)) { + var _types = [type]; + + while (this.eat(operator)) { + _types.push(parseConstituentType()); + } + + var node = this.startNodeAtNode(type); + node.types = _types; + type = this.finishNode(node, kind); + } + + return type; + } + }, { + key: "tsParseIntersectionTypeOrHigher", + value: function tsParseIntersectionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSIntersectionType", this.tsParseTypeOperatorOrHigher.bind(this), types.bitwiseAND); + } + }, { + key: "tsParseUnionTypeOrHigher", + value: function tsParseUnionTypeOrHigher() { + return this.tsParseUnionOrIntersectionType("TSUnionType", this.tsParseIntersectionTypeOrHigher.bind(this), types.bitwiseOR); + } + }, { + key: "tsIsStartOfFunctionType", + value: function tsIsStartOfFunctionType() { + if (this.isRelational("<")) { + return true; + } + + return this.match(types.parenL) && this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this)); + } + }, { + key: "tsSkipParameterStart", + value: function tsSkipParameterStart() { + if (this.match(types.name) || this.match(types._this)) { + this.next(); + return true; + } + + if (this.match(types.braceL)) { + var braceStackCounter = 1; + this.next(); + + while (braceStackCounter > 0) { + if (this.match(types.braceL)) { + ++braceStackCounter; + } else if (this.match(types.braceR)) { + --braceStackCounter; + } + + this.next(); + } + + return true; + } + + if (this.match(types.bracketL)) { + var _braceStackCounter = 1; + this.next(); + + while (_braceStackCounter > 0) { + if (this.match(types.bracketL)) { + ++_braceStackCounter; + } else if (this.match(types.bracketR)) { + --_braceStackCounter; + } + + this.next(); + } + + return true; + } + + return false; + } + }, { + key: "tsIsUnambiguouslyStartOfFunctionType", + value: function tsIsUnambiguouslyStartOfFunctionType() { + this.next(); + + if (this.match(types.parenR) || this.match(types.ellipsis)) { + return true; + } + + if (this.tsSkipParameterStart()) { + if (this.match(types.colon) || this.match(types.comma) || this.match(types.question) || this.match(types.eq)) { + return true; + } + + if (this.match(types.parenR)) { + this.next(); + + if (this.match(types.arrow)) { + return true; + } + } + } + + return false; + } + }, { + key: "tsParseTypeOrTypePredicateAnnotation", + value: function tsParseTypeOrTypePredicateAnnotation(returnToken) { + var _this21 = this; + + return this.tsInType(function () { + var t = _this21.startNode(); + + _this21.expect(returnToken); + + var asserts = _this21.tsTryParse(_this21.tsParseTypePredicateAsserts.bind(_this21)); + + var typePredicateVariable = _this21.tsIsIdentifier() && _this21.tsTryParse(_this21.tsParseTypePredicatePrefix.bind(_this21)); + + if (!typePredicateVariable) { + if (!asserts) { + return _this21.tsParseTypeAnnotation(false, t); + } + + var _node8 = _this21.startNodeAtNode(t); + + _node8.parameterName = _this21.parseIdentifier(); + _node8.asserts = asserts; + t.typeAnnotation = _this21.finishNode(_node8, "TSTypePredicate"); + return _this21.finishNode(t, "TSTypeAnnotation"); + } + + var type = _this21.tsParseTypeAnnotation(false); + + var node = _this21.startNodeAtNode(t); + + node.parameterName = typePredicateVariable; + node.typeAnnotation = type; + node.asserts = asserts; + t.typeAnnotation = _this21.finishNode(node, "TSTypePredicate"); + return _this21.finishNode(t, "TSTypeAnnotation"); + }); + } + }, { + key: "tsTryParseTypeOrTypePredicateAnnotation", + value: function tsTryParseTypeOrTypePredicateAnnotation() { + return this.match(types.colon) ? this.tsParseTypeOrTypePredicateAnnotation(types.colon) : undefined; + } + }, { + key: "tsTryParseTypeAnnotation", + value: function tsTryParseTypeAnnotation() { + return this.match(types.colon) ? this.tsParseTypeAnnotation() : undefined; + } + }, { + key: "tsTryParseType", + value: function tsTryParseType() { + return this.tsEatThenParseType(types.colon); + } + }, { + key: "tsParseTypePredicatePrefix", + value: function tsParseTypePredicatePrefix() { + var id = this.parseIdentifier(); + + if (this.isContextual("is") && !this.hasPrecedingLineBreak()) { + this.next(); + return id; + } + } + }, { + key: "tsParseTypePredicateAsserts", + value: function tsParseTypePredicateAsserts() { + if (!this.tsIsIdentifier()) { + return false; + } + + var id = this.parseIdentifier(); + + if (id.name !== "asserts" || this.hasPrecedingLineBreak() || !this.tsIsIdentifier()) { + return false; + } + + return true; + } + }, { + key: "tsParseTypeAnnotation", + value: function tsParseTypeAnnotation() { + var _this22 = this; + + var eatColon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.startNode(); + this.tsInType(function () { + if (eatColon) _this22.expect(types.colon); + t.typeAnnotation = _this22.tsParseType(); + }); + return this.finishNode(t, "TSTypeAnnotation"); + } + }, { + key: "tsParseType", + value: function tsParseType() { + assert(this.state.inType); + var type = this.tsParseNonConditionalType(); + + if (this.hasPrecedingLineBreak() || !this.eat(types._extends)) { + return type; + } + + var node = this.startNodeAtNode(type); + node.checkType = type; + node.extendsType = this.tsParseNonConditionalType(); + this.expect(types.question); + node.trueType = this.tsParseType(); + this.expect(types.colon); + node.falseType = this.tsParseType(); + return this.finishNode(node, "TSConditionalType"); + } + }, { + key: "tsParseNonConditionalType", + value: function tsParseNonConditionalType() { + if (this.tsIsStartOfFunctionType()) { + return this.tsParseFunctionOrConstructorType("TSFunctionType"); + } + + if (this.match(types._new)) { + return this.tsParseFunctionOrConstructorType("TSConstructorType"); + } + + return this.tsParseUnionTypeOrHigher(); + } + }, { + key: "tsParseTypeAssertion", + value: function tsParseTypeAssertion() { + var node = this.startNode(); + + var _const = this.tsTryNextParseConstantContext(); + + node.typeAnnotation = _const || this.tsNextThenParseType(); + this.expectRelational(">"); + node.expression = this.parseMaybeUnary(); + return this.finishNode(node, "TSTypeAssertion"); + } + }, { + key: "tsParseHeritageClause", + value: function tsParseHeritageClause(descriptor) { + var originalStart = this.state.start; + var delimitedList = this.tsParseDelimitedList("HeritageClauseElement", this.tsParseExpressionWithTypeArguments.bind(this)); + + if (!delimitedList.length) { + this.raise(originalStart, "'".concat(descriptor, "' list cannot be empty.")); + } + + return delimitedList; + } + }, { + key: "tsParseExpressionWithTypeArguments", + value: function tsParseExpressionWithTypeArguments() { + var node = this.startNode(); + node.expression = this.tsParseEntityName(false); + + if (this.isRelational("<")) { + node.typeParameters = this.tsParseTypeArguments(); + } + + return this.finishNode(node, "TSExpressionWithTypeArguments"); + } + }, { + key: "tsParseInterfaceDeclaration", + value: function tsParseInterfaceDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkLVal(node.id, BIND_TS_INTERFACE, undefined, "typescript interface declaration"); + node.typeParameters = this.tsTryParseTypeParameters(); + + if (this.eat(types._extends)) { + node.extends = this.tsParseHeritageClause("extends"); + } + + var body = this.startNode(); + body.body = this.tsInType(this.tsParseObjectTypeMembers.bind(this)); + node.body = this.finishNode(body, "TSInterfaceBody"); + return this.finishNode(node, "TSInterfaceDeclaration"); + } + }, { + key: "tsParseTypeAliasDeclaration", + value: function tsParseTypeAliasDeclaration(node) { + node.id = this.parseIdentifier(); + this.checkLVal(node.id, BIND_TS_TYPE, undefined, "typescript type alias"); + node.typeParameters = this.tsTryParseTypeParameters(); + node.typeAnnotation = this.tsExpectThenParseType(types.eq); + this.semicolon(); + return this.finishNode(node, "TSTypeAliasDeclaration"); + } + }, { + key: "tsInNoContext", + value: function tsInNoContext(cb) { + var oldContext = this.state.context; + this.state.context = [oldContext[0]]; + + try { + return cb(); + } finally { + this.state.context = oldContext; + } + } + }, { + key: "tsInType", + value: function tsInType(cb) { + var oldInType = this.state.inType; + this.state.inType = true; + + try { + return cb(); + } finally { + this.state.inType = oldInType; + } + } + }, { + key: "tsEatThenParseType", + value: function tsEatThenParseType(token) { + return !this.match(token) ? undefined : this.tsNextThenParseType(); + } + }, { + key: "tsExpectThenParseType", + value: function tsExpectThenParseType(token) { + var _this23 = this; + + return this.tsDoThenParseType(function () { + return _this23.expect(token); + }); + } + }, { + key: "tsNextThenParseType", + value: function tsNextThenParseType() { + var _this24 = this; + + return this.tsDoThenParseType(function () { + return _this24.next(); + }); + } + }, { + key: "tsDoThenParseType", + value: function tsDoThenParseType(cb) { + var _this25 = this; + + return this.tsInType(function () { + cb(); + return _this25.tsParseType(); + }); + } + }, { + key: "tsParseEnumMember", + value: function tsParseEnumMember() { + var node = this.startNode(); + node.id = this.match(types.string) ? this.parseExprAtom() : this.parseIdentifier(true); + + if (this.eat(types.eq)) { + node.initializer = this.parseMaybeAssign(); + } + + return this.finishNode(node, "TSEnumMember"); + } + }, { + key: "tsParseEnumDeclaration", + value: function tsParseEnumDeclaration(node, isConst) { + if (isConst) node.const = true; + node.id = this.parseIdentifier(); + this.checkLVal(node.id, isConst ? BIND_TS_CONST_ENUM : BIND_TS_ENUM, undefined, "typescript enum declaration"); + this.expect(types.braceL); + node.members = this.tsParseDelimitedList("EnumMembers", this.tsParseEnumMember.bind(this)); + this.expect(types.braceR); + return this.finishNode(node, "TSEnumDeclaration"); + } + }, { + key: "tsParseModuleBlock", + value: function tsParseModuleBlock() { + var node = this.startNode(); + this.scope.enter(SCOPE_OTHER); + this.expect(types.braceL); + this.parseBlockOrModuleBlockBody(node.body = [], undefined, true, types.braceR); + this.scope.exit(); + return this.finishNode(node, "TSModuleBlock"); + } + }, { + key: "tsParseModuleOrNamespaceDeclaration", + value: function tsParseModuleOrNamespaceDeclaration(node) { + var nested = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + node.id = this.parseIdentifier(); + + if (!nested) { + this.checkLVal(node.id, BIND_TS_NAMESPACE, null, "module or namespace declaration"); + } + + if (this.eat(types.dot)) { + var inner = this.startNode(); + this.tsParseModuleOrNamespaceDeclaration(inner, true); + node.body = inner; + } else { + this.scope.enter(SCOPE_TS_MODULE); + node.body = this.tsParseModuleBlock(); + this.scope.exit(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + }, { + key: "tsParseAmbientExternalModuleDeclaration", + value: function tsParseAmbientExternalModuleDeclaration(node) { + if (this.isContextual("global")) { + node.global = true; + node.id = this.parseIdentifier(); + } else if (this.match(types.string)) { + node.id = this.parseExprAtom(); + } else { + this.unexpected(); + } + + if (this.match(types.braceL)) { + this.scope.enter(SCOPE_TS_MODULE); + node.body = this.tsParseModuleBlock(); + this.scope.exit(); + } else { + this.semicolon(); + } + + return this.finishNode(node, "TSModuleDeclaration"); + } + }, { + key: "tsParseImportEqualsDeclaration", + value: function tsParseImportEqualsDeclaration(node, isExport) { + node.isExport = isExport || false; + node.id = this.parseIdentifier(); + this.expect(types.eq); + node.moduleReference = this.tsParseModuleReference(); + this.semicolon(); + return this.finishNode(node, "TSImportEqualsDeclaration"); + } + }, { + key: "tsIsExternalModuleReference", + value: function tsIsExternalModuleReference() { + return this.isContextual("require") && this.lookaheadCharCode() === 40; + } + }, { + key: "tsParseModuleReference", + value: function tsParseModuleReference() { + return this.tsIsExternalModuleReference() ? this.tsParseExternalModuleReference() : this.tsParseEntityName(false); + } + }, { + key: "tsParseExternalModuleReference", + value: function tsParseExternalModuleReference() { + var node = this.startNode(); + this.expectContextual("require"); + this.expect(types.parenL); + + if (!this.match(types.string)) { + throw this.unexpected(); + } + + node.expression = this.parseExprAtom(); + this.expect(types.parenR); + return this.finishNode(node, "TSExternalModuleReference"); + } + }, { + key: "tsLookAhead", + value: function tsLookAhead(f) { + var state = this.state.clone(); + var res = f(); + this.state = state; + return res; + } + }, { + key: "tsTryParseAndCatch", + value: function tsTryParseAndCatch(f) { + var result = this.tryParse(function (abort) { + return f() || abort(); + }); + if (result.aborted || !result.node) return undefined; + if (result.error) this.state = result.failState; + return result.node; + } + }, { + key: "tsTryParse", + value: function tsTryParse(f) { + var state = this.state.clone(); + var result = f(); + + if (result !== undefined && result !== false) { + return result; + } else { + this.state = state; + return undefined; + } + } + }, { + key: "tsTryParseDeclare", + value: function tsTryParseDeclare(nany) { + if (this.isLineTerminator()) { + return; + } + + var starttype = this.state.type; + var kind; + + if (this.isContextual("let")) { + starttype = types._var; + kind = "let"; + } + + switch (starttype) { + case types._function: + return this.parseFunctionStatement(nany, false, true); + + case types._class: + nany.declare = true; + return this.parseClass(nany, true, false); + + case types._const: + if (this.match(types._const) && this.isLookaheadContextual("enum")) { + this.expect(types._const); + this.expectContextual("enum"); + return this.tsParseEnumDeclaration(nany, true); + } + + case types._var: + kind = kind || this.state.value; + return this.parseVarStatement(nany, kind); + + case types.name: + { + var value = this.state.value; + + if (value === "global") { + return this.tsParseAmbientExternalModuleDeclaration(nany); + } else { + return this.tsParseDeclaration(nany, value, true); + } + } + } + } + }, { + key: "tsTryParseExportDeclaration", + value: function tsTryParseExportDeclaration() { + return this.tsParseDeclaration(this.startNode(), this.state.value, true); + } + }, { + key: "tsParseExpressionStatement", + value: function tsParseExpressionStatement(node, expr) { + switch (expr.name) { + case "declare": + { + var declaration = this.tsTryParseDeclare(node); + + if (declaration) { + declaration.declare = true; + return declaration; + } + + break; + } + + case "global": + if (this.match(types.braceL)) { + this.scope.enter(SCOPE_TS_MODULE); + var mod = node; + mod.global = true; + mod.id = expr; + mod.body = this.tsParseModuleBlock(); + this.scope.exit(); + return this.finishNode(mod, "TSModuleDeclaration"); + } + + break; + + default: + return this.tsParseDeclaration(node, expr.name, false); + } + } + }, { + key: "tsParseDeclaration", + value: function tsParseDeclaration(node, value, next) { + switch (value) { + case "abstract": + if (this.tsCheckLineTerminatorAndMatch(types._class, next)) { + var cls = node; + cls.abstract = true; + + if (next) { + this.next(); + + if (!this.match(types._class)) { + this.unexpected(null, types._class); + } + } + + return this.parseClass(cls, true, false); + } + + break; + + case "enum": + if (next || this.match(types.name)) { + if (next) this.next(); + return this.tsParseEnumDeclaration(node, false); + } + + break; + + case "interface": + if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { + if (next) this.next(); + return this.tsParseInterfaceDeclaration(node); + } + + break; + + case "module": + if (next) this.next(); + + if (this.match(types.string)) { + return this.tsParseAmbientExternalModuleDeclaration(node); + } else if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { + return this.tsParseModuleOrNamespaceDeclaration(node); + } + + break; + + case "namespace": + if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { + if (next) this.next(); + return this.tsParseModuleOrNamespaceDeclaration(node); + } + + break; + + case "type": + if (this.tsCheckLineTerminatorAndMatch(types.name, next)) { + if (next) this.next(); + return this.tsParseTypeAliasDeclaration(node); + } + + break; + } + } + }, { + key: "tsCheckLineTerminatorAndMatch", + value: function tsCheckLineTerminatorAndMatch(tokenType, next) { + return (next || this.match(tokenType)) && !this.isLineTerminator(); + } + }, { + key: "tsTryParseGenericAsyncArrowFunction", + value: function tsTryParseGenericAsyncArrowFunction(startPos, startLoc) { + var _this26 = this; + + if (!this.isRelational("<")) { + return undefined; + } + + var res = this.tsTryParseAndCatch(function () { + var node = _this26.startNodeAt(startPos, startLoc); + + node.typeParameters = _this26.tsParseTypeParameters(); + + _get(_getPrototypeOf(_class4.prototype), "parseFunctionParams", _this26).call(_this26, node); + + node.returnType = _this26.tsTryParseTypeOrTypePredicateAnnotation(); + + _this26.expect(types.arrow); + + return node; + }); + + if (!res) { + return undefined; + } + + return this.parseArrowExpression(res, null, true); + } + }, { + key: "tsParseTypeArguments", + value: function tsParseTypeArguments() { + var _this27 = this; + + var node = this.startNode(); + node.params = this.tsInType(function () { + return _this27.tsInNoContext(function () { + _this27.expectRelational("<"); + + return _this27.tsParseDelimitedList("TypeParametersOrArguments", _this27.tsParseType.bind(_this27)); + }); + }); + this.state.exprAllowed = false; + this.expectRelational(">"); + return this.finishNode(node, "TSTypeParameterInstantiation"); + } + }, { + key: "tsIsDeclarationStart", + value: function tsIsDeclarationStart() { + if (this.match(types.name)) { + switch (this.state.value) { + case "abstract": + case "declare": + case "enum": + case "interface": + case "module": + case "namespace": + case "type": + return true; + } + } + + return false; + } + }, { + key: "isExportDefaultSpecifier", + value: function isExportDefaultSpecifier() { + if (this.tsIsDeclarationStart()) return false; + return _get(_getPrototypeOf(_class4.prototype), "isExportDefaultSpecifier", this).call(this); + } + }, { + key: "parseAssignableListItem", + value: function parseAssignableListItem(allowModifiers, decorators) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var accessibility; + var readonly = false; + + if (allowModifiers) { + accessibility = this.parseAccessModifier(); + readonly = !!this.tsParseModifier(["readonly"]); + } + + var left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + var elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (accessibility || readonly) { + var pp = this.startNodeAt(startPos, startLoc); + + if (decorators.length) { + pp.decorators = decorators; + } + + if (accessibility) pp.accessibility = accessibility; + if (readonly) pp.readonly = readonly; + + if (elt.type !== "Identifier" && elt.type !== "AssignmentPattern") { + this.raise(pp.start, "A parameter property may not be declared using a binding pattern."); + } + + pp.parameter = elt; + return this.finishNode(pp, "TSParameterProperty"); + } + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + }, { + key: "parseFunctionBodyAndFinish", + value: function parseFunctionBodyAndFinish(node, type) { + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + if (this.match(types.colon)) { + node.returnType = this.tsParseTypeOrTypePredicateAnnotation(types.colon); + } + + var bodilessType = type === "FunctionDeclaration" ? "TSDeclareFunction" : type === "ClassMethod" ? "TSDeclareMethod" : undefined; + + if (bodilessType && !this.match(types.braceL) && this.isLineTerminator()) { + this.finishNode(node, bodilessType); + return; + } + + _get(_getPrototypeOf(_class4.prototype), "parseFunctionBodyAndFinish", this).call(this, node, type, isMethod); + } + }, { + key: "registerFunctionStatementId", + value: function registerFunctionStatementId(node) { + if (!node.body && node.id) { + this.checkLVal(node.id, BIND_TS_AMBIENT, null, "function name"); + } else { + _get(_getPrototypeOf(_class4.prototype), "registerFunctionStatementId", this).apply(this, arguments); + } + } + }, { + key: "parseSubscript", + value: function parseSubscript(base, startPos, startLoc, noCalls, state) { + var _this28 = this; + + if (!this.hasPrecedingLineBreak() && this.match(types.bang)) { + this.state.exprAllowed = false; + this.next(); + var nonNullExpression = this.startNodeAt(startPos, startLoc); + nonNullExpression.expression = base; + return this.finishNode(nonNullExpression, "TSNonNullExpression"); + } + + if (this.isRelational("<")) { + var result = this.tsTryParseAndCatch(function () { + if (!noCalls && _this28.atPossibleAsync(base)) { + var asyncArrowFn = _this28.tsTryParseGenericAsyncArrowFunction(startPos, startLoc); + + if (asyncArrowFn) { + return asyncArrowFn; + } + } + + var node = _this28.startNodeAt(startPos, startLoc); + + node.callee = base; + + var typeArguments = _this28.tsParseTypeArguments(); + + if (typeArguments) { + if (!noCalls && _this28.eat(types.parenL)) { + node.arguments = _this28.parseCallExpressionArguments(types.parenR, false); + node.typeParameters = typeArguments; + return _this28.finishCallExpression(node, state.optionalChainMember); + } else if (_this28.match(types.backQuote)) { + return _this28.parseTaggedTemplateExpression(startPos, startLoc, base, state, typeArguments); + } + } + + _this28.unexpected(); + }); + if (result) return result; + } + + return _get(_getPrototypeOf(_class4.prototype), "parseSubscript", this).call(this, base, startPos, startLoc, noCalls, state); + } + }, { + key: "parseNewArguments", + value: function parseNewArguments(node) { + var _this29 = this; + + if (this.isRelational("<")) { + var typeParameters = this.tsTryParseAndCatch(function () { + var args = _this29.tsParseTypeArguments(); + + if (!_this29.match(types.parenL)) _this29.unexpected(); + return args; + }); + + if (typeParameters) { + node.typeParameters = typeParameters; + } + } + + _get(_getPrototypeOf(_class4.prototype), "parseNewArguments", this).call(this, node); + } + }, { + key: "parseExprOp", + value: function parseExprOp(left, leftStartPos, leftStartLoc, minPrec, noIn) { + if (nonNull(types._in.binop) > minPrec && !this.hasPrecedingLineBreak() && this.isContextual("as")) { + var node = this.startNodeAt(leftStartPos, leftStartLoc); + node.expression = left; + + var _const = this.tsTryNextParseConstantContext(); + + if (_const) { + node.typeAnnotation = _const; + } else { + node.typeAnnotation = this.tsNextThenParseType(); + } + + this.finishNode(node, "TSAsExpression"); + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn); + } + + return _get(_getPrototypeOf(_class4.prototype), "parseExprOp", this).call(this, left, leftStartPos, leftStartLoc, minPrec, noIn); + } + }, { + key: "checkReservedWord", + value: function checkReservedWord(word, startLoc, checkKeywords, isBinding) {} + }, { + key: "checkDuplicateExports", + value: function checkDuplicateExports() {} + }, { + key: "parseImport", + value: function parseImport(node) { + if (this.match(types.name) && this.lookahead().type === types.eq) { + return this.tsParseImportEqualsDeclaration(node); + } + + return _get(_getPrototypeOf(_class4.prototype), "parseImport", this).call(this, node); + } + }, { + key: "parseExport", + value: function parseExport(node) { + if (this.match(types._import)) { + this.expect(types._import); + return this.tsParseImportEqualsDeclaration(node, true); + } else if (this.eat(types.eq)) { + var assign = node; + assign.expression = this.parseExpression(); + this.semicolon(); + return this.finishNode(assign, "TSExportAssignment"); + } else if (this.eatContextual("as")) { + var decl = node; + this.expectContextual("namespace"); + decl.id = this.parseIdentifier(); + this.semicolon(); + return this.finishNode(decl, "TSNamespaceExportDeclaration"); + } else { + return _get(_getPrototypeOf(_class4.prototype), "parseExport", this).call(this, node); + } + } + }, { + key: "isAbstractClass", + value: function isAbstractClass() { + return this.isContextual("abstract") && this.lookahead().type === types._class; + } + }, { + key: "parseExportDefaultExpression", + value: function parseExportDefaultExpression() { + if (this.isAbstractClass()) { + var cls = this.startNode(); + this.next(); + this.parseClass(cls, true, true); + cls.abstract = true; + return cls; + } + + if (this.state.value === "interface") { + var result = this.tsParseDeclaration(this.startNode(), this.state.value, true); + if (result) return result; + } + + return _get(_getPrototypeOf(_class4.prototype), "parseExportDefaultExpression", this).call(this); + } + }, { + key: "parseStatementContent", + value: function parseStatementContent(context, topLevel) { + if (this.state.type === types._const) { + var ahead = this.lookahead(); + + if (ahead.type === types.name && ahead.value === "enum") { + var node = this.startNode(); + this.expect(types._const); + this.expectContextual("enum"); + return this.tsParseEnumDeclaration(node, true); + } + } + + return _get(_getPrototypeOf(_class4.prototype), "parseStatementContent", this).call(this, context, topLevel); + } + }, { + key: "parseAccessModifier", + value: function parseAccessModifier() { + return this.tsParseModifier(["public", "protected", "private"]); + } + }, { + key: "parseClassMember", + value: function parseClassMember(classBody, member, state, constructorAllowsSuper) { + var accessibility = this.parseAccessModifier(); + if (accessibility) member.accessibility = accessibility; + + _get(_getPrototypeOf(_class4.prototype), "parseClassMember", this).call(this, classBody, member, state, constructorAllowsSuper); + } + }, { + key: "parseClassMemberWithIsStatic", + value: function parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper) { + var modifiers = this.tsParseModifiers(["abstract", "readonly", "declare"]); + Object.assign(member, modifiers); + var idx = this.tsTryParseIndexSignature(member); + + if (idx) { + classBody.body.push(idx); + + if (modifiers.abstract) { + this.raise(member.start, "Index signatures cannot have the 'abstract' modifier"); + } + + if (isStatic) { + this.raise(member.start, "Index signatures cannot have the 'static' modifier"); + } + + if (member.accessibility) { + this.raise(member.start, "Index signatures cannot have an accessibility modifier ('".concat(member.accessibility, "')")); + } + + return; + } + + _get(_getPrototypeOf(_class4.prototype), "parseClassMemberWithIsStatic", this).call(this, classBody, member, state, isStatic, constructorAllowsSuper); + } + }, { + key: "parsePostMemberNameModifiers", + value: function parsePostMemberNameModifiers(methodOrProp) { + var optional = this.eat(types.question); + if (optional) methodOrProp.optional = true; + + if (methodOrProp.readonly && this.match(types.parenL)) { + this.raise(methodOrProp.start, "Class methods cannot have the 'readonly' modifier"); + } + + if (methodOrProp.declare && this.match(types.parenL)) { + this.raise(methodOrProp.start, "Class methods cannot have the 'declare' modifier"); + } + } + }, { + key: "parseExpressionStatement", + value: function parseExpressionStatement(node, expr) { + var decl = expr.type === "Identifier" ? this.tsParseExpressionStatement(node, expr) : undefined; + return decl || _get(_getPrototypeOf(_class4.prototype), "parseExpressionStatement", this).call(this, node, expr); + } + }, { + key: "shouldParseExportDeclaration", + value: function shouldParseExportDeclaration() { + if (this.tsIsDeclarationStart()) return true; + return _get(_getPrototypeOf(_class4.prototype), "shouldParseExportDeclaration", this).call(this); + } + }, { + key: "parseConditional", + value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { + var _this30 = this; + + if (!refNeedsArrowPos || !this.match(types.question)) { + return _get(_getPrototypeOf(_class4.prototype), "parseConditional", this).call(this, expr, noIn, startPos, startLoc, refNeedsArrowPos); + } + + var result = this.tryParse(function () { + return _get(_getPrototypeOf(_class4.prototype), "parseConditional", _this30).call(_this30, expr, noIn, startPos, startLoc); + }); + + if (!result.node) { + refNeedsArrowPos.start = result.error.pos || this.state.start; + return expr; + } + + if (result.error) this.state = result.failState; + return result.node; + } + }, { + key: "parseParenItem", + value: function parseParenItem(node, startPos, startLoc) { + node = _get(_getPrototypeOf(_class4.prototype), "parseParenItem", this).call(this, node, startPos, startLoc); + + if (this.eat(types.question)) { + node.optional = true; + this.resetEndLocation(node); + } + + if (this.match(types.colon)) { + var typeCastNode = this.startNodeAt(startPos, startLoc); + typeCastNode.expression = node; + typeCastNode.typeAnnotation = this.tsParseTypeAnnotation(); + return this.finishNode(typeCastNode, "TSTypeCastExpression"); + } + + return node; + } + }, { + key: "parseExportDeclaration", + value: function parseExportDeclaration(node) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var isDeclare = this.eatContextual("declare"); + var declaration; + + if (this.match(types.name)) { + declaration = this.tsTryParseExportDeclaration(); + } + + if (!declaration) { + declaration = _get(_getPrototypeOf(_class4.prototype), "parseExportDeclaration", this).call(this, node); + } + + if (declaration && isDeclare) { + this.resetStartLocation(declaration, startPos, startLoc); + declaration.declare = true; + } + + return declaration; + } + }, { + key: "parseClassId", + value: function parseClassId(node, isStatement, optionalId) { + if ((!isStatement || optionalId) && this.isContextual("implements")) { + return; + } + + _get(_getPrototypeOf(_class4.prototype), "parseClassId", this).call(this, node, isStatement, optionalId, node.declare ? BIND_TS_AMBIENT : BIND_CLASS); + + var typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) node.typeParameters = typeParameters; + } + }, { + key: "parseClassPropertyAnnotation", + value: function parseClassPropertyAnnotation(node) { + if (!node.optional && this.eat(types.bang)) { + node.definite = true; + } + + var type = this.tsTryParseTypeAnnotation(); + if (type) node.typeAnnotation = type; + } + }, { + key: "parseClassProperty", + value: function parseClassProperty(node) { + this.parseClassPropertyAnnotation(node); + + if (node.declare && this.match(types.equal)) { + this.raise(this.state.start, "'declare' class fields cannot have an initializer"); + } + + return _get(_getPrototypeOf(_class4.prototype), "parseClassProperty", this).call(this, node); + } + }, { + key: "parseClassPrivateProperty", + value: function parseClassPrivateProperty(node) { + if (node.abstract) { + this.raise(node.start, "Private elements cannot have the 'abstract' modifier."); + } + + if (node.accessibility) { + this.raise(node.start, "Private elements cannot have an accessibility modifier ('".concat(node.accessibility, "')")); + } + + this.parseClassPropertyAnnotation(node); + return _get(_getPrototypeOf(_class4.prototype), "parseClassPrivateProperty", this).call(this, node); + } + }, { + key: "pushClassMethod", + value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + var typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) method.typeParameters = typeParameters; + + _get(_getPrototypeOf(_class4.prototype), "pushClassMethod", this).call(this, classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper); + } + }, { + key: "pushClassPrivateMethod", + value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + var typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) method.typeParameters = typeParameters; + + _get(_getPrototypeOf(_class4.prototype), "pushClassPrivateMethod", this).call(this, classBody, method, isGenerator, isAsync); + } + }, { + key: "parseClassSuper", + value: function parseClassSuper(node) { + _get(_getPrototypeOf(_class4.prototype), "parseClassSuper", this).call(this, node); + + if (node.superClass && this.isRelational("<")) { + node.superTypeParameters = this.tsParseTypeArguments(); + } + + if (this.eatContextual("implements")) { + node.implements = this.tsParseHeritageClause("implements"); + } + } + }, { + key: "parseObjPropValue", + value: function parseObjPropValue(prop) { + var _get2; + + var typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) prop.typeParameters = typeParameters; + + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + (_get2 = _get(_getPrototypeOf(_class4.prototype), "parseObjPropValue", this)).call.apply(_get2, [this, prop].concat(args)); + } + }, { + key: "parseFunctionParams", + value: function parseFunctionParams(node, allowModifiers) { + var typeParameters = this.tsTryParseTypeParameters(); + if (typeParameters) node.typeParameters = typeParameters; + + _get(_getPrototypeOf(_class4.prototype), "parseFunctionParams", this).call(this, node, allowModifiers); + } + }, { + key: "parseVarId", + value: function parseVarId(decl, kind) { + _get(_getPrototypeOf(_class4.prototype), "parseVarId", this).call(this, decl, kind); + + if (decl.id.type === "Identifier" && this.eat(types.bang)) { + decl.definite = true; + } + + var type = this.tsTryParseTypeAnnotation(); + + if (type) { + decl.id.typeAnnotation = type; + this.resetEndLocation(decl.id); + } + } + }, { + key: "parseAsyncArrowFromCallExpression", + value: function parseAsyncArrowFromCallExpression(node, call) { + if (this.match(types.colon)) { + node.returnType = this.tsParseTypeAnnotation(); + } + + return _get(_getPrototypeOf(_class4.prototype), "parseAsyncArrowFromCallExpression", this).call(this, node, call); + } + }, { + key: "parseMaybeAssign", + value: function parseMaybeAssign() { + var _this31 = this; + + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + var state; + var jsx; + var typeCast; + + if (this.match(types.jsxTagStart)) { + state = this.state.clone(); + jsx = this.tryParse(function () { + var _get3; + + return (_get3 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get3, [_this31].concat(args)); + }, state); + if (!jsx.error) return jsx.node; + var context = this.state.context; + + if (context[context.length - 1] === types$1.j_oTag) { + context.length -= 2; + } else if (context[context.length - 1] === types$1.j_expr) { + context.length -= 1; + } + } + + if (!(jsx && jsx.error) && !this.isRelational("<")) { + var _get4; + + return (_get4 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", this)).call.apply(_get4, [this].concat(args)); + } + + var typeParameters; + state = state || this.state.clone(); + var arrow = this.tryParse(function (abort) { + var _get5; + + typeParameters = _this31.tsParseTypeParameters(); + + var expr = (_get5 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get5, [_this31].concat(args)); + + if (expr.type !== "ArrowFunctionExpression" || expr.extra && expr.extra.parenthesized) { + abort(); + } + + if (typeParameters && typeParameters.params.length !== 0) { + _this31.resetStartLocationFromNode(expr, typeParameters); + } + + expr.typeParameters = typeParameters; + return expr; + }, state); + if (!arrow.error && !arrow.aborted) return arrow.node; + + if (!jsx) { + assert(!this.hasPlugin("jsx")); + typeCast = this.tryParse(function () { + var _get6; + + return (_get6 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeAssign", _this31)).call.apply(_get6, [_this31].concat(args)); + }, state); + if (!typeCast.error) return typeCast.node; + } + + if (jsx && jsx.node) { + this.state = jsx.failState; + return jsx.node; + } + + if (arrow.node) { + this.state = arrow.failState; + return arrow.node; + } + + if (typeCast && typeCast.node) { + this.state = typeCast.failState; + return typeCast.node; + } + + if (jsx && jsx.thrown) throw jsx.error; + if (arrow.thrown) throw arrow.error; + if (typeCast && typeCast.thrown) throw typeCast.error; + throw jsx && jsx.error || arrow.error || typeCast && typeCast.error; + } + }, { + key: "parseMaybeUnary", + value: function parseMaybeUnary(refShorthandDefaultPos) { + if (!this.hasPlugin("jsx") && this.isRelational("<")) { + return this.tsParseTypeAssertion(); + } else { + return _get(_getPrototypeOf(_class4.prototype), "parseMaybeUnary", this).call(this, refShorthandDefaultPos); + } + } + }, { + key: "parseArrow", + value: function parseArrow(node) { + var _this32 = this; + + if (this.match(types.colon)) { + var result = this.tryParse(function (abort) { + var returnType = _this32.tsParseTypeOrTypePredicateAnnotation(types.colon); + + if (_this32.canInsertSemicolon() || !_this32.match(types.arrow)) abort(); + return returnType; + }); + if (result.aborted) return; + + if (!result.thrown) { + if (result.error) this.state = result.failState; + node.returnType = result.node; + } + } + + return _get(_getPrototypeOf(_class4.prototype), "parseArrow", this).call(this, node); + } + }, { + key: "parseAssignableListItemTypes", + value: function parseAssignableListItemTypes(param) { + if (this.eat(types.question)) { + if (param.type !== "Identifier") { + this.raise(param.start, "A binding pattern parameter cannot be optional in an implementation signature."); + } + + param.optional = true; + } + + var type = this.tsTryParseTypeAnnotation(); + if (type) param.typeAnnotation = type; + this.resetEndLocation(param); + return param; + } + }, { + key: "toAssignable", + value: function toAssignable(node, isBinding, contextDescription) { + switch (node.type) { + case "TSTypeCastExpression": + return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, this.typeCastToParameter(node), isBinding, contextDescription); + + case "TSParameterProperty": + return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); + + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + node.expression = this.toAssignable(node.expression, isBinding, contextDescription); + return node; + + default: + return _get(_getPrototypeOf(_class4.prototype), "toAssignable", this).call(this, node, isBinding, contextDescription); + } + } + }, { + key: "checkLVal", + value: function checkLVal(expr) { + var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; + var checkClashes = arguments.length > 2 ? arguments[2] : undefined; + var contextDescription = arguments.length > 3 ? arguments[3] : undefined; + + switch (expr.type) { + case "TSTypeCastExpression": + return; + + case "TSParameterProperty": + this.checkLVal(expr.parameter, bindingType, checkClashes, "parameter property"); + return; + + case "TSAsExpression": + case "TSNonNullExpression": + case "TSTypeAssertion": + this.checkLVal(expr.expression, bindingType, checkClashes, contextDescription); + return; + + default: + _get(_getPrototypeOf(_class4.prototype), "checkLVal", this).call(this, expr, bindingType, checkClashes, contextDescription); + + return; + } + } + }, { + key: "parseBindingAtom", + value: function parseBindingAtom() { + switch (this.state.type) { + case types._this: + return this.parseIdentifier(true); + + default: + return _get(_getPrototypeOf(_class4.prototype), "parseBindingAtom", this).call(this); + } + } + }, { + key: "parseMaybeDecoratorArguments", + value: function parseMaybeDecoratorArguments(expr) { + if (this.isRelational("<")) { + var typeArguments = this.tsParseTypeArguments(); + + if (this.match(types.parenL)) { + var call = _get(_getPrototypeOf(_class4.prototype), "parseMaybeDecoratorArguments", this).call(this, expr); + + call.typeParameters = typeArguments; + return call; + } + + this.unexpected(this.state.start, types.parenL); + } + + return _get(_getPrototypeOf(_class4.prototype), "parseMaybeDecoratorArguments", this).call(this, expr); + } + }, { + key: "isClassMethod", + value: function isClassMethod() { + return this.isRelational("<") || _get(_getPrototypeOf(_class4.prototype), "isClassMethod", this).call(this); + } + }, { + key: "isClassProperty", + value: function isClassProperty() { + return this.match(types.bang) || this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "isClassProperty", this).call(this); + } + }, { + key: "parseMaybeDefault", + value: function parseMaybeDefault() { + var _get7; + + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + var node = (_get7 = _get(_getPrototypeOf(_class4.prototype), "parseMaybeDefault", this)).call.apply(_get7, [this].concat(args)); + + if (node.type === "AssignmentPattern" && node.typeAnnotation && node.right.start < node.typeAnnotation.start) { + this.raise(node.typeAnnotation.start, "Type annotations must come before default assignments, " + "e.g. instead of `age = 25: number` use `age: number = 25`"); + } + + return node; + } + }, { + key: "getTokenFromCode", + value: function getTokenFromCode(code) { + if (this.state.inType && (code === 62 || code === 60)) { + return this.finishOp(types.relational, 1); + } else { + return _get(_getPrototypeOf(_class4.prototype), "getTokenFromCode", this).call(this, code); + } + } + }, { + key: "toAssignableList", + value: function toAssignableList(exprList) { + for (var i = 0; i < exprList.length; i++) { + var expr = exprList[i]; + if (!expr) continue; + + switch (expr.type) { + case "TSTypeCastExpression": + exprList[i] = this.typeCastToParameter(expr); + break; + + case "TSAsExpression": + case "TSTypeAssertion": + this.raise(expr.start, "Unexpected type cast in parameter position."); + break; + } + } + + return _get(_getPrototypeOf(_class4.prototype), "toAssignableList", this).apply(this, arguments); + } + }, { + key: "typeCastToParameter", + value: function typeCastToParameter(node) { + node.expression.typeAnnotation = node.typeAnnotation; + this.resetEndLocation(node.expression, node.typeAnnotation.end, node.typeAnnotation.loc.end); + return node.expression; + } + }, { + key: "toReferencedList", + value: function toReferencedList(exprList, isInParens) { + for (var i = 0; i < exprList.length; i++) { + var expr = exprList[i]; + + if (expr && expr._exprListItem && expr.type === "TsTypeCastExpression") { + this.raise(expr.start, "Did not expect a type annotation here."); + } + } + + return exprList; + } + }, { + key: "shouldParseArrow", + value: function shouldParseArrow() { + return this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "shouldParseArrow", this).call(this); + } + }, { + key: "shouldParseAsyncArrow", + value: function shouldParseAsyncArrow() { + return this.match(types.colon) || _get(_getPrototypeOf(_class4.prototype), "shouldParseAsyncArrow", this).call(this); + } + }, { + key: "canHaveLeadingDecorator", + value: function canHaveLeadingDecorator() { + return _get(_getPrototypeOf(_class4.prototype), "canHaveLeadingDecorator", this).call(this) || this.isAbstractClass(); + } + }, { + key: "jsxParseOpeningElementAfterName", + value: function jsxParseOpeningElementAfterName(node) { + var _this33 = this; + + if (this.isRelational("<")) { + var typeArguments = this.tsTryParseAndCatch(function () { + return _this33.tsParseTypeArguments(); + }); + if (typeArguments) node.typeParameters = typeArguments; + } + + return _get(_getPrototypeOf(_class4.prototype), "jsxParseOpeningElementAfterName", this).call(this, node); + } + }, { + key: "getGetterSetterExpectedParamCount", + value: function getGetterSetterExpectedParamCount(method) { + var baseCount = _get(_getPrototypeOf(_class4.prototype), "getGetterSetterExpectedParamCount", this).call(this, method); + + var firstParam = method.params[0]; + var hasContextParam = firstParam && firstParam.type === "Identifier" && firstParam.name === "this"; + return hasContextParam ? baseCount + 1 : baseCount; + } + }]); + + return _class4; + }(superClass) + ); +}; + +types.placeholder = new TokenType("%%", { + startsExpr: true +}); + +var placeholders = function placeholders(superClass) { + return ( + /*#__PURE__*/ + function (_superClass5) { + _inherits(_class5, _superClass5); + + function _class5() { + _classCallCheck(this, _class5); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class5).apply(this, arguments)); + } + + _createClass(_class5, [{ + key: "parsePlaceholder", + value: function parsePlaceholder(expectedNode) { + if (this.match(types.placeholder)) { + var node = this.startNode(); + this.next(); + this.assertNoSpace("Unexpected space in placeholder."); + node.name = _get(_getPrototypeOf(_class5.prototype), "parseIdentifier", this).call(this, true); + this.assertNoSpace("Unexpected space in placeholder."); + this.expect(types.placeholder); + return this.finishPlaceholder(node, expectedNode); + } + } + }, { + key: "finishPlaceholder", + value: function finishPlaceholder(node, expectedNode) { + var isFinished = !!(node.expectedNode && node.type === "Placeholder"); + node.expectedNode = expectedNode; + return isFinished ? node : this.finishNode(node, "Placeholder"); + } + }, { + key: "getTokenFromCode", + value: function getTokenFromCode(code) { + if (code === 37 && this.input.charCodeAt(this.state.pos + 1) === 37) { + return this.finishOp(types.placeholder, 2); + } + + return _get(_getPrototypeOf(_class5.prototype), "getTokenFromCode", this).apply(this, arguments); + } + }, { + key: "parseExprAtom", + value: function parseExprAtom() { + return this.parsePlaceholder("Expression") || _get(_getPrototypeOf(_class5.prototype), "parseExprAtom", this).apply(this, arguments); + } + }, { + key: "parseIdentifier", + value: function parseIdentifier() { + return this.parsePlaceholder("Identifier") || _get(_getPrototypeOf(_class5.prototype), "parseIdentifier", this).apply(this, arguments); + } + }, { + key: "checkReservedWord", + value: function checkReservedWord(word) { + if (word !== undefined) _get(_getPrototypeOf(_class5.prototype), "checkReservedWord", this).apply(this, arguments); + } + }, { + key: "parseBindingAtom", + value: function parseBindingAtom() { + return this.parsePlaceholder("Pattern") || _get(_getPrototypeOf(_class5.prototype), "parseBindingAtom", this).apply(this, arguments); + } + }, { + key: "checkLVal", + value: function checkLVal(expr) { + if (expr.type !== "Placeholder") _get(_getPrototypeOf(_class5.prototype), "checkLVal", this).apply(this, arguments); + } + }, { + key: "toAssignable", + value: function toAssignable(node) { + if (node && node.type === "Placeholder" && node.expectedNode === "Expression") { + node.expectedNode = "Pattern"; + return node; + } + + return _get(_getPrototypeOf(_class5.prototype), "toAssignable", this).apply(this, arguments); + } + }, { + key: "verifyBreakContinue", + value: function verifyBreakContinue(node) { + if (node.label && node.label.type === "Placeholder") return; + + _get(_getPrototypeOf(_class5.prototype), "verifyBreakContinue", this).apply(this, arguments); + } + }, { + key: "parseExpressionStatement", + value: function parseExpressionStatement(node, expr) { + if (expr.type !== "Placeholder" || expr.extra && expr.extra.parenthesized) { + return _get(_getPrototypeOf(_class5.prototype), "parseExpressionStatement", this).apply(this, arguments); + } + + if (this.match(types.colon)) { + var stmt = node; + stmt.label = this.finishPlaceholder(expr, "Identifier"); + this.next(); + stmt.body = this.parseStatement("label"); + return this.finishNode(stmt, "LabeledStatement"); + } + + this.semicolon(); + node.name = expr.name; + return this.finishPlaceholder(node, "Statement"); + } + }, { + key: "parseBlock", + value: function parseBlock() { + return this.parsePlaceholder("BlockStatement") || _get(_getPrototypeOf(_class5.prototype), "parseBlock", this).apply(this, arguments); + } + }, { + key: "parseFunctionId", + value: function parseFunctionId() { + return this.parsePlaceholder("Identifier") || _get(_getPrototypeOf(_class5.prototype), "parseFunctionId", this).apply(this, arguments); + } + }, { + key: "parseClass", + value: function parseClass(node, isStatement, optionalId) { + var type = isStatement ? "ClassDeclaration" : "ClassExpression"; + this.next(); + this.takeDecorators(node); + var placeholder = this.parsePlaceholder("Identifier"); + + if (placeholder) { + if (this.match(types._extends) || this.match(types.placeholder) || this.match(types.braceL)) { + node.id = placeholder; + } else if (optionalId || !isStatement) { + node.id = null; + node.body = this.finishPlaceholder(placeholder, "ClassBody"); + return this.finishNode(node, type); + } else { + this.unexpected(null, "A class name is required"); + } + } else { + this.parseClassId(node, isStatement, optionalId); + } + + this.parseClassSuper(node); + node.body = this.parsePlaceholder("ClassBody") || this.parseClassBody(!!node.superClass); + return this.finishNode(node, type); + } + }, { + key: "parseExport", + value: function parseExport(node) { + var placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return _get(_getPrototypeOf(_class5.prototype), "parseExport", this).apply(this, arguments); + + if (!this.isContextual("from") && !this.match(types.comma)) { + node.specifiers = []; + node.source = null; + node.declaration = this.finishPlaceholder(placeholder, "Declaration"); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + this.expectPlugin("exportDefaultFrom"); + var specifier = this.startNode(); + specifier.exported = placeholder; + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return _get(_getPrototypeOf(_class5.prototype), "parseExport", this).call(this, node); + } + }, { + key: "maybeParseExportDefaultSpecifier", + value: function maybeParseExportDefaultSpecifier(node) { + if (node.specifiers && node.specifiers.length > 0) { + return true; + } + + return _get(_getPrototypeOf(_class5.prototype), "maybeParseExportDefaultSpecifier", this).apply(this, arguments); + } + }, { + key: "checkExport", + value: function checkExport(node) { + var specifiers = node.specifiers; + + if (specifiers && specifiers.length) { + node.specifiers = specifiers.filter(function (node) { + return node.exported.type === "Placeholder"; + }); + } + + _get(_getPrototypeOf(_class5.prototype), "checkExport", this).call(this, node); + + node.specifiers = specifiers; + } + }, { + key: "parseImport", + value: function parseImport(node) { + var placeholder = this.parsePlaceholder("Identifier"); + if (!placeholder) return _get(_getPrototypeOf(_class5.prototype), "parseImport", this).apply(this, arguments); + node.specifiers = []; + + if (!this.isContextual("from") && !this.match(types.comma)) { + node.source = this.finishPlaceholder(placeholder, "StringLiteral"); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + + var specifier = this.startNodeAtNode(placeholder); + specifier.local = placeholder; + this.finishNode(specifier, "ImportDefaultSpecifier"); + node.specifiers.push(specifier); + + if (this.eat(types.comma)) { + var hasStarImport = this.maybeParseStarImportSpecifier(node); + if (!hasStarImport) this.parseNamedImportSpecifiers(node); + } + + this.expectContextual("from"); + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + }, { + key: "parseImportSource", + value: function parseImportSource() { + return this.parsePlaceholder("StringLiteral") || _get(_getPrototypeOf(_class5.prototype), "parseImportSource", this).apply(this, arguments); + } + }]); + + return _class5; + }(superClass) + ); +}; + +var v8intrinsic = function v8intrinsic(superClass) { + return ( + /*#__PURE__*/ + function (_superClass6) { + _inherits(_class6, _superClass6); + + function _class6() { + _classCallCheck(this, _class6); + + return _possibleConstructorReturn(this, _getPrototypeOf(_class6).apply(this, arguments)); + } + + _createClass(_class6, [{ + key: "parseV8Intrinsic", + value: function parseV8Intrinsic() { + if (this.match(types.modulo)) { + var v8IntrinsicStart = this.state.start; + var node = this.startNode(); + this.eat(types.modulo); + + if (this.match(types.name)) { + var name = this.parseIdentifierName(this.state.start); + var identifier = this.createIdentifier(node, name); + identifier.type = "V8IntrinsicIdentifier"; + + if (this.match(types.parenL)) { + return identifier; + } + } + + this.unexpected(v8IntrinsicStart); + } + } + }, { + key: "parseExprAtom", + value: function parseExprAtom() { + return this.parseV8Intrinsic() || _get(_getPrototypeOf(_class6.prototype), "parseExprAtom", this).apply(this, arguments); + } + }]); + + return _class6; + }(superClass) + ); +}; + +function hasPlugin(plugins, name) { + return plugins.some(function (plugin) { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); +} + +function getPluginOption(plugins, name, option) { + var plugin = plugins.find(function (plugin) { + if (Array.isArray(plugin)) { + return plugin[0] === name; + } else { + return plugin === name; + } + }); + + if (plugin && Array.isArray(plugin)) { + return plugin[1][option]; + } + + return null; +} + +var PIPELINE_PROPOSALS = ["minimal", "smart", "fsharp"]; + +function validatePlugins(plugins) { + if (hasPlugin(plugins, "decorators")) { + if (hasPlugin(plugins, "decorators-legacy")) { + throw new Error("Cannot use the decorators and decorators-legacy plugin together"); + } + + var decoratorsBeforeExport = getPluginOption(plugins, "decorators", "decoratorsBeforeExport"); + + if (decoratorsBeforeExport == null) { + throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option," + " whose value must be a boolean. If you are migrating from" + " Babylon/Babel 6 or want to use the old decorators proposal, you" + " should use the 'decorators-legacy' plugin instead of 'decorators'."); + } else if (typeof decoratorsBeforeExport !== "boolean") { + throw new Error("'decoratorsBeforeExport' must be a boolean."); + } + } + + if (hasPlugin(plugins, "flow") && hasPlugin(plugins, "typescript")) { + throw new Error("Cannot combine flow and typescript plugins."); + } + + if (hasPlugin(plugins, "placeholders") && hasPlugin(plugins, "v8intrinsic")) { + throw new Error("Cannot combine placeholders and v8intrinsic plugins."); + } + + if (hasPlugin(plugins, "pipelineOperator") && !PIPELINE_PROPOSALS.includes(getPluginOption(plugins, "pipelineOperator", "proposal"))) { + throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: " + PIPELINE_PROPOSALS.map(function (p) { + return "'".concat(p, "'"); + }).join(", ")); + } +} + +var mixinPlugins = { + estree: estree, + jsx: jsx, + flow: flow, + typescript: typescript, + v8intrinsic: v8intrinsic, + placeholders: placeholders +}; +var mixinPluginNames = Object.keys(mixinPlugins); +var defaultOptions = { + sourceType: "script", + sourceFilename: undefined, + startLine: 1, + allowAwaitOutsideFunction: false, + allowReturnOutsideFunction: false, + allowImportExportEverywhere: false, + allowSuperOutsideMethod: false, + allowUndeclaredExports: false, + plugins: [], + strictMode: null, + ranges: false, + tokens: false, + createParenthesizedExpressions: false, + errorRecovery: false +}; + +function getOptions(opts) { + var options = {}; + + for (var _i = 0, _Object$keys = Object.keys(defaultOptions); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + options[key] = opts && opts[key] != null ? opts[key] : defaultOptions[key]; + } + + return options; +} + +var Position = function Position(line, col) { + _classCallCheck(this, Position); + + this.line = line; + this.column = col; +}; + +var SourceLocation = function SourceLocation(start, end) { + _classCallCheck(this, SourceLocation); + + this.start = start; + this.end = end; +}; + +function getLineInfo(input, offset) { + var line = 1; + var lineStart = 0; + var match; + lineBreakG.lastIndex = 0; + + while ((match = lineBreakG.exec(input)) && match.index < offset) { + line++; + lineStart = lineBreakG.lastIndex; + } + + return new Position(line, offset - lineStart); +} + +var BaseParser = +/*#__PURE__*/ +function () { + function BaseParser() { + _classCallCheck(this, BaseParser); + + this.sawUnambiguousESM = false; + this.ambiguousScriptDifferentAst = false; + } + + _createClass(BaseParser, [{ + key: "hasPlugin", + value: function hasPlugin(name) { + return this.plugins.has(name); + } + }, { + key: "getPluginOption", + value: function getPluginOption(plugin, name) { + if (this.hasPlugin(plugin)) return this.plugins.get(plugin)[name]; + } + }]); + + return BaseParser; +}(); + +function last(stack) { + return stack[stack.length - 1]; +} + +var CommentsParser = +/*#__PURE__*/ +function (_BaseParser) { + _inherits(CommentsParser, _BaseParser); + + function CommentsParser() { + _classCallCheck(this, CommentsParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(CommentsParser).apply(this, arguments)); + } + + _createClass(CommentsParser, [{ + key: "addComment", + value: function addComment(comment) { + if (this.filename) comment.loc.filename = this.filename; + this.state.trailingComments.push(comment); + this.state.leadingComments.push(comment); + } + }, { + key: "adjustCommentsAfterTrailingComma", + value: function adjustCommentsAfterTrailingComma(node, elements, takeAllComments) { + if (this.state.leadingComments.length === 0) { + return; + } + + var lastElement = null; + var i = elements.length; + + while (lastElement === null && i > 0) { + lastElement = elements[--i]; + } + + if (lastElement === null) { + return; + } + + for (var j = 0; j < this.state.leadingComments.length; j++) { + if (this.state.leadingComments[j].end < this.state.commentPreviousNode.end) { + this.state.leadingComments.splice(j, 1); + j--; + } + } + + var newTrailingComments = []; + + for (var _i7 = 0; _i7 < this.state.leadingComments.length; _i7++) { + var leadingComment = this.state.leadingComments[_i7]; + + if (leadingComment.end < node.end) { + newTrailingComments.push(leadingComment); + + if (!takeAllComments) { + this.state.leadingComments.splice(_i7, 1); + _i7--; + } + } else { + if (node.trailingComments === undefined) { + node.trailingComments = []; + } + + node.trailingComments.push(leadingComment); + } + } + + if (takeAllComments) this.state.leadingComments = []; + + if (newTrailingComments.length > 0) { + lastElement.trailingComments = newTrailingComments; + } else if (lastElement.trailingComments !== undefined) { + lastElement.trailingComments = []; + } + } + }, { + key: "processComment", + value: function processComment(node) { + if (node.type === "Program" && node.body.length > 0) return; + var stack = this.state.commentStack; + var firstChild, lastChild, trailingComments, i, j; + + if (this.state.trailingComments.length > 0) { + if (this.state.trailingComments[0].start >= node.end) { + trailingComments = this.state.trailingComments; + this.state.trailingComments = []; + } else { + this.state.trailingComments.length = 0; + } + } else if (stack.length > 0) { + var lastInStack = last(stack); + + if (lastInStack.trailingComments && lastInStack.trailingComments[0].start >= node.end) { + trailingComments = lastInStack.trailingComments; + delete lastInStack.trailingComments; + } + } + + if (stack.length > 0 && last(stack).start >= node.start) { + firstChild = stack.pop(); + } + + while (stack.length > 0 && last(stack).start >= node.start) { + lastChild = stack.pop(); + } + + if (!lastChild && firstChild) lastChild = firstChild; + + if (firstChild) { + switch (node.type) { + case "ObjectExpression": + this.adjustCommentsAfterTrailingComma(node, node.properties); + break; + + case "ObjectPattern": + this.adjustCommentsAfterTrailingComma(node, node.properties, true); + break; + + case "CallExpression": + this.adjustCommentsAfterTrailingComma(node, node.arguments); + break; + + case "ArrayExpression": + this.adjustCommentsAfterTrailingComma(node, node.elements); + break; + + case "ArrayPattern": + this.adjustCommentsAfterTrailingComma(node, node.elements, true); + break; + } + } else if (this.state.commentPreviousNode && (this.state.commentPreviousNode.type === "ImportSpecifier" && node.type !== "ImportSpecifier" || this.state.commentPreviousNode.type === "ExportSpecifier" && node.type !== "ExportSpecifier")) { + this.adjustCommentsAfterTrailingComma(node, [this.state.commentPreviousNode], true); + } + + if (lastChild) { + if (lastChild.leadingComments) { + if (lastChild !== node && lastChild.leadingComments.length > 0 && last(lastChild.leadingComments).end <= node.start) { + node.leadingComments = lastChild.leadingComments; + delete lastChild.leadingComments; + } else { + for (i = lastChild.leadingComments.length - 2; i >= 0; --i) { + if (lastChild.leadingComments[i].end <= node.start) { + node.leadingComments = lastChild.leadingComments.splice(0, i + 1); + break; + } + } + } + } + } else if (this.state.leadingComments.length > 0) { + if (last(this.state.leadingComments).end <= node.start) { + if (this.state.commentPreviousNode) { + for (j = 0; j < this.state.leadingComments.length; j++) { + if (this.state.leadingComments[j].end < this.state.commentPreviousNode.end) { + this.state.leadingComments.splice(j, 1); + j--; + } + } + } + + if (this.state.leadingComments.length > 0) { + node.leadingComments = this.state.leadingComments; + this.state.leadingComments = []; + } + } else { + for (i = 0; i < this.state.leadingComments.length; i++) { + if (this.state.leadingComments[i].end > node.start) { + break; + } + } + + var leadingComments = this.state.leadingComments.slice(0, i); + + if (leadingComments.length) { + node.leadingComments = leadingComments; + } + + trailingComments = this.state.leadingComments.slice(i); + + if (trailingComments.length === 0) { + trailingComments = null; + } + } + } + + this.state.commentPreviousNode = node; + + if (trailingComments) { + if (trailingComments.length && trailingComments[0].start >= node.start && last(trailingComments).end <= node.end) { + node.innerComments = trailingComments; + } else { + node.trailingComments = trailingComments; + } + } + + stack.push(node); + } + }]); + + return CommentsParser; +}(BaseParser); + +var LocationParser = +/*#__PURE__*/ +function (_CommentsParser) { + _inherits(LocationParser, _CommentsParser); + + function LocationParser() { + _classCallCheck(this, LocationParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(LocationParser).apply(this, arguments)); + } + + _createClass(LocationParser, [{ + key: "getLocationForPosition", + value: function getLocationForPosition(pos) { + var loc; + if (pos === this.state.start) loc = this.state.startLoc;else if (pos === this.state.lastTokStart) loc = this.state.lastTokStartLoc;else if (pos === this.state.end) loc = this.state.endLoc;else if (pos === this.state.lastTokEnd) loc = this.state.lastTokEndLoc;else loc = getLineInfo(this.input, pos); + return loc; + } + }, { + key: "raise", + value: function raise(pos, message) { + var _ref14 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + missingPluginNames = _ref14.missingPluginNames, + code = _ref14.code; + + var loc = this.getLocationForPosition(pos); + message += " (".concat(loc.line, ":").concat(loc.column, ")"); + var err = new SyntaxError(message); + err.pos = pos; + err.loc = loc; + + if (missingPluginNames) { + err.missingPlugin = missingPluginNames; + } + + if (code !== undefined) { + err.code = code; + } + + if (this.options.errorRecovery) { + if (!this.isLookahead) this.state.errors.push(err); + return err; + } else { + throw err; + } + } + }]); + + return LocationParser; +}(CommentsParser); + +var State = +/*#__PURE__*/ +function () { + function State() { + _classCallCheck(this, State); + + this.errors = []; + this.potentialArrowAt = -1; + this.noArrowAt = []; + this.noArrowParamsConversionAt = []; + this.inParameters = false; + this.maybeInArrowParameters = false; + this.inPipeline = false; + this.inType = false; + this.noAnonFunctionType = false; + this.inPropertyName = false; + this.inClassProperty = false; + this.hasFlowComment = false; + this.isIterator = false; + this.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + this.soloAwait = false; + this.inFSharpPipelineDirectBody = false; + this.classLevel = 0; + this.labels = []; + this.decoratorStack = [[]]; + this.yieldPos = -1; + this.awaitPos = -1; + this.tokens = []; + this.comments = []; + this.trailingComments = []; + this.leadingComments = []; + this.commentStack = []; + this.commentPreviousNode = null; + this.pos = 0; + this.lineStart = 0; + this.type = types.eof; + this.value = null; + this.start = 0; + this.end = 0; + this.lastTokEndLoc = null; + this.lastTokStartLoc = null; + this.lastTokStart = 0; + this.lastTokEnd = 0; + this.context = [types$1.braceStatement]; + this.exprAllowed = true; + this.containsEsc = false; + this.containsOctal = false; + this.octalPosition = null; + this.exportedIdentifiers = []; + this.invalidTemplateEscapePosition = null; + } + + _createClass(State, [{ + key: "init", + value: function init(options) { + this.strict = options.strictMode === false ? false : options.sourceType === "module"; + this.curLine = options.startLine; + this.startLoc = this.endLoc = this.curPosition(); + } + }, { + key: "curPosition", + value: function curPosition() { + return new Position(this.curLine, this.pos - this.lineStart); + } + }, { + key: "clone", + value: function clone(skipArrays) { + var state = new State(); + var keys = Object.keys(this); + + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + var val = this[key]; + + if (!skipArrays && Array.isArray(val)) { + val = val.slice(); + } + + state[key] = val; + } + + return state; + } + }]); + + return State; +}(); + +var _isDigit = function isDigit(code) { + return code >= 48 && code <= 57; +}; + +var VALID_REGEX_FLAGS = new Set(["g", "m", "s", "i", "y", "u"]); +var forbiddenNumericSeparatorSiblings = { + decBinOct: [46, 66, 69, 79, 95, 98, 101, 111], + hex: [46, 88, 95, 120] +}; +var allowedNumericSeparatorSiblings = {}; +allowedNumericSeparatorSiblings.bin = [48, 49]; +allowedNumericSeparatorSiblings.oct = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.bin), [50, 51, 52, 53, 54, 55]); +allowedNumericSeparatorSiblings.dec = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.oct), [56, 57]); +allowedNumericSeparatorSiblings.hex = [].concat(_toConsumableArray(allowedNumericSeparatorSiblings.dec), [65, 66, 67, 68, 69, 70, 97, 98, 99, 100, 101, 102]); + +var Token = function Token(state) { + _classCallCheck(this, Token); + + this.type = state.type; + this.value = state.value; + this.start = state.start; + this.end = state.end; + this.loc = new SourceLocation(state.startLoc, state.endLoc); +}; + +var Tokenizer = +/*#__PURE__*/ +function (_LocationParser) { + _inherits(Tokenizer, _LocationParser); + + function Tokenizer(options, input) { + var _this34; + + _classCallCheck(this, Tokenizer); + + _this34 = _possibleConstructorReturn(this, _getPrototypeOf(Tokenizer).call(this)); + _this34.state = new State(); + + _this34.state.init(options); + + _this34.input = input; + _this34.length = input.length; + _this34.isLookahead = false; + return _this34; + } + + _createClass(Tokenizer, [{ + key: "next", + value: function next() { + if (!this.isLookahead) { + this.checkKeywordEscapes(); + + if (this.options.tokens) { + this.state.tokens.push(new Token(this.state)); + } + } + + this.state.lastTokEnd = this.state.end; + this.state.lastTokStart = this.state.start; + this.state.lastTokEndLoc = this.state.endLoc; + this.state.lastTokStartLoc = this.state.startLoc; + this.nextToken(); + } + }, { + key: "eat", + value: function eat(type) { + if (this.match(type)) { + this.next(); + return true; + } else { + return false; + } + } + }, { + key: "match", + value: function match(type) { + return this.state.type === type; + } + }, { + key: "lookahead", + value: function lookahead() { + var old = this.state; + this.state = old.clone(true); + this.isLookahead = true; + this.next(); + this.isLookahead = false; + var curr = this.state; + this.state = old; + return curr; + } + }, { + key: "nextTokenStart", + value: function nextTokenStart() { + var thisTokEnd = this.state.pos; + skipWhiteSpace.lastIndex = thisTokEnd; + var skip = skipWhiteSpace.exec(this.input); + return thisTokEnd + skip[0].length; + } + }, { + key: "lookaheadCharCode", + value: function lookaheadCharCode() { + return this.input.charCodeAt(this.nextTokenStart()); + } + }, { + key: "setStrict", + value: function setStrict(strict) { + this.state.strict = strict; + if (!this.match(types.num) && !this.match(types.string)) return; + this.state.pos = this.state.start; + + while (this.state.pos < this.state.lineStart) { + this.state.lineStart = this.input.lastIndexOf("\n", this.state.lineStart - 2) + 1; + --this.state.curLine; + } + + this.nextToken(); + } + }, { + key: "curContext", + value: function curContext() { + return this.state.context[this.state.context.length - 1]; + } + }, { + key: "nextToken", + value: function nextToken() { + var curContext = this.curContext(); + if (!curContext || !curContext.preserveSpace) this.skipSpace(); + this.state.containsOctal = false; + this.state.octalPosition = null; + this.state.start = this.state.pos; + this.state.startLoc = this.state.curPosition(); + + if (this.state.pos >= this.length) { + this.finishToken(types.eof); + return; + } + + if (curContext.override) { + curContext.override(this); + } else { + this.getTokenFromCode(this.input.codePointAt(this.state.pos)); + } + } + }, { + key: "pushComment", + value: function pushComment(block, text, start, end, startLoc, endLoc) { + var comment = { + type: block ? "CommentBlock" : "CommentLine", + value: text, + start: start, + end: end, + loc: new SourceLocation(startLoc, endLoc) + }; + if (this.options.tokens) this.state.tokens.push(comment); + this.state.comments.push(comment); + this.addComment(comment); + } + }, { + key: "skipBlockComment", + value: function skipBlockComment() { + var startLoc = this.state.curPosition(); + var start = this.state.pos; + var end = this.input.indexOf("*/", this.state.pos + 2); + if (end === -1) throw this.raise(start, "Unterminated comment"); + this.state.pos = end + 2; + lineBreakG.lastIndex = start; + var match; + + while ((match = lineBreakG.exec(this.input)) && match.index < this.state.pos) { + ++this.state.curLine; + this.state.lineStart = match.index + match[0].length; + } + + if (this.isLookahead) return; + this.pushComment(true, this.input.slice(start + 2, end), start, this.state.pos, startLoc, this.state.curPosition()); + } + }, { + key: "skipLineComment", + value: function skipLineComment(startSkip) { + var start = this.state.pos; + var startLoc = this.state.curPosition(); + var ch = this.input.charCodeAt(this.state.pos += startSkip); + + if (this.state.pos < this.length) { + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + } + + if (this.isLookahead) return; + this.pushComment(false, this.input.slice(start + startSkip, this.state.pos), start, this.state.pos, startLoc, this.state.curPosition()); + } + }, { + key: "skipSpace", + value: function skipSpace() { + loop: while (this.state.pos < this.length) { + var ch = this.input.charCodeAt(this.state.pos); + + switch (ch) { + case 32: + case 160: + case 9: + ++this.state.pos; + break; + + case 13: + if (this.input.charCodeAt(this.state.pos + 1) === 10) { + ++this.state.pos; + } + + case 10: + case 8232: + case 8233: + ++this.state.pos; + ++this.state.curLine; + this.state.lineStart = this.state.pos; + break; + + case 47: + switch (this.input.charCodeAt(this.state.pos + 1)) { + case 42: + this.skipBlockComment(); + break; + + case 47: + this.skipLineComment(2); + break; + + default: + break loop; + } + + break; + + default: + if (isWhitespace(ch)) { + ++this.state.pos; + } else { + break loop; + } + + } + } + } + }, { + key: "finishToken", + value: function finishToken(type, val) { + this.state.end = this.state.pos; + this.state.endLoc = this.state.curPosition(); + var prevType = this.state.type; + this.state.type = type; + this.state.value = val; + if (!this.isLookahead) this.updateContext(prevType); + } + }, { + key: "readToken_numberSign", + value: function readToken_numberSign() { + if (this.state.pos === 0 && this.readToken_interpreter()) { + return; + } + + var nextPos = this.state.pos + 1; + var next = this.input.charCodeAt(nextPos); + + if (next >= 48 && next <= 57) { + throw this.raise(this.state.pos, "Unexpected digit after hash token"); + } + + if ((this.hasPlugin("classPrivateProperties") || this.hasPlugin("classPrivateMethods")) && this.state.classLevel > 0) { + ++this.state.pos; + this.finishToken(types.hash); + return; + } else if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + this.finishOp(types.hash, 1); + } else { + throw this.raise(this.state.pos, "Unexpected character '#'"); + } + } + }, { + key: "readToken_dot", + value: function readToken_dot() { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next >= 48 && next <= 57) { + this.readNumber(true); + return; + } + + if (next === 46 && this.input.charCodeAt(this.state.pos + 2) === 46) { + this.state.pos += 3; + this.finishToken(types.ellipsis); + } else { + ++this.state.pos; + this.finishToken(types.dot); + } + } + }, { + key: "readToken_slash", + value: function readToken_slash() { + if (this.state.exprAllowed && !this.state.inType) { + ++this.state.pos; + this.readRegexp(); + return; + } + + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(types.assign, 2); + } else { + this.finishOp(types.slash, 1); + } + } + }, { + key: "readToken_interpreter", + value: function readToken_interpreter() { + if (this.state.pos !== 0 || this.length < 2) return false; + var start = this.state.pos; + this.state.pos += 1; + var ch = this.input.charCodeAt(this.state.pos); + if (ch !== 33) return false; + + while (!isNewLine(ch) && ++this.state.pos < this.length) { + ch = this.input.charCodeAt(this.state.pos); + } + + var value = this.input.slice(start + 2, this.state.pos); + this.finishToken(types.interpreterDirective, value); + return true; + } + }, { + key: "readToken_mult_modulo", + value: function readToken_mult_modulo(code) { + var type = code === 42 ? types.star : types.modulo; + var width = 1; + var next = this.input.charCodeAt(this.state.pos + 1); + var exprAllowed = this.state.exprAllowed; + + if (code === 42 && next === 42) { + width++; + next = this.input.charCodeAt(this.state.pos + 2); + type = types.exponent; + } + + if (next === 61 && !exprAllowed) { + width++; + type = types.assign; + } + + this.finishOp(type, width); + } + }, { + key: "readToken_pipe_amp", + value: function readToken_pipe_amp(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + if (this.input.charCodeAt(this.state.pos + 2) === 61) { + this.finishOp(types.assign, 3); + } else { + this.finishOp(code === 124 ? types.logicalOR : types.logicalAND, 2); + } + + return; + } + + if (code === 124) { + if (next === 62) { + this.finishOp(types.pipeline, 2); + return; + } + } + + if (next === 61) { + this.finishOp(types.assign, 2); + return; + } + + this.finishOp(code === 124 ? types.bitwiseOR : types.bitwiseAND, 1); + } + }, { + key: "readToken_caret", + value: function readToken_caret() { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(types.assign, 2); + } else { + this.finishOp(types.bitwiseXOR, 1); + } + } + }, { + key: "readToken_plus_min", + value: function readToken_plus_min(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === code) { + if (next === 45 && !this.inModule && this.input.charCodeAt(this.state.pos + 2) === 62 && (this.state.lastTokEnd === 0 || lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.pos)))) { + this.skipLineComment(3); + this.skipSpace(); + this.nextToken(); + return; + } + + this.finishOp(types.incDec, 2); + return; + } + + if (next === 61) { + this.finishOp(types.assign, 2); + } else { + this.finishOp(types.plusMin, 1); + } + } + }, { + key: "readToken_lt_gt", + value: function readToken_lt_gt(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + var size = 1; + + if (next === code) { + size = code === 62 && this.input.charCodeAt(this.state.pos + 2) === 62 ? 3 : 2; + + if (this.input.charCodeAt(this.state.pos + size) === 61) { + this.finishOp(types.assign, size + 1); + return; + } + + this.finishOp(types.bitShift, size); + return; + } + + if (next === 33 && code === 60 && !this.inModule && this.input.charCodeAt(this.state.pos + 2) === 45 && this.input.charCodeAt(this.state.pos + 3) === 45) { + this.skipLineComment(4); + this.skipSpace(); + this.nextToken(); + return; + } + + if (next === 61) { + size = 2; + } + + this.finishOp(types.relational, size); + } + }, { + key: "readToken_eq_excl", + value: function readToken_eq_excl(code) { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 61) { + this.finishOp(types.equality, this.input.charCodeAt(this.state.pos + 2) === 61 ? 3 : 2); + return; + } + + if (code === 61 && next === 62) { + this.state.pos += 2; + this.finishToken(types.arrow); + return; + } + + this.finishOp(code === 61 ? types.eq : types.bang, 1); + } + }, { + key: "readToken_question", + value: function readToken_question() { + var next = this.input.charCodeAt(this.state.pos + 1); + var next2 = this.input.charCodeAt(this.state.pos + 2); + + if (next === 63 && !this.state.inType) { + if (next2 === 61) { + this.finishOp(types.assign, 3); + } else { + this.finishOp(types.nullishCoalescing, 2); + } + } else if (next === 46 && !(next2 >= 48 && next2 <= 57)) { + this.state.pos += 2; + this.finishToken(types.questionDot); + } else { + ++this.state.pos; + this.finishToken(types.question); + } + } + }, { + key: "getTokenFromCode", + value: function getTokenFromCode(code) { + switch (code) { + case 46: + this.readToken_dot(); + return; + + case 40: + ++this.state.pos; + this.finishToken(types.parenL); + return; + + case 41: + ++this.state.pos; + this.finishToken(types.parenR); + return; + + case 59: + ++this.state.pos; + this.finishToken(types.semi); + return; + + case 44: + ++this.state.pos; + this.finishToken(types.comma); + return; + + case 91: + ++this.state.pos; + this.finishToken(types.bracketL); + return; + + case 93: + ++this.state.pos; + this.finishToken(types.bracketR); + return; + + case 123: + ++this.state.pos; + this.finishToken(types.braceL); + return; + + case 125: + ++this.state.pos; + this.finishToken(types.braceR); + return; + + case 58: + if (this.hasPlugin("functionBind") && this.input.charCodeAt(this.state.pos + 1) === 58) { + this.finishOp(types.doubleColon, 2); + } else { + ++this.state.pos; + this.finishToken(types.colon); + } + + return; + + case 63: + this.readToken_question(); + return; + + case 96: + ++this.state.pos; + this.finishToken(types.backQuote); + return; + + case 48: + { + var next = this.input.charCodeAt(this.state.pos + 1); + + if (next === 120 || next === 88) { + this.readRadixNumber(16); + return; + } + + if (next === 111 || next === 79) { + this.readRadixNumber(8); + return; + } + + if (next === 98 || next === 66) { + this.readRadixNumber(2); + return; + } + } + + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + this.readNumber(false); + return; + + case 34: + case 39: + this.readString(code); + return; + + case 47: + this.readToken_slash(); + return; + + case 37: + case 42: + this.readToken_mult_modulo(code); + return; + + case 124: + case 38: + this.readToken_pipe_amp(code); + return; + + case 94: + this.readToken_caret(); + return; + + case 43: + case 45: + this.readToken_plus_min(code); + return; + + case 60: + case 62: + this.readToken_lt_gt(code); + return; + + case 61: + case 33: + this.readToken_eq_excl(code); + return; + + case 126: + this.finishOp(types.tilde, 1); + return; + + case 64: + ++this.state.pos; + this.finishToken(types.at); + return; + + case 35: + this.readToken_numberSign(); + return; + + case 92: + this.readWord(); + return; + + default: + if (isIdentifierStart(code)) { + this.readWord(); + return; + } + + } + + throw this.raise(this.state.pos, "Unexpected character '".concat(String.fromCodePoint(code), "'")); + } + }, { + key: "finishOp", + value: function finishOp(type, size) { + var str = this.input.slice(this.state.pos, this.state.pos + size); + this.state.pos += size; + this.finishToken(type, str); + } + }, { + key: "readRegexp", + value: function readRegexp() { + var start = this.state.pos; + var escaped, inClass; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(start, "Unterminated regular expression"); + } + + var ch = this.input.charAt(this.state.pos); + + if (lineBreak.test(ch)) { + throw this.raise(start, "Unterminated regular expression"); + } + + if (escaped) { + escaped = false; + } else { + if (ch === "[") { + inClass = true; + } else if (ch === "]" && inClass) { + inClass = false; + } else if (ch === "/" && !inClass) { + break; + } + + escaped = ch === "\\"; + } + + ++this.state.pos; + } + + var content = this.input.slice(start, this.state.pos); + ++this.state.pos; + var mods = ""; + + while (this.state.pos < this.length) { + var char = this.input[this.state.pos]; + var charCode = this.input.codePointAt(this.state.pos); + + if (VALID_REGEX_FLAGS.has(char)) { + if (mods.indexOf(char) > -1) { + this.raise(this.state.pos + 1, "Duplicate regular expression flag"); + } + } else if (isIdentifierChar(charCode) || charCode === 92) { + this.raise(this.state.pos + 1, "Invalid regular expression flag"); + } else { + break; + } + + ++this.state.pos; + mods += char; + } + + this.finishToken(types.regexp, { + pattern: content, + flags: mods + }); + } + }, { + key: "readInt", + value: function readInt(radix, len, forceLen) { + var allowNumSeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var start = this.state.pos; + var forbiddenSiblings = radix === 16 ? forbiddenNumericSeparatorSiblings.hex : forbiddenNumericSeparatorSiblings.decBinOct; + var allowedSiblings = radix === 16 ? allowedNumericSeparatorSiblings.hex : radix === 10 ? allowedNumericSeparatorSiblings.dec : radix === 8 ? allowedNumericSeparatorSiblings.oct : allowedNumericSeparatorSiblings.bin; + var invalid = false; + var total = 0; + + for (var i = 0, e = len == null ? Infinity : len; i < e; ++i) { + var code = this.input.charCodeAt(this.state.pos); + var val = void 0; + + if (this.hasPlugin("numericSeparator")) { + if (code === 95) { + var prev = this.input.charCodeAt(this.state.pos - 1); + var next = this.input.charCodeAt(this.state.pos + 1); + + if (allowedSiblings.indexOf(next) === -1) { + this.raise(this.state.pos, "A numeric separator is only allowed between two digits"); + } else if (forbiddenSiblings.indexOf(prev) > -1 || forbiddenSiblings.indexOf(next) > -1 || Number.isNaN(next)) { + this.raise(this.state.pos, "A numeric separator is only allowed between two digits"); + } + + if (!allowNumSeparator) { + this.raise(this.state.pos, "Numeric separators are not allowed inside unicode escape sequences or hex escape sequences"); + } + + ++this.state.pos; + continue; + } + } + + if (code >= 97) { + val = code - 97 + 10; + } else if (code >= 65) { + val = code - 65 + 10; + } else if (_isDigit(code)) { + val = code - 48; + } else { + val = Infinity; + } + + if (val >= radix) { + if (this.options.errorRecovery && val <= 9) { + val = 0; + this.raise(this.state.start + i + 2, "Expected number in radix " + radix); + } else if (forceLen) { + val = 0; + invalid = true; + } else { + break; + } + } + + ++this.state.pos; + total = total * radix + val; + } + + if (this.state.pos === start || len != null && this.state.pos - start !== len || invalid) { + return null; + } + + return total; + } + }, { + key: "readRadixNumber", + value: function readRadixNumber(radix) { + var start = this.state.pos; + var isBigInt = false; + this.state.pos += 2; + var val = this.readInt(radix); + + if (val == null) { + this.raise(this.state.start + 2, "Expected number in radix " + radix); + } + + if (this.hasPlugin("bigInt")) { + if (this.input.charCodeAt(this.state.pos) === 110) { + ++this.state.pos; + isBigInt = true; + } + } + + if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { + throw this.raise(this.state.pos, "Identifier directly after number"); + } + + if (isBigInt) { + var str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + this.finishToken(types.bigint, str); + return; + } + + this.finishToken(types.num, val); + } + }, { + key: "readNumber", + value: function readNumber(startsWithDot) { + var start = this.state.pos; + var isFloat = false; + var isBigInt = false; + var isNonOctalDecimalInt = false; + + if (!startsWithDot && this.readInt(10) === null) { + this.raise(start, "Invalid number"); + } + + var octal = this.state.pos - start >= 2 && this.input.charCodeAt(start) === 48; + + if (octal) { + if (this.state.strict) { + this.raise(start, "Legacy octal literals are not allowed in strict mode"); + } + + if (/[89]/.test(this.input.slice(start, this.state.pos))) { + octal = false; + isNonOctalDecimalInt = true; + } + } + + var next = this.input.charCodeAt(this.state.pos); + + if (next === 46 && !octal) { + ++this.state.pos; + this.readInt(10); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + + if ((next === 69 || next === 101) && !octal) { + next = this.input.charCodeAt(++this.state.pos); + + if (next === 43 || next === 45) { + ++this.state.pos; + } + + if (this.readInt(10) === null) this.raise(start, "Invalid number"); + isFloat = true; + next = this.input.charCodeAt(this.state.pos); + } + + if (this.hasPlugin("numericSeparator") && (octal || isNonOctalDecimalInt)) { + var underscorePos = this.input.slice(start, this.state.pos).indexOf("_"); + + if (underscorePos > 0) { + this.raise(underscorePos + start, "Numeric separator can not be used after leading 0"); + } + } + + if (this.hasPlugin("bigInt")) { + if (next === 110) { + if (isFloat || octal || isNonOctalDecimalInt) { + this.raise(start, "Invalid BigIntLiteral"); + } + + ++this.state.pos; + isBigInt = true; + } + } + + if (isIdentifierStart(this.input.codePointAt(this.state.pos))) { + throw this.raise(this.state.pos, "Identifier directly after number"); + } + + var str = this.input.slice(start, this.state.pos).replace(/[_n]/g, ""); + + if (isBigInt) { + this.finishToken(types.bigint, str); + return; + } + + var val = octal ? parseInt(str, 8) : parseFloat(str); + this.finishToken(types.num, val); + } + }, { + key: "readCodePoint", + value: function readCodePoint(throwOnInvalid) { + var ch = this.input.charCodeAt(this.state.pos); + var code; + + if (ch === 123) { + var codePos = ++this.state.pos; + code = this.readHexChar(this.input.indexOf("}", this.state.pos) - this.state.pos, true, throwOnInvalid); + ++this.state.pos; + + if (code === null) { + --this.state.invalidTemplateEscapePosition; + } else if (code > 0x10ffff) { + if (throwOnInvalid) { + this.raise(codePos, "Code point out of bounds"); + } else { + this.state.invalidTemplateEscapePosition = codePos - 2; + return null; + } + } + } else { + code = this.readHexChar(4, false, throwOnInvalid); + } + + return code; + } + }, { + key: "readString", + value: function readString(quote) { + var out = "", + chunkStart = ++this.state.pos; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, "Unterminated string constant"); + } + + var ch = this.input.charCodeAt(this.state.pos); + if (ch === quote) break; + + if (ch === 92) { + out += this.input.slice(chunkStart, this.state.pos); + out += this.readEscapedChar(false); + chunkStart = this.state.pos; + } else if (ch === 8232 || ch === 8233) { + ++this.state.pos; + ++this.state.curLine; + } else if (isNewLine(ch)) { + throw this.raise(this.state.start, "Unterminated string constant"); + } else { + ++this.state.pos; + } + } + + out += this.input.slice(chunkStart, this.state.pos++); + this.finishToken(types.string, out); + } + }, { + key: "readTmplToken", + value: function readTmplToken() { + var out = "", + chunkStart = this.state.pos, + containsInvalid = false; + + for (;;) { + if (this.state.pos >= this.length) { + throw this.raise(this.state.start, "Unterminated template"); + } + + var ch = this.input.charCodeAt(this.state.pos); + + if (ch === 96 || ch === 36 && this.input.charCodeAt(this.state.pos + 1) === 123) { + if (this.state.pos === this.state.start && this.match(types.template)) { + if (ch === 36) { + this.state.pos += 2; + this.finishToken(types.dollarBraceL); + return; + } else { + ++this.state.pos; + this.finishToken(types.backQuote); + return; + } + } + + out += this.input.slice(chunkStart, this.state.pos); + this.finishToken(types.template, containsInvalid ? null : out); + return; + } + + if (ch === 92) { + out += this.input.slice(chunkStart, this.state.pos); + var escaped = this.readEscapedChar(true); + + if (escaped === null) { + containsInvalid = true; + } else { + out += escaped; + } + + chunkStart = this.state.pos; + } else if (isNewLine(ch)) { + out += this.input.slice(chunkStart, this.state.pos); + ++this.state.pos; + + switch (ch) { + case 13: + if (this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + } + + case 10: + out += "\n"; + break; + + default: + out += String.fromCharCode(ch); + break; + } + + ++this.state.curLine; + this.state.lineStart = this.state.pos; + chunkStart = this.state.pos; + } else { + ++this.state.pos; + } + } + } + }, { + key: "readEscapedChar", + value: function readEscapedChar(inTemplate) { + var throwOnInvalid = !inTemplate; + var ch = this.input.charCodeAt(++this.state.pos); + ++this.state.pos; + + switch (ch) { + case 110: + return "\n"; + + case 114: + return "\r"; + + case 120: + { + var code = this.readHexChar(2, false, throwOnInvalid); + return code === null ? null : String.fromCharCode(code); + } + + case 117: + { + var _code = this.readCodePoint(throwOnInvalid); + + return _code === null ? null : String.fromCodePoint(_code); + } + + case 116: + return "\t"; + + case 98: + return "\b"; + + case 118: + return "\x0B"; + + case 102: + return "\f"; + + case 13: + if (this.input.charCodeAt(this.state.pos) === 10) { + ++this.state.pos; + } + + case 10: + this.state.lineStart = this.state.pos; + ++this.state.curLine; + + case 8232: + case 8233: + return ""; + + case 56: + case 57: + if (inTemplate) { + var codePos = this.state.pos - 1; + this.state.invalidTemplateEscapePosition = codePos; + return null; + } + + default: + if (ch >= 48 && ch <= 55) { + var _codePos = this.state.pos - 1; + + var octalStr = this.input.substr(this.state.pos - 1, 3).match(/^[0-7]+/)[0]; + var octal = parseInt(octalStr, 8); + + if (octal > 255) { + octalStr = octalStr.slice(0, -1); + octal = parseInt(octalStr, 8); + } + + this.state.pos += octalStr.length - 1; + var next = this.input.charCodeAt(this.state.pos); + + if (octalStr !== "0" || next === 56 || next === 57) { + if (inTemplate) { + this.state.invalidTemplateEscapePosition = _codePos; + return null; + } else if (this.state.strict) { + this.raise(_codePos, "Octal literal in strict mode"); + } else if (!this.state.containsOctal) { + this.state.containsOctal = true; + this.state.octalPosition = _codePos; + } + } + + return String.fromCharCode(octal); + } + + return String.fromCharCode(ch); + } + } + }, { + key: "readHexChar", + value: function readHexChar(len, forceLen, throwOnInvalid) { + var codePos = this.state.pos; + var n = this.readInt(16, len, forceLen, false); + + if (n === null) { + if (throwOnInvalid) { + this.raise(codePos, "Bad character escape sequence"); + } else { + this.state.pos = codePos - 1; + this.state.invalidTemplateEscapePosition = codePos - 1; + } + } + + return n; + } + }, { + key: "readWord1", + value: function readWord1() { + var word = ""; + this.state.containsEsc = false; + var start = this.state.pos; + var chunkStart = this.state.pos; + + while (this.state.pos < this.length) { + var ch = this.input.codePointAt(this.state.pos); + + if (isIdentifierChar(ch)) { + this.state.pos += ch <= 0xffff ? 1 : 2; + } else if (this.state.isIterator && ch === 64) { + ++this.state.pos; + } else if (ch === 92) { + this.state.containsEsc = true; + word += this.input.slice(chunkStart, this.state.pos); + var escStart = this.state.pos; + var identifierCheck = this.state.pos === start ? isIdentifierStart : isIdentifierChar; + + if (this.input.charCodeAt(++this.state.pos) !== 117) { + this.raise(this.state.pos, "Expecting Unicode escape sequence \\uXXXX"); + continue; + } + + ++this.state.pos; + var esc = this.readCodePoint(true); + + if (esc !== null) { + if (!identifierCheck(esc)) { + this.raise(escStart, "Invalid Unicode escape"); + } + + word += String.fromCodePoint(esc); + } + + chunkStart = this.state.pos; + } else { + break; + } + } + + return word + this.input.slice(chunkStart, this.state.pos); + } + }, { + key: "isIterator", + value: function isIterator(word) { + return word === "@@iterator" || word === "@@asyncIterator"; + } + }, { + key: "readWord", + value: function readWord() { + var word = this.readWord1(); + var type = keywords.get(word) || types.name; + + if (this.state.isIterator && (!this.isIterator(word) || !this.state.inType)) { + this.raise(this.state.pos, "Invalid identifier ".concat(word)); + } + + this.finishToken(type, word); + } + }, { + key: "checkKeywordEscapes", + value: function checkKeywordEscapes() { + var kw = this.state.type.keyword; + + if (kw && this.state.containsEsc) { + this.raise(this.state.start, "Escape sequence in keyword ".concat(kw)); + } + } + }, { + key: "braceIsBlock", + value: function braceIsBlock(prevType) { + var parent = this.curContext(); + + if (parent === types$1.functionExpression || parent === types$1.functionStatement) { + return true; + } + + if (prevType === types.colon && (parent === types$1.braceStatement || parent === types$1.braceExpression)) { + return !parent.isExpr; + } + + if (prevType === types._return || prevType === types.name && this.state.exprAllowed) { + return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); + } + + if (prevType === types._else || prevType === types.semi || prevType === types.eof || prevType === types.parenR || prevType === types.arrow) { + return true; + } + + if (prevType === types.braceL) { + return parent === types$1.braceStatement; + } + + if (prevType === types._var || prevType === types._const || prevType === types.name) { + return false; + } + + if (prevType === types.relational) { + return true; + } + + return !this.state.exprAllowed; + } + }, { + key: "updateContext", + value: function updateContext(prevType) { + var type = this.state.type; + var update; + + if (type.keyword && (prevType === types.dot || prevType === types.questionDot)) { + this.state.exprAllowed = false; + } else if (update = type.updateContext) { + update.call(this, prevType); + } else { + this.state.exprAllowed = type.beforeExpr; + } + } + }]); + + return Tokenizer; +}(LocationParser); + +var literal = /^('|")((?:\\?.)*?)\1/; + +var UtilParser = +/*#__PURE__*/ +function (_Tokenizer) { + _inherits(UtilParser, _Tokenizer); + + function UtilParser() { + _classCallCheck(this, UtilParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(UtilParser).apply(this, arguments)); + } + + _createClass(UtilParser, [{ + key: "addExtra", + value: function addExtra(node, key, val) { + if (!node) return; + var extra = node.extra = node.extra || {}; + extra[key] = val; + } + }, { + key: "isRelational", + value: function isRelational(op) { + return this.match(types.relational) && this.state.value === op; + } + }, { + key: "isLookaheadRelational", + value: function isLookaheadRelational(op) { + var next = this.nextTokenStart(); + + if (this.input.charAt(next) === op) { + if (next + 1 === this.input.length) { + return true; + } + + var afterNext = this.input.charCodeAt(next + 1); + return afterNext !== op.charCodeAt(0) && afterNext !== 61; + } + + return false; + } + }, { + key: "expectRelational", + value: function expectRelational(op) { + if (this.isRelational(op)) { + this.next(); + } else { + this.unexpected(null, types.relational); + } + } + }, { + key: "eatRelational", + value: function eatRelational(op) { + if (this.isRelational(op)) { + this.next(); + return true; + } + + return false; + } + }, { + key: "isContextual", + value: function isContextual(name) { + return this.match(types.name) && this.state.value === name && !this.state.containsEsc; + } + }, { + key: "isUnparsedContextual", + value: function isUnparsedContextual(nameStart, name) { + var nameEnd = nameStart + name.length; + return this.input.slice(nameStart, nameEnd) === name && (nameEnd === this.input.length || !isIdentifierChar(this.input.charCodeAt(nameEnd))); + } + }, { + key: "isLookaheadContextual", + value: function isLookaheadContextual(name) { + var next = this.nextTokenStart(); + return this.isUnparsedContextual(next, name); + } + }, { + key: "eatContextual", + value: function eatContextual(name) { + return this.isContextual(name) && this.eat(types.name); + } + }, { + key: "expectContextual", + value: function expectContextual(name, message) { + if (!this.eatContextual(name)) this.unexpected(null, message); + } + }, { + key: "canInsertSemicolon", + value: function canInsertSemicolon() { + return this.match(types.eof) || this.match(types.braceR) || this.hasPrecedingLineBreak(); + } + }, { + key: "hasPrecedingLineBreak", + value: function hasPrecedingLineBreak() { + return lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start)); + } + }, { + key: "isLineTerminator", + value: function isLineTerminator() { + return this.eat(types.semi) || this.canInsertSemicolon(); + } + }, { + key: "semicolon", + value: function semicolon() { + if (!this.isLineTerminator()) this.unexpected(null, types.semi); + } + }, { + key: "expect", + value: function expect(type, pos) { + this.eat(type) || this.unexpected(pos, type); + } + }, { + key: "assertNoSpace", + value: function assertNoSpace() { + var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "Unexpected space."; + + if (this.state.start > this.state.lastTokEnd) { + this.raise(this.state.lastTokEnd, message); + } + } + }, { + key: "unexpected", + value: function unexpected(pos) { + var messageOrType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "Unexpected token"; + + if (typeof messageOrType !== "string") { + messageOrType = "Unexpected token, expected \"".concat(messageOrType.label, "\""); + } + + throw this.raise(pos != null ? pos : this.state.start, messageOrType); + } + }, { + key: "expectPlugin", + value: function expectPlugin(name, pos) { + if (!this.hasPlugin(name)) { + throw this.raise(pos != null ? pos : this.state.start, "This experimental syntax requires enabling the parser plugin: '".concat(name, "'"), { + missingPluginNames: [name] + }); + } + + return true; + } + }, { + key: "expectOnePlugin", + value: function expectOnePlugin(names, pos) { + var _this35 = this; + + if (!names.some(function (n) { + return _this35.hasPlugin(n); + })) { + throw this.raise(pos != null ? pos : this.state.start, "This experimental syntax requires enabling one of the following parser plugin(s): '".concat(names.join(", "), "'"), { + missingPluginNames: names + }); + } + } + }, { + key: "checkYieldAwaitInDefaultParams", + value: function checkYieldAwaitInDefaultParams() { + if (this.state.yieldPos !== -1 && (this.state.awaitPos === -1 || this.state.yieldPos < this.state.awaitPos)) { + this.raise(this.state.yieldPos, "Yield cannot be used as name inside a generator function"); + } + + if (this.state.awaitPos !== -1) { + this.raise(this.state.awaitPos, "Await cannot be used as name inside an async function"); + } + } + }, { + key: "strictDirective", + value: function strictDirective(start) { + for (;;) { + skipWhiteSpace.lastIndex = start; + start += skipWhiteSpace.exec(this.input)[0].length; + var match = literal.exec(this.input.slice(start)); + if (!match) break; + if (match[2] === "use strict") return true; + start += match[0].length; + skipWhiteSpace.lastIndex = start; + start += skipWhiteSpace.exec(this.input)[0].length; + + if (this.input[start] === ";") { + start++; + } + } + + return false; + } + }, { + key: "tryParse", + value: function tryParse(fn) { + var oldState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state.clone(); + var abortSignal = { + node: null + }; + + try { + var node = fn(function () { + var node = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + abortSignal.node = node; + throw abortSignal; + }); + + if (this.state.errors.length > oldState.errors.length) { + var failState = this.state; + this.state = oldState; + return { + node: node, + error: failState.errors[oldState.errors.length], + thrown: false, + aborted: false, + failState: failState + }; + } + + return { + node: node, + error: null, + thrown: false, + aborted: false, + failState: null + }; + } catch (error) { + var _failState = this.state; + this.state = oldState; + + if (error instanceof SyntaxError) { + return { + node: null, + error: error, + thrown: true, + aborted: false, + failState: _failState + }; + } + + if (error === abortSignal) { + return { + node: abortSignal.node, + error: null, + thrown: false, + aborted: true, + failState: _failState + }; + } + + throw error; + } + } + }]); + + return UtilParser; +}(Tokenizer); + +var Node = +/*#__PURE__*/ +function () { + function Node(parser, pos, loc) { + _classCallCheck(this, Node); + + this.type = ""; + this.start = pos; + this.end = 0; + this.loc = new SourceLocation(loc); + if (parser && parser.options.ranges) this.range = [pos, 0]; + if (parser && parser.filename) this.loc.filename = parser.filename; + } + + _createClass(Node, [{ + key: "__clone", + value: function __clone() { + var newNode = new Node(); + var keys = Object.keys(this); + + for (var i = 0, length = keys.length; i < length; i++) { + var key = keys[i]; + + if (key !== "leadingComments" && key !== "trailingComments" && key !== "innerComments") { + newNode[key] = this[key]; + } + } + + return newNode; + } + }]); + + return Node; +}(); + +var NodeUtils = +/*#__PURE__*/ +function (_UtilParser) { + _inherits(NodeUtils, _UtilParser); + + function NodeUtils() { + _classCallCheck(this, NodeUtils); + + return _possibleConstructorReturn(this, _getPrototypeOf(NodeUtils).apply(this, arguments)); + } + + _createClass(NodeUtils, [{ + key: "startNode", + value: function startNode() { + return new Node(this, this.state.start, this.state.startLoc); + } + }, { + key: "startNodeAt", + value: function startNodeAt(pos, loc) { + return new Node(this, pos, loc); + } + }, { + key: "startNodeAtNode", + value: function startNodeAtNode(type) { + return this.startNodeAt(type.start, type.loc.start); + } + }, { + key: "finishNode", + value: function finishNode(node, type) { + return this.finishNodeAt(node, type, this.state.lastTokEnd, this.state.lastTokEndLoc); + } + }, { + key: "finishNodeAt", + value: function finishNodeAt(node, type, pos, loc) { + node.type = type; + node.end = pos; + node.loc.end = loc; + if (this.options.ranges) node.range[1] = pos; + this.processComment(node); + return node; + } + }, { + key: "resetStartLocation", + value: function resetStartLocation(node, start, startLoc) { + node.start = start; + node.loc.start = startLoc; + if (this.options.ranges) node.range[0] = start; + } + }, { + key: "resetEndLocation", + value: function resetEndLocation(node) { + var end = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.state.lastTokEnd; + var endLoc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.state.lastTokEndLoc; + node.end = end; + node.loc.end = endLoc; + if (this.options.ranges) node.range[1] = end; + } + }, { + key: "resetStartLocationFromNode", + value: function resetStartLocationFromNode(node, locationNode) { + this.resetStartLocation(node, locationNode.start, locationNode.loc.start); + } + }]); + + return NodeUtils; +}(UtilParser); + +var LValParser = +/*#__PURE__*/ +function (_NodeUtils) { + _inherits(LValParser, _NodeUtils); + + function LValParser() { + _classCallCheck(this, LValParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(LValParser).apply(this, arguments)); + } + + _createClass(LValParser, [{ + key: "toAssignable", + value: function toAssignable(node, isBinding, contextDescription) { + var _node$extra2; + + if (node) { + switch (node.type) { + case "Identifier": + case "ObjectPattern": + case "ArrayPattern": + case "AssignmentPattern": + break; + + case "ObjectExpression": + node.type = "ObjectPattern"; + + for (var i = 0, length = node.properties.length, _last2 = length - 1; i < length; i++) { + var _node$extra; + + var prop = node.properties[i]; + var isLast = i === _last2; + this.toAssignableObjectExpressionProp(prop, isBinding, isLast); + + if (isLast && prop.type === "RestElement" && ((_node$extra = node.extra) === null || _node$extra === void 0 ? void 0 : _node$extra.trailingComma)) { + this.raiseRestNotLast(node.extra.trailingComma); + } + } + + break; + + case "ObjectProperty": + this.toAssignable(node.value, isBinding, contextDescription); + break; + + case "SpreadElement": + { + this.checkToRestConversion(node); + node.type = "RestElement"; + var arg = node.argument; + this.toAssignable(arg, isBinding, contextDescription); + break; + } + + case "ArrayExpression": + node.type = "ArrayPattern"; + this.toAssignableList(node.elements, isBinding, contextDescription, (_node$extra2 = node.extra) === null || _node$extra2 === void 0 ? void 0 : _node$extra2.trailingComma); + break; + + case "AssignmentExpression": + if (node.operator !== "=") { + this.raise(node.left.end, "Only '=' operator can be used for specifying default value."); + } + + node.type = "AssignmentPattern"; + delete node.operator; + this.toAssignable(node.left, isBinding, contextDescription); + break; + + case "ParenthesizedExpression": + node.expression = this.toAssignable(node.expression, isBinding, contextDescription); + break; + + case "MemberExpression": + if (!isBinding) break; + + default: + } + } + + return node; + } + }, { + key: "toAssignableObjectExpressionProp", + value: function toAssignableObjectExpressionProp(prop, isBinding, isLast) { + if (prop.type === "ObjectMethod") { + var error = prop.kind === "get" || prop.kind === "set" ? "Object pattern can't contain getter or setter" : "Object pattern can't contain methods"; + this.raise(prop.key.start, error); + } else if (prop.type === "SpreadElement" && !isLast) { + this.raiseRestNotLast(prop.start); + } else { + this.toAssignable(prop, isBinding, "object destructuring pattern"); + } + } + }, { + key: "toAssignableList", + value: function toAssignableList(exprList, isBinding, contextDescription, trailingCommaPos) { + var end = exprList.length; + + if (end) { + var _last3 = exprList[end - 1]; + + if (_last3 && _last3.type === "RestElement") { + --end; + } else if (_last3 && _last3.type === "SpreadElement") { + _last3.type = "RestElement"; + var arg = _last3.argument; + this.toAssignable(arg, isBinding, contextDescription); + + if (arg.type !== "Identifier" && arg.type !== "MemberExpression" && arg.type !== "ArrayPattern" && arg.type !== "ObjectPattern") { + this.unexpected(arg.start); + } + + if (trailingCommaPos) { + this.raiseTrailingCommaAfterRest(trailingCommaPos); + } + + --end; + } + } + + for (var i = 0; i < end; i++) { + var elt = exprList[i]; + + if (elt) { + this.toAssignable(elt, isBinding, contextDescription); + + if (elt.type === "RestElement") { + this.raiseRestNotLast(elt.start); + } + } + } + + return exprList; + } + }, { + key: "toReferencedList", + value: function toReferencedList(exprList, isParenthesizedExpr) { + return exprList; + } + }, { + key: "toReferencedListDeep", + value: function toReferencedListDeep(exprList, isParenthesizedExpr) { + this.toReferencedList(exprList, isParenthesizedExpr); + + for (var _i = 0; _i < exprList.length; _i++) { + var expr = exprList[_i]; + + if (expr && expr.type === "ArrayExpression") { + this.toReferencedListDeep(expr.elements); + } + } + + return exprList; + } + }, { + key: "parseSpread", + value: function parseSpread(refShorthandDefaultPos, refNeedsArrowPos) { + var node = this.startNode(); + this.next(); + node.argument = this.parseMaybeAssign(false, refShorthandDefaultPos, undefined, refNeedsArrowPos); + return this.finishNode(node, "SpreadElement"); + } + }, { + key: "parseRestBinding", + value: function parseRestBinding() { + var node = this.startNode(); + this.next(); + node.argument = this.parseBindingAtom(); + return this.finishNode(node, "RestElement"); + } + }, { + key: "parseBindingAtom", + value: function parseBindingAtom() { + switch (this.state.type) { + case types.bracketL: + { + var node = this.startNode(); + this.next(); + node.elements = this.parseBindingList(types.bracketR, 93, true); + return this.finishNode(node, "ArrayPattern"); + } + + case types.braceL: + return this.parseObj(true); + } + + return this.parseIdentifier(); + } + }, { + key: "parseBindingList", + value: function parseBindingList(close, closeCharCode, allowEmpty, allowModifiers) { + var elts = []; + var first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(types.comma); + } + + if (allowEmpty && this.match(types.comma)) { + elts.push(null); + } else if (this.eat(close)) { + break; + } else if (this.match(types.ellipsis)) { + elts.push(this.parseAssignableListItemTypes(this.parseRestBinding())); + this.checkCommaAfterRest(closeCharCode); + this.expect(close); + break; + } else { + var decorators = []; + + if (this.match(types.at) && this.hasPlugin("decorators")) { + this.raise(this.state.start, "Stage 2 decorators cannot be used to decorate parameters"); + } + + while (this.match(types.at)) { + decorators.push(this.parseDecorator()); + } + + elts.push(this.parseAssignableListItem(allowModifiers, decorators)); + } + } + + return elts; + } + }, { + key: "parseAssignableListItem", + value: function parseAssignableListItem(allowModifiers, decorators) { + var left = this.parseMaybeDefault(); + this.parseAssignableListItemTypes(left); + var elt = this.parseMaybeDefault(left.start, left.loc.start, left); + + if (decorators.length) { + left.decorators = decorators; + } + + return elt; + } + }, { + key: "parseAssignableListItemTypes", + value: function parseAssignableListItemTypes(param) { + return param; + } + }, { + key: "parseMaybeDefault", + value: function parseMaybeDefault(startPos, startLoc, left) { + startLoc = startLoc || this.state.startLoc; + startPos = startPos || this.state.start; + left = left || this.parseBindingAtom(); + if (!this.eat(types.eq)) return left; + var node = this.startNodeAt(startPos, startLoc); + node.left = left; + node.right = this.parseMaybeAssign(); + return this.finishNode(node, "AssignmentPattern"); + } + }, { + key: "checkLVal", + value: function checkLVal(expr) { + var bindingType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BIND_NONE; + var checkClashes = arguments.length > 2 ? arguments[2] : undefined; + var contextDescription = arguments.length > 3 ? arguments[3] : undefined; + var disallowLetBinding = arguments.length > 4 ? arguments[4] : undefined; + var strictModeChanged = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false; + + switch (expr.type) { + case "Identifier": + if (this.state.strict && (strictModeChanged ? isStrictBindReservedWord(expr.name, this.inModule) : isStrictBindOnlyReservedWord(expr.name))) { + this.raise(expr.start, "".concat(bindingType === BIND_NONE ? "Assigning to" : "Binding", " '").concat(expr.name, "' in strict mode")); + } + + if (checkClashes) { + var key = "_".concat(expr.name); + + if (checkClashes[key]) { + this.raise(expr.start, "Argument name clash"); + } else { + checkClashes[key] = true; + } + } + + if (disallowLetBinding && expr.name === "let") { + this.raise(expr.start, "'let' is not allowed to be used as a name in 'let' or 'const' declarations."); + } + + if (!(bindingType & BIND_NONE)) { + this.scope.declareName(expr.name, bindingType, expr.start); + } + + break; + + case "MemberExpression": + if (bindingType !== BIND_NONE) { + this.raise(expr.start, "Binding member expression"); + } + + break; + + case "ObjectPattern": + for (var _i2 = 0, _expr$properties = expr.properties; _i2 < _expr$properties.length; _i2++) { + var prop = _expr$properties[_i2]; + if (prop.type === "ObjectProperty") prop = prop.value;else if (prop.type === "ObjectMethod") continue; + this.checkLVal(prop, bindingType, checkClashes, "object destructuring pattern", disallowLetBinding); + } + + break; + + case "ArrayPattern": + for (var _i3 = 0, _expr$elements = expr.elements; _i3 < _expr$elements.length; _i3++) { + var elem = _expr$elements[_i3]; + + if (elem) { + this.checkLVal(elem, bindingType, checkClashes, "array destructuring pattern", disallowLetBinding); + } + } + + break; + + case "AssignmentPattern": + this.checkLVal(expr.left, bindingType, checkClashes, "assignment pattern"); + break; + + case "RestElement": + this.checkLVal(expr.argument, bindingType, checkClashes, "rest element"); + break; + + case "ParenthesizedExpression": + this.checkLVal(expr.expression, bindingType, checkClashes, "parenthesized expression"); + break; + + default: + { + var message = (bindingType === BIND_NONE ? "Invalid" : "Binding invalid") + " left-hand side" + (contextDescription ? " in " + contextDescription : "expression"); + this.raise(expr.start, message); + } + } + } + }, { + key: "checkToRestConversion", + value: function checkToRestConversion(node) { + if (node.argument.type !== "Identifier" && node.argument.type !== "MemberExpression") { + this.raise(node.argument.start, "Invalid rest operator's argument"); + } + } + }, { + key: "checkCommaAfterRest", + value: function checkCommaAfterRest(close) { + if (this.match(types.comma)) { + if (this.lookaheadCharCode() === close) { + this.raiseTrailingCommaAfterRest(this.state.start); + } else { + this.raiseRestNotLast(this.state.start); + } + } + } + }, { + key: "raiseRestNotLast", + value: function raiseRestNotLast(pos) { + throw this.raise(pos, "Rest element must be last element"); + } + }, { + key: "raiseTrailingCommaAfterRest", + value: function raiseTrailingCommaAfterRest(pos) { + this.raise(pos, "Unexpected trailing comma after rest element"); + } + }]); + + return LValParser; +}(NodeUtils); + +var unwrapParenthesizedExpression = function unwrapParenthesizedExpression(node) { + return node.type === "ParenthesizedExpression" ? unwrapParenthesizedExpression(node.expression) : node; +}; + +var ExpressionParser = +/*#__PURE__*/ +function (_LValParser) { + _inherits(ExpressionParser, _LValParser); + + function ExpressionParser() { + _classCallCheck(this, ExpressionParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(ExpressionParser).apply(this, arguments)); + } + + _createClass(ExpressionParser, [{ + key: "checkDuplicatedProto", + value: function checkDuplicatedProto(prop, protoRef) { + if (prop.type === "SpreadElement" || prop.computed || prop.kind || prop.shorthand) { + return; + } + + var key = prop.key; + var name = key.type === "Identifier" ? key.name : String(key.value); + + if (name === "__proto__") { + if (protoRef.used && !protoRef.start) { + protoRef.start = key.start; + } + + protoRef.used = true; + } + } + }, { + key: "getExpression", + value: function getExpression() { + this.scope.enter(SCOPE_PROGRAM); + this.nextToken(); + var expr = this.parseExpression(); + + if (!this.match(types.eof)) { + this.unexpected(); + } + + expr.comments = this.state.comments; + expr.errors = this.state.errors; + return expr; + } + }, { + key: "parseExpression", + value: function parseExpression(noIn, refShorthandDefaultPos) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var expr = this.parseMaybeAssign(noIn, refShorthandDefaultPos); + + if (this.match(types.comma)) { + var node = this.startNodeAt(startPos, startLoc); + node.expressions = [expr]; + + while (this.eat(types.comma)) { + node.expressions.push(this.parseMaybeAssign(noIn, refShorthandDefaultPos)); + } + + this.toReferencedList(node.expressions); + return this.finishNode(node, "SequenceExpression"); + } + + return expr; + } + }, { + key: "parseMaybeAssign", + value: function parseMaybeAssign(noIn, refShorthandDefaultPos, afterLeftParse, refNeedsArrowPos) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + + if (this.isContextual("yield")) { + if (this.scope.inGenerator) { + var _left = this.parseYield(noIn); + + if (afterLeftParse) { + _left = afterLeftParse.call(this, _left, startPos, startLoc); + } + + return _left; + } else { + this.state.exprAllowed = false; + } + } + + var failOnShorthandAssign; + + if (refShorthandDefaultPos) { + failOnShorthandAssign = false; + } else { + refShorthandDefaultPos = { + start: 0 + }; + failOnShorthandAssign = true; + } + + if (this.match(types.parenL) || this.match(types.name)) { + this.state.potentialArrowAt = this.state.start; + } + + var left = this.parseMaybeConditional(noIn, refShorthandDefaultPos, refNeedsArrowPos); + + if (afterLeftParse) { + left = afterLeftParse.call(this, left, startPos, startLoc); + } + + if (this.state.type.isAssign) { + var node = this.startNodeAt(startPos, startLoc); + var operator = this.state.value; + node.operator = operator; + + if (operator === "??=") { + this.expectPlugin("nullishCoalescingOperator"); + this.expectPlugin("logicalAssignment"); + } + + if (operator === "||=" || operator === "&&=") { + this.expectPlugin("logicalAssignment"); + } + + node.left = this.match(types.eq) ? this.toAssignable(left, undefined, "assignment expression") : left; + + if (refShorthandDefaultPos.start >= node.left.start) { + refShorthandDefaultPos.start = 0; + } + + this.checkLVal(left, undefined, undefined, "assignment expression"); + var maybePattern = unwrapParenthesizedExpression(left); + var patternErrorMsg; + + if (maybePattern.type === "ObjectPattern") { + patternErrorMsg = "`({a}) = 0` use `({a} = 0)`"; + } else if (maybePattern.type === "ArrayPattern") { + patternErrorMsg = "`([a]) = 0` use `([a] = 0)`"; + } + + if (patternErrorMsg && (left.extra && left.extra.parenthesized || left.type === "ParenthesizedExpression")) { + this.raise(maybePattern.start, "You're trying to assign to a parenthesized expression, eg. instead of ".concat(patternErrorMsg)); + } + + this.next(); + node.right = this.parseMaybeAssign(noIn); + return this.finishNode(node, "AssignmentExpression"); + } else if (failOnShorthandAssign && refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + + return left; + } + }, { + key: "parseMaybeConditional", + value: function parseMaybeConditional(noIn, refShorthandDefaultPos, refNeedsArrowPos) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var potentialArrowAt = this.state.potentialArrowAt; + var expr = this.parseExprOps(noIn, refShorthandDefaultPos); + + if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { + return expr; + } + + if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; + return this.parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos); + } + }, { + key: "parseConditional", + value: function parseConditional(expr, noIn, startPos, startLoc, refNeedsArrowPos) { + if (this.eat(types.question)) { + var node = this.startNodeAt(startPos, startLoc); + node.test = expr; + node.consequent = this.parseMaybeAssign(); + this.expect(types.colon); + node.alternate = this.parseMaybeAssign(noIn); + return this.finishNode(node, "ConditionalExpression"); + } + + return expr; + } + }, { + key: "parseExprOps", + value: function parseExprOps(noIn, refShorthandDefaultPos) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var potentialArrowAt = this.state.potentialArrowAt; + var expr = this.parseMaybeUnary(refShorthandDefaultPos); + + if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { + return expr; + } + + if (refShorthandDefaultPos && refShorthandDefaultPos.start) { + return expr; + } + + return this.parseExprOp(expr, startPos, startLoc, -1, noIn); + } + }, { + key: "parseExprOp", + value: function parseExprOp(left, leftStartPos, leftStartLoc, minPrec, noIn) { + var prec = this.state.type.binop; + + if (prec != null && (!noIn || !this.match(types._in))) { + if (prec > minPrec) { + var operator = this.state.value; + + if (operator === "|>" && this.state.inFSharpPipelineDirectBody) { + return left; + } + + var node = this.startNodeAt(leftStartPos, leftStartLoc); + node.left = left; + node.operator = operator; + + if (operator === "**" && left.type === "UnaryExpression" && (this.options.createParenthesizedExpressions || !(left.extra && left.extra.parenthesized))) { + this.raise(left.argument.start, "Illegal expression. Wrap left hand side or entire exponentiation in parentheses."); + } + + var op = this.state.type; + + if (op === types.pipeline) { + this.expectPlugin("pipelineOperator"); + this.state.inPipeline = true; + this.checkPipelineAtInfixOperator(left, leftStartPos); + } else if (op === types.nullishCoalescing) { + this.expectPlugin("nullishCoalescingOperator"); + } + + this.next(); + + if (op === types.pipeline && this.getPluginOption("pipelineOperator", "proposal") === "minimal") { + if (this.match(types.name) && this.state.value === "await" && this.scope.inAsync) { + throw this.raise(this.state.start, "Unexpected \"await\" after pipeline body; await must have parentheses in minimal proposal"); + } + } + + node.right = this.parseExprOpRightExpr(op, prec, noIn); + + if (op === types.nullishCoalescing) { + if (left.type === "LogicalExpression" && left.operator !== "??" && !(left.extra && left.extra.parenthesized)) { + throw this.raise(left.start, "Nullish coalescing operator(??) requires parens when mixing with logical operators"); + } else if (node.right.type === "LogicalExpression" && node.right.operator !== "??" && !(node.right.extra && node.right.extra.parenthesized)) { + throw this.raise(node.right.start, "Nullish coalescing operator(??) requires parens when mixing with logical operators"); + } + } + + this.finishNode(node, op === types.logicalOR || op === types.logicalAND || op === types.nullishCoalescing ? "LogicalExpression" : "BinaryExpression"); + return this.parseExprOp(node, leftStartPos, leftStartLoc, minPrec, noIn); + } + } + + return left; + } + }, { + key: "parseExprOpRightExpr", + value: function parseExprOpRightExpr(op, prec, noIn) { + var _this36 = this; + + var startPos = this.state.start; + var startLoc = this.state.startLoc; + + switch (op) { + case types.pipeline: + switch (this.getPluginOption("pipelineOperator", "proposal")) { + case "smart": + return this.withTopicPermittingContext(function () { + return _this36.parseSmartPipelineBody(_this36.parseExprOpBaseRightExpr(op, prec, noIn), startPos, startLoc); + }); + + case "fsharp": + return this.withSoloAwaitPermittingContext(function () { + return _this36.parseFSharpPipelineBody(prec, noIn); + }); + } + + default: + return this.parseExprOpBaseRightExpr(op, prec, noIn); + } + } + }, { + key: "parseExprOpBaseRightExpr", + value: function parseExprOpBaseRightExpr(op, prec, noIn) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + return this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, op.rightAssociative ? prec - 1 : prec, noIn); + } + }, { + key: "parseMaybeUnary", + value: function parseMaybeUnary(refShorthandDefaultPos) { + if (this.isContextual("await") && this.isAwaitAllowed()) { + return this.parseAwait(); + } else if (this.state.type.prefix) { + var node = this.startNode(); + var update = this.match(types.incDec); + node.operator = this.state.value; + node.prefix = true; + + if (node.operator === "throw") { + this.expectPlugin("throwExpressions"); + } + + this.next(); + node.argument = this.parseMaybeUnary(); + + if (refShorthandDefaultPos && refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + + if (update) { + this.checkLVal(node.argument, undefined, undefined, "prefix operation"); + } else if (this.state.strict && node.operator === "delete") { + var arg = node.argument; + + if (arg.type === "Identifier") { + this.raise(node.start, "Deleting local variable in strict mode"); + } else if (arg.type === "MemberExpression" && arg.property.type === "PrivateName") { + this.raise(node.start, "Deleting a private field is not allowed"); + } + } + + return this.finishNode(node, update ? "UpdateExpression" : "UnaryExpression"); + } + + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var expr = this.parseExprSubscripts(refShorthandDefaultPos); + if (refShorthandDefaultPos && refShorthandDefaultPos.start) return expr; + + while (this.state.type.postfix && !this.canInsertSemicolon()) { + var _node9 = this.startNodeAt(startPos, startLoc); + + _node9.operator = this.state.value; + _node9.prefix = false; + _node9.argument = expr; + this.checkLVal(expr, undefined, undefined, "postfix operation"); + this.next(); + expr = this.finishNode(_node9, "UpdateExpression"); + } + + return expr; + } + }, { + key: "parseExprSubscripts", + value: function parseExprSubscripts(refShorthandDefaultPos) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var potentialArrowAt = this.state.potentialArrowAt; + var expr = this.parseExprAtom(refShorthandDefaultPos); + + if (expr.type === "ArrowFunctionExpression" && expr.start === potentialArrowAt) { + return expr; + } + + if (refShorthandDefaultPos && refShorthandDefaultPos.start) { + return expr; + } + + return this.parseSubscripts(expr, startPos, startLoc); + } + }, { + key: "parseSubscripts", + value: function parseSubscripts(base, startPos, startLoc, noCalls) { + var state = { + optionalChainMember: false, + maybeAsyncArrow: this.atPossibleAsync(base), + stop: false + }; + + do { + base = this.parseSubscript(base, startPos, startLoc, noCalls, state); + state.maybeAsyncArrow = false; + } while (!state.stop); + + return base; + } + }, { + key: "parseSubscript", + value: function parseSubscript(base, startPos, startLoc, noCalls, state) { + if (!noCalls && this.eat(types.doubleColon)) { + var node = this.startNodeAt(startPos, startLoc); + node.object = base; + node.callee = this.parseNoCallExpr(); + state.stop = true; + return this.parseSubscripts(this.finishNode(node, "BindExpression"), startPos, startLoc, noCalls); + } else if (this.match(types.questionDot)) { + this.expectPlugin("optionalChaining"); + state.optionalChainMember = true; + + if (noCalls && this.lookaheadCharCode() === 40) { + state.stop = true; + return base; + } + + this.next(); + + var _node10 = this.startNodeAt(startPos, startLoc); + + if (this.eat(types.bracketL)) { + _node10.object = base; + _node10.property = this.parseExpression(); + _node10.computed = true; + _node10.optional = true; + this.expect(types.bracketR); + return this.finishNode(_node10, "OptionalMemberExpression"); + } else if (this.eat(types.parenL)) { + _node10.callee = base; + _node10.arguments = this.parseCallExpressionArguments(types.parenR, false); + _node10.optional = true; + return this.finishCallExpression(_node10, true); + } else { + _node10.object = base; + _node10.property = this.parseIdentifier(true); + _node10.computed = false; + _node10.optional = true; + return this.finishNode(_node10, "OptionalMemberExpression"); + } + } else if (this.eat(types.dot)) { + var _node11 = this.startNodeAt(startPos, startLoc); + + _node11.object = base; + _node11.property = this.parseMaybePrivateName(); + _node11.computed = false; + + if (_node11.property.type === "PrivateName" && _node11.object.type === "Super") { + this.raise(startPos, "Private fields can't be accessed on super"); + } + + if (state.optionalChainMember) { + _node11.optional = false; + return this.finishNode(_node11, "OptionalMemberExpression"); + } + + return this.finishNode(_node11, "MemberExpression"); + } else if (this.eat(types.bracketL)) { + var _node12 = this.startNodeAt(startPos, startLoc); + + _node12.object = base; + _node12.property = this.parseExpression(); + _node12.computed = true; + this.expect(types.bracketR); + + if (state.optionalChainMember) { + _node12.optional = false; + return this.finishNode(_node12, "OptionalMemberExpression"); + } + + return this.finishNode(_node12, "MemberExpression"); + } else if (!noCalls && this.match(types.parenL)) { + var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + var oldYieldPos = this.state.yieldPos; + var oldAwaitPos = this.state.awaitPos; + this.state.maybeInArrowParameters = true; + this.state.yieldPos = -1; + this.state.awaitPos = -1; + this.next(); + + var _node13 = this.startNodeAt(startPos, startLoc); + + _node13.callee = base; + _node13.arguments = this.parseCallExpressionArguments(types.parenR, state.maybeAsyncArrow, base.type === "Import", base.type !== "Super", _node13); + this.finishCallExpression(_node13, state.optionalChainMember); + + if (state.maybeAsyncArrow && this.shouldParseAsyncArrow()) { + state.stop = true; + _node13 = this.parseAsyncArrowFromCallExpression(this.startNodeAt(startPos, startLoc), _node13); + this.checkYieldAwaitInDefaultParams(); + this.state.yieldPos = oldYieldPos; + this.state.awaitPos = oldAwaitPos; + } else { + this.toReferencedListDeep(_node13.arguments); + if (oldYieldPos !== -1) this.state.yieldPos = oldYieldPos; + + if (!this.isAwaitAllowed() && !oldMaybeInArrowParameters || oldAwaitPos !== -1) { + this.state.awaitPos = oldAwaitPos; + } + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + return _node13; + } else if (this.match(types.backQuote)) { + return this.parseTaggedTemplateExpression(startPos, startLoc, base, state); + } else { + state.stop = true; + return base; + } + } + }, { + key: "parseTaggedTemplateExpression", + value: function parseTaggedTemplateExpression(startPos, startLoc, base, state, typeArguments) { + var node = this.startNodeAt(startPos, startLoc); + node.tag = base; + node.quasi = this.parseTemplate(true); + if (typeArguments) node.typeParameters = typeArguments; + + if (state.optionalChainMember) { + this.raise(startPos, "Tagged Template Literals are not allowed in optionalChain"); + } + + return this.finishNode(node, "TaggedTemplateExpression"); + } + }, { + key: "atPossibleAsync", + value: function atPossibleAsync(base) { + return base.type === "Identifier" && base.name === "async" && this.state.lastTokEnd === base.end && !this.canInsertSemicolon() && this.input.slice(base.start, base.end) === "async"; + } + }, { + key: "finishCallExpression", + value: function finishCallExpression(node, optional) { + if (node.callee.type === "Import") { + if (node.arguments.length !== 1) { + this.raise(node.start, "import() requires exactly one argument"); + } else { + var importArg = node.arguments[0]; + + if (importArg && importArg.type === "SpreadElement") { + this.raise(importArg.start, "... is not allowed in import()"); + } + } + } + + return this.finishNode(node, optional ? "OptionalCallExpression" : "CallExpression"); + } + }, { + key: "parseCallExpressionArguments", + value: function parseCallExpressionArguments(close, possibleAsyncArrow, dynamicImport, allowPlaceholder, nodeForExtra) { + var elts = []; + var innerParenStart; + var first = true; + var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(types.comma); + + if (this.match(close)) { + if (dynamicImport) { + this.raise(this.state.lastTokStart, "Trailing comma is disallowed inside import(...) arguments"); + } + + if (nodeForExtra) { + this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); + } + + this.next(); + break; + } + } + + if (this.match(types.parenL) && !innerParenStart) { + innerParenStart = this.state.start; + } + + elts.push(this.parseExprListItem(false, possibleAsyncArrow ? { + start: 0 + } : undefined, possibleAsyncArrow ? { + start: 0 + } : undefined, allowPlaceholder)); + } + + if (possibleAsyncArrow && innerParenStart && this.shouldParseAsyncArrow()) { + this.unexpected(); + } + + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return elts; + } + }, { + key: "shouldParseAsyncArrow", + value: function shouldParseAsyncArrow() { + return this.match(types.arrow) && !this.canInsertSemicolon(); + } + }, { + key: "parseAsyncArrowFromCallExpression", + value: function parseAsyncArrowFromCallExpression(node, call) { + var _call$extra; + + this.expect(types.arrow); + this.parseArrowExpression(node, call.arguments, true, (_call$extra = call.extra) === null || _call$extra === void 0 ? void 0 : _call$extra.trailingComma); + return node; + } + }, { + key: "parseNoCallExpr", + value: function parseNoCallExpr() { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + return this.parseSubscripts(this.parseExprAtom(), startPos, startLoc, true); + } + }, { + key: "parseExprAtom", + value: function parseExprAtom(refShorthandDefaultPos) { + if (this.state.type === types.slash) this.readRegexp(); + var canBeArrow = this.state.potentialArrowAt === this.state.start; + var node; + + switch (this.state.type) { + case types._super: + node = this.startNode(); + this.next(); + + if (this.match(types.parenL) && !this.scope.allowDirectSuper && !this.options.allowSuperOutsideMethod) { + this.raise(node.start, "super() is only valid inside a class constructor of a subclass. " + "Maybe a typo in the method name ('constructor') or not extending another class?"); + } else if (!this.scope.allowSuper && !this.options.allowSuperOutsideMethod) { + this.raise(node.start, "super is only allowed in object methods and classes"); + } + + if (!this.match(types.parenL) && !this.match(types.bracketL) && !this.match(types.dot)) { + this.raise(node.start, "super can only be used with function calls (i.e. super()) or " + "in property accesses (i.e. super.prop or super[prop])"); + } + + return this.finishNode(node, "Super"); + + case types._import: + node = this.startNode(); + this.next(); + + if (this.match(types.dot)) { + return this.parseImportMetaProperty(node); + } + + this.expectPlugin("dynamicImport", node.start); + + if (!this.match(types.parenL)) { + this.unexpected(null, types.parenL); + } + + return this.finishNode(node, "Import"); + + case types._this: + node = this.startNode(); + this.next(); + return this.finishNode(node, "ThisExpression"); + + case types.name: + { + node = this.startNode(); + var containsEsc = this.state.containsEsc; + var id = this.parseIdentifier(); + + if (!containsEsc && id.name === "async" && this.match(types._function) && !this.canInsertSemicolon()) { + this.next(); + return this.parseFunction(node, undefined, true); + } else if (canBeArrow && !containsEsc && id.name === "async" && this.match(types.name) && !this.canInsertSemicolon()) { + var params = [this.parseIdentifier()]; + this.expect(types.arrow); + this.parseArrowExpression(node, params, true); + return node; + } + + if (canBeArrow && this.match(types.arrow) && !this.canInsertSemicolon()) { + this.next(); + this.parseArrowExpression(node, [id], false); + return node; + } + + return id; + } + + case types._do: + { + this.expectPlugin("doExpressions"); + + var _node14 = this.startNode(); + + this.next(); + var oldLabels = this.state.labels; + this.state.labels = []; + _node14.body = this.parseBlock(); + this.state.labels = oldLabels; + return this.finishNode(_node14, "DoExpression"); + } + + case types.regexp: + { + var value = this.state.value; + node = this.parseLiteral(value.value, "RegExpLiteral"); + node.pattern = value.pattern; + node.flags = value.flags; + return node; + } + + case types.num: + return this.parseLiteral(this.state.value, "NumericLiteral"); + + case types.bigint: + return this.parseLiteral(this.state.value, "BigIntLiteral"); + + case types.string: + return this.parseLiteral(this.state.value, "StringLiteral"); + + case types._null: + node = this.startNode(); + this.next(); + return this.finishNode(node, "NullLiteral"); + + case types._true: + case types._false: + return this.parseBooleanLiteral(); + + case types.parenL: + return this.parseParenAndDistinguishExpression(canBeArrow); + + case types.bracketL: + { + var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + node = this.startNode(); + this.next(); + node.elements = this.parseExprList(types.bracketR, true, refShorthandDefaultPos, node); + + if (!this.state.maybeInArrowParameters) { + this.toReferencedList(node.elements); + } + + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return this.finishNode(node, "ArrayExpression"); + } + + case types.braceL: + { + var _oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = false; + var ret = this.parseObj(false, refShorthandDefaultPos); + this.state.inFSharpPipelineDirectBody = _oldInFSharpPipelineDirectBody; + return ret; + } + + case types._function: + return this.parseFunctionExpression(); + + case types.at: + this.parseDecorators(); + + case types._class: + node = this.startNode(); + this.takeDecorators(node); + return this.parseClass(node, false); + + case types._new: + return this.parseNew(); + + case types.backQuote: + return this.parseTemplate(false); + + case types.doubleColon: + { + node = this.startNode(); + this.next(); + node.object = null; + var callee = node.callee = this.parseNoCallExpr(); + + if (callee.type === "MemberExpression") { + return this.finishNode(node, "BindExpression"); + } else { + throw this.raise(callee.start, "Binding should be performed on object property."); + } + } + + case types.hash: + { + if (this.state.inPipeline) { + node = this.startNode(); + + if (this.getPluginOption("pipelineOperator", "proposal") !== "smart") { + this.raise(node.start, "Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option."); + } + + this.next(); + + if (!this.primaryTopicReferenceIsAllowedInCurrentTopicContext()) { + this.raise(node.start, "Topic reference was used in a lexical context without topic binding"); + } + + this.registerTopicReference(); + return this.finishNode(node, "PipelinePrimaryTopicReference"); + } + } + + default: + throw this.unexpected(); + } + } + }, { + key: "parseBooleanLiteral", + value: function parseBooleanLiteral() { + var node = this.startNode(); + node.value = this.match(types._true); + this.next(); + return this.finishNode(node, "BooleanLiteral"); + } + }, { + key: "parseMaybePrivateName", + value: function parseMaybePrivateName() { + var isPrivate = this.match(types.hash); + + if (isPrivate) { + this.expectOnePlugin(["classPrivateProperties", "classPrivateMethods"]); + var node = this.startNode(); + this.next(); + this.assertNoSpace("Unexpected space between # and identifier"); + node.id = this.parseIdentifier(true); + return this.finishNode(node, "PrivateName"); + } else { + return this.parseIdentifier(true); + } + } + }, { + key: "parseFunctionExpression", + value: function parseFunctionExpression() { + var node = this.startNode(); + var meta = this.startNode(); + this.next(); + meta = this.createIdentifier(meta, "function"); + + if (this.scope.inGenerator && this.eat(types.dot)) { + return this.parseMetaProperty(node, meta, "sent"); + } + + return this.parseFunction(node); + } + }, { + key: "parseMetaProperty", + value: function parseMetaProperty(node, meta, propertyName) { + node.meta = meta; + + if (meta.name === "function" && propertyName === "sent") { + if (this.isContextual(propertyName)) { + this.expectPlugin("functionSent"); + } else if (!this.hasPlugin("functionSent")) { + this.unexpected(); + } + } + + var containsEsc = this.state.containsEsc; + node.property = this.parseIdentifier(true); + + if (node.property.name !== propertyName || containsEsc) { + this.raise(node.property.start, "The only valid meta property for ".concat(meta.name, " is ").concat(meta.name, ".").concat(propertyName)); + } + + return this.finishNode(node, "MetaProperty"); + } + }, { + key: "parseImportMetaProperty", + value: function parseImportMetaProperty(node) { + var id = this.createIdentifier(this.startNodeAtNode(node), "import"); + this.expect(types.dot); + + if (this.isContextual("meta")) { + this.expectPlugin("importMeta"); + + if (!this.inModule) { + this.raise(id.start, "import.meta may appear only with 'sourceType: \"module\"'", { + code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" + }); + } + + this.sawUnambiguousESM = true; + } else if (!this.hasPlugin("importMeta")) { + this.raise(id.start, "Dynamic imports require a parameter: import('a.js')"); + } + + return this.parseMetaProperty(node, id, "meta"); + } + }, { + key: "parseLiteral", + value: function parseLiteral(value, type, startPos, startLoc) { + startPos = startPos || this.state.start; + startLoc = startLoc || this.state.startLoc; + var node = this.startNodeAt(startPos, startLoc); + this.addExtra(node, "rawValue", value); + this.addExtra(node, "raw", this.input.slice(startPos, this.state.end)); + node.value = value; + this.next(); + return this.finishNode(node, type); + } + }, { + key: "parseParenAndDistinguishExpression", + value: function parseParenAndDistinguishExpression(canBeArrow) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var val; + this.expect(types.parenL); + var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + var oldYieldPos = this.state.yieldPos; + var oldAwaitPos = this.state.awaitPos; + var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.maybeInArrowParameters = true; + this.state.yieldPos = -1; + this.state.awaitPos = -1; + this.state.inFSharpPipelineDirectBody = false; + var innerStartPos = this.state.start; + var innerStartLoc = this.state.startLoc; + var exprList = []; + var refShorthandDefaultPos = { + start: 0 + }; + var refNeedsArrowPos = { + start: 0 + }; + var first = true; + var spreadStart; + var optionalCommaStart; + + while (!this.match(types.parenR)) { + if (first) { + first = false; + } else { + this.expect(types.comma, refNeedsArrowPos.start || null); + + if (this.match(types.parenR)) { + optionalCommaStart = this.state.start; + break; + } + } + + if (this.match(types.ellipsis)) { + var spreadNodeStartPos = this.state.start; + var spreadNodeStartLoc = this.state.startLoc; + spreadStart = this.state.start; + exprList.push(this.parseParenItem(this.parseRestBinding(), spreadNodeStartPos, spreadNodeStartLoc)); + this.checkCommaAfterRest(41); + break; + } else { + exprList.push(this.parseMaybeAssign(false, refShorthandDefaultPos, this.parseParenItem, refNeedsArrowPos)); + } + } + + var innerEndPos = this.state.start; + var innerEndLoc = this.state.startLoc; + this.expect(types.parenR); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + var arrowNode = this.startNodeAt(startPos, startLoc); + + if (canBeArrow && this.shouldParseArrow() && (arrowNode = this.parseArrow(arrowNode))) { + this.checkYieldAwaitInDefaultParams(); + this.state.yieldPos = oldYieldPos; + this.state.awaitPos = oldAwaitPos; + + for (var _i = 0; _i < exprList.length; _i++) { + var param = exprList[_i]; + + if (param.extra && param.extra.parenthesized) { + this.unexpected(param.extra.parenStart); + } + } + + this.parseArrowExpression(arrowNode, exprList, false); + return arrowNode; + } + + if (oldYieldPos !== -1) this.state.yieldPos = oldYieldPos; + if (oldAwaitPos !== -1) this.state.awaitPos = oldAwaitPos; + + if (!exprList.length) { + this.unexpected(this.state.lastTokStart); + } + + if (optionalCommaStart) this.unexpected(optionalCommaStart); + if (spreadStart) this.unexpected(spreadStart); + + if (refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + + if (refNeedsArrowPos.start) this.unexpected(refNeedsArrowPos.start); + this.toReferencedListDeep(exprList, true); + + if (exprList.length > 1) { + val = this.startNodeAt(innerStartPos, innerStartLoc); + val.expressions = exprList; + this.finishNodeAt(val, "SequenceExpression", innerEndPos, innerEndLoc); + } else { + val = exprList[0]; + } + + if (!this.options.createParenthesizedExpressions) { + this.addExtra(val, "parenthesized", true); + this.addExtra(val, "parenStart", startPos); + return val; + } + + var parenExpression = this.startNodeAt(startPos, startLoc); + parenExpression.expression = val; + this.finishNode(parenExpression, "ParenthesizedExpression"); + return parenExpression; + } + }, { + key: "shouldParseArrow", + value: function shouldParseArrow() { + return !this.canInsertSemicolon(); + } + }, { + key: "parseArrow", + value: function parseArrow(node) { + if (this.eat(types.arrow)) { + return node; + } + } + }, { + key: "parseParenItem", + value: function parseParenItem(node, startPos, startLoc) { + return node; + } + }, { + key: "parseNew", + value: function parseNew() { + var node = this.startNode(); + var meta = this.startNode(); + this.next(); + meta = this.createIdentifier(meta, "new"); + + if (this.eat(types.dot)) { + var metaProp = this.parseMetaProperty(node, meta, "target"); + + if (!this.scope.inNonArrowFunction && !this.state.inClassProperty) { + var error = "new.target can only be used in functions"; + + if (this.hasPlugin("classProperties")) { + error += " or class properties"; + } + + this.raise(metaProp.start, error); + } + + return metaProp; + } + + node.callee = this.parseNoCallExpr(); + + if (node.callee.type === "Import") { + this.raise(node.callee.start, "Cannot use new with import(...)"); + } else if (node.callee.type === "OptionalMemberExpression" || node.callee.type === "OptionalCallExpression") { + this.raise(this.state.lastTokEnd, "constructors in/after an Optional Chain are not allowed"); + } else if (this.eat(types.questionDot)) { + this.raise(this.state.start, "constructors in/after an Optional Chain are not allowed"); + } + + this.parseNewArguments(node); + return this.finishNode(node, "NewExpression"); + } + }, { + key: "parseNewArguments", + value: function parseNewArguments(node) { + if (this.eat(types.parenL)) { + var args = this.parseExprList(types.parenR); + this.toReferencedList(args); + node.arguments = args; + } else { + node.arguments = []; + } + } + }, { + key: "parseTemplateElement", + value: function parseTemplateElement(isTagged) { + var elem = this.startNode(); + + if (this.state.value === null) { + if (!isTagged) { + this.raise(this.state.invalidTemplateEscapePosition || 0, "Invalid escape sequence in template"); + } else { + this.state.invalidTemplateEscapePosition = null; + } + } + + elem.value = { + raw: this.input.slice(this.state.start, this.state.end).replace(/\r\n?/g, "\n"), + cooked: this.state.value + }; + this.next(); + elem.tail = this.match(types.backQuote); + return this.finishNode(elem, "TemplateElement"); + } + }, { + key: "parseTemplate", + value: function parseTemplate(isTagged) { + var node = this.startNode(); + this.next(); + node.expressions = []; + var curElt = this.parseTemplateElement(isTagged); + node.quasis = [curElt]; + + while (!curElt.tail) { + this.expect(types.dollarBraceL); + node.expressions.push(this.parseExpression()); + this.expect(types.braceR); + node.quasis.push(curElt = this.parseTemplateElement(isTagged)); + } + + this.next(); + return this.finishNode(node, "TemplateLiteral"); + } + }, { + key: "parseObj", + value: function parseObj(isPattern, refShorthandDefaultPos) { + var propHash = Object.create(null); + var first = true; + var node = this.startNode(); + node.properties = []; + this.next(); + + while (!this.eat(types.braceR)) { + if (first) { + first = false; + } else { + this.expect(types.comma); + + if (this.match(types.braceR)) { + this.addExtra(node, "trailingComma", this.state.lastTokStart); + this.next(); + break; + } + } + + var prop = this.parseObjectMember(isPattern, refShorthandDefaultPos); + if (!isPattern) this.checkDuplicatedProto(prop, propHash); + + if (prop.shorthand) { + this.addExtra(prop, "shorthand", true); + } + + node.properties.push(prop); + } + + if (!this.match(types.eq) && propHash.start !== undefined) { + this.raise(propHash.start, "Redefinition of __proto__ property"); + } + + return this.finishNode(node, isPattern ? "ObjectPattern" : "ObjectExpression"); + } + }, { + key: "isAsyncProp", + value: function isAsyncProp(prop) { + return !prop.computed && prop.key.type === "Identifier" && prop.key.name === "async" && (this.match(types.name) || this.match(types.num) || this.match(types.string) || this.match(types.bracketL) || this.state.type.keyword || this.match(types.star)) && !this.hasPrecedingLineBreak(); + } + }, { + key: "parseObjectMember", + value: function parseObjectMember(isPattern, refShorthandDefaultPos) { + var decorators = []; + + if (this.match(types.at)) { + if (this.hasPlugin("decorators")) { + this.raise(this.state.start, "Stage 2 decorators disallow object literal property decorators"); + } + + while (this.match(types.at)) { + decorators.push(this.parseDecorator()); + } + } + + var prop = this.startNode(); + var isGenerator = false; + var isAsync = false; + var startPos; + var startLoc; + + if (this.match(types.ellipsis)) { + if (decorators.length) this.unexpected(); + + if (isPattern) { + this.next(); + prop.argument = this.parseIdentifier(); + this.checkCommaAfterRest(125); + return this.finishNode(prop, "RestElement"); + } + + return this.parseSpread(); + } + + if (decorators.length) { + prop.decorators = decorators; + decorators = []; + } + + prop.method = false; + + if (isPattern || refShorthandDefaultPos) { + startPos = this.state.start; + startLoc = this.state.startLoc; + } + + if (!isPattern) { + isGenerator = this.eat(types.star); + } + + var containsEsc = this.state.containsEsc; + this.parsePropertyName(prop); + + if (!isPattern && !containsEsc && !isGenerator && this.isAsyncProp(prop)) { + isAsync = true; + isGenerator = this.eat(types.star); + this.parsePropertyName(prop); + } else { + isAsync = false; + } + + this.parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc); + return prop; + } + }, { + key: "isGetterOrSetterMethod", + value: function isGetterOrSetterMethod(prop, isPattern) { + return !isPattern && !prop.computed && prop.key.type === "Identifier" && (prop.key.name === "get" || prop.key.name === "set") && (this.match(types.string) || this.match(types.num) || this.match(types.bracketL) || this.match(types.name) || !!this.state.type.keyword); + } + }, { + key: "getGetterSetterExpectedParamCount", + value: function getGetterSetterExpectedParamCount(method) { + return method.kind === "get" ? 0 : 1; + } + }, { + key: "checkGetterSetterParams", + value: function checkGetterSetterParams(method) { + var paramCount = this.getGetterSetterExpectedParamCount(method); + var start = method.start; + + if (method.params.length !== paramCount) { + if (method.kind === "get") { + this.raise(start, "getter must not have any formal parameters"); + } else { + this.raise(start, "setter must have exactly one formal parameter"); + } + } + + if (method.kind === "set" && method.params[method.params.length - 1].type === "RestElement") { + this.raise(start, "setter function argument must not be a rest parameter"); + } + } + }, { + key: "parseObjectMethod", + value: function parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) { + if (isAsync || isGenerator || this.match(types.parenL)) { + if (isPattern) this.unexpected(); + prop.kind = "method"; + prop.method = true; + return this.parseMethod(prop, isGenerator, isAsync, false, false, "ObjectMethod"); + } + + if (!containsEsc && this.isGetterOrSetterMethod(prop, isPattern)) { + if (isGenerator || isAsync) this.unexpected(); + prop.kind = prop.key.name; + this.parsePropertyName(prop); + this.parseMethod(prop, false, false, false, false, "ObjectMethod"); + this.checkGetterSetterParams(prop); + return prop; + } + } + }, { + key: "parseObjectProperty", + value: function parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos) { + prop.shorthand = false; + + if (this.eat(types.colon)) { + prop.value = isPattern ? this.parseMaybeDefault(this.state.start, this.state.startLoc) : this.parseMaybeAssign(false, refShorthandDefaultPos); + return this.finishNode(prop, "ObjectProperty"); + } + + if (!prop.computed && prop.key.type === "Identifier") { + this.checkReservedWord(prop.key.name, prop.key.start, true, true); + + if (isPattern) { + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone()); + } else if (this.match(types.eq) && refShorthandDefaultPos) { + if (!refShorthandDefaultPos.start) { + refShorthandDefaultPos.start = this.state.start; + } + + prop.value = this.parseMaybeDefault(startPos, startLoc, prop.key.__clone()); + } else { + prop.value = prop.key.__clone(); + } + + prop.shorthand = true; + return this.finishNode(prop, "ObjectProperty"); + } + } + }, { + key: "parseObjPropValue", + value: function parseObjPropValue(prop, startPos, startLoc, isGenerator, isAsync, isPattern, refShorthandDefaultPos, containsEsc) { + var node = this.parseObjectMethod(prop, isGenerator, isAsync, isPattern, containsEsc) || this.parseObjectProperty(prop, startPos, startLoc, isPattern, refShorthandDefaultPos); + if (!node) this.unexpected(); + return node; + } + }, { + key: "parsePropertyName", + value: function parsePropertyName(prop) { + if (this.eat(types.bracketL)) { + prop.computed = true; + prop.key = this.parseMaybeAssign(); + this.expect(types.bracketR); + } else { + var oldInPropertyName = this.state.inPropertyName; + this.state.inPropertyName = true; + prop.key = this.match(types.num) || this.match(types.string) ? this.parseExprAtom() : this.parseMaybePrivateName(); + + if (prop.key.type !== "PrivateName") { + prop.computed = false; + } + + this.state.inPropertyName = oldInPropertyName; + } + + return prop.key; + } + }, { + key: "initFunction", + value: function initFunction(node, isAsync) { + node.id = null; + node.generator = false; + node.async = !!isAsync; + } + }, { + key: "parseMethod", + value: function parseMethod(node, isGenerator, isAsync, isConstructor, allowDirectSuper, type) { + var inClassScope = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false; + var oldYieldPos = this.state.yieldPos; + var oldAwaitPos = this.state.awaitPos; + this.state.yieldPos = -1; + this.state.awaitPos = -1; + this.initFunction(node, isAsync); + node.generator = !!isGenerator; + var allowModifiers = isConstructor; + this.scope.enter(functionFlags(isAsync, node.generator) | SCOPE_SUPER | (inClassScope ? SCOPE_CLASS : 0) | (allowDirectSuper ? SCOPE_DIRECT_SUPER : 0)); + this.parseFunctionParams(node, allowModifiers); + this.checkYieldAwaitInDefaultParams(); + this.parseFunctionBodyAndFinish(node, type, true); + this.scope.exit(); + this.state.yieldPos = oldYieldPos; + this.state.awaitPos = oldAwaitPos; + return node; + } + }, { + key: "parseArrowExpression", + value: function parseArrowExpression(node, params, isAsync, trailingCommaPos) { + this.scope.enter(functionFlags(isAsync, false) | SCOPE_ARROW); + this.initFunction(node, isAsync); + var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + var oldYieldPos = this.state.yieldPos; + var oldAwaitPos = this.state.awaitPos; + this.state.maybeInArrowParameters = false; + this.state.yieldPos = -1; + this.state.awaitPos = -1; + if (params) this.setArrowFunctionParameters(node, params, trailingCommaPos); + this.parseFunctionBody(node, true); + this.scope.exit(); + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.yieldPos = oldYieldPos; + this.state.awaitPos = oldAwaitPos; + return this.finishNode(node, "ArrowFunctionExpression"); + } + }, { + key: "setArrowFunctionParameters", + value: function setArrowFunctionParameters(node, params, trailingCommaPos) { + node.params = this.toAssignableList(params, true, "arrow function parameters", trailingCommaPos); + } + }, { + key: "isStrictBody", + value: function isStrictBody(node) { + var isBlockStatement = node.body.type === "BlockStatement"; + + if (isBlockStatement && node.body.directives.length) { + for (var _i2 = 0, _node$body$directives = node.body.directives; _i2 < _node$body$directives.length; _i2++) { + var directive = _node$body$directives[_i2]; + + if (directive.value.value === "use strict") { + return true; + } + } + } + + return false; + } + }, { + key: "parseFunctionBodyAndFinish", + value: function parseFunctionBodyAndFinish(node, type) { + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + this.parseFunctionBody(node, false, isMethod); + this.finishNode(node, type); + } + }, { + key: "parseFunctionBody", + value: function parseFunctionBody(node, allowExpression) { + var isMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var isExpression = allowExpression && !this.match(types.braceL); + var oldStrict = this.state.strict; + var useStrict = false; + var oldInParameters = this.state.inParameters; + this.state.inParameters = false; + + if (isExpression) { + node.body = this.parseMaybeAssign(); + this.checkParams(node, false, allowExpression, false); + } else { + var nonSimple = !this.isSimpleParamList(node.params); + + if (!oldStrict || nonSimple) { + useStrict = this.strictDirective(this.state.end); + + if (useStrict && nonSimple) { + var errorPos = (node.kind === "method" || node.kind === "constructor") && !!node.key ? node.key.end : node.start; + this.raise(errorPos, "Illegal 'use strict' directive in function with non-simple parameter list"); + } + } + + var oldLabels = this.state.labels; + this.state.labels = []; + if (useStrict) this.state.strict = true; + this.checkParams(node, !oldStrict && !useStrict && !allowExpression && !isMethod && !nonSimple, allowExpression, !oldStrict && useStrict); + node.body = this.parseBlock(true, false); + this.state.labels = oldLabels; + } + + this.state.inParameters = oldInParameters; + + if (this.state.strict && node.id) { + this.checkLVal(node.id, BIND_OUTSIDE, undefined, "function name", undefined, !oldStrict && useStrict); + } + + this.state.strict = oldStrict; + } + }, { + key: "isSimpleParamList", + value: function isSimpleParamList(params) { + for (var i = 0, len = params.length; i < len; i++) { + if (params[i].type !== "Identifier") return false; + } + + return true; + } + }, { + key: "checkParams", + value: function checkParams(node, allowDuplicates, isArrowFunction) { + var strictModeChanged = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + var nameHash = Object.create(null); + + for (var i = 0; i < node.params.length; i++) { + this.checkLVal(node.params[i], BIND_VAR, allowDuplicates ? null : nameHash, "function parameter list", undefined, strictModeChanged); + } + } + }, { + key: "parseExprList", + value: function parseExprList(close, allowEmpty, refShorthandDefaultPos, nodeForExtra) { + var elts = []; + var first = true; + + while (!this.eat(close)) { + if (first) { + first = false; + } else { + this.expect(types.comma); + + if (this.match(close)) { + if (nodeForExtra) { + this.addExtra(nodeForExtra, "trailingComma", this.state.lastTokStart); + } + + this.next(); + break; + } + } + + elts.push(this.parseExprListItem(allowEmpty, refShorthandDefaultPos)); + } + + return elts; + } + }, { + key: "parseExprListItem", + value: function parseExprListItem(allowEmpty, refShorthandDefaultPos, refNeedsArrowPos, allowPlaceholder) { + var elt; + + if (allowEmpty && this.match(types.comma)) { + elt = null; + } else if (this.match(types.ellipsis)) { + var spreadNodeStartPos = this.state.start; + var spreadNodeStartLoc = this.state.startLoc; + elt = this.parseParenItem(this.parseSpread(refShorthandDefaultPos, refNeedsArrowPos), spreadNodeStartPos, spreadNodeStartLoc); + } else if (this.match(types.question)) { + this.expectPlugin("partialApplication"); + + if (!allowPlaceholder) { + this.raise(this.state.start, "Unexpected argument placeholder"); + } + + var node = this.startNode(); + this.next(); + elt = this.finishNode(node, "ArgumentPlaceholder"); + } else { + elt = this.parseMaybeAssign(false, refShorthandDefaultPos, this.parseParenItem, refNeedsArrowPos); + } + + return elt; + } + }, { + key: "parseIdentifier", + value: function parseIdentifier(liberal) { + var node = this.startNode(); + var name = this.parseIdentifierName(node.start, liberal); + return this.createIdentifier(node, name); + } + }, { + key: "createIdentifier", + value: function createIdentifier(node, name) { + node.name = name; + node.loc.identifierName = name; + return this.finishNode(node, "Identifier"); + } + }, { + key: "parseIdentifierName", + value: function parseIdentifierName(pos, liberal) { + var name; + + if (this.match(types.name)) { + name = this.state.value; + } else if (this.state.type.keyword) { + name = this.state.type.keyword; + + if ((name === "class" || name === "function") && (this.state.lastTokEnd !== this.state.lastTokStart + 1 || this.input.charCodeAt(this.state.lastTokStart) !== 46)) { + this.state.context.pop(); + } + } else { + throw this.unexpected(); + } + + if (liberal) { + this.state.type = types.name; + } else { + this.checkReservedWord(name, this.state.start, !!this.state.type.keyword, false); + } + + this.next(); + return name; + } + }, { + key: "checkReservedWord", + value: function checkReservedWord(word, startLoc, checkKeywords, isBinding) { + if (this.scope.inGenerator && word === "yield") { + this.raise(startLoc, "Can not use 'yield' as identifier inside a generator"); + return; + } + + if (word === "await") { + if (this.scope.inAsync) { + this.raise(startLoc, "Can not use 'await' as identifier inside an async function"); + return; + } + + if (this.state.awaitPos === -1 && (this.state.maybeInArrowParameters || this.isAwaitAllowed())) { + this.state.awaitPos = this.state.start; + } + } + + if (this.state.inClassProperty && word === "arguments") { + this.raise(startLoc, "'arguments' is not allowed in class field initializer"); + return; + } + + if (checkKeywords && isKeyword(word)) { + this.raise(startLoc, "Unexpected keyword '".concat(word, "'")); + return; + } + + var reservedTest = !this.state.strict ? isReservedWord : isBinding ? isStrictBindReservedWord : isStrictReservedWord; + + if (reservedTest(word, this.inModule)) { + if (!this.scope.inAsync && word === "await") { + this.raise(startLoc, "Can not use keyword 'await' outside an async function"); + } else { + this.raise(startLoc, "Unexpected reserved word '".concat(word, "'")); + } + } + } + }, { + key: "isAwaitAllowed", + value: function isAwaitAllowed() { + if (this.scope.inFunction) return this.scope.inAsync; + if (this.options.allowAwaitOutsideFunction) return true; + if (this.hasPlugin("topLevelAwait")) return this.inModule; + return false; + } + }, { + key: "parseAwait", + value: function parseAwait() { + var node = this.startNode(); + this.next(); + + if (this.state.inParameters) { + this.raise(node.start, "await is not allowed in async function parameters"); + } else if (this.state.awaitPos === -1) { + this.state.awaitPos = node.start; + } + + if (this.eat(types.star)) { + this.raise(node.start, "await* has been removed from the async functions proposal. Use Promise.all() instead."); + } + + if (!this.scope.inFunction && !this.options.allowAwaitOutsideFunction) { + if (this.hasPrecedingLineBreak() || this.match(types.plusMin) || this.match(types.parenL) || this.match(types.bracketL) || this.match(types.backQuote) || this.match(types.regexp) || this.match(types.slash) || this.hasPlugin("v8intrinsic") && this.match(types.modulo)) { + this.ambiguousScriptDifferentAst = true; + } else { + this.sawUnambiguousESM = true; + } + } + + if (!this.state.soloAwait) { + node.argument = this.parseMaybeUnary(); + } + + return this.finishNode(node, "AwaitExpression"); + } + }, { + key: "parseYield", + value: function parseYield(noIn) { + var node = this.startNode(); + + if (this.state.inParameters) { + this.raise(node.start, "yield is not allowed in generator parameters"); + } else if (this.state.yieldPos === -1) { + this.state.yieldPos = node.start; + } + + this.next(); + + if (this.match(types.semi) || !this.match(types.star) && !this.state.type.startsExpr || this.hasPrecedingLineBreak()) { + node.delegate = false; + node.argument = null; + } else { + node.delegate = this.eat(types.star); + node.argument = this.parseMaybeAssign(noIn); + } + + return this.finishNode(node, "YieldExpression"); + } + }, { + key: "checkPipelineAtInfixOperator", + value: function checkPipelineAtInfixOperator(left, leftStartPos) { + if (this.getPluginOption("pipelineOperator", "proposal") === "smart") { + if (left.type === "SequenceExpression") { + this.raise(leftStartPos, "Pipeline head should not be a comma-separated sequence expression"); + } + } + } + }, { + key: "parseSmartPipelineBody", + value: function parseSmartPipelineBody(childExpression, startPos, startLoc) { + var pipelineStyle = this.checkSmartPipelineBodyStyle(childExpression); + this.checkSmartPipelineBodyEarlyErrors(childExpression, pipelineStyle, startPos); + return this.parseSmartPipelineBodyInStyle(childExpression, pipelineStyle, startPos, startLoc); + } + }, { + key: "checkSmartPipelineBodyEarlyErrors", + value: function checkSmartPipelineBodyEarlyErrors(childExpression, pipelineStyle, startPos) { + if (this.match(types.arrow)) { + throw this.raise(this.state.start, "Unexpected arrow \"=>\" after pipeline body; arrow function in pipeline body must be parenthesized"); + } else if (pipelineStyle === "PipelineTopicExpression" && childExpression.type === "SequenceExpression") { + this.raise(startPos, "Pipeline body may not be a comma-separated sequence expression"); + } + } + }, { + key: "parseSmartPipelineBodyInStyle", + value: function parseSmartPipelineBodyInStyle(childExpression, pipelineStyle, startPos, startLoc) { + var bodyNode = this.startNodeAt(startPos, startLoc); + + switch (pipelineStyle) { + case "PipelineBareFunction": + bodyNode.callee = childExpression; + break; + + case "PipelineBareConstructor": + bodyNode.callee = childExpression.callee; + break; + + case "PipelineBareAwaitedFunction": + bodyNode.callee = childExpression.argument; + break; + + case "PipelineTopicExpression": + if (!this.topicReferenceWasUsedInCurrentTopicContext()) { + this.raise(startPos, "Pipeline is in topic style but does not use topic reference"); + } + + bodyNode.expression = childExpression; + break; + + default: + throw new Error("Internal @babel/parser error: Unknown pipeline style (".concat(pipelineStyle, ")")); + } + + return this.finishNode(bodyNode, pipelineStyle); + } + }, { + key: "checkSmartPipelineBodyStyle", + value: function checkSmartPipelineBodyStyle(expression) { + switch (expression.type) { + default: + return this.isSimpleReference(expression) ? "PipelineBareFunction" : "PipelineTopicExpression"; + } + } + }, { + key: "isSimpleReference", + value: function isSimpleReference(expression) { + switch (expression.type) { + case "MemberExpression": + return !expression.computed && this.isSimpleReference(expression.object); + + case "Identifier": + return true; + + default: + return false; + } + } + }, { + key: "withTopicPermittingContext", + value: function withTopicPermittingContext(callback) { + var outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 1, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + }, { + key: "withTopicForbiddingContext", + value: function withTopicForbiddingContext(callback) { + var outerContextTopicState = this.state.topicContext; + this.state.topicContext = { + maxNumOfResolvableTopics: 0, + maxTopicIndex: null + }; + + try { + return callback(); + } finally { + this.state.topicContext = outerContextTopicState; + } + } + }, { + key: "withSoloAwaitPermittingContext", + value: function withSoloAwaitPermittingContext(callback) { + var outerContextSoloAwaitState = this.state.soloAwait; + this.state.soloAwait = true; + + try { + return callback(); + } finally { + this.state.soloAwait = outerContextSoloAwaitState; + } + } + }, { + key: "registerTopicReference", + value: function registerTopicReference() { + this.state.topicContext.maxTopicIndex = 0; + } + }, { + key: "primaryTopicReferenceIsAllowedInCurrentTopicContext", + value: function primaryTopicReferenceIsAllowedInCurrentTopicContext() { + return this.state.topicContext.maxNumOfResolvableTopics >= 1; + } + }, { + key: "topicReferenceWasUsedInCurrentTopicContext", + value: function topicReferenceWasUsedInCurrentTopicContext() { + return this.state.topicContext.maxTopicIndex != null && this.state.topicContext.maxTopicIndex >= 0; + } + }, { + key: "parseFSharpPipelineBody", + value: function parseFSharpPipelineBody(prec, noIn) { + var startPos = this.state.start; + var startLoc = this.state.startLoc; + this.state.potentialArrowAt = this.state.start; + var oldInFSharpPipelineDirectBody = this.state.inFSharpPipelineDirectBody; + this.state.inFSharpPipelineDirectBody = true; + var ret = this.parseExprOp(this.parseMaybeUnary(), startPos, startLoc, prec, noIn); + this.state.inFSharpPipelineDirectBody = oldInFSharpPipelineDirectBody; + return ret; + } + }]); + + return ExpressionParser; +}(LValParser); + +var loopLabel = { + kind: "loop" +}, + switchLabel = { + kind: "switch" +}; +var FUNC_NO_FLAGS = 0, + FUNC_STATEMENT = 1, + FUNC_HANGING_STATEMENT = 2, + FUNC_NULLABLE_ID = 4; + +var StatementParser = +/*#__PURE__*/ +function (_ExpressionParser) { + _inherits(StatementParser, _ExpressionParser); + + function StatementParser() { + _classCallCheck(this, StatementParser); + + return _possibleConstructorReturn(this, _getPrototypeOf(StatementParser).apply(this, arguments)); + } + + _createClass(StatementParser, [{ + key: "parseTopLevel", + value: function parseTopLevel(file, program) { + program.sourceType = this.options.sourceType; + program.interpreter = this.parseInterpreterDirective(); + this.parseBlockBody(program, true, true, types.eof); + + if (this.inModule && !this.options.allowUndeclaredExports && this.scope.undefinedExports.size > 0) { + for (var _i = 0, _Array$from = Array.from(this.scope.undefinedExports); _i < _Array$from.length; _i++) { + var _Array$from$_i = _slicedToArray(_Array$from[_i], 1), + name = _Array$from$_i[0]; + + var pos = this.scope.undefinedExports.get(name); + this.raise(pos, "Export '".concat(name, "' is not defined")); + } + } + + file.program = this.finishNode(program, "Program"); + file.comments = this.state.comments; + if (this.options.tokens) file.tokens = this.state.tokens; + return this.finishNode(file, "File"); + } + }, { + key: "stmtToDirective", + value: function stmtToDirective(stmt) { + var expr = stmt.expression; + var directiveLiteral = this.startNodeAt(expr.start, expr.loc.start); + var directive = this.startNodeAt(stmt.start, stmt.loc.start); + var raw = this.input.slice(expr.start, expr.end); + var val = directiveLiteral.value = raw.slice(1, -1); + this.addExtra(directiveLiteral, "raw", raw); + this.addExtra(directiveLiteral, "rawValue", val); + directive.value = this.finishNodeAt(directiveLiteral, "DirectiveLiteral", expr.end, expr.loc.end); + return this.finishNodeAt(directive, "Directive", stmt.end, stmt.loc.end); + } + }, { + key: "parseInterpreterDirective", + value: function parseInterpreterDirective() { + if (!this.match(types.interpreterDirective)) { + return null; + } + + var node = this.startNode(); + node.value = this.state.value; + this.next(); + return this.finishNode(node, "InterpreterDirective"); + } + }, { + key: "isLet", + value: function isLet(context) { + if (!this.isContextual("let")) { + return false; + } + + var next = this.nextTokenStart(); + var nextCh = this.input.charCodeAt(next); + if (nextCh === 91) return true; + if (context) return false; + if (nextCh === 123) return true; + + if (isIdentifierStart(nextCh)) { + var pos = next + 1; + + while (isIdentifierChar(this.input.charCodeAt(pos))) { + ++pos; + } + + var ident = this.input.slice(next, pos); + if (!keywordRelationalOperator.test(ident)) return true; + } + + return false; + } + }, { + key: "parseStatement", + value: function parseStatement(context, topLevel) { + if (this.match(types.at)) { + this.parseDecorators(true); + } + + return this.parseStatementContent(context, topLevel); + } + }, { + key: "parseStatementContent", + value: function parseStatementContent(context, topLevel) { + var starttype = this.state.type; + var node = this.startNode(); + var kind; + + if (this.isLet(context)) { + starttype = types._var; + kind = "let"; + } + + switch (starttype) { + case types._break: + case types._continue: + return this.parseBreakContinueStatement(node, starttype.keyword); + + case types._debugger: + return this.parseDebuggerStatement(node); + + case types._do: + return this.parseDoStatement(node); + + case types._for: + return this.parseForStatement(node); + + case types._function: + if (this.lookaheadCharCode() === 46) break; + + if (context) { + if (this.state.strict) { + this.raise(this.state.start, "In strict mode code, functions can only be declared at top level or inside a block"); + } else if (context !== "if" && context !== "label") { + this.raise(this.state.start, "In non-strict mode code, functions can only be declared at top level, " + "inside a block, or as the body of an if statement"); + } + } + + return this.parseFunctionStatement(node, false, !context); + + case types._class: + if (context) this.unexpected(); + return this.parseClass(node, true); + + case types._if: + return this.parseIfStatement(node); + + case types._return: + return this.parseReturnStatement(node); + + case types._switch: + return this.parseSwitchStatement(node); + + case types._throw: + return this.parseThrowStatement(node); + + case types._try: + return this.parseTryStatement(node); + + case types._const: + case types._var: + kind = kind || this.state.value; + + if (context && kind !== "var") { + this.raise(this.state.start, "Lexical declaration cannot appear in a single-statement context"); + } + + return this.parseVarStatement(node, kind); + + case types._while: + return this.parseWhileStatement(node); + + case types._with: + return this.parseWithStatement(node); + + case types.braceL: + return this.parseBlock(); + + case types.semi: + return this.parseEmptyStatement(node); + + case types._export: + case types._import: + { + var nextTokenCharCode = this.lookaheadCharCode(); + + if (nextTokenCharCode === 40 || nextTokenCharCode === 46) { + break; + } + + if (!this.options.allowImportExportEverywhere && !topLevel) { + this.raise(this.state.start, "'import' and 'export' may only appear at the top level"); + } + + this.next(); + var result; + + if (starttype === types._import) { + result = this.parseImport(node); + + if (result.type === "ImportDeclaration" && (!result.importKind || result.importKind === "value")) { + this.sawUnambiguousESM = true; + } + } else { + result = this.parseExport(node); + + if (result.type === "ExportNamedDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportAllDeclaration" && (!result.exportKind || result.exportKind === "value") || result.type === "ExportDefaultDeclaration") { + this.sawUnambiguousESM = true; + } + } + + this.assertModuleNodeAllowed(node); + return result; + } + + default: + { + if (this.isAsyncFunction()) { + if (context) { + this.raise(this.state.start, "Async functions can only be declared at the top level or inside a block"); + } + + this.next(); + return this.parseFunctionStatement(node, true, !context); + } + } + } + + var maybeName = this.state.value; + var expr = this.parseExpression(); + + if (starttype === types.name && expr.type === "Identifier" && this.eat(types.colon)) { + return this.parseLabeledStatement(node, maybeName, expr, context); + } else { + return this.parseExpressionStatement(node, expr); + } + } + }, { + key: "assertModuleNodeAllowed", + value: function assertModuleNodeAllowed(node) { + if (!this.options.allowImportExportEverywhere && !this.inModule) { + this.raise(node.start, "'import' and 'export' may appear only with 'sourceType: \"module\"'", { + code: "BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED" + }); + } + } + }, { + key: "takeDecorators", + value: function takeDecorators(node) { + var decorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (decorators.length) { + node.decorators = decorators; + this.resetStartLocationFromNode(node, decorators[0]); + this.state.decoratorStack[this.state.decoratorStack.length - 1] = []; + } + } + }, { + key: "canHaveLeadingDecorator", + value: function canHaveLeadingDecorator() { + return this.match(types._class); + } + }, { + key: "parseDecorators", + value: function parseDecorators(allowExport) { + var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + while (this.match(types.at)) { + var decorator = this.parseDecorator(); + currentContextDecorators.push(decorator); + } + + if (this.match(types._export)) { + if (!allowExport) { + this.unexpected(); + } + + if (this.hasPlugin("decorators") && !this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(this.state.start, "Using the export keyword between a decorator and a class is not allowed. " + "Please use `export @dec class` instead."); + } + } else if (!this.canHaveLeadingDecorator()) { + throw this.raise(this.state.start, "Leading decorators must be attached to a class declaration"); + } + } + }, { + key: "parseDecorator", + value: function parseDecorator() { + this.expectOnePlugin(["decorators-legacy", "decorators"]); + var node = this.startNode(); + this.next(); + + if (this.hasPlugin("decorators")) { + this.state.decoratorStack.push([]); + var startPos = this.state.start; + var startLoc = this.state.startLoc; + var expr; + + if (this.eat(types.parenL)) { + expr = this.parseExpression(); + this.expect(types.parenR); + } else { + expr = this.parseIdentifier(false); + + while (this.eat(types.dot)) { + var _node15 = this.startNodeAt(startPos, startLoc); + + _node15.object = expr; + _node15.property = this.parseIdentifier(true); + _node15.computed = false; + expr = this.finishNode(_node15, "MemberExpression"); + } + } + + node.expression = this.parseMaybeDecoratorArguments(expr); + this.state.decoratorStack.pop(); + } else { + node.expression = this.parseExprSubscripts(); + } + + return this.finishNode(node, "Decorator"); + } + }, { + key: "parseMaybeDecoratorArguments", + value: function parseMaybeDecoratorArguments(expr) { + if (this.eat(types.parenL)) { + var node = this.startNodeAtNode(expr); + node.callee = expr; + node.arguments = this.parseCallExpressionArguments(types.parenR, false); + this.toReferencedList(node.arguments); + return this.finishNode(node, "CallExpression"); + } + + return expr; + } + }, { + key: "parseBreakContinueStatement", + value: function parseBreakContinueStatement(node, keyword) { + var isBreak = keyword === "break"; + this.next(); + + if (this.isLineTerminator()) { + node.label = null; + } else { + node.label = this.parseIdentifier(); + this.semicolon(); + } + + this.verifyBreakContinue(node, keyword); + return this.finishNode(node, isBreak ? "BreakStatement" : "ContinueStatement"); + } + }, { + key: "verifyBreakContinue", + value: function verifyBreakContinue(node, keyword) { + var isBreak = keyword === "break"; + var i; + + for (i = 0; i < this.state.labels.length; ++i) { + var lab = this.state.labels[i]; + + if (node.label == null || lab.name === node.label.name) { + if (lab.kind != null && (isBreak || lab.kind === "loop")) break; + if (node.label && isBreak) break; + } + } + + if (i === this.state.labels.length) { + this.raise(node.start, "Unsyntactic " + keyword); + } + } + }, { + key: "parseDebuggerStatement", + value: function parseDebuggerStatement(node) { + this.next(); + this.semicolon(); + return this.finishNode(node, "DebuggerStatement"); + } + }, { + key: "parseHeaderExpression", + value: function parseHeaderExpression() { + this.expect(types.parenL); + var val = this.parseExpression(); + this.expect(types.parenR); + return val; + } + }, { + key: "parseDoStatement", + value: function parseDoStatement(node) { + var _this37 = this; + + this.next(); + this.state.labels.push(loopLabel); + node.body = this.withTopicForbiddingContext(function () { + return _this37.parseStatement("do"); + }); + this.state.labels.pop(); + this.expect(types._while); + node.test = this.parseHeaderExpression(); + this.eat(types.semi); + return this.finishNode(node, "DoWhileStatement"); + } + }, { + key: "parseForStatement", + value: function parseForStatement(node) { + this.next(); + this.state.labels.push(loopLabel); + var awaitAt = -1; + + if (this.isAwaitAllowed() && this.eatContextual("await")) { + awaitAt = this.state.lastTokStart; + } + + this.scope.enter(SCOPE_OTHER); + this.expect(types.parenL); + + if (this.match(types.semi)) { + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, null); + } + + var isLet = this.isLet(); + + if (this.match(types._var) || this.match(types._const) || isLet) { + var _init = this.startNode(); + + var kind = isLet ? "let" : this.state.value; + this.next(); + this.parseVar(_init, true, kind); + this.finishNode(_init, "VariableDeclaration"); + + if ((this.match(types._in) || this.isContextual("of")) && _init.declarations.length === 1) { + return this.parseForIn(node, _init, awaitAt); + } + + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, _init); + } + + var refShorthandDefaultPos = { + start: 0 + }; + var init = this.parseExpression(true, refShorthandDefaultPos); + + if (this.match(types._in) || this.isContextual("of")) { + var description = this.isContextual("of") ? "for-of statement" : "for-in statement"; + this.toAssignable(init, undefined, description); + this.checkLVal(init, undefined, undefined, description); + return this.parseForIn(node, init, awaitAt); + } else if (refShorthandDefaultPos.start) { + this.unexpected(refShorthandDefaultPos.start); + } + + if (awaitAt > -1) { + this.unexpected(awaitAt); + } + + return this.parseFor(node, init); + } + }, { + key: "parseFunctionStatement", + value: function parseFunctionStatement(node, isAsync, declarationPosition) { + this.next(); + return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), isAsync); + } + }, { + key: "parseIfStatement", + value: function parseIfStatement(node) { + this.next(); + node.test = this.parseHeaderExpression(); + node.consequent = this.parseStatement("if"); + node.alternate = this.eat(types._else) ? this.parseStatement("if") : null; + return this.finishNode(node, "IfStatement"); + } + }, { + key: "parseReturnStatement", + value: function parseReturnStatement(node) { + if (!this.scope.inFunction && !this.options.allowReturnOutsideFunction) { + this.raise(this.state.start, "'return' outside of function"); + } + + this.next(); + + if (this.isLineTerminator()) { + node.argument = null; + } else { + node.argument = this.parseExpression(); + this.semicolon(); + } + + return this.finishNode(node, "ReturnStatement"); + } + }, { + key: "parseSwitchStatement", + value: function parseSwitchStatement(node) { + this.next(); + node.discriminant = this.parseHeaderExpression(); + var cases = node.cases = []; + this.expect(types.braceL); + this.state.labels.push(switchLabel); + this.scope.enter(SCOPE_OTHER); + var cur; + + for (var sawDefault; !this.match(types.braceR);) { + if (this.match(types._case) || this.match(types._default)) { + var isCase = this.match(types._case); + if (cur) this.finishNode(cur, "SwitchCase"); + cases.push(cur = this.startNode()); + cur.consequent = []; + this.next(); + + if (isCase) { + cur.test = this.parseExpression(); + } else { + if (sawDefault) { + this.raise(this.state.lastTokStart, "Multiple default clauses"); + } + + sawDefault = true; + cur.test = null; + } + + this.expect(types.colon); + } else { + if (cur) { + cur.consequent.push(this.parseStatement(null)); + } else { + this.unexpected(); + } + } + } + + this.scope.exit(); + if (cur) this.finishNode(cur, "SwitchCase"); + this.next(); + this.state.labels.pop(); + return this.finishNode(node, "SwitchStatement"); + } + }, { + key: "parseThrowStatement", + value: function parseThrowStatement(node) { + this.next(); + + if (lineBreak.test(this.input.slice(this.state.lastTokEnd, this.state.start))) { + this.raise(this.state.lastTokEnd, "Illegal newline after throw"); + } + + node.argument = this.parseExpression(); + this.semicolon(); + return this.finishNode(node, "ThrowStatement"); + } + }, { + key: "parseTryStatement", + value: function parseTryStatement(node) { + var _this38 = this; + + this.next(); + node.block = this.parseBlock(); + node.handler = null; + + if (this.match(types._catch)) { + var clause = this.startNode(); + this.next(); + + if (this.match(types.parenL)) { + this.expect(types.parenL); + clause.param = this.parseBindingAtom(); + var simple = clause.param.type === "Identifier"; + this.scope.enter(simple ? SCOPE_SIMPLE_CATCH : 0); + this.checkLVal(clause.param, BIND_LEXICAL, null, "catch clause"); + this.expect(types.parenR); + } else { + clause.param = null; + this.scope.enter(SCOPE_OTHER); + } + + clause.body = this.withTopicForbiddingContext(function () { + return _this38.parseBlock(false, false); + }); + this.scope.exit(); + node.handler = this.finishNode(clause, "CatchClause"); + } + + node.finalizer = this.eat(types._finally) ? this.parseBlock() : null; + + if (!node.handler && !node.finalizer) { + this.raise(node.start, "Missing catch or finally clause"); + } + + return this.finishNode(node, "TryStatement"); + } + }, { + key: "parseVarStatement", + value: function parseVarStatement(node, kind) { + this.next(); + this.parseVar(node, false, kind); + this.semicolon(); + return this.finishNode(node, "VariableDeclaration"); + } + }, { + key: "parseWhileStatement", + value: function parseWhileStatement(node) { + var _this39 = this; + + this.next(); + node.test = this.parseHeaderExpression(); + this.state.labels.push(loopLabel); + node.body = this.withTopicForbiddingContext(function () { + return _this39.parseStatement("while"); + }); + this.state.labels.pop(); + return this.finishNode(node, "WhileStatement"); + } + }, { + key: "parseWithStatement", + value: function parseWithStatement(node) { + var _this40 = this; + + if (this.state.strict) { + this.raise(this.state.start, "'with' in strict mode"); + } + + this.next(); + node.object = this.parseHeaderExpression(); + node.body = this.withTopicForbiddingContext(function () { + return _this40.parseStatement("with"); + }); + return this.finishNode(node, "WithStatement"); + } + }, { + key: "parseEmptyStatement", + value: function parseEmptyStatement(node) { + this.next(); + return this.finishNode(node, "EmptyStatement"); + } + }, { + key: "parseLabeledStatement", + value: function parseLabeledStatement(node, maybeName, expr, context) { + for (var _i2 = 0, _this$state$labels = this.state.labels; _i2 < _this$state$labels.length; _i2++) { + var label = _this$state$labels[_i2]; + + if (label.name === maybeName) { + this.raise(expr.start, "Label '".concat(maybeName, "' is already declared")); + } + } + + var kind = this.state.type.isLoop ? "loop" : this.match(types._switch) ? "switch" : null; + + for (var i = this.state.labels.length - 1; i >= 0; i--) { + var _label = this.state.labels[i]; + + if (_label.statementStart === node.start) { + _label.statementStart = this.state.start; + _label.kind = kind; + } else { + break; + } + } + + this.state.labels.push({ + name: maybeName, + kind: kind, + statementStart: this.state.start + }); + node.body = this.parseStatement(context ? context.indexOf("label") === -1 ? context + "label" : context : "label"); + this.state.labels.pop(); + node.label = expr; + return this.finishNode(node, "LabeledStatement"); + } + }, { + key: "parseExpressionStatement", + value: function parseExpressionStatement(node, expr) { + node.expression = expr; + this.semicolon(); + return this.finishNode(node, "ExpressionStatement"); + } + }, { + key: "parseBlock", + value: function parseBlock() { + var allowDirectives = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var createNewLexicalScope = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + var node = this.startNode(); + this.expect(types.braceL); + + if (createNewLexicalScope) { + this.scope.enter(SCOPE_OTHER); + } + + this.parseBlockBody(node, allowDirectives, false, types.braceR); + + if (createNewLexicalScope) { + this.scope.exit(); + } + + return this.finishNode(node, "BlockStatement"); + } + }, { + key: "isValidDirective", + value: function isValidDirective(stmt) { + return stmt.type === "ExpressionStatement" && stmt.expression.type === "StringLiteral" && !stmt.expression.extra.parenthesized; + } + }, { + key: "parseBlockBody", + value: function parseBlockBody(node, allowDirectives, topLevel, end) { + var body = node.body = []; + var directives = node.directives = []; + this.parseBlockOrModuleBlockBody(body, allowDirectives ? directives : undefined, topLevel, end); + } + }, { + key: "parseBlockOrModuleBlockBody", + value: function parseBlockOrModuleBlockBody(body, directives, topLevel, end) { + var parsedNonDirective = false; + var oldStrict; + var octalPosition; + + while (!this.eat(end)) { + if (!parsedNonDirective && this.state.containsOctal && !octalPosition) { + octalPosition = this.state.octalPosition; + } + + var stmt = this.parseStatement(null, topLevel); + + if (directives && !parsedNonDirective && this.isValidDirective(stmt)) { + var directive = this.stmtToDirective(stmt); + directives.push(directive); + + if (oldStrict === undefined && directive.value.value === "use strict") { + oldStrict = this.state.strict; + this.setStrict(true); + + if (octalPosition) { + this.raise(octalPosition, "Octal literal in strict mode"); + } + } + + continue; + } + + parsedNonDirective = true; + body.push(stmt); + } + + if (oldStrict === false) { + this.setStrict(false); + } + } + }, { + key: "parseFor", + value: function parseFor(node, init) { + var _this41 = this; + + node.init = init; + this.expect(types.semi); + node.test = this.match(types.semi) ? null : this.parseExpression(); + this.expect(types.semi); + node.update = this.match(types.parenR) ? null : this.parseExpression(); + this.expect(types.parenR); + node.body = this.withTopicForbiddingContext(function () { + return _this41.parseStatement("for"); + }); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, "ForStatement"); + } + }, { + key: "parseForIn", + value: function parseForIn(node, init, awaitAt) { + var _this42 = this; + + var isForIn = this.match(types._in); + this.next(); + + if (isForIn) { + if (awaitAt > -1) this.unexpected(awaitAt); + } else { + node.await = awaitAt > -1; + } + + if (init.type === "VariableDeclaration" && init.declarations[0].init != null && (!isForIn || this.state.strict || init.kind !== "var" || init.declarations[0].id.type !== "Identifier")) { + this.raise(init.start, "".concat(isForIn ? "for-in" : "for-of", " loop variable declaration may not have an initializer")); + } else if (init.type === "AssignmentPattern") { + this.raise(init.start, "Invalid left-hand side in for-loop"); + } + + node.left = init; + node.right = isForIn ? this.parseExpression() : this.parseMaybeAssign(); + this.expect(types.parenR); + node.body = this.withTopicForbiddingContext(function () { + return _this42.parseStatement("for"); + }); + this.scope.exit(); + this.state.labels.pop(); + return this.finishNode(node, isForIn ? "ForInStatement" : "ForOfStatement"); + } + }, { + key: "parseVar", + value: function parseVar(node, isFor, kind) { + var declarations = node.declarations = []; + var isTypescript = this.hasPlugin("typescript"); + node.kind = kind; + + for (;;) { + var decl = this.startNode(); + this.parseVarId(decl, kind); + + if (this.eat(types.eq)) { + decl.init = this.parseMaybeAssign(isFor); + } else { + if (kind === "const" && !(this.match(types._in) || this.isContextual("of"))) { + if (!isTypescript) { + this.unexpected(); + } + } else if (decl.id.type !== "Identifier" && !(isFor && (this.match(types._in) || this.isContextual("of")))) { + this.raise(this.state.lastTokEnd, "Complex binding patterns require an initialization value"); + } + + decl.init = null; + } + + declarations.push(this.finishNode(decl, "VariableDeclarator")); + if (!this.eat(types.comma)) break; + } + + return node; + } + }, { + key: "parseVarId", + value: function parseVarId(decl, kind) { + decl.id = this.parseBindingAtom(); + this.checkLVal(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, undefined, "variable declaration", kind !== "var"); + } + }, { + key: "parseFunction", + value: function parseFunction(node) { + var _this43 = this; + + var statement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : FUNC_NO_FLAGS; + var isAsync = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + var isStatement = statement & FUNC_STATEMENT; + var isHangingStatement = statement & FUNC_HANGING_STATEMENT; + var requireId = !!isStatement && !(statement & FUNC_NULLABLE_ID); + this.initFunction(node, isAsync); + + if (this.match(types.star) && isHangingStatement) { + this.raise(this.state.start, "Generators can only be declared at the top level or inside a block"); + } + + node.generator = this.eat(types.star); + + if (isStatement) { + node.id = this.parseFunctionId(requireId); + } + + var oldMaybeInArrowParameters = this.state.maybeInArrowParameters; + var oldInClassProperty = this.state.inClassProperty; + var oldYieldPos = this.state.yieldPos; + var oldAwaitPos = this.state.awaitPos; + this.state.maybeInArrowParameters = false; + this.state.inClassProperty = false; + this.state.yieldPos = -1; + this.state.awaitPos = -1; + this.scope.enter(functionFlags(node.async, node.generator)); + + if (!isStatement) { + node.id = this.parseFunctionId(); + } + + this.parseFunctionParams(node); + this.withTopicForbiddingContext(function () { + _this43.parseFunctionBodyAndFinish(node, isStatement ? "FunctionDeclaration" : "FunctionExpression"); + }); + this.scope.exit(); + + if (isStatement && !isHangingStatement) { + this.registerFunctionStatementId(node); + } + + this.state.maybeInArrowParameters = oldMaybeInArrowParameters; + this.state.inClassProperty = oldInClassProperty; + this.state.yieldPos = oldYieldPos; + this.state.awaitPos = oldAwaitPos; + return node; + } + }, { + key: "parseFunctionId", + value: function parseFunctionId(requireId) { + return requireId || this.match(types.name) ? this.parseIdentifier() : null; + } + }, { + key: "parseFunctionParams", + value: function parseFunctionParams(node, allowModifiers) { + var oldInParameters = this.state.inParameters; + this.state.inParameters = true; + this.expect(types.parenL); + node.params = this.parseBindingList(types.parenR, 41, false, allowModifiers); + this.state.inParameters = oldInParameters; + this.checkYieldAwaitInDefaultParams(); + } + }, { + key: "registerFunctionStatementId", + value: function registerFunctionStatementId(node) { + if (!node.id) return; + this.scope.declareName(node.id.name, this.state.strict || node.generator || node.async ? this.scope.treatFunctionsAsVar ? BIND_VAR : BIND_LEXICAL : BIND_FUNCTION, node.id.start); + } + }, { + key: "parseClass", + value: function parseClass(node, isStatement, optionalId) { + this.next(); + this.takeDecorators(node); + var oldStrict = this.state.strict; + this.state.strict = true; + this.parseClassId(node, isStatement, optionalId); + this.parseClassSuper(node); + node.body = this.parseClassBody(!!node.superClass); + this.state.strict = oldStrict; + return this.finishNode(node, isStatement ? "ClassDeclaration" : "ClassExpression"); + } + }, { + key: "isClassProperty", + value: function isClassProperty() { + return this.match(types.eq) || this.match(types.semi) || this.match(types.braceR); + } + }, { + key: "isClassMethod", + value: function isClassMethod() { + return this.match(types.parenL); + } + }, { + key: "isNonstaticConstructor", + value: function isNonstaticConstructor(method) { + return !method.computed && !method.static && (method.key.name === "constructor" || method.key.value === "constructor"); + } + }, { + key: "parseClassBody", + value: function parseClassBody(constructorAllowsSuper) { + var _this44 = this; + + this.state.classLevel++; + var state = { + hadConstructor: false + }; + var decorators = []; + var classBody = this.startNode(); + classBody.body = []; + this.expect(types.braceL); + this.withTopicForbiddingContext(function () { + while (!_this44.eat(types.braceR)) { + if (_this44.eat(types.semi)) { + if (decorators.length > 0) { + throw _this44.raise(_this44.state.lastTokEnd, "Decorators must not be followed by a semicolon"); + } + + continue; + } + + if (_this44.match(types.at)) { + decorators.push(_this44.parseDecorator()); + continue; + } + + var member = _this44.startNode(); + + if (decorators.length) { + member.decorators = decorators; + + _this44.resetStartLocationFromNode(member, decorators[0]); + + decorators = []; + } + + _this44.parseClassMember(classBody, member, state, constructorAllowsSuper); + + if (member.kind === "constructor" && member.decorators && member.decorators.length > 0) { + _this44.raise(member.start, "Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?"); + } + } + }); + + if (decorators.length) { + throw this.raise(this.state.start, "You have trailing decorators with no method"); + } + + this.state.classLevel--; + return this.finishNode(classBody, "ClassBody"); + } + }, { + key: "parseClassMember", + value: function parseClassMember(classBody, member, state, constructorAllowsSuper) { + var isStatic = false; + var containsEsc = this.state.containsEsc; + + if (this.match(types.name) && this.state.value === "static") { + var key = this.parseIdentifier(true); + + if (this.isClassMethod()) { + var method = member; + method.kind = "method"; + method.computed = false; + method.key = key; + method.static = false; + this.pushClassMethod(classBody, method, false, false, false, false); + return; + } else if (this.isClassProperty()) { + var prop = member; + prop.computed = false; + prop.key = key; + prop.static = false; + classBody.body.push(this.parseClassProperty(prop)); + return; + } else if (containsEsc) { + throw this.unexpected(); + } + + isStatic = true; + } + + this.parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper); + } + }, { + key: "parseClassMemberWithIsStatic", + value: function parseClassMemberWithIsStatic(classBody, member, state, isStatic, constructorAllowsSuper) { + var publicMethod = member; + var privateMethod = member; + var publicProp = member; + var privateProp = member; + var method = publicMethod; + var publicMember = publicMethod; + member.static = isStatic; + + if (this.eat(types.star)) { + method.kind = "method"; + this.parseClassPropertyName(method); + + if (method.key.type === "PrivateName") { + this.pushClassPrivateMethod(classBody, privateMethod, true, false); + return; + } + + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, "Constructor can't be a generator"); + } + + this.pushClassMethod(classBody, publicMethod, true, false, false, false); + return; + } + + var containsEsc = this.state.containsEsc; + var key = this.parseClassPropertyName(member); + var isPrivate = key.type === "PrivateName"; + var isSimple = key.type === "Identifier"; + var maybeQuestionTokenStart = this.state.start; + this.parsePostMemberNameModifiers(publicMember); + + if (this.isClassMethod()) { + method.kind = "method"; + + if (isPrivate) { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + return; + } + + var isConstructor = this.isNonstaticConstructor(publicMethod); + var allowsDirectSuper = false; + + if (isConstructor) { + publicMethod.kind = "constructor"; + + if (state.hadConstructor && !this.hasPlugin("typescript")) { + this.raise(key.start, "Duplicate constructor in the same class"); + } + + state.hadConstructor = true; + allowsDirectSuper = constructorAllowsSuper; + } + + this.pushClassMethod(classBody, publicMethod, false, false, isConstructor, allowsDirectSuper); + } else if (this.isClassProperty()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else if (isSimple && key.name === "async" && !containsEsc && !this.isLineTerminator()) { + var isGenerator = this.eat(types.star); + + if (publicMember.optional) { + this.unexpected(maybeQuestionTokenStart); + } + + method.kind = "method"; + this.parseClassPropertyName(method); + + if (method.key.type === "PrivateName") { + this.pushClassPrivateMethod(classBody, privateMethod, isGenerator, true); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, "Constructor can't be an async function"); + } + + this.pushClassMethod(classBody, publicMethod, isGenerator, true, false, false); + } + } else if (isSimple && (key.name === "get" || key.name === "set") && !containsEsc && !(this.match(types.star) && this.isLineTerminator())) { + method.kind = key.name; + this.parseClassPropertyName(publicMethod); + + if (method.key.type === "PrivateName") { + this.pushClassPrivateMethod(classBody, privateMethod, false, false); + } else { + if (this.isNonstaticConstructor(publicMethod)) { + this.raise(publicMethod.key.start, "Constructor can't have get/set modifier"); + } + + this.pushClassMethod(classBody, publicMethod, false, false, false, false); + } + + this.checkGetterSetterParams(publicMethod); + } else if (this.isLineTerminator()) { + if (isPrivate) { + this.pushClassPrivateProperty(classBody, privateProp); + } else { + this.pushClassProperty(classBody, publicProp); + } + } else { + this.unexpected(); + } + } + }, { + key: "parseClassPropertyName", + value: function parseClassPropertyName(member) { + var key = this.parsePropertyName(member); + + if (!member.computed && member.static && (key.name === "prototype" || key.value === "prototype")) { + this.raise(key.start, "Classes may not have static property named prototype"); + } + + if (key.type === "PrivateName" && key.id.name === "constructor") { + this.raise(key.start, "Classes may not have a private field named '#constructor'"); + } + + return key; + } + }, { + key: "pushClassProperty", + value: function pushClassProperty(classBody, prop) { + if (!prop.computed && (prop.key.name === "constructor" || prop.key.value === "constructor")) { + this.raise(prop.key.start, "Classes may not have a field named 'constructor'"); + } + + classBody.body.push(this.parseClassProperty(prop)); + } + }, { + key: "pushClassPrivateProperty", + value: function pushClassPrivateProperty(classBody, prop) { + this.expectPlugin("classPrivateProperties", prop.key.start); + classBody.body.push(this.parseClassPrivateProperty(prop)); + } + }, { + key: "pushClassMethod", + value: function pushClassMethod(classBody, method, isGenerator, isAsync, isConstructor, allowsDirectSuper) { + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, isConstructor, allowsDirectSuper, "ClassMethod", true)); + } + }, { + key: "pushClassPrivateMethod", + value: function pushClassPrivateMethod(classBody, method, isGenerator, isAsync) { + this.expectPlugin("classPrivateMethods", method.key.start); + classBody.body.push(this.parseMethod(method, isGenerator, isAsync, false, false, "ClassPrivateMethod", true)); + } + }, { + key: "parsePostMemberNameModifiers", + value: function parsePostMemberNameModifiers(methodOrProp) {} + }, { + key: "parseAccessModifier", + value: function parseAccessModifier() { + return undefined; + } + }, { + key: "parseClassPrivateProperty", + value: function parseClassPrivateProperty(node) { + this.state.inClassProperty = true; + this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); + node.value = this.eat(types.eq) ? this.parseMaybeAssign() : null; + this.semicolon(); + this.state.inClassProperty = false; + this.scope.exit(); + return this.finishNode(node, "ClassPrivateProperty"); + } + }, { + key: "parseClassProperty", + value: function parseClassProperty(node) { + if (!node.typeAnnotation) { + this.expectPlugin("classProperties"); + } + + this.state.inClassProperty = true; + this.scope.enter(SCOPE_CLASS | SCOPE_SUPER); + + if (this.match(types.eq)) { + this.expectPlugin("classProperties"); + this.next(); + node.value = this.parseMaybeAssign(); + } else { + node.value = null; + } + + this.semicolon(); + this.state.inClassProperty = false; + this.scope.exit(); + return this.finishNode(node, "ClassProperty"); + } + }, { + key: "parseClassId", + value: function parseClassId(node, isStatement, optionalId) { + var bindingType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : BIND_CLASS; + + if (this.match(types.name)) { + node.id = this.parseIdentifier(); + + if (isStatement) { + this.checkLVal(node.id, bindingType, undefined, "class name"); + } + } else { + if (optionalId || !isStatement) { + node.id = null; + } else { + this.unexpected(null, "A class name is required"); + } + } + } + }, { + key: "parseClassSuper", + value: function parseClassSuper(node) { + node.superClass = this.eat(types._extends) ? this.parseExprSubscripts() : null; + } + }, { + key: "parseExport", + value: function parseExport(node) { + var hasDefault = this.maybeParseExportDefaultSpecifier(node); + var parseAfterDefault = !hasDefault || this.eat(types.comma); + var hasStar = parseAfterDefault && this.eatExportStar(node); + var hasNamespace = hasStar && this.maybeParseExportNamespaceSpecifier(node); + var parseAfterNamespace = parseAfterDefault && (!hasNamespace || this.eat(types.comma)); + var isFromRequired = hasDefault || hasStar; + + if (hasStar && !hasNamespace) { + if (hasDefault) this.unexpected(); + this.parseExportFrom(node, true); + return this.finishNode(node, "ExportAllDeclaration"); + } + + var hasSpecifiers = this.maybeParseExportNamedSpecifiers(node); + + if (hasDefault && parseAfterDefault && !hasStar && !hasSpecifiers || hasNamespace && parseAfterNamespace && !hasSpecifiers) { + throw this.unexpected(null, types.braceL); + } + + var hasDeclaration; + + if (isFromRequired || hasSpecifiers) { + hasDeclaration = false; + this.parseExportFrom(node, isFromRequired); + } else { + hasDeclaration = this.maybeParseExportDeclaration(node); + } + + if (isFromRequired || hasSpecifiers || hasDeclaration) { + this.checkExport(node, true, false, !!node.source); + return this.finishNode(node, "ExportNamedDeclaration"); + } + + if (this.eat(types._default)) { + node.declaration = this.parseExportDefaultExpression(); + this.checkExport(node, true, true); + return this.finishNode(node, "ExportDefaultDeclaration"); + } + + throw this.unexpected(null, types.braceL); + } + }, { + key: "eatExportStar", + value: function eatExportStar(node) { + return this.eat(types.star); + } + }, { + key: "maybeParseExportDefaultSpecifier", + value: function maybeParseExportDefaultSpecifier(node) { + if (this.isExportDefaultSpecifier()) { + this.expectPlugin("exportDefaultFrom"); + var specifier = this.startNode(); + specifier.exported = this.parseIdentifier(true); + node.specifiers = [this.finishNode(specifier, "ExportDefaultSpecifier")]; + return true; + } + + return false; + } + }, { + key: "maybeParseExportNamespaceSpecifier", + value: function maybeParseExportNamespaceSpecifier(node) { + if (this.isContextual("as")) { + if (!node.specifiers) node.specifiers = []; + var specifier = this.startNodeAt(this.state.lastTokStart, this.state.lastTokStartLoc); + this.next(); + specifier.exported = this.parseIdentifier(true); + node.specifiers.push(this.finishNode(specifier, "ExportNamespaceSpecifier")); + return true; + } + + return false; + } + }, { + key: "maybeParseExportNamedSpecifiers", + value: function maybeParseExportNamedSpecifiers(node) { + if (this.match(types.braceL)) { + var _node$specifiers2; + + if (!node.specifiers) node.specifiers = []; + + (_node$specifiers2 = node.specifiers).push.apply(_node$specifiers2, _toConsumableArray(this.parseExportSpecifiers())); + + node.source = null; + node.declaration = null; + return true; + } + + return false; + } + }, { + key: "maybeParseExportDeclaration", + value: function maybeParseExportDeclaration(node) { + if (this.shouldParseExportDeclaration()) { + if (this.isContextual("async")) { + var next = this.nextTokenStart(); + + if (!this.isUnparsedContextual(next, "function")) { + this.unexpected(next, "Unexpected token, expected \"function\""); + } + } + + node.specifiers = []; + node.source = null; + node.declaration = this.parseExportDeclaration(node); + return true; + } + + return false; + } + }, { + key: "isAsyncFunction", + value: function isAsyncFunction() { + if (!this.isContextual("async")) return false; + var next = this.nextTokenStart(); + return !lineBreak.test(this.input.slice(this.state.pos, next)) && this.isUnparsedContextual(next, "function"); + } + }, { + key: "parseExportDefaultExpression", + value: function parseExportDefaultExpression() { + var expr = this.startNode(); + var isAsync = this.isAsyncFunction(); + + if (this.match(types._function) || isAsync) { + this.next(); + + if (isAsync) { + this.next(); + } + + return this.parseFunction(expr, FUNC_STATEMENT | FUNC_NULLABLE_ID, isAsync); + } else if (this.match(types._class)) { + return this.parseClass(expr, true, true); + } else if (this.match(types.at)) { + if (this.hasPlugin("decorators") && this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.raise(this.state.start, "Decorators must be placed *before* the 'export' keyword." + " You can set the 'decoratorsBeforeExport' option to false to use" + " the 'export @decorator class {}' syntax"); + } + + this.parseDecorators(false); + return this.parseClass(expr, true, true); + } else if (this.match(types._const) || this.match(types._var) || this.isLet()) { + throw this.raise(this.state.start, "Only expressions, functions or classes are allowed as the `default` export."); + } else { + var res = this.parseMaybeAssign(); + this.semicolon(); + return res; + } + } + }, { + key: "parseExportDeclaration", + value: function parseExportDeclaration(node) { + return this.parseStatement(null); + } + }, { + key: "isExportDefaultSpecifier", + value: function isExportDefaultSpecifier() { + if (this.match(types.name)) { + return this.state.value !== "async" && this.state.value !== "let"; + } + + if (!this.match(types._default)) { + return false; + } + + var next = this.nextTokenStart(); + return this.input.charCodeAt(next) === 44 || this.isUnparsedContextual(next, "from"); + } + }, { + key: "parseExportFrom", + value: function parseExportFrom(node, expect) { + if (this.eatContextual("from")) { + node.source = this.parseImportSource(); + this.checkExport(node); + } else { + if (expect) { + this.unexpected(); + } else { + node.source = null; + } + } + + this.semicolon(); + } + }, { + key: "shouldParseExportDeclaration", + value: function shouldParseExportDeclaration() { + if (this.match(types.at)) { + this.expectOnePlugin(["decorators", "decorators-legacy"]); + + if (this.hasPlugin("decorators")) { + if (this.getPluginOption("decorators", "decoratorsBeforeExport")) { + this.unexpected(this.state.start, "Decorators must be placed *before* the 'export' keyword." + " You can set the 'decoratorsBeforeExport' option to false to use" + " the 'export @decorator class {}' syntax"); + } else { + return true; + } + } + } + + return this.state.type.keyword === "var" || this.state.type.keyword === "const" || this.state.type.keyword === "function" || this.state.type.keyword === "class" || this.isLet() || this.isAsyncFunction(); + } + }, { + key: "checkExport", + value: function checkExport(node, checkNames, isDefault, isFrom) { + if (checkNames) { + if (isDefault) { + this.checkDuplicateExports(node, "default"); + } else if (node.specifiers && node.specifiers.length) { + for (var _i3 = 0, _node$specifiers = node.specifiers; _i3 < _node$specifiers.length; _i3++) { + var specifier = _node$specifiers[_i3]; + this.checkDuplicateExports(specifier, specifier.exported.name); + + if (!isFrom && specifier.local) { + this.checkReservedWord(specifier.local.name, specifier.local.start, true, false); + this.scope.checkLocalExport(specifier.local); + } + } + } else if (node.declaration) { + if (node.declaration.type === "FunctionDeclaration" || node.declaration.type === "ClassDeclaration") { + var id = node.declaration.id; + if (!id) throw new Error("Assertion failure"); + this.checkDuplicateExports(node, id.name); + } else if (node.declaration.type === "VariableDeclaration") { + for (var _i4 = 0, _node$declaration$dec = node.declaration.declarations; _i4 < _node$declaration$dec.length; _i4++) { + var declaration = _node$declaration$dec[_i4]; + this.checkDeclaration(declaration.id); + } + } + } + } + + var currentContextDecorators = this.state.decoratorStack[this.state.decoratorStack.length - 1]; + + if (currentContextDecorators.length) { + var isClass = node.declaration && (node.declaration.type === "ClassDeclaration" || node.declaration.type === "ClassExpression"); + + if (!node.declaration || !isClass) { + throw this.raise(node.start, "You can only use decorators on an export when exporting a class"); + } + + this.takeDecorators(node.declaration); + } + } + }, { + key: "checkDeclaration", + value: function checkDeclaration(node) { + if (node.type === "Identifier") { + this.checkDuplicateExports(node, node.name); + } else if (node.type === "ObjectPattern") { + for (var _i5 = 0, _node$properties = node.properties; _i5 < _node$properties.length; _i5++) { + var prop = _node$properties[_i5]; + this.checkDeclaration(prop); + } + } else if (node.type === "ArrayPattern") { + for (var _i6 = 0, _node$elements = node.elements; _i6 < _node$elements.length; _i6++) { + var elem = _node$elements[_i6]; + + if (elem) { + this.checkDeclaration(elem); + } + } + } else if (node.type === "ObjectProperty") { + this.checkDeclaration(node.value); + } else if (node.type === "RestElement") { + this.checkDeclaration(node.argument); + } else if (node.type === "AssignmentPattern") { + this.checkDeclaration(node.left); + } + } + }, { + key: "checkDuplicateExports", + value: function checkDuplicateExports(node, name) { + if (this.state.exportedIdentifiers.indexOf(name) > -1) { + this.raise(node.start, name === "default" ? "Only one default export allowed per module." : "`".concat(name, "` has already been exported. Exported identifiers must be unique.")); + } + + this.state.exportedIdentifiers.push(name); + } + }, { + key: "parseExportSpecifiers", + value: function parseExportSpecifiers() { + var nodes = []; + var first = true; + this.expect(types.braceL); + + while (!this.eat(types.braceR)) { + if (first) { + first = false; + } else { + this.expect(types.comma); + if (this.eat(types.braceR)) break; + } + + var node = this.startNode(); + node.local = this.parseIdentifier(true); + node.exported = this.eatContextual("as") ? this.parseIdentifier(true) : node.local.__clone(); + nodes.push(this.finishNode(node, "ExportSpecifier")); + } + + return nodes; + } + }, { + key: "parseImport", + value: function parseImport(node) { + node.specifiers = []; + + if (!this.match(types.string)) { + var hasDefault = this.maybeParseDefaultImportSpecifier(node); + var parseNext = !hasDefault || this.eat(types.comma); + var hasStar = parseNext && this.maybeParseStarImportSpecifier(node); + if (parseNext && !hasStar) this.parseNamedImportSpecifiers(node); + this.expectContextual("from"); + } + + node.source = this.parseImportSource(); + this.semicolon(); + return this.finishNode(node, "ImportDeclaration"); + } + }, { + key: "parseImportSource", + value: function parseImportSource() { + if (!this.match(types.string)) this.unexpected(); + return this.parseExprAtom(); + } + }, { + key: "shouldParseDefaultImport", + value: function shouldParseDefaultImport(node) { + return this.match(types.name); + } + }, { + key: "parseImportSpecifierLocal", + value: function parseImportSpecifierLocal(node, specifier, type, contextDescription) { + specifier.local = this.parseIdentifier(); + this.checkLVal(specifier.local, BIND_LEXICAL, undefined, contextDescription); + node.specifiers.push(this.finishNode(specifier, type)); + } + }, { + key: "maybeParseDefaultImportSpecifier", + value: function maybeParseDefaultImportSpecifier(node) { + if (this.shouldParseDefaultImport(node)) { + this.parseImportSpecifierLocal(node, this.startNode(), "ImportDefaultSpecifier", "default import specifier"); + return true; + } + + return false; + } + }, { + key: "maybeParseStarImportSpecifier", + value: function maybeParseStarImportSpecifier(node) { + if (this.match(types.star)) { + var specifier = this.startNode(); + this.next(); + this.expectContextual("as"); + this.parseImportSpecifierLocal(node, specifier, "ImportNamespaceSpecifier", "import namespace specifier"); + return true; + } + + return false; + } + }, { + key: "parseNamedImportSpecifiers", + value: function parseNamedImportSpecifiers(node) { + var first = true; + this.expect(types.braceL); + + while (!this.eat(types.braceR)) { + if (first) { + first = false; + } else { + if (this.eat(types.colon)) { + throw this.raise(this.state.start, "ES2015 named imports do not destructure. " + "Use another statement for destructuring after the import."); + } + + this.expect(types.comma); + if (this.eat(types.braceR)) break; + } + + this.parseImportSpecifier(node); + } + } + }, { + key: "parseImportSpecifier", + value: function parseImportSpecifier(node) { + var specifier = this.startNode(); + specifier.imported = this.parseIdentifier(true); + + if (this.eatContextual("as")) { + specifier.local = this.parseIdentifier(); + } else { + this.checkReservedWord(specifier.imported.name, specifier.start, true, true); + specifier.local = specifier.imported.__clone(); + } + + this.checkLVal(specifier.local, BIND_LEXICAL, undefined, "import specifier"); + node.specifiers.push(this.finishNode(specifier, "ImportSpecifier")); + } + }]); + + return StatementParser; +}(ExpressionParser); + +var Parser = +/*#__PURE__*/ +function (_StatementParser) { + _inherits(Parser, _StatementParser); + + function Parser(options, input) { + var _this45; + + _classCallCheck(this, Parser); + + options = getOptions(options); + _this45 = _possibleConstructorReturn(this, _getPrototypeOf(Parser).call(this, options, input)); + + var ScopeHandler = _this45.getScopeHandler(); + + _this45.options = options; + _this45.inModule = _this45.options.sourceType === "module"; + _this45.scope = new ScopeHandler(_this45.raise.bind(_assertThisInitialized(_this45)), _this45.inModule); + _this45.plugins = pluginsMap(_this45.options.plugins); + _this45.filename = options.sourceFilename; + return _this45; + } + + _createClass(Parser, [{ + key: "getScopeHandler", + value: function getScopeHandler() { + return ScopeHandler; + } + }, { + key: "parse", + value: function parse() { + this.scope.enter(SCOPE_PROGRAM); + var file = this.startNode(); + var program = this.startNode(); + this.nextToken(); + file.errors = null; + this.parseTopLevel(file, program); + file.errors = this.state.errors; + return file; + } + }]); + + return Parser; +}(StatementParser); + +function pluginsMap(plugins) { + var pluginMap = new Map(); + + for (var _i = 0; _i < plugins.length; _i++) { + var plugin = plugins[_i]; + + var _ref15 = Array.isArray(plugin) ? plugin : [plugin, {}], + _ref16 = _slicedToArray(_ref15, 2), + name = _ref16[0], + options = _ref16[1]; + + if (!pluginMap.has(name)) pluginMap.set(name, options || {}); + } + + return pluginMap; +} + +function parse(input, options) { + if (options && options.sourceType === "unambiguous") { + options = Object.assign({}, options); + + try { + options.sourceType = "module"; + var parser = getParser(options, input); + var ast = parser.parse(); + + if (parser.sawUnambiguousESM) { + return ast; + } + + if (parser.ambiguousScriptDifferentAst) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused) {} + } else { + ast.program.sourceType = "script"; + } + + return ast; + } catch (moduleError) { + try { + options.sourceType = "script"; + return getParser(options, input).parse(); + } catch (_unused2) {} + + throw moduleError; + } + } else { + return getParser(options, input).parse(); + } +} + +function parseExpression(input, options) { + var parser = getParser(options, input); + + if (parser.options.strictMode) { + parser.state.strict = true; + } + + return parser.getExpression(); +} + +function getParser(options, input) { + var cls = Parser; + + if (options && options.plugins) { + validatePlugins(options.plugins); + cls = getParserClass(options.plugins); + } + + return new cls(options, input); +} + +var parserClassCache = {}; + +function getParserClass(pluginsFromOptions) { + var pluginList = mixinPluginNames.filter(function (name) { + return hasPlugin(pluginsFromOptions, name); + }); + var key = pluginList.join("/"); + var cls = parserClassCache[key]; + + if (!cls) { + cls = Parser; + + for (var _i = 0; _i < pluginList.length; _i++) { + var plugin = pluginList[_i]; + cls = mixinPlugins[plugin](cls); + } + + parserClassCache[key] = cls; + } + + return cls; +} + +exports.parse = parse; +exports.parseExpression = parseExpression; +exports.tokTypes = types; + +},{}],90:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _core = require("@babel/core"); + +var buildForAwait = (0, _core.template)("\n async function wrapper() {\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY;\n try {\n for (\n var ITERATOR_KEY = GET_ITERATOR(OBJECT), STEP_KEY, STEP_VALUE;\n (\n STEP_KEY = await ITERATOR_KEY.next(),\n ITERATOR_COMPLETION = STEP_KEY.done,\n STEP_VALUE = await STEP_KEY.value,\n !ITERATOR_COMPLETION\n );\n ITERATOR_COMPLETION = true) {\n }\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n await ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n }\n"); + +function _default(path, _ref) { + var getAsyncIterator = _ref.getAsyncIterator; + var node = path.node, + scope = path.scope, + parent = path.parent; + var stepKey = scope.generateUidIdentifier("step"); + var stepValue = scope.generateUidIdentifier("value"); + var left = node.left; + var declar; + + if (_core.types.isIdentifier(left) || _core.types.isPattern(left) || _core.types.isMemberExpression(left)) { + declar = _core.types.expressionStatement(_core.types.assignmentExpression("=", left, stepValue)); + } else if (_core.types.isVariableDeclaration(left)) { + declar = _core.types.variableDeclaration(left.kind, [_core.types.variableDeclarator(left.declarations[0].id, stepValue)]); + } + + var template = buildForAwait({ + ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"), + ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"), + ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"), + ITERATOR_KEY: scope.generateUidIdentifier("iterator"), + GET_ITERATOR: getAsyncIterator, + OBJECT: node.right, + STEP_VALUE: stepValue, + STEP_KEY: stepKey + }); + template = template.body.body; + + var isLabeledParent = _core.types.isLabeledStatement(parent); + + var tryBody = template[3].block.body; + var loop = tryBody[0]; + + if (isLabeledParent) { + tryBody[0] = _core.types.labeledStatement(parent.label, loop); + } + + return { + replaceParent: isLabeledParent, + node: template, + declar: declar, + loop: loop + }; +} + +},{"@babel/core":19}],91:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperRemapAsyncToGenerator = _interopRequireDefault(require("@babel/helper-remap-async-to-generator")); + +var _pluginSyntaxAsyncGenerators = _interopRequireDefault(require("@babel/plugin-syntax-async-generators")); + +var _core = require("@babel/core"); + +var _forAwait = _interopRequireDefault(require("./for-await")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + var yieldStarVisitor = { + Function: function Function(path) { + path.skip(); + }, + YieldExpression: function YieldExpression(_ref, state) { + var node = _ref.node; + if (!node.delegate) return; + var callee = state.addHelper("asyncGeneratorDelegate"); + node.argument = _core.types.callExpression(callee, [_core.types.callExpression(state.addHelper("asyncIterator"), [node.argument]), state.addHelper("awaitAsyncGenerator")]); + } + }; + var forAwaitVisitor = { + Function: function Function(path) { + path.skip(); + }, + ForOfStatement: function ForOfStatement(path, _ref2) { + var file = _ref2.file; + var node = path.node; + if (!node.await) return; + var build = (0, _forAwait.default)(path, { + getAsyncIterator: file.addHelper("asyncIterator") + }); + var declar = build.declar, + loop = build.loop; + var block = loop.body; + path.ensureBlock(); + + if (declar) { + block.body.push(declar); + } + + block.body = block.body.concat(node.body.body); + + _core.types.inherits(loop, node); + + _core.types.inherits(loop.body, node.body); + + if (build.replaceParent) { + path.parentPath.replaceWithMultiple(build.node); + } else { + path.replaceWithMultiple(build.node); + } + } + }; + var visitor = { + Function: function Function(path, state) { + if (!path.node.async) return; + path.traverse(forAwaitVisitor, state); + if (!path.node.generator) return; + path.traverse(yieldStarVisitor, state); + (0, _helperRemapAsyncToGenerator.default)(path, { + wrapAsync: state.addHelper("wrapAsyncGenerator"), + wrapAwait: state.addHelper("awaitAsyncGenerator") + }); + } + }; + return { + name: "proposal-async-generator-functions", + inherits: _pluginSyntaxAsyncGenerators.default, + visitor: { + Program: function Program(path, state) { + path.traverse(visitor, state); + } + } + }; +}); + +exports.default = _default; + +},{"./for-await":90,"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-remap-async-to-generator":81,"@babel/plugin-syntax-async-generators":98}],92:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _pluginSyntaxDynamicImport = _interopRequireDefault(require("@babel/plugin-syntax-dynamic-import")); + +var _package = require("../package.json"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var SUPPORTED_MODULES = ["commonjs", "amd", "systemjs"]; +var MODULES_NOT_FOUND = "@babel/plugin-proposal-dynamic-import depends on a modules\ntransform plugin. Supported plugins are:\n - @babel/plugin-transform-modules-commonjs ^7.4.0\n - @babel/plugin-transform-modules-amd ^7.4.0\n - @babel/plugin-transform-modules-systemjs ^7.4.0\n\nIf you are using Webpack or Rollup and thus don't want\nBabel to transpile your imports and exports, you can use\nthe @babel/plugin-syntax-dynamic-import plugin and let your\nbundler handle dynamic imports.\n"; + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + return { + name: "proposal-dynamic-import", + inherits: _pluginSyntaxDynamicImport.default, + pre: function pre() { + this.file.set("@babel/plugin-proposal-dynamic-import", _package.version); + }, + visitor: { + Program: function Program() { + var modules = this.file.get("@babel/plugin-transform-modules-*"); + + if (!SUPPORTED_MODULES.includes(modules)) { + throw new Error(MODULES_NOT_FOUND); + } + } + } + }; +}); + +exports.default = _default; + +},{"../package.json":93,"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-dynamic-import":99}],93:[function(require,module,exports){ +module.exports={ + "_from": "@babel/plugin-proposal-dynamic-import@^7.7.0", + "_id": "@babel/plugin-proposal-dynamic-import@7.7.0", + "_inBundle": false, + "_integrity": "sha512-7poL3Xi+QFPC7sGAzEIbXUyYzGJwbc2+gSD0AkiC5k52kH2cqHdqxm5hNFfLW3cRSTcx9bN0Fl7/6zWcLLnKAQ==", + "_location": "/@babel/plugin-proposal-dynamic-import", + "_phantomChildren": {}, + "_requested": { + "type": "range", + "registry": true, + "raw": "@babel/plugin-proposal-dynamic-import@^7.7.0", + "name": "@babel/plugin-proposal-dynamic-import", + "escapedName": "@babel%2fplugin-proposal-dynamic-import", + "scope": "@babel", + "rawSpec": "^7.7.0", + "saveSpec": null, + "fetchSpec": "^7.7.0" + }, + "_requiredBy": [ + "/@babel/preset-env" + ], + "_resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.7.0.tgz", + "_shasum": "dc02a8bad8d653fb59daf085516fa416edd2aa7f", + "_spec": "@babel/plugin-proposal-dynamic-import@^7.7.0", + "_where": "/local/home/ossman/devel/noVNC/node_modules/@babel/preset-env", + "bundleDependencies": false, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-syntax-dynamic-import": "^7.2.0" + }, + "deprecated": false, + "description": "Transform import() expressions", + "devDependencies": { + "@babel/core": "^7.7.0", + "@babel/helper-plugin-test-runner": "^7.0.0" + }, + "gitHead": "97faa83953cb87e332554fa559a4956d202343ea", + "keywords": [ + "babel-plugin" + ], + "license": "MIT", + "main": "lib/index.js", + "name": "@babel/plugin-proposal-dynamic-import", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-proposal-dynamic-import" + }, + "version": "7.7.0" +} + +},{}],94:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _pluginSyntaxJsonStrings() { + var data = _interopRequireDefault(require("@babel/plugin-syntax-json-strings")); + + _pluginSyntaxJsonStrings = function _pluginSyntaxJsonStrings() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + var regex = /(\\*)([\u2028\u2029])/g; + + function replace(match, escapes, separator) { + var isEscaped = escapes.length % 2 === 1; + if (isEscaped) return match; + return "".concat(escapes, "\\u").concat(separator.charCodeAt(0).toString(16)); + } + + return { + name: "proposal-json-strings", + inherits: _pluginSyntaxJsonStrings().default, + visitor: { + "DirectiveLiteral|StringLiteral": function DirectiveLiteralStringLiteral(_ref) { + var node = _ref.node; + var extra = node.extra; + if (!extra || !extra.raw) return; + extra.raw = extra.raw.replace(regex, replace); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-json-strings":100}],95:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _pluginSyntaxObjectRestSpread() { + var data = _interopRequireDefault(require("@babel/plugin-syntax-object-rest-spread")); + + _pluginSyntaxObjectRestSpread = function _pluginSyntaxObjectRestSpread() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var ZERO_REFS = function () { + var node = _core().types.identifier("a"); + + var property = _core().types.objectProperty(_core().types.identifier("key"), node); + + var pattern = _core().types.objectPattern([property]); + + return _core().types.isReferenced(node, property, pattern) ? 1 : 0; +}(); + +var _default = (0, _helperPluginUtils().declare)(function (api, opts) { + api.assertVersion(7); + var _opts$useBuiltIns = opts.useBuiltIns, + useBuiltIns = _opts$useBuiltIns === void 0 ? false : _opts$useBuiltIns, + _opts$loose = opts.loose, + loose = _opts$loose === void 0 ? false : _opts$loose; + + if (typeof loose !== "boolean") { + throw new Error(".loose must be a boolean, or undefined"); + } + + function getExtendsHelper(file) { + return useBuiltIns ? _core().types.memberExpression(_core().types.identifier("Object"), _core().types.identifier("assign")) : file.addHelper("extends"); + } + + function hasRestElement(path) { + var foundRestElement = false; + visitRestElements(path, function (restElement) { + foundRestElement = true; + restElement.stop(); + }); + return foundRestElement; + } + + function hasObjectPatternRestElement(path) { + var foundRestElement = false; + visitRestElements(path, function (restElement) { + if (restElement.parentPath.isObjectPattern()) { + foundRestElement = true; + restElement.stop(); + } + }); + return foundRestElement; + } + + function visitRestElements(path, visitor) { + path.traverse({ + Expression: function Expression(path) { + var parentType = path.parent.type; + + if (parentType === "AssignmentPattern" && path.key === "right" || parentType === "ObjectProperty" && path.parent.computed && path.key === "key") { + path.skip(); + } + }, + RestElement: visitor + }); + } + + function hasSpread(node) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = node.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var prop = _step.value; + + if (_core().types.isSpreadElement(prop)) { + return true; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; + } + + function extractNormalizedKeys(path) { + var props = path.node.properties; + var keys = []; + var allLiteral = true; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var prop = _step2.value; + + if (_core().types.isIdentifier(prop.key) && !prop.computed) { + keys.push(_core().types.stringLiteral(prop.key.name)); + } else if (_core().types.isTemplateLiteral(prop.key)) { + keys.push(_core().types.cloneNode(prop.key)); + } else if (_core().types.isLiteral(prop.key)) { + keys.push(_core().types.stringLiteral(String(prop.key.value))); + } else { + keys.push(_core().types.cloneNode(prop.key)); + allLiteral = false; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + return { + keys: keys, + allLiteral: allLiteral + }; + } + + function replaceImpureComputedKeys(path) { + var impureComputedPropertyDeclarators = []; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = path.get("properties")[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var propPath = _step3.value; + var key = propPath.get("key"); + + if (propPath.node.computed && !key.isPure()) { + var name = path.scope.generateUidBasedOnNode(key.node); + + var declarator = _core().types.variableDeclarator(_core().types.identifier(name), key.node); + + impureComputedPropertyDeclarators.push(declarator); + key.replaceWith(_core().types.identifier(name)); + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + return impureComputedPropertyDeclarators; + } + + function removeUnusedExcludedKeys(path) { + var bindings = path.getOuterBindingIdentifierPaths(); + Object.keys(bindings).forEach(function (bindingName) { + var bindingParentPath = bindings[bindingName].parentPath; + + if (path.scope.getBinding(bindingName).references > ZERO_REFS || !bindingParentPath.isObjectProperty()) { + return; + } + + bindingParentPath.remove(); + }); + } + + function createObjectSpread(path, file, objRef) { + var props = path.get("properties"); + var last = props[props.length - 1]; + + _core().types.assertRestElement(last.node); + + var restElement = _core().types.cloneNode(last.node); + + last.remove(); + var impureComputedPropertyDeclarators = replaceImpureComputedKeys(path); + + var _extractNormalizedKey = extractNormalizedKeys(path), + keys = _extractNormalizedKey.keys, + allLiteral = _extractNormalizedKey.allLiteral; + + if (keys.length === 0) { + return [impureComputedPropertyDeclarators, restElement.argument, _core().types.callExpression(getExtendsHelper(file), [_core().types.objectExpression([]), _core().types.cloneNode(objRef)])]; + } + + var keyExpression; + + if (!allLiteral) { + keyExpression = _core().types.callExpression(_core().types.memberExpression(_core().types.arrayExpression(keys), _core().types.identifier("map")), [file.addHelper("toPropertyKey")]); + } else { + keyExpression = _core().types.arrayExpression(keys); + } + + return [impureComputedPropertyDeclarators, restElement.argument, _core().types.callExpression(file.addHelper("objectWithoutProperties".concat(loose ? "Loose" : "")), [_core().types.cloneNode(objRef), keyExpression])]; + } + + function replaceRestElement(parentPath, paramPath) { + if (paramPath.isAssignmentPattern()) { + replaceRestElement(parentPath, paramPath.get("left")); + return; + } + + if (paramPath.isArrayPattern() && hasRestElement(paramPath)) { + var elements = paramPath.get("elements"); + + for (var i = 0; i < elements.length; i++) { + replaceRestElement(parentPath, elements[i]); + } + } + + if (paramPath.isObjectPattern() && hasRestElement(paramPath)) { + var uid = parentPath.scope.generateUidIdentifier("ref"); + + var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(paramPath.node, uid)]); + + parentPath.ensureBlock(); + parentPath.get("body").unshiftContainer("body", declar); + paramPath.replaceWith(_core().types.cloneNode(uid)); + } + } + + return { + name: "proposal-object-rest-spread", + inherits: _pluginSyntaxObjectRestSpread().default, + visitor: { + Function: function Function(path) { + var params = path.get("params"); + + for (var i = params.length - 1; i >= 0; i--) { + replaceRestElement(params[i].parentPath, params[i]); + } + }, + VariableDeclarator: function VariableDeclarator(path, file) { + if (!path.get("id").isObjectPattern()) { + return; + } + + var insertionPath = path; + var originalPath = path; + visitRestElements(path.get("id"), function (path) { + if (!path.parentPath.isObjectPattern()) { + return; + } + + if (originalPath.node.id.properties.length > 1 && !_core().types.isIdentifier(originalPath.node.init)) { + var initRef = path.scope.generateUidIdentifierBasedOnNode(originalPath.node.init, "ref"); + originalPath.insertBefore(_core().types.variableDeclarator(initRef, originalPath.node.init)); + originalPath.replaceWith(_core().types.variableDeclarator(originalPath.node.id, _core().types.cloneNode(initRef))); + return; + } + + var ref = originalPath.node.init; + var refPropertyPath = []; + var kind; + path.findParent(function (path) { + if (path.isObjectProperty()) { + refPropertyPath.unshift(path.node.key.name); + } else if (path.isVariableDeclarator()) { + kind = path.parentPath.node.kind; + return true; + } + }); + + if (refPropertyPath.length) { + refPropertyPath.forEach(function (prop) { + ref = _core().types.memberExpression(ref, _core().types.identifier(prop)); + }); + } + + var objectPatternPath = path.findParent(function (path) { + return path.isObjectPattern(); + }); + + var _createObjectSpread = createObjectSpread(objectPatternPath, file, ref), + _createObjectSpread2 = _slicedToArray(_createObjectSpread, 3), + impureComputedPropertyDeclarators = _createObjectSpread2[0], + argument = _createObjectSpread2[1], + callExpression = _createObjectSpread2[2]; + + if (loose) { + removeUnusedExcludedKeys(objectPatternPath); + } + + _core().types.assertIdentifier(argument); + + insertionPath.insertBefore(impureComputedPropertyDeclarators); + insertionPath.insertAfter(_core().types.variableDeclarator(argument, callExpression)); + insertionPath = insertionPath.getSibling(insertionPath.key + 1); + path.scope.registerBinding(kind, insertionPath); + + if (objectPatternPath.node.properties.length === 0) { + objectPatternPath.findParent(function (path) { + return path.isObjectProperty() || path.isVariableDeclarator(); + }).remove(); + } + }); + }, + ExportNamedDeclaration: function ExportNamedDeclaration(path) { + var declaration = path.get("declaration"); + if (!declaration.isVariableDeclaration()) return; + var hasRest = declaration.get("declarations").some(function (path) { + return hasRestElement(path.get("id")); + }); + if (!hasRest) return; + var specifiers = []; + + for (var _i2 = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers(path)); _i2 < _Object$keys.length; _i2++) { + var name = _Object$keys[_i2]; + specifiers.push(_core().types.exportSpecifier(_core().types.identifier(name), _core().types.identifier(name))); + } + + path.replaceWith(declaration.node); + path.insertAfter(_core().types.exportNamedDeclaration(null, specifiers)); + }, + CatchClause: function CatchClause(path) { + var paramPath = path.get("param"); + replaceRestElement(paramPath.parentPath, paramPath); + }, + AssignmentExpression: function AssignmentExpression(path, file) { + var leftPath = path.get("left"); + + if (leftPath.isObjectPattern() && hasRestElement(leftPath)) { + var nodes = []; + var refName = path.scope.generateUidBasedOnNode(path.node.right, "ref"); + nodes.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.identifier(refName), path.node.right)])); + + var _createObjectSpread3 = createObjectSpread(leftPath, file, _core().types.identifier(refName)), + _createObjectSpread4 = _slicedToArray(_createObjectSpread3, 3), + impureComputedPropertyDeclarators = _createObjectSpread4[0], + argument = _createObjectSpread4[1], + callExpression = _createObjectSpread4[2]; + + if (impureComputedPropertyDeclarators.length > 0) { + nodes.push(_core().types.variableDeclaration("var", impureComputedPropertyDeclarators)); + } + + var nodeWithoutSpread = _core().types.cloneNode(path.node); + + nodeWithoutSpread.right = _core().types.identifier(refName); + nodes.push(_core().types.expressionStatement(nodeWithoutSpread)); + nodes.push(_core().types.toStatement(_core().types.assignmentExpression("=", argument, callExpression))); + nodes.push(_core().types.expressionStatement(_core().types.identifier(refName))); + path.replaceWithMultiple(nodes); + } + }, + ForXStatement: function ForXStatement(path) { + var node = path.node, + scope = path.scope; + var leftPath = path.get("left"); + var left = node.left; + + if (!hasObjectPatternRestElement(leftPath)) { + return; + } + + if (!_core().types.isVariableDeclaration(left)) { + var temp = scope.generateUidIdentifier("ref"); + node.left = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(temp)]); + path.ensureBlock(); + + if (node.body.body.length === 0 && path.isCompletionRecord()) { + node.body.body.unshift(_core().types.expressionStatement(scope.buildUndefinedNode())); + } + + node.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, _core().types.cloneNode(temp)))); + } else { + var pattern = left.declarations[0].id; + var key = scope.generateUidIdentifier("ref"); + node.left = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(key, null)]); + path.ensureBlock(); + node.body.body.unshift(_core().types.variableDeclaration(node.left.kind, [_core().types.variableDeclarator(pattern, _core().types.cloneNode(key))])); + } + }, + ArrayPattern: function ArrayPattern(path) { + var objectPatterns = []; + visitRestElements(path, function (path) { + if (!path.parentPath.isObjectPattern()) { + return; + } + + var objectPattern = path.parentPath; + var uid = path.scope.generateUidIdentifier("ref"); + objectPatterns.push(_core().types.variableDeclarator(objectPattern.node, uid)); + objectPattern.replaceWith(_core().types.cloneNode(uid)); + path.skip(); + }); + + if (objectPatterns.length > 0) { + var statementPath = path.getStatementParent(); + statementPath.insertAfter(_core().types.variableDeclaration(statementPath.node.kind || "var", objectPatterns)); + } + }, + ObjectExpression: function ObjectExpression(path, file) { + if (!hasSpread(path.node)) return; + var args = []; + var props = []; + + function push() { + args.push(_core().types.objectExpression(props)); + props = []; + } + + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = path.node.properties[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var prop = _step4.value; + + if (_core().types.isSpreadElement(prop)) { + push(); + args.push(prop.argument); + } else { + props.push(prop); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + if (props.length) { + push(); + } + + var helper; + + if (loose) { + helper = getExtendsHelper(file); + } else { + try { + helper = file.addHelper("objectSpread2"); + } catch (_unused) { + this.file.declarations["objectSpread2"] = null; + helper = file.addHelper("objectSpread"); + } + } + + path.replaceWith(_core().types.callExpression(helper, args)); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-object-rest-spread":101}],96:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _pluginSyntaxOptionalCatchBinding() { + var data = _interopRequireDefault(require("@babel/plugin-syntax-optional-catch-binding")); + + _pluginSyntaxOptionalCatchBinding = function _pluginSyntaxOptionalCatchBinding() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "proposal-optional-catch-binding", + inherits: _pluginSyntaxOptionalCatchBinding().default, + visitor: { + CatchClause: function CatchClause(path) { + if (!path.node.param) { + var uid = path.scope.generateUidIdentifier("unused"); + var paramPath = path.get("param"); + paramPath.replaceWith(uid); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79,"@babel/plugin-syntax-optional-catch-binding":102}],97:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var _options$useUnicodeFl = options.useUnicodeFlag, + useUnicodeFlag = _options$useUnicodeFl === void 0 ? true : _options$useUnicodeFl; + + if (typeof useUnicodeFlag !== "boolean") { + throw new Error(".useUnicodeFlag must be a boolean, or undefined"); + } + + return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ + name: "proposal-unicode-property-regex", + feature: "unicodePropertyEscape", + options: { + useUnicodeFlag: useUnicodeFlag + } + }); +}); + +exports.default = _default; + +},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],98:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-async-generators", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("asyncGenerators"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],99:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-dynamic-import", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("dynamicImport"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],100:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-json-strings", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("jsonStrings"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],101:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-object-rest-spread", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("objectRestSpread"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],102:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-optional-catch-binding", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("optionalCatchBinding"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],103:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + return { + name: "syntax-top-level-await", + manipulateOptions: function manipulateOptions(opts, parserOpts) { + parserOpts.plugins.push("topLevelAwait"); + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],104:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var spec = options.spec; + return { + name: "transform-arrow-functions", + visitor: { + ArrowFunctionExpression: function ArrowFunctionExpression(path) { + if (!path.isArrowFunctionExpression()) return; + path.arrowFunctionToExpression({ + allowInsertArrow: false, + specCompliant: !!spec + }); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],105:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperRemapAsyncToGenerator = _interopRequireDefault(require("@babel/helper-remap-async-to-generator")); + +var _helperModuleImports = require("@babel/helper-module-imports"); + +var _core = require("@babel/core"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var method = options.method, + module = options.module; + + if (method && module) { + return { + name: "transform-async-to-generator", + visitor: { + Function: function Function(path, state) { + if (!path.node.async || path.node.generator) return; + var wrapAsync = state.methodWrapper; + + if (wrapAsync) { + wrapAsync = _core.types.cloneNode(wrapAsync); + } else { + wrapAsync = state.methodWrapper = (0, _helperModuleImports.addNamed)(path, method, module); + } + + (0, _helperRemapAsyncToGenerator.default)(path, { + wrapAsync: wrapAsync + }); + } + } + }; + } + + return { + name: "transform-async-to-generator", + visitor: { + Function: function Function(path, state) { + if (!path.node.async || path.node.generator) return; + (0, _helperRemapAsyncToGenerator.default)(path, { + wrapAsync: state.addHelper("asyncToGenerator") + }); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-module-imports":72,"@babel/helper-plugin-utils":79,"@babel/helper-remap-async-to-generator":81}],106:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + + function statementList(key, path) { + var paths = path.get(key); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = paths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _path = _step.value; + var func = _path.node; + if (!_path.isFunctionDeclaration()) continue; + + var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(func.id, _core().types.toExpression(func))]); + + declar._blockHoist = 2; + func.id = null; + + _path.replaceWith(declar); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return { + name: "transform-block-scoped-functions", + visitor: { + BlockStatement: function BlockStatement(path) { + var node = path.node, + parent = path.parent; + + if (_core().types.isFunction(parent, { + body: node + }) || _core().types.isExportDeclaration(parent)) { + return; + } + + statementList("body", path); + }, + SwitchCase: function SwitchCase(path) { + statementList("consequent", path); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],107:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _tdz = require("./tdz"); + +var _values = _interopRequireDefault(require("lodash/values")); + +var _extend = _interopRequireDefault(require("lodash/extend")); + +var _core = require("@babel/core"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var DONE = new WeakSet(); + +var _default = (0, _helperPluginUtils.declare)(function (api, opts) { + api.assertVersion(7); + var _opts$throwIfClosureR = opts.throwIfClosureRequired, + throwIfClosureRequired = _opts$throwIfClosureR === void 0 ? false : _opts$throwIfClosureR, + _opts$tdz = opts.tdz, + tdzEnabled = _opts$tdz === void 0 ? false : _opts$tdz; + + if (typeof throwIfClosureRequired !== "boolean") { + throw new Error(".throwIfClosureRequired must be a boolean, or undefined"); + } + + if (typeof tdzEnabled !== "boolean") { + throw new Error(".tdz must be a boolean, or undefined"); + } + + return { + name: "transform-block-scoping", + visitor: { + VariableDeclaration: function VariableDeclaration(path) { + var node = path.node, + parent = path.parent, + scope = path.scope; + if (!isBlockScoped(node)) return; + convertBlockScopedToVar(path, null, parent, scope, true); + + if (node._tdzThis) { + var nodes = [node]; + + for (var i = 0; i < node.declarations.length; i++) { + var decl = node.declarations[i]; + + var assign = _core.types.assignmentExpression("=", decl.id, decl.init || scope.buildUndefinedNode()); + + assign._ignoreBlockScopingTDZ = true; + nodes.push(_core.types.expressionStatement(assign)); + decl.init = this.addHelper("temporalUndefined"); + } + + node._blockHoist = 2; + + if (path.isCompletionRecord()) { + nodes.push(_core.types.expressionStatement(scope.buildUndefinedNode())); + } + + path.replaceWithMultiple(nodes); + } + }, + Loop: function Loop(path, state) { + var parent = path.parent, + scope = path.scope; + path.ensureBlock(); + var blockScoping = new BlockScoping(path, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state); + var replace = blockScoping.run(); + if (replace) path.replaceWith(replace); + }, + CatchClause: function CatchClause(path, state) { + var parent = path.parent, + scope = path.scope; + var blockScoping = new BlockScoping(null, path.get("body"), parent, scope, throwIfClosureRequired, tdzEnabled, state); + blockScoping.run(); + }, + "BlockStatement|SwitchStatement|Program": function BlockStatementSwitchStatementProgram(path, state) { + if (!ignoreBlock(path)) { + var blockScoping = new BlockScoping(null, path, path.parent, path.scope, throwIfClosureRequired, tdzEnabled, state); + blockScoping.run(); + } + } + } + }; +}); + +exports.default = _default; + +function ignoreBlock(path) { + return _core.types.isLoop(path.parent) || _core.types.isCatchClause(path.parent); +} + +var buildRetCheck = (0, _core.template)("\n if (typeof RETURN === \"object\") return RETURN.v;\n"); + +function isBlockScoped(node) { + if (!_core.types.isVariableDeclaration(node)) return false; + if (node[_core.types.BLOCK_SCOPED_SYMBOL]) return true; + if (node.kind !== "let" && node.kind !== "const") return false; + return true; +} + +function isInLoop(path) { + var loopOrFunctionParent = path.find(function (path) { + return path.isLoop() || path.isFunction(); + }); + return loopOrFunctionParent && loopOrFunctionParent.isLoop(); +} + +function convertBlockScopedToVar(path, node, parent, scope) { + var moveBindingsToParent = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + + if (!node) { + node = path.node; + } + + if (isInLoop(path) && !_core.types.isFor(parent)) { + for (var i = 0; i < node.declarations.length; i++) { + var declar = node.declarations[i]; + declar.init = declar.init || scope.buildUndefinedNode(); + } + } + + node[_core.types.BLOCK_SCOPED_SYMBOL] = true; + node.kind = "var"; + + if (moveBindingsToParent) { + var parentScope = scope.getFunctionParent() || scope.getProgramParent(); + + for (var _i = 0, _Object$keys = Object.keys(path.getBindingIdentifiers()); _i < _Object$keys.length; _i++) { + var name = _Object$keys[_i]; + var binding = scope.getOwnBinding(name); + if (binding) binding.kind = "var"; + scope.moveBindingTo(name, parentScope); + } + } +} + +function isVar(node) { + return _core.types.isVariableDeclaration(node, { + kind: "var" + }) && !isBlockScoped(node); +} + +var letReferenceBlockVisitor = _core.traverse.visitors.merge([{ + Loop: { + enter: function enter(path, state) { + state.loopDepth++; + }, + exit: function exit(path, state) { + state.loopDepth--; + } + }, + Function: function Function(path, state) { + if (state.loopDepth > 0) { + path.traverse(letReferenceFunctionVisitor, state); + } else { + path.traverse(_tdz.visitor, state); + } + + return path.skip(); + } +}, _tdz.visitor]); + +var letReferenceFunctionVisitor = _core.traverse.visitors.merge([{ + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + var ref = state.letReferences[path.node.name]; + if (!ref) return; + var localBinding = path.scope.getBindingIdentifier(path.node.name); + if (localBinding && localBinding !== ref) return; + state.closurify = true; + } +}, _tdz.visitor]); + +var hoistVarDeclarationsVisitor = { + enter: function enter(path, self) { + var node = path.node, + parent = path.parent; + + if (path.isForStatement()) { + if (isVar(node.init, node)) { + var nodes = self.pushDeclar(node.init); + + if (nodes.length === 1) { + node.init = nodes[0]; + } else { + node.init = _core.types.sequenceExpression(nodes); + } + } + } else if (path.isFor()) { + if (isVar(node.left, node)) { + self.pushDeclar(node.left); + node.left = node.left.declarations[0].id; + } + } else if (isVar(node, parent)) { + path.replaceWithMultiple(self.pushDeclar(node).map(function (expr) { + return _core.types.expressionStatement(expr); + })); + } else if (path.isFunction()) { + return path.skip(); + } + } +}; +var loopLabelVisitor = { + LabeledStatement: function LabeledStatement(_ref, state) { + var node = _ref.node; + state.innerLabels.push(node.label.name); + } +}; +var continuationVisitor = { + enter: function enter(path, state) { + if (path.isAssignmentExpression() || path.isUpdateExpression()) { + for (var _i2 = 0, _Object$keys2 = Object.keys(path.getBindingIdentifiers()); _i2 < _Object$keys2.length; _i2++) { + var name = _Object$keys2[_i2]; + + if (state.outsideReferences[name] !== path.scope.getBindingIdentifier(name)) { + continue; + } + + state.reassignments[name] = true; + } + } else if (path.isReturnStatement()) { + state.returnStatements.push(path); + } + } +}; + +function loopNodeTo(node) { + if (_core.types.isBreakStatement(node)) { + return "break"; + } else if (_core.types.isContinueStatement(node)) { + return "continue"; + } +} + +var loopVisitor = { + Loop: function Loop(path, state) { + var oldIgnoreLabeless = state.ignoreLabeless; + state.ignoreLabeless = true; + path.traverse(loopVisitor, state); + state.ignoreLabeless = oldIgnoreLabeless; + path.skip(); + }, + Function: function Function(path) { + path.skip(); + }, + SwitchCase: function SwitchCase(path, state) { + var oldInSwitchCase = state.inSwitchCase; + state.inSwitchCase = true; + path.traverse(loopVisitor, state); + state.inSwitchCase = oldInSwitchCase; + path.skip(); + }, + "BreakStatement|ContinueStatement|ReturnStatement": function BreakStatementContinueStatementReturnStatement(path, state) { + var node = path.node, + scope = path.scope; + if (node[this.LOOP_IGNORE]) return; + var replace; + var loopText = loopNodeTo(node); + + if (loopText) { + if (node.label) { + if (state.innerLabels.indexOf(node.label.name) >= 0) { + return; + } + + loopText = "".concat(loopText, "|").concat(node.label.name); + } else { + if (state.ignoreLabeless) return; + if (_core.types.isBreakStatement(node) && state.inSwitchCase) return; + } + + state.hasBreakContinue = true; + state.map[loopText] = node; + replace = _core.types.stringLiteral(loopText); + } + + if (path.isReturnStatement()) { + state.hasReturn = true; + replace = _core.types.objectExpression([_core.types.objectProperty(_core.types.identifier("v"), node.argument || scope.buildUndefinedNode())]); + } + + if (replace) { + replace = _core.types.returnStatement(replace); + replace[this.LOOP_IGNORE] = true; + path.skip(); + path.replaceWith(_core.types.inherits(replace, node)); + } + } +}; + +var BlockScoping = +/*#__PURE__*/ +function () { + function BlockScoping(loopPath, blockPath, parent, scope, throwIfClosureRequired, tdzEnabled, state) { + _classCallCheck(this, BlockScoping); + + this.parent = parent; + this.scope = scope; + this.state = state; + this.throwIfClosureRequired = throwIfClosureRequired; + this.tdzEnabled = tdzEnabled; + this.blockPath = blockPath; + this.block = blockPath.node; + this.outsideLetReferences = Object.create(null); + this.hasLetReferences = false; + this.letReferences = Object.create(null); + this.body = []; + + if (loopPath) { + this.loopParent = loopPath.parent; + this.loopLabel = _core.types.isLabeledStatement(this.loopParent) && this.loopParent.label; + this.loopPath = loopPath; + this.loop = loopPath.node; + } + } + + _createClass(BlockScoping, [{ + key: "run", + value: function run() { + var block = this.block; + if (DONE.has(block)) return; + DONE.add(block); + var needsClosure = this.getLetReferences(); + this.checkConstants(); + + if (_core.types.isFunction(this.parent) || _core.types.isProgram(this.block)) { + this.updateScopeInfo(); + return; + } + + if (!this.hasLetReferences) return; + + if (needsClosure) { + this.wrapClosure(); + } else { + this.remap(); + } + + this.updateScopeInfo(needsClosure); + + if (this.loopLabel && !_core.types.isLabeledStatement(this.loopParent)) { + return _core.types.labeledStatement(this.loopLabel, this.loop); + } + } + }, { + key: "checkConstants", + value: function checkConstants() { + var scope = this.scope; + var state = this.state; + + for (var _i3 = 0, _Object$keys3 = Object.keys(scope.bindings); _i3 < _Object$keys3.length; _i3++) { + var name = _Object$keys3[_i3]; + var binding = scope.bindings[name]; + if (binding.kind !== "const") continue; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = binding.constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var violation = _step.value; + var readOnlyError = state.addHelper("readOnlyError"); + + var throwNode = _core.types.callExpression(readOnlyError, [_core.types.stringLiteral(name)]); + + if (violation.isAssignmentExpression()) { + violation.get("right").replaceWith(_core.types.sequenceExpression([throwNode, violation.get("right").node])); + } else if (violation.isUpdateExpression()) { + violation.replaceWith(_core.types.sequenceExpression([throwNode, violation.node])); + } else if (violation.isForXStatement()) { + violation.ensureBlock(); + violation.node.body.body.unshift(_core.types.expressionStatement(throwNode)); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + } + }, { + key: "updateScopeInfo", + value: function updateScopeInfo(wrappedInClosure) { + var blockScope = this.blockPath.scope; + var parentScope = blockScope.getFunctionParent() || blockScope.getProgramParent(); + var letRefs = this.letReferences; + + for (var _i4 = 0, _Object$keys4 = Object.keys(letRefs); _i4 < _Object$keys4.length; _i4++) { + var key = _Object$keys4[_i4]; + var ref = letRefs[key]; + var binding = blockScope.getBinding(ref.name); + if (!binding) continue; + + if (binding.kind === "let" || binding.kind === "const") { + binding.kind = "var"; + + if (wrappedInClosure) { + if (blockScope.hasOwnBinding(ref.name)) { + blockScope.removeBinding(ref.name); + } + } else { + blockScope.moveBindingTo(ref.name, parentScope); + } + } + } + } + }, { + key: "remap", + value: function remap() { + var letRefs = this.letReferences; + var outsideLetRefs = this.outsideLetReferences; + var scope = this.scope; + var blockPathScope = this.blockPath.scope; + + for (var _i5 = 0, _Object$keys5 = Object.keys(letRefs); _i5 < _Object$keys5.length; _i5++) { + var key = _Object$keys5[_i5]; + var ref = letRefs[key]; + + if (scope.parentHasBinding(key) || scope.hasGlobal(key)) { + if (scope.hasOwnBinding(key)) { + scope.rename(ref.name); + } + + if (blockPathScope.hasOwnBinding(key)) { + blockPathScope.rename(ref.name); + } + } + } + + for (var _i6 = 0, _Object$keys6 = Object.keys(outsideLetRefs); _i6 < _Object$keys6.length; _i6++) { + var _key = _Object$keys6[_i6]; + var _ref2 = letRefs[_key]; + + if (isInLoop(this.blockPath) && blockPathScope.hasOwnBinding(_key)) { + blockPathScope.rename(_ref2.name); + } + } + } + }, { + key: "wrapClosure", + value: function wrapClosure() { + if (this.throwIfClosureRequired) { + throw this.blockPath.buildCodeFrameError("Compiling let/const in this block would add a closure " + "(throwIfClosureRequired)."); + } + + var block = this.block; + var outsideRefs = this.outsideLetReferences; + + if (this.loop) { + for (var _i7 = 0, _Object$keys7 = Object.keys(outsideRefs); _i7 < _Object$keys7.length; _i7++) { + var name = _Object$keys7[_i7]; + var id = outsideRefs[name]; + + if (this.scope.hasGlobal(id.name) || this.scope.parentHasBinding(id.name)) { + delete outsideRefs[id.name]; + delete this.letReferences[id.name]; + this.scope.rename(id.name); + this.letReferences[id.name] = id; + outsideRefs[id.name] = id; + } + } + } + + this.has = this.checkLoop(); + this.hoistVarDeclarations(); + var args = (0, _values.default)(outsideRefs).map(function (id) { + return _core.types.cloneNode(id); + }); + var params = args.map(function (id) { + return _core.types.cloneNode(id); + }); + var isSwitch = this.blockPath.isSwitchStatement(); + + var fn = _core.types.functionExpression(null, params, _core.types.blockStatement(isSwitch ? [block] : block.body)); + + this.addContinuations(fn); + + var call = _core.types.callExpression(_core.types.nullLiteral(), args); + + var basePath = ".callee"; + + var hasYield = _core.traverse.hasType(fn.body, "YieldExpression", _core.types.FUNCTION_TYPES); + + if (hasYield) { + fn.generator = true; + call = _core.types.yieldExpression(call, true); + basePath = ".argument" + basePath; + } + + var hasAsync = _core.traverse.hasType(fn.body, "AwaitExpression", _core.types.FUNCTION_TYPES); + + if (hasAsync) { + fn.async = true; + call = _core.types.awaitExpression(call); + basePath = ".argument" + basePath; + } + + var placeholderPath; + var index; + + if (this.has.hasReturn || this.has.hasBreakContinue) { + var ret = this.scope.generateUid("ret"); + this.body.push(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(ret), call)])); + placeholderPath = "declarations.0.init" + basePath; + index = this.body.length - 1; + this.buildHas(ret); + } else { + this.body.push(_core.types.expressionStatement(call)); + placeholderPath = "expression" + basePath; + index = this.body.length - 1; + } + + var callPath; + + if (isSwitch) { + var _this$blockPath = this.blockPath, + parentPath = _this$blockPath.parentPath, + listKey = _this$blockPath.listKey, + key = _this$blockPath.key; + this.blockPath.replaceWithMultiple(this.body); + callPath = parentPath.get(listKey)[key + index]; + } else { + block.body = this.body; + callPath = this.blockPath.get("body")[index]; + } + + var placeholder = callPath.get(placeholderPath); + var fnPath; + + if (this.loop) { + var loopId = this.scope.generateUid("loop"); + var p = this.loopPath.insertBefore(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(loopId), fn)])); + placeholder.replaceWith(_core.types.identifier(loopId)); + fnPath = p[0].get("declarations.0.init"); + } else { + placeholder.replaceWith(fn); + fnPath = placeholder; + } + + fnPath.unwrapFunctionEnvironment(); + } + }, { + key: "addContinuations", + value: function addContinuations(fn) { + var _this = this; + + var state = { + reassignments: {}, + returnStatements: [], + outsideReferences: this.outsideLetReferences + }; + this.scope.traverse(fn, continuationVisitor, state); + + var _loop = function _loop(i) { + var param = fn.params[i]; + if (!state.reassignments[param.name]) return "continue"; + var paramName = param.name; + + var newParamName = _this.scope.generateUid(param.name); + + fn.params[i] = _core.types.identifier(newParamName); + + _this.scope.rename(paramName, newParamName, fn); + + state.returnStatements.forEach(function (returnStatement) { + returnStatement.insertBefore(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(paramName), _core.types.identifier(newParamName)))); + }); + fn.body.body.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(paramName), _core.types.identifier(newParamName)))); + }; + + for (var i = 0; i < fn.params.length; i++) { + var _ret = _loop(i); + + if (_ret === "continue") continue; + } + } + }, { + key: "getLetReferences", + value: function getLetReferences() { + var _this2 = this; + + var block = this.block; + var declarators = []; + + if (this.loop) { + var init = this.loop.left || this.loop.init; + + if (isBlockScoped(init)) { + declarators.push(init); + (0, _extend.default)(this.outsideLetReferences, _core.types.getBindingIdentifiers(init)); + } + } + + var addDeclarationsFromChild = function addDeclarationsFromChild(path, node) { + node = node || path.node; + + if (_core.types.isClassDeclaration(node) || _core.types.isFunctionDeclaration(node) || isBlockScoped(node)) { + if (isBlockScoped(node)) { + convertBlockScopedToVar(path, node, block, _this2.scope); + } + + declarators = declarators.concat(node.declarations || node); + } + + if (_core.types.isLabeledStatement(node)) { + addDeclarationsFromChild(path.get("body"), node.body); + } + }; + + if (block.body) { + var declarPaths = this.blockPath.get("body"); + + for (var i = 0; i < block.body.length; i++) { + addDeclarationsFromChild(declarPaths[i]); + } + } + + if (block.cases) { + var _declarPaths = this.blockPath.get("cases"); + + for (var _i8 = 0; _i8 < block.cases.length; _i8++) { + var consequents = block.cases[_i8].consequent; + + for (var j = 0; j < consequents.length; j++) { + var declar = consequents[j]; + addDeclarationsFromChild(_declarPaths[_i8], declar); + } + } + } + + for (var _i9 = 0; _i9 < declarators.length; _i9++) { + var _declar = declarators[_i9]; + + var keys = _core.types.getBindingIdentifiers(_declar, false, true); + + (0, _extend.default)(this.letReferences, keys); + this.hasLetReferences = true; + } + + if (!this.hasLetReferences) return; + var state = { + letReferences: this.letReferences, + closurify: false, + loopDepth: 0, + tdzEnabled: this.tdzEnabled, + addHelper: function addHelper(name) { + return _this2.state.addHelper(name); + } + }; + + if (isInLoop(this.blockPath)) { + state.loopDepth++; + } + + this.blockPath.traverse(letReferenceBlockVisitor, state); + return state.closurify; + } + }, { + key: "checkLoop", + value: function checkLoop() { + var state = { + hasBreakContinue: false, + ignoreLabeless: false, + inSwitchCase: false, + innerLabels: [], + hasReturn: false, + isLoop: !!this.loop, + map: {}, + LOOP_IGNORE: Symbol() + }; + this.blockPath.traverse(loopLabelVisitor, state); + this.blockPath.traverse(loopVisitor, state); + return state; + } + }, { + key: "hoistVarDeclarations", + value: function hoistVarDeclarations() { + this.blockPath.traverse(hoistVarDeclarationsVisitor, this); + } + }, { + key: "pushDeclar", + value: function pushDeclar(node) { + var declars = []; + + var names = _core.types.getBindingIdentifiers(node); + + for (var _i10 = 0, _Object$keys8 = Object.keys(names); _i10 < _Object$keys8.length; _i10++) { + var name = _Object$keys8[_i10]; + declars.push(_core.types.variableDeclarator(names[name])); + } + + this.body.push(_core.types.variableDeclaration(node.kind, declars)); + var replace = []; + + for (var i = 0; i < node.declarations.length; i++) { + var declar = node.declarations[i]; + if (!declar.init) continue; + + var expr = _core.types.assignmentExpression("=", _core.types.cloneNode(declar.id), _core.types.cloneNode(declar.init)); + + replace.push(_core.types.inherits(expr, declar)); + } + + return replace; + } + }, { + key: "buildHas", + value: function buildHas(ret) { + var body = this.body; + var retCheck; + var has = this.has; + var cases = []; + + if (has.hasReturn) { + retCheck = buildRetCheck({ + RETURN: _core.types.identifier(ret) + }); + } + + if (has.hasBreakContinue) { + for (var _i11 = 0, _Object$keys9 = Object.keys(has.map); _i11 < _Object$keys9.length; _i11++) { + var key = _Object$keys9[_i11]; + cases.push(_core.types.switchCase(_core.types.stringLiteral(key), [has.map[key]])); + } + + if (has.hasReturn) { + cases.push(_core.types.switchCase(null, [retCheck])); + } + + if (cases.length === 1) { + var single = cases[0]; + body.push(_core.types.ifStatement(_core.types.binaryExpression("===", _core.types.identifier(ret), single.test), single.consequent[0])); + } else { + if (this.loop) { + for (var i = 0; i < cases.length; i++) { + var caseConsequent = cases[i].consequent[0]; + + if (_core.types.isBreakStatement(caseConsequent) && !caseConsequent.label) { + if (!this.loopLabel) { + this.loopLabel = this.scope.generateUidIdentifier("loop"); + } + + caseConsequent.label = _core.types.cloneNode(this.loopLabel); + } + } + } + + body.push(_core.types.switchStatement(_core.types.identifier(ret), cases)); + } + } else { + if (has.hasReturn) { + body.push(retCheck); + } + } + } + }]); + + return BlockScoping; +}(); + +},{"./tdz":108,"@babel/core":19,"@babel/helper-plugin-utils":79,"lodash/extend":1010,"lodash/values":1048}],108:[function(require,module,exports){ +"use strict"; + +function _templateObject() { + var data = _taggedTemplateLiteral(["", "(\"", "\")"]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.visitor = void 0; + +var _core = require("@babel/core"); + +function getTDZStatus(refPath, bindingPath) { + var executionStatus = bindingPath._guessExecutionStatusRelativeTo(refPath); + + if (executionStatus === "before") { + return "outside"; + } else if (executionStatus === "after") { + return "inside"; + } else { + return "maybe"; + } +} + +function buildTDZAssert(node, state) { + return _core.types.callExpression(state.addHelper("temporalRef"), [node, _core.types.stringLiteral(node.name)]); +} + +function isReference(node, scope, state) { + var declared = state.letReferences[node.name]; + if (!declared) return false; + return scope.getBindingIdentifier(node.name) === declared; +} + +var visitor = { + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + if (!state.tdzEnabled) return; + var node = path.node, + parent = path.parent, + scope = path.scope; + if (path.parentPath.isFor({ + left: node + })) return; + if (!isReference(node, scope, state)) return; + var bindingPath = scope.getBinding(node.name).path; + if (bindingPath.isFunctionDeclaration()) return; + var status = getTDZStatus(path, bindingPath); + if (status === "outside") return; + + if (status === "maybe") { + var assert = buildTDZAssert(node, state); + bindingPath.parent._tdzThis = true; + path.skip(); + + if (path.parentPath.isUpdateExpression()) { + if (parent._ignoreBlockScopingTDZ) return; + path.parentPath.replaceWith(_core.types.sequenceExpression([assert, parent])); + } else { + path.replaceWith(assert); + } + } else if (status === "inside") { + path.replaceWith(_core.template.ast(_templateObject(), state.addHelper("tdz"), node.name)); + } + }, + AssignmentExpression: { + exit: function exit(path, state) { + if (!state.tdzEnabled) return; + var node = path.node; + if (node._ignoreBlockScopingTDZ) return; + var nodes = []; + var ids = path.getBindingIdentifiers(); + + for (var _i = 0, _Object$keys = Object.keys(ids); _i < _Object$keys.length; _i++) { + var name = _Object$keys[_i]; + var id = ids[name]; + + if (isReference(id, path.scope, state)) { + nodes.push(id); + } + } + + if (nodes.length) { + node._ignoreBlockScopingTDZ = true; + nodes.push(node); + path.replaceWithMultiple(nodes.map(function (n) { + return _core.types.expressionStatement(n); + })); + } + } + } +}; +exports.visitor = visitor; + +},{"@babel/core":19}],109:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperAnnotateAsPure = _interopRequireDefault(require("@babel/helper-annotate-as-pure")); + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); + +var _core = require("@babel/core"); + +var _globals = _interopRequireDefault(require("globals")); + +var _transformClass = _interopRequireDefault(require("./transformClass")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var getBuiltinClasses = function getBuiltinClasses(category) { + return Object.keys(_globals.default[category]).filter(function (name) { + return /^[A-Z]/.test(name); + }); +}; + +var builtinClasses = new Set([].concat(_toConsumableArray(getBuiltinClasses("builtin")), _toConsumableArray(getBuiltinClasses("browser")))); + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose; + var VISITED = Symbol(); + return { + name: "transform-classes", + visitor: { + ExportDefaultDeclaration: function ExportDefaultDeclaration(path) { + if (!path.get("declaration").isClassDeclaration()) return; + (0, _helperSplitExportDeclaration.default)(path); + }, + ClassDeclaration: function ClassDeclaration(path) { + var node = path.node; + var ref = node.id || path.scope.generateUidIdentifier("class"); + path.replaceWith(_core.types.variableDeclaration("let", [_core.types.variableDeclarator(ref, _core.types.toExpression(node))])); + }, + ClassExpression: function ClassExpression(path, state) { + var node = path.node; + if (node[VISITED]) return; + var inferred = (0, _helperFunctionName.default)(path); + + if (inferred && inferred !== node) { + path.replaceWith(inferred); + return; + } + + node[VISITED] = true; + path.replaceWith((0, _transformClass.default)(path, state.file, builtinClasses, loose)); + + if (path.isCallExpression()) { + (0, _helperAnnotateAsPure.default)(path); + + if (path.get("callee").isArrowFunctionExpression()) { + path.get("callee").arrowFunctionToExpression(); + } + } + } + } + }; +}); + +exports.default = _default; + +},{"./transformClass":110,"@babel/core":19,"@babel/helper-annotate-as-pure":57,"@babel/helper-function-name":66,"@babel/helper-plugin-utils":79,"@babel/helper-split-export-declaration":84,"globals":838}],110:[function(require,module,exports){ +"use strict"; + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n (function () {\n super(...arguments);\n })\n "]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = transformClass; + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +var _helperReplaceSupers = _interopRequireWildcard(require("@babel/helper-replace-supers")); + +var _helperOptimiseCallExpression = _interopRequireDefault(require("@babel/helper-optimise-call-expression")); + +var defineMap = _interopRequireWildcard(require("@babel/helper-define-map")); + +var _core = require("@babel/core"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function buildConstructor(classRef, constructorBody, node) { + var func = _core.types.functionDeclaration(_core.types.cloneNode(classRef), [], constructorBody); + + _core.types.inherits(func, node); + + return func; +} + +function transformClass(path, file, builtinClasses, isLoose) { + var classState = { + parent: undefined, + scope: undefined, + node: undefined, + path: undefined, + file: undefined, + classId: undefined, + classRef: undefined, + superName: undefined, + superReturns: [], + isDerived: false, + extendsNative: false, + construct: undefined, + constructorBody: undefined, + userConstructor: undefined, + userConstructorPath: undefined, + hasConstructor: false, + instancePropBody: [], + instancePropRefs: {}, + staticPropBody: [], + body: [], + superThises: [], + pushedConstructor: false, + pushedInherits: false, + protoAlias: null, + isLoose: false, + hasInstanceDescriptors: false, + hasStaticDescriptors: false, + instanceMutatorMap: {}, + staticMutatorMap: {} + }; + + var setState = function setState(newState) { + Object.assign(classState, newState); + }; + + var findThisesVisitor = _core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + ThisExpression: function ThisExpression(path) { + classState.superThises.push(path); + } + }]); + + function pushToMap(node, enumerable) { + var kind = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "value"; + var scope = arguments.length > 3 ? arguments[3] : undefined; + var mutatorMap; + + if (node.static) { + setState({ + hasStaticDescriptors: true + }); + mutatorMap = classState.staticMutatorMap; + } else { + setState({ + hasInstanceDescriptors: true + }); + mutatorMap = classState.instanceMutatorMap; + } + + var map = defineMap.push(mutatorMap, node, kind, classState.file, scope); + + if (enumerable) { + map.enumerable = _core.types.booleanLiteral(true); + } + + return map; + } + + function maybeCreateConstructor() { + var hasConstructor = false; + var paths = classState.path.get("body.body"); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = paths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _path = _step.value; + hasConstructor = _path.equals("kind", "constructor"); + if (hasConstructor) break; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (hasConstructor) return; + var params, body; + + if (classState.isDerived) { + var _constructor = _core.template.expression.ast(_templateObject()); + + params = _constructor.params; + body = _constructor.body; + } else { + params = []; + body = _core.types.blockStatement([]); + } + + classState.path.get("body").unshiftContainer("body", _core.types.classMethod("constructor", _core.types.identifier("constructor"), params, body)); + } + + function buildBody() { + maybeCreateConstructor(); + pushBody(); + verifyConstructor(); + + if (classState.userConstructor) { + var constructorBody = classState.constructorBody, + userConstructor = classState.userConstructor, + construct = classState.construct; + constructorBody.body = constructorBody.body.concat(userConstructor.body.body); + + _core.types.inherits(construct, userConstructor); + + _core.types.inherits(constructorBody, userConstructor.body); + } + + pushDescriptors(); + } + + function pushBody() { + var classBodyPaths = classState.path.get("body.body"); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = classBodyPaths[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _path2 = _step2.value; + var node = _path2.node; + + if (_path2.isClassProperty()) { + throw _path2.buildCodeFrameError("Missing class properties transform."); + } + + if (node.decorators) { + throw _path2.buildCodeFrameError("Method has decorators, put the decorator plugin before the classes one."); + } + + if (_core.types.isClassMethod(node)) { + (function () { + var isConstructor = node.kind === "constructor"; + var replaceSupers = new _helperReplaceSupers.default({ + methodPath: _path2, + objectRef: classState.classRef, + superRef: classState.superName, + isLoose: classState.isLoose, + file: classState.file + }); + replaceSupers.replace(); + var superReturns = []; + + _path2.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + ReturnStatement: function ReturnStatement(path) { + if (!path.getFunctionParent().isArrowFunctionExpression()) { + superReturns.push(path); + } + } + }])); + + if (isConstructor) { + pushConstructor(superReturns, node, _path2); + } else { + pushMethod(node, _path2); + } + })(); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + + function clearDescriptors() { + setState({ + hasInstanceDescriptors: false, + hasStaticDescriptors: false, + instanceMutatorMap: {}, + staticMutatorMap: {} + }); + } + + function pushDescriptors() { + pushInheritsToBody(); + var body = classState.body; + var instanceProps; + var staticProps; + + if (classState.hasInstanceDescriptors) { + instanceProps = defineMap.toClassObject(classState.instanceMutatorMap); + } + + if (classState.hasStaticDescriptors) { + staticProps = defineMap.toClassObject(classState.staticMutatorMap); + } + + if (instanceProps || staticProps) { + if (instanceProps) { + instanceProps = defineMap.toComputedObjectFromClass(instanceProps); + } + + if (staticProps) { + staticProps = defineMap.toComputedObjectFromClass(staticProps); + } + + var args = [_core.types.cloneNode(classState.classRef), _core.types.nullLiteral(), _core.types.nullLiteral()]; + if (instanceProps) args[1] = instanceProps; + if (staticProps) args[2] = staticProps; + var lastNonNullIndex = 0; + + for (var i = 0; i < args.length; i++) { + if (!_core.types.isNullLiteral(args[i])) lastNonNullIndex = i; + } + + args = args.slice(0, lastNonNullIndex + 1); + body.push(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("createClass"), args))); + } + + clearDescriptors(); + } + + function wrapSuperCall(bareSuper, superRef, thisRef, body) { + var bareSuperNode = bareSuper.node; + var call; + + if (classState.isLoose) { + bareSuperNode.arguments.unshift(_core.types.thisExpression()); + + if (bareSuperNode.arguments.length === 2 && _core.types.isSpreadElement(bareSuperNode.arguments[1]) && _core.types.isIdentifier(bareSuperNode.arguments[1].argument, { + name: "arguments" + })) { + bareSuperNode.arguments[1] = bareSuperNode.arguments[1].argument; + bareSuperNode.callee = _core.types.memberExpression(_core.types.cloneNode(superRef), _core.types.identifier("apply")); + } else { + bareSuperNode.callee = _core.types.memberExpression(_core.types.cloneNode(superRef), _core.types.identifier("call")); + } + + call = _core.types.logicalExpression("||", bareSuperNode, _core.types.thisExpression()); + } else { + bareSuperNode = (0, _helperOptimiseCallExpression.default)(_core.types.callExpression(classState.file.addHelper("getPrototypeOf"), [_core.types.cloneNode(classState.classRef)]), _core.types.thisExpression(), bareSuperNode.arguments); + call = _core.types.callExpression(classState.file.addHelper("possibleConstructorReturn"), [_core.types.thisExpression(), bareSuperNode]); + } + + if (bareSuper.parentPath.isExpressionStatement() && bareSuper.parentPath.container === body.node.body && body.node.body.length - 1 === bareSuper.parentPath.key) { + if (classState.superThises.length) { + call = _core.types.assignmentExpression("=", thisRef(), call); + } + + bareSuper.parentPath.replaceWith(_core.types.returnStatement(call)); + } else { + bareSuper.replaceWith(_core.types.assignmentExpression("=", thisRef(), call)); + } + } + + function verifyConstructor() { + if (!classState.isDerived) return; + var path = classState.userConstructorPath; + var body = path.get("body"); + path.traverse(findThisesVisitor); + + var _thisRef = function thisRef() { + var ref = path.scope.generateDeclaredUidIdentifier("this"); + + _thisRef = function thisRef() { + return _core.types.cloneNode(ref); + }; + + return ref; + }; + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = classState.superThises[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var thisPath = _step3.value; + var node = thisPath.node, + parentPath = thisPath.parentPath; + + if (parentPath.isMemberExpression({ + object: node + })) { + thisPath.replaceWith(_thisRef()); + continue; + } + + thisPath.replaceWith(_core.types.callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()])); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + var bareSupers = new Set(); + path.traverse(_core.traverse.visitors.merge([_helperReplaceSupers.environmentVisitor, { + Super: function Super(path) { + var node = path.node, + parentPath = path.parentPath; + + if (parentPath.isCallExpression({ + callee: node + })) { + bareSupers.add(parentPath); + } + } + }])); + var guaranteedSuperBeforeFinish = !!bareSupers.size; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = bareSupers[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var bareSuper = _step4.value; + wrapSuperCall(bareSuper, classState.superName, _thisRef, body); + + if (guaranteedSuperBeforeFinish) { + bareSuper.find(function (parentPath) { + if (parentPath === path) { + return true; + } + + if (parentPath.isLoop() || parentPath.isConditional() || parentPath.isArrowFunctionExpression()) { + guaranteedSuperBeforeFinish = false; + return true; + } + }); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + var wrapReturn; + + if (classState.isLoose) { + wrapReturn = function wrapReturn(returnArg) { + var thisExpr = _core.types.callExpression(classState.file.addHelper("assertThisInitialized"), [_thisRef()]); + + return returnArg ? _core.types.logicalExpression("||", returnArg, thisExpr) : thisExpr; + }; + } else { + wrapReturn = function wrapReturn(returnArg) { + return _core.types.callExpression(classState.file.addHelper("possibleConstructorReturn"), [_thisRef()].concat(returnArg || [])); + }; + } + + var bodyPaths = body.get("body"); + + if (!bodyPaths.length || !bodyPaths.pop().isReturnStatement()) { + body.pushContainer("body", _core.types.returnStatement(guaranteedSuperBeforeFinish ? _thisRef() : wrapReturn())); + } + + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = classState.superReturns[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var returnPath = _step5.value; + returnPath.get("argument").replaceWith(wrapReturn(returnPath.node.argument)); + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + } + + function pushMethod(node, path) { + var scope = path ? path.scope : classState.scope; + + if (node.kind === "method") { + if (processMethod(node, scope)) return; + } + + pushToMap(node, false, null, scope); + } + + function processMethod(node, scope) { + if (classState.isLoose && !node.decorators) { + var classRef = classState.classRef; + + if (!node.static) { + insertProtoAliasOnce(); + classRef = classState.protoAlias; + } + + var methodName = _core.types.memberExpression(_core.types.cloneNode(classRef), node.key, node.computed || _core.types.isLiteral(node.key)); + + var func = _core.types.functionExpression(null, node.params, node.body, node.generator, node.async); + + _core.types.inherits(func, node); + + var key = _core.types.toComputedKey(node, node.key); + + if (_core.types.isStringLiteral(key)) { + func = (0, _helperFunctionName.default)({ + node: func, + id: key, + scope: scope + }); + } + + var expr = _core.types.expressionStatement(_core.types.assignmentExpression("=", methodName, func)); + + _core.types.inheritsComments(expr, node); + + classState.body.push(expr); + return true; + } + + return false; + } + + function insertProtoAliasOnce() { + if (classState.protoAlias === null) { + setState({ + protoAlias: classState.scope.generateUidIdentifier("proto") + }); + + var classProto = _core.types.memberExpression(classState.classRef, _core.types.identifier("prototype")); + + var protoDeclaration = _core.types.variableDeclaration("var", [_core.types.variableDeclarator(classState.protoAlias, classProto)]); + + classState.body.push(protoDeclaration); + } + } + + function pushConstructor(superReturns, method, path) { + if (path.scope.hasOwnBinding(classState.classRef.name)) { + path.scope.rename(classState.classRef.name); + } + + setState({ + userConstructorPath: path, + userConstructor: method, + hasConstructor: true, + superReturns: superReturns + }); + var construct = classState.construct; + + _core.types.inheritsComments(construct, method); + + construct.params = method.params; + + _core.types.inherits(construct.body, method.body); + + construct.body.directives = method.body.directives; + pushConstructorToBody(); + } + + function pushConstructorToBody() { + if (classState.pushedConstructor) return; + classState.pushedConstructor = true; + + if (classState.hasInstanceDescriptors || classState.hasStaticDescriptors) { + pushDescriptors(); + } + + classState.body.push(classState.construct); + pushInheritsToBody(); + } + + function pushInheritsToBody() { + if (!classState.isDerived || classState.pushedInherits) return; + setState({ + pushedInherits: true + }); + classState.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper(classState.isLoose ? "inheritsLoose" : "inherits"), [_core.types.cloneNode(classState.classRef), _core.types.cloneNode(classState.superName)]))); + } + + function setupClosureParamsArgs() { + var superName = classState.superName; + var closureParams = []; + var closureArgs = []; + + if (classState.isDerived) { + var arg = classState.extendsNative ? _core.types.callExpression(classState.file.addHelper("wrapNativeSuper"), [_core.types.cloneNode(superName)]) : _core.types.cloneNode(superName); + var param = classState.scope.generateUidIdentifierBasedOnNode(superName); + closureParams.push(param); + closureArgs.push(arg); + setState({ + superName: _core.types.cloneNode(param) + }); + } + + return { + closureParams: closureParams, + closureArgs: closureArgs + }; + } + + function classTransformer(path, file, builtinClasses, isLoose) { + setState({ + parent: path.parent, + scope: path.scope, + node: path.node, + path: path, + file: file, + isLoose: isLoose + }); + setState({ + classId: classState.node.id, + classRef: classState.node.id ? _core.types.identifier(classState.node.id.name) : classState.scope.generateUidIdentifier("class"), + superName: classState.node.superClass, + isDerived: !!classState.node.superClass, + constructorBody: _core.types.blockStatement([]) + }); + setState({ + extendsNative: classState.isDerived && builtinClasses.has(classState.superName.name) && !classState.scope.hasBinding(classState.superName.name, true) + }); + var classRef = classState.classRef, + node = classState.node, + constructorBody = classState.constructorBody; + setState({ + construct: buildConstructor(classRef, constructorBody, node) + }); + var body = classState.body; + + var _setupClosureParamsAr = setupClosureParamsArgs(), + closureParams = _setupClosureParamsAr.closureParams, + closureArgs = _setupClosureParamsAr.closureArgs; + + buildBody(); + + if (!classState.isLoose) { + constructorBody.body.unshift(_core.types.expressionStatement(_core.types.callExpression(classState.file.addHelper("classCallCheck"), [_core.types.thisExpression(), _core.types.cloneNode(classState.classRef)]))); + } + + body = body.concat(classState.staticPropBody.map(function (fn) { + return fn(_core.types.cloneNode(classState.classRef)); + })); + var isStrict = path.isInStrictMode(); + var constructorOnly = classState.classId && body.length === 1; + + if (constructorOnly && !isStrict) { + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = classState.construct.params[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var param = _step6.value; + + if (!_core.types.isIdentifier(param)) { + constructorOnly = false; + break; + } + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + } + + var directives = constructorOnly ? body[0].body.directives : []; + + if (!isStrict) { + directives.push(_core.types.directive(_core.types.directiveLiteral("use strict"))); + } + + if (constructorOnly) { + return _core.types.toExpression(body[0]); + } + + body.push(_core.types.returnStatement(_core.types.cloneNode(classState.classRef))); + + var container = _core.types.arrowFunctionExpression(closureParams, _core.types.blockStatement(body, directives)); + + return _core.types.callExpression(container, closureArgs); + } + + return classTransformer(path, file, builtinClasses, isLoose); +} + +},{"@babel/core":19,"@babel/helper-define-map":64,"@babel/helper-function-name":66,"@babel/helper-optimise-call-expression":78,"@babel/helper-replace-supers":82}],111:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose; + var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec; + var buildMutatorMapAssign = (0, _core().template)("\n MUTATOR_MAP_REF[KEY] = MUTATOR_MAP_REF[KEY] || {};\n MUTATOR_MAP_REF[KEY].KIND = VALUE;\n "); + + function getValue(prop) { + if (_core().types.isObjectProperty(prop)) { + return prop.value; + } else if (_core().types.isObjectMethod(prop)) { + return _core().types.functionExpression(null, prop.params, prop.body, prop.generator, prop.async); + } + } + + function pushAssign(objId, prop, body) { + if (prop.kind === "get" && prop.kind === "set") { + pushMutatorDefine(objId, prop, body); + } else { + body.push(_core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.memberExpression(_core().types.cloneNode(objId), prop.key, prop.computed || _core().types.isLiteral(prop.key)), getValue(prop)))); + } + } + + function pushMutatorDefine(_ref, prop) { + var body = _ref.body, + getMutatorId = _ref.getMutatorId, + scope = _ref.scope; + var key = !prop.computed && _core().types.isIdentifier(prop.key) ? _core().types.stringLiteral(prop.key.name) : prop.key; + var maybeMemoise = scope.maybeGenerateMemoised(key); + + if (maybeMemoise) { + body.push(_core().types.expressionStatement(_core().types.assignmentExpression("=", maybeMemoise, key))); + key = maybeMemoise; + } + + body.push.apply(body, _toConsumableArray(buildMutatorMapAssign({ + MUTATOR_MAP_REF: getMutatorId(), + KEY: _core().types.cloneNode(key), + VALUE: getValue(prop), + KIND: _core().types.identifier(prop.kind) + }))); + } + + function pushComputedPropsLoose(info) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = info.computedProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var prop = _step.value; + + if (prop.kind === "get" || prop.kind === "set") { + pushMutatorDefine(info, prop); + } else { + pushAssign(_core().types.cloneNode(info.objId), prop, info.body); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + function pushComputedPropsSpec(info) { + var objId = info.objId, + body = info.body, + computedProps = info.computedProps, + state = info.state; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = computedProps[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var prop = _step2.value; + + var key = _core().types.toComputedKey(prop); + + if (prop.kind === "get" || prop.kind === "set") { + pushMutatorDefine(info, prop); + } else if (_core().types.isStringLiteral(key, { + value: "__proto__" + })) { + pushAssign(objId, prop, body); + } else { + if (computedProps.length === 1) { + return _core().types.callExpression(state.addHelper("defineProperty"), [info.initPropExpression, key, getValue(prop)]); + } else { + body.push(_core().types.expressionStatement(_core().types.callExpression(state.addHelper("defineProperty"), [_core().types.cloneNode(objId), key, getValue(prop)]))); + } + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + + return { + name: "transform-computed-properties", + visitor: { + ObjectExpression: { + exit: function exit(path, state) { + var node = path.node, + parent = path.parent, + scope = path.scope; + var hasComputed = false; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = node.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var prop = _step3.value; + hasComputed = prop.computed === true; + if (hasComputed) break; + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + if (!hasComputed) return; + var initProps = []; + var computedProps = []; + var foundComputed = false; + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = node.properties[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var _prop = _step4.value; + + if (_prop.computed) { + foundComputed = true; + } + + if (foundComputed) { + computedProps.push(_prop); + } else { + initProps.push(_prop); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + var objId = scope.generateUidIdentifierBasedOnNode(parent); + + var initPropExpression = _core().types.objectExpression(initProps); + + var body = []; + body.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(objId, initPropExpression)])); + var mutatorRef; + + var getMutatorId = function getMutatorId() { + if (!mutatorRef) { + mutatorRef = scope.generateUidIdentifier("mutatorMap"); + body.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(mutatorRef, _core().types.objectExpression([]))])); + } + + return _core().types.cloneNode(mutatorRef); + }; + + var single = pushComputedProps({ + scope: scope, + objId: objId, + body: body, + computedProps: computedProps, + initPropExpression: initPropExpression, + getMutatorId: getMutatorId, + state: state + }); + + if (mutatorRef) { + body.push(_core().types.expressionStatement(_core().types.callExpression(state.addHelper("defineEnumerableProperties"), [_core().types.cloneNode(objId), _core().types.cloneNode(mutatorRef)]))); + } + + if (single) { + path.replaceWith(single); + } else { + body.push(_core().types.expressionStatement(_core().types.cloneNode(objId))); + path.replaceWithMultiple(body); + } + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],112:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var _options$loose = options.loose, + loose = _options$loose === void 0 ? false : _options$loose, + _options$useBuiltIns = options.useBuiltIns, + useBuiltIns = _options$useBuiltIns === void 0 ? false : _options$useBuiltIns; + + if (typeof loose !== "boolean") { + throw new Error(".loose must be a boolean or undefined"); + } + + var arrayOnlySpread = loose; + + function getExtendsHelper(file) { + return useBuiltIns ? _core().types.memberExpression(_core().types.identifier("Object"), _core().types.identifier("assign")) : file.addHelper("extends"); + } + + function variableDeclarationHasPattern(node) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var declar = _step.value; + + if (_core().types.isPattern(declar.id)) { + return true; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; + } + + function hasRest(pattern) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = pattern.elements[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var elem = _step2.value; + + if (_core().types.isRestElement(elem)) { + return true; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + return false; + } + + function hasObjectRest(pattern) { + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = pattern.properties[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var elem = _step3.value; + + if (_core().types.isRestElement(elem)) { + return true; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + return false; + } + + var STOP_TRAVERSAL = {}; + + var arrayUnpackVisitor = function arrayUnpackVisitor(node, ancestors, state) { + if (!ancestors.length) { + return; + } + + if (_core().types.isIdentifier(node) && _core().types.isReferenced(node, ancestors[ancestors.length - 1]) && state.bindings[node.name]) { + state.deopt = true; + throw STOP_TRAVERSAL; + } + }; + + var DestructuringTransformer = + /*#__PURE__*/ + function () { + function DestructuringTransformer(opts) { + _classCallCheck(this, DestructuringTransformer); + + this.blockHoist = opts.blockHoist; + this.operator = opts.operator; + this.arrays = {}; + this.nodes = opts.nodes || []; + this.scope = opts.scope; + this.kind = opts.kind; + this.arrayOnlySpread = opts.arrayOnlySpread; + this.addHelper = opts.addHelper; + } + + _createClass(DestructuringTransformer, [{ + key: "buildVariableAssignment", + value: function buildVariableAssignment(id, init) { + var op = this.operator; + if (_core().types.isMemberExpression(id)) op = "="; + var node; + + if (op) { + node = _core().types.expressionStatement(_core().types.assignmentExpression(op, id, _core().types.cloneNode(init) || this.scope.buildUndefinedNode())); + } else { + node = _core().types.variableDeclaration(this.kind, [_core().types.variableDeclarator(id, _core().types.cloneNode(init))]); + } + + node._blockHoist = this.blockHoist; + return node; + } + }, { + key: "buildVariableDeclaration", + value: function buildVariableDeclaration(id, init) { + var declar = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.cloneNode(id), _core().types.cloneNode(init))]); + + declar._blockHoist = this.blockHoist; + return declar; + } + }, { + key: "push", + value: function push(id, _init) { + var init = _core().types.cloneNode(_init); + + if (_core().types.isObjectPattern(id)) { + this.pushObjectPattern(id, init); + } else if (_core().types.isArrayPattern(id)) { + this.pushArrayPattern(id, init); + } else if (_core().types.isAssignmentPattern(id)) { + this.pushAssignmentPattern(id, init); + } else { + this.nodes.push(this.buildVariableAssignment(id, init)); + } + } + }, { + key: "toArray", + value: function toArray(node, count) { + if (this.arrayOnlySpread || _core().types.isIdentifier(node) && this.arrays[node.name]) { + return node; + } else { + return this.scope.toArray(node, count); + } + } + }, { + key: "pushAssignmentPattern", + value: function pushAssignmentPattern(_ref, valueRef) { + var left = _ref.left, + right = _ref.right; + var tempId = this.scope.generateUidIdentifierBasedOnNode(valueRef); + this.nodes.push(this.buildVariableDeclaration(tempId, valueRef)); + + var tempConditional = _core().types.conditionalExpression(_core().types.binaryExpression("===", _core().types.cloneNode(tempId), this.scope.buildUndefinedNode()), right, _core().types.cloneNode(tempId)); + + if (_core().types.isPattern(left)) { + var patternId; + var node; + + if (this.kind === "const") { + patternId = this.scope.generateUidIdentifier(tempId.name); + node = this.buildVariableDeclaration(patternId, tempConditional); + } else { + patternId = tempId; + node = _core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.cloneNode(tempId), tempConditional)); + } + + this.nodes.push(node); + this.push(left, patternId); + } else { + this.nodes.push(this.buildVariableAssignment(left, tempConditional)); + } + } + }, { + key: "pushObjectRest", + value: function pushObjectRest(pattern, objRef, spreadProp, spreadPropIndex) { + var keys = []; + var allLiteral = true; + + for (var i = 0; i < pattern.properties.length; i++) { + var prop = pattern.properties[i]; + if (i >= spreadPropIndex) break; + if (_core().types.isRestElement(prop)) continue; + var key = prop.key; + + if (_core().types.isIdentifier(key) && !prop.computed) { + keys.push(_core().types.stringLiteral(key.name)); + } else if (_core().types.isTemplateLiteral(prop.key)) { + keys.push(_core().types.cloneNode(prop.key)); + } else if (_core().types.isLiteral(key)) { + keys.push(_core().types.stringLiteral(String(key.value))); + } else { + keys.push(_core().types.cloneNode(key)); + allLiteral = false; + } + } + + var value; + + if (keys.length === 0) { + value = _core().types.callExpression(getExtendsHelper(this), [_core().types.objectExpression([]), _core().types.cloneNode(objRef)]); + } else { + var keyExpression = _core().types.arrayExpression(keys); + + if (!allLiteral) { + keyExpression = _core().types.callExpression(_core().types.memberExpression(keyExpression, _core().types.identifier("map")), [this.addHelper("toPropertyKey")]); + } + + value = _core().types.callExpression(this.addHelper("objectWithoutProperties".concat(loose ? "Loose" : "")), [_core().types.cloneNode(objRef), keyExpression]); + } + + this.nodes.push(this.buildVariableAssignment(spreadProp.argument, value)); + } + }, { + key: "pushObjectProperty", + value: function pushObjectProperty(prop, propRef) { + if (_core().types.isLiteral(prop.key)) prop.computed = true; + var pattern = prop.value; + + var objRef = _core().types.memberExpression(_core().types.cloneNode(propRef), prop.key, prop.computed); + + if (_core().types.isPattern(pattern)) { + this.push(pattern, objRef); + } else { + this.nodes.push(this.buildVariableAssignment(pattern, objRef)); + } + } + }, { + key: "pushObjectPattern", + value: function pushObjectPattern(pattern, objRef) { + if (!pattern.properties.length) { + this.nodes.push(_core().types.expressionStatement(_core().types.callExpression(this.addHelper("objectDestructuringEmpty"), [objRef]))); + } + + if (pattern.properties.length > 1 && !this.scope.isStatic(objRef)) { + var temp = this.scope.generateUidIdentifierBasedOnNode(objRef); + this.nodes.push(this.buildVariableDeclaration(temp, objRef)); + objRef = temp; + } + + if (hasObjectRest(pattern)) { + var copiedPattern; + + for (var i = 0; i < pattern.properties.length; i++) { + var prop = pattern.properties[i]; + + if (_core().types.isRestElement(prop)) { + break; + } + + var key = prop.key; + + if (prop.computed && !this.scope.isPure(key)) { + var name = this.scope.generateUidIdentifierBasedOnNode(key); + this.nodes.push(this.buildVariableDeclaration(name, key)); + + if (!copiedPattern) { + copiedPattern = pattern = Object.assign({}, pattern, { + properties: pattern.properties.slice() + }); + } + + copiedPattern.properties[i] = Object.assign({}, copiedPattern.properties[i], { + key: name + }); + } + } + } + + for (var _i = 0; _i < pattern.properties.length; _i++) { + var _prop = pattern.properties[_i]; + + if (_core().types.isRestElement(_prop)) { + this.pushObjectRest(pattern, objRef, _prop, _i); + } else { + this.pushObjectProperty(_prop, objRef); + } + } + } + }, { + key: "canUnpackArrayPattern", + value: function canUnpackArrayPattern(pattern, arr) { + if (!_core().types.isArrayExpression(arr)) return false; + if (pattern.elements.length > arr.elements.length) return; + + if (pattern.elements.length < arr.elements.length && !hasRest(pattern)) { + return false; + } + + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = pattern.elements[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var elem = _step4.value; + if (!elem) return false; + if (_core().types.isMemberExpression(elem)) return false; + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = arr.elements[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var _elem = _step5.value; + if (_core().types.isSpreadElement(_elem)) return false; + if (_core().types.isCallExpression(_elem)) return false; + if (_core().types.isMemberExpression(_elem)) return false; + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + + var bindings = _core().types.getBindingIdentifiers(pattern); + + var state = { + deopt: false, + bindings: bindings + }; + + try { + _core().types.traverse(arr, arrayUnpackVisitor, state); + } catch (e) { + if (e !== STOP_TRAVERSAL) throw e; + } + + return !state.deopt; + } + }, { + key: "pushUnpackedArrayPattern", + value: function pushUnpackedArrayPattern(pattern, arr) { + for (var i = 0; i < pattern.elements.length; i++) { + var elem = pattern.elements[i]; + + if (_core().types.isRestElement(elem)) { + this.push(elem.argument, _core().types.arrayExpression(arr.elements.slice(i))); + } else { + this.push(elem, arr.elements[i]); + } + } + } + }, { + key: "pushArrayPattern", + value: function pushArrayPattern(pattern, arrayRef) { + if (!pattern.elements) return; + + if (this.canUnpackArrayPattern(pattern, arrayRef)) { + return this.pushUnpackedArrayPattern(pattern, arrayRef); + } + + var count = !hasRest(pattern) && pattern.elements.length; + var toArray = this.toArray(arrayRef, count); + + if (_core().types.isIdentifier(toArray)) { + arrayRef = toArray; + } else { + arrayRef = this.scope.generateUidIdentifierBasedOnNode(arrayRef); + this.arrays[arrayRef.name] = true; + this.nodes.push(this.buildVariableDeclaration(arrayRef, toArray)); + } + + for (var i = 0; i < pattern.elements.length; i++) { + var elem = pattern.elements[i]; + if (!elem) continue; + var elemRef = void 0; + + if (_core().types.isRestElement(elem)) { + elemRef = this.toArray(arrayRef); + elemRef = _core().types.callExpression(_core().types.memberExpression(elemRef, _core().types.identifier("slice")), [_core().types.numericLiteral(i)]); + elem = elem.argument; + } else { + elemRef = _core().types.memberExpression(arrayRef, _core().types.numericLiteral(i), true); + } + + this.push(elem, elemRef); + } + } + }, { + key: "init", + value: function init(pattern, ref) { + if (!_core().types.isArrayExpression(ref) && !_core().types.isMemberExpression(ref)) { + var memo = this.scope.maybeGenerateMemoised(ref, true); + + if (memo) { + this.nodes.push(this.buildVariableDeclaration(memo, _core().types.cloneNode(ref))); + ref = memo; + } + } + + this.push(pattern, ref); + return this.nodes; + } + }]); + + return DestructuringTransformer; + }(); + + return { + name: "transform-destructuring", + visitor: { + ExportNamedDeclaration: function ExportNamedDeclaration(path) { + var declaration = path.get("declaration"); + if (!declaration.isVariableDeclaration()) return; + if (!variableDeclarationHasPattern(declaration.node)) return; + var specifiers = []; + + for (var _i2 = 0, _Object$keys = Object.keys(path.getOuterBindingIdentifiers(path)); _i2 < _Object$keys.length; _i2++) { + var name = _Object$keys[_i2]; + specifiers.push(_core().types.exportSpecifier(_core().types.identifier(name), _core().types.identifier(name))); + } + + path.replaceWith(declaration.node); + path.insertAfter(_core().types.exportNamedDeclaration(null, specifiers)); + }, + ForXStatement: function ForXStatement(path) { + var _this = this; + + var node = path.node, + scope = path.scope; + var left = node.left; + + if (_core().types.isPattern(left)) { + var temp = scope.generateUidIdentifier("ref"); + node.left = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(temp)]); + path.ensureBlock(); + + if (node.body.body.length === 0 && path.isCompletionRecord()) { + node.body.body.unshift(_core().types.expressionStatement(scope.buildUndefinedNode())); + } + + node.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, temp))); + return; + } + + if (!_core().types.isVariableDeclaration(left)) return; + var pattern = left.declarations[0].id; + if (!_core().types.isPattern(pattern)) return; + var key = scope.generateUidIdentifier("ref"); + node.left = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(key, null)]); + var nodes = []; + var destructuring = new DestructuringTransformer({ + kind: left.kind, + scope: scope, + nodes: nodes, + arrayOnlySpread: arrayOnlySpread, + addHelper: function addHelper(name) { + return _this.addHelper(name); + } + }); + destructuring.init(pattern, key); + path.ensureBlock(); + var block = node.body; + block.body = nodes.concat(block.body); + }, + CatchClause: function CatchClause(_ref2) { + var _this2 = this; + + var node = _ref2.node, + scope = _ref2.scope; + var pattern = node.param; + if (!_core().types.isPattern(pattern)) return; + var ref = scope.generateUidIdentifier("ref"); + node.param = ref; + var nodes = []; + var destructuring = new DestructuringTransformer({ + kind: "let", + scope: scope, + nodes: nodes, + arrayOnlySpread: arrayOnlySpread, + addHelper: function addHelper(name) { + return _this2.addHelper(name); + } + }); + destructuring.init(pattern, ref); + node.body.body = nodes.concat(node.body.body); + }, + AssignmentExpression: function AssignmentExpression(path) { + var _this3 = this; + + var node = path.node, + scope = path.scope; + if (!_core().types.isPattern(node.left)) return; + var nodes = []; + var destructuring = new DestructuringTransformer({ + operator: node.operator, + scope: scope, + nodes: nodes, + arrayOnlySpread: arrayOnlySpread, + addHelper: function addHelper(name) { + return _this3.addHelper(name); + } + }); + var ref; + + if (path.isCompletionRecord() || !path.parentPath.isExpressionStatement()) { + ref = scope.generateUidIdentifierBasedOnNode(node.right, "ref"); + nodes.push(_core().types.variableDeclaration("var", [_core().types.variableDeclarator(ref, node.right)])); + + if (_core().types.isArrayExpression(node.right)) { + destructuring.arrays[ref.name] = true; + } + } + + destructuring.init(node.left, ref || node.right); + + if (ref) { + if (path.parentPath.isArrowFunctionExpression()) { + path.replaceWith(_core().types.blockStatement([])); + nodes.push(_core().types.returnStatement(_core().types.cloneNode(ref))); + } else { + nodes.push(_core().types.expressionStatement(_core().types.cloneNode(ref))); + } + } + + path.replaceWithMultiple(nodes); + }, + VariableDeclaration: function VariableDeclaration(path) { + var _this4 = this; + + var node = path.node, + scope = path.scope, + parent = path.parent; + if (_core().types.isForXStatement(parent)) return; + if (!parent || !path.container) return; + if (!variableDeclarationHasPattern(node)) return; + var nodeKind = node.kind; + var nodes = []; + var declar; + + for (var i = 0; i < node.declarations.length; i++) { + declar = node.declarations[i]; + var patternId = declar.init; + var pattern = declar.id; + var destructuring = new DestructuringTransformer({ + blockHoist: node._blockHoist, + nodes: nodes, + scope: scope, + kind: node.kind, + arrayOnlySpread: arrayOnlySpread, + addHelper: function addHelper(name) { + return _this4.addHelper(name); + } + }); + + if (_core().types.isPattern(pattern)) { + destructuring.init(pattern, patternId); + + if (+i !== node.declarations.length - 1) { + _core().types.inherits(nodes[nodes.length - 1], declar); + } + } else { + nodes.push(_core().types.inherits(destructuring.buildVariableAssignment(declar.id, _core().types.cloneNode(declar.init)), declar)); + } + } + + var tail = null; + var nodesOut = []; + + for (var _i3 = 0, _nodes = nodes; _i3 < _nodes.length; _i3++) { + var _node = _nodes[_i3]; + + if (tail !== null && _core().types.isVariableDeclaration(_node)) { + var _tail$declarations; + + (_tail$declarations = tail.declarations).push.apply(_tail$declarations, _toConsumableArray(_node.declarations)); + } else { + _node.kind = nodeKind; + nodesOut.push(_node); + tail = _core().types.isVariableDeclaration(_node) ? _node : null; + } + } + + for (var _i4 = 0, _nodesOut = nodesOut; _i4 < _nodesOut.length; _i4++) { + var nodeOut = _nodesOut[_i4]; + if (!nodeOut.declarations) continue; + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = nodeOut.declarations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var declaration = _step6.value; + var name = declaration.id.name; + + if (scope.bindings[name]) { + scope.bindings[name].kind = nodeOut.kind; + } + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + } + + if (nodesOut.length === 1) { + path.replaceWith(nodesOut[0]); + } else { + path.replaceWithMultiple(nodesOut); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],113:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ + name: "transform-dotall-regex", + feature: "dotAllFlag" + }); +}); + +exports.default = _default; + +},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],114:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function getName(key) { + if (_core().types.isIdentifier(key)) { + return key.name; + } + + return key.value.toString(); +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-duplicate-keys", + visitor: { + ObjectExpression: function ObjectExpression(path) { + var node = path.node; + var plainProps = node.properties.filter(function (prop) { + return !_core().types.isSpreadElement(prop) && !prop.computed; + }); + var alreadySeenData = Object.create(null); + var alreadySeenGetters = Object.create(null); + var alreadySeenSetters = Object.create(null); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = plainProps[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var prop = _step.value; + var name = getName(prop.key); + var isDuplicate = false; + + switch (prop.kind) { + case "get": + if (alreadySeenData[name] || alreadySeenGetters[name]) { + isDuplicate = true; + } + + alreadySeenGetters[name] = true; + break; + + case "set": + if (alreadySeenData[name] || alreadySeenSetters[name]) { + isDuplicate = true; + } + + alreadySeenSetters[name] = true; + break; + + default: + if (alreadySeenData[name] || alreadySeenGetters[name] || alreadySeenSetters[name]) { + isDuplicate = true; + } + + alreadySeenData[name] = true; + } + + if (isDuplicate) { + prop.computed = true; + prop.key = _core().types.stringLiteral(name); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],115:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _helperBuilderBinaryAssignmentOperatorVisitor() { + var data = _interopRequireDefault(require("@babel/helper-builder-binary-assignment-operator-visitor")); + + _helperBuilderBinaryAssignmentOperatorVisitor = function _helperBuilderBinaryAssignmentOperatorVisitor() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-exponentiation-operator", + visitor: (0, _helperBuilderBinaryAssignmentOperatorVisitor().default)({ + operator: "**", + build: function build(left, right) { + return _core().types.callExpression(_core().types.memberExpression(_core().types.identifier("Math"), _core().types.identifier("pow")), [left, right]); + } + }) + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-builder-binary-assignment-operator-visitor":58,"@babel/helper-plugin-utils":79}],116:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose, + assumeArray = options.assumeArray; + + if (loose === true && assumeArray === true) { + throw new Error("The loose and assumeArray options cannot be used together in @babel/plugin-transform-for-of"); + } + + if (assumeArray) { + return { + name: "transform-for-of", + visitor: { + ForOfStatement: function ForOfStatement(path) { + var scope = path.scope; + var _path$node = path.node, + left = _path$node.left, + right = _path$node.right, + body = _path$node.body; + var i = scope.generateUidIdentifier("i"); + var array = scope.maybeGenerateMemoised(right, true); + var inits = [_core().types.variableDeclarator(i, _core().types.numericLiteral(0))]; + + if (array) { + inits.push(_core().types.variableDeclarator(array, right)); + } else { + array = right; + } + + var item = _core().types.memberExpression(_core().types.cloneNode(array), _core().types.cloneNode(i), true); + + var assignment; + + if (_core().types.isVariableDeclaration(left)) { + assignment = left; + assignment.declarations[0].init = item; + } else { + assignment = _core().types.expressionStatement(_core().types.assignmentExpression("=", left, item)); + } + + var block = _core().types.toBlock(body); + + block.body.unshift(assignment); + path.replaceWith(_core().types.forStatement(_core().types.variableDeclaration("let", inits), _core().types.binaryExpression("<", _core().types.cloneNode(i), _core().types.memberExpression(_core().types.cloneNode(array), _core().types.identifier("length"))), _core().types.updateExpression("++", _core().types.cloneNode(i)), block)); + } + } + }; + } + + var pushComputedProps = loose ? pushComputedPropsLoose : pushComputedPropsSpec; + var buildForOfArray = (0, _core().template)("\n for (var KEY = 0, NAME = ARR; KEY < NAME.length; KEY++) BODY;\n "); + var buildForOfLoose = (0, _core().template)("\n for (var LOOP_OBJECT = OBJECT,\n IS_ARRAY = Array.isArray(LOOP_OBJECT),\n INDEX = 0,\n LOOP_OBJECT = IS_ARRAY ? LOOP_OBJECT : LOOP_OBJECT[Symbol.iterator]();;) {\n INTERMEDIATE;\n if (IS_ARRAY) {\n if (INDEX >= LOOP_OBJECT.length) break;\n ID = LOOP_OBJECT[INDEX++];\n } else {\n INDEX = LOOP_OBJECT.next();\n if (INDEX.done) break;\n ID = INDEX.value;\n }\n }\n "); + var buildForOf = (0, _core().template)("\n var ITERATOR_COMPLETION = true;\n var ITERATOR_HAD_ERROR_KEY = false;\n var ITERATOR_ERROR_KEY = undefined;\n try {\n for (\n var ITERATOR_KEY = OBJECT[Symbol.iterator](), STEP_KEY;\n !(ITERATOR_COMPLETION = (STEP_KEY = ITERATOR_KEY.next()).done);\n ITERATOR_COMPLETION = true\n ) {}\n } catch (err) {\n ITERATOR_HAD_ERROR_KEY = true;\n ITERATOR_ERROR_KEY = err;\n } finally {\n try {\n if (!ITERATOR_COMPLETION && ITERATOR_KEY.return != null) {\n ITERATOR_KEY.return();\n }\n } finally {\n if (ITERATOR_HAD_ERROR_KEY) {\n throw ITERATOR_ERROR_KEY;\n }\n }\n }\n "); + + function _ForOfStatementArray(path) { + var node = path.node, + scope = path.scope; + var right = scope.generateUidIdentifierBasedOnNode(node.right, "arr"); + var iterationKey = scope.generateUidIdentifier("i"); + var loop = buildForOfArray({ + BODY: node.body, + KEY: iterationKey, + NAME: right, + ARR: node.right + }); + + _core().types.inherits(loop, node); + + _core().types.ensureBlock(loop); + + var iterationValue = _core().types.memberExpression(_core().types.cloneNode(right), _core().types.cloneNode(iterationKey), true); + + var left = node.left; + + if (_core().types.isVariableDeclaration(left)) { + left.declarations[0].init = iterationValue; + loop.body.body.unshift(left); + } else { + loop.body.body.unshift(_core().types.expressionStatement(_core().types.assignmentExpression("=", left, iterationValue))); + } + + if (path.parentPath.isLabeledStatement()) { + loop = _core().types.labeledStatement(path.parentPath.node.label, loop); + } + + return [loop]; + } + + function replaceWithArray(path) { + if (path.parentPath.isLabeledStatement()) { + path.parentPath.replaceWithMultiple(_ForOfStatementArray(path)); + } else { + path.replaceWithMultiple(_ForOfStatementArray(path)); + } + } + + return { + name: "transform-for-of", + visitor: { + ForOfStatement: function ForOfStatement(path, state) { + var right = path.get("right"); + + if (right.isArrayExpression() || right.isGenericType("Array") || _core().types.isArrayTypeAnnotation(right.getTypeAnnotation())) { + replaceWithArray(path); + return; + } + + var node = path.node; + var build = pushComputedProps(path, state); + var declar = build.declar; + var loop = build.loop; + var block = loop.body; + path.ensureBlock(); + + if (declar) { + block.body.push(declar); + } + + block.body = block.body.concat(node.body.body); + + _core().types.inherits(loop, node); + + _core().types.inherits(loop.body, node.body); + + if (build.replaceParent) { + path.parentPath.replaceWithMultiple(build.node); + path.remove(); + } else { + path.replaceWithMultiple(build.node); + } + } + } + }; + + function pushComputedPropsLoose(path, file) { + var node = path.node, + scope = path.scope, + parent = path.parent; + var left = node.left; + var declar, id, intermediate; + + if (_core().types.isIdentifier(left) || _core().types.isPattern(left) || _core().types.isMemberExpression(left)) { + id = left; + intermediate = null; + } else if (_core().types.isVariableDeclaration(left)) { + id = scope.generateUidIdentifier("ref"); + declar = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(left.declarations[0].id, _core().types.identifier(id.name))]); + intermediate = _core().types.variableDeclaration("var", [_core().types.variableDeclarator(_core().types.identifier(id.name))]); + } else { + throw file.buildCodeFrameError(left, "Unknown node type ".concat(left.type, " in ForStatement")); + } + + var iteratorKey = scope.generateUidIdentifier("iterator"); + var isArrayKey = scope.generateUidIdentifier("isArray"); + var loop = buildForOfLoose({ + LOOP_OBJECT: iteratorKey, + IS_ARRAY: isArrayKey, + OBJECT: node.right, + INDEX: scope.generateUidIdentifier("i"), + ID: id, + INTERMEDIATE: intermediate + }); + + var isLabeledParent = _core().types.isLabeledStatement(parent); + + var labeled; + + if (isLabeledParent) { + labeled = _core().types.labeledStatement(parent.label, loop); + } + + return { + replaceParent: isLabeledParent, + declar: declar, + node: labeled || loop, + loop: loop + }; + } + + function pushComputedPropsSpec(path, file) { + var node = path.node, + scope = path.scope, + parent = path.parent; + var left = node.left; + var declar; + var stepKey = scope.generateUid("step"); + + var stepValue = _core().types.memberExpression(_core().types.identifier(stepKey), _core().types.identifier("value")); + + if (_core().types.isIdentifier(left) || _core().types.isPattern(left) || _core().types.isMemberExpression(left)) { + declar = _core().types.expressionStatement(_core().types.assignmentExpression("=", left, stepValue)); + } else if (_core().types.isVariableDeclaration(left)) { + declar = _core().types.variableDeclaration(left.kind, [_core().types.variableDeclarator(left.declarations[0].id, stepValue)]); + } else { + throw file.buildCodeFrameError(left, "Unknown node type ".concat(left.type, " in ForStatement")); + } + + var template = buildForOf({ + ITERATOR_HAD_ERROR_KEY: scope.generateUidIdentifier("didIteratorError"), + ITERATOR_COMPLETION: scope.generateUidIdentifier("iteratorNormalCompletion"), + ITERATOR_ERROR_KEY: scope.generateUidIdentifier("iteratorError"), + ITERATOR_KEY: scope.generateUidIdentifier("iterator"), + STEP_KEY: _core().types.identifier(stepKey), + OBJECT: node.right + }); + + var isLabeledParent = _core().types.isLabeledStatement(parent); + + var tryBody = template[3].block.body; + var loop = tryBody[0]; + + if (isLabeledParent) { + tryBody[0] = _core().types.labeledStatement(parent.label, loop); + } + + return { + replaceParent: isLabeledParent, + declar: declar, + loop: loop, + node: template + }; + } +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],117:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-function-name", + visitor: { + FunctionExpression: { + exit: function exit(path) { + if (path.key !== "value" && !path.parentPath.isObjectProperty()) { + var replacement = (0, _helperFunctionName.default)(path); + if (replacement) path.replaceWith(replacement); + } + } + }, + ObjectProperty: function ObjectProperty(path) { + var value = path.get("value"); + + if (value.isFunction()) { + var newNode = (0, _helperFunctionName.default)(value); + if (newNode) value.replaceWith(newNode); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-function-name":66,"@babel/helper-plugin-utils":79}],118:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-literals", + visitor: { + NumericLiteral: function NumericLiteral(_ref) { + var node = _ref.node; + + if (node.extra && /^0[ob]/i.test(node.extra.raw)) { + node.extra = undefined; + } + }, + StringLiteral: function StringLiteral(_ref2) { + var node = _ref2.node; + + if (node.extra && /\\[u]/gi.test(node.extra.raw)) { + node.extra = undefined; + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/helper-plugin-utils":79}],119:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-member-expression-literals", + visitor: { + MemberExpression: { + exit: function exit(_ref) { + var node = _ref.node; + var prop = node.property; + + if (!node.computed && _core().types.isIdentifier(prop) && !_core().types.isValidES3Identifier(prop.name)) { + node.property = _core().types.stringLiteral(prop.name); + node.computed = true; + } + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],120:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n new Promise((", ", ", ") =>\n ", "(\n [", "],\n imported => ", "(", "),\n ", "\n )\n )"]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _helperModuleTransforms() { + var data = require("@babel/helper-module-transforms"); + + _helperModuleTransforms = function _helperModuleTransforms() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _utils() { + var data = require("babel-plugin-dynamic-import-node/utils"); + + _utils = function _utils() { + return data; + }; + + return data; +} + +var buildWrapper = (0, _core().template)("\n define(MODULE_NAME, AMD_ARGUMENTS, function(IMPORT_NAMES) {\n })\n"); +var buildAnonymousWrapper = (0, _core().template)("\n define([\"require\"], function(REQUIRE) {\n })\n"); + +function injectWrapper(path, wrapper) { + var _path$node = path.node, + body = _path$node.body, + directives = _path$node.directives; + path.node.directives = []; + path.node.body = []; + var amdWrapper = path.pushContainer("body", wrapper)[0]; + var amdFactory = amdWrapper.get("expression.arguments").filter(function (arg) { + return arg.isFunctionExpression(); + })[0].get("body"); + amdFactory.pushContainer("directives", directives); + amdFactory.pushContainer("body", body); +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose, + allowTopLevelThis = options.allowTopLevelThis, + strict = options.strict, + strictMode = options.strictMode, + noInterop = options.noInterop; + return { + name: "transform-modules-amd", + pre: function pre() { + this.file.set("@babel/plugin-transform-modules-*", "amd"); + }, + visitor: { + CallExpression: function CallExpression(path, state) { + if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return; + if (!path.get("callee").isImport()) return; + var requireId = state.requireId, + resolveId = state.resolveId, + rejectId = state.rejectId; + + if (!requireId) { + requireId = path.scope.generateUidIdentifier("require"); + state.requireId = requireId; + } + + if (!resolveId || !rejectId) { + resolveId = path.scope.generateUidIdentifier("resolve"); + rejectId = path.scope.generateUidIdentifier("reject"); + state.resolveId = resolveId; + state.rejectId = rejectId; + } + + var result = _core().types.identifier("imported"); + + if (!noInterop) result = (0, _helperModuleTransforms().wrapInterop)(path, result, "namespace"); + path.replaceWith(_core().template.expression.ast(_templateObject(), resolveId, rejectId, requireId, (0, _utils().getImportSource)(_core().types, path.node), resolveId, result, rejectId)); + }, + Program: { + exit: function exit(path, _ref) { + var requireId = _ref.requireId; + + if (!(0, _helperModuleTransforms().isModule)(path)) { + if (requireId) { + injectWrapper(path, buildAnonymousWrapper({ + REQUIRE: requireId + })); + } + + return; + } + + var amdArgs = []; + var importNames = []; + + if (requireId) { + amdArgs.push(_core().types.stringLiteral("require")); + importNames.push(requireId); + } + + var moduleName = this.getModuleName(); + if (moduleName) moduleName = _core().types.stringLiteral(moduleName); + + var _ref2 = (0, _helperModuleTransforms().rewriteModuleStatementsAndPrepareHeader)(path, { + loose: loose, + strict: strict, + strictMode: strictMode, + allowTopLevelThis: allowTopLevelThis, + noInterop: noInterop + }), + meta = _ref2.meta, + headers = _ref2.headers; + + if ((0, _helperModuleTransforms().hasExports)(meta)) { + amdArgs.push(_core().types.stringLiteral("exports")); + importNames.push(_core().types.identifier(meta.exportName)); + } + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + source = _step$value[0], + metadata = _step$value[1]; + + amdArgs.push(_core().types.stringLiteral(source)); + importNames.push(_core().types.identifier(metadata.name)); + + if (!(0, _helperModuleTransforms().isSideEffectImport)(metadata)) { + var interop = (0, _helperModuleTransforms().wrapInterop)(path, _core().types.identifier(metadata.name), metadata.interop); + + if (interop) { + var header = _core().types.expressionStatement(_core().types.assignmentExpression("=", _core().types.identifier(metadata.name), interop)); + + header.loc = metadata.loc; + headers.push(header); + } + } + + headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms().buildNamespaceInitStatements)(meta, metadata, loose))); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + (0, _helperModuleTransforms().ensureStatementsHoisted)(headers); + path.unshiftContainer("body", headers); + injectWrapper(path, buildWrapper({ + MODULE_NAME: moduleName, + AMD_ARGUMENTS: _core().types.arrayExpression(amdArgs), + IMPORT_NAMES: importNames + })); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"babel-plugin-dynamic-import-node/utils":283}],121:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _templateObject3() { + var data = _taggedTemplateLiteral(["\n var ", " = ", ";\n "]); + + _templateObject3 = function _templateObject3() { + return data; + }; + + return data; +} + +function _templateObject2() { + var data = _taggedTemplateLiteral(["\n function ", "() {\n const data = ", ";\n ", " = function(){ return data; };\n return data;\n }\n "]); + + _templateObject2 = function _templateObject2() { + return data; + }; + + return data; +} + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n (function(){\n throw new Error(\n \"The CommonJS '\" + \"", "\" + \"' variable is not available in ES6 modules.\" +\n \"Consider setting setting sourceType:script or sourceType:unambiguous in your \" +\n \"Babel config for this file.\");\n })()\n "]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperModuleTransforms = require("@babel/helper-module-transforms"); + +var _helperSimpleAccess = _interopRequireDefault(require("@babel/helper-simple-access")); + +var _core = require("@babel/core"); + +var _utils = require("babel-plugin-dynamic-import-node/utils"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var transformImportCall = (0, _utils.createDynamicImportTransform)(api); + var loose = options.loose, + _options$strictNamesp = options.strictNamespace, + strictNamespace = _options$strictNamesp === void 0 ? false : _options$strictNamesp, + _options$mjsStrictNam = options.mjsStrictNamespace, + mjsStrictNamespace = _options$mjsStrictNam === void 0 ? true : _options$mjsStrictNam, + allowTopLevelThis = options.allowTopLevelThis, + strict = options.strict, + strictMode = options.strictMode, + noInterop = options.noInterop, + _options$lazy = options.lazy, + lazy = _options$lazy === void 0 ? false : _options$lazy, + _options$allowCommonJ = options.allowCommonJSExports, + allowCommonJSExports = _options$allowCommonJ === void 0 ? true : _options$allowCommonJ; + + if (typeof lazy !== "boolean" && typeof lazy !== "function" && (!Array.isArray(lazy) || !lazy.every(function (item) { + return typeof item === "string"; + }))) { + throw new Error(".lazy must be a boolean, array of strings, or a function"); + } + + if (typeof strictNamespace !== "boolean") { + throw new Error(".strictNamespace must be a boolean, or undefined"); + } + + if (typeof mjsStrictNamespace !== "boolean") { + throw new Error(".mjsStrictNamespace must be a boolean, or undefined"); + } + + var getAssertion = function getAssertion(localName) { + return _core.template.expression.ast(_templateObject(), localName); + }; + + var moduleExportsVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path) { + var localName = path.node.name; + if (localName !== "module" && localName !== "exports") return; + var localBinding = path.scope.getBinding(localName); + var rootBinding = this.scope.getBinding(localName); + + if (rootBinding !== localBinding || path.parentPath.isObjectProperty({ + value: path.node + }) && path.parentPath.parentPath.isObjectPattern() || path.parentPath.isAssignmentExpression({ + left: path.node + }) || path.isAssignmentExpression({ + left: path.node + })) { + return; + } + + path.replaceWith(getAssertion(localName)); + }, + AssignmentExpression: function AssignmentExpression(path) { + var _this = this; + + var left = path.get("left"); + + if (left.isIdentifier()) { + var localName = path.node.name; + if (localName !== "module" && localName !== "exports") return; + var localBinding = path.scope.getBinding(localName); + var rootBinding = this.scope.getBinding(localName); + if (rootBinding !== localBinding) return; + var right = path.get("right"); + right.replaceWith(_core.types.sequenceExpression([right.node, getAssertion(localName)])); + } else if (left.isPattern()) { + var ids = left.getOuterBindingIdentifiers(); + var _localName = Object.keys(ids).filter(function (localName) { + if (localName !== "module" && localName !== "exports") return false; + return _this.scope.getBinding(localName) === path.scope.getBinding(localName); + })[0]; + + if (_localName) { + var _right = path.get("right"); + + _right.replaceWith(_core.types.sequenceExpression([_right.node, getAssertion(_localName)])); + } + } + } + }; + return { + name: "transform-modules-commonjs", + pre: function pre() { + this.file.set("@babel/plugin-transform-modules-*", "commonjs"); + }, + visitor: { + CallExpression: function CallExpression(path) { + if (!this.file.has("@babel/plugin-proposal-dynamic-import")) return; + if (!path.get("callee").isImport()) return; + var scope = path.scope; + + do { + scope.rename("require"); + } while (scope = scope.parent); + + transformImportCall(this, path.get("callee")); + }, + Program: { + exit: function exit(path, state) { + if (!(0, _helperModuleTransforms.isModule)(path)) return; + path.scope.rename("exports"); + path.scope.rename("module"); + path.scope.rename("require"); + path.scope.rename("__filename"); + path.scope.rename("__dirname"); + + if (!allowCommonJSExports) { + (0, _helperSimpleAccess.default)(path, new Set(["module", "exports"])); + path.traverse(moduleExportsVisitor, { + scope: path.scope + }); + } + + var moduleName = this.getModuleName(); + if (moduleName) moduleName = _core.types.stringLiteral(moduleName); + + var _ref = (0, _helperModuleTransforms.rewriteModuleStatementsAndPrepareHeader)(path, { + exportName: "exports", + loose: loose, + strict: strict, + strictMode: strictMode, + allowTopLevelThis: allowTopLevelThis, + noInterop: noInterop, + lazy: lazy, + esNamespaceOnly: typeof state.filename === "string" && /\.mjs$/.test(state.filename) ? mjsStrictNamespace : strictNamespace + }), + meta = _ref.meta, + headers = _ref.headers; + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + source = _step$value[0], + metadata = _step$value[1]; + + var loadExpr = _core.types.callExpression(_core.types.identifier("require"), [_core.types.stringLiteral(source)]); + + var header = void 0; + + if ((0, _helperModuleTransforms.isSideEffectImport)(metadata)) { + if (metadata.lazy) throw new Error("Assertion failure"); + header = _core.types.expressionStatement(loadExpr); + } else { + var init = (0, _helperModuleTransforms.wrapInterop)(path, loadExpr, metadata.interop) || loadExpr; + + if (metadata.lazy) { + header = _core.template.ast(_templateObject2(), metadata.name, init, metadata.name); + } else { + header = _core.template.ast(_templateObject3(), metadata.name, init); + } + } + + header.loc = metadata.loc; + headers.push(header); + headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms.buildNamespaceInitStatements)(meta, metadata, loose))); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + (0, _helperModuleTransforms.ensureStatementsHoisted)(headers); + path.unshiftContainer("body", headers); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"@babel/helper-simple-access":83,"babel-plugin-dynamic-import-node/utils":283}],122:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _helperHoistVariables = _interopRequireDefault(require("@babel/helper-hoist-variables")); + +var _core = require("@babel/core"); + +var _utils = require("babel-plugin-dynamic-import-node/utils"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var buildTemplate = (0, _core.template)("\n SYSTEM_REGISTER(MODULE_NAME, SOURCES, function (EXPORT_IDENTIFIER, CONTEXT_IDENTIFIER) {\n \"use strict\";\n BEFORE_BODY;\n return {\n setters: SETTERS,\n execute: function () {\n BODY;\n }\n };\n });\n"); +var buildExportAll = (0, _core.template)("\n for (var KEY in TARGET) {\n if (KEY !== \"default\" && KEY !== \"__esModule\") EXPORT_OBJ[KEY] = TARGET[KEY];\n }\n"); +var MISSING_PLUGIN_WARNING = "WARNING: Dynamic import() transformation must be enabled using the\n @babel/plugin-proposal-dynamic-import plugin. Babel 8 will\n no longer transform import() without using that plugin.\n"; + +function constructExportCall(path, exportIdent, exportNames, exportValues, exportStarTarget) { + var statements = []; + + if (exportNames.length === 1) { + statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.stringLiteral(exportNames[0]), exportValues[0]]))); + } else if (!exportStarTarget) { + var objectProperties = []; + + for (var i = 0; i < exportNames.length; i++) { + var exportName = exportNames[i]; + var exportValue = exportValues[i]; + objectProperties.push(_core.types.objectProperty(_core.types.identifier(exportName), exportValue)); + } + + statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.objectExpression(objectProperties)]))); + } else { + var exportObj = path.scope.generateUid("exportObj"); + statements.push(_core.types.variableDeclaration("var", [_core.types.variableDeclarator(_core.types.identifier(exportObj), _core.types.objectExpression([]))])); + statements.push(buildExportAll({ + KEY: path.scope.generateUidIdentifier("key"), + EXPORT_OBJ: _core.types.identifier(exportObj), + TARGET: exportStarTarget + })); + + for (var _i = 0; _i < exportNames.length; _i++) { + var _exportName = exportNames[_i]; + var _exportValue = exportValues[_i]; + statements.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.memberExpression(_core.types.identifier(exportObj), _core.types.identifier(_exportName)), _exportValue))); + } + + statements.push(_core.types.expressionStatement(_core.types.callExpression(exportIdent, [_core.types.identifier(exportObj)]))); + } + + return statements; +} + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var _options$systemGlobal = options.systemGlobal, + systemGlobal = _options$systemGlobal === void 0 ? "System" : _options$systemGlobal; + var IGNORE_REASSIGNMENT_SYMBOL = Symbol(); + var reassignmentVisitor = { + "AssignmentExpression|UpdateExpression": function AssignmentExpressionUpdateExpression(path) { + if (path.node[IGNORE_REASSIGNMENT_SYMBOL]) return; + path.node[IGNORE_REASSIGNMENT_SYMBOL] = true; + var arg = path.get(path.isAssignmentExpression() ? "left" : "argument"); + + if (arg.isObjectPattern() || arg.isArrayPattern()) { + var exprs = [path.node]; + + for (var _i2 = 0, _Object$keys = Object.keys(arg.getBindingIdentifiers()); _i2 < _Object$keys.length; _i2++) { + var _name = _Object$keys[_i2]; + + if (this.scope.getBinding(_name) !== path.scope.getBinding(_name)) { + return; + } + + var _exportedNames = this.exports[_name]; + if (!_exportedNames) return; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = _exportedNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var exportedName = _step.value; + exprs.push(this.buildCall(exportedName, _core.types.identifier(_name)).expression); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + path.replaceWith(_core.types.sequenceExpression(exprs)); + return; + } + + if (!arg.isIdentifier()) return; + var name = arg.node.name; + if (this.scope.getBinding(name) !== path.scope.getBinding(name)) return; + var exportedNames = this.exports[name]; + if (!exportedNames) return; + var node = path.node; + var isPostUpdateExpression = path.isUpdateExpression({ + prefix: false + }); + + if (isPostUpdateExpression) { + node = _core.types.binaryExpression(node.operator[0], _core.types.unaryExpression("+", _core.types.cloneNode(node.argument)), _core.types.numericLiteral(1)); + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = exportedNames[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _exportedName = _step2.value; + node = this.buildCall(_exportedName, node).expression; + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + if (isPostUpdateExpression) { + node = _core.types.sequenceExpression([node, path.node]); + } + + path.replaceWith(node); + } + }; + return { + name: "transform-modules-systemjs", + pre: function pre() { + this.file.set("@babel/plugin-transform-modules-*", "systemjs"); + }, + visitor: { + CallExpression: function CallExpression(path, state) { + if (_core.types.isImport(path.node.callee)) { + if (!this.file.has("@babel/plugin-proposal-dynamic-import")) { + console.warn(MISSING_PLUGIN_WARNING); + } + + path.replaceWith(_core.types.callExpression(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("import")), [(0, _utils.getImportSource)(_core.types, path.node)])); + } + }, + MetaProperty: function MetaProperty(path, state) { + if (path.node.meta.name === "import" && path.node.property.name === "meta") { + path.replaceWith(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("meta"))); + } + }, + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + if (path.node.name === "__moduleName" && !path.scope.hasBinding("__moduleName")) { + path.replaceWith(_core.types.memberExpression(_core.types.identifier(state.contextIdent), _core.types.identifier("id"))); + } + }, + Program: { + enter: function enter(path, state) { + state.contextIdent = path.scope.generateUid("context"); + }, + exit: function exit(path, state) { + var undefinedIdent = path.scope.buildUndefinedNode(); + var exportIdent = path.scope.generateUid("export"); + var contextIdent = state.contextIdent; + var exportMap = Object.create(null); + var modules = []; + var beforeBody = []; + var setters = []; + var sources = []; + var variableIds = []; + var removedPaths = []; + + function addExportName(key, val) { + exportMap[key] = exportMap[key] || []; + exportMap[key].push(val); + } + + function pushModule(source, key, specifiers) { + var module; + modules.forEach(function (m) { + if (m.key === source) { + module = m; + } + }); + + if (!module) { + modules.push(module = { + key: source, + imports: [], + exports: [] + }); + } + + module[key] = module[key].concat(specifiers); + } + + function buildExportCall(name, val) { + return _core.types.expressionStatement(_core.types.callExpression(_core.types.identifier(exportIdent), [_core.types.stringLiteral(name), val])); + } + + var exportNames = []; + var exportValues = []; + var body = path.get("body"); + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = body[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _path = _step3.value; + + if (_path.isFunctionDeclaration()) { + beforeBody.push(_path.node); + removedPaths.push(_path); + } else if (_path.isClassDeclaration()) { + variableIds.push(_path.node.id); + + _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(_path.node.id), _core.types.toExpression(_path.node)))); + } else if (_path.isImportDeclaration()) { + var source = _path.node.source.value; + pushModule(source, "imports", _path.node.specifiers); + + for (var _i4 = 0, _Object$keys2 = Object.keys(_path.getBindingIdentifiers()); _i4 < _Object$keys2.length; _i4++) { + var name = _Object$keys2[_i4]; + + _path.scope.removeBinding(name); + + variableIds.push(_core.types.identifier(name)); + } + + _path.remove(); + } else if (_path.isExportAllDeclaration()) { + pushModule(_path.node.source.value, "exports", _path.node); + + _path.remove(); + } else if (_path.isExportDefaultDeclaration()) { + var declar = _path.get("declaration"); + + var id = declar.node.id; + + if (declar.isClassDeclaration()) { + if (id) { + exportNames.push("default"); + exportValues.push(undefinedIdent); + variableIds.push(id); + addExportName(id.name, "default"); + + _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(id), _core.types.toExpression(declar.node)))); + } else { + exportNames.push("default"); + exportValues.push(_core.types.toExpression(declar.node)); + removedPaths.push(_path); + } + } else if (declar.isFunctionDeclaration()) { + if (id) { + beforeBody.push(declar.node); + exportNames.push("default"); + exportValues.push(_core.types.cloneNode(id)); + addExportName(id.name, "default"); + } else { + exportNames.push("default"); + exportValues.push(_core.types.toExpression(declar.node)); + } + + removedPaths.push(_path); + } else { + _path.replaceWith(buildExportCall("default", declar.node)); + } + } else if (_path.isExportNamedDeclaration()) { + var _declar = _path.get("declaration"); + + if (_declar.node) { + _path.replaceWith(_declar); + + if (_path.isFunction()) { + var node = _declar.node; + var _name2 = node.id.name; + addExportName(_name2, _name2); + beforeBody.push(node); + exportNames.push(_name2); + exportValues.push(_core.types.cloneNode(node.id)); + removedPaths.push(_path); + } else if (_path.isClass()) { + var _name3 = _declar.node.id.name; + exportNames.push(_name3); + exportValues.push(undefinedIdent); + variableIds.push(_declar.node.id); + + _path.replaceWith(_core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.cloneNode(_declar.node.id), _core.types.toExpression(_declar.node)))); + + addExportName(_name3, _name3); + } else { + for (var _i5 = 0, _Object$keys3 = Object.keys(_declar.getBindingIdentifiers()); _i5 < _Object$keys3.length; _i5++) { + var _name4 = _Object$keys3[_i5]; + addExportName(_name4, _name4); + } + } + } else { + var specifiers = _path.node.specifiers; + + if (specifiers && specifiers.length) { + if (_path.node.source) { + pushModule(_path.node.source.value, "exports", specifiers); + + _path.remove(); + } else { + var nodes = []; + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = specifiers[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var specifier = _step6.value; + + var binding = _path.scope.getBinding(specifier.local.name); + + if (binding && _core.types.isFunctionDeclaration(binding.path.node)) { + exportNames.push(specifier.exported.name); + exportValues.push(_core.types.cloneNode(specifier.local)); + } else if (!binding) { + nodes.push(buildExportCall(specifier.exported.name, specifier.local)); + } + + addExportName(specifier.local.name, specifier.exported.name); + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + + _path.replaceWithMultiple(nodes); + } + } else { + _path.remove(); + } + } + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + modules.forEach(function (specifiers) { + var setterBody = []; + var target = path.scope.generateUid(specifiers.key); + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = specifiers.imports[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var specifier = _step4.value; + + if (_core.types.isImportNamespaceSpecifier(specifier)) { + setterBody.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", specifier.local, _core.types.identifier(target)))); + } else if (_core.types.isImportDefaultSpecifier(specifier)) { + specifier = _core.types.importSpecifier(specifier.local, _core.types.identifier("default")); + } + + if (_core.types.isImportSpecifier(specifier)) { + setterBody.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", specifier.local, _core.types.memberExpression(_core.types.identifier(target), specifier.imported)))); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + if (specifiers.exports.length) { + var _exportNames = []; + var _exportValues = []; + var hasExportStar = false; + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = specifiers.exports[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var node = _step5.value; + + if (_core.types.isExportAllDeclaration(node)) { + hasExportStar = true; + } else if (_core.types.isExportSpecifier(node)) { + _exportNames.push(node.exported.name); + + _exportValues.push(_core.types.memberExpression(_core.types.identifier(target), node.local)); + } else {} + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + + setterBody = setterBody.concat(constructExportCall(path, _core.types.identifier(exportIdent), _exportNames, _exportValues, hasExportStar ? _core.types.identifier(target) : null)); + } + + sources.push(_core.types.stringLiteral(specifiers.key)); + setters.push(_core.types.functionExpression(null, [_core.types.identifier(target)], _core.types.blockStatement(setterBody))); + }); + var moduleName = this.getModuleName(); + if (moduleName) moduleName = _core.types.stringLiteral(moduleName); + (0, _helperHoistVariables.default)(path, function (id, name, hasInit) { + variableIds.push(id); + + if (!hasInit) { + exportNames.push(name); + exportValues.push(undefinedIdent); + } + }, null); + + if (variableIds.length) { + beforeBody.unshift(_core.types.variableDeclaration("var", variableIds.map(function (id) { + return _core.types.variableDeclarator(id); + }))); + } + + if (exportNames.length) { + beforeBody = beforeBody.concat(constructExportCall(path, _core.types.identifier(exportIdent), exportNames, exportValues, null)); + } + + path.traverse(reassignmentVisitor, { + exports: exportMap, + buildCall: buildExportCall, + scope: path.scope + }); + + for (var _i3 = 0, _removedPaths = removedPaths; _i3 < _removedPaths.length; _i3++) { + var _path2 = _removedPaths[_i3]; + + _path2.remove(); + } + + path.node.body = [buildTemplate({ + SYSTEM_REGISTER: _core.types.memberExpression(_core.types.identifier(systemGlobal), _core.types.identifier("register")), + BEFORE_BODY: beforeBody, + MODULE_NAME: moduleName, + SETTERS: _core.types.arrayExpression(setters), + SOURCES: _core.types.arrayExpression(sources), + BODY: path.node.body, + EXPORT_IDENTIFIER: _core.types.identifier(exportIdent), + CONTEXT_IDENTIFIER: _core.types.identifier(contextIdent) + })]; + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-hoist-variables":68,"@babel/helper-plugin-utils":79,"babel-plugin-dynamic-import-node/utils":283}],123:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _path = require("path"); + +var _helperModuleTransforms = require("@babel/helper-module-transforms"); + +var _core = require("@babel/core"); + +var buildPrerequisiteAssignment = (0, _core.template)("\n GLOBAL_REFERENCE = GLOBAL_REFERENCE || {}\n"); +var buildWrapper = (0, _core.template)("\n (function (global, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(MODULE_NAME, AMD_ARGUMENTS, factory);\n } else if (typeof exports !== \"undefined\") {\n factory(COMMONJS_ARGUMENTS);\n } else {\n var mod = { exports: {} };\n factory(BROWSER_ARGUMENTS);\n\n GLOBAL_TO_ASSIGN;\n }\n })(\n typeof globalThis === \"object\" ? globalThis\n : typeof self === \"object\" ? self\n : this,\n function(IMPORT_NAMES) {\n })\n"); + +var _default = (0, _helperPluginUtils.declare)(function (api, options) { + api.assertVersion(7); + var globals = options.globals, + exactGlobals = options.exactGlobals, + loose = options.loose, + allowTopLevelThis = options.allowTopLevelThis, + strict = options.strict, + strictMode = options.strictMode, + noInterop = options.noInterop; + + function buildBrowserInit(browserGlobals, exactGlobals, filename, moduleName) { + var moduleNameOrBasename = moduleName ? moduleName.value : (0, _path.basename)(filename, (0, _path.extname)(filename)); + + var globalToAssign = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(moduleNameOrBasename))); + + var initAssignments = []; + + if (exactGlobals) { + var globalName = browserGlobals[moduleNameOrBasename]; + + if (globalName) { + initAssignments = []; + var members = globalName.split("."); + globalToAssign = members.slice(1).reduce(function (accum, curr) { + initAssignments.push(buildPrerequisiteAssignment({ + GLOBAL_REFERENCE: _core.types.cloneNode(accum) + })); + return _core.types.memberExpression(accum, _core.types.identifier(curr)); + }, _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(members[0]))); + } + } + + initAssignments.push(_core.types.expressionStatement(_core.types.assignmentExpression("=", globalToAssign, _core.types.memberExpression(_core.types.identifier("mod"), _core.types.identifier("exports"))))); + return initAssignments; + } + + function buildBrowserArg(browserGlobals, exactGlobals, source) { + var memberExpression; + + if (exactGlobals) { + var globalRef = browserGlobals[source]; + + if (globalRef) { + memberExpression = globalRef.split(".").reduce(function (accum, curr) { + return _core.types.memberExpression(accum, _core.types.identifier(curr)); + }, _core.types.identifier("global")); + } else { + memberExpression = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(source))); + } + } else { + var requireName = (0, _path.basename)(source, (0, _path.extname)(source)); + var globalName = browserGlobals[requireName] || requireName; + memberExpression = _core.types.memberExpression(_core.types.identifier("global"), _core.types.identifier(_core.types.toIdentifier(globalName))); + } + + return memberExpression; + } + + return { + name: "transform-modules-umd", + visitor: { + Program: { + exit: function exit(path) { + if (!(0, _helperModuleTransforms.isModule)(path)) return; + var browserGlobals = globals || {}; + var moduleName = this.getModuleName(); + if (moduleName) moduleName = _core.types.stringLiteral(moduleName); + + var _ref = (0, _helperModuleTransforms.rewriteModuleStatementsAndPrepareHeader)(path, { + loose: loose, + strict: strict, + strictMode: strictMode, + allowTopLevelThis: allowTopLevelThis, + noInterop: noInterop + }), + meta = _ref.meta, + headers = _ref.headers; + + var amdArgs = []; + var commonjsArgs = []; + var browserArgs = []; + var importNames = []; + + if ((0, _helperModuleTransforms.hasExports)(meta)) { + amdArgs.push(_core.types.stringLiteral("exports")); + commonjsArgs.push(_core.types.identifier("exports")); + browserArgs.push(_core.types.memberExpression(_core.types.identifier("mod"), _core.types.identifier("exports"))); + importNames.push(_core.types.identifier(meta.exportName)); + } + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = meta.source[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _step$value = _slicedToArray(_step.value, 2), + source = _step$value[0], + metadata = _step$value[1]; + + amdArgs.push(_core.types.stringLiteral(source)); + commonjsArgs.push(_core.types.callExpression(_core.types.identifier("require"), [_core.types.stringLiteral(source)])); + browserArgs.push(buildBrowserArg(browserGlobals, exactGlobals, source)); + importNames.push(_core.types.identifier(metadata.name)); + + if (!(0, _helperModuleTransforms.isSideEffectImport)(metadata)) { + var interop = (0, _helperModuleTransforms.wrapInterop)(path, _core.types.identifier(metadata.name), metadata.interop); + + if (interop) { + var header = _core.types.expressionStatement(_core.types.assignmentExpression("=", _core.types.identifier(metadata.name), interop)); + + header.loc = meta.loc; + headers.push(header); + } + } + + headers.push.apply(headers, _toConsumableArray((0, _helperModuleTransforms.buildNamespaceInitStatements)(meta, metadata, loose))); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + (0, _helperModuleTransforms.ensureStatementsHoisted)(headers); + path.unshiftContainer("body", headers); + var _path$node = path.node, + body = _path$node.body, + directives = _path$node.directives; + path.node.directives = []; + path.node.body = []; + var umdWrapper = path.pushContainer("body", [buildWrapper({ + MODULE_NAME: moduleName, + AMD_ARGUMENTS: _core.types.arrayExpression(amdArgs), + COMMONJS_ARGUMENTS: commonjsArgs, + BROWSER_ARGUMENTS: browserArgs, + IMPORT_NAMES: importNames, + GLOBAL_TO_ASSIGN: buildBrowserInit(browserGlobals, exactGlobals, this.filename || "unknown", moduleName) + })])[0]; + var umdFactory = umdWrapper.get("expression.arguments")[1].get("body"); + umdFactory.pushContainer("directives", directives); + umdFactory.pushContainer("body", body); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-module-transforms":74,"@babel/helper-plugin-utils":79,"path":1052}],124:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); + +function _default(core, options) { + var _options$runtime = options.runtime, + runtime = _options$runtime === void 0 ? true : _options$runtime; + + if (typeof runtime !== "boolean") { + throw new Error("The 'runtime' option must be boolean"); + } + + return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ + name: "transform-named-capturing-groups-regex", + feature: "namedCaptureGroups", + options: { + runtime: runtime + } + }); +} + +},{"@babel/helper-create-regexp-features-plugin":61}],125:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-new-target", + visitor: { + MetaProperty: function MetaProperty(path) { + var meta = path.get("meta"); + var property = path.get("property"); + var scope = path.scope; + + if (meta.isIdentifier({ + name: "new" + }) && property.isIdentifier({ + name: "target" + })) { + var func = path.findParent(function (path) { + if (path.isClass()) return true; + + if (path.isFunction() && !path.isArrowFunctionExpression()) { + if (path.isClassMethod({ + kind: "constructor" + })) { + return false; + } + + return true; + } + + return false; + }); + + if (!func) { + throw path.buildCodeFrameError("new.target must be under a (non-arrow) function or a class."); + } + + var node = func.node; + + if (!node.id) { + if (func.isMethod()) { + path.replaceWith(scope.buildUndefinedNode()); + return; + } + + node.id = scope.generateUidIdentifier("target"); + } + + var _constructor = _core().types.memberExpression(_core().types.thisExpression(), _core().types.identifier("constructor")); + + if (func.isClass()) { + path.replaceWith(_constructor); + return; + } + + path.replaceWith(_core().types.conditionalExpression(_core().types.binaryExpression("instanceof", _core().types.thisExpression(), _core().types.cloneNode(node.id)), _constructor, scope.buildUndefinedNode())); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],126:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _helperReplaceSupers() { + var data = _interopRequireDefault(require("@babel/helper-replace-supers")); + + _helperReplaceSupers = function _helperReplaceSupers() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function replacePropertySuper(path, getObjectRef, file) { + var replaceSupers = new (_helperReplaceSupers().default)({ + getObjectRef: getObjectRef, + methodPath: path, + file: file + }); + replaceSupers.replace(); +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-object-super", + visitor: { + ObjectExpression: function ObjectExpression(path, state) { + var objectRef; + + var getObjectRef = function getObjectRef() { + return objectRef = objectRef || path.scope.generateUidIdentifier("obj"); + }; + + path.get("properties").forEach(function (propPath) { + if (!propPath.isMethod()) return; + replacePropertySuper(propPath, getObjectRef, state); + }); + + if (objectRef) { + path.scope.push({ + id: _core().types.cloneNode(objectRef) + }); + path.replaceWith(_core().types.assignmentExpression("=", _core().types.cloneNode(objectRef), path.node)); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-replace-supers":82}],127:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +var _params = _interopRequireDefault(require("./params")); + +var _rest = _interopRequireDefault(require("./rest")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose; + return { + name: "transform-parameters", + visitor: { + Function: function Function(path) { + if (path.isArrowFunctionExpression() && path.get("params").some(function (param) { + return param.isRestElement() || param.isAssignmentPattern(); + })) { + path.arrowFunctionToExpression(); + } + + var convertedRest = (0, _rest.default)(path); + var convertedParams = (0, _params.default)(path, loose); + + if (convertedRest || convertedParams) { + path.scope.crawl(); + } + } + } + }; +}); + +exports.default = _default; + +},{"./params":128,"./rest":129,"@babel/helper-plugin-utils":79}],128:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = convertFunctionParams; + +function _helperCallDelegate() { + var data = _interopRequireDefault(require("@babel/helper-call-delegate")); + + _helperCallDelegate = function _helperCallDelegate() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var buildDefaultParam = (0, _core().template)("\n let VARIABLE_NAME =\n arguments.length > ARGUMENT_KEY && arguments[ARGUMENT_KEY] !== undefined ?\n arguments[ARGUMENT_KEY]\n :\n DEFAULT_VALUE;\n"); +var buildLooseDefaultParam = (0, _core().template)("\n if (ASSIGNMENT_IDENTIFIER === UNDEFINED) {\n ASSIGNMENT_IDENTIFIER = DEFAULT_VALUE;\n }\n"); +var buildLooseDestructuredDefaultParam = (0, _core().template)("\n let ASSIGNMENT_IDENTIFIER = PARAMETER_NAME === UNDEFINED ? DEFAULT_VALUE : PARAMETER_NAME ;\n"); +var buildSafeArgumentsAccess = (0, _core().template)("\n let $0 = arguments.length > $1 ? arguments[$1] : undefined;\n"); + +function isSafeBinding(scope, node) { + if (!scope.hasOwnBinding(node.name)) return true; + + var _scope$getOwnBinding = scope.getOwnBinding(node.name), + kind = _scope$getOwnBinding.kind; + + return kind === "param" || kind === "local"; +} + +var iifeVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + var scope = path.scope, + node = path.node; + + if (node.name === "eval" || !isSafeBinding(scope, node)) { + state.iife = true; + path.stop(); + } + }, + Scope: function Scope(path) { + path.skip(); + } +}; + +function convertFunctionParams(path, loose) { + var node = path.node, + scope = path.scope; + var state = { + iife: false, + scope: scope + }; + var body = []; + var params = path.get("params"); + var firstOptionalIndex = null; + + for (var i = 0; i < params.length; i++) { + var param = params[i]; + var paramIsAssignmentPattern = param.isAssignmentPattern(); + + if (paramIsAssignmentPattern && (loose || node.kind === "set")) { + var left = param.get("left"); + var right = param.get("right"); + var undefinedNode = scope.buildUndefinedNode(); + + if (left.isIdentifier()) { + body.push(buildLooseDefaultParam({ + ASSIGNMENT_IDENTIFIER: _core().types.cloneNode(left.node), + DEFAULT_VALUE: right.node, + UNDEFINED: undefinedNode + })); + param.replaceWith(left.node); + } else if (left.isObjectPattern() || left.isArrayPattern()) { + var paramName = scope.generateUidIdentifier(); + body.push(buildLooseDestructuredDefaultParam({ + ASSIGNMENT_IDENTIFIER: left.node, + DEFAULT_VALUE: right.node, + PARAMETER_NAME: _core().types.cloneNode(paramName), + UNDEFINED: undefinedNode + })); + param.replaceWith(paramName); + } + } else if (paramIsAssignmentPattern) { + if (firstOptionalIndex === null) firstOptionalIndex = i; + + var _left = param.get("left"); + + var _right = param.get("right"); + + if (!state.iife) { + if (_right.isIdentifier() && !isSafeBinding(scope, _right.node)) { + state.iife = true; + } else { + _right.traverse(iifeVisitor, state); + } + } + + var defNode = buildDefaultParam({ + VARIABLE_NAME: _left.node, + DEFAULT_VALUE: _right.node, + ARGUMENT_KEY: _core().types.numericLiteral(i) + }); + body.push(defNode); + } else if (firstOptionalIndex !== null) { + var _defNode = buildSafeArgumentsAccess([param.node, _core().types.numericLiteral(i)]); + + body.push(_defNode); + } else if (param.isObjectPattern() || param.isArrayPattern()) { + var uid = path.scope.generateUidIdentifier("ref"); + + var _defNode2 = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(param.node, uid)]); + + body.push(_defNode2); + param.replaceWith(_core().types.cloneNode(uid)); + } + + if (!state.iife && !param.isIdentifier()) { + param.traverse(iifeVisitor, state); + } + } + + if (body.length === 0) return false; + + if (firstOptionalIndex !== null) { + node.params = node.params.slice(0, firstOptionalIndex); + } + + path.ensureBlock(); + + if (state.iife) { + body.push((0, _helperCallDelegate().default)(path, scope)); + path.set("body", _core().types.blockStatement(body)); + } else { + path.get("body").unshiftContainer("body", body); + } + + return true; +} + +},{"@babel/core":19,"@babel/helper-call-delegate":59}],129:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = convertFunctionRest; + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var buildRest = (0, _core().template)("\n for (var LEN = ARGUMENTS.length,\n ARRAY = new Array(ARRAY_LEN),\n KEY = START;\n KEY < LEN;\n KEY++) {\n ARRAY[ARRAY_KEY] = ARGUMENTS[KEY];\n }\n"); +var restIndex = (0, _core().template)("\n (INDEX < OFFSET || ARGUMENTS.length <= INDEX) ? undefined : ARGUMENTS[INDEX]\n"); +var restIndexImpure = (0, _core().template)("\n REF = INDEX, (REF < OFFSET || ARGUMENTS.length <= REF) ? undefined : ARGUMENTS[REF]\n"); +var restLength = (0, _core().template)("\n ARGUMENTS.length <= OFFSET ? 0 : ARGUMENTS.length - OFFSET\n"); + +function referencesRest(path, state) { + if (path.node.name === state.name) { + return path.scope.bindingIdentifierEquals(state.name, state.outerBinding); + } + + return false; +} + +var memberExpressionOptimisationVisitor = { + Scope: function Scope(path, state) { + if (!path.scope.bindingIdentifierEquals(state.name, state.outerBinding)) { + path.skip(); + } + }, + Flow: function Flow(path) { + if (path.isTypeCastExpression()) return; + path.skip(); + }, + Function: function Function(path, state) { + var oldNoOptimise = state.noOptimise; + state.noOptimise = true; + path.traverse(memberExpressionOptimisationVisitor, state); + state.noOptimise = oldNoOptimise; + path.skip(); + }, + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + var node = path.node; + + if (node.name === "arguments") { + state.deopted = true; + } + + if (!referencesRest(path, state)) return; + + if (state.noOptimise) { + state.deopted = true; + } else { + var parentPath = path.parentPath; + + if (parentPath.listKey === "params" && parentPath.key < state.offset) { + return; + } + + if (parentPath.isMemberExpression({ + object: node + })) { + var grandparentPath = parentPath.parentPath; + var argsOptEligible = !state.deopted && !(grandparentPath.isAssignmentExpression() && parentPath.node === grandparentPath.node.left || grandparentPath.isLVal() || grandparentPath.isForXStatement() || grandparentPath.isUpdateExpression() || grandparentPath.isUnaryExpression({ + operator: "delete" + }) || (grandparentPath.isCallExpression() || grandparentPath.isNewExpression()) && parentPath.node === grandparentPath.node.callee); + + if (argsOptEligible) { + if (parentPath.node.computed) { + if (parentPath.get("property").isBaseType("number")) { + state.candidates.push({ + cause: "indexGetter", + path: path + }); + return; + } + } else if (parentPath.node.property.name === "length") { + state.candidates.push({ + cause: "lengthGetter", + path: path + }); + return; + } + } + } + + if (state.offset === 0 && parentPath.isSpreadElement()) { + var call = parentPath.parentPath; + + if (call.isCallExpression() && call.node.arguments.length === 1) { + state.candidates.push({ + cause: "argSpread", + path: path + }); + return; + } + } + + state.references.push(path); + } + }, + BindingIdentifier: function BindingIdentifier(path, state) { + if (referencesRest(path, state)) { + state.deopted = true; + } + } +}; + +function hasRest(node) { + var length = node.params.length; + return length > 0 && _core().types.isRestElement(node.params[length - 1]); +} + +function optimiseIndexGetter(path, argsId, offset) { + var offsetLiteral = _core().types.numericLiteral(offset); + + var index; + + if (_core().types.isNumericLiteral(path.parent.property)) { + index = _core().types.numericLiteral(path.parent.property.value + offset); + } else if (offset === 0) { + index = path.parent.property; + } else { + index = _core().types.binaryExpression("+", path.parent.property, _core().types.cloneNode(offsetLiteral)); + } + + var scope = path.scope; + + if (!scope.isPure(index)) { + var temp = scope.generateUidIdentifierBasedOnNode(index); + scope.push({ + id: temp, + kind: "var" + }); + path.parentPath.replaceWith(restIndexImpure({ + ARGUMENTS: argsId, + OFFSET: offsetLiteral, + INDEX: index, + REF: _core().types.cloneNode(temp) + })); + } else { + var parentPath = path.parentPath; + parentPath.replaceWith(restIndex({ + ARGUMENTS: argsId, + OFFSET: offsetLiteral, + INDEX: index + })); + var offsetTestPath = parentPath.get("test").get("left"); + var valRes = offsetTestPath.evaluate(); + + if (valRes.confident) { + if (valRes.value === true) { + parentPath.replaceWith(parentPath.scope.buildUndefinedNode()); + } else { + parentPath.get("test").replaceWith(parentPath.get("test").get("right")); + } + } + } +} + +function optimiseLengthGetter(path, argsId, offset) { + if (offset) { + path.parentPath.replaceWith(restLength({ + ARGUMENTS: argsId, + OFFSET: _core().types.numericLiteral(offset) + })); + } else { + path.replaceWith(argsId); + } +} + +function convertFunctionRest(path) { + var node = path.node, + scope = path.scope; + if (!hasRest(node)) return false; + var rest = node.params.pop().argument; + + var argsId = _core().types.identifier("arguments"); + + if (_core().types.isPattern(rest)) { + var pattern = rest; + rest = scope.generateUidIdentifier("ref"); + + var declar = _core().types.variableDeclaration("let", [_core().types.variableDeclarator(pattern, rest)]); + + node.body.body.unshift(declar); + } + + var state = { + references: [], + offset: node.params.length, + argumentsNode: argsId, + outerBinding: scope.getBindingIdentifier(rest.name), + candidates: [], + name: rest.name, + deopted: false + }; + path.traverse(memberExpressionOptimisationVisitor, state); + + if (!state.deopted && !state.references.length) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = state.candidates[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref = _step.value; + var _path = _ref.path, + cause = _ref.cause; + + var clonedArgsId = _core().types.cloneNode(argsId); + + switch (cause) { + case "indexGetter": + optimiseIndexGetter(_path, clonedArgsId, state.offset); + break; + + case "lengthGetter": + optimiseLengthGetter(_path, clonedArgsId, state.offset); + break; + + default: + _path.replaceWith(clonedArgsId); + + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return true; + } + + state.references = state.references.concat(state.candidates.map(function (_ref2) { + var path = _ref2.path; + return path; + })); + + var start = _core().types.numericLiteral(node.params.length); + + var key = scope.generateUidIdentifier("key"); + var len = scope.generateUidIdentifier("len"); + var arrKey, arrLen; + + if (node.params.length) { + arrKey = _core().types.binaryExpression("-", _core().types.cloneNode(key), _core().types.cloneNode(start)); + arrLen = _core().types.conditionalExpression(_core().types.binaryExpression(">", _core().types.cloneNode(len), _core().types.cloneNode(start)), _core().types.binaryExpression("-", _core().types.cloneNode(len), _core().types.cloneNode(start)), _core().types.numericLiteral(0)); + } else { + arrKey = _core().types.identifier(key.name); + arrLen = _core().types.identifier(len.name); + } + + var loop = buildRest({ + ARGUMENTS: argsId, + ARRAY_KEY: arrKey, + ARRAY_LEN: arrLen, + START: start, + ARRAY: rest, + KEY: key, + LEN: len + }); + + if (state.deopted) { + node.body.body.unshift(loop); + } else { + var target = path.getEarliestCommonAncestorFrom(state.references).getStatementParent(); + target.findParent(function (path) { + if (path.isLoop()) { + target = path; + } else { + return path.isFunction(); + } + }); + target.insertBefore(loop); + } + + return true; +} + +},{"@babel/core":19}],130:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-property-literals", + visitor: { + ObjectProperty: { + exit: function exit(_ref) { + var node = _ref.node; + var key = node.key; + + if (!node.computed && _core().types.isIdentifier(key) && !_core().types.isValidES3Identifier(key.name)) { + node.key = _core().types.stringLiteral(key.name); + } + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],131:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "default", { + enumerable: true, + get: function get() { + return _regeneratorTransform.default; + } +}); + +var _regeneratorTransform = _interopRequireDefault(require("regenerator-transform")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +},{"regenerator-transform":1058}],132:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-reserved-words", + visitor: { + "BindingIdentifier|ReferencedIdentifier": function BindingIdentifierReferencedIdentifier(path) { + if (!_core().types.isValidES3Identifier(path.node.name)) { + path.scope.rename(path.node.name); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],133:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-shorthand-properties", + visitor: { + ObjectMethod: function ObjectMethod(path) { + var node = path.node; + + if (node.kind === "method") { + var func = _core().types.functionExpression(null, node.params, node.body, node.generator, node.async); + + func.returnType = node.returnType; + path.replaceWith(_core().types.objectProperty(node.key, func, node.computed)); + } + }, + ObjectProperty: function ObjectProperty(_ref) { + var node = _ref.node; + + if (node.shorthand) { + node.shorthand = false; + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],134:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose; + + function getSpreadLiteral(spread, scope) { + if (loose && !_core().types.isIdentifier(spread.argument, { + name: "arguments" + })) { + return spread.argument; + } else { + return scope.toArray(spread.argument, true); + } + } + + function hasSpread(nodes) { + for (var i = 0; i < nodes.length; i++) { + if (_core().types.isSpreadElement(nodes[i])) { + return true; + } + } + + return false; + } + + function push(_props, nodes) { + if (!_props.length) return _props; + nodes.push(_core().types.arrayExpression(_props)); + return []; + } + + function build(props, scope) { + var nodes = []; + var _props = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = props[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var prop = _step.value; + + if (_core().types.isSpreadElement(prop)) { + _props = push(_props, nodes); + nodes.push(getSpreadLiteral(prop, scope)); + } else { + _props.push(prop); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + push(_props, nodes); + return nodes; + } + + return { + name: "transform-spread", + visitor: { + ArrayExpression: function ArrayExpression(path) { + var node = path.node, + scope = path.scope; + var elements = node.elements; + if (!hasSpread(elements)) return; + var nodes = build(elements, scope); + var first = nodes[0]; + + if (nodes.length === 1 && first !== elements[0].argument) { + path.replaceWith(first); + return; + } + + if (!_core().types.isArrayExpression(first)) { + first = _core().types.arrayExpression([]); + } else { + nodes.shift(); + } + + path.replaceWith(_core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes)); + }, + CallExpression: function CallExpression(path) { + var node = path.node, + scope = path.scope; + var args = node.arguments; + if (!hasSpread(args)) return; + var calleePath = path.get("callee"); + if (calleePath.isSuper()) return; + var contextLiteral = scope.buildUndefinedNode(); + node.arguments = []; + var nodes; + + if (args.length === 1 && args[0].argument.name === "arguments") { + nodes = [args[0].argument]; + } else { + nodes = build(args, scope); + } + + var first = nodes.shift(); + + if (nodes.length) { + node.arguments.push(_core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes)); + } else { + node.arguments.push(first); + } + + var callee = node.callee; + + if (calleePath.isMemberExpression()) { + var temp = scope.maybeGenerateMemoised(callee.object); + + if (temp) { + callee.object = _core().types.assignmentExpression("=", temp, callee.object); + contextLiteral = temp; + } else { + contextLiteral = _core().types.cloneNode(callee.object); + } + + _core().types.appendToMemberExpression(callee, _core().types.identifier("apply")); + } else { + node.callee = _core().types.memberExpression(node.callee, _core().types.identifier("apply")); + } + + if (_core().types.isSuper(contextLiteral)) { + contextLiteral = _core().types.thisExpression(); + } + + node.arguments.unshift(_core().types.cloneNode(contextLiteral)); + }, + NewExpression: function NewExpression(path) { + var node = path.node, + scope = path.scope; + var args = node.arguments; + if (!hasSpread(args)) return; + var nodes = build(args, scope); + var first = nodes.shift(); + + if (nodes.length) { + args = _core().types.callExpression(_core().types.memberExpression(first, _core().types.identifier("concat")), nodes); + } else { + args = first; + } + + path.replaceWith(_core().types.callExpression(path.hub.addHelper("construct"), [node.callee, args])); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],135:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function regex() { + var data = _interopRequireWildcard(require("@babel/helper-regex")); + + regex = function regex() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } else { + var newObj = {}; + + if (obj != null) { + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; + + if (desc.get || desc.set) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + return newObj; + } +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-sticky-regex", + visitor: { + RegExpLiteral: function RegExpLiteral(path) { + var node = path.node; + if (!regex().is(node, "y")) return; + path.replaceWith(_core().types.newExpression(_core().types.identifier("RegExp"), [_core().types.stringLiteral(node.pattern), _core().types.stringLiteral(node.flags)])); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79,"@babel/helper-regex":80}],136:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _templateObject() { + var data = _taggedTemplateLiteral(["\n function ", "() {\n const data = ", ";\n ", " = function() { return data };\n return data;\n } \n "]); + + _templateObject = function _templateObject() { + return data; + }; + + return data; +} + +function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api, options) { + api.assertVersion(7); + var loose = options.loose; + var helperName = "taggedTemplateLiteral"; + if (loose) helperName += "Loose"; + + function buildConcatCallExpressions(items) { + var avail = true; + return items.reduce(function (left, right) { + var canBeInserted = _core().types.isLiteral(right); + + if (!canBeInserted && avail) { + canBeInserted = true; + avail = false; + } + + if (canBeInserted && _core().types.isCallExpression(left)) { + left.arguments.push(right); + return left; + } + + return _core().types.callExpression(_core().types.memberExpression(left, _core().types.identifier("concat")), [right]); + }); + } + + return { + name: "transform-template-literals", + visitor: { + TaggedTemplateExpression: function TaggedTemplateExpression(path) { + var node = path.node; + var quasi = node.quasi; + var strings = []; + var raws = []; + var isStringsRawEqual = true; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = quasi.quasis[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var elem = _step.value; + var _elem$value = elem.value, + raw = _elem$value.raw, + cooked = _elem$value.cooked; + var value = cooked == null ? path.scope.buildUndefinedNode() : _core().types.stringLiteral(cooked); + strings.push(value); + raws.push(_core().types.stringLiteral(raw)); + + if (raw !== cooked) { + isStringsRawEqual = false; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + var scope = path.scope.getProgramParent(); + var templateObject = scope.generateUidIdentifier("templateObject"); + var helperId = this.addHelper(helperName); + var callExpressionInput = [_core().types.arrayExpression(strings)]; + + if (!isStringsRawEqual) { + callExpressionInput.push(_core().types.arrayExpression(raws)); + } + + var lazyLoad = _core().template.ast(_templateObject(), templateObject, _core().types.callExpression(helperId, callExpressionInput), templateObject); + + scope.path.unshiftContainer("body", lazyLoad); + path.replaceWith(_core().types.callExpression(node.tag, [_core().types.callExpression(_core().types.cloneNode(templateObject), [])].concat(_toConsumableArray(quasi.expressions)))); + }, + TemplateLiteral: function TemplateLiteral(path) { + var nodes = []; + var expressions = path.get("expressions"); + var index = 0; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = path.node.quasis[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var elem = _step2.value; + + if (elem.value.cooked) { + nodes.push(_core().types.stringLiteral(elem.value.cooked)); + } + + if (index < expressions.length) { + var expr = expressions[index++]; + var node = expr.node; + + if (!_core().types.isStringLiteral(node, { + value: "" + })) { + nodes.push(node); + } + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var considerSecondNode = !loose || !_core().types.isStringLiteral(nodes[1]); + + if (!_core().types.isStringLiteral(nodes[0]) && considerSecondNode) { + nodes.unshift(_core().types.stringLiteral("")); + } + + var root = nodes[0]; + + if (loose) { + for (var i = 1; i < nodes.length; i++) { + root = _core().types.binaryExpression("+", root, nodes[i]); + } + } else if (nodes.length > 1) { + root = buildConcatCallExpressions(nodes); + } + + path.replaceWith(root); + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],137:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _helperPluginUtils() { + var data = require("@babel/helper-plugin-utils"); + + _helperPluginUtils = function _helperPluginUtils() { + return data; + }; + + return data; +} + +function _core() { + var data = require("@babel/core"); + + _core = function _core() { + return data; + }; + + return data; +} + +var _default = (0, _helperPluginUtils().declare)(function (api) { + api.assertVersion(7); + return { + name: "transform-typeof-symbol", + visitor: { + Scope: function Scope(_ref) { + var scope = _ref.scope; + + if (!scope.getBinding("Symbol")) { + return; + } + + scope.rename("Symbol"); + }, + UnaryExpression: function UnaryExpression(path) { + var node = path.node, + parent = path.parent; + if (node.operator !== "typeof") return; + + if (path.parentPath.isBinaryExpression() && _core().types.EQUALITY_BINARY_OPERATORS.indexOf(parent.operator) >= 0) { + var opposite = path.getOpposite(); + + if (opposite.isLiteral() && opposite.node.value !== "symbol" && opposite.node.value !== "object") { + return; + } + } + + var helper = this.addHelper("typeof"); + var isUnderHelper = path.findParent(function (path) { + return path.isVariableDeclarator() && path.node.id === helper || path.isFunctionDeclaration() && path.node.id && path.node.id.name === helper.name; + }); + + if (isUnderHelper) { + return; + } + + var call = _core().types.callExpression(helper, [node.argument]); + + var arg = path.get("argument"); + + if (arg.isIdentifier() && !path.scope.hasBinding(arg.node.name, true)) { + var unary = _core().types.unaryExpression("typeof", _core().types.cloneNode(node.argument)); + + path.replaceWith(_core().types.conditionalExpression(_core().types.binaryExpression("===", unary, _core().types.stringLiteral("undefined")), _core().types.stringLiteral("undefined"), call)); + } else { + path.replaceWith(call); + } + } + } + }; +}); + +exports.default = _default; + +},{"@babel/core":19,"@babel/helper-plugin-utils":79}],138:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _helperCreateRegexpFeaturesPlugin = require("@babel/helper-create-regexp-features-plugin"); + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +var _default = (0, _helperPluginUtils.declare)(function (api) { + api.assertVersion(7); + return (0, _helperCreateRegexpFeaturesPlugin.createRegExpFeaturePlugin)({ + name: "transform-unicode-regex", + feature: "unicodeFlag" + }); +}); + +exports.default = _default; + +},{"@babel/helper-create-regexp-features-plugin":61,"@babel/helper-plugin-utils":79}],139:[function(require,module,exports){ +module.exports={ + "es6.module": { + "edge": "16", + "firefox": "60", + "chrome": "61", + "safari": "10.1", + "opera": "48", + "ios_saf": "10.3", + "and_chr": "71", + "and_ff": "64" + } +} + +},{}],140:[function(require,module,exports){ +module.exports={ + "es6.array.copy-within": { + "chrome": "45", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "opera": "32", + "electron": "0.35" + }, + "es6.array.every": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.fill": { + "chrome": "45", + "edge": "12", + "firefox": "31", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "opera": "32", + "electron": "0.35" + }, + "es6.array.filter": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.find": { + "chrome": "45", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "opera": "32", + "electron": "0.35" + }, + "es6.array.find-index": { + "chrome": "45", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "5", + "opera": "32", + "electron": "0.35" + }, + "es7.array.flat-map": { + "chrome": "69", + "firefox": "62", + "safari": "12", + "node": "11", + "ios": "12", + "opera": "56", + "electron": "4" + }, + "es6.array.for-each": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.from": { + "chrome": "51", + "edge": "15", + "firefox": "36", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es7.array.includes": { + "chrome": "47", + "edge": "14", + "firefox": "43", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "34", + "electron": "0.36" + }, + "es6.array.index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.is-array": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.iterator": { + "chrome": "38", + "edge": "12", + "firefox": "28", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.array.last-index-of": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.map": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.of": { + "chrome": "45", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "5", + "opera": "32", + "electron": "0.35" + }, + "es6.array.reduce": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.reduce-right": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.some": { + "chrome": "5", + "opera": "10.10", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.array.sort": { + "chrome": "63", + "opera": "50", + "edge": "12", + "firefox": "5", + "safari": "12", + "node": "10", + "ie": "9", + "ios": "12", + "samsung": "8.2", + "electron": "3.1" + }, + "es6.array.species": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.date.now": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.date.to-iso-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.date.to-json": { + "chrome": "5", + "opera": "12.10", + "edge": "12", + "firefox": "4", + "safari": "10", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "10", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.date.to-primitive": { + "chrome": "47", + "edge": "15", + "firefox": "44", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "34", + "electron": "0.36" + }, + "es6.date.to-string": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.function.bind": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "5" + }, + "es6.function.has-instance": { + "chrome": "51", + "edge": "15", + "firefox": "50", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.function.name": { + "chrome": "5", + "opera": "10.50", + "edge": "14", + "firefox": "2", + "safari": "4", + "node": "0.10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.map": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.math.acosh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.asinh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.atanh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.cbrt": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.clz32": { + "chrome": "38", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.cosh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.expm1": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.fround": { + "chrome": "38", + "edge": "12", + "firefox": "26", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.hypot": { + "chrome": "38", + "edge": "12", + "firefox": "27", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.imul": { + "chrome": "30", + "edge": "12", + "firefox": "23", + "safari": "7", + "node": "0.12", + "android": "4.4", + "ios": "7", + "samsung": "2.1", + "opera": "17", + "electron": "0.2" + }, + "es6.math.log1p": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.log10": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.log2": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.sign": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.sinh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.tanh": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.math.trunc": { + "chrome": "38", + "edge": "12", + "firefox": "25", + "safari": "7.1", + "node": "0.12", + "ios": "8", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.number.constructor": { + "chrome": "41", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.number.epsilon": { + "chrome": "34", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.is-finite": { + "chrome": "19", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "2.1", + "electron": "0.2" + }, + "es6.number.is-integer": { + "chrome": "34", + "edge": "12", + "firefox": "16", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.is-nan": { + "chrome": "19", + "edge": "12", + "firefox": "15", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "2.1", + "electron": "0.2" + }, + "es6.number.is-safe-integer": { + "chrome": "34", + "edge": "12", + "firefox": "32", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.max-safe-integer": { + "chrome": "34", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.min-safe-integer": { + "chrome": "34", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.parse-float": { + "chrome": "34", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.number.parse-int": { + "chrome": "34", + "edge": "12", + "firefox": "25", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es6.object.assign": { + "chrome": "49", + "edge": "13", + "firefox": "36", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.object.create": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es7.object.define-getter": { + "chrome": "62", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8.2", + "opera": "49", + "electron": "3.1" + }, + "es7.object.define-setter": { + "chrome": "62", + "edge": "16", + "firefox": "48", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8.2", + "opera": "49", + "electron": "3.1" + }, + "es6.object.define-property": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.object.define-properties": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "4", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es7.object.entries": { + "chrome": "54", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6.2", + "opera": "41", + "electron": "1.5" + }, + "es6.object.freeze": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.get-own-property-descriptor": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es7.object.get-own-property-descriptors": { + "chrome": "54", + "edge": "15", + "firefox": "50", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6.2", + "opera": "41", + "electron": "1.5" + }, + "es6.object.get-own-property-names": { + "chrome": "40", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "27", + "electron": "0.21" + }, + "es6.object.get-prototype-of": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es7.object.lookup-getter": { + "chrome": "62", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8.2", + "opera": "49", + "electron": "3.1" + }, + "es7.object.lookup-setter": { + "chrome": "62", + "firefox": "36", + "safari": "9", + "node": "8.10", + "ios": "9", + "samsung": "8.2", + "opera": "49", + "electron": "3.1" + }, + "es6.object.prevent-extensions": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.to-string": { + "chrome": "57", + "edge": "15", + "firefox": "51", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7.2", + "opera": "44", + "electron": "1.7" + }, + "es6.object.is": { + "chrome": "19", + "edge": "12", + "firefox": "22", + "safari": "9", + "node": "0.12", + "android": "4.1", + "ios": "9", + "samsung": "2.1", + "electron": "0.2" + }, + "es6.object.is-frozen": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.is-sealed": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.is-extensible": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.keys": { + "chrome": "40", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "27", + "electron": "0.21" + }, + "es6.object.seal": { + "chrome": "44", + "edge": "12", + "firefox": "35", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "es6.object.set-prototype-of": { + "chrome": "34", + "edge": "12", + "firefox": "31", + "safari": "9", + "node": "0.12", + "ie": "11", + "ios": "9", + "samsung": "2.1", + "opera": "21", + "electron": "0.2" + }, + "es7.object.values": { + "chrome": "54", + "edge": "14", + "firefox": "47", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6.2", + "opera": "41", + "electron": "1.5" + }, + "es6.promise": { + "chrome": "51", + "edge": "14", + "firefox": "45", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es7.promise.finally": { + "chrome": "63", + "edge": "18", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "samsung": "8.2", + "opera": "50", + "electron": "3.1" + }, + "es6.reflect.apply": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.construct": { + "chrome": "49", + "edge": "13", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.define-property": { + "chrome": "49", + "edge": "13", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.delete-property": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.get": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.get-own-property-descriptor": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.get-prototype-of": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.has": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.is-extensible": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.own-keys": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.prevent-extensions": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.set": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.reflect.set-prototype-of": { + "chrome": "49", + "edge": "12", + "firefox": "42", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.regexp.constructor": { + "chrome": "50", + "firefox": "40", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.regexp.flags": { + "chrome": "49", + "firefox": "37", + "safari": "9", + "node": "6", + "ios": "9", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "es6.regexp.match": { + "chrome": "50", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.regexp.replace": { + "chrome": "50", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.regexp.split": { + "chrome": "50", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.regexp.search": { + "chrome": "50", + "firefox": "49", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.regexp.to-string": { + "chrome": "50", + "firefox": "39", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "es6.set": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.symbol": { + "chrome": "51", + "firefox": "51", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es7.symbol.async-iterator": { + "chrome": "63", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8.2", + "opera": "50", + "electron": "3.1" + }, + "es6.string.anchor": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.big": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.blink": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.bold": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.code-point-at": { + "chrome": "41", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.ends-with": { + "chrome": "41", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.fixed": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.fontcolor": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.fontsize": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.from-code-point": { + "chrome": "41", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.includes": { + "chrome": "41", + "edge": "12", + "firefox": "40", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.italics": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.iterator": { + "chrome": "38", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "es6.string.link": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es7.string.pad-start": { + "chrome": "57", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7.2", + "opera": "44", + "electron": "1.7" + }, + "es7.string.pad-end": { + "chrome": "57", + "edge": "15", + "firefox": "48", + "safari": "10", + "node": "8", + "ios": "10", + "samsung": "7.2", + "opera": "44", + "electron": "1.7" + }, + "es6.string.raw": { + "chrome": "41", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.repeat": { + "chrome": "41", + "edge": "12", + "firefox": "24", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.small": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.starts-with": { + "chrome": "41", + "edge": "12", + "firefox": "29", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "es6.string.strike": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.sub": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.sup": { + "chrome": "5", + "edge": "12", + "firefox": "17", + "safari": "6", + "node": "0.10", + "android": "4", + "ios": "7", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.string.trim": { + "chrome": "5", + "opera": "10.50", + "edge": "12", + "firefox": "3.5", + "safari": "4", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es7.string.trim-left": { + "chrome": "66", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "opera": "53", + "electron": "3.1" + }, + "es7.string.trim-right": { + "chrome": "66", + "firefox": "61", + "safari": "12", + "node": "10", + "ios": "12", + "opera": "53", + "electron": "3.1" + }, + "es6.typed.array-buffer": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.data-view": { + "chrome": "5", + "opera": "12", + "edge": "12", + "firefox": "15", + "safari": "5.1", + "node": "0.10", + "ie": "10", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "1.1" + }, + "es6.typed.int8-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.uint8-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.uint8-clamped-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.int16-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.uint16-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.int32-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.uint32-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.float32-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.typed.float64-array": { + "chrome": "51", + "edge": "13", + "firefox": "48", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.weak-map": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "es6.weak-set": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "9", + "node": "6.5", + "ios": "9", + "samsung": "5", + "opera": "38", + "electron": "1.2" + } +} + +},{}],141:[function(require,module,exports){ +"use strict"; + +module.exports = new Map(); // async -> regenerator is better than async -> generator -> regenerator + +ifIncluded("transform-regenerator").isUnnecessary("transform-async-to-generator"); + +function ifIncluded(name) { + var set = new Set(); + module.exports.set(name, set); + return { + isUnnecessary: function isUnnecessary(name) { + set.add(name); + return this; + } + }; +} + +},{}],142:[function(require,module,exports){ +module.exports={ + "transform-template-literals": { + "chrome": "41", + "edge": "13", + "firefox": "34", + "node": "4", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "transform-literals": { + "chrome": "44", + "edge": "12", + "firefox": "53", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "transform-function-name": { + "chrome": "51", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "transform-arrow-functions": { + "chrome": "47", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "34", + "electron": "0.36" + }, + "transform-block-scoped-functions": { + "chrome": "41", + "edge": "12", + "firefox": "46", + "safari": "10", + "node": "4", + "ie": "11", + "ios": "10", + "samsung": "3.4", + "opera": "28", + "electron": "0.24" + }, + "transform-classes": { + "chrome": "46", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "opera": "33", + "electron": "0.36" + }, + "transform-object-super": { + "chrome": "46", + "edge": "13", + "firefox": "45", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "opera": "33", + "electron": "0.36" + }, + "transform-shorthand-properties": { + "chrome": "43", + "edge": "12", + "firefox": "33", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "4", + "opera": "30", + "electron": "0.29" + }, + "transform-duplicate-keys": { + "chrome": "42", + "edge": "12", + "firefox": "34", + "safari": "9", + "node": "4", + "ios": "9", + "samsung": "3.4", + "opera": "29", + "electron": "0.27" + }, + "transform-computed-properties": { + "chrome": "44", + "edge": "12", + "firefox": "34", + "safari": "7.1", + "node": "4", + "ios": "8", + "samsung": "4", + "opera": "31", + "electron": "0.31" + }, + "transform-for-of": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "transform-sticky-regex": { + "chrome": "49", + "edge": "13", + "firefox": "3", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "transform-dotall-regex": { + "chrome": "62", + "safari": "11.1", + "node": "8.10", + "ios": "11.3", + "samsung": "8.2", + "opera": "49", + "electron": "3.1" + }, + "transform-unicode-regex": { + "chrome": "50", + "edge": "13", + "firefox": "46", + "safari": "12", + "node": "6", + "ios": "12", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "transform-spread": { + "chrome": "46", + "edge": "13", + "firefox": "36", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "opera": "33", + "electron": "0.36" + }, + "transform-parameters": { + "chrome": "49", + "edge": "18", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "transform-destructuring": { + "chrome": "51", + "edge": "15", + "firefox": "53", + "safari": "10", + "node": "6.5", + "ios": "10", + "samsung": "5", + "opera": "38", + "electron": "1.2" + }, + "transform-block-scoping": { + "chrome": "49", + "edge": "14", + "firefox": "51", + "safari": "11", + "node": "6", + "ios": "11", + "samsung": "5", + "opera": "36", + "electron": "1" + }, + "transform-typeof-symbol": { + "chrome": "38", + "edge": "12", + "firefox": "36", + "safari": "9", + "node": "0.12", + "ios": "9", + "samsung": "3", + "opera": "25", + "electron": "0.2" + }, + "transform-new-target": { + "chrome": "46", + "edge": "14", + "firefox": "41", + "safari": "10", + "node": "5", + "ios": "10", + "samsung": "5", + "opera": "33", + "electron": "0.36" + }, + "transform-regenerator": { + "chrome": "50", + "edge": "13", + "firefox": "53", + "safari": "10", + "node": "6", + "ios": "10", + "samsung": "5", + "opera": "37", + "electron": "1.1" + }, + "transform-exponentiation-operator": { + "chrome": "52", + "edge": "14", + "firefox": "52", + "safari": "10.1", + "node": "7", + "ios": "10.3", + "samsung": "6.2", + "opera": "39", + "electron": "1.3" + }, + "transform-async-to-generator": { + "chrome": "55", + "edge": "15", + "firefox": "52", + "safari": "11", + "node": "7.6", + "ios": "11", + "samsung": "6.2", + "opera": "42", + "electron": "1.6" + }, + "proposal-async-generator-functions": { + "chrome": "63", + "firefox": "57", + "safari": "12", + "node": "10", + "ios": "12", + "samsung": "8.2", + "opera": "50", + "electron": "3.1" + }, + "proposal-object-rest-spread": { + "chrome": "60", + "firefox": "55", + "safari": "11.1", + "node": "8.3", + "ios": "11.3", + "samsung": "8.2", + "opera": "47", + "electron": "2.1" + }, + "proposal-unicode-property-regex": { + "chrome": "64", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "opera": "51", + "electron": "3.1" + }, + "proposal-json-strings": { + "chrome": "66", + "firefox": "62", + "safari": "12", + "node": "10", + "ios": "12", + "opera": "53", + "electron": "3.1" + }, + "proposal-optional-catch-binding": { + "chrome": "66", + "firefox": "58", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "opera": "53", + "electron": "3.1" + }, + "transform-named-capturing-groups-regex": { + "chrome": "64", + "safari": "11.1", + "node": "10", + "ios": "11.3", + "opera": "51", + "electron": "3.1" + }, + "transform-member-expression-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "5" + }, + "transform-property-literals": { + "chrome": "7", + "opera": "12", + "edge": "12", + "firefox": "2", + "safari": "5.1", + "node": "0.10", + "ie": "9", + "android": "4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "5" + }, + "transform-reserved-words": { + "chrome": "13", + "opera": "10.50", + "edge": "12", + "firefox": "2", + "safari": "3.1", + "node": "0.10", + "ie": "9", + "android": "4.4", + "ios": "6", + "phantom": "2", + "samsung": "2.1", + "electron": "0.2" + } +} + +},{}],143:[function(require,module,exports){ +"use strict"; + +// These mappings represent the syntax proposals that have been +// shipped by browsers, and are enabled by the `shippedProposals` option. +var proposalPlugins = {}; +var pluginSyntaxMap = new Map([["proposal-async-generator-functions", "syntax-async-generators"], ["proposal-object-rest-spread", "syntax-object-rest-spread"], ["proposal-optional-catch-binding", "syntax-optional-catch-binding"], ["proposal-unicode-property-regex", null], ["proposal-json-strings", "syntax-json-strings"]]); +module.exports = { + proposalPlugins: proposalPlugins, + pluginSyntaxMap: pluginSyntaxMap +}; + +},{}],144:[function(require,module,exports){ +"use strict"; + +module.exports = { + safari: "tp" +}; + +},{}],145:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + "syntax-async-generators": require("@babel/plugin-syntax-async-generators"), + "syntax-dynamic-import": require("@babel/plugin-syntax-dynamic-import"), + "syntax-json-strings": require("@babel/plugin-syntax-json-strings"), + "syntax-object-rest-spread": require("@babel/plugin-syntax-object-rest-spread"), + "syntax-optional-catch-binding": require("@babel/plugin-syntax-optional-catch-binding"), + "syntax-top-level-await": require("@babel/plugin-syntax-top-level-await"), + "transform-async-to-generator": require("@babel/plugin-transform-async-to-generator"), + "proposal-async-generator-functions": require("@babel/plugin-proposal-async-generator-functions"), + "proposal-dynamic-import": require("@babel/plugin-proposal-dynamic-import"), + "proposal-json-strings": require("@babel/plugin-proposal-json-strings"), + "transform-arrow-functions": require("@babel/plugin-transform-arrow-functions"), + "transform-block-scoped-functions": require("@babel/plugin-transform-block-scoped-functions"), + "transform-block-scoping": require("@babel/plugin-transform-block-scoping"), + "transform-classes": require("@babel/plugin-transform-classes"), + "transform-computed-properties": require("@babel/plugin-transform-computed-properties"), + "transform-destructuring": require("@babel/plugin-transform-destructuring"), + "transform-dotall-regex": require("@babel/plugin-transform-dotall-regex"), + "transform-duplicate-keys": require("@babel/plugin-transform-duplicate-keys"), + "transform-for-of": require("@babel/plugin-transform-for-of"), + "transform-function-name": require("@babel/plugin-transform-function-name"), + "transform-literals": require("@babel/plugin-transform-literals"), + "transform-member-expression-literals": require("@babel/plugin-transform-member-expression-literals"), + "transform-modules-amd": require("@babel/plugin-transform-modules-amd"), + "transform-modules-commonjs": require("@babel/plugin-transform-modules-commonjs"), + "transform-modules-systemjs": require("@babel/plugin-transform-modules-systemjs"), + "transform-modules-umd": require("@babel/plugin-transform-modules-umd"), + "transform-named-capturing-groups-regex": require("@babel/plugin-transform-named-capturing-groups-regex"), + "transform-object-super": require("@babel/plugin-transform-object-super"), + "transform-parameters": require("@babel/plugin-transform-parameters"), + "transform-property-literals": require("@babel/plugin-transform-property-literals"), + "transform-reserved-words": require("@babel/plugin-transform-reserved-words"), + "transform-shorthand-properties": require("@babel/plugin-transform-shorthand-properties"), + "transform-spread": require("@babel/plugin-transform-spread"), + "transform-sticky-regex": require("@babel/plugin-transform-sticky-regex"), + "transform-template-literals": require("@babel/plugin-transform-template-literals"), + "transform-typeof-symbol": require("@babel/plugin-transform-typeof-symbol"), + "transform-unicode-regex": require("@babel/plugin-transform-unicode-regex"), + "transform-exponentiation-operator": require("@babel/plugin-transform-exponentiation-operator"), + "transform-new-target": require("@babel/plugin-transform-new-target"), + "proposal-object-rest-spread": require("@babel/plugin-proposal-object-rest-spread"), + "proposal-optional-catch-binding": require("@babel/plugin-proposal-optional-catch-binding"), + "transform-regenerator": require("@babel/plugin-transform-regenerator"), + "proposal-unicode-property-regex": require("@babel/plugin-proposal-unicode-property-regex") +}; +exports.default = _default; + +},{"@babel/plugin-proposal-async-generator-functions":91,"@babel/plugin-proposal-dynamic-import":92,"@babel/plugin-proposal-json-strings":94,"@babel/plugin-proposal-object-rest-spread":95,"@babel/plugin-proposal-optional-catch-binding":96,"@babel/plugin-proposal-unicode-property-regex":97,"@babel/plugin-syntax-async-generators":98,"@babel/plugin-syntax-dynamic-import":99,"@babel/plugin-syntax-json-strings":100,"@babel/plugin-syntax-object-rest-spread":101,"@babel/plugin-syntax-optional-catch-binding":102,"@babel/plugin-syntax-top-level-await":103,"@babel/plugin-transform-arrow-functions":104,"@babel/plugin-transform-async-to-generator":105,"@babel/plugin-transform-block-scoped-functions":106,"@babel/plugin-transform-block-scoping":107,"@babel/plugin-transform-classes":109,"@babel/plugin-transform-computed-properties":111,"@babel/plugin-transform-destructuring":112,"@babel/plugin-transform-dotall-regex":113,"@babel/plugin-transform-duplicate-keys":114,"@babel/plugin-transform-exponentiation-operator":115,"@babel/plugin-transform-for-of":116,"@babel/plugin-transform-function-name":117,"@babel/plugin-transform-literals":118,"@babel/plugin-transform-member-expression-literals":119,"@babel/plugin-transform-modules-amd":120,"@babel/plugin-transform-modules-commonjs":121,"@babel/plugin-transform-modules-systemjs":122,"@babel/plugin-transform-modules-umd":123,"@babel/plugin-transform-named-capturing-groups-regex":124,"@babel/plugin-transform-new-target":125,"@babel/plugin-transform-object-super":126,"@babel/plugin-transform-parameters":127,"@babel/plugin-transform-property-literals":130,"@babel/plugin-transform-regenerator":131,"@babel/plugin-transform-reserved-words":132,"@babel/plugin-transform-shorthand-properties":133,"@babel/plugin-transform-spread":134,"@babel/plugin-transform-sticky-regex":135,"@babel/plugin-transform-template-literals":136,"@babel/plugin-transform-typeof-symbol":137,"@babel/plugin-transform-unicode-regex":138}],146:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.logUsagePolyfills = exports.logEntryPolyfills = exports.logPluginOrPolyfill = void 0; + +var _semver = _interopRequireDefault(require("semver")); + +var _utils = require("./utils"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var wordEnds = function wordEnds(size) { + return size > 1 ? "s" : ""; +}; + +var logPluginOrPolyfill = function logPluginOrPolyfill(item, targetVersions, list) { + var minVersions = list[item] || {}; + var filteredList = Object.keys(targetVersions).reduce(function (result, env) { + var minVersion = minVersions[env]; + var targetVersion = targetVersions[env]; + + if (!minVersion) { + result[env] = (0, _utils.prettifyVersion)(targetVersion); + } else { + var minIsUnreleased = (0, _utils.isUnreleasedVersion)(minVersion, env); + var targetIsUnreleased = (0, _utils.isUnreleasedVersion)(targetVersion, env); + + if (!targetIsUnreleased && (minIsUnreleased || _semver.default.lt(targetVersion.toString(), (0, _utils.semverify)(minVersion)))) { + result[env] = (0, _utils.prettifyVersion)(targetVersion); + } + } + + return result; + }, {}); + var formattedTargets = JSON.stringify(filteredList).replace(/,/g, ", ").replace(/^\{"/, '{ "').replace(/"\}$/, '" }'); + console.log(" ".concat(item, " ").concat(formattedTargets)); +}; + +exports.logPluginOrPolyfill = logPluginOrPolyfill; + +var logEntryPolyfills = function logEntryPolyfills(polyfillName, importPolyfillIncluded, polyfills, filename, polyfillTargets, allBuiltInsList) { + if (process.env.BABEL_ENV === "test") { + filename = filename.replace(/\\/g, "/"); + } + + if (!importPolyfillIncluded) { + console.log("\n[".concat(filename, "] Import of ").concat(polyfillName, " was not found.")); + return; + } + + if (!polyfills.size) { + console.log("\n[".concat(filename, "] Based on your targets, polyfills were not added.")); + return; + } + + console.log("\n[".concat(filename, "] Replaced ").concat(polyfillName, " entries with the following polyfill").concat(wordEnds(polyfills.size), ":")); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = polyfills[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var polyfill = _step.value; + logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +}; + +exports.logEntryPolyfills = logEntryPolyfills; + +var logUsagePolyfills = function logUsagePolyfills(polyfills, filename, polyfillTargets, allBuiltInsList) { + if (process.env.BABEL_ENV === "test") { + filename = filename.replace(/\\/g, "/"); + } + + if (!polyfills.size) { + console.log("\n[".concat(filename, "] Based on your code and targets, core-js polyfills were not added.")); + return; + } + + console.log("\n[".concat(filename, "] Added following core-js polyfill").concat(wordEnds(polyfills.size), ":")); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = polyfills[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var polyfill = _step2.value; + logPluginOrPolyfill(polyfill, polyfillTargets, allBuiltInsList); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } +}; + +exports.logUsagePolyfills = logUsagePolyfills; + +}).call(this,require('_process')) +},{"./utils":164,"_process":1054,"semver":1070}],147:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isPluginRequired = isPluginRequired; +exports.default = _default; +exports.removeUnnecessaryItems = removeUnnecessaryItems; + +var _semver = _interopRequireDefault(require("semver")); + +var _utils = require("./utils"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isPluginRequired(supportedEnvironments, plugin) { + var targetEnvironments = Object.keys(supportedEnvironments); + + if (targetEnvironments.length === 0) { + return true; + } + + var isRequiredForEnvironments = targetEnvironments.filter(function (environment) { + if (!plugin[environment]) { + return true; + } + + var lowestImplementedVersion = plugin[environment]; + var lowestTargetedVersion = supportedEnvironments[environment]; + + if ((0, _utils.isUnreleasedVersion)(lowestTargetedVersion, environment)) { + return false; + } + + if ((0, _utils.isUnreleasedVersion)(lowestImplementedVersion, environment)) { + return true; + } + + if (!_semver.default.valid(lowestTargetedVersion.toString())) { + throw new Error("Invalid version passed for target \"".concat(environment, "\": \"").concat(lowestTargetedVersion, "\". ") + "Versions must be in semver format (major.minor.patch)"); + } + + return _semver.default.gt((0, _utils.semverify)(lowestImplementedVersion), lowestTargetedVersion.toString()); + }); + return isRequiredForEnvironments.length > 0; +} + +function _default(list, includes, excludes, targets, defaultIncludes, defaultExcludes, pluginSyntaxMap) { + var result = new Set(); + + for (var item in list) { + if (!excludes.has(item) && (isPluginRequired(targets, list[item]) || includes.has(item))) { + result.add(item); + } else if (pluginSyntaxMap) { + var shippedProposalsSyntax = pluginSyntaxMap.get(item); + + if (shippedProposalsSyntax) { + result.add(shippedProposalsSyntax); + } + } + } + + if (defaultIncludes) { + defaultIncludes.forEach(function (item) { + return !excludes.has(item) && result.add(item); + }); + } + + if (defaultExcludes) { + defaultExcludes.forEach(function (item) { + return !includes.has(item) && result.delete(item); + }); + } + + return result; +} + +function removeUnnecessaryItems(items, overlapping) { + items.forEach(function (item) { + var names = overlapping.get(item); + if (names) names.forEach(function (name) { + return items.delete(name); + }); + }); +} + +},{"./utils":164,"semver":1070}],148:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +var defaultExcludesForLooseMode = ["transform-typeof-symbol"]; + +function _default(_ref) { + var loose = _ref.loose; + return loose ? defaultExcludesForLooseMode : null; +} + +},{}],149:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "isPluginRequired", { + enumerable: true, + get: function get() { + return _filterItems.isPluginRequired; + } +}); +exports.default = exports.getPolyfillPlugins = exports.getModulesPluginNames = exports.transformIncludesAndExcludes = void 0; + +var _semver = require("semver"); + +var _debug = require("./debug"); + +var _getOptionSpecificExcludes = _interopRequireDefault(require("./get-option-specific-excludes")); + +var _filterItems = _interopRequireWildcard(require("./filter-items")); + +var _moduleTransformations = _interopRequireDefault(require("./module-transformations")); + +var _normalizeOptions = _interopRequireDefault(require("./normalize-options")); + +var _plugins = _interopRequireDefault(require("../data/plugins.json")); + +var _shippedProposals = require("../data/shipped-proposals"); + +var _overlappingPlugins = _interopRequireDefault(require("../data/overlapping-plugins")); + +var _usagePlugin = _interopRequireDefault(require("./polyfills/corejs2/usage-plugin")); + +var _usagePlugin2 = _interopRequireDefault(require("./polyfills/corejs3/usage-plugin")); + +var _usagePlugin3 = _interopRequireDefault(require("./polyfills/regenerator/usage-plugin")); + +var _entryPlugin = _interopRequireDefault(require("./polyfills/corejs2/entry-plugin")); + +var _entryPlugin2 = _interopRequireDefault(require("./polyfills/corejs3/entry-plugin")); + +var _entryPlugin3 = _interopRequireDefault(require("./polyfills/regenerator/entry-plugin")); + +var _targetsParser = _interopRequireDefault(require("./targets-parser")); + +var _availablePlugins = _interopRequireDefault(require("./available-plugins")); + +var _utils = require("./utils"); + +var _helperPluginUtils = require("@babel/helper-plugin-utils"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var pluginListWithoutProposals = (0, _utils.filterStageFromList)(_plugins.default, _shippedProposals.proposalPlugins); + +var getPlugin = function getPlugin(pluginName) { + var plugin = _availablePlugins.default[pluginName]; + + if (!plugin) { + throw new Error("Could not find plugin \"".concat(pluginName, "\". Ensure there is an entry in ./available-plugins.js for it.")); + } + + return plugin; +}; + +var transformIncludesAndExcludes = function transformIncludesAndExcludes(opts) { + return opts.reduce(function (result, opt) { + var target = opt.match(/^(es|es6|es7|esnext|web)\./) ? "builtIns" : "plugins"; + result[target].add(opt); + return result; + }, { + all: opts, + plugins: new Set(), + builtIns: new Set() + }); +}; + +exports.transformIncludesAndExcludes = transformIncludesAndExcludes; + +var getModulesPluginNames = function getModulesPluginNames(_ref) { + var modules = _ref.modules, + transformations = _ref.transformations, + shouldTransformESM = _ref.shouldTransformESM, + shouldTransformDynamicImport = _ref.shouldTransformDynamicImport, + shouldParseTopLevelAwait = _ref.shouldParseTopLevelAwait; + var modulesPluginNames = []; + + if (modules !== false && transformations[modules]) { + if (shouldTransformESM) { + modulesPluginNames.push(transformations[modules]); + } + + if (shouldTransformDynamicImport && shouldTransformESM && modules !== "umd") { + modulesPluginNames.push("proposal-dynamic-import"); + } else { + if (shouldTransformDynamicImport) { + console.warn("Dynamic import can only be supported when transforming ES modules" + " to AMD, CommonJS or SystemJS. Only the parser plugin will be enabled."); + } + + modulesPluginNames.push("syntax-dynamic-import"); + } + } else { + modulesPluginNames.push("syntax-dynamic-import"); + } + + if (shouldParseTopLevelAwait) { + modulesPluginNames.push("syntax-top-level-await"); + } + + return modulesPluginNames; +}; + +exports.getModulesPluginNames = getModulesPluginNames; + +var getPolyfillPlugins = function getPolyfillPlugins(_ref2) { + var useBuiltIns = _ref2.useBuiltIns, + corejs = _ref2.corejs, + polyfillTargets = _ref2.polyfillTargets, + include = _ref2.include, + exclude = _ref2.exclude, + proposals = _ref2.proposals, + shippedProposals = _ref2.shippedProposals, + regenerator = _ref2.regenerator, + debug = _ref2.debug; + var polyfillPlugins = []; + + if (useBuiltIns === "usage" || useBuiltIns === "entry") { + var pluginOptions = { + corejs: corejs, + polyfillTargets: polyfillTargets, + include: include, + exclude: exclude, + proposals: proposals, + shippedProposals: shippedProposals, + regenerator: regenerator, + debug: debug + }; + + if (corejs) { + if (useBuiltIns === "usage") { + if (corejs.major === 2) { + polyfillPlugins.push([_usagePlugin.default, pluginOptions]); + } else { + polyfillPlugins.push([_usagePlugin2.default, pluginOptions]); + } + + if (regenerator) { + polyfillPlugins.push([_usagePlugin3.default, pluginOptions]); + } + } else { + if (corejs.major === 2) { + polyfillPlugins.push([_entryPlugin.default, pluginOptions]); + } else { + polyfillPlugins.push([_entryPlugin2.default, pluginOptions]); + + if (!regenerator) { + polyfillPlugins.push([_entryPlugin3.default, pluginOptions]); + } + } + } + } + } + + return polyfillPlugins; +}; + +exports.getPolyfillPlugins = getPolyfillPlugins; + +function supportsStaticESM(caller) { + return !!(caller && caller.supportsStaticESM); +} + +function supportsDynamicImport(caller) { + return !!(caller && caller.supportsDynamicImport); +} + +function supportsTopLevelAwait(caller) { + return !!(caller && caller.supportsTopLevelAwait); +} + +var _default = (0, _helperPluginUtils.declare)(function (api, opts) { + api.assertVersion(7); + + var _ref3 = (0, _normalizeOptions.default)(opts), + configPath = _ref3.configPath, + debug = _ref3.debug, + optionsExclude = _ref3.exclude, + forceAllTransforms = _ref3.forceAllTransforms, + ignoreBrowserslistConfig = _ref3.ignoreBrowserslistConfig, + optionsInclude = _ref3.include, + loose = _ref3.loose, + modules = _ref3.modules, + shippedProposals = _ref3.shippedProposals, + spec = _ref3.spec, + optionsTargets = _ref3.targets, + useBuiltIns = _ref3.useBuiltIns, + _ref3$corejs = _ref3.corejs, + corejs = _ref3$corejs.version, + proposals = _ref3$corejs.proposals; + + var hasUglifyTarget = false; + + if (optionsTargets && optionsTargets.uglify) { + hasUglifyTarget = true; + delete optionsTargets.uglify; + console.log(""); + console.log("The uglify target has been deprecated. Set the top level"); + console.log("option `forceAllTransforms: true` instead."); + console.log(""); + } + + if (optionsTargets && optionsTargets.esmodules && optionsTargets.browsers) { + console.log(""); + console.log("@babel/preset-env: esmodules and browsers targets have been specified together."); + console.log("`browsers` target, `".concat(optionsTargets.browsers, "` will be ignored.")); + console.log(""); + } + + var targets = (0, _targetsParser.default)(optionsTargets, { + ignoreBrowserslistConfig: ignoreBrowserslistConfig, + configPath: configPath + }); + var include = transformIncludesAndExcludes(optionsInclude); + var exclude = transformIncludesAndExcludes(optionsExclude); + var transformTargets = forceAllTransforms || hasUglifyTarget ? {} : targets; + var modulesPluginNames = getModulesPluginNames({ + modules: modules, + transformations: _moduleTransformations.default, + shouldTransformESM: modules !== "auto" || !api.caller || !api.caller(supportsStaticESM), + shouldTransformDynamicImport: modules !== "auto" || !api.caller || !api.caller(supportsDynamicImport), + shouldParseTopLevelAwait: !api.caller || api.caller(supportsTopLevelAwait) + }); + var pluginNames = (0, _filterItems.default)(shippedProposals ? _plugins.default : pluginListWithoutProposals, include.plugins, exclude.plugins, transformTargets, modulesPluginNames, (0, _getOptionSpecificExcludes.default)({ + loose: loose + }), _shippedProposals.pluginSyntaxMap); + (0, _filterItems.removeUnnecessaryItems)(pluginNames, _overlappingPlugins.default); + var polyfillPlugins = getPolyfillPlugins({ + useBuiltIns: useBuiltIns, + corejs: corejs, + polyfillTargets: targets, + include: include.builtIns, + exclude: exclude.builtIns, + proposals: proposals, + shippedProposals: shippedProposals, + regenerator: pluginNames.has("transform-regenerator"), + debug: debug + }); + var pluginUseBuiltIns = useBuiltIns !== false; + var plugins = Array.from(pluginNames).map(function (pluginName) { + return [getPlugin(pluginName), { + spec: spec, + loose: loose, + useBuiltIns: pluginUseBuiltIns + }]; + }).concat(polyfillPlugins); + + if (debug) { + console.log("@babel/preset-env: `DEBUG` option"); + console.log("\nUsing targets:"); + console.log(JSON.stringify((0, _utils.prettifyTargets)(targets), null, 2)); + console.log("\nUsing modules transform: ".concat(modules.toString())); + console.log("\nUsing plugins:"); + pluginNames.forEach(function (pluginName) { + (0, _debug.logPluginOrPolyfill)(pluginName, targets, _plugins.default); + }); + + if (!useBuiltIns) { + console.log("\nUsing polyfills: No polyfills were added, since the `useBuiltIns` option was not set."); + } else { + console.log("\nUsing polyfills with `".concat(useBuiltIns, "` option:")); + } + } + + return { + plugins: plugins + }; +}); + +exports.default = _default; + +},{"../data/overlapping-plugins":141,"../data/plugins.json":142,"../data/shipped-proposals":143,"./available-plugins":145,"./debug":146,"./filter-items":147,"./get-option-specific-excludes":148,"./module-transformations":150,"./normalize-options":151,"./polyfills/corejs2/entry-plugin":154,"./polyfills/corejs2/usage-plugin":156,"./polyfills/corejs3/entry-plugin":158,"./polyfills/corejs3/usage-plugin":160,"./polyfills/regenerator/entry-plugin":161,"./polyfills/regenerator/usage-plugin":162,"./targets-parser":163,"./utils":164,"@babel/helper-plugin-utils":79,"semver":1070}],150:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = { + auto: "transform-modules-commonjs", + amd: "transform-modules-amd", + commonjs: "transform-modules-commonjs", + cjs: "transform-modules-commonjs", + systemjs: "transform-modules-systemjs", + umd: "transform-modules-umd" +}; +exports.default = _default; + +},{}],151:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.normalizeCoreJSOption = normalizeCoreJSOption; +exports.default = normalizeOptions; +exports.validateUseBuiltInsOption = exports.validateModulesOption = exports.validateIgnoreBrowserslistConfig = exports.validateBoolOption = exports.validateConfigPathOption = exports.checkDuplicateIncludeExcludes = exports.normalizePluginName = void 0; + +var _data = _interopRequireDefault(require("core-js-compat/data")); + +var _invariant = _interopRequireDefault(require("invariant")); + +var _semver = require("semver"); + +var _corejs2BuiltIns = _interopRequireDefault(require("../data/corejs2-built-ins.json")); + +var _plugins = _interopRequireDefault(require("../data/plugins.json")); + +var _moduleTransformations = _interopRequireDefault(require("./module-transformations")); + +var _options = require("./options"); + +var _getPlatformSpecificDefault = require("./polyfills/corejs2/get-platform-specific-default"); + +var _targetsParser = require("./targets-parser"); + +var _utils = require("./utils"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var validateTopLevelOptions = function validateTopLevelOptions(options) { + var validOptions = Object.keys(_options.TopLevelOptions); + + for (var option in options) { + if (!_options.TopLevelOptions[option]) { + throw new Error("Invalid Option: ".concat(option, " is not a valid top-level option.\n Maybe you meant to use '").concat((0, _utils.findSuggestion)(validOptions, option), "'?")); + } + } +}; + +var allPluginsList = Object.keys(_plugins.default); +var modulePlugins = ["proposal-dynamic-import"].concat(_toConsumableArray(Object.keys(_moduleTransformations.default).map(function (m) { + return _moduleTransformations.default[m]; +}))); + +var getValidIncludesAndExcludes = function getValidIncludesAndExcludes(type, corejs) { + return new Set([].concat(_toConsumableArray(allPluginsList), _toConsumableArray(type === "exclude" ? modulePlugins : []), _toConsumableArray(corejs ? corejs == 2 ? [].concat(_toConsumableArray(Object.keys(_corejs2BuiltIns.default)), _toConsumableArray(_getPlatformSpecificDefault.defaultWebIncludes)) : Object.keys(_data.default) : []))); +}; + +var pluginToRegExp = function pluginToRegExp(plugin) { + if (plugin instanceof RegExp) return plugin; + + try { + return new RegExp("^".concat(normalizePluginName(plugin), "$")); + } catch (e) { + return null; + } +}; + +var selectPlugins = function selectPlugins(regexp, type, corejs) { + return Array.from(getValidIncludesAndExcludes(type, corejs)).filter(function (item) { + return regexp instanceof RegExp && regexp.test(item); + }); +}; + +var flatten = function flatten(array) { + var _ref; + + return (_ref = []).concat.apply(_ref, _toConsumableArray(array)); +}; + +var expandIncludesAndExcludes = function expandIncludesAndExcludes() { + var plugins = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var type = arguments.length > 1 ? arguments[1] : undefined; + var corejs = arguments.length > 2 ? arguments[2] : undefined; + if (plugins.length === 0) return []; + var selectedPlugins = plugins.map(function (plugin) { + return selectPlugins(pluginToRegExp(plugin), type, corejs); + }); + var invalidRegExpList = plugins.filter(function (p, i) { + return selectedPlugins[i].length === 0; + }); + (0, _invariant.default)(invalidRegExpList.length === 0, "Invalid Option: The plugins/built-ins '".concat(invalidRegExpList.join(", "), "' passed to the '").concat(type, "' option are not\n valid. Please check data/[plugin-features|built-in-features].js in babel-preset-env")); + return flatten(selectedPlugins); +}; + +var normalizePluginName = function normalizePluginName(plugin) { + return plugin.replace(/^(@babel\/|babel-)(plugin-)?/, ""); +}; + +exports.normalizePluginName = normalizePluginName; + +var checkDuplicateIncludeExcludes = function checkDuplicateIncludeExcludes() { + var include = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var exclude = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var duplicates = include.filter(function (opt) { + return exclude.indexOf(opt) >= 0; + }); + (0, _invariant.default)(duplicates.length === 0, "Invalid Option: The plugins/built-ins '".concat(duplicates.join(", "), "' were found in both the \"include\" and\n \"exclude\" options.")); +}; + +exports.checkDuplicateIncludeExcludes = checkDuplicateIncludeExcludes; + +var normalizeTargets = function normalizeTargets(targets) { + if ((0, _targetsParser.isBrowsersQueryValid)(targets)) { + return { + browsers: targets + }; + } + + return Object.assign({}, targets); +}; + +var validateConfigPathOption = function validateConfigPathOption() { + var configPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : process.cwd(); + (0, _invariant.default)(typeof configPath === "string", "Invalid Option: The configPath option '".concat(configPath, "' is invalid, only strings are allowed.")); + return configPath; +}; + +exports.validateConfigPathOption = validateConfigPathOption; + +var validateBoolOption = function validateBoolOption(name, value, defaultValue) { + if (typeof value === "undefined") { + value = defaultValue; + } + + if (typeof value !== "boolean") { + throw new Error("Preset env: '".concat(name, "' option must be a boolean.")); + } + + return value; +}; + +exports.validateBoolOption = validateBoolOption; + +var validateIgnoreBrowserslistConfig = function validateIgnoreBrowserslistConfig(ignoreBrowserslistConfig) { + return validateBoolOption(_options.TopLevelOptions.ignoreBrowserslistConfig, ignoreBrowserslistConfig, false); +}; + +exports.validateIgnoreBrowserslistConfig = validateIgnoreBrowserslistConfig; + +var validateModulesOption = function validateModulesOption() { + var modulesOpt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _options.ModulesOption.auto; + (0, _invariant.default)(_options.ModulesOption[modulesOpt.toString()] || _options.ModulesOption[modulesOpt.toString()] === _options.ModulesOption.false, "Invalid Option: The 'modules' option must be one of \n" + " - 'false' to indicate no module processing\n" + " - a specific module type: 'commonjs', 'amd', 'umd', 'systemjs'" + " - 'auto' (default) which will automatically select 'false' if the current\n" + " process is known to support ES module syntax, or \"commonjs\" otherwise\n"); + return modulesOpt; +}; + +exports.validateModulesOption = validateModulesOption; + +var validateUseBuiltInsOption = function validateUseBuiltInsOption() { + var builtInsOpt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + (0, _invariant.default)(_options.UseBuiltInsOption[builtInsOpt.toString()] || _options.UseBuiltInsOption[builtInsOpt.toString()] === _options.UseBuiltInsOption.false, "Invalid Option: The 'useBuiltIns' option must be either\n 'false' (default) to indicate no polyfill,\n '\"entry\"' to indicate replacing the entry polyfill, or\n '\"usage\"' to import only used polyfills per file"); + return builtInsOpt; +}; + +exports.validateUseBuiltInsOption = validateUseBuiltInsOption; + +function normalizeCoreJSOption(corejs, useBuiltIns) { + var proposals = false; + var rawVersion; + + if (useBuiltIns && corejs === undefined) { + rawVersion = 2; + console.warn("\nWARNING: We noticed you're using the `useBuiltIns` option without declaring a " + "core-js version. Currently, we assume version 2.x when no version " + "is passed. Since this default version will likely change in future " + "versions of Babel, we recommend explicitly setting the core-js version " + "you are using via the `corejs` option.\n" + "\nYou should also be sure that the version you pass to the `corejs` " + "option matches the version specified in your `package.json`'s " + "`dependencies` section. If it doesn't, you need to run one of the " + "following commands:\n\n" + " npm install --save core-js@2 npm install --save core-js@3\n" + " yarn add core-js@2 yarn add core-js@3\n"); + } else if (_typeof(corejs) === "object" && corejs !== null) { + rawVersion = corejs.version; + proposals = Boolean(corejs.proposals); + } else { + rawVersion = corejs; + } + + var version = rawVersion ? (0, _semver.coerce)(String(rawVersion)) : false; + + if (!useBuiltIns && version) { + console.log("\nThe `corejs` option only has an effect when the `useBuiltIns` option is not `false`\n"); + } + + if (useBuiltIns && (!version || version.major < 2 || version.major > 3)) { + throw new RangeError("Invalid Option: The version passed to `corejs` is invalid. Currently, " + "only core-js@2 and core-js@3 are supported."); + } + + return { + version: version, + proposals: proposals + }; +} + +function normalizeOptions(opts) { + validateTopLevelOptions(opts); + var useBuiltIns = validateUseBuiltInsOption(opts.useBuiltIns); + var corejs = normalizeCoreJSOption(opts.corejs, useBuiltIns); + var include = expandIncludesAndExcludes(opts.include, _options.TopLevelOptions.include, !!corejs.version && corejs.version.major); + var exclude = expandIncludesAndExcludes(opts.exclude, _options.TopLevelOptions.exclude, !!corejs.version && corejs.version.major); + checkDuplicateIncludeExcludes(include, exclude); + var shippedProposals = validateBoolOption(_options.TopLevelOptions.shippedProposals, opts.shippedProposals, false) || corejs.proposals; + return { + configPath: validateConfigPathOption(opts.configPath), + corejs: corejs, + debug: validateBoolOption(_options.TopLevelOptions.debug, opts.debug, false), + include: include, + exclude: exclude, + forceAllTransforms: validateBoolOption(_options.TopLevelOptions.forceAllTransforms, opts.forceAllTransforms, false), + ignoreBrowserslistConfig: validateIgnoreBrowserslistConfig(opts.ignoreBrowserslistConfig), + loose: validateBoolOption(_options.TopLevelOptions.loose, opts.loose, false), + modules: validateModulesOption(opts.modules), + shippedProposals: shippedProposals, + spec: validateBoolOption(_options.TopLevelOptions.spec, opts.spec, false), + targets: normalizeTargets(opts.targets), + useBuiltIns: useBuiltIns + }; +} + +}).call(this,require('_process')) +},{"../data/corejs2-built-ins.json":140,"../data/plugins.json":142,"./module-transformations":150,"./options":152,"./polyfills/corejs2/get-platform-specific-default":155,"./targets-parser":163,"./utils":164,"_process":1054,"core-js-compat/data":303,"invariant":840,"semver":1070}],152:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TargetNames = exports.UseBuiltInsOption = exports.ModulesOption = exports.TopLevelOptions = void 0; +var TopLevelOptions = { + configPath: "configPath", + corejs: "corejs", + debug: "debug", + exclude: "exclude", + forceAllTransforms: "forceAllTransforms", + ignoreBrowserslistConfig: "ignoreBrowserslistConfig", + include: "include", + loose: "loose", + modules: "modules", + shippedProposals: "shippedProposals", + spec: "spec", + targets: "targets", + useBuiltIns: "useBuiltIns" +}; +exports.TopLevelOptions = TopLevelOptions; +var ModulesOption = { + false: false, + auto: "auto", + amd: "amd", + commonjs: "commonjs", + cjs: "cjs", + systemjs: "systemjs", + umd: "umd" +}; +exports.ModulesOption = ModulesOption; +var UseBuiltInsOption = { + false: false, + entry: "entry", + usage: "usage" +}; +exports.UseBuiltInsOption = UseBuiltInsOption; +var TargetNames = { + esmodules: "esmodules", + node: "node", + browsers: "browsers", + chrome: "chrome", + opera: "opera", + edge: "edge", + firefox: "firefox", + safari: "safari", + ie: "ie", + ios: "ios", + android: "android", + electron: "electron", + samsung: "samsung", + uglify: "uglify" +}; +exports.TargetNames = TargetNames; + +},{}],153:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.StaticProperties = exports.InstanceProperties = exports.BuiltIns = void 0; +var ArrayNatureIterators = ["es6.object.to-string", "es6.array.iterator", "web.dom.iterable"]; +var CommonIterators = ["es6.string.iterator"].concat(ArrayNatureIterators); +var PromiseDependencies = ["es6.object.to-string", "es6.promise"]; +var BuiltIns = { + DataView: "es6.typed.data-view", + Float32Array: "es6.typed.float32-array", + Float64Array: "es6.typed.float64-array", + Int8Array: "es6.typed.int8-array", + Int16Array: "es6.typed.int16-array", + Int32Array: "es6.typed.int32-array", + Map: ["es6.map"].concat(_toConsumableArray(CommonIterators)), + Number: "es6.number.constructor", + Promise: PromiseDependencies, + RegExp: ["es6.regexp.constructor"], + Set: ["es6.set"].concat(_toConsumableArray(CommonIterators)), + Symbol: ["es6.symbol", "es7.symbol.async-iterator"], + Uint8Array: "es6.typed.uint8-array", + Uint8ClampedArray: "es6.typed.uint8-clamped-array", + Uint16Array: "es6.typed.uint16-array", + Uint32Array: "es6.typed.uint32-array", + WeakMap: ["es6.weak-map"].concat(_toConsumableArray(CommonIterators)), + WeakSet: ["es6.weak-set"].concat(_toConsumableArray(CommonIterators)) +}; +exports.BuiltIns = BuiltIns; +var InstanceProperties = { + __defineGetter__: ["es7.object.define-getter"], + __defineSetter__: ["es7.object.define-setter"], + __lookupGetter__: ["es7.object.lookup-getter"], + __lookupSetter__: ["es7.object.lookup-setter"], + anchor: ["es6.string.anchor"], + big: ["es6.string.big"], + bind: ["es6.function.bind"], + blink: ["es6.string.blink"], + bold: ["es6.string.bold"], + codePointAt: ["es6.string.code-point-at"], + copyWithin: ["es6.array.copy-within"], + endsWith: ["es6.string.ends-with"], + entries: ArrayNatureIterators, + every: ["es6.array.is-array"], + fill: ["es6.array.fill"], + filter: ["es6.array.filter"], + finally: ["es7.promise.finally"].concat(PromiseDependencies), + find: ["es6.array.find"], + findIndex: ["es6.array.find-index"], + fixed: ["es6.string.fixed"], + flags: ["es6.regexp.flags"], + flatMap: ["es7.array.flat-map"], + fontcolor: ["es6.string.fontcolor"], + fontsize: ["es6.string.fontsize"], + forEach: ["es6.array.for-each"], + includes: ["es6.string.includes", "es7.array.includes"], + indexOf: ["es6.array.index-of"], + italics: ["es6.string.italics"], + keys: ArrayNatureIterators, + lastIndexOf: ["es6.array.last-index-of"], + link: ["es6.string.link"], + map: ["es6.array.map"], + match: ["es6.regexp.match"], + name: ["es6.function.name"], + padStart: ["es7.string.pad-start"], + padEnd: ["es7.string.pad-end"], + reduce: ["es6.array.reduce"], + reduceRight: ["es6.array.reduce-right"], + repeat: ["es6.string.repeat"], + replace: ["es6.regexp.replace"], + search: ["es6.regexp.search"], + slice: ["es6.array.slice"], + small: ["es6.string.small"], + some: ["es6.array.some"], + sort: ["es6.array.sort"], + split: ["es6.regexp.split"], + startsWith: ["es6.string.starts-with"], + strike: ["es6.string.strike"], + sub: ["es6.string.sub"], + sup: ["es6.string.sup"], + toISOString: ["es6.date.to-iso-string"], + toJSON: ["es6.date.to-json"], + toString: ["es6.object.to-string", "es6.date.to-string", "es6.regexp.to-string"], + trim: ["es6.string.trim"], + trimEnd: ["es7.string.trim-right"], + trimLeft: ["es7.string.trim-left"], + trimRight: ["es7.string.trim-right"], + trimStart: ["es7.string.trim-left"], + values: ArrayNatureIterators +}; +exports.InstanceProperties = InstanceProperties; +var StaticProperties = { + Array: { + from: ["es6.array.from", "es6.string.iterator"], + isArray: "es6.array.is-array", + of: "es6.array.of" + }, + Date: { + now: "es6.date.now" + }, + Object: { + assign: "es6.object.assign", + create: "es6.object.create", + defineProperty: "es6.object.define-property", + defineProperties: "es6.object.define-properties", + entries: "es7.object.entries", + freeze: "es6.object.freeze", + getOwnPropertyDescriptors: "es7.object.get-own-property-descriptors", + getOwnPropertySymbols: "es6.symbol", + is: "es6.object.is", + isExtensible: "es6.object.is-extensible", + isFrozen: "es6.object.is-frozen", + isSealed: "es6.object.is-sealed", + keys: "es6.object.keys", + preventExtensions: "es6.object.prevent-extensions", + seal: "es6.object.seal", + setPrototypeOf: "es6.object.set-prototype-of", + values: "es7.object.values" + }, + Math: { + acosh: "es6.math.acosh", + asinh: "es6.math.asinh", + atanh: "es6.math.atanh", + cbrt: "es6.math.cbrt", + clz32: "es6.math.clz32", + cosh: "es6.math.cosh", + expm1: "es6.math.expm1", + fround: "es6.math.fround", + hypot: "es6.math.hypot", + imul: "es6.math.imul", + log1p: "es6.math.log1p", + log10: "es6.math.log10", + log2: "es6.math.log2", + sign: "es6.math.sign", + sinh: "es6.math.sinh", + tanh: "es6.math.tanh", + trunc: "es6.math.trunc" + }, + String: { + fromCodePoint: "es6.string.from-code-point", + raw: "es6.string.raw" + }, + Number: { + EPSILON: "es6.number.epsilon", + MIN_SAFE_INTEGER: "es6.number.min-safe-integer", + MAX_SAFE_INTEGER: "es6.number.max-safe-integer", + isFinite: "es6.number.is-finite", + isInteger: "es6.number.is-integer", + isSafeInteger: "es6.number.is-safe-integer", + isNaN: "es6.number.is-nan", + parseFloat: "es6.number.parse-float", + parseInt: "es6.number.parse-int" + }, + Promise: { + all: CommonIterators, + race: CommonIterators + }, + Reflect: { + apply: "es6.reflect.apply", + construct: "es6.reflect.construct", + defineProperty: "es6.reflect.define-property", + deleteProperty: "es6.reflect.delete-property", + get: "es6.reflect.get", + getOwnPropertyDescriptor: "es6.reflect.get-own-property-descriptor", + getPrototypeOf: "es6.reflect.get-prototype-of", + has: "es6.reflect.has", + isExtensible: "es6.reflect.is-extensible", + ownKeys: "es6.reflect.own-keys", + preventExtensions: "es6.reflect.prevent-extensions", + set: "es6.reflect.set", + setPrototypeOf: "es6.reflect.set-prototype-of" + } +}; +exports.StaticProperties = StaticProperties; + +},{}],154:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json")); + +var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default")); + +var _filterItems = _interopRequireDefault(require("../../filter-items")); + +var _utils = require("../../utils"); + +var _debug = require("../../debug"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _default(_, _ref) { + var include = _ref.include, + exclude = _ref.exclude, + polyfillTargets = _ref.polyfillTargets, + regenerator = _ref.regenerator, + debug = _ref.debug; + var polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets)); + var isPolyfillImport = { + ImportDeclaration: function ImportDeclaration(path) { + if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { + this.replaceBySeparateModulesImport(path); + } + }, + Program: function Program(path) { + var _this = this; + + path.get("body").forEach(function (bodyPath) { + if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { + _this.replaceBySeparateModulesImport(bodyPath); + } + }); + } + }; + return { + name: "corejs2-entry", + visitor: isPolyfillImport, + pre: function pre() { + this.importPolyfillIncluded = false; + + this.replaceBySeparateModulesImport = function (path) { + this.importPolyfillIncluded = true; + + if (regenerator) { + (0, _utils.createImport)(path, "regenerator-runtime"); + } + + var modules = Array.from(polyfills).reverse(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = modules[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var module = _step.value; + (0, _utils.createImport)(path, module); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + path.remove(); + }; + }, + post: function post() { + if (debug) { + (0, _debug.logEntryPolyfills)("@babel/polyfill", this.importPolyfillIncluded, polyfills, this.file.opts.filename, polyfillTargets, _corejs2BuiltIns.default); + } + } + }; +} + +},{"../../../data/corejs2-built-ins.json":140,"../../debug":146,"../../filter-items":147,"../../utils":164,"./get-platform-specific-default":155}],155:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; +exports.defaultWebIncludes = void 0; +var defaultWebIncludes = ["web.timers", "web.immediate", "web.dom.iterable"]; +exports.defaultWebIncludes = defaultWebIncludes; + +function _default(targets) { + var targetNames = Object.keys(targets); + var isAnyTarget = !targetNames.length; + var isWebTarget = targetNames.some(function (name) { + return name !== "node"; + }); + return isAnyTarget || isWebTarget ? defaultWebIncludes : null; +} + +},{}],156:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json")); + +var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default")); + +var _filterItems = _interopRequireDefault(require("../../filter-items")); + +var _builtInDefinitions = require("./built-in-definitions"); + +var _utils = require("../../utils"); + +var _debug = require("../../debug"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the `import '@babel/polyfill'` call or use `useBuiltIns: 'entry'` instead."; + +function _default(_ref2, _ref3) { + var t = _ref2.types; + var include = _ref3.include, + exclude = _ref3.exclude, + polyfillTargets = _ref3.polyfillTargets, + debug = _ref3.debug; + var polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets)); + var addAndRemovePolyfillImports = { + ImportDeclaration: function ImportDeclaration(path) { + if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { + console.warn(NO_DIRECT_POLYFILL_IMPORT); + path.remove(); + } + }, + Program: function Program(path) { + path.get("body").forEach(function (bodyPath) { + if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { + console.warn(NO_DIRECT_POLYFILL_IMPORT); + bodyPath.remove(); + } + }); + }, + ReferencedIdentifier: function ReferencedIdentifier(_ref4) { + var name = _ref4.node.name, + parent = _ref4.parent, + scope = _ref4.scope; + if (t.isMemberExpression(parent)) return; + if (!(0, _utils.has)(_builtInDefinitions.BuiltIns, name)) return; + if (scope.getBindingIdentifier(name)) return; + var BuiltInDependencies = _builtInDefinitions.BuiltIns[name]; + this.addUnsupported(BuiltInDependencies); + }, + CallExpression: function CallExpression(path) { + if (path.node.arguments.length) return; + var callee = path.node.callee; + if (!t.isMemberExpression(callee)) return; + if (!callee.computed) return; + + if (!path.get("callee.property").matchesPattern("Symbol.iterator")) { + return; + } + + this.addImport("web.dom.iterable"); + }, + BinaryExpression: function BinaryExpression(path) { + if (path.node.operator !== "in") return; + if (!path.get("left").matchesPattern("Symbol.iterator")) return; + this.addImport("web.dom.iterable"); + }, + YieldExpression: function YieldExpression(path) { + if (path.node.delegate) { + this.addImport("web.dom.iterable"); + } + }, + MemberExpression: { + enter: function enter(path) { + var node = path.node; + var object = node.object, + property = node.property; + if ((0, _utils.isNamespaced)(path.get("object"))) return; + var evaluatedPropType = object.name; + var propertyName = ""; + var instanceType = ""; + + if (node.computed) { + if (t.isStringLiteral(property)) { + propertyName = property.value; + } else { + var result = path.get("property").evaluate(); + + if (result.confident && result.value) { + propertyName = result.value; + } + } + } else { + propertyName = property.name; + } + + if (path.scope.getBindingIdentifier(object.name)) { + var _result = path.get("object").evaluate(); + + if (_result.value) { + instanceType = (0, _utils.getType)(_result.value); + } else if (_result.deopt && _result.deopt.isIdentifier()) { + evaluatedPropType = _result.deopt.node.name; + } + } + + if ((0, _utils.has)(_builtInDefinitions.StaticProperties, evaluatedPropType)) { + var BuiltInProperties = _builtInDefinitions.StaticProperties[evaluatedPropType]; + + if ((0, _utils.has)(BuiltInProperties, propertyName)) { + var StaticPropertyDependencies = BuiltInProperties[propertyName]; + this.addUnsupported(StaticPropertyDependencies); + } + } + + if ((0, _utils.has)(_builtInDefinitions.InstanceProperties, propertyName)) { + var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[propertyName]; + + if (instanceType) { + InstancePropertyDependencies = InstancePropertyDependencies.filter(function (module) { + return module.includes(instanceType); + }); + } + + this.addUnsupported(InstancePropertyDependencies); + } + }, + exit: function exit(path) { + var name = path.node.object.name; + if (!(0, _utils.has)(_builtInDefinitions.BuiltIns, name)) return; + if (path.scope.getBindingIdentifier(name)) return; + var BuiltInDependencies = _builtInDefinitions.BuiltIns[name]; + this.addUnsupported(BuiltInDependencies); + } + }, + VariableDeclarator: function VariableDeclarator(path) { + var node = path.node; + var id = node.id, + init = node.init; + if (!t.isObjectPattern(id)) return; + if (init && path.scope.getBindingIdentifier(init.name)) return; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = id.properties[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var _ref = _step.value; + var key = _ref.key; + + if (!node.computed && t.isIdentifier(key) && (0, _utils.has)(_builtInDefinitions.InstanceProperties, key.name)) { + var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[key.name]; + this.addUnsupported(InstancePropertyDependencies); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + }; + return { + name: "corejs2-usage", + pre: function pre(_ref5) { + var path = _ref5.path; + this.polyfillsSet = new Set(); + + this.addImport = function (builtIn) { + if (!this.polyfillsSet.has(builtIn)) { + this.polyfillsSet.add(builtIn); + (0, _utils.createImport)(path, builtIn); + } + }; + + this.addUnsupported = function (builtIn) { + var modules = Array.isArray(builtIn) ? builtIn : [builtIn]; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = modules[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var module = _step2.value; + + if (polyfills.has(module)) { + this.addImport(module); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + }; + }, + post: function post() { + if (debug) { + (0, _debug.logUsagePolyfills)(this.polyfillsSet, this.file.opts.filename, polyfillTargets, _corejs2BuiltIns.default); + } + }, + visitor: addAndRemovePolyfillImports + }; +} + +},{"../../../data/corejs2-built-ins.json":140,"../../debug":146,"../../filter-items":147,"../../utils":164,"./built-in-definitions":153,"./get-platform-specific-default":155}],157:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.PossibleGlobalObjects = exports.CommonInstanceDependencies = exports.StaticProperties = exports.InstanceProperties = exports.BuiltIns = exports.PromiseDependencies = exports.CommonIterators = void 0; +var ArrayNatureIterators = ["es.array.iterator", "web.dom-collections.iterator"]; +var CommonIterators = ["es.string.iterator"].concat(ArrayNatureIterators); +exports.CommonIterators = CommonIterators; +var ArrayNatureIteratorsWithTag = ["es.object.to-string"].concat(ArrayNatureIterators); +var CommonIteratorsWithTag = ["es.object.to-string"].concat(_toConsumableArray(CommonIterators)); +var TypedArrayDependencies = ["es.typed-array.copy-within", "es.typed-array.every", "es.typed-array.fill", "es.typed-array.filter", "es.typed-array.find", "es.typed-array.find-index", "es.typed-array.for-each", "es.typed-array.includes", "es.typed-array.index-of", "es.typed-array.iterator", "es.typed-array.join", "es.typed-array.last-index-of", "es.typed-array.map", "es.typed-array.reduce", "es.typed-array.reduce-right", "es.typed-array.reverse", "es.typed-array.set", "es.typed-array.slice", "es.typed-array.some", "es.typed-array.sort", "es.typed-array.subarray", "es.typed-array.to-locale-string", "es.typed-array.to-string", "es.object.to-string", "es.array.iterator", "es.array-buffer.slice"]; +var TypedArrayStaticMethods = { + from: "es.typed-array.from", + of: "es.typed-array.of" +}; +var PromiseDependencies = ["es.promise", "es.object.to-string"]; +exports.PromiseDependencies = PromiseDependencies; +var PromiseDependenciesWithIterators = [].concat(PromiseDependencies, _toConsumableArray(CommonIterators)); +var SymbolDependencies = ["es.symbol", "es.symbol.description", "es.object.to-string"]; +var MapDependencies = ["es.map", "esnext.map.delete-all", "esnext.map.every", "esnext.map.filter", "esnext.map.find", "esnext.map.find-key", "esnext.map.includes", "esnext.map.key-of", "esnext.map.map-keys", "esnext.map.map-values", "esnext.map.merge", "esnext.map.reduce", "esnext.map.some", "esnext.map.update"].concat(_toConsumableArray(CommonIteratorsWithTag)); +var SetDependencies = ["es.set", "esnext.set.add-all", "esnext.set.delete-all", "esnext.set.difference", "esnext.set.every", "esnext.set.filter", "esnext.set.find", "esnext.set.intersection", "esnext.set.is-disjoint-from", "esnext.set.is-subset-of", "esnext.set.is-superset-of", "esnext.set.join", "esnext.set.map", "esnext.set.reduce", "esnext.set.some", "esnext.set.symmetric-difference", "esnext.set.union"].concat(_toConsumableArray(CommonIteratorsWithTag)); +var WeakMapDependencies = ["es.weak-map", "esnext.weak-map.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag)); +var WeakSetDependencies = ["es.weak-set", "esnext.weak-set.add-all", "esnext.weak-set.delete-all"].concat(_toConsumableArray(CommonIteratorsWithTag)); +var URLSearchParamsDependencies = ["web.url"].concat(_toConsumableArray(CommonIteratorsWithTag)); +var BuiltIns = { + AggregateError: ["esnext.aggregate-error"].concat(_toConsumableArray(CommonIterators)), + ArrayBuffer: ["es.array-buffer.constructor", "es.array-buffer.slice", "es.object.to-string"], + DataView: ["es.data-view", "es.array-buffer.slice", "es.object.to-string"], + Date: ["es.date.to-string"], + Float32Array: ["es.typed-array.float32-array"].concat(TypedArrayDependencies), + Float64Array: ["es.typed-array.float64-array"].concat(TypedArrayDependencies), + Int8Array: ["es.typed-array.int8-array"].concat(TypedArrayDependencies), + Int16Array: ["es.typed-array.int16-array"].concat(TypedArrayDependencies), + Int32Array: ["es.typed-array.int32-array"].concat(TypedArrayDependencies), + Uint8Array: ["es.typed-array.uint8-array"].concat(TypedArrayDependencies), + Uint8ClampedArray: ["es.typed-array.uint8-clamped-array"].concat(TypedArrayDependencies), + Uint16Array: ["es.typed-array.uint16-array"].concat(TypedArrayDependencies), + Uint32Array: ["es.typed-array.uint32-array"].concat(TypedArrayDependencies), + Map: MapDependencies, + Number: ["es.number.constructor"], + Observable: ["esnext.observable", "esnext.symbol.observable", "es.object.to-string"].concat(_toConsumableArray(CommonIteratorsWithTag)), + Promise: PromiseDependencies, + RegExp: ["es.regexp.constructor", "es.regexp.exec", "es.regexp.to-string"], + Set: SetDependencies, + Symbol: SymbolDependencies, + URL: ["web.url"].concat(_toConsumableArray(URLSearchParamsDependencies)), + URLSearchParams: URLSearchParamsDependencies, + WeakMap: WeakMapDependencies, + WeakSet: WeakSetDependencies, + clearImmediate: ["web.immediate"], + compositeKey: ["esnext.composite-key"], + compositeSymbol: ["esnext.composite-symbol"].concat(SymbolDependencies), + fetch: PromiseDependencies, + globalThis: ["esnext.global-this"], + parseFloat: ["es.parse-float"], + parseInt: ["es.parse-int"], + queueMicrotask: ["web.queue-microtask"], + setTimeout: ["web.timers"], + setInterval: ["web.timers"], + setImmediate: ["web.immediate"] +}; +exports.BuiltIns = BuiltIns; +var InstanceProperties = { + at: ["esnext.string.at"], + anchor: ["es.string.anchor"], + big: ["es.string.big"], + bind: ["es.function.bind"], + blink: ["es.string.blink"], + bold: ["es.string.bold"], + codePointAt: ["es.string.code-point-at"], + codePoints: ["esnext.string.code-points"], + concat: ["es.array.concat"], + copyWithin: ["es.array.copy-within"], + description: ["es.symbol", "es.symbol.description"], + endsWith: ["es.string.ends-with"], + entries: ArrayNatureIteratorsWithTag, + every: ["es.array.every"], + exec: ["es.regexp.exec"], + fill: ["es.array.fill"], + filter: ["es.array.filter"], + finally: ["es.promise.finally"].concat(PromiseDependencies), + find: ["es.array.find"], + findIndex: ["es.array.find-index"], + fixed: ["es.string.fixed"], + flags: ["es.regexp.flags"], + flat: ["es.array.flat", "es.array.unscopables.flat"], + flatMap: ["es.array.flat-map", "es.array.unscopables.flat-map"], + fontcolor: ["es.string.fontcolor"], + fontsize: ["es.string.fontsize"], + forEach: ["es.array.for-each", "web.dom-collections.for-each"], + includes: ["es.array.includes", "es.string.includes"], + indexOf: ["es.array.index-of"], + italics: ["es.string.italics"], + join: ["es.array.join"], + keys: ArrayNatureIteratorsWithTag, + lastIndex: ["esnext.array.last-index"], + lastIndexOf: ["es.array.last-index-of"], + lastItem: ["esnext.array.last-item"], + link: ["es.string.link"], + match: ["es.string.match", "es.regexp.exec"], + matchAll: ["esnext.string.match-all"], + map: ["es.array.map"], + name: ["es.function.name"], + padEnd: ["es.string.pad-end"], + padStart: ["es.string.pad-start"], + reduce: ["es.array.reduce"], + reduceRight: ["es.array.reduce-right"], + repeat: ["es.string.repeat"], + replace: ["es.string.replace", "es.regexp.exec"], + replaceAll: ["esnext.string.replace-all"], + reverse: ["es.array.reverse"], + search: ["es.string.search", "es.regexp.exec"], + slice: ["es.array.slice"], + small: ["es.string.small"], + some: ["es.array.some"], + sort: ["es.array.sort"], + splice: ["es.array.splice"], + split: ["es.string.split", "es.regexp.exec"], + startsWith: ["es.string.starts-with"], + strike: ["es.string.strike"], + sub: ["es.string.sub"], + sup: ["es.string.sup"], + toFixed: ["es.number.to-fixed"], + toISOString: ["es.date.to-iso-string"], + toJSON: ["es.date.to-json", "web.url.to-json"], + toPrecision: ["es.number.to-precision"], + toString: ["es.object.to-string", "es.regexp.to-string", "es.date.to-string"], + trim: ["es.string.trim"], + trimEnd: ["es.string.trim-end"], + trimLeft: ["es.string.trim-start"], + trimRight: ["es.string.trim-end"], + trimStart: ["es.string.trim-start"], + values: ArrayNatureIteratorsWithTag, + __defineGetter__: ["es.object.define-getter"], + __defineSetter__: ["es.object.define-setter"], + __lookupGetter__: ["es.object.lookup-getter"], + __lookupSetter__: ["es.object.lookup-setter"] +}; +exports.InstanceProperties = InstanceProperties; +var StaticProperties = { + Array: { + from: ["es.array.from", "es.string.iterator"], + isArray: ["es.array.is-array"], + of: ["es.array.of"] + }, + Date: { + now: "es.date.now" + }, + Object: { + assign: "es.object.assign", + create: "es.object.create", + defineProperty: "es.object.define-property", + defineProperties: "es.object.define-properties", + entries: "es.object.entries", + freeze: "es.object.freeze", + fromEntries: ["es.object.from-entries", "es.array.iterator"], + getOwnPropertyDescriptor: "es.object.get-own-property-descriptor", + getOwnPropertyDescriptors: "es.object.get-own-property-descriptors", + getOwnPropertyNames: "es.object.get-own-property-names", + getOwnPropertySymbols: "es.symbol", + getPrototypeOf: "es.object.get-prototype-of", + is: "es.object.is", + isExtensible: "es.object.is-extensible", + isFrozen: "es.object.is-frozen", + isSealed: "es.object.is-sealed", + keys: "es.object.keys", + preventExtensions: "es.object.prevent-extensions", + seal: "es.object.seal", + setPrototypeOf: "es.object.set-prototype-of", + values: "es.object.values" + }, + Math: { + DEG_PER_RAD: "esnext.math.deg-per-rad", + RAD_PER_DEG: "esnext.math.rad-per-deg", + acosh: "es.math.acosh", + asinh: "es.math.asinh", + atanh: "es.math.atanh", + cbrt: "es.math.cbrt", + clamp: "esnext.math.clamp", + clz32: "es.math.clz32", + cosh: "es.math.cosh", + degrees: "esnext.math.degrees", + expm1: "es.math.expm1", + fround: "es.math.fround", + fscale: "esnext.math.fscale", + hypot: "es.math.hypot", + iaddh: "esnext.math.iaddh", + imul: "es.math.imul", + imulh: "esnext.math.imulh", + isubh: "esnext.math.isubh", + log1p: "es.math.log1p", + log10: "es.math.log10", + log2: "es.math.log2", + radians: "esnext.math.radians", + scale: "esnext.math.scale", + seededPRNG: "esnext.math.seeded-prng", + sign: "es.math.sign", + signbit: "esnext.math.signbit", + sinh: "es.math.sinh", + tanh: "es.math.tanh", + trunc: "es.math.trunc", + umulh: "esnext.math.umulh" + }, + String: { + fromCodePoint: "es.string.from-code-point", + raw: "es.string.raw" + }, + Number: { + EPSILON: "es.number.epsilon", + MIN_SAFE_INTEGER: "es.number.min-safe-integer", + MAX_SAFE_INTEGER: "es.number.max-safe-integer", + fromString: "esnext.number.from-string", + isFinite: "es.number.is-finite", + isInteger: "es.number.is-integer", + isSafeInteger: "es.number.is-safe-integer", + isNaN: "es.number.is-nan", + parseFloat: "es.number.parse-float", + parseInt: "es.number.parse-int" + }, + Map: { + from: ["esnext.map.from"].concat(_toConsumableArray(MapDependencies)), + groupBy: ["esnext.map.group-by"].concat(_toConsumableArray(MapDependencies)), + keyBy: ["esnext.map.key-by"].concat(_toConsumableArray(MapDependencies)), + of: ["esnext.map.of"].concat(_toConsumableArray(MapDependencies)) + }, + Set: { + from: ["esnext.set.from"].concat(_toConsumableArray(SetDependencies)), + of: ["esnext.set.of"].concat(_toConsumableArray(SetDependencies)) + }, + WeakMap: { + from: ["esnext.weak-map.from"].concat(_toConsumableArray(WeakMapDependencies)), + of: ["esnext.weak-map.of"].concat(_toConsumableArray(WeakMapDependencies)) + }, + WeakSet: { + from: ["esnext.weak-set.from"].concat(_toConsumableArray(WeakSetDependencies)), + of: ["esnext.weak-set.of"].concat(_toConsumableArray(WeakSetDependencies)) + }, + Promise: { + all: PromiseDependenciesWithIterators, + allSettled: ["esnext.promise.all-settled"].concat(_toConsumableArray(PromiseDependenciesWithIterators)), + any: ["esnext.promise.any"].concat(_toConsumableArray(PromiseDependenciesWithIterators)), + race: PromiseDependenciesWithIterators, + try: ["esnext.promise.try"].concat(_toConsumableArray(PromiseDependenciesWithIterators)) + }, + Reflect: { + apply: "es.reflect.apply", + construct: "es.reflect.construct", + defineMetadata: "esnext.reflect.define-metadata", + defineProperty: "es.reflect.define-property", + deleteMetadata: "esnext.reflect.delete-metadata", + deleteProperty: "es.reflect.delete-property", + get: "es.reflect.get", + getMetadata: "esnext.reflect.get-metadata", + getMetadataKeys: "esnext.reflect.get-metadata-keys", + getOwnMetadata: "esnext.reflect.get-own-metadata", + getOwnMetadataKeys: "esnext.reflect.get-own-metadata-keys", + getOwnPropertyDescriptor: "es.reflect.get-own-property-descriptor", + getPrototypeOf: "es.reflect.get-prototype-of", + has: "es.reflect.has", + hasMetadata: "esnext.reflect.has-metadata", + hasOwnMetadata: "esnext.reflect.has-own-metadata", + isExtensible: "es.reflect.is-extensible", + metadata: "esnext.reflect.metadata", + ownKeys: "es.reflect.own-keys", + preventExtensions: "es.reflect.prevent-extensions", + set: "es.reflect.set", + setPrototypeOf: "es.reflect.set-prototype-of" + }, + Symbol: { + asyncIterator: ["es.symbol.async-iterator"], + dispose: ["esnext.symbol.dispose"], + hasInstance: ["es.symbol.has-instance", "es.function.has-instance"], + isConcatSpreadable: ["es.symbol.is-concat-spreadable", "es.array.concat"], + iterator: ["es.symbol.iterator"].concat(_toConsumableArray(CommonIteratorsWithTag)), + match: ["es.symbol.match", "es.string.match"], + observable: ["esnext.symbol.observable"], + patternMatch: ["esnext.symbol.pattern-match"], + replace: ["es.symbol.replace", "es.string.replace"], + search: ["es.symbol.search", "es.string.search"], + species: ["es.symbol.species", "es.array.species"], + split: ["es.symbol.split", "es.string.split"], + toPrimitive: ["es.symbol.to-primitive", "es.date.to-primitive"], + toStringTag: ["es.symbol.to-string-tag", "es.object.to-string", "es.math.to-string-tag", "es.json.to-string-tag"], + unscopables: ["es.symbol.unscopables"] + }, + ArrayBuffer: { + isView: ["es.array-buffer.is-view"] + }, + Int8Array: TypedArrayStaticMethods, + Uint8Array: TypedArrayStaticMethods, + Uint8ClampedArray: TypedArrayStaticMethods, + Int16Array: TypedArrayStaticMethods, + Uint16Array: TypedArrayStaticMethods, + Int32Array: TypedArrayStaticMethods, + Uint32Array: TypedArrayStaticMethods, + Float32Array: TypedArrayStaticMethods, + Float64Array: TypedArrayStaticMethods +}; +exports.StaticProperties = StaticProperties; +var CommonInstanceDependencies = new Set(["es.object.to-string", "es.object.define-getter", "es.object.define-setter", "es.object.lookup-getter", "es.object.lookup-setter", "es.regexp.exec"]); +exports.CommonInstanceDependencies = CommonInstanceDependencies; +var PossibleGlobalObjects = new Set(["global", "globalThis", "self", "window"]); +exports.PossibleGlobalObjects = PossibleGlobalObjects; + +},{}],158:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _data = _interopRequireDefault(require("core-js-compat/data")); + +var _entries = _interopRequireDefault(require("core-js-compat/entries")); + +var _getModulesListForTargetVersion = _interopRequireDefault(require("core-js-compat/get-modules-list-for-target-version")); + +var _filterItems = _interopRequireDefault(require("../../filter-items")); + +var _utils = require("../../utils"); + +var _debug = require("../../debug"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isBabelPolyfillSource(source) { + return source === "@babel/polyfill" || source === "babel-polyfill"; +} + +function isCoreJSSource(source) { + if (typeof source === "string") { + source = source.replace(/\\/g, "/").replace(/(\/(index)?)?(\.js)?$/i, "").toLowerCase(); + } + + return (0, _utils.has)(_entries.default, source) && _entries.default[source]; +} + +var BABEL_POLYFILL_DEPRECATION = "\n `@babel/polyfill` is deprecated. Please, use required parts of `core-js`\n and `regenerator-runtime/runtime` separately"; + +function _default(_, _ref) { + var corejs = _ref.corejs, + include = _ref.include, + exclude = _ref.exclude, + polyfillTargets = _ref.polyfillTargets, + debug = _ref.debug; + var polyfills = (0, _filterItems.default)(_data.default, include, exclude, polyfillTargets, null); + var available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version)); + + function shouldReplace(source, modules) { + if (!modules) return false; + + if (modules.length === 1 && polyfills.has(modules[0]) && available.has(modules[0]) && (0, _utils.getModulePath)(modules[0]) === source) { + return false; + } + + return true; + } + + var isPolyfillImport = { + ImportDeclaration: function ImportDeclaration(path) { + var source = (0, _utils.getImportSource)(path); + if (!source) return; + + if (isBabelPolyfillSource(source)) { + console.warn(BABEL_POLYFILL_DEPRECATION); + } else { + var modules = isCoreJSSource(source); + + if (shouldReplace(source, modules)) { + this.replaceBySeparateModulesImport(path, modules); + } + } + }, + Program: { + enter: function enter(path) { + var _this = this; + + path.get("body").forEach(function (bodyPath) { + var source = (0, _utils.getRequireSource)(bodyPath); + if (!source) return; + + if (isBabelPolyfillSource(source)) { + console.warn(BABEL_POLYFILL_DEPRECATION); + } else { + var modules = isCoreJSSource(source); + + if (shouldReplace(source, modules)) { + _this.replaceBySeparateModulesImport(bodyPath, modules); + } + } + }); + }, + exit: function exit(path) { + var _this2 = this; + + var filtered = (0, _utils.intersection)(polyfills, this.polyfillsSet, available); + var reversed = Array.from(filtered).reverse(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = reversed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var module = _step.value; + + if (!this.injectedPolyfills.has(module)) { + (0, _utils.createImport)(path, module); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + filtered.forEach(function (module) { + return _this2.injectedPolyfills.add(module); + }); + } + } + }; + return { + name: "corejs3-entry", + visitor: isPolyfillImport, + pre: function pre() { + this.injectedPolyfills = new Set(); + this.polyfillsSet = new Set(); + + this.replaceBySeparateModulesImport = function (path, modules) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = modules[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var module = _step2.value; + this.polyfillsSet.add(module); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + path.remove(); + }; + }, + post: function post() { + if (debug) { + (0, _debug.logEntryPolyfills)("core-js", this.injectedPolyfills.size > 0, this.injectedPolyfills, this.file.opts.filename, polyfillTargets, _data.default); + } + } + }; +} + +},{"../../debug":146,"../../filter-items":147,"../../utils":164,"core-js-compat/data":303,"core-js-compat/entries":304,"core-js-compat/get-modules-list-for-target-version":305}],159:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; +var _default = ["esnext.global-this", "esnext.string.match-all"]; +exports.default = _default; + +},{}],160:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _data = _interopRequireDefault(require("core-js-compat/data")); + +var _shippedProposals = _interopRequireDefault(require("./shipped-proposals")); + +var _getModulesListForTargetVersion = _interopRequireDefault(require("core-js-compat/get-modules-list-for-target-version")); + +var _filterItems = _interopRequireDefault(require("../../filter-items")); + +var _builtInDefinitions = require("./built-in-definitions"); + +var _utils = require("../../utils"); + +var _debug = require("../../debug"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var NO_DIRECT_POLYFILL_IMPORT = "\n When setting `useBuiltIns: 'usage'`, polyfills are automatically imported when needed.\n Please remove the direct import of `core-js` or use `useBuiltIns: 'entry'` instead."; +var corejs3PolyfillsWithoutProposals = Object.keys(_data.default).filter(function (name) { + return !name.startsWith("esnext."); +}).reduce(function (memo, key) { + memo[key] = _data.default[key]; + return memo; +}, {}); + +var corejs3PolyfillsWithShippedProposals = _shippedProposals.default.reduce(function (memo, key) { + memo[key] = _data.default[key]; + return memo; +}, Object.assign({}, corejs3PolyfillsWithoutProposals)); + +function _default(_, _ref) { + var corejs = _ref.corejs, + include = _ref.include, + exclude = _ref.exclude, + polyfillTargets = _ref.polyfillTargets, + proposals = _ref.proposals, + shippedProposals = _ref.shippedProposals, + debug = _ref.debug; + var polyfills = (0, _filterItems.default)(proposals ? _data.default : shippedProposals ? corejs3PolyfillsWithShippedProposals : corejs3PolyfillsWithoutProposals, include, exclude, polyfillTargets, null); + var available = new Set((0, _getModulesListForTargetVersion.default)(corejs.version)); + + function resolveKey(path, computed) { + var node = path.node, + parent = path.parent, + scope = path.scope; + if (path.isStringLiteral()) return node.value; + var name = node.name; + var isIdentifier = path.isIdentifier(); + if (isIdentifier && !(computed || parent.computed)) return name; + + if (!isIdentifier || scope.getBindingIdentifier(name)) { + var _path$evaluate = path.evaluate(), + value = _path$evaluate.value; + + if (typeof value === "string") return value; + } + } + + function resolveSource(path) { + var node = path.node, + scope = path.scope; + var builtIn, instanceType; + + if (node) { + builtIn = node.name; + + if (!path.isIdentifier() || scope.getBindingIdentifier(builtIn)) { + var _path$evaluate2 = path.evaluate(), + deopt = _path$evaluate2.deopt, + value = _path$evaluate2.value; + + if (value !== undefined) { + instanceType = (0, _utils.getType)(value); + } else if (deopt && deopt.isIdentifier()) { + builtIn = deopt.node.name; + } + } + } + + return { + builtIn: builtIn, + instanceType: instanceType, + isNamespaced: (0, _utils.isNamespaced)(path) + }; + } + + var addAndRemovePolyfillImports = { + ImportDeclaration: function ImportDeclaration(path) { + if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) { + console.warn(NO_DIRECT_POLYFILL_IMPORT); + path.remove(); + } + }, + Program: { + enter: function enter(path) { + path.get("body").forEach(function (bodyPath) { + if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) { + console.warn(NO_DIRECT_POLYFILL_IMPORT); + bodyPath.remove(); + } + }); + }, + exit: function exit(path) { + var _this = this; + + var filtered = (0, _utils.intersection)(polyfills, this.polyfillsSet, available); + var reversed = Array.from(filtered).reverse(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = reversed[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var module = _step.value; + + if (!this.injectedPolyfills.has(module)) { + (0, _utils.createImport)(path, module); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + filtered.forEach(function (module) { + return _this.injectedPolyfills.add(module); + }); + } + }, + Import: function Import() { + this.addUnsupported(_builtInDefinitions.PromiseDependencies); + }, + Function: function Function(_ref2) { + var node = _ref2.node; + + if (node.async) { + this.addUnsupported(_builtInDefinitions.PromiseDependencies); + } + }, + "ForOfStatement|ArrayPattern": function ForOfStatementArrayPattern() { + this.addUnsupported(_builtInDefinitions.CommonIterators); + }, + SpreadElement: function SpreadElement(_ref3) { + var parentPath = _ref3.parentPath; + + if (!parentPath.isObjectExpression()) { + this.addUnsupported(_builtInDefinitions.CommonIterators); + } + }, + YieldExpression: function YieldExpression(_ref4) { + var node = _ref4.node; + + if (node.delegate) { + this.addUnsupported(_builtInDefinitions.CommonIterators); + } + }, + ReferencedIdentifier: function ReferencedIdentifier(_ref5) { + var name = _ref5.node.name, + scope = _ref5.scope; + if (scope.getBindingIdentifier(name)) return; + this.addBuiltInDependencies(name); + }, + MemberExpression: function MemberExpression(path) { + var source = resolveSource(path.get("object")); + var key = resolveKey(path.get("property")); + this.addPropertyDependencies(source, key); + }, + ObjectPattern: function ObjectPattern(path) { + var parentPath = path.parentPath, + parent = path.parent, + key = path.key; + var source; + + if (parentPath.isVariableDeclarator()) { + source = resolveSource(parentPath.get("init")); + } else if (parentPath.isAssignmentExpression()) { + source = resolveSource(parentPath.get("right")); + } else if (parentPath.isFunctionExpression()) { + var grand = parentPath.parentPath; + + if (grand.isCallExpression() || grand.isNewExpression()) { + if (grand.node.callee === parent) { + source = resolveSource(grand.get("arguments")[key]); + } + } + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = path.get("properties")[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var property = _step2.value; + + if (property.isObjectProperty()) { + var _key = resolveKey(property.get("key")); + + this.addPropertyDependencies(source, _key); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + }, + BinaryExpression: function BinaryExpression(path) { + if (path.node.operator !== "in") return; + var source = resolveSource(path.get("right")); + var key = resolveKey(path.get("left"), true); + this.addPropertyDependencies(source, key); + } + }; + return { + name: "corejs3-usage", + pre: function pre() { + this.injectedPolyfills = new Set(); + this.polyfillsSet = new Set(); + + this.addUnsupported = function (builtIn) { + var modules = Array.isArray(builtIn) ? builtIn : [builtIn]; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = modules[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var module = _step3.value; + this.polyfillsSet.add(module); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + }; + + this.addBuiltInDependencies = function (builtIn) { + if ((0, _utils.has)(_builtInDefinitions.BuiltIns, builtIn)) { + var BuiltInDependencies = _builtInDefinitions.BuiltIns[builtIn]; + this.addUnsupported(BuiltInDependencies); + } + }; + + this.addPropertyDependencies = function () { + var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var key = arguments.length > 1 ? arguments[1] : undefined; + var builtIn = source.builtIn, + instanceType = source.instanceType, + isNamespaced = source.isNamespaced; + if (isNamespaced) return; + + if (_builtInDefinitions.PossibleGlobalObjects.has(builtIn)) { + this.addBuiltInDependencies(key); + } else if ((0, _utils.has)(_builtInDefinitions.StaticProperties, builtIn)) { + var BuiltInProperties = _builtInDefinitions.StaticProperties[builtIn]; + + if ((0, _utils.has)(BuiltInProperties, key)) { + var StaticPropertyDependencies = BuiltInProperties[key]; + return this.addUnsupported(StaticPropertyDependencies); + } + } + + if (!(0, _utils.has)(_builtInDefinitions.InstanceProperties, key)) return; + var InstancePropertyDependencies = _builtInDefinitions.InstanceProperties[key]; + + if (instanceType) { + InstancePropertyDependencies = InstancePropertyDependencies.filter(function (m) { + return m.includes(instanceType) || _builtInDefinitions.CommonInstanceDependencies.has(m); + }); + } + + this.addUnsupported(InstancePropertyDependencies); + }; + }, + post: function post() { + if (debug) { + (0, _debug.logUsagePolyfills)(this.injectedPolyfills, this.file.opts.filename, polyfillTargets, _data.default); + } + }, + visitor: addAndRemovePolyfillImports + }; +} + +},{"../../debug":146,"../../filter-items":147,"../../utils":164,"./built-in-definitions":157,"./shipped-proposals":159,"core-js-compat/data":303,"core-js-compat/get-modules-list-for-target-version":305}],161:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _utils = require("../../utils"); + +function isRegeneratorSource(source) { + return source === "regenerator-runtime/runtime"; +} + +function _default() { + var visitor = { + ImportDeclaration: function ImportDeclaration(path) { + if (isRegeneratorSource((0, _utils.getImportSource)(path))) { + this.regeneratorImportExcluded = true; + path.remove(); + } + }, + Program: function Program(path) { + var _this = this; + + path.get("body").forEach(function (bodyPath) { + if (isRegeneratorSource((0, _utils.getRequireSource)(bodyPath))) { + _this.regeneratorImportExcluded = true; + bodyPath.remove(); + } + }); + } + }; + return { + name: "regenerator-entry", + visitor: visitor, + pre: function pre() { + this.regeneratorImportExcluded = false; + }, + post: function post() { + if (this.opts.debug && this.regeneratorImportExcluded) { + var filename = this.file.opts.filename; + + if (process.env.BABEL_ENV === "test") { + filename = filename.replace(/\\/g, "/"); + } + + console.log("\n[".concat(filename, "] Based on your targets, regenerator-runtime import excluded.")); + } + } + }; +} + +}).call(this,require('_process')) +},{"../../utils":164,"_process":1054}],162:[function(require,module,exports){ +(function (process){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var _utils = require("../../utils"); + +function _default() { + return { + name: "regenerator-usage", + pre: function pre() { + this.usesRegenerator = false; + }, + visitor: { + Function: function Function(path) { + var node = path.node; + + if (!this.usesRegenerator && (node.generator || node.async)) { + this.usesRegenerator = true; + (0, _utils.createImport)(path, "regenerator-runtime"); + } + } + }, + post: function post() { + if (this.opts.debug && this.usesRegenerator) { + var filename = this.file.opts.filename; + + if (process.env.BABEL_ENV === "test") { + filename = filename.replace(/\\/g, "/"); + } + + console.log("\n[".concat(filename, "] Based on your code and targets, added regenerator-runtime.")); + } + } + }; +} + +}).call(this,require('_process')) +},{"../../utils":164,"_process":1054}],163:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.semverMin = exports.isBrowsersQueryValid = void 0; + +var _browserslist = _interopRequireDefault(require("browserslist")); + +var _invariant = _interopRequireDefault(require("invariant")); + +var _semver = _interopRequireDefault(require("semver")); + +var _utils = require("./utils"); + +var _builtInModules = _interopRequireDefault(require("../data/built-in-modules.json")); + +var _options = require("./options"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var browserslistDefaults = _browserslist.default.defaults; +var validBrowserslistTargets = [].concat(_toConsumableArray(Object.keys(_browserslist.default.data)), _toConsumableArray(Object.keys(_browserslist.default.aliases))); + +var objectToBrowserslist = function objectToBrowserslist(object) { + return Object.keys(object).reduce(function (list, targetName) { + if (validBrowserslistTargets.indexOf(targetName) >= 0) { + var targetVersion = object[targetName]; + return list.concat("".concat(targetName, " ").concat(targetVersion)); + } + + return list; + }, []); +}; + +var validateTargetNames = function validateTargetNames(targets) { + var validTargets = Object.keys(_options.TargetNames); + + for (var target in targets) { + if (!_options.TargetNames[target]) { + throw new Error("Invalid Option: '".concat(target, "' is not a valid target\n Maybe you meant to use '").concat((0, _utils.findSuggestion)(validTargets, target), "'?")); + } + } +}; + +var browserNameMap = { + and_chr: "chrome", + and_ff: "firefox", + android: "android", + chrome: "chrome", + edge: "edge", + firefox: "firefox", + ie: "ie", + ie_mob: "ie", + ios_saf: "ios", + node: "node", + op_mob: "opera", + opera: "opera", + safari: "safari", + samsung: "samsung" +}; + +var isBrowsersQueryValid = function isBrowsersQueryValid(browsers) { + return typeof browsers === "string" || Array.isArray(browsers); +}; + +exports.isBrowsersQueryValid = isBrowsersQueryValid; + +var validateBrowsers = function validateBrowsers(browsers) { + (0, _invariant.default)(typeof browsers === "undefined" || isBrowsersQueryValid(browsers), "Invalid Option: '".concat(browsers, "' is not a valid browserslist query")); + return browsers; +}; + +var semverMin = function semverMin(first, second) { + return first && _semver.default.lt(first, second) ? first : second; +}; + +exports.semverMin = semverMin; + +var mergeBrowsers = function mergeBrowsers(fromQuery, fromTarget) { + return Object.keys(fromTarget).reduce(function (queryObj, targKey) { + if (targKey !== _options.TargetNames.browsers) { + queryObj[targKey] = fromTarget[targKey]; + } + + return queryObj; + }, fromQuery); +}; + +var getLowestVersions = function getLowestVersions(browsers) { + return browsers.reduce(function (all, browser) { + var _browser$split = browser.split(" "), + _browser$split2 = _slicedToArray(_browser$split, 2), + browserName = _browser$split2[0], + browserVersion = _browser$split2[1]; + + var normalizedBrowserName = browserNameMap[browserName]; + + if (!normalizedBrowserName) { + return all; + } + + try { + var splitVersion = browserVersion.split("-")[0].toLowerCase(); + var isSplitUnreleased = (0, _utils.isUnreleasedVersion)(splitVersion, browserName); + + if (!all[normalizedBrowserName]) { + all[normalizedBrowserName] = isSplitUnreleased ? splitVersion : (0, _utils.semverify)(splitVersion); + return all; + } + + var version = all[normalizedBrowserName]; + var isUnreleased = (0, _utils.isUnreleasedVersion)(version, browserName); + + if (isUnreleased && isSplitUnreleased) { + all[normalizedBrowserName] = (0, _utils.getLowestUnreleased)(version, splitVersion, browserName); + } else if (isUnreleased) { + all[normalizedBrowserName] = (0, _utils.semverify)(splitVersion); + } else if (!isUnreleased && !isSplitUnreleased) { + var parsedBrowserVersion = (0, _utils.semverify)(splitVersion); + all[normalizedBrowserName] = semverMin(version, parsedBrowserVersion); + } + } catch (e) {} + + return all; + }, {}); +}; + +var outputDecimalWarning = function outputDecimalWarning(decimalTargets) { + if (!decimalTargets || !decimalTargets.length) { + return; + } + + console.log("Warning, the following targets are using a decimal version:"); + console.log(""); + decimalTargets.forEach(function (_ref) { + var target = _ref.target, + value = _ref.value; + return console.log(" ".concat(target, ": ").concat(value)); + }); + console.log(""); + console.log("We recommend using a string for minor/patch versions to avoid numbers like 6.10"); + console.log("getting parsed as 6.1, which can lead to unexpected behavior."); + console.log(""); +}; + +var semverifyTarget = function semverifyTarget(target, value) { + try { + return (0, _utils.semverify)(value); + } catch (error) { + throw new Error("Invalid Option: '".concat(value, "' is not a valid value for 'targets.").concat(target, "'.")); + } +}; + +var targetParserMap = { + __default: function __default(target, value) { + var version = (0, _utils.isUnreleasedVersion)(value, target) ? value.toLowerCase() : semverifyTarget(target, value); + return [target, version]; + }, + node: function node(target, value) { + var parsed = value === true || value === "current" ? process.versions.node : semverifyTarget(target, value); + return [target, parsed]; + } +}; + +var getTargets = function getTargets() { + var targets = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var targetOpts = {}; + validateTargetNames(targets); + + if (targets.esmodules) { + var supportsESModules = _builtInModules.default["es6.module"]; + targets.browsers = Object.keys(supportsESModules).map(function (browser) { + return "".concat(browser, " ").concat(supportsESModules[browser]); + }).join(", "); + } + + var browsersquery = validateBrowsers(targets.browsers); + var hasTargets = Object.keys(targets).length > 0; + var shouldParseBrowsers = !!targets.browsers; + var shouldSearchForConfig = !options.ignoreBrowserslistConfig && !hasTargets; + + if (shouldParseBrowsers || shouldSearchForConfig) { + if (!hasTargets) { + _browserslist.default.defaults = objectToBrowserslist(targets); + } + + var browsers = (0, _browserslist.default)(browsersquery, { + path: options.configPath, + mobileToDesktop: true + }); + var queryBrowsers = getLowestVersions(browsers); + targets = mergeBrowsers(queryBrowsers, targets); + _browserslist.default.defaults = browserslistDefaults; + } + + var parsed = Object.keys(targets).filter(function (value) { + return value !== _options.TargetNames.esmodules; + }).sort().reduce(function (results, target) { + if (target !== _options.TargetNames.browsers) { + var value = targets[target]; + + if (typeof value === "number" && value % 1 !== 0) { + results.decimalWarnings.push({ + target: target, + value: value + }); + } + + var parser = targetParserMap[target] || targetParserMap.__default; + + var _parser = parser(target, value), + _parser2 = _slicedToArray(_parser, 2), + parsedTarget = _parser2[0], + parsedValue = _parser2[1]; + + if (parsedValue) { + results.targets[parsedTarget] = parsedValue; + } + } + + return results; + }, { + targets: targetOpts, + decimalWarnings: [] + }); + outputDecimalWarning(parsed.decimalWarnings); + return parsed.targets; +}; + +var _default = getTargets; +exports.default = _default; + +}).call(this,require('_process')) +},{"../data/built-in-modules.json":139,"./options":152,"./utils":164,"_process":1054,"browserslist":288,"invariant":840,"semver":1070}],164:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getType = getType; +exports.semverify = semverify; +exports.intersection = intersection; +exports.findSuggestion = findSuggestion; +exports.prettifyVersion = prettifyVersion; +exports.prettifyTargets = prettifyTargets; +exports.isUnreleasedVersion = isUnreleasedVersion; +exports.getLowestUnreleased = getLowestUnreleased; +exports.filterStageFromList = filterStageFromList; +exports.getImportSource = getImportSource; +exports.getRequireSource = getRequireSource; +exports.isPolyfillSource = isPolyfillSource; +exports.getModulePath = getModulePath; +exports.createImport = createImport; +exports.isNamespaced = isNamespaced; +exports.has = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +var _invariant = _interopRequireDefault(require("invariant")); + +var _semver = _interopRequireDefault(require("semver")); + +var _jsLevenshtein = _interopRequireDefault(require("js-levenshtein")); + +var _helperModuleImports = require("@babel/helper-module-imports"); + +var _unreleasedLabels = _interopRequireDefault(require("../data/unreleased-labels")); + +var _targetsParser = require("./targets-parser"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var has = Object.hasOwnProperty.call.bind(Object.hasOwnProperty); +exports.has = has; + +function getType(target) { + return Object.prototype.toString.call(target).slice(8, -1).toLowerCase(); +} + +var versionRegExp = /^(\d+|\d+.\d+)$/; + +function semverify(version) { + if (typeof version === "string" && _semver.default.valid(version)) { + return version; + } + + (0, _invariant.default)(typeof version === "number" || typeof version === "string" && versionRegExp.test(version), "'".concat(version, "' is not a valid version")); + var split = version.toString().split("."); + + while (split.length < 3) { + split.push("0"); + } + + return split.join("."); +} + +function intersection(first, second, third) { + var result = new Set(); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = first[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var el = _step.value; + if (second.has(el) && third.has(el)) result.add(el); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return result; +} + +function findSuggestion(options, option) { + var levenshteinValue = Infinity; + return options.reduce(function (suggestion, validOption) { + var value = (0, _jsLevenshtein.default)(validOption, option); + + if (value < levenshteinValue) { + levenshteinValue = value; + return validOption; + } + + return suggestion; + }, ""); +} + +function prettifyVersion(version) { + if (typeof version !== "string") { + return version; + } + + var parts = [_semver.default.major(version)]; + + var minor = _semver.default.minor(version); + + var patch = _semver.default.patch(version); + + if (minor || patch) { + parts.push(minor); + } + + if (patch) { + parts.push(patch); + } + + return parts.join("."); +} + +function prettifyTargets(targets) { + return Object.keys(targets).reduce(function (results, target) { + var value = targets[target]; + var unreleasedLabel = _unreleasedLabels.default[target]; + + if (typeof value === "string" && unreleasedLabel !== value) { + value = prettifyVersion(value); + } + + results[target] = value; + return results; + }, {}); +} + +function isUnreleasedVersion(version, env) { + var unreleasedLabel = _unreleasedLabels.default[env]; + return !!unreleasedLabel && unreleasedLabel === version.toString().toLowerCase(); +} + +function getLowestUnreleased(a, b, env) { + var unreleasedLabel = _unreleasedLabels.default[env]; + var hasUnreleased = [a, b].some(function (item) { + return item === unreleasedLabel; + }); + + if (hasUnreleased) { + return a === hasUnreleased ? b : a || b; + } + + return (0, _targetsParser.semverMin)(a, b); +} + +function filterStageFromList(list, stageList) { + return Object.keys(list).reduce(function (result, item) { + if (!stageList[item]) { + result[item] = list[item]; + } + + return result; + }, {}); +} + +function getImportSource(_ref) { + var node = _ref.node; + if (node.specifiers.length === 0) return node.source.value; +} + +function getRequireSource(_ref2) { + var node = _ref2.node; + if (!t.isExpressionStatement(node)) return; + var expression = node.expression; + var isRequire = t.isCallExpression(expression) && t.isIdentifier(expression.callee) && expression.callee.name === "require" && expression.arguments.length === 1 && t.isStringLiteral(expression.arguments[0]); + if (isRequire) return expression.arguments[0].value; +} + +function isPolyfillSource(source) { + return source === "@babel/polyfill" || source === "core-js"; +} + +var modulePathMap = { + "regenerator-runtime": "regenerator-runtime/runtime" +}; + +function getModulePath(mod) { + return modulePathMap[mod] || "core-js/modules/".concat(mod); +} + +function createImport(path, mod) { + return (0, _helperModuleImports.addSideEffect)(path, getModulePath(mod)); +} + +function isNamespaced(path) { + if (!path.node) return false; + var binding = path.scope.getBinding(path.node.name); + if (!binding) return false; + return binding.path.isImportNamespaceSpecifier(); +} + +},{"../data/unreleased-labels":144,"./targets-parser":163,"@babel/helper-module-imports":72,"@babel/types":242,"invariant":840,"js-levenshtein":842,"semver":1070}],165:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = createTemplateBuilder; + +var _options = require("./options"); + +var _string = _interopRequireDefault(require("./string")); + +var _literal = _interopRequireDefault(require("./literal")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var NO_PLACEHOLDER = (0, _options.validate)({ + placeholderPattern: false +}); + +function createTemplateBuilder(formatter, defaultOpts) { + var templateFnCache = new WeakMap(); + var templateAstCache = new WeakMap(); + var cachedOpts = defaultOpts || (0, _options.validate)(null); + return Object.assign(function (tpl) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + if (typeof tpl === "string") { + if (args.length > 1) throw new Error("Unexpected extra params."); + return extendedTrace((0, _string.default)(formatter, tpl, (0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])))); + } else if (Array.isArray(tpl)) { + var builder = templateFnCache.get(tpl); + + if (!builder) { + builder = (0, _literal.default)(formatter, tpl, cachedOpts); + templateFnCache.set(tpl, builder); + } + + return extendedTrace(builder(args)); + } else if (_typeof(tpl) === "object" && tpl) { + if (args.length > 0) throw new Error("Unexpected extra params."); + return createTemplateBuilder(formatter, (0, _options.merge)(cachedOpts, (0, _options.validate)(tpl))); + } + + throw new Error("Unexpected template param ".concat(_typeof(tpl))); + }, { + ast: function ast(tpl) { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + if (typeof tpl === "string") { + if (args.length > 1) throw new Error("Unexpected extra params."); + return (0, _string.default)(formatter, tpl, (0, _options.merge)((0, _options.merge)(cachedOpts, (0, _options.validate)(args[0])), NO_PLACEHOLDER))(); + } else if (Array.isArray(tpl)) { + var builder = templateAstCache.get(tpl); + + if (!builder) { + builder = (0, _literal.default)(formatter, tpl, (0, _options.merge)(cachedOpts, NO_PLACEHOLDER)); + templateAstCache.set(tpl, builder); + } + + return builder(args)(); + } + + throw new Error("Unexpected template param ".concat(_typeof(tpl))); + } + }); +} + +function extendedTrace(fn) { + var rootStack = ""; + + try { + throw new Error(); + } catch (error) { + if (error.stack) { + rootStack = error.stack.split("\n").slice(3).join("\n"); + } + } + + return function (arg) { + try { + return fn(arg); + } catch (err) { + err.stack += "\n =============\n".concat(rootStack); + throw err; + } + }; +} + +},{"./literal":168,"./options":169,"./string":172}],166:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.program = exports.expression = exports.statement = exports.statements = exports.smart = void 0; + +function makeStatementFormatter(fn) { + return { + code: function code(str) { + return "/* @babel/template */;\n".concat(str); + }, + validate: function validate() {}, + unwrap: function unwrap(ast) { + return fn(ast.program.body.slice(1)); + } + }; +} + +var smart = makeStatementFormatter(function (body) { + if (body.length > 1) { + return body; + } else { + return body[0]; + } +}); +exports.smart = smart; +var statements = makeStatementFormatter(function (body) { + return body; +}); +exports.statements = statements; +var statement = makeStatementFormatter(function (body) { + if (body.length === 0) { + throw new Error("Found nothing to return."); + } + + if (body.length > 1) { + throw new Error("Found multiple statements but wanted one"); + } + + return body[0]; +}); +exports.statement = statement; +var expression = { + code: function code(str) { + return "(\n".concat(str, "\n)"); + }, + validate: function validate(_ref) { + var program = _ref.program; + + if (program.body.length > 1) { + throw new Error("Found multiple statements but wanted one"); + } + + var expression = program.body[0].expression; + + if (expression.start === 0) { + throw new Error("Parse result included parens."); + } + }, + unwrap: function unwrap(ast) { + return ast.program.body[0].expression; + } +}; +exports.expression = expression; +var program = { + code: function code(str) { + return str; + }, + validate: function validate() {}, + unwrap: function unwrap(ast) { + return ast.program; + } +}; +exports.program = program; + +},{}],167:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.program = exports.expression = exports.statements = exports.statement = exports.smart = void 0; + +var formatters = _interopRequireWildcard(require("./formatters")); + +var _builder = _interopRequireDefault(require("./builder")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var smart = (0, _builder.default)(formatters.smart); +exports.smart = smart; +var statement = (0, _builder.default)(formatters.statement); +exports.statement = statement; +var statements = (0, _builder.default)(formatters.statements); +exports.statements = statements; +var expression = (0, _builder.default)(formatters.expression); +exports.expression = expression; +var program = (0, _builder.default)(formatters.program); +exports.program = program; + +var _default = Object.assign(smart.bind(undefined), { + smart: smart, + statement: statement, + statements: statements, + expression: expression, + program: program, + ast: smart.ast +}); + +exports.default = _default; + +},{"./builder":165,"./formatters":166}],168:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = literalTemplate; + +var _options = require("./options"); + +var _parse = _interopRequireDefault(require("./parse")); + +var _populate = _interopRequireDefault(require("./populate")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function literalTemplate(formatter, tpl, opts) { + var _buildLiteralData = buildLiteralData(formatter, tpl, opts), + metadata = _buildLiteralData.metadata, + names = _buildLiteralData.names; + + return function (arg) { + var defaultReplacements = arg.reduce(function (acc, replacement, i) { + acc[names[i]] = replacement; + return acc; + }, {}); + return function (arg) { + var replacements = (0, _options.normalizeReplacements)(arg); + + if (replacements) { + Object.keys(replacements).forEach(function (key) { + if (Object.prototype.hasOwnProperty.call(defaultReplacements, key)) { + throw new Error("Unexpected replacement overlap."); + } + }); + } + + return formatter.unwrap((0, _populate.default)(metadata, replacements ? Object.assign(replacements, defaultReplacements) : defaultReplacements)); + }; + }; +} + +function buildLiteralData(formatter, tpl, opts) { + var names; + var nameSet; + var metadata; + var prefix = ""; + + do { + prefix += "$"; + var result = buildTemplateCode(tpl, prefix); + names = result.names; + nameSet = new Set(names); + metadata = (0, _parse.default)(formatter, formatter.code(result.code), { + parser: opts.parser, + placeholderWhitelist: new Set(result.names.concat(opts.placeholderWhitelist ? Array.from(opts.placeholderWhitelist) : [])), + placeholderPattern: opts.placeholderPattern, + preserveComments: opts.preserveComments, + syntacticPlaceholders: opts.syntacticPlaceholders + }); + } while (metadata.placeholders.some(function (placeholder) { + return placeholder.isDuplicate && nameSet.has(placeholder.name); + })); + + return { + metadata: metadata, + names: names + }; +} + +function buildTemplateCode(tpl, prefix) { + var names = []; + var code = tpl[0]; + + for (var i = 1; i < tpl.length; i++) { + var value = "".concat(prefix).concat(i - 1); + names.push(value); + code += value + tpl[i]; + } + + return { + names: names, + code: code + }; +} + +},{"./options":169,"./parse":170,"./populate":171}],169:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.merge = merge; +exports.validate = validate; +exports.normalizeReplacements = normalizeReplacements; + +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +function merge(a, b) { + var _b$placeholderWhiteli = b.placeholderWhitelist, + placeholderWhitelist = _b$placeholderWhiteli === void 0 ? a.placeholderWhitelist : _b$placeholderWhiteli, + _b$placeholderPattern = b.placeholderPattern, + placeholderPattern = _b$placeholderPattern === void 0 ? a.placeholderPattern : _b$placeholderPattern, + _b$preserveComments = b.preserveComments, + preserveComments = _b$preserveComments === void 0 ? a.preserveComments : _b$preserveComments, + _b$syntacticPlacehold = b.syntacticPlaceholders, + syntacticPlaceholders = _b$syntacticPlacehold === void 0 ? a.syntacticPlaceholders : _b$syntacticPlacehold; + return { + parser: Object.assign({}, a.parser, {}, b.parser), + placeholderWhitelist: placeholderWhitelist, + placeholderPattern: placeholderPattern, + preserveComments: preserveComments, + syntacticPlaceholders: syntacticPlaceholders + }; +} + +function validate(opts) { + if (opts != null && _typeof(opts) !== "object") { + throw new Error("Unknown template options."); + } + + var _ref = opts || {}, + placeholderWhitelist = _ref.placeholderWhitelist, + placeholderPattern = _ref.placeholderPattern, + preserveComments = _ref.preserveComments, + syntacticPlaceholders = _ref.syntacticPlaceholders, + parser = _objectWithoutPropertiesLoose(_ref, ["placeholderWhitelist", "placeholderPattern", "preserveComments", "syntacticPlaceholders"]); + + if (placeholderWhitelist != null && !(placeholderWhitelist instanceof Set)) { + throw new Error("'.placeholderWhitelist' must be a Set, null, or undefined"); + } + + if (placeholderPattern != null && !(placeholderPattern instanceof RegExp) && placeholderPattern !== false) { + throw new Error("'.placeholderPattern' must be a RegExp, false, null, or undefined"); + } + + if (preserveComments != null && typeof preserveComments !== "boolean") { + throw new Error("'.preserveComments' must be a boolean, null, or undefined"); + } + + if (syntacticPlaceholders != null && typeof syntacticPlaceholders !== "boolean") { + throw new Error("'.syntacticPlaceholders' must be a boolean, null, or undefined"); + } + + if (syntacticPlaceholders === true && (placeholderWhitelist != null || placeholderPattern != null)) { + throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); + } + + return { + parser: parser, + placeholderWhitelist: placeholderWhitelist || undefined, + placeholderPattern: placeholderPattern == null ? undefined : placeholderPattern, + preserveComments: preserveComments == null ? false : preserveComments, + syntacticPlaceholders: syntacticPlaceholders == null ? undefined : syntacticPlaceholders + }; +} + +function normalizeReplacements(replacements) { + if (Array.isArray(replacements)) { + return replacements.reduce(function (acc, replacement, i) { + acc["$" + i] = replacement; + return acc; + }, {}); + } else if (_typeof(replacements) === "object" || replacements == null) { + return replacements || undefined; + } + + throw new Error("Template replacements must be an array, object, null, or undefined"); +} + +},{}],170:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = parseAndBuildMetadata; + +var t = _interopRequireWildcard(require("@babel/types")); + +var _parser = require("@babel/parser"); + +var _codeFrame = require("@babel/code-frame"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var PATTERN = /^[_$A-Z0-9]+$/; + +function parseAndBuildMetadata(formatter, code, opts) { + var ast = parseWithCodeFrame(code, opts.parser); + var placeholderWhitelist = opts.placeholderWhitelist, + placeholderPattern = opts.placeholderPattern, + preserveComments = opts.preserveComments, + syntacticPlaceholders = opts.syntacticPlaceholders; + t.removePropertiesDeep(ast, { + preserveComments: preserveComments + }); + formatter.validate(ast); + var syntactic = { + placeholders: [], + placeholderNames: new Set() + }; + var legacy = { + placeholders: [], + placeholderNames: new Set() + }; + var isLegacyRef = { + value: undefined + }; + t.traverse(ast, placeholderVisitorHandler, { + syntactic: syntactic, + legacy: legacy, + isLegacyRef: isLegacyRef, + placeholderWhitelist: placeholderWhitelist, + placeholderPattern: placeholderPattern, + syntacticPlaceholders: syntacticPlaceholders + }); + return Object.assign({ + ast: ast + }, isLegacyRef.value ? legacy : syntactic); +} + +function placeholderVisitorHandler(node, ancestors, state) { + var name; + + if (t.isPlaceholder(node)) { + if (state.syntacticPlaceholders === false) { + throw new Error("%%foo%%-style placeholders can't be used when " + "'.syntacticPlaceholders' is false."); + } else { + name = node.name.name; + state.isLegacyRef.value = false; + } + } else if (state.isLegacyRef.value === false || state.syntacticPlaceholders) { + return; + } else if (t.isIdentifier(node) || t.isJSXIdentifier(node)) { + name = node.name; + state.isLegacyRef.value = true; + } else if (t.isStringLiteral(node)) { + name = node.value; + state.isLegacyRef.value = true; + } else { + return; + } + + if (!state.isLegacyRef.value && (state.placeholderPattern != null || state.placeholderWhitelist != null)) { + throw new Error("'.placeholderWhitelist' and '.placeholderPattern' aren't compatible" + " with '.syntacticPlaceholders: true'"); + } + + if (state.isLegacyRef.value && (state.placeholderPattern === false || !(state.placeholderPattern || PATTERN).test(name)) && (!state.placeholderWhitelist || !state.placeholderWhitelist.has(name))) { + return; + } + + ancestors = ancestors.slice(); + var _ancestors = ancestors[ancestors.length - 1], + parent = _ancestors.node, + key = _ancestors.key; + var type; + + if (t.isStringLiteral(node) || t.isPlaceholder(node, { + expectedNode: "StringLiteral" + })) { + type = "string"; + } else if (t.isNewExpression(parent) && key === "arguments" || t.isCallExpression(parent) && key === "arguments" || t.isFunction(parent) && key === "params") { + type = "param"; + } else if (t.isExpressionStatement(parent) && !t.isPlaceholder(node)) { + type = "statement"; + ancestors = ancestors.slice(0, -1); + } else if (t.isStatement(node) && t.isPlaceholder(node)) { + type = "statement"; + } else { + type = "other"; + } + + var _ref = state.isLegacyRef.value ? state.legacy : state.syntactic, + placeholders = _ref.placeholders, + placeholderNames = _ref.placeholderNames; + + placeholders.push({ + name: name, + type: type, + resolve: function resolve(ast) { + return resolveAncestors(ast, ancestors); + }, + isDuplicate: placeholderNames.has(name) + }); + placeholderNames.add(name); +} + +function resolveAncestors(ast, ancestors) { + var parent = ast; + + for (var i = 0; i < ancestors.length - 1; i++) { + var _ancestors$i = ancestors[i], + _key = _ancestors$i.key, + _index = _ancestors$i.index; + + if (_index === undefined) { + parent = parent[_key]; + } else { + parent = parent[_key][_index]; + } + } + + var _ancestors2 = ancestors[ancestors.length - 1], + key = _ancestors2.key, + index = _ancestors2.index; + return { + parent: parent, + key: key, + index: index + }; +} + +function parseWithCodeFrame(code, parserOpts) { + parserOpts = Object.assign({ + allowReturnOutsideFunction: true, + allowSuperOutsideMethod: true, + sourceType: "module" + }, parserOpts, { + plugins: (parserOpts.plugins || []).concat("placeholders") + }); + + try { + return (0, _parser.parse)(code, parserOpts); + } catch (err) { + var loc = err.loc; + + if (loc) { + err.message += "\n" + (0, _codeFrame.codeFrameColumns)(code, { + start: loc + }); + err.code = "BABEL_TEMPLATE_PARSE_ERROR"; + } + + throw err; + } +} + +},{"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242}],171:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = populatePlaceholders; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function populatePlaceholders(metadata, replacements) { + var ast = t.cloneNode(metadata.ast); + + if (replacements) { + metadata.placeholders.forEach(function (placeholder) { + if (!Object.prototype.hasOwnProperty.call(replacements, placeholder.name)) { + var placeholderName = placeholder.name; + throw new Error("Error: No substitution given for \"".concat(placeholderName, "\". If this is not meant to be a\n placeholder you may want to consider passing one of the following options to @babel/template:\n - { placeholderPattern: false, placeholderWhitelist: new Set(['").concat(placeholderName, "'])}\n - { placeholderPattern: /^").concat(placeholderName, "$/ }")); + } + }); + Object.keys(replacements).forEach(function (key) { + if (!metadata.placeholderNames.has(key)) { + throw new Error("Unknown substitution \"".concat(key, "\" given")); + } + }); + } + + metadata.placeholders.slice().reverse().forEach(function (placeholder) { + try { + applyReplacement(placeholder, ast, replacements && replacements[placeholder.name] || null); + } catch (e) { + e.message = "@babel/template placeholder \"".concat(placeholder.name, "\": ").concat(e.message); + throw e; + } + }); + return ast; +} + +function applyReplacement(placeholder, ast, replacement) { + if (placeholder.isDuplicate) { + if (Array.isArray(replacement)) { + replacement = replacement.map(function (node) { + return t.cloneNode(node); + }); + } else if (_typeof(replacement) === "object") { + replacement = t.cloneNode(replacement); + } + } + + var _placeholder$resolve = placeholder.resolve(ast), + parent = _placeholder$resolve.parent, + key = _placeholder$resolve.key, + index = _placeholder$resolve.index; + + if (placeholder.type === "string") { + if (typeof replacement === "string") { + replacement = t.stringLiteral(replacement); + } + + if (!replacement || !t.isStringLiteral(replacement)) { + throw new Error("Expected string substitution"); + } + } else if (placeholder.type === "statement") { + if (index === undefined) { + if (!replacement) { + replacement = t.emptyStatement(); + } else if (Array.isArray(replacement)) { + replacement = t.blockStatement(replacement); + } else if (typeof replacement === "string") { + replacement = t.expressionStatement(t.identifier(replacement)); + } else if (!t.isStatement(replacement)) { + replacement = t.expressionStatement(replacement); + } + } else { + if (replacement && !Array.isArray(replacement)) { + if (typeof replacement === "string") { + replacement = t.identifier(replacement); + } + + if (!t.isStatement(replacement)) { + replacement = t.expressionStatement(replacement); + } + } + } + } else if (placeholder.type === "param") { + if (typeof replacement === "string") { + replacement = t.identifier(replacement); + } + + if (index === undefined) throw new Error("Assertion failure."); + } else { + if (typeof replacement === "string") { + replacement = t.identifier(replacement); + } + + if (Array.isArray(replacement)) { + throw new Error("Cannot replace single expression with an array."); + } + } + + if (index === undefined) { + t.validate(parent, key, replacement); + parent[key] = replacement; + } else { + var items = parent[key].slice(); + + if (placeholder.type === "statement" || placeholder.type === "param") { + if (replacement == null) { + items.splice(index, 1); + } else if (Array.isArray(replacement)) { + items.splice.apply(items, [index, 1].concat(_toConsumableArray(replacement))); + } else { + items[index] = replacement; + } + } else { + items[index] = replacement; + } + + t.validate(parent, key, items); + parent[key] = items; + } +} + +},{"@babel/types":242}],172:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = stringTemplate; + +var _options = require("./options"); + +var _parse = _interopRequireDefault(require("./parse")); + +var _populate = _interopRequireDefault(require("./populate")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function stringTemplate(formatter, code, opts) { + code = formatter.code(code); + var metadata; + return function (arg) { + var replacements = (0, _options.normalizeReplacements)(arg); + if (!metadata) metadata = (0, _parse.default)(formatter, code, opts); + return formatter.unwrap((0, _populate.default)(metadata, replacements)); + }; +} + +},{"./options":169,"./parse":170,"./populate":171}],173:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.clear = clear; +exports.clearPath = clearPath; +exports.clearScope = clearScope; +exports.scope = exports.path = void 0; +var path = new WeakMap(); +exports.path = path; +var scope = new WeakMap(); +exports.scope = scope; + +function clear() { + clearPath(); + clearScope(); +} + +function clearPath() { + exports.path = path = new WeakMap(); +} + +function clearScope() { + exports.scope = scope = new WeakMap(); +} + +},{}],174:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _path = _interopRequireDefault(require("./path")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var testing = process.env.NODE_ENV === "test"; + +var TraversalContext = +/*#__PURE__*/ +function () { + function TraversalContext(scope, opts, state, parentPath) { + _classCallCheck(this, TraversalContext); + + this.queue = null; + this.parentPath = parentPath; + this.scope = scope; + this.state = state; + this.opts = opts; + } + + _createClass(TraversalContext, [{ + key: "shouldVisit", + value: function shouldVisit(node) { + var opts = this.opts; + if (opts.enter || opts.exit) return true; + if (opts[node.type]) return true; + var keys = t.VISITOR_KEYS[node.type]; + if (!keys || !keys.length) return false; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + if (node[key]) return true; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; + } + }, { + key: "create", + value: function create(node, obj, key, listKey) { + return _path.default.get({ + parentPath: this.parentPath, + parent: node, + container: obj, + key: key, + listKey: listKey + }); + } + }, { + key: "maybeQueue", + value: function maybeQueue(path, notPriority) { + if (this.trap) { + throw new Error("Infinite cycle detected"); + } + + if (this.queue) { + if (notPriority) { + this.queue.push(path); + } else { + this.priorityQueue.push(path); + } + } + } + }, { + key: "visitMultiple", + value: function visitMultiple(container, parent, listKey) { + if (container.length === 0) return false; + var queue = []; + + for (var key = 0; key < container.length; key++) { + var node = container[key]; + + if (node && this.shouldVisit(node)) { + queue.push(this.create(parent, container, key, listKey)); + } + } + + return this.visitQueue(queue); + } + }, { + key: "visitSingle", + value: function visitSingle(node, key) { + if (this.shouldVisit(node[key])) { + return this.visitQueue([this.create(node, node, key)]); + } else { + return false; + } + } + }, { + key: "visitQueue", + value: function visitQueue(queue) { + this.queue = queue; + this.priorityQueue = []; + var visited = []; + var stop = false; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = queue[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var path = _step2.value; + path.resync(); + + if (path.contexts.length === 0 || path.contexts[path.contexts.length - 1] !== this) { + path.pushContext(this); + } + + if (path.key === null) continue; + + if (testing && queue.length >= 10000) { + this.trap = true; + } + + if (visited.indexOf(path.node) >= 0) continue; + visited.push(path.node); + + if (path.visit()) { + stop = true; + break; + } + + if (this.priorityQueue.length) { + stop = this.visitQueue(this.priorityQueue); + this.priorityQueue = []; + this.queue = queue; + if (stop) break; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = queue[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var _path2 = _step3.value; + + _path2.popContext(); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + this.queue = null; + return stop; + } + }, { + key: "visit", + value: function visit(node, key) { + var nodes = node[key]; + if (!nodes) return false; + + if (Array.isArray(nodes)) { + return this.visitMultiple(nodes, node, key); + } else { + return this.visitSingle(node, key); + } + } + }]); + + return TraversalContext; +}(); + +exports.default = TraversalContext; + +}).call(this,require('_process')) +},{"./path":183,"@babel/types":242,"_process":1054}],175:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var Hub = +/*#__PURE__*/ +function () { + function Hub() { + _classCallCheck(this, Hub); + } + + _createClass(Hub, [{ + key: "getCode", + value: function getCode() {} + }, { + key: "getScope", + value: function getScope() {} + }, { + key: "addHelper", + value: function addHelper() { + throw new Error("Helpers are not supported by the default hub."); + } + }, { + key: "buildError", + value: function buildError(node, msg) { + var Error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TypeError; + return new Error(msg); + } + }]); + + return Hub; +}(); + +exports.default = Hub; + +},{}],176:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = traverse; +Object.defineProperty(exports, "NodePath", { + enumerable: true, + get: function get() { + return _path.default; + } +}); +Object.defineProperty(exports, "Scope", { + enumerable: true, + get: function get() { + return _scope.default; + } +}); +Object.defineProperty(exports, "Hub", { + enumerable: true, + get: function get() { + return _hub.default; + } +}); +exports.visitors = void 0; + +var _context = _interopRequireDefault(require("./context")); + +var visitors = _interopRequireWildcard(require("./visitors")); + +exports.visitors = visitors; + +var _includes = _interopRequireDefault(require("lodash/includes")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var cache = _interopRequireWildcard(require("./cache")); + +var _path = _interopRequireDefault(require("./path")); + +var _scope = _interopRequireDefault(require("./scope")); + +var _hub = _interopRequireDefault(require("./hub")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function traverse(parent, opts, scope, state, parentPath) { + if (!parent) return; + if (!opts) opts = {}; + + if (!opts.noScope && !scope) { + if (parent.type !== "Program" && parent.type !== "File") { + throw new Error("You must pass a scope and parentPath unless traversing a Program/File. " + "Instead of that you tried to traverse a ".concat(parent.type, " node without ") + "passing scope and parentPath."); + } + } + + if (!t.VISITOR_KEYS[parent.type]) { + return; + } + + visitors.explode(opts); + traverse.node(parent, opts, scope, state, parentPath); +} + +traverse.visitors = visitors; +traverse.verify = visitors.verify; +traverse.explode = visitors.explode; + +traverse.cheap = function (node, enter) { + return t.traverseFast(node, enter); +}; + +traverse.node = function (node, opts, scope, state, parentPath, skipKeys) { + var keys = t.VISITOR_KEYS[node.type]; + if (!keys) return; + var context = new _context.default(scope, opts, state, parentPath); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + if (skipKeys && skipKeys[key]) continue; + if (context.visit(node, key)) return; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +}; + +traverse.clearNode = function (node, opts) { + t.removeProperties(node, opts); + cache.path.delete(node); +}; + +traverse.removeProperties = function (tree, opts) { + t.traverseFast(tree, traverse.clearNode, opts); + return tree; +}; + +function hasBlacklistedType(path, state) { + if (path.node.type === state.type) { + state.has = true; + path.stop(); + } +} + +traverse.hasType = function (tree, type, blacklistTypes) { + if ((0, _includes.default)(blacklistTypes, tree.type)) return false; + if (tree.type === type) return true; + var state = { + has: false, + type: type + }; + traverse(tree, { + noScope: true, + blacklist: blacklistTypes, + enter: hasBlacklistedType + }, null, state); + return state.has; +}; + +traverse.cache = cache; + +},{"./cache":173,"./context":174,"./hub":175,"./path":183,"./scope":195,"./visitors":197,"@babel/types":242,"lodash/includes":1015}],177:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.findParent = findParent; +exports.find = find; +exports.getFunctionParent = getFunctionParent; +exports.getStatementParent = getStatementParent; +exports.getEarliestCommonAncestorFrom = getEarliestCommonAncestorFrom; +exports.getDeepestCommonAncestorFrom = getDeepestCommonAncestorFrom; +exports.getAncestry = getAncestry; +exports.isAncestor = isAncestor; +exports.isDescendant = isDescendant; +exports.inType = inType; + +var t = _interopRequireWildcard(require("@babel/types")); + +var _index = _interopRequireDefault(require("./index")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function findParent(callback) { + var path = this; + + while (path = path.parentPath) { + if (callback(path)) return path; + } + + return null; +} + +function find(callback) { + var path = this; + + do { + if (callback(path)) return path; + } while (path = path.parentPath); + + return null; +} + +function getFunctionParent() { + return this.findParent(function (p) { + return p.isFunction(); + }); +} + +function getStatementParent() { + var path = this; + + do { + if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) { + break; + } else { + path = path.parentPath; + } + } while (path); + + if (path && (path.isProgram() || path.isFile())) { + throw new Error("File/Program node, we can't possibly find a statement parent to this"); + } + + return path; +} + +function getEarliestCommonAncestorFrom(paths) { + return this.getDeepestCommonAncestorFrom(paths, function (deepest, i, ancestries) { + var earliest; + var keys = t.VISITOR_KEYS[deepest.type]; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = ancestries[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var ancestry = _step.value; + var path = ancestry[i + 1]; + + if (!earliest) { + earliest = path; + continue; + } + + if (path.listKey && earliest.listKey === path.listKey) { + if (path.key < earliest.key) { + earliest = path; + continue; + } + } + + var earliestKeyIndex = keys.indexOf(earliest.parentKey); + var currentKeyIndex = keys.indexOf(path.parentKey); + + if (earliestKeyIndex > currentKeyIndex) { + earliest = path; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return earliest; + }); +} + +function getDeepestCommonAncestorFrom(paths, filter) { + var _this = this; + + if (!paths.length) { + return this; + } + + if (paths.length === 1) { + return paths[0]; + } + + var minDepth = Infinity; + var lastCommonIndex, lastCommon; + var ancestries = paths.map(function (path) { + var ancestry = []; + + do { + ancestry.unshift(path); + } while ((path = path.parentPath) && path !== _this); + + if (ancestry.length < minDepth) { + minDepth = ancestry.length; + } + + return ancestry; + }); + var first = ancestries[0]; + + depthLoop: for (var i = 0; i < minDepth; i++) { + var shouldMatch = first[i]; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = ancestries[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var ancestry = _step2.value; + + if (ancestry[i] !== shouldMatch) { + break depthLoop; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + lastCommonIndex = i; + lastCommon = shouldMatch; + } + + if (lastCommon) { + if (filter) { + return filter(lastCommon, lastCommonIndex, ancestries); + } else { + return lastCommon; + } + } else { + throw new Error("Couldn't find intersection"); + } +} + +function getAncestry() { + var path = this; + var paths = []; + + do { + paths.push(path); + } while (path = path.parentPath); + + return paths; +} + +function isAncestor(maybeDescendant) { + return maybeDescendant.isDescendant(this); +} + +function isDescendant(maybeAncestor) { + return !!this.findParent(function (parent) { + return parent === maybeAncestor; + }); +} + +function inType() { + var path = this; + + while (path) { + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = arguments[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var type = _step3.value; + if (path.node.type === type) return true; + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + path = path.parentPath; + } + + return false; +} + +},{"./index":183,"@babel/types":242}],178:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.shareCommentsWithSiblings = shareCommentsWithSiblings; +exports.addComment = addComment; +exports.addComments = addComments; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function shareCommentsWithSiblings() { + if (typeof this.key === "string") return; + var node = this.node; + if (!node) return; + var trailing = node.trailingComments; + var leading = node.leadingComments; + if (!trailing && !leading) return; + var prev = this.getSibling(this.key - 1); + var next = this.getSibling(this.key + 1); + var hasPrev = Boolean(prev.node); + var hasNext = Boolean(next.node); + + if (hasPrev && hasNext) {} else if (hasPrev) { + prev.addComments("trailing", trailing); + } else if (hasNext) { + next.addComments("leading", leading); + } +} + +function addComment(type, content, line) { + t.addComment(this.node, type, content, line); +} + +function addComments(type, comments) { + t.addComments(this.node, type, comments); +} + +},{"@babel/types":242}],179:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.call = call; +exports._call = _call; +exports.isBlacklisted = isBlacklisted; +exports.visit = visit; +exports.skip = skip; +exports.skipKey = skipKey; +exports.stop = stop; +exports.setScope = setScope; +exports.setContext = setContext; +exports.resync = resync; +exports._resyncParent = _resyncParent; +exports._resyncKey = _resyncKey; +exports._resyncList = _resyncList; +exports._resyncRemoved = _resyncRemoved; +exports.popContext = popContext; +exports.pushContext = pushContext; +exports.setup = setup; +exports.setKey = setKey; +exports.requeue = requeue; +exports._getQueueContexts = _getQueueContexts; + +var _index = _interopRequireDefault(require("../index")); + +var _index2 = require("./index"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function call(key) { + var opts = this.opts; + this.debug(key); + + if (this.node) { + if (this._call(opts[key])) return true; + } + + if (this.node) { + return this._call(opts[this.node.type] && opts[this.node.type][key]); + } + + return false; +} + +function _call(fns) { + if (!fns) return false; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = fns[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var fn = _step.value; + if (!fn) continue; + var node = this.node; + if (!node) return true; + var ret = fn.call(this.state, this, this.state); + + if (ret && _typeof(ret) === "object" && typeof ret.then === "function") { + throw new Error("You appear to be using a plugin with an async traversal visitor, " + "which your current version of Babel does not support. " + "If you're using a published plugin, you may need to upgrade " + "your @babel/core version."); + } + + if (ret) { + throw new Error("Unexpected return value from visitor method ".concat(fn)); + } + + if (this.node !== node) return true; + if (this._traverseFlags > 0) return true; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; +} + +function isBlacklisted() { + var blacklist = this.opts.blacklist; + return blacklist && blacklist.indexOf(this.node.type) > -1; +} + +function visit() { + if (!this.node) { + return false; + } + + if (this.isBlacklisted()) { + return false; + } + + if (this.opts.shouldSkip && this.opts.shouldSkip(this)) { + return false; + } + + if (this.shouldSkip || this.call("enter") || this.shouldSkip) { + this.debug("Skip..."); + return this.shouldStop; + } + + this.debug("Recursing into..."); + + _index.default.node(this.node, this.opts, this.scope, this.state, this, this.skipKeys); + + this.call("exit"); + return this.shouldStop; +} + +function skip() { + this.shouldSkip = true; +} + +function skipKey(key) { + if (this.skipKeys == null) { + this.skipKeys = {}; + } + + this.skipKeys[key] = true; +} + +function stop() { + this._traverseFlags |= _index2.SHOULD_SKIP | _index2.SHOULD_STOP; +} + +function setScope() { + if (this.opts && this.opts.noScope) return; + var path = this.parentPath; + var target; + + while (path && !target) { + if (path.opts && path.opts.noScope) return; + target = path.scope; + path = path.parentPath; + } + + this.scope = this.getScope(target); + if (this.scope) this.scope.init(); +} + +function setContext(context) { + if (this.skipKeys != null) { + this.skipKeys = {}; + } + + this._traverseFlags = 0; + + if (context) { + this.context = context; + this.state = context.state; + this.opts = context.opts; + } + + this.setScope(); + return this; +} + +function resync() { + if (this.removed) return; + + this._resyncParent(); + + this._resyncList(); + + this._resyncKey(); +} + +function _resyncParent() { + if (this.parentPath) { + this.parent = this.parentPath.node; + } +} + +function _resyncKey() { + if (!this.container) return; + if (this.node === this.container[this.key]) return; + + if (Array.isArray(this.container)) { + for (var i = 0; i < this.container.length; i++) { + if (this.container[i] === this.node) { + return this.setKey(i); + } + } + } else { + for (var _i = 0, _Object$keys = Object.keys(this.container); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + + if (this.container[key] === this.node) { + return this.setKey(key); + } + } + } + + this.key = null; +} + +function _resyncList() { + if (!this.parent || !this.inList) return; + var newContainer = this.parent[this.listKey]; + if (this.container === newContainer) return; + this.container = newContainer || null; +} + +function _resyncRemoved() { + if (this.key == null || !this.container || this.container[this.key] !== this.node) { + this._markRemoved(); + } +} + +function popContext() { + this.contexts.pop(); + + if (this.contexts.length > 0) { + this.setContext(this.contexts[this.contexts.length - 1]); + } else { + this.setContext(undefined); + } +} + +function pushContext(context) { + this.contexts.push(context); + this.setContext(context); +} + +function setup(parentPath, container, listKey, key) { + this.listKey = listKey; + this.container = container; + this.parentPath = parentPath || this.parentPath; + this.setKey(key); +} + +function setKey(key) { + this.key = key; + this.node = this.container[this.key]; + this.type = this.node && this.node.type; +} + +function requeue() { + var pathToQueue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this; + if (pathToQueue.removed) return; + var contexts = this.contexts; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = contexts[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var context = _step2.value; + context.maybeQueue(pathToQueue); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } +} + +function _getQueueContexts() { + var path = this; + var contexts = this.contexts; + + while (!contexts.length) { + path = path.parentPath; + if (!path) break; + contexts = path.contexts; + } + + return contexts; +} + +},{"../index":176,"./index":183}],180:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.toComputedKey = toComputedKey; +exports.ensureBlock = ensureBlock; +exports.arrowFunctionToShadowed = arrowFunctionToShadowed; +exports.unwrapFunctionEnvironment = unwrapFunctionEnvironment; +exports.arrowFunctionToExpression = arrowFunctionToExpression; + +var t = _interopRequireWildcard(require("@babel/types")); + +var _helperFunctionName = _interopRequireDefault(require("@babel/helper-function-name")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function toComputedKey() { + var node = this.node; + var key; + + if (this.isMemberExpression()) { + key = node.property; + } else if (this.isProperty() || this.isMethod()) { + key = node.key; + } else { + throw new ReferenceError("todo"); + } + + if (!node.computed) { + if (t.isIdentifier(key)) key = t.stringLiteral(key.name); + } + + return key; +} + +function ensureBlock() { + var body = this.get("body"); + var bodyNode = body.node; + + if (Array.isArray(body)) { + throw new Error("Can't convert array path to a block statement"); + } + + if (!bodyNode) { + throw new Error("Can't convert node without a body"); + } + + if (body.isBlockStatement()) { + return bodyNode; + } + + var statements = []; + var stringPath = "body"; + var key; + var listKey; + + if (body.isStatement()) { + listKey = "body"; + key = 0; + statements.push(body.node); + } else { + stringPath += ".body.0"; + + if (this.isFunction()) { + key = "argument"; + statements.push(t.returnStatement(body.node)); + } else { + key = "expression"; + statements.push(t.expressionStatement(body.node)); + } + } + + this.node.body = t.blockStatement(statements); + var parentPath = this.get(stringPath); + body.setup(parentPath, listKey ? parentPath.node[listKey] : parentPath.node, listKey, key); + return this.node; +} + +function arrowFunctionToShadowed() { + if (!this.isArrowFunctionExpression()) return; + this.arrowFunctionToExpression(); +} + +function unwrapFunctionEnvironment() { + if (!this.isArrowFunctionExpression() && !this.isFunctionExpression() && !this.isFunctionDeclaration()) { + throw this.buildCodeFrameError("Can only unwrap the environment of a function."); + } + + hoistFunctionEnvironment(this); +} + +function arrowFunctionToExpression() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$allowInsertArrow = _ref.allowInsertArrow, + allowInsertArrow = _ref$allowInsertArrow === void 0 ? true : _ref$allowInsertArrow, + _ref$specCompliant = _ref.specCompliant, + specCompliant = _ref$specCompliant === void 0 ? false : _ref$specCompliant; + + if (!this.isArrowFunctionExpression()) { + throw this.buildCodeFrameError("Cannot convert non-arrow function to a function expression."); + } + + var thisBinding = hoistFunctionEnvironment(this, specCompliant, allowInsertArrow); + this.ensureBlock(); + this.node.type = "FunctionExpression"; + + if (specCompliant) { + var checkBinding = thisBinding ? null : this.parentPath.scope.generateUidIdentifier("arrowCheckId"); + + if (checkBinding) { + this.parentPath.scope.push({ + id: checkBinding, + init: t.objectExpression([]) + }); + } + + this.get("body").unshiftContainer("body", t.expressionStatement(t.callExpression(this.hub.addHelper("newArrowCheck"), [t.thisExpression(), checkBinding ? t.identifier(checkBinding.name) : t.identifier(thisBinding)]))); + this.replaceWith(t.callExpression(t.memberExpression((0, _helperFunctionName.default)(this, true) || this.node, t.identifier("bind")), [checkBinding ? t.identifier(checkBinding.name) : t.thisExpression()])); + } +} + +function hoistFunctionEnvironment(fnPath) { + var specCompliant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var allowInsertArrow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true; + var thisEnvFn = fnPath.findParent(function (p) { + return p.isFunction() && !p.isArrowFunctionExpression() || p.isProgram() || p.isClassProperty({ + static: false + }); + }); + var inConstructor = thisEnvFn && thisEnvFn.node.kind === "constructor"; + + if (thisEnvFn.isClassProperty()) { + throw fnPath.buildCodeFrameError("Unable to transform arrow inside class property"); + } + + var _getScopeInformation = getScopeInformation(fnPath), + thisPaths = _getScopeInformation.thisPaths, + argumentsPaths = _getScopeInformation.argumentsPaths, + newTargetPaths = _getScopeInformation.newTargetPaths, + superProps = _getScopeInformation.superProps, + superCalls = _getScopeInformation.superCalls; + + if (inConstructor && superCalls.length > 0) { + if (!allowInsertArrow) { + throw superCalls[0].buildCodeFrameError("Unable to handle nested super() usage in arrow"); + } + + var allSuperCalls = []; + thisEnvFn.traverse({ + Function: function Function(child) { + if (child.isArrowFunctionExpression()) return; + child.skip(); + }, + ClassProperty: function ClassProperty(child) { + child.skip(); + }, + CallExpression: function CallExpression(child) { + if (!child.get("callee").isSuper()) return; + allSuperCalls.push(child); + } + }); + var superBinding = getSuperBinding(thisEnvFn); + allSuperCalls.forEach(function (superCall) { + var callee = t.identifier(superBinding); + callee.loc = superCall.node.callee.loc; + superCall.get("callee").replaceWith(callee); + }); + } + + if (argumentsPaths.length > 0) { + var argumentsBinding = getBinding(thisEnvFn, "arguments", function () { + return t.identifier("arguments"); + }); + argumentsPaths.forEach(function (argumentsChild) { + var argsRef = t.identifier(argumentsBinding); + argsRef.loc = argumentsChild.node.loc; + argumentsChild.replaceWith(argsRef); + }); + } + + if (newTargetPaths.length > 0) { + var newTargetBinding = getBinding(thisEnvFn, "newtarget", function () { + return t.metaProperty(t.identifier("new"), t.identifier("target")); + }); + newTargetPaths.forEach(function (targetChild) { + var targetRef = t.identifier(newTargetBinding); + targetRef.loc = targetChild.node.loc; + targetChild.replaceWith(targetRef); + }); + } + + if (superProps.length > 0) { + if (!allowInsertArrow) { + throw superProps[0].buildCodeFrameError("Unable to handle nested super.prop usage"); + } + + var flatSuperProps = superProps.reduce(function (acc, superProp) { + return acc.concat(standardizeSuperProperty(superProp)); + }, []); + flatSuperProps.forEach(function (superProp) { + var key = superProp.node.computed ? "" : superProp.get("property").node.name; + var isAssignment = superProp.parentPath.isAssignmentExpression({ + left: superProp.node + }); + var isCall = superProp.parentPath.isCallExpression({ + callee: superProp.node + }); + var superBinding = getSuperPropBinding(thisEnvFn, isAssignment, key); + var args = []; + + if (superProp.node.computed) { + args.push(superProp.get("property").node); + } + + if (isAssignment) { + var value = superProp.parentPath.node.right; + args.push(value); + } + + var call = t.callExpression(t.identifier(superBinding), args); + + if (isCall) { + superProp.parentPath.unshiftContainer("arguments", t.thisExpression()); + superProp.replaceWith(t.memberExpression(call, t.identifier("call"))); + thisPaths.push(superProp.parentPath.get("arguments.0")); + } else if (isAssignment) { + superProp.parentPath.replaceWith(call); + } else { + superProp.replaceWith(call); + } + }); + } + + var thisBinding; + + if (thisPaths.length > 0 || specCompliant) { + thisBinding = getThisBinding(thisEnvFn, inConstructor); + + if (!specCompliant || inConstructor && hasSuperClass(thisEnvFn)) { + thisPaths.forEach(function (thisChild) { + var thisRef = thisChild.isJSX() ? t.jsxIdentifier(thisBinding) : t.identifier(thisBinding); + thisRef.loc = thisChild.node.loc; + thisChild.replaceWith(thisRef); + }); + if (specCompliant) thisBinding = null; + } + } + + return thisBinding; +} + +function standardizeSuperProperty(superProp) { + if (superProp.parentPath.isAssignmentExpression() && superProp.parentPath.node.operator !== "=") { + var assignmentPath = superProp.parentPath; + var op = assignmentPath.node.operator.slice(0, -1); + var value = assignmentPath.node.right; + assignmentPath.node.operator = "="; + + if (superProp.node.computed) { + var tmp = superProp.scope.generateDeclaredUidIdentifier("tmp"); + assignmentPath.get("left").replaceWith(t.memberExpression(superProp.node.object, t.assignmentExpression("=", tmp, superProp.node.property), true)); + assignmentPath.get("right").replaceWith(t.binaryExpression(op, t.memberExpression(superProp.node.object, t.identifier(tmp.name), true), value)); + } else { + assignmentPath.get("left").replaceWith(t.memberExpression(superProp.node.object, superProp.node.property)); + assignmentPath.get("right").replaceWith(t.binaryExpression(op, t.memberExpression(superProp.node.object, t.identifier(superProp.node.property.name)), value)); + } + + return [assignmentPath.get("left"), assignmentPath.get("right").get("left")]; + } else if (superProp.parentPath.isUpdateExpression()) { + var updateExpr = superProp.parentPath; + + var _tmp = superProp.scope.generateDeclaredUidIdentifier("tmp"); + + var computedKey = superProp.node.computed ? superProp.scope.generateDeclaredUidIdentifier("prop") : null; + var parts = [t.assignmentExpression("=", _tmp, t.memberExpression(superProp.node.object, computedKey ? t.assignmentExpression("=", computedKey, superProp.node.property) : superProp.node.property, superProp.node.computed)), t.assignmentExpression("=", t.memberExpression(superProp.node.object, computedKey ? t.identifier(computedKey.name) : superProp.node.property, superProp.node.computed), t.binaryExpression("+", t.identifier(_tmp.name), t.numericLiteral(1)))]; + + if (!superProp.parentPath.node.prefix) { + parts.push(t.identifier(_tmp.name)); + } + + updateExpr.replaceWith(t.sequenceExpression(parts)); + var left = updateExpr.get("expressions.0.right"); + var right = updateExpr.get("expressions.1.left"); + return [left, right]; + } + + return [superProp]; +} + +function hasSuperClass(thisEnvFn) { + return thisEnvFn.isClassMethod() && !!thisEnvFn.parentPath.parentPath.node.superClass; +} + +function getThisBinding(thisEnvFn, inConstructor) { + return getBinding(thisEnvFn, "this", function (thisBinding) { + if (!inConstructor || !hasSuperClass(thisEnvFn)) return t.thisExpression(); + var supers = new WeakSet(); + thisEnvFn.traverse({ + Function: function Function(child) { + if (child.isArrowFunctionExpression()) return; + child.skip(); + }, + ClassProperty: function ClassProperty(child) { + child.skip(); + }, + CallExpression: function CallExpression(child) { + if (!child.get("callee").isSuper()) return; + if (supers.has(child.node)) return; + supers.add(child.node); + child.replaceWithMultiple([child.node, t.assignmentExpression("=", t.identifier(thisBinding), t.identifier("this"))]); + } + }); + }); +} + +function getSuperBinding(thisEnvFn) { + return getBinding(thisEnvFn, "supercall", function () { + var argsBinding = thisEnvFn.scope.generateUidIdentifier("args"); + return t.arrowFunctionExpression([t.restElement(argsBinding)], t.callExpression(t.super(), [t.spreadElement(t.identifier(argsBinding.name))])); + }); +} + +function getSuperPropBinding(thisEnvFn, isAssignment, propName) { + var op = isAssignment ? "set" : "get"; + return getBinding(thisEnvFn, "superprop_".concat(op, ":").concat(propName || ""), function () { + var argsList = []; + var fnBody; + + if (propName) { + fnBody = t.memberExpression(t.super(), t.identifier(propName)); + } else { + var method = thisEnvFn.scope.generateUidIdentifier("prop"); + argsList.unshift(method); + fnBody = t.memberExpression(t.super(), t.identifier(method.name), true); + } + + if (isAssignment) { + var valueIdent = thisEnvFn.scope.generateUidIdentifier("value"); + argsList.push(valueIdent); + fnBody = t.assignmentExpression("=", fnBody, t.identifier(valueIdent.name)); + } + + return t.arrowFunctionExpression(argsList, fnBody); + }); +} + +function getBinding(thisEnvFn, key, init) { + var cacheKey = "binding:" + key; + var data = thisEnvFn.getData(cacheKey); + + if (!data) { + var id = thisEnvFn.scope.generateUidIdentifier(key); + data = id.name; + thisEnvFn.setData(cacheKey, data); + thisEnvFn.scope.push({ + id: id, + init: init(data) + }); + } + + return data; +} + +function getScopeInformation(fnPath) { + var thisPaths = []; + var argumentsPaths = []; + var newTargetPaths = []; + var superProps = []; + var superCalls = []; + fnPath.traverse({ + ClassProperty: function ClassProperty(child) { + child.skip(); + }, + Function: function Function(child) { + if (child.isArrowFunctionExpression()) return; + child.skip(); + }, + ThisExpression: function ThisExpression(child) { + thisPaths.push(child); + }, + JSXIdentifier: function JSXIdentifier(child) { + if (child.node.name !== "this") return; + + if (!child.parentPath.isJSXMemberExpression({ + object: child.node + }) && !child.parentPath.isJSXOpeningElement({ + name: child.node + })) { + return; + } + + thisPaths.push(child); + }, + CallExpression: function CallExpression(child) { + if (child.get("callee").isSuper()) superCalls.push(child); + }, + MemberExpression: function MemberExpression(child) { + if (child.get("object").isSuper()) superProps.push(child); + }, + ReferencedIdentifier: function ReferencedIdentifier(child) { + if (child.node.name !== "arguments") return; + argumentsPaths.push(child); + }, + MetaProperty: function MetaProperty(child) { + if (!child.get("meta").isIdentifier({ + name: "new" + })) return; + if (!child.get("property").isIdentifier({ + name: "target" + })) return; + newTargetPaths.push(child); + } + }); + return { + thisPaths: thisPaths, + argumentsPaths: argumentsPaths, + newTargetPaths: newTargetPaths, + superProps: superProps, + superCalls: superCalls + }; +} + +},{"@babel/helper-function-name":66,"@babel/types":242}],181:[function(require,module,exports){ +(function (global){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.evaluateTruthy = evaluateTruthy; +exports.evaluate = evaluate; +var VALID_CALLEES = ["String", "Number", "Math"]; +var INVALID_METHODS = ["random"]; + +function evaluateTruthy() { + var res = this.evaluate(); + if (res.confident) return !!res.value; +} + +function deopt(path, state) { + if (!state.confident) return; + state.deoptPath = path; + state.confident = false; +} + +function evaluateCached(path, state) { + var node = path.node; + var seen = state.seen; + + if (seen.has(node)) { + var existing = seen.get(node); + + if (existing.resolved) { + return existing.value; + } else { + deopt(path, state); + return; + } + } else { + var item = { + resolved: false + }; + seen.set(node, item); + + var val = _evaluate(path, state); + + if (state.confident) { + item.resolved = true; + item.value = val; + } + + return val; + } +} + +function _evaluate(path, state) { + if (!state.confident) return; + var node = path.node; + + if (path.isSequenceExpression()) { + var exprs = path.get("expressions"); + return evaluateCached(exprs[exprs.length - 1], state); + } + + if (path.isStringLiteral() || path.isNumericLiteral() || path.isBooleanLiteral()) { + return node.value; + } + + if (path.isNullLiteral()) { + return null; + } + + if (path.isTemplateLiteral()) { + return evaluateQuasis(path, node.quasis, state); + } + + if (path.isTaggedTemplateExpression() && path.get("tag").isMemberExpression()) { + var object = path.get("tag.object"); + var name = object.node.name; + var property = path.get("tag.property"); + + if (object.isIdentifier() && name === "String" && !path.scope.getBinding(name, true) && property.isIdentifier && property.node.name === "raw") { + return evaluateQuasis(path, node.quasi.quasis, state, true); + } + } + + if (path.isConditionalExpression()) { + var testResult = evaluateCached(path.get("test"), state); + if (!state.confident) return; + + if (testResult) { + return evaluateCached(path.get("consequent"), state); + } else { + return evaluateCached(path.get("alternate"), state); + } + } + + if (path.isExpressionWrapper()) { + return evaluateCached(path.get("expression"), state); + } + + if (path.isMemberExpression() && !path.parentPath.isCallExpression({ + callee: node + })) { + var _property = path.get("property"); + + var _object = path.get("object"); + + if (_object.isLiteral() && _property.isIdentifier()) { + var value = _object.node.value; + + var type = _typeof(value); + + if (type === "number" || type === "string") { + return value[_property.node.name]; + } + } + } + + if (path.isReferencedIdentifier()) { + var binding = path.scope.getBinding(node.name); + + if (binding && binding.constantViolations.length > 0) { + return deopt(binding.path, state); + } + + if (binding && path.node.start < binding.path.node.end) { + return deopt(binding.path, state); + } + + if (binding && binding.hasValue) { + return binding.value; + } else { + if (node.name === "undefined") { + return binding ? deopt(binding.path, state) : undefined; + } else if (node.name === "Infinity") { + return binding ? deopt(binding.path, state) : Infinity; + } else if (node.name === "NaN") { + return binding ? deopt(binding.path, state) : NaN; + } + + var resolved = path.resolve(); + + if (resolved === path) { + return deopt(path, state); + } else { + return evaluateCached(resolved, state); + } + } + } + + if (path.isUnaryExpression({ + prefix: true + })) { + if (node.operator === "void") { + return undefined; + } + + var argument = path.get("argument"); + + if (node.operator === "typeof" && (argument.isFunction() || argument.isClass())) { + return "function"; + } + + var arg = evaluateCached(argument, state); + if (!state.confident) return; + + switch (node.operator) { + case "!": + return !arg; + + case "+": + return +arg; + + case "-": + return -arg; + + case "~": + return ~arg; + + case "typeof": + return _typeof(arg); + } + } + + if (path.isArrayExpression()) { + var arr = []; + var elems = path.get("elements"); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = elems[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var elem = _step.value; + var elemValue = elem.evaluate(); + + if (elemValue.confident) { + arr.push(elemValue.value); + } else { + return deopt(elem, state); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return arr; + } + + if (path.isObjectExpression()) { + var obj = {}; + var props = path.get("properties"); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var prop = _step2.value; + + if (prop.isObjectMethod() || prop.isSpreadElement()) { + return deopt(prop, state); + } + + var keyPath = prop.get("key"); + var key = keyPath; + + if (prop.node.computed) { + key = key.evaluate(); + + if (!key.confident) { + return deopt(keyPath, state); + } + + key = key.value; + } else if (key.isIdentifier()) { + key = key.node.name; + } else { + key = key.node.value; + } + + var valuePath = prop.get("value"); + + var _value = valuePath.evaluate(); + + if (!_value.confident) { + return deopt(valuePath, state); + } + + _value = _value.value; + obj[key] = _value; + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + return obj; + } + + if (path.isLogicalExpression()) { + var wasConfident = state.confident; + var left = evaluateCached(path.get("left"), state); + var leftConfident = state.confident; + state.confident = wasConfident; + var right = evaluateCached(path.get("right"), state); + var rightConfident = state.confident; + + switch (node.operator) { + case "||": + state.confident = leftConfident && (!!left || rightConfident); + if (!state.confident) return; + return left || right; + + case "&&": + state.confident = leftConfident && (!left || rightConfident); + if (!state.confident) return; + return left && right; + } + } + + if (path.isBinaryExpression()) { + var _left = evaluateCached(path.get("left"), state); + + if (!state.confident) return; + + var _right = evaluateCached(path.get("right"), state); + + if (!state.confident) return; + + switch (node.operator) { + case "-": + return _left - _right; + + case "+": + return _left + _right; + + case "/": + return _left / _right; + + case "*": + return _left * _right; + + case "%": + return _left % _right; + + case "**": + return Math.pow(_left, _right); + + case "<": + return _left < _right; + + case ">": + return _left > _right; + + case "<=": + return _left <= _right; + + case ">=": + return _left >= _right; + + case "==": + return _left == _right; + + case "!=": + return _left != _right; + + case "===": + return _left === _right; + + case "!==": + return _left !== _right; + + case "|": + return _left | _right; + + case "&": + return _left & _right; + + case "^": + return _left ^ _right; + + case "<<": + return _left << _right; + + case ">>": + return _left >> _right; + + case ">>>": + return _left >>> _right; + } + } + + if (path.isCallExpression()) { + var callee = path.get("callee"); + var context; + var func; + + if (callee.isIdentifier() && !path.scope.getBinding(callee.node.name, true) && VALID_CALLEES.indexOf(callee.node.name) >= 0) { + func = global[node.callee.name]; + } + + if (callee.isMemberExpression()) { + var _object2 = callee.get("object"); + + var _property2 = callee.get("property"); + + if (_object2.isIdentifier() && _property2.isIdentifier() && VALID_CALLEES.indexOf(_object2.node.name) >= 0 && INVALID_METHODS.indexOf(_property2.node.name) < 0) { + context = global[_object2.node.name]; + func = context[_property2.node.name]; + } + + if (_object2.isLiteral() && _property2.isIdentifier()) { + var _type = _typeof(_object2.node.value); + + if (_type === "string" || _type === "number") { + context = _object2.node.value; + func = context[_property2.node.name]; + } + } + } + + if (func) { + var args = path.get("arguments").map(function (arg) { + return evaluateCached(arg, state); + }); + if (!state.confident) return; + return func.apply(context, args); + } + } + + deopt(path, state); +} + +function evaluateQuasis(path, quasis, state) { + var raw = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; + var str = ""; + var i = 0; + var exprs = path.get("expressions"); + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = quasis[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var elem = _step3.value; + if (!state.confident) break; + str += raw ? elem.value.raw : elem.value.cooked; + var expr = exprs[i++]; + if (expr) str += String(evaluateCached(expr, state)); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + if (!state.confident) return; + return str; +} + +function evaluate() { + var state = { + confident: true, + deoptPath: null, + seen: new Map() + }; + var value = evaluateCached(this, state); + if (!state.confident) value = undefined; + return { + confident: state.confident, + deopt: state.deoptPath, + value: value + }; +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],182:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getOpposite = getOpposite; +exports.getCompletionRecords = getCompletionRecords; +exports.getSibling = getSibling; +exports.getPrevSibling = getPrevSibling; +exports.getNextSibling = getNextSibling; +exports.getAllNextSiblings = getAllNextSiblings; +exports.getAllPrevSiblings = getAllPrevSiblings; +exports.get = get; +exports._getKey = _getKey; +exports._getPattern = _getPattern; +exports.getBindingIdentifiers = getBindingIdentifiers; +exports.getOuterBindingIdentifiers = getOuterBindingIdentifiers; +exports.getBindingIdentifierPaths = getBindingIdentifierPaths; +exports.getOuterBindingIdentifierPaths = getOuterBindingIdentifierPaths; + +var _index = _interopRequireDefault(require("./index")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function getOpposite() { + if (this.key === "left") { + return this.getSibling("right"); + } else if (this.key === "right") { + return this.getSibling("left"); + } +} + +function addCompletionRecords(path, paths) { + if (path) return paths.concat(path.getCompletionRecords()); + return paths; +} + +function completionRecordForSwitch(cases, paths) { + var isLastCaseWithConsequent = true; + + for (var i = cases.length - 1; i >= 0; i--) { + var switchCase = cases[i]; + var consequent = switchCase.get("consequent"); + var breakStatement = void 0; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + findBreak: for (var _iterator = consequent[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var statement = _step.value; + + if (statement.isBlockStatement()) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = statement.get("body")[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var statementInBlock = _step2.value; + + if (statementInBlock.isBreakStatement()) { + breakStatement = statementInBlock; + break findBreak; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } else if (statement.isBreakStatement()) { + breakStatement = statement; + break; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (breakStatement) { + while (breakStatement.key === 0 && breakStatement.parentPath.isBlockStatement()) { + breakStatement = breakStatement.parentPath; + } + + var prevSibling = breakStatement.getPrevSibling(); + + if (breakStatement.key > 0 && (prevSibling.isExpressionStatement() || prevSibling.isBlockStatement())) { + paths = addCompletionRecords(prevSibling, paths); + breakStatement.remove(); + } else { + breakStatement.replaceWith(breakStatement.scope.buildUndefinedNode()); + paths = addCompletionRecords(breakStatement, paths); + } + } else if (isLastCaseWithConsequent) { + (function () { + var statementFinder = function statementFinder(statement) { + return !statement.isBlockStatement() || statement.get("body").some(statementFinder); + }; + + var hasConsequent = consequent.some(statementFinder); + + if (hasConsequent) { + paths = addCompletionRecords(consequent[consequent.length - 1], paths); + isLastCaseWithConsequent = false; + } + })(); + } + } + + return paths; +} + +function getCompletionRecords() { + var paths = []; + + if (this.isIfStatement()) { + paths = addCompletionRecords(this.get("consequent"), paths); + paths = addCompletionRecords(this.get("alternate"), paths); + } else if (this.isDoExpression() || this.isFor() || this.isWhile()) { + paths = addCompletionRecords(this.get("body"), paths); + } else if (this.isProgram() || this.isBlockStatement()) { + paths = addCompletionRecords(this.get("body").pop(), paths); + } else if (this.isFunction()) { + return this.get("body").getCompletionRecords(); + } else if (this.isTryStatement()) { + paths = addCompletionRecords(this.get("block"), paths); + paths = addCompletionRecords(this.get("handler"), paths); + } else if (this.isCatchClause()) { + paths = addCompletionRecords(this.get("body"), paths); + } else if (this.isSwitchStatement()) { + paths = completionRecordForSwitch(this.get("cases"), paths); + } else { + paths.push(this); + } + + return paths; +} + +function getSibling(key) { + return _index.default.get({ + parentPath: this.parentPath, + parent: this.parent, + container: this.container, + listKey: this.listKey, + key: key + }); +} + +function getPrevSibling() { + return this.getSibling(this.key - 1); +} + +function getNextSibling() { + return this.getSibling(this.key + 1); +} + +function getAllNextSiblings() { + var _key = this.key; + var sibling = this.getSibling(++_key); + var siblings = []; + + while (sibling.node) { + siblings.push(sibling); + sibling = this.getSibling(++_key); + } + + return siblings; +} + +function getAllPrevSiblings() { + var _key = this.key; + var sibling = this.getSibling(--_key); + var siblings = []; + + while (sibling.node) { + siblings.push(sibling); + sibling = this.getSibling(--_key); + } + + return siblings; +} + +function get(key, context) { + if (context === true) context = this.context; + var parts = key.split("."); + + if (parts.length === 1) { + return this._getKey(key, context); + } else { + return this._getPattern(parts, context); + } +} + +function _getKey(key, context) { + var _this = this; + + var node = this.node; + var container = node[key]; + + if (Array.isArray(container)) { + return container.map(function (_, i) { + return _index.default.get({ + listKey: key, + parentPath: _this, + parent: node, + container: container, + key: i + }).setContext(context); + }); + } else { + return _index.default.get({ + parentPath: this, + parent: node, + container: node, + key: key + }).setContext(context); + } +} + +function _getPattern(parts, context) { + var path = this; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = parts[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var part = _step3.value; + + if (part === ".") { + path = path.parentPath; + } else { + if (Array.isArray(path)) { + path = path[part]; + } else { + path = path.get(part, context); + } + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + + return path; +} + +function getBindingIdentifiers(duplicates) { + return t.getBindingIdentifiers(this.node, duplicates); +} + +function getOuterBindingIdentifiers(duplicates) { + return t.getOuterBindingIdentifiers(this.node, duplicates); +} + +function getBindingIdentifierPaths() { + var duplicates = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + var outerOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var path = this; + var search = [].concat(path); + var ids = Object.create(null); + + while (search.length) { + var id = search.shift(); + if (!id) continue; + if (!id.node) continue; + var keys = t.getBindingIdentifiers.keys[id.node.type]; + + if (id.isIdentifier()) { + if (duplicates) { + var _ids = ids[id.node.name] = ids[id.node.name] || []; + + _ids.push(id); + } else { + ids[id.node.name] = id; + } + + continue; + } + + if (id.isExportDeclaration()) { + var declaration = id.get("declaration"); + + if (declaration.isDeclaration()) { + search.push(declaration); + } + + continue; + } + + if (outerOnly) { + if (id.isFunctionDeclaration()) { + search.push(id.get("id")); + continue; + } + + if (id.isFunctionExpression()) { + continue; + } + } + + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var child = id.get(key); + + if (Array.isArray(child) || child.node) { + search = search.concat(child); + } + } + } + } + + return ids; +} + +function getOuterBindingIdentifierPaths(duplicates) { + return this.getBindingIdentifierPaths(duplicates, true); +} + +},{"./index":183,"@babel/types":242}],183:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.SHOULD_SKIP = exports.SHOULD_STOP = exports.REMOVED = void 0; + +var virtualTypes = _interopRequireWildcard(require("./lib/virtual-types")); + +var _debug = _interopRequireDefault(require("debug")); + +var _index = _interopRequireDefault(require("../index")); + +var _scope = _interopRequireDefault(require("../scope")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _cache = require("../cache"); + +var _generator = _interopRequireDefault(require("@babel/generator")); + +var NodePath_ancestry = _interopRequireWildcard(require("./ancestry")); + +var NodePath_inference = _interopRequireWildcard(require("./inference")); + +var NodePath_replacement = _interopRequireWildcard(require("./replacement")); + +var NodePath_evaluation = _interopRequireWildcard(require("./evaluation")); + +var NodePath_conversion = _interopRequireWildcard(require("./conversion")); + +var NodePath_introspection = _interopRequireWildcard(require("./introspection")); + +var NodePath_context = _interopRequireWildcard(require("./context")); + +var NodePath_removal = _interopRequireWildcard(require("./removal")); + +var NodePath_modification = _interopRequireWildcard(require("./modification")); + +var NodePath_family = _interopRequireWildcard(require("./family")); + +var NodePath_comments = _interopRequireWildcard(require("./comments")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var _debug2 = (0, _debug.default)("babel"); + +var REMOVED = 1 << 0; +exports.REMOVED = REMOVED; +var SHOULD_STOP = 1 << 1; +exports.SHOULD_STOP = SHOULD_STOP; +var SHOULD_SKIP = 1 << 2; +exports.SHOULD_SKIP = SHOULD_SKIP; + +var NodePath = +/*#__PURE__*/ +function () { + function NodePath(hub, parent) { + _classCallCheck(this, NodePath); + + this.parent = parent; + this.hub = hub; + this.contexts = []; + this.data = null; + this._traverseFlags = 0; + this.state = null; + this.opts = null; + this.skipKeys = null; + this.parentPath = null; + this.context = null; + this.container = null; + this.listKey = null; + this.key = null; + this.node = null; + this.scope = null; + this.type = null; + } + + _createClass(NodePath, [{ + key: "getScope", + value: function getScope(scope) { + return this.isScope() ? new _scope.default(this) : scope; + } + }, { + key: "setData", + value: function setData(key, val) { + if (this.data == null) { + this.data = Object.create(null); + } + + return this.data[key] = val; + } + }, { + key: "getData", + value: function getData(key, def) { + if (this.data == null) { + this.data = Object.create(null); + } + + var val = this.data[key]; + if (val === undefined && def !== undefined) val = this.data[key] = def; + return val; + } + }, { + key: "buildCodeFrameError", + value: function buildCodeFrameError(msg) { + var Error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : SyntaxError; + return this.hub.buildError(this.node, msg, Error); + } + }, { + key: "traverse", + value: function traverse(visitor, state) { + (0, _index.default)(this.node, visitor, this.scope, state, this); + } + }, { + key: "set", + value: function set(key, node) { + t.validate(this.node, key, node); + this.node[key] = node; + } + }, { + key: "getPathLocation", + value: function getPathLocation() { + var parts = []; + var path = this; + + do { + var key = path.key; + if (path.inList) key = "".concat(path.listKey, "[").concat(key, "]"); + parts.unshift(key); + } while (path = path.parentPath); + + return parts.join("."); + } + }, { + key: "debug", + value: function debug(message) { + if (!_debug2.enabled) return; + + _debug2("".concat(this.getPathLocation(), " ").concat(this.type, ": ").concat(message)); + } + }, { + key: "toString", + value: function toString() { + return (0, _generator.default)(this.node).code; + } + }, { + key: "inList", + get: function get() { + return !!this.listKey; + }, + set: function set(inList) { + if (!inList) { + this.listKey = null; + } + } + }, { + key: "parentKey", + get: function get() { + return this.listKey || this.key; + } + }, { + key: "shouldSkip", + get: function get() { + return !!(this._traverseFlags & SHOULD_SKIP); + }, + set: function set(v) { + if (v) { + this._traverseFlags |= SHOULD_SKIP; + } else { + this._traverseFlags &= ~SHOULD_SKIP; + } + } + }, { + key: "shouldStop", + get: function get() { + return !!(this._traverseFlags & SHOULD_STOP); + }, + set: function set(v) { + if (v) { + this._traverseFlags |= SHOULD_STOP; + } else { + this._traverseFlags &= ~SHOULD_STOP; + } + } + }, { + key: "removed", + get: function get() { + return !!(this._traverseFlags & REMOVED); + }, + set: function set(v) { + if (v) { + this._traverseFlags |= REMOVED; + } else { + this._traverseFlags &= ~REMOVED; + } + } + }], [{ + key: "get", + value: function get(_ref) { + var hub = _ref.hub, + parentPath = _ref.parentPath, + parent = _ref.parent, + container = _ref.container, + listKey = _ref.listKey, + key = _ref.key; + + if (!hub && parentPath) { + hub = parentPath.hub; + } + + if (!parent) { + throw new Error("To get a node path the parent needs to exist"); + } + + var targetNode = container[key]; + var paths = _cache.path.get(parent) || []; + + if (!_cache.path.has(parent)) { + _cache.path.set(parent, paths); + } + + var path; + + for (var i = 0; i < paths.length; i++) { + var pathCheck = paths[i]; + + if (pathCheck.node === targetNode) { + path = pathCheck; + break; + } + } + + if (!path) { + path = new NodePath(hub, parent); + paths.push(path); + } + + path.setup(parentPath, container, listKey, key); + return path; + } + }]); + + return NodePath; +}(); + +exports.default = NodePath; +Object.assign(NodePath.prototype, NodePath_ancestry, NodePath_inference, NodePath_replacement, NodePath_evaluation, NodePath_conversion, NodePath_introspection, NodePath_context, NodePath_removal, NodePath_modification, NodePath_family, NodePath_comments); +var _iteratorNormalCompletion = true; +var _didIteratorError = false; +var _iteratorError = undefined; + +try { + var _loop = function _loop() { + var type = _step.value; + var typeKey = "is".concat(type); + var fn = t[typeKey]; + + NodePath.prototype[typeKey] = function (opts) { + return fn(this.node, opts); + }; + + NodePath.prototype["assert".concat(type)] = function (opts) { + if (!fn(this.node, opts)) { + throw new TypeError("Expected node path of type ".concat(type)); + } + }; + }; + + for (var _iterator = t.TYPES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + _loop(); + } +} catch (err) { + _didIteratorError = true; + _iteratorError = err; +} finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } +} + +var _loop2 = function _loop2() { + var type = _Object$keys[_i]; + if (type[0] === "_") return "continue"; + if (t.TYPES.indexOf(type) < 0) t.TYPES.push(type); + var virtualType = virtualTypes[type]; + + NodePath.prototype["is".concat(type)] = function (opts) { + return virtualType.checkPath(this, opts); + }; +}; + +for (var _i = 0, _Object$keys = Object.keys(virtualTypes); _i < _Object$keys.length; _i++) { + var _ret = _loop2(); + + if (_ret === "continue") continue; +} + +},{"../cache":173,"../index":176,"../scope":195,"./ancestry":177,"./comments":178,"./context":179,"./conversion":180,"./evaluation":181,"./family":182,"./inference":184,"./introspection":187,"./lib/virtual-types":190,"./modification":191,"./removal":192,"./replacement":193,"@babel/generator":51,"@babel/types":242,"debug":198}],184:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getTypeAnnotation = getTypeAnnotation; +exports._getTypeAnnotation = _getTypeAnnotation; +exports.isBaseType = isBaseType; +exports.couldBeBaseType = couldBeBaseType; +exports.baseTypeStrictlyMatches = baseTypeStrictlyMatches; +exports.isGenericType = isGenericType; + +var inferers = _interopRequireWildcard(require("./inferers")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function getTypeAnnotation() { + if (this.typeAnnotation) return this.typeAnnotation; + var type = this._getTypeAnnotation() || t.anyTypeAnnotation(); + if (t.isTypeAnnotation(type)) type = type.typeAnnotation; + return this.typeAnnotation = type; +} + +function _getTypeAnnotation() { + var node = this.node; + + if (!node) { + if (this.key === "init" && this.parentPath.isVariableDeclarator()) { + var declar = this.parentPath.parentPath; + var declarParent = declar.parentPath; + + if (declar.key === "left" && declarParent.isForInStatement()) { + return t.stringTypeAnnotation(); + } + + if (declar.key === "left" && declarParent.isForOfStatement()) { + return t.anyTypeAnnotation(); + } + + return t.voidTypeAnnotation(); + } else { + return; + } + } + + if (node.typeAnnotation) { + return node.typeAnnotation; + } + + var inferer = inferers[node.type]; + + if (inferer) { + return inferer.call(this, node); + } + + inferer = inferers[this.parentPath.type]; + + if (inferer && inferer.validParent) { + return this.parentPath.getTypeAnnotation(); + } +} + +function isBaseType(baseName, soft) { + return _isBaseType(baseName, this.getTypeAnnotation(), soft); +} + +function _isBaseType(baseName, type, soft) { + if (baseName === "string") { + return t.isStringTypeAnnotation(type); + } else if (baseName === "number") { + return t.isNumberTypeAnnotation(type); + } else if (baseName === "boolean") { + return t.isBooleanTypeAnnotation(type); + } else if (baseName === "any") { + return t.isAnyTypeAnnotation(type); + } else if (baseName === "mixed") { + return t.isMixedTypeAnnotation(type); + } else if (baseName === "empty") { + return t.isEmptyTypeAnnotation(type); + } else if (baseName === "void") { + return t.isVoidTypeAnnotation(type); + } else { + if (soft) { + return false; + } else { + throw new Error("Unknown base type ".concat(baseName)); + } + } +} + +function couldBeBaseType(name) { + var type = this.getTypeAnnotation(); + if (t.isAnyTypeAnnotation(type)) return true; + + if (t.isUnionTypeAnnotation(type)) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = type.types[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var type2 = _step.value; + + if (t.isAnyTypeAnnotation(type2) || _isBaseType(name, type2, true)) { + return true; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; + } else { + return _isBaseType(name, type, true); + } +} + +function baseTypeStrictlyMatches(right) { + var left = this.getTypeAnnotation(); + right = right.getTypeAnnotation(); + + if (!t.isAnyTypeAnnotation(left) && t.isFlowBaseAnnotation(left)) { + return right.type === left.type; + } +} + +function isGenericType(genericName) { + var type = this.getTypeAnnotation(); + return t.isGenericTypeAnnotation(type) && t.isIdentifier(type.id, { + name: genericName + }); +} + +},{"./inferers":186,"@babel/types":242}],185:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = _default; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _default(node) { + if (!this.isReferenced()) return; + var binding = this.scope.getBinding(node.name); + + if (binding) { + if (binding.identifier.typeAnnotation) { + return binding.identifier.typeAnnotation; + } else { + return getTypeAnnotationBindingConstantViolations(binding, this, node.name); + } + } + + if (node.name === "undefined") { + return t.voidTypeAnnotation(); + } else if (node.name === "NaN" || node.name === "Infinity") { + return t.numberTypeAnnotation(); + } else if (node.name === "arguments") {} +} + +function getTypeAnnotationBindingConstantViolations(binding, path, name) { + var types = []; + var functionConstantViolations = []; + var constantViolations = getConstantViolationsBefore(binding, path, functionConstantViolations); + var testType = getConditionalAnnotation(binding, path, name); + + if (testType) { + var testConstantViolations = getConstantViolationsBefore(binding, testType.ifStatement); + constantViolations = constantViolations.filter(function (path) { + return testConstantViolations.indexOf(path) < 0; + }); + types.push(testType.typeAnnotation); + } + + if (constantViolations.length) { + constantViolations = constantViolations.concat(functionConstantViolations); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var violation = _step.value; + types.push(violation.getTypeAnnotation()); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + if (types.length) { + return t.createUnionTypeAnnotation(types); + } +} + +function getConstantViolationsBefore(binding, path, functions) { + var violations = binding.constantViolations.slice(); + violations.unshift(binding.path); + return violations.filter(function (violation) { + violation = violation.resolve(); + + var status = violation._guessExecutionStatusRelativeTo(path); + + if (functions && status === "unknown") functions.push(violation); + return status === "before"; + }); +} + +function inferAnnotationFromBinaryExpression(name, path) { + var operator = path.node.operator; + var right = path.get("right").resolve(); + var left = path.get("left").resolve(); + var target; + + if (left.isIdentifier({ + name: name + })) { + target = right; + } else if (right.isIdentifier({ + name: name + })) { + target = left; + } + + if (target) { + if (operator === "===") { + return target.getTypeAnnotation(); + } + + if (t.BOOLEAN_NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } + + return; + } + + if (operator !== "===" && operator !== "==") return; + var typeofPath; + var typePath; + + if (left.isUnaryExpression({ + operator: "typeof" + })) { + typeofPath = left; + typePath = right; + } else if (right.isUnaryExpression({ + operator: "typeof" + })) { + typeofPath = right; + typePath = left; + } + + if (!typeofPath) return; + if (!typeofPath.get("argument").isIdentifier({ + name: name + })) return; + typePath = typePath.resolve(); + if (!typePath.isLiteral()) return; + var typeValue = typePath.node.value; + if (typeof typeValue !== "string") return; + return t.createTypeAnnotationBasedOnTypeof(typeValue); +} + +function getParentConditionalPath(binding, path, name) { + var parentPath; + + while (parentPath = path.parentPath) { + if (parentPath.isIfStatement() || parentPath.isConditionalExpression()) { + if (path.key === "test") { + return; + } + + return parentPath; + } + + if (parentPath.isFunction()) { + if (parentPath.parentPath.scope.getBinding(name) !== binding) return; + } + + path = parentPath; + } +} + +function getConditionalAnnotation(binding, path, name) { + var ifStatement = getParentConditionalPath(binding, path, name); + if (!ifStatement) return; + var test = ifStatement.get("test"); + var paths = [test]; + var types = []; + + for (var i = 0; i < paths.length; i++) { + var _path = paths[i]; + + if (_path.isLogicalExpression()) { + if (_path.node.operator === "&&") { + paths.push(_path.get("left")); + paths.push(_path.get("right")); + } + } else if (_path.isBinaryExpression()) { + var type = inferAnnotationFromBinaryExpression(name, _path); + if (type) types.push(type); + } + } + + if (types.length) { + return { + typeAnnotation: t.createUnionTypeAnnotation(types), + ifStatement: ifStatement + }; + } + + return getConditionalAnnotation(ifStatement, name); +} + +},{"@babel/types":242}],186:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.VariableDeclarator = VariableDeclarator; +exports.TypeCastExpression = TypeCastExpression; +exports.NewExpression = NewExpression; +exports.TemplateLiteral = TemplateLiteral; +exports.UnaryExpression = UnaryExpression; +exports.BinaryExpression = BinaryExpression; +exports.LogicalExpression = LogicalExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.SequenceExpression = SequenceExpression; +exports.ParenthesizedExpression = ParenthesizedExpression; +exports.AssignmentExpression = AssignmentExpression; +exports.UpdateExpression = UpdateExpression; +exports.StringLiteral = StringLiteral; +exports.NumericLiteral = NumericLiteral; +exports.BooleanLiteral = BooleanLiteral; +exports.NullLiteral = NullLiteral; +exports.RegExpLiteral = RegExpLiteral; +exports.ObjectExpression = ObjectExpression; +exports.ArrayExpression = ArrayExpression; +exports.RestElement = RestElement; +exports.ClassDeclaration = exports.ClassExpression = exports.FunctionDeclaration = exports.ArrowFunctionExpression = exports.FunctionExpression = Func; +exports.CallExpression = CallExpression; +exports.TaggedTemplateExpression = TaggedTemplateExpression; +Object.defineProperty(exports, "Identifier", { + enumerable: true, + get: function get() { + return _infererReference.default; + } +}); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _infererReference = _interopRequireDefault(require("./inferer-reference")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function VariableDeclarator() { + var id = this.get("id"); + if (!id.isIdentifier()) return; + var init = this.get("init"); + var type = init.getTypeAnnotation(); + + if (type && type.type === "AnyTypeAnnotation") { + if (init.isCallExpression() && init.get("callee").isIdentifier({ + name: "Array" + }) && !init.scope.hasBinding("Array", true)) { + type = ArrayExpression(); + } + } + + return type; +} + +function TypeCastExpression(node) { + return node.typeAnnotation; +} + +TypeCastExpression.validParent = true; + +function NewExpression(node) { + if (this.get("callee").isIdentifier()) { + return t.genericTypeAnnotation(node.callee); + } +} + +function TemplateLiteral() { + return t.stringTypeAnnotation(); +} + +function UnaryExpression(node) { + var operator = node.operator; + + if (operator === "void") { + return t.voidTypeAnnotation(); + } else if (t.NUMBER_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } else if (t.STRING_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.stringTypeAnnotation(); + } else if (t.BOOLEAN_UNARY_OPERATORS.indexOf(operator) >= 0) { + return t.booleanTypeAnnotation(); + } +} + +function BinaryExpression(node) { + var operator = node.operator; + + if (t.NUMBER_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.numberTypeAnnotation(); + } else if (t.BOOLEAN_BINARY_OPERATORS.indexOf(operator) >= 0) { + return t.booleanTypeAnnotation(); + } else if (operator === "+") { + var right = this.get("right"); + var left = this.get("left"); + + if (left.isBaseType("number") && right.isBaseType("number")) { + return t.numberTypeAnnotation(); + } else if (left.isBaseType("string") || right.isBaseType("string")) { + return t.stringTypeAnnotation(); + } + + return t.unionTypeAnnotation([t.stringTypeAnnotation(), t.numberTypeAnnotation()]); + } +} + +function LogicalExpression() { + return t.createUnionTypeAnnotation([this.get("left").getTypeAnnotation(), this.get("right").getTypeAnnotation()]); +} + +function ConditionalExpression() { + return t.createUnionTypeAnnotation([this.get("consequent").getTypeAnnotation(), this.get("alternate").getTypeAnnotation()]); +} + +function SequenceExpression() { + return this.get("expressions").pop().getTypeAnnotation(); +} + +function ParenthesizedExpression() { + return this.get("expression").getTypeAnnotation(); +} + +function AssignmentExpression() { + return this.get("right").getTypeAnnotation(); +} + +function UpdateExpression(node) { + var operator = node.operator; + + if (operator === "++" || operator === "--") { + return t.numberTypeAnnotation(); + } +} + +function StringLiteral() { + return t.stringTypeAnnotation(); +} + +function NumericLiteral() { + return t.numberTypeAnnotation(); +} + +function BooleanLiteral() { + return t.booleanTypeAnnotation(); +} + +function NullLiteral() { + return t.nullLiteralTypeAnnotation(); +} + +function RegExpLiteral() { + return t.genericTypeAnnotation(t.identifier("RegExp")); +} + +function ObjectExpression() { + return t.genericTypeAnnotation(t.identifier("Object")); +} + +function ArrayExpression() { + return t.genericTypeAnnotation(t.identifier("Array")); +} + +function RestElement() { + return ArrayExpression(); +} + +RestElement.validParent = true; + +function Func() { + return t.genericTypeAnnotation(t.identifier("Function")); +} + +var isArrayFrom = t.buildMatchMemberExpression("Array.from"); +var isObjectKeys = t.buildMatchMemberExpression("Object.keys"); +var isObjectValues = t.buildMatchMemberExpression("Object.values"); +var isObjectEntries = t.buildMatchMemberExpression("Object.entries"); + +function CallExpression() { + var callee = this.node.callee; + + if (isObjectKeys(callee)) { + return t.arrayTypeAnnotation(t.stringTypeAnnotation()); + } else if (isArrayFrom(callee) || isObjectValues(callee)) { + return t.arrayTypeAnnotation(t.anyTypeAnnotation()); + } else if (isObjectEntries(callee)) { + return t.arrayTypeAnnotation(t.tupleTypeAnnotation([t.stringTypeAnnotation(), t.anyTypeAnnotation()])); + } + + return resolveCall(this.get("callee")); +} + +function TaggedTemplateExpression() { + return resolveCall(this.get("tag")); +} + +function resolveCall(callee) { + callee = callee.resolve(); + + if (callee.isFunction()) { + if (callee.is("async")) { + if (callee.is("generator")) { + return t.genericTypeAnnotation(t.identifier("AsyncIterator")); + } else { + return t.genericTypeAnnotation(t.identifier("Promise")); + } + } else { + if (callee.node.returnType) { + return callee.node.returnType; + } else {} + } + } +} + +},{"./inferer-reference":185,"@babel/types":242}],187:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.matchesPattern = matchesPattern; +exports.has = has; +exports.isStatic = isStatic; +exports.isnt = isnt; +exports.equals = equals; +exports.isNodeType = isNodeType; +exports.canHaveVariableDeclarationOrExpression = canHaveVariableDeclarationOrExpression; +exports.canSwapBetweenExpressionAndStatement = canSwapBetweenExpressionAndStatement; +exports.isCompletionRecord = isCompletionRecord; +exports.isStatementOrBlock = isStatementOrBlock; +exports.referencesImport = referencesImport; +exports.getSource = getSource; +exports.willIMaybeExecuteBefore = willIMaybeExecuteBefore; +exports._guessExecutionStatusRelativeTo = _guessExecutionStatusRelativeTo; +exports._guessExecutionStatusRelativeToDifferentFunctions = _guessExecutionStatusRelativeToDifferentFunctions; +exports.resolve = resolve; +exports._resolve = _resolve; +exports.isConstantExpression = isConstantExpression; +exports.isInStrictMode = isInStrictMode; +exports.is = void 0; + +var _includes = _interopRequireDefault(require("lodash/includes")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function matchesPattern(pattern, allowPartial) { + return t.matchesPattern(this.node, pattern, allowPartial); +} + +function has(key) { + var val = this.node && this.node[key]; + + if (val && Array.isArray(val)) { + return !!val.length; + } else { + return !!val; + } +} + +function isStatic() { + return this.scope.isStatic(this.node); +} + +var is = has; +exports.is = is; + +function isnt(key) { + return !this.has(key); +} + +function equals(key, value) { + return this.node[key] === value; +} + +function isNodeType(type) { + return t.isType(this.type, type); +} + +function canHaveVariableDeclarationOrExpression() { + return (this.key === "init" || this.key === "left") && this.parentPath.isFor(); +} + +function canSwapBetweenExpressionAndStatement(replacement) { + if (this.key !== "body" || !this.parentPath.isArrowFunctionExpression()) { + return false; + } + + if (this.isExpression()) { + return t.isBlockStatement(replacement); + } else if (this.isBlockStatement()) { + return t.isExpression(replacement); + } + + return false; +} + +function isCompletionRecord(allowInsideFunction) { + var path = this; + var first = true; + + do { + var container = path.container; + + if (path.isFunction() && !first) { + return !!allowInsideFunction; + } + + first = false; + + if (Array.isArray(container) && path.key !== container.length - 1) { + return false; + } + } while ((path = path.parentPath) && !path.isProgram()); + + return true; +} + +function isStatementOrBlock() { + if (this.parentPath.isLabeledStatement() || t.isBlockStatement(this.container)) { + return false; + } else { + return (0, _includes.default)(t.STATEMENT_OR_BLOCK_KEYS, this.key); + } +} + +function referencesImport(moduleSource, importName) { + if (!this.isReferencedIdentifier()) return false; + var binding = this.scope.getBinding(this.node.name); + if (!binding || binding.kind !== "module") return false; + var path = binding.path; + var parent = path.parentPath; + if (!parent.isImportDeclaration()) return false; + + if (parent.node.source.value === moduleSource) { + if (!importName) return true; + } else { + return false; + } + + if (path.isImportDefaultSpecifier() && importName === "default") { + return true; + } + + if (path.isImportNamespaceSpecifier() && importName === "*") { + return true; + } + + if (path.isImportSpecifier() && path.node.imported.name === importName) { + return true; + } + + return false; +} + +function getSource() { + var node = this.node; + + if (node.end) { + var code = this.hub.getCode(); + if (code) return code.slice(node.start, node.end); + } + + return ""; +} + +function willIMaybeExecuteBefore(target) { + return this._guessExecutionStatusRelativeTo(target) !== "after"; +} + +function getOuterFunction(path) { + return (path.scope.getFunctionParent() || path.scope.getProgramParent()).path; +} + +function isExecutionUncertain(type, key) { + switch (type) { + case "LogicalExpression": + return key === "right"; + + case "ConditionalExpression": + case "IfStatement": + return key === "consequent" || key === "alternate"; + + case "WhileStatement": + case "DoWhileStatement": + case "ForInStatement": + case "ForOfStatement": + return key === "body"; + + case "ForStatement": + return key === "body" || key === "update"; + + case "SwitchStatement": + return key === "cases"; + + case "TryStatement": + return key === "handler"; + + case "AssignmentPattern": + return key === "right"; + + case "OptionalMemberExpression": + return key === "property"; + + case "OptionalCallExpression": + return key === "arguments"; + + default: + return false; + } +} + +function isExecutionUncertainInList(paths, maxIndex) { + for (var i = 0; i < maxIndex; i++) { + var path = paths[i]; + + if (isExecutionUncertain(path.parent.type, path.parentKey)) { + return true; + } + } + + return false; +} + +function _guessExecutionStatusRelativeTo(target) { + var funcParent = { + this: getOuterFunction(this), + target: getOuterFunction(target) + }; + + if (funcParent.target.node !== funcParent.this.node) { + return this._guessExecutionStatusRelativeToDifferentFunctions(funcParent.target); + } + + var paths = { + target: target.getAncestry(), + this: this.getAncestry() + }; + if (paths.target.indexOf(this) >= 0) return "after"; + if (paths.this.indexOf(target) >= 0) return "before"; + var commonPath; + var commonIndex = { + target: 0, + this: 0 + }; + + while (!commonPath && commonIndex.this < paths.this.length) { + var path = paths.this[commonIndex.this]; + commonIndex.target = paths.target.indexOf(path); + + if (commonIndex.target >= 0) { + commonPath = path; + } else { + commonIndex.this++; + } + } + + if (!commonPath) { + throw new Error("Internal Babel error - The two compared nodes" + " don't appear to belong to the same program."); + } + + if (isExecutionUncertainInList(paths.this, commonIndex.this - 1) || isExecutionUncertainInList(paths.target, commonIndex.target - 1)) { + return "unknown"; + } + + var divergence = { + this: paths.this[commonIndex.this - 1], + target: paths.target[commonIndex.target - 1] + }; + + if (divergence.target.listKey && divergence.this.listKey && divergence.target.container === divergence.this.container) { + return divergence.target.key > divergence.this.key ? "before" : "after"; + } + + var keys = t.VISITOR_KEYS[commonPath.type]; + var keyPosition = { + this: keys.indexOf(divergence.this.parentKey), + target: keys.indexOf(divergence.target.parentKey) + }; + return keyPosition.target > keyPosition.this ? "before" : "after"; +} + +var executionOrderCheckedNodes = new WeakSet(); + +function _guessExecutionStatusRelativeToDifferentFunctions(target) { + if (!target.isFunctionDeclaration() || target.parentPath.isExportDeclaration()) { + return "unknown"; + } + + var binding = target.scope.getBinding(target.node.id.name); + if (!binding.references) return "before"; + var referencePaths = binding.referencePaths; + var allStatus; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = referencePaths[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var path = _step.value; + var childOfFunction = !!path.find(function (path) { + return path.node === target.node; + }); + if (childOfFunction) continue; + + if (path.key !== "callee" || !path.parentPath.isCallExpression()) { + return "unknown"; + } + + if (executionOrderCheckedNodes.has(path.node)) continue; + executionOrderCheckedNodes.add(path.node); + + var status = this._guessExecutionStatusRelativeTo(path); + + executionOrderCheckedNodes.delete(path.node); + + if (allStatus && allStatus !== status) { + return "unknown"; + } else { + allStatus = status; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return allStatus; +} + +function resolve(dangerous, resolved) { + return this._resolve(dangerous, resolved) || this; +} + +function _resolve(dangerous, resolved) { + if (resolved && resolved.indexOf(this) >= 0) return; + resolved = resolved || []; + resolved.push(this); + + if (this.isVariableDeclarator()) { + if (this.get("id").isIdentifier()) { + return this.get("init").resolve(dangerous, resolved); + } else {} + } else if (this.isReferencedIdentifier()) { + var binding = this.scope.getBinding(this.node.name); + if (!binding) return; + if (!binding.constant) return; + if (binding.kind === "module") return; + + if (binding.path !== this) { + var ret = binding.path.resolve(dangerous, resolved); + if (this.find(function (parent) { + return parent.node === ret.node; + })) return; + return ret; + } + } else if (this.isTypeCastExpression()) { + return this.get("expression").resolve(dangerous, resolved); + } else if (dangerous && this.isMemberExpression()) { + var targetKey = this.toComputedKey(); + if (!t.isLiteral(targetKey)) return; + var targetName = targetKey.value; + var target = this.get("object").resolve(dangerous, resolved); + + if (target.isObjectExpression()) { + var props = target.get("properties"); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = props[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var prop = _step2.value; + if (!prop.isProperty()) continue; + var key = prop.get("key"); + var match = prop.isnt("computed") && key.isIdentifier({ + name: targetName + }); + match = match || key.isLiteral({ + value: targetName + }); + if (match) return prop.get("value").resolve(dangerous, resolved); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } else if (target.isArrayExpression() && !isNaN(+targetName)) { + var elems = target.get("elements"); + var elem = elems[targetName]; + if (elem) return elem.resolve(dangerous, resolved); + } + } +} + +function isConstantExpression() { + if (this.isIdentifier()) { + var binding = this.scope.getBinding(this.node.name); + if (!binding) return false; + return binding.constant; + } + + if (this.isLiteral()) { + if (this.isRegExpLiteral()) { + return false; + } + + if (this.isTemplateLiteral()) { + return this.get("expressions").every(function (expression) { + return expression.isConstantExpression(); + }); + } + + return true; + } + + if (this.isUnaryExpression()) { + if (this.get("operator").node !== "void") { + return false; + } + + return this.get("argument").isConstantExpression(); + } + + if (this.isBinaryExpression()) { + return this.get("left").isConstantExpression() && this.get("right").isConstantExpression(); + } + + return false; +} + +function isInStrictMode() { + var start = this.isProgram() ? this : this.parentPath; + var strictParent = start.find(function (path) { + if (path.isProgram({ + sourceType: "module" + })) return true; + if (path.isClass()) return true; + if (!path.isProgram() && !path.isFunction()) return false; + + if (path.isArrowFunctionExpression() && !path.get("body").isBlockStatement()) { + return false; + } + + var node = path.node; + if (path.isFunction()) node = node.body; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = node.directives[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var directive = _step3.value; + + if (directive.value.value === "use strict") { + return true; + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + }); + return !!strictParent; +} + +},{"@babel/types":242,"lodash/includes":1015}],188:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var referenceVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + if (path.isJSXIdentifier() && t.react.isCompatTag(path.node.name) && !path.parentPath.isJSXMemberExpression()) { + return; + } + + if (path.node.name === "this") { + var scope = path.scope; + + do { + if (scope.path.isFunction() && !scope.path.isArrowFunctionExpression()) { + break; + } + } while (scope = scope.parent); + + if (scope) state.breakOnScopePaths.push(scope.path); + } + + var binding = path.scope.getBinding(path.node.name); + if (!binding) return; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = binding.constantViolations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var violation = _step.value; + + if (violation.scope !== binding.path.scope) { + state.mutableBinding = true; + path.stop(); + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (binding !== state.scope.getBinding(path.node.name)) return; + state.bindings[path.node.name] = binding; + } +}; + +var PathHoister = +/*#__PURE__*/ +function () { + function PathHoister(path, scope) { + _classCallCheck(this, PathHoister); + + this.breakOnScopePaths = []; + this.bindings = {}; + this.mutableBinding = false; + this.scopes = []; + this.scope = scope; + this.path = path; + this.attachAfter = false; + } + + _createClass(PathHoister, [{ + key: "isCompatibleScope", + value: function isCompatibleScope(scope) { + for (var _i = 0, _Object$keys = Object.keys(this.bindings); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + var binding = this.bindings[key]; + + if (!scope.bindingIdentifierEquals(key, binding.identifier)) { + return false; + } + } + + return true; + } + }, { + key: "getCompatibleScopes", + value: function getCompatibleScopes() { + var scope = this.path.scope; + + do { + if (this.isCompatibleScope(scope)) { + this.scopes.push(scope); + } else { + break; + } + + if (this.breakOnScopePaths.indexOf(scope.path) >= 0) { + break; + } + } while (scope = scope.parent); + } + }, { + key: "getAttachmentPath", + value: function getAttachmentPath() { + var path = this._getAttachmentPath(); + + if (!path) return; + var targetScope = path.scope; + + if (targetScope.path === path) { + targetScope = path.scope.parent; + } + + if (targetScope.path.isProgram() || targetScope.path.isFunction()) { + for (var _i2 = 0, _Object$keys2 = Object.keys(this.bindings); _i2 < _Object$keys2.length; _i2++) { + var name = _Object$keys2[_i2]; + if (!targetScope.hasOwnBinding(name)) continue; + var binding = this.bindings[name]; + + if (binding.kind === "param" || binding.path.parentKey === "params") { + continue; + } + + var bindingParentPath = this.getAttachmentParentForPath(binding.path); + + if (bindingParentPath.key >= path.key) { + this.attachAfter = true; + path = binding.path; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = binding.constantViolations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var violationPath = _step2.value; + + if (this.getAttachmentParentForPath(violationPath).key > path.key) { + path = violationPath; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } + } + + return path; + } + }, { + key: "_getAttachmentPath", + value: function _getAttachmentPath() { + var scopes = this.scopes; + var scope = scopes.pop(); + if (!scope) return; + + if (scope.path.isFunction()) { + if (this.hasOwnParamBindings(scope)) { + if (this.scope === scope) return; + var bodies = scope.path.get("body").get("body"); + + for (var i = 0; i < bodies.length; i++) { + if (bodies[i].node._blockHoist) continue; + return bodies[i]; + } + } else { + return this.getNextScopeAttachmentParent(); + } + } else if (scope.path.isProgram()) { + return this.getNextScopeAttachmentParent(); + } + } + }, { + key: "getNextScopeAttachmentParent", + value: function getNextScopeAttachmentParent() { + var scope = this.scopes.pop(); + if (scope) return this.getAttachmentParentForPath(scope.path); + } + }, { + key: "getAttachmentParentForPath", + value: function getAttachmentParentForPath(path) { + do { + if (!path.parentPath || Array.isArray(path.container) && path.isStatement()) { + return path; + } + } while (path = path.parentPath); + } + }, { + key: "hasOwnParamBindings", + value: function hasOwnParamBindings(scope) { + for (var _i3 = 0, _Object$keys3 = Object.keys(this.bindings); _i3 < _Object$keys3.length; _i3++) { + var name = _Object$keys3[_i3]; + if (!scope.hasOwnBinding(name)) continue; + var binding = this.bindings[name]; + if (binding.kind === "param" && binding.constant) return true; + } + + return false; + } + }, { + key: "run", + value: function run() { + this.path.traverse(referenceVisitor, this); + if (this.mutableBinding) return; + this.getCompatibleScopes(); + var attachTo = this.getAttachmentPath(); + if (!attachTo) return; + if (attachTo.getFunctionParent() === this.path.getFunctionParent()) return; + var uid = attachTo.scope.generateUidIdentifier("ref"); + var declarator = t.variableDeclarator(uid, this.path.node); + var insertFn = this.attachAfter ? "insertAfter" : "insertBefore"; + + var _attachTo$insertFn = attachTo[insertFn]([attachTo.isVariableDeclarator() ? declarator : t.variableDeclaration("var", [declarator])]), + _attachTo$insertFn2 = _slicedToArray(_attachTo$insertFn, 1), + attached = _attachTo$insertFn2[0]; + + var parent = this.path.parentPath; + + if (parent.isJSXElement() && this.path.container === parent.node.children) { + uid = t.JSXExpressionContainer(uid); + } + + this.path.replaceWith(t.cloneNode(uid)); + return attachTo.isVariableDeclarator() ? attached.get("init") : attached.get("declarations.0.init"); + } + }]); + + return PathHoister; +}(); + +exports.default = PathHoister; + +},{"@babel/types":242}],189:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.hooks = void 0; +var hooks = [function (self, parent) { + var removeParent = self.key === "test" && (parent.isWhile() || parent.isSwitchCase()) || self.key === "declaration" && parent.isExportDeclaration() || self.key === "body" && parent.isLabeledStatement() || self.listKey === "declarations" && parent.isVariableDeclaration() && parent.node.declarations.length === 1 || self.key === "expression" && parent.isExpressionStatement(); + + if (removeParent) { + parent.remove(); + return true; + } +}, function (self, parent) { + if (parent.isSequenceExpression() && parent.node.expressions.length === 1) { + parent.replaceWith(parent.node.expressions[0]); + return true; + } +}, function (self, parent) { + if (parent.isBinary()) { + if (self.key === "left") { + parent.replaceWith(parent.node.right); + } else { + parent.replaceWith(parent.node.left); + } + + return true; + } +}, function (self, parent) { + if (parent.isIfStatement() && (self.key === "consequent" || self.key === "alternate") || self.key === "body" && (parent.isLoop() || parent.isArrowFunctionExpression())) { + self.replaceWith({ + type: "BlockStatement", + body: [] + }); + return true; + } +}]; +exports.hooks = hooks; + +},{}],190:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ForAwaitStatement = exports.NumericLiteralTypeAnnotation = exports.ExistentialTypeParam = exports.SpreadProperty = exports.RestProperty = exports.Flow = exports.Pure = exports.Generated = exports.User = exports.Var = exports.BlockScoped = exports.Referenced = exports.Scope = exports.Expression = exports.Statement = exports.BindingIdentifier = exports.ReferencedMemberExpression = exports.ReferencedIdentifier = void 0; + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var ReferencedIdentifier = { + types: ["Identifier", "JSXIdentifier"], + checkPath: function checkPath(path, opts) { + var node = path.node, + parent = path.parent; + + if (!t.isIdentifier(node, opts) && !t.isJSXMemberExpression(parent, opts)) { + if (t.isJSXIdentifier(node, opts)) { + if (t.react.isCompatTag(node.name)) return false; + } else { + return false; + } + } + + return t.isReferenced(node, parent, path.parentPath.parent); + } +}; +exports.ReferencedIdentifier = ReferencedIdentifier; +var ReferencedMemberExpression = { + types: ["MemberExpression"], + checkPath: function checkPath(_ref) { + var node = _ref.node, + parent = _ref.parent; + return t.isMemberExpression(node) && t.isReferenced(node, parent); + } +}; +exports.ReferencedMemberExpression = ReferencedMemberExpression; +var BindingIdentifier = { + types: ["Identifier"], + checkPath: function checkPath(path) { + var node = path.node, + parent = path.parent; + var grandparent = path.parentPath.parent; + return t.isIdentifier(node) && t.isBinding(node, parent, grandparent); + } +}; +exports.BindingIdentifier = BindingIdentifier; +var Statement = { + types: ["Statement"], + checkPath: function checkPath(_ref2) { + var node = _ref2.node, + parent = _ref2.parent; + + if (t.isStatement(node)) { + if (t.isVariableDeclaration(node)) { + if (t.isForXStatement(parent, { + left: node + })) return false; + if (t.isForStatement(parent, { + init: node + })) return false; + } + + return true; + } else { + return false; + } + } +}; +exports.Statement = Statement; +var Expression = { + types: ["Expression"], + checkPath: function checkPath(path) { + if (path.isIdentifier()) { + return path.isReferencedIdentifier(); + } else { + return t.isExpression(path.node); + } + } +}; +exports.Expression = Expression; +var Scope = { + types: ["Scopable"], + checkPath: function checkPath(path) { + return t.isScope(path.node, path.parent); + } +}; +exports.Scope = Scope; +var Referenced = { + checkPath: function checkPath(path) { + return t.isReferenced(path.node, path.parent); + } +}; +exports.Referenced = Referenced; +var BlockScoped = { + checkPath: function checkPath(path) { + return t.isBlockScoped(path.node); + } +}; +exports.BlockScoped = BlockScoped; +var Var = { + types: ["VariableDeclaration"], + checkPath: function checkPath(path) { + return t.isVar(path.node); + } +}; +exports.Var = Var; +var User = { + checkPath: function checkPath(path) { + return path.node && !!path.node.loc; + } +}; +exports.User = User; +var Generated = { + checkPath: function checkPath(path) { + return !path.isUser(); + } +}; +exports.Generated = Generated; +var Pure = { + checkPath: function checkPath(path, opts) { + return path.scope.isPure(path.node, opts); + } +}; +exports.Pure = Pure; +var Flow = { + types: ["Flow", "ImportDeclaration", "ExportDeclaration", "ImportSpecifier"], + checkPath: function checkPath(_ref3) { + var node = _ref3.node; + + if (t.isFlow(node)) { + return true; + } else if (t.isImportDeclaration(node)) { + return node.importKind === "type" || node.importKind === "typeof"; + } else if (t.isExportDeclaration(node)) { + return node.exportKind === "type"; + } else if (t.isImportSpecifier(node)) { + return node.importKind === "type" || node.importKind === "typeof"; + } else { + return false; + } + } +}; +exports.Flow = Flow; +var RestProperty = { + types: ["RestElement"], + checkPath: function checkPath(path) { + return path.parentPath && path.parentPath.isObjectPattern(); + } +}; +exports.RestProperty = RestProperty; +var SpreadProperty = { + types: ["RestElement"], + checkPath: function checkPath(path) { + return path.parentPath && path.parentPath.isObjectExpression(); + } +}; +exports.SpreadProperty = SpreadProperty; +var ExistentialTypeParam = { + types: ["ExistsTypeAnnotation"] +}; +exports.ExistentialTypeParam = ExistentialTypeParam; +var NumericLiteralTypeAnnotation = { + types: ["NumberLiteralTypeAnnotation"] +}; +exports.NumericLiteralTypeAnnotation = NumericLiteralTypeAnnotation; +var ForAwaitStatement = { + types: ["ForOfStatement"], + checkPath: function checkPath(_ref4) { + var node = _ref4.node; + return node.await === true; + } +}; +exports.ForAwaitStatement = ForAwaitStatement; + +},{"@babel/types":242}],191:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.insertBefore = insertBefore; +exports._containerInsert = _containerInsert; +exports._containerInsertBefore = _containerInsertBefore; +exports._containerInsertAfter = _containerInsertAfter; +exports.insertAfter = insertAfter; +exports.updateSiblingKeys = updateSiblingKeys; +exports._verifyNodeList = _verifyNodeList; +exports.unshiftContainer = unshiftContainer; +exports.pushContainer = pushContainer; +exports.hoist = hoist; + +var _cache = require("../cache"); + +var _hoister = _interopRequireDefault(require("./lib/hoister")); + +var _index = _interopRequireDefault(require("./index")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function insertBefore(nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + var parentPath = this.parentPath; + + if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) { + return parentPath.insertBefore(nodes); + } else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") { + if (this.node) nodes.push(this.node); + return this.replaceExpressionWithStatements(nodes); + } else if (Array.isArray(this.container)) { + return this._containerInsertBefore(nodes); + } else if (this.isStatementOrBlock()) { + var shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); + this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); + return this.unshiftContainer("body", nodes); + } else { + throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); + } +} + +function _containerInsert(from, nodes) { + var _this$container; + + this.updateSiblingKeys(from, nodes.length); + var paths = []; + + (_this$container = this.container).splice.apply(_this$container, [from, 0].concat(_toConsumableArray(nodes))); + + for (var i = 0; i < nodes.length; i++) { + var to = from + i; + var path = this.getSibling(to); + paths.push(path); + + if (this.context && this.context.queue) { + path.pushContext(this.context); + } + } + + var contexts = this._getQueueContexts(); + + for (var _i = 0, _paths = paths; _i < _paths.length; _i++) { + var _path = _paths[_i]; + + _path.setScope(); + + _path.debug("Inserted."); + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = contexts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var context = _step.value; + context.maybeQueue(_path, true); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return paths; +} + +function _containerInsertBefore(nodes) { + return this._containerInsert(this.key, nodes); +} + +function _containerInsertAfter(nodes) { + return this._containerInsert(this.key + 1, nodes); +} + +function insertAfter(nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + var parentPath = this.parentPath; + + if (parentPath.isExpressionStatement() || parentPath.isLabeledStatement() || parentPath.isExportNamedDeclaration() || parentPath.isExportDefaultDeclaration() && this.isDeclaration()) { + return parentPath.insertAfter(nodes.map(function (node) { + return t.isExpression(node) ? t.expressionStatement(node) : node; + })); + } else if (this.isNodeType("Expression") && !this.isJSXElement() || parentPath.isForStatement() && this.key === "init") { + if (this.node) { + var scope = this.scope; + + if (parentPath.isMethod({ + computed: true, + key: this.node + })) { + scope = scope.parent; + } + + var temp = scope.generateDeclaredUidIdentifier(); + nodes.unshift(t.expressionStatement(t.assignmentExpression("=", t.cloneNode(temp), this.node))); + nodes.push(t.expressionStatement(t.cloneNode(temp))); + } + + return this.replaceExpressionWithStatements(nodes); + } else if (Array.isArray(this.container)) { + return this._containerInsertAfter(nodes); + } else if (this.isStatementOrBlock()) { + var shouldInsertCurrentNode = this.node && (!this.isExpressionStatement() || this.node.expression != null); + this.replaceWith(t.blockStatement(shouldInsertCurrentNode ? [this.node] : [])); + return this.pushContainer("body", nodes); + } else { + throw new Error("We don't know what to do with this node type. " + "We were previously a Statement but we can't fit in here?"); + } +} + +function updateSiblingKeys(fromIndex, incrementBy) { + if (!this.parent) return; + + var paths = _cache.path.get(this.parent); + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + + if (path.key >= fromIndex) { + path.key += incrementBy; + } + } +} + +function _verifyNodeList(nodes) { + if (!nodes) { + return []; + } + + if (nodes.constructor !== Array) { + nodes = [nodes]; + } + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + var msg = void 0; + + if (!node) { + msg = "has falsy node"; + } else if (_typeof(node) !== "object") { + msg = "contains a non-object node"; + } else if (!node.type) { + msg = "without a type"; + } else if (node instanceof _index.default) { + msg = "has a NodePath when it expected a raw object"; + } + + if (msg) { + var type = Array.isArray(node) ? "array" : _typeof(node); + throw new Error("Node list ".concat(msg, " with the index of ").concat(i, " and type of ").concat(type)); + } + } + + return nodes; +} + +function unshiftContainer(listKey, nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + + var path = _index.default.get({ + parentPath: this, + parent: this.node, + container: this.node[listKey], + listKey: listKey, + key: 0 + }); + + return path._containerInsertBefore(nodes); +} + +function pushContainer(listKey, nodes) { + this._assertUnremoved(); + + nodes = this._verifyNodeList(nodes); + var container = this.node[listKey]; + + var path = _index.default.get({ + parentPath: this, + parent: this.node, + container: container, + listKey: listKey, + key: container.length + }); + + return path.replaceWithMultiple(nodes); +} + +function hoist() { + var scope = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.scope; + var hoister = new _hoister.default(this, scope); + return hoister.run(); +} + +},{"../cache":173,"./index":183,"./lib/hoister":188,"@babel/types":242}],192:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.remove = remove; +exports._removeFromScope = _removeFromScope; +exports._callRemovalHooks = _callRemovalHooks; +exports._remove = _remove; +exports._markRemoved = _markRemoved; +exports._assertUnremoved = _assertUnremoved; + +var _removalHooks = require("./lib/removal-hooks"); + +var _index = require("./index"); + +function remove() { + this._assertUnremoved(); + + this.resync(); + + this._removeFromScope(); + + if (this._callRemovalHooks()) { + this._markRemoved(); + + return; + } + + this.shareCommentsWithSiblings(); + + this._remove(); + + this._markRemoved(); +} + +function _removeFromScope() { + var _this = this; + + var bindings = this.getBindingIdentifiers(); + Object.keys(bindings).forEach(function (name) { + return _this.scope.removeBinding(name); + }); +} + +function _callRemovalHooks() { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = _removalHooks.hooks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var fn = _step.value; + if (fn(this, this.parentPath)) return true; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +} + +function _remove() { + if (Array.isArray(this.container)) { + this.container.splice(this.key, 1); + this.updateSiblingKeys(this.key, -1); + } else { + this._replaceWith(null); + } +} + +function _markRemoved() { + this._traverseFlags |= _index.SHOULD_SKIP | _index.REMOVED; + this.node = null; +} + +function _assertUnremoved() { + if (this.removed) { + throw this.buildCodeFrameError("NodePath has been removed so is read-only."); + } +} + +},{"./index":183,"./lib/removal-hooks":189}],193:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.replaceWithMultiple = replaceWithMultiple; +exports.replaceWithSourceString = replaceWithSourceString; +exports.replaceWith = replaceWith; +exports._replaceWith = _replaceWith; +exports.replaceExpressionWithStatements = replaceExpressionWithStatements; +exports.replaceInline = replaceInline; + +var _codeFrame = require("@babel/code-frame"); + +var _index = _interopRequireDefault(require("../index")); + +var _index2 = _interopRequireDefault(require("./index")); + +var _parser = require("@babel/parser"); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var hoistVariablesVisitor = { + Function: function Function(path) { + path.skip(); + }, + VariableDeclaration: function VariableDeclaration(path) { + if (path.node.kind !== "var") return; + var bindings = path.getBindingIdentifiers(); + + for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + path.scope.push({ + id: bindings[key] + }); + } + + var exprs = []; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = path.node.declarations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var declar = _step.value; + + if (declar.init) { + exprs.push(t.expressionStatement(t.assignmentExpression("=", declar.id, declar.init))); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + path.replaceWithMultiple(exprs); + } +}; + +function replaceWithMultiple(nodes) { + this.resync(); + nodes = this._verifyNodeList(nodes); + t.inheritLeadingComments(nodes[0], this.node); + t.inheritTrailingComments(nodes[nodes.length - 1], this.node); + this.node = this.container[this.key] = null; + var paths = this.insertAfter(nodes); + + if (this.node) { + this.requeue(); + } else { + this.remove(); + } + + return paths; +} + +function replaceWithSourceString(replacement) { + this.resync(); + + try { + replacement = "(".concat(replacement, ")"); + replacement = (0, _parser.parse)(replacement); + } catch (err) { + var loc = err.loc; + + if (loc) { + err.message += " - make sure this is an expression.\n" + (0, _codeFrame.codeFrameColumns)(replacement, { + start: { + line: loc.line, + column: loc.column + 1 + } + }); + err.code = "BABEL_REPLACE_SOURCE_ERROR"; + } + + throw err; + } + + replacement = replacement.program.body[0].expression; + + _index.default.removeProperties(replacement); + + return this.replaceWith(replacement); +} + +function replaceWith(replacement) { + this.resync(); + + if (this.removed) { + throw new Error("You can't replace this node, we've already removed it"); + } + + if (replacement instanceof _index2.default) { + replacement = replacement.node; + } + + if (!replacement) { + throw new Error("You passed `path.replaceWith()` a falsy node, use `path.remove()` instead"); + } + + if (this.node === replacement) { + return [this]; + } + + if (this.isProgram() && !t.isProgram(replacement)) { + throw new Error("You can only replace a Program root node with another Program node"); + } + + if (Array.isArray(replacement)) { + throw new Error("Don't use `path.replaceWith()` with an array of nodes, use `path.replaceWithMultiple()`"); + } + + if (typeof replacement === "string") { + throw new Error("Don't use `path.replaceWith()` with a source string, use `path.replaceWithSourceString()`"); + } + + var nodePath = ""; + + if (this.isNodeType("Statement") && t.isExpression(replacement)) { + if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement) && !this.parentPath.isExportDefaultDeclaration()) { + replacement = t.expressionStatement(replacement); + nodePath = "expression"; + } + } + + if (this.isNodeType("Expression") && t.isStatement(replacement)) { + if (!this.canHaveVariableDeclarationOrExpression() && !this.canSwapBetweenExpressionAndStatement(replacement)) { + return this.replaceExpressionWithStatements([replacement]); + } + } + + var oldNode = this.node; + + if (oldNode) { + t.inheritsComments(replacement, oldNode); + t.removeComments(oldNode); + } + + this._replaceWith(replacement); + + this.type = replacement.type; + this.setScope(); + this.requeue(); + return [nodePath ? this.get(nodePath) : this]; +} + +function _replaceWith(node) { + if (!this.container) { + throw new ReferenceError("Container is falsy"); + } + + if (this.inList) { + t.validate(this.parent, this.key, [node]); + } else { + t.validate(this.parent, this.key, node); + } + + this.debug("Replace with ".concat(node && node.type)); + this.node = this.container[this.key] = node; +} + +function replaceExpressionWithStatements(nodes) { + this.resync(); + var toSequenceExpression = t.toSequenceExpression(nodes, this.scope); + + if (toSequenceExpression) { + return this.replaceWith(toSequenceExpression)[0].get("expressions"); + } + + var functionParent = this.getFunctionParent(); + var isParentAsync = functionParent && functionParent.is("async"); + var container = t.arrowFunctionExpression([], t.blockStatement(nodes)); + this.replaceWith(t.callExpression(container, [])); + this.traverse(hoistVariablesVisitor); + var completionRecords = this.get("callee").getCompletionRecords(); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = completionRecords[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var path = _step2.value; + if (!path.isExpressionStatement()) continue; + var loop = path.findParent(function (path) { + return path.isLoop(); + }); + + if (loop) { + var uid = loop.getData("expressionReplacementReturnUid"); + + if (!uid) { + var _callee = this.get("callee"); + + uid = _callee.scope.generateDeclaredUidIdentifier("ret"); + + _callee.get("body").pushContainer("body", t.returnStatement(t.cloneNode(uid))); + + loop.setData("expressionReplacementReturnUid", uid); + } else { + uid = t.identifier(uid.name); + } + + path.get("expression").replaceWith(t.assignmentExpression("=", t.cloneNode(uid), path.node.expression)); + } else { + path.replaceWith(t.returnStatement(path.node.expression)); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var callee = this.get("callee"); + callee.arrowFunctionToExpression(); + + if (isParentAsync && _index.default.hasType(this.get("callee.body").node, "AwaitExpression", t.FUNCTION_TYPES)) { + callee.set("async", true); + this.replaceWith(t.awaitExpression(this.node)); + } + + return callee.get("body.body"); +} + +function replaceInline(nodes) { + this.resync(); + + if (Array.isArray(nodes)) { + if (Array.isArray(this.container)) { + nodes = this._verifyNodeList(nodes); + + var paths = this._containerInsertAfter(nodes); + + this.remove(); + return paths; + } else { + return this.replaceWithMultiple(nodes); + } + } else { + return this.replaceWith(nodes); + } +} + +},{"../index":176,"./index":183,"@babel/code-frame":1,"@babel/parser":89,"@babel/types":242}],194:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var Binding = +/*#__PURE__*/ +function () { + function Binding(_ref) { + var identifier = _ref.identifier, + scope = _ref.scope, + path = _ref.path, + kind = _ref.kind; + + _classCallCheck(this, Binding); + + this.identifier = identifier; + this.scope = scope; + this.path = path; + this.kind = kind; + this.constantViolations = []; + this.constant = true; + this.referencePaths = []; + this.referenced = false; + this.references = 0; + this.clearValue(); + } + + _createClass(Binding, [{ + key: "deoptValue", + value: function deoptValue() { + this.clearValue(); + this.hasDeoptedValue = true; + } + }, { + key: "setValue", + value: function setValue(value) { + if (this.hasDeoptedValue) return; + this.hasValue = true; + this.value = value; + } + }, { + key: "clearValue", + value: function clearValue() { + this.hasDeoptedValue = false; + this.hasValue = false; + this.value = null; + } + }, { + key: "reassign", + value: function reassign(path) { + this.constant = false; + + if (this.constantViolations.indexOf(path) !== -1) { + return; + } + + this.constantViolations.push(path); + } + }, { + key: "reference", + value: function reference(path) { + if (this.referencePaths.indexOf(path) !== -1) { + return; + } + + this.referenced = true; + this.references++; + this.referencePaths.push(path); + } + }, { + key: "dereference", + value: function dereference() { + this.references--; + this.referenced = !!this.references; + } + }]); + + return Binding; +}(); + +exports.default = Binding; + +},{}],195:[function(require,module,exports){ +"use strict"; + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _includes = _interopRequireDefault(require("lodash/includes")); + +var _repeat = _interopRequireDefault(require("lodash/repeat")); + +var _renamer = _interopRequireDefault(require("./lib/renamer")); + +var _index = _interopRequireDefault(require("../index")); + +var _defaults = _interopRequireDefault(require("lodash/defaults")); + +var _binding = _interopRequireDefault(require("./binding")); + +var _globals = _interopRequireDefault(require("globals")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _cache = require("../cache"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function gatherNodeParts(node, parts) { + if (t.isModuleDeclaration(node)) { + if (node.source) { + gatherNodeParts(node.source, parts); + } else if (node.specifiers && node.specifiers.length) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = node.specifiers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var specifier = _step.value; + gatherNodeParts(specifier, parts); + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } else if (node.declaration) { + gatherNodeParts(node.declaration, parts); + } + } else if (t.isModuleSpecifier(node)) { + gatherNodeParts(node.local, parts); + } else if (t.isMemberExpression(node)) { + gatherNodeParts(node.object, parts); + gatherNodeParts(node.property, parts); + } else if (t.isIdentifier(node)) { + parts.push(node.name); + } else if (t.isLiteral(node)) { + parts.push(node.value); + } else if (t.isCallExpression(node)) { + gatherNodeParts(node.callee, parts); + } else if (t.isObjectExpression(node) || t.isObjectPattern(node)) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = node.properties[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var prop = _step2.value; + gatherNodeParts(prop.key || prop.argument, parts); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } else if (t.isPrivateName(node)) { + gatherNodeParts(node.id, parts); + } else if (t.isThisExpression(node)) { + parts.push("this"); + } else if (t.isSuper(node)) { + parts.push("super"); + } +} + +var collectorVisitor = { + For: function For(path) { + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = t.FOR_INIT_KEYS[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var key = _step3.value; + var declar = path.get(key); + + if (declar.isVar()) { + var parentScope = path.scope.getFunctionParent() || path.scope.getProgramParent(); + parentScope.registerBinding("var", declar); + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + }, + Declaration: function Declaration(path) { + if (path.isBlockScoped()) return; + + if (path.isExportDeclaration() && path.get("declaration").isDeclaration()) { + return; + } + + var parent = path.scope.getFunctionParent() || path.scope.getProgramParent(); + parent.registerDeclaration(path); + }, + ReferencedIdentifier: function ReferencedIdentifier(path, state) { + state.references.push(path); + }, + ForXStatement: function ForXStatement(path, state) { + var left = path.get("left"); + + if (left.isPattern() || left.isIdentifier()) { + state.constantViolations.push(path); + } + }, + ExportDeclaration: { + exit: function exit(path) { + var node = path.node, + scope = path.scope; + var declar = node.declaration; + + if (t.isClassDeclaration(declar) || t.isFunctionDeclaration(declar)) { + var id = declar.id; + if (!id) return; + var binding = scope.getBinding(id.name); + if (binding) binding.reference(path); + } else if (t.isVariableDeclaration(declar)) { + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = declar.declarations[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var decl = _step4.value; + + for (var _i = 0, _Object$keys = Object.keys(t.getBindingIdentifiers(decl)); _i < _Object$keys.length; _i++) { + var name = _Object$keys[_i]; + + var _binding2 = scope.getBinding(name); + + if (_binding2) _binding2.reference(path); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + } + } + }, + LabeledStatement: function LabeledStatement(path) { + path.scope.getProgramParent().addGlobal(path.node); + path.scope.getBlockParent().registerDeclaration(path); + }, + AssignmentExpression: function AssignmentExpression(path, state) { + state.assignments.push(path); + }, + UpdateExpression: function UpdateExpression(path, state) { + state.constantViolations.push(path); + }, + UnaryExpression: function UnaryExpression(path, state) { + if (path.node.operator === "delete") { + state.constantViolations.push(path); + } + }, + BlockScoped: function BlockScoped(path) { + var scope = path.scope; + if (scope.path === path) scope = scope.parent; + scope.getBlockParent().registerDeclaration(path); + }, + ClassDeclaration: function ClassDeclaration(path) { + var id = path.node.id; + if (!id) return; + var name = id.name; + path.scope.bindings[name] = path.scope.getBinding(name); + }, + Block: function Block(path) { + var paths = path.get("body"); + var _iteratorNormalCompletion5 = true; + var _didIteratorError5 = false; + var _iteratorError5 = undefined; + + try { + for (var _iterator5 = paths[Symbol.iterator](), _step5; !(_iteratorNormalCompletion5 = (_step5 = _iterator5.next()).done); _iteratorNormalCompletion5 = true) { + var bodyPath = _step5.value; + + if (bodyPath.isFunctionDeclaration()) { + path.scope.getBlockParent().registerDeclaration(bodyPath); + } + } + } catch (err) { + _didIteratorError5 = true; + _iteratorError5 = err; + } finally { + try { + if (!_iteratorNormalCompletion5 && _iterator5.return != null) { + _iterator5.return(); + } + } finally { + if (_didIteratorError5) { + throw _iteratorError5; + } + } + } + } +}; +var uid = 0; + +var Scope = +/*#__PURE__*/ +function () { + function Scope(path) { + _classCallCheck(this, Scope); + + var node = path.node; + + var cached = _cache.scope.get(node); + + if (cached && cached.path === path) { + return cached; + } + + _cache.scope.set(node, this); + + this.uid = uid++; + this.block = node; + this.path = path; + this.labels = new Map(); + } + + _createClass(Scope, [{ + key: "traverse", + value: function traverse(node, opts, state) { + (0, _index.default)(node, opts, this, state, this.path); + } + }, { + key: "generateDeclaredUidIdentifier", + value: function generateDeclaredUidIdentifier(name) { + var id = this.generateUidIdentifier(name); + this.push({ + id: id + }); + return t.cloneNode(id); + } + }, { + key: "generateUidIdentifier", + value: function generateUidIdentifier(name) { + return t.identifier(this.generateUid(name)); + } + }, { + key: "generateUid", + value: function generateUid() { + var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "temp"; + name = t.toIdentifier(name).replace(/^_+/, "").replace(/[0-9]+$/g, ""); + var uid; + var i = 0; + + do { + uid = this._generateUid(name, i); + i++; + } while (this.hasLabel(uid) || this.hasBinding(uid) || this.hasGlobal(uid) || this.hasReference(uid)); + + var program = this.getProgramParent(); + program.references[uid] = true; + program.uids[uid] = true; + return uid; + } + }, { + key: "_generateUid", + value: function _generateUid(name, i) { + var id = name; + if (i > 1) id += i; + return "_".concat(id); + } + }, { + key: "generateUidBasedOnNode", + value: function generateUidBasedOnNode(parent, defaultName) { + var node = parent; + + if (t.isAssignmentExpression(parent)) { + node = parent.left; + } else if (t.isVariableDeclarator(parent)) { + node = parent.id; + } else if (t.isObjectProperty(node) || t.isObjectMethod(node)) { + node = node.key; + } + + var parts = []; + gatherNodeParts(node, parts); + var id = parts.join("$"); + id = id.replace(/^_/, "") || defaultName || "ref"; + return this.generateUid(id.slice(0, 20)); + } + }, { + key: "generateUidIdentifierBasedOnNode", + value: function generateUidIdentifierBasedOnNode(parent, defaultName) { + return t.identifier(this.generateUidBasedOnNode(parent, defaultName)); + } + }, { + key: "isStatic", + value: function isStatic(node) { + if (t.isThisExpression(node) || t.isSuper(node)) { + return true; + } + + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + + if (binding) { + return binding.constant; + } else { + return this.hasBinding(node.name); + } + } + + return false; + } + }, { + key: "maybeGenerateMemoised", + value: function maybeGenerateMemoised(node, dontPush) { + if (this.isStatic(node)) { + return null; + } else { + var id = this.generateUidIdentifierBasedOnNode(node); + + if (!dontPush) { + this.push({ + id: id + }); + return t.cloneNode(id); + } + + return id; + } + } + }, { + key: "checkBlockScopedCollisions", + value: function checkBlockScopedCollisions(local, kind, name, id) { + if (kind === "param") return; + if (local.kind === "local") return; + var duplicate = kind === "let" || local.kind === "let" || local.kind === "const" || local.kind === "module" || local.kind === "param" && (kind === "let" || kind === "const"); + + if (duplicate) { + throw this.hub.buildError(id, "Duplicate declaration \"".concat(name, "\""), TypeError); + } + } + }, { + key: "rename", + value: function rename(oldName, newName, block) { + var binding = this.getBinding(oldName); + + if (binding) { + newName = newName || this.generateUidIdentifier(oldName).name; + return new _renamer.default(binding, oldName, newName).rename(block); + } + } + }, { + key: "_renameFromMap", + value: function _renameFromMap(map, oldName, newName, value) { + if (map[oldName]) { + map[newName] = value; + map[oldName] = null; + } + } + }, { + key: "dump", + value: function dump() { + var sep = (0, _repeat.default)("-", 60); + console.log(sep); + var scope = this; + + do { + console.log("#", scope.block.type); + + for (var _i2 = 0, _Object$keys2 = Object.keys(scope.bindings); _i2 < _Object$keys2.length; _i2++) { + var name = _Object$keys2[_i2]; + var binding = scope.bindings[name]; + console.log(" -", name, { + constant: binding.constant, + references: binding.references, + violations: binding.constantViolations.length, + kind: binding.kind + }); + } + } while (scope = scope.parent); + + console.log(sep); + } + }, { + key: "toArray", + value: function toArray(node, i) { + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + + if (binding && binding.constant && binding.path.isGenericType("Array")) { + return node; + } + } + + if (t.isArrayExpression(node)) { + return node; + } + + if (t.isIdentifier(node, { + name: "arguments" + })) { + return t.callExpression(t.memberExpression(t.memberExpression(t.memberExpression(t.identifier("Array"), t.identifier("prototype")), t.identifier("slice")), t.identifier("call")), [node]); + } + + var helperName; + var args = [node]; + + if (i === true) { + helperName = "toConsumableArray"; + } else if (i) { + args.push(t.numericLiteral(i)); + helperName = "slicedToArray"; + } else { + helperName = "toArray"; + } + + return t.callExpression(this.hub.addHelper(helperName), args); + } + }, { + key: "hasLabel", + value: function hasLabel(name) { + return !!this.getLabel(name); + } + }, { + key: "getLabel", + value: function getLabel(name) { + return this.labels.get(name); + } + }, { + key: "registerLabel", + value: function registerLabel(path) { + this.labels.set(path.node.label.name, path); + } + }, { + key: "registerDeclaration", + value: function registerDeclaration(path) { + if (path.isLabeledStatement()) { + this.registerLabel(path); + } else if (path.isFunctionDeclaration()) { + this.registerBinding("hoisted", path.get("id"), path); + } else if (path.isVariableDeclaration()) { + var declarations = path.get("declarations"); + var _iteratorNormalCompletion6 = true; + var _didIteratorError6 = false; + var _iteratorError6 = undefined; + + try { + for (var _iterator6 = declarations[Symbol.iterator](), _step6; !(_iteratorNormalCompletion6 = (_step6 = _iterator6.next()).done); _iteratorNormalCompletion6 = true) { + var declar = _step6.value; + this.registerBinding(path.node.kind, declar); + } + } catch (err) { + _didIteratorError6 = true; + _iteratorError6 = err; + } finally { + try { + if (!_iteratorNormalCompletion6 && _iterator6.return != null) { + _iterator6.return(); + } + } finally { + if (_didIteratorError6) { + throw _iteratorError6; + } + } + } + } else if (path.isClassDeclaration()) { + this.registerBinding("let", path); + } else if (path.isImportDeclaration()) { + var specifiers = path.get("specifiers"); + var _iteratorNormalCompletion7 = true; + var _didIteratorError7 = false; + var _iteratorError7 = undefined; + + try { + for (var _iterator7 = specifiers[Symbol.iterator](), _step7; !(_iteratorNormalCompletion7 = (_step7 = _iterator7.next()).done); _iteratorNormalCompletion7 = true) { + var specifier = _step7.value; + this.registerBinding("module", specifier); + } + } catch (err) { + _didIteratorError7 = true; + _iteratorError7 = err; + } finally { + try { + if (!_iteratorNormalCompletion7 && _iterator7.return != null) { + _iterator7.return(); + } + } finally { + if (_didIteratorError7) { + throw _iteratorError7; + } + } + } + } else if (path.isExportDeclaration()) { + var _declar = path.get("declaration"); + + if (_declar.isClassDeclaration() || _declar.isFunctionDeclaration() || _declar.isVariableDeclaration()) { + this.registerDeclaration(_declar); + } + } else { + this.registerBinding("unknown", path); + } + } + }, { + key: "buildUndefinedNode", + value: function buildUndefinedNode() { + return t.unaryExpression("void", t.numericLiteral(0), true); + } + }, { + key: "registerConstantViolation", + value: function registerConstantViolation(path) { + var ids = path.getBindingIdentifiers(); + + for (var _i3 = 0, _Object$keys3 = Object.keys(ids); _i3 < _Object$keys3.length; _i3++) { + var name = _Object$keys3[_i3]; + var binding = this.getBinding(name); + if (binding) binding.reassign(path); + } + } + }, { + key: "registerBinding", + value: function registerBinding(kind, path) { + var bindingPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : path; + if (!kind) throw new ReferenceError("no `kind`"); + + if (path.isVariableDeclaration()) { + var declarators = path.get("declarations"); + var _iteratorNormalCompletion8 = true; + var _didIteratorError8 = false; + var _iteratorError8 = undefined; + + try { + for (var _iterator8 = declarators[Symbol.iterator](), _step8; !(_iteratorNormalCompletion8 = (_step8 = _iterator8.next()).done); _iteratorNormalCompletion8 = true) { + var declar = _step8.value; + this.registerBinding(kind, declar); + } + } catch (err) { + _didIteratorError8 = true; + _iteratorError8 = err; + } finally { + try { + if (!_iteratorNormalCompletion8 && _iterator8.return != null) { + _iterator8.return(); + } + } finally { + if (_didIteratorError8) { + throw _iteratorError8; + } + } + } + + return; + } + + var parent = this.getProgramParent(); + var ids = path.getOuterBindingIdentifiers(true); + + for (var _i4 = 0, _Object$keys4 = Object.keys(ids); _i4 < _Object$keys4.length; _i4++) { + var name = _Object$keys4[_i4]; + var _iteratorNormalCompletion9 = true; + var _didIteratorError9 = false; + var _iteratorError9 = undefined; + + try { + for (var _iterator9 = ids[name][Symbol.iterator](), _step9; !(_iteratorNormalCompletion9 = (_step9 = _iterator9.next()).done); _iteratorNormalCompletion9 = true) { + var id = _step9.value; + var local = this.getOwnBinding(name); + + if (local) { + if (local.identifier === id) continue; + this.checkBlockScopedCollisions(local, kind, name, id); + } + + parent.references[name] = true; + + if (local) { + this.registerConstantViolation(bindingPath); + } else { + this.bindings[name] = new _binding.default({ + identifier: id, + scope: this, + path: bindingPath, + kind: kind + }); + } + } + } catch (err) { + _didIteratorError9 = true; + _iteratorError9 = err; + } finally { + try { + if (!_iteratorNormalCompletion9 && _iterator9.return != null) { + _iterator9.return(); + } + } finally { + if (_didIteratorError9) { + throw _iteratorError9; + } + } + } + } + } + }, { + key: "addGlobal", + value: function addGlobal(node) { + this.globals[node.name] = node; + } + }, { + key: "hasUid", + value: function hasUid(name) { + var scope = this; + + do { + if (scope.uids[name]) return true; + } while (scope = scope.parent); + + return false; + } + }, { + key: "hasGlobal", + value: function hasGlobal(name) { + var scope = this; + + do { + if (scope.globals[name]) return true; + } while (scope = scope.parent); + + return false; + } + }, { + key: "hasReference", + value: function hasReference(name) { + var scope = this; + + do { + if (scope.references[name]) return true; + } while (scope = scope.parent); + + return false; + } + }, { + key: "isPure", + value: function isPure(node, constantsOnly) { + if (t.isIdentifier(node)) { + var binding = this.getBinding(node.name); + if (!binding) return false; + if (constantsOnly) return binding.constant; + return true; + } else if (t.isClass(node)) { + if (node.superClass && !this.isPure(node.superClass, constantsOnly)) { + return false; + } + + return this.isPure(node.body, constantsOnly); + } else if (t.isClassBody(node)) { + var _iteratorNormalCompletion10 = true; + var _didIteratorError10 = false; + var _iteratorError10 = undefined; + + try { + for (var _iterator10 = node.body[Symbol.iterator](), _step10; !(_iteratorNormalCompletion10 = (_step10 = _iterator10.next()).done); _iteratorNormalCompletion10 = true) { + var method = _step10.value; + if (!this.isPure(method, constantsOnly)) return false; + } + } catch (err) { + _didIteratorError10 = true; + _iteratorError10 = err; + } finally { + try { + if (!_iteratorNormalCompletion10 && _iterator10.return != null) { + _iterator10.return(); + } + } finally { + if (_didIteratorError10) { + throw _iteratorError10; + } + } + } + + return true; + } else if (t.isBinary(node)) { + return this.isPure(node.left, constantsOnly) && this.isPure(node.right, constantsOnly); + } else if (t.isArrayExpression(node)) { + var _iteratorNormalCompletion11 = true; + var _didIteratorError11 = false; + var _iteratorError11 = undefined; + + try { + for (var _iterator11 = node.elements[Symbol.iterator](), _step11; !(_iteratorNormalCompletion11 = (_step11 = _iterator11.next()).done); _iteratorNormalCompletion11 = true) { + var elem = _step11.value; + if (!this.isPure(elem, constantsOnly)) return false; + } + } catch (err) { + _didIteratorError11 = true; + _iteratorError11 = err; + } finally { + try { + if (!_iteratorNormalCompletion11 && _iterator11.return != null) { + _iterator11.return(); + } + } finally { + if (_didIteratorError11) { + throw _iteratorError11; + } + } + } + + return true; + } else if (t.isObjectExpression(node)) { + var _iteratorNormalCompletion12 = true; + var _didIteratorError12 = false; + var _iteratorError12 = undefined; + + try { + for (var _iterator12 = node.properties[Symbol.iterator](), _step12; !(_iteratorNormalCompletion12 = (_step12 = _iterator12.next()).done); _iteratorNormalCompletion12 = true) { + var prop = _step12.value; + if (!this.isPure(prop, constantsOnly)) return false; + } + } catch (err) { + _didIteratorError12 = true; + _iteratorError12 = err; + } finally { + try { + if (!_iteratorNormalCompletion12 && _iterator12.return != null) { + _iterator12.return(); + } + } finally { + if (_didIteratorError12) { + throw _iteratorError12; + } + } + } + + return true; + } else if (t.isClassMethod(node)) { + if (node.computed && !this.isPure(node.key, constantsOnly)) return false; + if (node.kind === "get" || node.kind === "set") return false; + return true; + } else if (t.isProperty(node)) { + if (node.computed && !this.isPure(node.key, constantsOnly)) return false; + return this.isPure(node.value, constantsOnly); + } else if (t.isUnaryExpression(node)) { + return this.isPure(node.argument, constantsOnly); + } else if (t.isTaggedTemplateExpression(node)) { + return t.matchesPattern(node.tag, "String.raw") && !this.hasBinding("String", true) && this.isPure(node.quasi, constantsOnly); + } else if (t.isTemplateLiteral(node)) { + var _iteratorNormalCompletion13 = true; + var _didIteratorError13 = false; + var _iteratorError13 = undefined; + + try { + for (var _iterator13 = node.expressions[Symbol.iterator](), _step13; !(_iteratorNormalCompletion13 = (_step13 = _iterator13.next()).done); _iteratorNormalCompletion13 = true) { + var expression = _step13.value; + if (!this.isPure(expression, constantsOnly)) return false; + } + } catch (err) { + _didIteratorError13 = true; + _iteratorError13 = err; + } finally { + try { + if (!_iteratorNormalCompletion13 && _iterator13.return != null) { + _iterator13.return(); + } + } finally { + if (_didIteratorError13) { + throw _iteratorError13; + } + } + } + + return true; + } else { + return t.isPureish(node); + } + } + }, { + key: "setData", + value: function setData(key, val) { + return this.data[key] = val; + } + }, { + key: "getData", + value: function getData(key) { + var scope = this; + + do { + var data = scope.data[key]; + if (data != null) return data; + } while (scope = scope.parent); + } + }, { + key: "removeData", + value: function removeData(key) { + var scope = this; + + do { + var data = scope.data[key]; + if (data != null) scope.data[key] = null; + } while (scope = scope.parent); + } + }, { + key: "init", + value: function init() { + if (!this.references) this.crawl(); + } + }, { + key: "crawl", + value: function crawl() { + var path = this.path; + this.references = Object.create(null); + this.bindings = Object.create(null); + this.globals = Object.create(null); + this.uids = Object.create(null); + this.data = Object.create(null); + + if (path.isLoop()) { + var _iteratorNormalCompletion14 = true; + var _didIteratorError14 = false; + var _iteratorError14 = undefined; + + try { + for (var _iterator14 = t.FOR_INIT_KEYS[Symbol.iterator](), _step14; !(_iteratorNormalCompletion14 = (_step14 = _iterator14.next()).done); _iteratorNormalCompletion14 = true) { + var key = _step14.value; + var node = path.get(key); + if (node.isBlockScoped()) this.registerBinding(node.node.kind, node); + } + } catch (err) { + _didIteratorError14 = true; + _iteratorError14 = err; + } finally { + try { + if (!_iteratorNormalCompletion14 && _iterator14.return != null) { + _iterator14.return(); + } + } finally { + if (_didIteratorError14) { + throw _iteratorError14; + } + } + } + } + + if (path.isFunctionExpression() && path.has("id")) { + if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { + this.registerBinding("local", path.get("id"), path); + } + } + + if (path.isClassExpression() && path.has("id")) { + if (!path.get("id").node[t.NOT_LOCAL_BINDING]) { + this.registerBinding("local", path); + } + } + + if (path.isFunction()) { + var params = path.get("params"); + var _iteratorNormalCompletion15 = true; + var _didIteratorError15 = false; + var _iteratorError15 = undefined; + + try { + for (var _iterator15 = params[Symbol.iterator](), _step15; !(_iteratorNormalCompletion15 = (_step15 = _iterator15.next()).done); _iteratorNormalCompletion15 = true) { + var param = _step15.value; + this.registerBinding("param", param); + } + } catch (err) { + _didIteratorError15 = true; + _iteratorError15 = err; + } finally { + try { + if (!_iteratorNormalCompletion15 && _iterator15.return != null) { + _iterator15.return(); + } + } finally { + if (_didIteratorError15) { + throw _iteratorError15; + } + } + } + } + + if (path.isCatchClause()) { + this.registerBinding("let", path); + } + + var parent = this.getProgramParent(); + if (parent.crawling) return; + var state = { + references: [], + constantViolations: [], + assignments: [] + }; + this.crawling = true; + path.traverse(collectorVisitor, state); + this.crawling = false; + var _iteratorNormalCompletion16 = true; + var _didIteratorError16 = false; + var _iteratorError16 = undefined; + + try { + for (var _iterator16 = state.assignments[Symbol.iterator](), _step16; !(_iteratorNormalCompletion16 = (_step16 = _iterator16.next()).done); _iteratorNormalCompletion16 = true) { + var _path = _step16.value; + + var ids = _path.getBindingIdentifiers(); + + var programParent = void 0; + + for (var _i5 = 0, _Object$keys5 = Object.keys(ids); _i5 < _Object$keys5.length; _i5++) { + var name = _Object$keys5[_i5]; + if (_path.scope.getBinding(name)) continue; + programParent = programParent || _path.scope.getProgramParent(); + programParent.addGlobal(ids[name]); + } + + _path.scope.registerConstantViolation(_path); + } + } catch (err) { + _didIteratorError16 = true; + _iteratorError16 = err; + } finally { + try { + if (!_iteratorNormalCompletion16 && _iterator16.return != null) { + _iterator16.return(); + } + } finally { + if (_didIteratorError16) { + throw _iteratorError16; + } + } + } + + var _iteratorNormalCompletion17 = true; + var _didIteratorError17 = false; + var _iteratorError17 = undefined; + + try { + for (var _iterator17 = state.references[Symbol.iterator](), _step17; !(_iteratorNormalCompletion17 = (_step17 = _iterator17.next()).done); _iteratorNormalCompletion17 = true) { + var ref = _step17.value; + var binding = ref.scope.getBinding(ref.node.name); + + if (binding) { + binding.reference(ref); + } else { + ref.scope.getProgramParent().addGlobal(ref.node); + } + } + } catch (err) { + _didIteratorError17 = true; + _iteratorError17 = err; + } finally { + try { + if (!_iteratorNormalCompletion17 && _iterator17.return != null) { + _iterator17.return(); + } + } finally { + if (_didIteratorError17) { + throw _iteratorError17; + } + } + } + + var _iteratorNormalCompletion18 = true; + var _didIteratorError18 = false; + var _iteratorError18 = undefined; + + try { + for (var _iterator18 = state.constantViolations[Symbol.iterator](), _step18; !(_iteratorNormalCompletion18 = (_step18 = _iterator18.next()).done); _iteratorNormalCompletion18 = true) { + var _path2 = _step18.value; + + _path2.scope.registerConstantViolation(_path2); + } + } catch (err) { + _didIteratorError18 = true; + _iteratorError18 = err; + } finally { + try { + if (!_iteratorNormalCompletion18 && _iterator18.return != null) { + _iterator18.return(); + } + } finally { + if (_didIteratorError18) { + throw _iteratorError18; + } + } + } + } + }, { + key: "push", + value: function push(opts) { + var path = this.path; + + if (!path.isBlockStatement() && !path.isProgram()) { + path = this.getBlockParent().path; + } + + if (path.isSwitchStatement()) { + path = (this.getFunctionParent() || this.getProgramParent()).path; + } + + if (path.isLoop() || path.isCatchClause() || path.isFunction()) { + path.ensureBlock(); + path = path.get("body"); + } + + var unique = opts.unique; + var kind = opts.kind || "var"; + var blockHoist = opts._blockHoist == null ? 2 : opts._blockHoist; + var dataKey = "declaration:".concat(kind, ":").concat(blockHoist); + var declarPath = !unique && path.getData(dataKey); + + if (!declarPath) { + var declar = t.variableDeclaration(kind, []); + declar._blockHoist = blockHoist; + + var _path$unshiftContaine = path.unshiftContainer("body", [declar]); + + var _path$unshiftContaine2 = _slicedToArray(_path$unshiftContaine, 1); + + declarPath = _path$unshiftContaine2[0]; + if (!unique) path.setData(dataKey, declarPath); + } + + var declarator = t.variableDeclarator(opts.id, opts.init); + declarPath.node.declarations.push(declarator); + this.registerBinding(kind, declarPath.get("declarations").pop()); + } + }, { + key: "getProgramParent", + value: function getProgramParent() { + var scope = this; + + do { + if (scope.path.isProgram()) { + return scope; + } + } while (scope = scope.parent); + + throw new Error("Couldn't find a Program"); + } + }, { + key: "getFunctionParent", + value: function getFunctionParent() { + var scope = this; + + do { + if (scope.path.isFunctionParent()) { + return scope; + } + } while (scope = scope.parent); + + return null; + } + }, { + key: "getBlockParent", + value: function getBlockParent() { + var scope = this; + + do { + if (scope.path.isBlockParent()) { + return scope; + } + } while (scope = scope.parent); + + throw new Error("We couldn't find a BlockStatement, For, Switch, Function, Loop or Program..."); + } + }, { + key: "getAllBindings", + value: function getAllBindings() { + var ids = Object.create(null); + var scope = this; + + do { + (0, _defaults.default)(ids, scope.bindings); + scope = scope.parent; + } while (scope); + + return ids; + } + }, { + key: "getAllBindingsOfKind", + value: function getAllBindingsOfKind() { + var ids = Object.create(null); + var _iteratorNormalCompletion19 = true; + var _didIteratorError19 = false; + var _iteratorError19 = undefined; + + try { + for (var _iterator19 = arguments[Symbol.iterator](), _step19; !(_iteratorNormalCompletion19 = (_step19 = _iterator19.next()).done); _iteratorNormalCompletion19 = true) { + var kind = _step19.value; + var scope = this; + + do { + for (var _i6 = 0, _Object$keys6 = Object.keys(scope.bindings); _i6 < _Object$keys6.length; _i6++) { + var name = _Object$keys6[_i6]; + var binding = scope.bindings[name]; + if (binding.kind === kind) ids[name] = binding; + } + + scope = scope.parent; + } while (scope); + } + } catch (err) { + _didIteratorError19 = true; + _iteratorError19 = err; + } finally { + try { + if (!_iteratorNormalCompletion19 && _iterator19.return != null) { + _iterator19.return(); + } + } finally { + if (_didIteratorError19) { + throw _iteratorError19; + } + } + } + + return ids; + } + }, { + key: "bindingIdentifierEquals", + value: function bindingIdentifierEquals(name, node) { + return this.getBindingIdentifier(name) === node; + } + }, { + key: "getBinding", + value: function getBinding(name) { + var scope = this; + + do { + var binding = scope.getOwnBinding(name); + if (binding) return binding; + } while (scope = scope.parent); + } + }, { + key: "getOwnBinding", + value: function getOwnBinding(name) { + return this.bindings[name]; + } + }, { + key: "getBindingIdentifier", + value: function getBindingIdentifier(name) { + var info = this.getBinding(name); + return info && info.identifier; + } + }, { + key: "getOwnBindingIdentifier", + value: function getOwnBindingIdentifier(name) { + var binding = this.bindings[name]; + return binding && binding.identifier; + } + }, { + key: "hasOwnBinding", + value: function hasOwnBinding(name) { + return !!this.getOwnBinding(name); + } + }, { + key: "hasBinding", + value: function hasBinding(name, noGlobals) { + if (!name) return false; + if (this.hasOwnBinding(name)) return true; + if (this.parentHasBinding(name, noGlobals)) return true; + if (this.hasUid(name)) return true; + if (!noGlobals && (0, _includes.default)(Scope.globals, name)) return true; + if (!noGlobals && (0, _includes.default)(Scope.contextVariables, name)) return true; + return false; + } + }, { + key: "parentHasBinding", + value: function parentHasBinding(name, noGlobals) { + return this.parent && this.parent.hasBinding(name, noGlobals); + } + }, { + key: "moveBindingTo", + value: function moveBindingTo(name, scope) { + var info = this.getBinding(name); + + if (info) { + info.scope.removeOwnBinding(name); + info.scope = scope; + scope.bindings[name] = info; + } + } + }, { + key: "removeOwnBinding", + value: function removeOwnBinding(name) { + delete this.bindings[name]; + } + }, { + key: "removeBinding", + value: function removeBinding(name) { + var info = this.getBinding(name); + + if (info) { + info.scope.removeOwnBinding(name); + } + + var scope = this; + + do { + if (scope.uids[name]) { + scope.uids[name] = false; + } + } while (scope = scope.parent); + } + }, { + key: "parent", + get: function get() { + var parent = this.path.findParent(function (p) { + return p.isScope(); + }); + return parent && parent.scope; + } + }, { + key: "parentBlock", + get: function get() { + return this.path.parent; + } + }, { + key: "hub", + get: function get() { + return this.path.hub; + } + }]); + + return Scope; +}(); + +exports.default = Scope; +Scope.globals = Object.keys(_globals.default.builtin); +Scope.contextVariables = ["arguments", "undefined", "Infinity", "NaN"]; + +},{"../cache":173,"../index":176,"./binding":194,"./lib/renamer":196,"@babel/types":242,"globals":838,"lodash/defaults":1007,"lodash/includes":1015,"lodash/repeat":1039}],196:[function(require,module,exports){ +"use strict"; + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _binding = _interopRequireDefault(require("../binding")); + +var _helperSplitExportDeclaration = _interopRequireDefault(require("@babel/helper-split-export-declaration")); + +var t = _interopRequireWildcard(require("@babel/types")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var renameVisitor = { + ReferencedIdentifier: function ReferencedIdentifier(_ref, state) { + var node = _ref.node; + + if (node.name === state.oldName) { + node.name = state.newName; + } + }, + Scope: function Scope(path, state) { + if (!path.scope.bindingIdentifierEquals(state.oldName, state.binding.identifier)) { + path.skip(); + } + }, + "AssignmentExpression|Declaration": function AssignmentExpressionDeclaration(path, state) { + var ids = path.getOuterBindingIdentifiers(); + + for (var name in ids) { + if (name === state.oldName) ids[name].name = state.newName; + } + } +}; + +var Renamer = +/*#__PURE__*/ +function () { + function Renamer(binding, oldName, newName) { + _classCallCheck(this, Renamer); + + this.newName = newName; + this.oldName = oldName; + this.binding = binding; + } + + _createClass(Renamer, [{ + key: "maybeConvertFromExportDeclaration", + value: function maybeConvertFromExportDeclaration(parentDeclar) { + var maybeExportDeclar = parentDeclar.parentPath; + + if (!maybeExportDeclar.isExportDeclaration()) { + return; + } + + if (maybeExportDeclar.isExportDefaultDeclaration() && !maybeExportDeclar.get("declaration").node.id) { + return; + } + + (0, _helperSplitExportDeclaration.default)(maybeExportDeclar); + } + }, { + key: "maybeConvertFromClassFunctionDeclaration", + value: function maybeConvertFromClassFunctionDeclaration(path) { + return; + if (!path.isFunctionDeclaration() && !path.isClassDeclaration()) return; + if (this.binding.kind !== "hoisted") return; + path.node.id = t.identifier(this.oldName); + path.node._blockHoist = 3; + path.replaceWith(t.variableDeclaration("let", [t.variableDeclarator(t.identifier(this.newName), t.toExpression(path.node))])); + } + }, { + key: "maybeConvertFromClassFunctionExpression", + value: function maybeConvertFromClassFunctionExpression(path) { + return; + if (!path.isFunctionExpression() && !path.isClassExpression()) return; + if (this.binding.kind !== "local") return; + path.node.id = t.identifier(this.oldName); + this.binding.scope.parent.push({ + id: t.identifier(this.newName) + }); + path.replaceWith(t.assignmentExpression("=", t.identifier(this.newName), path.node)); + } + }, { + key: "rename", + value: function rename(block) { + var binding = this.binding, + oldName = this.oldName, + newName = this.newName; + var scope = binding.scope, + path = binding.path; + var parentDeclar = path.find(function (path) { + return path.isDeclaration() || path.isFunctionExpression() || path.isClassExpression(); + }); + + if (parentDeclar) { + var bindingIds = parentDeclar.getOuterBindingIdentifiers(); + + if (bindingIds[oldName] === binding.identifier) { + this.maybeConvertFromExportDeclaration(parentDeclar); + } + } + + scope.traverse(block || scope.block, renameVisitor, this); + + if (!block) { + scope.removeOwnBinding(oldName); + scope.bindings[newName] = binding; + this.binding.identifier.name = newName; + } + + if (binding.type === "hoisted") {} + + if (parentDeclar) { + this.maybeConvertFromClassFunctionDeclaration(parentDeclar); + this.maybeConvertFromClassFunctionExpression(parentDeclar); + } + } + }]); + + return Renamer; +}(); + +exports.default = Renamer; + +},{"../binding":194,"@babel/helper-split-export-declaration":84,"@babel/types":242}],197:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.explode = explode; +exports.verify = verify; +exports.merge = merge; + +var virtualTypes = _interopRequireWildcard(require("./path/lib/virtual-types")); + +var t = _interopRequireWildcard(require("@babel/types")); + +var _clone = _interopRequireDefault(require("lodash/clone")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function explode(visitor) { + if (visitor._exploded) return visitor; + visitor._exploded = true; + + for (var _i = 0, _Object$keys = Object.keys(visitor); _i < _Object$keys.length; _i++) { + var nodeType = _Object$keys[_i]; + if (shouldIgnoreKey(nodeType)) continue; + var parts = nodeType.split("|"); + if (parts.length === 1) continue; + var fns = visitor[nodeType]; + delete visitor[nodeType]; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = parts[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var part = _step.value; + visitor[part] = fns; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + verify(visitor); + delete visitor.__esModule; + ensureEntranceObjects(visitor); + ensureCallbackArrays(visitor); + + for (var _i2 = 0, _Object$keys2 = Object.keys(visitor); _i2 < _Object$keys2.length; _i2++) { + var _nodeType = _Object$keys2[_i2]; + if (shouldIgnoreKey(_nodeType)) continue; + var wrapper = virtualTypes[_nodeType]; + if (!wrapper) continue; + var _fns = visitor[_nodeType]; + + for (var _i5 = 0, _Object$keys5 = Object.keys(_fns); _i5 < _Object$keys5.length; _i5++) { + var _type = _Object$keys5[_i5]; + _fns[_type] = wrapCheck(wrapper, _fns[_type]); + } + + delete visitor[_nodeType]; + + if (wrapper.types) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = wrapper.types[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var type = _step2.value; + + if (visitor[type]) { + mergePair(visitor[type], _fns); + } else { + visitor[type] = _fns; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } else { + mergePair(visitor, _fns); + } + } + + for (var _i3 = 0, _Object$keys3 = Object.keys(visitor); _i3 < _Object$keys3.length; _i3++) { + var _nodeType2 = _Object$keys3[_i3]; + if (shouldIgnoreKey(_nodeType2)) continue; + var _fns2 = visitor[_nodeType2]; + var aliases = t.FLIPPED_ALIAS_KEYS[_nodeType2]; + var deprecratedKey = t.DEPRECATED_KEYS[_nodeType2]; + + if (deprecratedKey) { + console.trace("Visitor defined for ".concat(_nodeType2, " but it has been renamed to ").concat(deprecratedKey)); + aliases = [deprecratedKey]; + } + + if (!aliases) continue; + delete visitor[_nodeType2]; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = aliases[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var alias = _step3.value; + var existing = visitor[alias]; + + if (existing) { + mergePair(existing, _fns2); + } else { + visitor[alias] = (0, _clone.default)(_fns2); + } + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + } + + for (var _i4 = 0, _Object$keys4 = Object.keys(visitor); _i4 < _Object$keys4.length; _i4++) { + var _nodeType3 = _Object$keys4[_i4]; + if (shouldIgnoreKey(_nodeType3)) continue; + ensureCallbackArrays(visitor[_nodeType3]); + } + + return visitor; +} + +function verify(visitor) { + if (visitor._verified) return; + + if (typeof visitor === "function") { + throw new Error("You passed `traverse()` a function when it expected a visitor object, " + "are you sure you didn't mean `{ enter: Function }`?"); + } + + for (var _i6 = 0, _Object$keys6 = Object.keys(visitor); _i6 < _Object$keys6.length; _i6++) { + var nodeType = _Object$keys6[_i6]; + + if (nodeType === "enter" || nodeType === "exit") { + validateVisitorMethods(nodeType, visitor[nodeType]); + } + + if (shouldIgnoreKey(nodeType)) continue; + + if (t.TYPES.indexOf(nodeType) < 0) { + throw new Error("You gave us a visitor for the node type ".concat(nodeType, " but it's not a valid type")); + } + + var visitors = visitor[nodeType]; + + if (_typeof(visitors) === "object") { + for (var _i7 = 0, _Object$keys7 = Object.keys(visitors); _i7 < _Object$keys7.length; _i7++) { + var visitorKey = _Object$keys7[_i7]; + + if (visitorKey === "enter" || visitorKey === "exit") { + validateVisitorMethods("".concat(nodeType, ".").concat(visitorKey), visitors[visitorKey]); + } else { + throw new Error("You passed `traverse()` a visitor object with the property " + "".concat(nodeType, " that has the invalid property ").concat(visitorKey)); + } + } + } + } + + visitor._verified = true; +} + +function validateVisitorMethods(path, val) { + var fns = [].concat(val); + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = fns[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var fn = _step4.value; + + if (typeof fn !== "function") { + throw new TypeError("Non-function found defined in ".concat(path, " with type ").concat(_typeof(fn))); + } + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } +} + +function merge(visitors) { + var states = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; + var wrapper = arguments.length > 2 ? arguments[2] : undefined; + var rootVisitor = {}; + + for (var i = 0; i < visitors.length; i++) { + var visitor = visitors[i]; + var state = states[i]; + explode(visitor); + + for (var _i8 = 0, _Object$keys8 = Object.keys(visitor); _i8 < _Object$keys8.length; _i8++) { + var type = _Object$keys8[_i8]; + var visitorType = visitor[type]; + + if (state || wrapper) { + visitorType = wrapWithStateOrWrapper(visitorType, state, wrapper); + } + + var nodeVisitor = rootVisitor[type] = rootVisitor[type] || {}; + mergePair(nodeVisitor, visitorType); + } + } + + return rootVisitor; +} + +function wrapWithStateOrWrapper(oldVisitor, state, wrapper) { + var newVisitor = {}; + + var _loop = function _loop() { + var key = _Object$keys9[_i9]; + var fns = oldVisitor[key]; + if (!Array.isArray(fns)) return "continue"; + fns = fns.map(function (fn) { + var newFn = fn; + + if (state) { + newFn = function newFn(path) { + return fn.call(state, path, state); + }; + } + + if (wrapper) { + newFn = wrapper(state.key, key, newFn); + } + + return newFn; + }); + newVisitor[key] = fns; + }; + + for (var _i9 = 0, _Object$keys9 = Object.keys(oldVisitor); _i9 < _Object$keys9.length; _i9++) { + var _ret = _loop(); + + if (_ret === "continue") continue; + } + + return newVisitor; +} + +function ensureEntranceObjects(obj) { + for (var _i10 = 0, _Object$keys10 = Object.keys(obj); _i10 < _Object$keys10.length; _i10++) { + var key = _Object$keys10[_i10]; + if (shouldIgnoreKey(key)) continue; + var fns = obj[key]; + + if (typeof fns === "function") { + obj[key] = { + enter: fns + }; + } + } +} + +function ensureCallbackArrays(obj) { + if (obj.enter && !Array.isArray(obj.enter)) obj.enter = [obj.enter]; + if (obj.exit && !Array.isArray(obj.exit)) obj.exit = [obj.exit]; +} + +function wrapCheck(wrapper, fn) { + var newFn = function newFn(path) { + if (wrapper.checkPath(path)) { + return fn.apply(this, arguments); + } + }; + + newFn.toString = function () { + return fn.toString(); + }; + + return newFn; +} + +function shouldIgnoreKey(key) { + if (key[0] === "_") return true; + if (key === "enter" || key === "exit" || key === "shouldSkip") return true; + + if (key === "blacklist" || key === "noScope" || key === "skipKeys") { + return true; + } + + return false; +} + +function mergePair(dest, src) { + for (var _i11 = 0, _Object$keys11 = Object.keys(src); _i11 < _Object$keys11.length; _i11++) { + var key = _Object$keys11[_i11]; + dest[key] = [].concat(dest[key] || [], src[key]); + } +} + +},{"./path/lib/virtual-types":190,"@babel/types":242,"lodash/clone":1004}],198:[function(require,module,exports){ +arguments[4][34][0].apply(exports,arguments) +},{"./common":199,"_process":1054,"dup":34}],199:[function(require,module,exports){ +arguments[4][35][0].apply(exports,arguments) +},{"dup":35,"ms":200}],200:[function(require,module,exports){ +arguments[4][36][0].apply(exports,arguments) +},{"dup":36}],201:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = assertNode; + +var _isNode = _interopRequireDefault(require("../validators/isNode")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function assertNode(node) { + if (!(0, _isNode.default)(node)) { + var type = node && node.type || JSON.stringify(node); + throw new TypeError("Not a valid node of type \"".concat(type, "\"")); + } +} + +},{"../validators/isNode":263}],202:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.assertArrayExpression = assertArrayExpression; +exports.assertAssignmentExpression = assertAssignmentExpression; +exports.assertBinaryExpression = assertBinaryExpression; +exports.assertInterpreterDirective = assertInterpreterDirective; +exports.assertDirective = assertDirective; +exports.assertDirectiveLiteral = assertDirectiveLiteral; +exports.assertBlockStatement = assertBlockStatement; +exports.assertBreakStatement = assertBreakStatement; +exports.assertCallExpression = assertCallExpression; +exports.assertCatchClause = assertCatchClause; +exports.assertConditionalExpression = assertConditionalExpression; +exports.assertContinueStatement = assertContinueStatement; +exports.assertDebuggerStatement = assertDebuggerStatement; +exports.assertDoWhileStatement = assertDoWhileStatement; +exports.assertEmptyStatement = assertEmptyStatement; +exports.assertExpressionStatement = assertExpressionStatement; +exports.assertFile = assertFile; +exports.assertForInStatement = assertForInStatement; +exports.assertForStatement = assertForStatement; +exports.assertFunctionDeclaration = assertFunctionDeclaration; +exports.assertFunctionExpression = assertFunctionExpression; +exports.assertIdentifier = assertIdentifier; +exports.assertIfStatement = assertIfStatement; +exports.assertLabeledStatement = assertLabeledStatement; +exports.assertStringLiteral = assertStringLiteral; +exports.assertNumericLiteral = assertNumericLiteral; +exports.assertNullLiteral = assertNullLiteral; +exports.assertBooleanLiteral = assertBooleanLiteral; +exports.assertRegExpLiteral = assertRegExpLiteral; +exports.assertLogicalExpression = assertLogicalExpression; +exports.assertMemberExpression = assertMemberExpression; +exports.assertNewExpression = assertNewExpression; +exports.assertProgram = assertProgram; +exports.assertObjectExpression = assertObjectExpression; +exports.assertObjectMethod = assertObjectMethod; +exports.assertObjectProperty = assertObjectProperty; +exports.assertRestElement = assertRestElement; +exports.assertReturnStatement = assertReturnStatement; +exports.assertSequenceExpression = assertSequenceExpression; +exports.assertParenthesizedExpression = assertParenthesizedExpression; +exports.assertSwitchCase = assertSwitchCase; +exports.assertSwitchStatement = assertSwitchStatement; +exports.assertThisExpression = assertThisExpression; +exports.assertThrowStatement = assertThrowStatement; +exports.assertTryStatement = assertTryStatement; +exports.assertUnaryExpression = assertUnaryExpression; +exports.assertUpdateExpression = assertUpdateExpression; +exports.assertVariableDeclaration = assertVariableDeclaration; +exports.assertVariableDeclarator = assertVariableDeclarator; +exports.assertWhileStatement = assertWhileStatement; +exports.assertWithStatement = assertWithStatement; +exports.assertAssignmentPattern = assertAssignmentPattern; +exports.assertArrayPattern = assertArrayPattern; +exports.assertArrowFunctionExpression = assertArrowFunctionExpression; +exports.assertClassBody = assertClassBody; +exports.assertClassDeclaration = assertClassDeclaration; +exports.assertClassExpression = assertClassExpression; +exports.assertExportAllDeclaration = assertExportAllDeclaration; +exports.assertExportDefaultDeclaration = assertExportDefaultDeclaration; +exports.assertExportNamedDeclaration = assertExportNamedDeclaration; +exports.assertExportSpecifier = assertExportSpecifier; +exports.assertForOfStatement = assertForOfStatement; +exports.assertImportDeclaration = assertImportDeclaration; +exports.assertImportDefaultSpecifier = assertImportDefaultSpecifier; +exports.assertImportNamespaceSpecifier = assertImportNamespaceSpecifier; +exports.assertImportSpecifier = assertImportSpecifier; +exports.assertMetaProperty = assertMetaProperty; +exports.assertClassMethod = assertClassMethod; +exports.assertObjectPattern = assertObjectPattern; +exports.assertSpreadElement = assertSpreadElement; +exports.assertSuper = assertSuper; +exports.assertTaggedTemplateExpression = assertTaggedTemplateExpression; +exports.assertTemplateElement = assertTemplateElement; +exports.assertTemplateLiteral = assertTemplateLiteral; +exports.assertYieldExpression = assertYieldExpression; +exports.assertAnyTypeAnnotation = assertAnyTypeAnnotation; +exports.assertArrayTypeAnnotation = assertArrayTypeAnnotation; +exports.assertBooleanTypeAnnotation = assertBooleanTypeAnnotation; +exports.assertBooleanLiteralTypeAnnotation = assertBooleanLiteralTypeAnnotation; +exports.assertNullLiteralTypeAnnotation = assertNullLiteralTypeAnnotation; +exports.assertClassImplements = assertClassImplements; +exports.assertDeclareClass = assertDeclareClass; +exports.assertDeclareFunction = assertDeclareFunction; +exports.assertDeclareInterface = assertDeclareInterface; +exports.assertDeclareModule = assertDeclareModule; +exports.assertDeclareModuleExports = assertDeclareModuleExports; +exports.assertDeclareTypeAlias = assertDeclareTypeAlias; +exports.assertDeclareOpaqueType = assertDeclareOpaqueType; +exports.assertDeclareVariable = assertDeclareVariable; +exports.assertDeclareExportDeclaration = assertDeclareExportDeclaration; +exports.assertDeclareExportAllDeclaration = assertDeclareExportAllDeclaration; +exports.assertDeclaredPredicate = assertDeclaredPredicate; +exports.assertExistsTypeAnnotation = assertExistsTypeAnnotation; +exports.assertFunctionTypeAnnotation = assertFunctionTypeAnnotation; +exports.assertFunctionTypeParam = assertFunctionTypeParam; +exports.assertGenericTypeAnnotation = assertGenericTypeAnnotation; +exports.assertInferredPredicate = assertInferredPredicate; +exports.assertInterfaceExtends = assertInterfaceExtends; +exports.assertInterfaceDeclaration = assertInterfaceDeclaration; +exports.assertInterfaceTypeAnnotation = assertInterfaceTypeAnnotation; +exports.assertIntersectionTypeAnnotation = assertIntersectionTypeAnnotation; +exports.assertMixedTypeAnnotation = assertMixedTypeAnnotation; +exports.assertEmptyTypeAnnotation = assertEmptyTypeAnnotation; +exports.assertNullableTypeAnnotation = assertNullableTypeAnnotation; +exports.assertNumberLiteralTypeAnnotation = assertNumberLiteralTypeAnnotation; +exports.assertNumberTypeAnnotation = assertNumberTypeAnnotation; +exports.assertObjectTypeAnnotation = assertObjectTypeAnnotation; +exports.assertObjectTypeInternalSlot = assertObjectTypeInternalSlot; +exports.assertObjectTypeCallProperty = assertObjectTypeCallProperty; +exports.assertObjectTypeIndexer = assertObjectTypeIndexer; +exports.assertObjectTypeProperty = assertObjectTypeProperty; +exports.assertObjectTypeSpreadProperty = assertObjectTypeSpreadProperty; +exports.assertOpaqueType = assertOpaqueType; +exports.assertQualifiedTypeIdentifier = assertQualifiedTypeIdentifier; +exports.assertStringLiteralTypeAnnotation = assertStringLiteralTypeAnnotation; +exports.assertStringTypeAnnotation = assertStringTypeAnnotation; +exports.assertThisTypeAnnotation = assertThisTypeAnnotation; +exports.assertTupleTypeAnnotation = assertTupleTypeAnnotation; +exports.assertTypeofTypeAnnotation = assertTypeofTypeAnnotation; +exports.assertTypeAlias = assertTypeAlias; +exports.assertTypeAnnotation = assertTypeAnnotation; +exports.assertTypeCastExpression = assertTypeCastExpression; +exports.assertTypeParameter = assertTypeParameter; +exports.assertTypeParameterDeclaration = assertTypeParameterDeclaration; +exports.assertTypeParameterInstantiation = assertTypeParameterInstantiation; +exports.assertUnionTypeAnnotation = assertUnionTypeAnnotation; +exports.assertVariance = assertVariance; +exports.assertVoidTypeAnnotation = assertVoidTypeAnnotation; +exports.assertEnumDeclaration = assertEnumDeclaration; +exports.assertEnumBooleanBody = assertEnumBooleanBody; +exports.assertEnumNumberBody = assertEnumNumberBody; +exports.assertEnumStringBody = assertEnumStringBody; +exports.assertEnumSymbolBody = assertEnumSymbolBody; +exports.assertEnumBooleanMember = assertEnumBooleanMember; +exports.assertEnumNumberMember = assertEnumNumberMember; +exports.assertEnumStringMember = assertEnumStringMember; +exports.assertEnumDefaultedMember = assertEnumDefaultedMember; +exports.assertJSXAttribute = assertJSXAttribute; +exports.assertJSXClosingElement = assertJSXClosingElement; +exports.assertJSXElement = assertJSXElement; +exports.assertJSXEmptyExpression = assertJSXEmptyExpression; +exports.assertJSXExpressionContainer = assertJSXExpressionContainer; +exports.assertJSXSpreadChild = assertJSXSpreadChild; +exports.assertJSXIdentifier = assertJSXIdentifier; +exports.assertJSXMemberExpression = assertJSXMemberExpression; +exports.assertJSXNamespacedName = assertJSXNamespacedName; +exports.assertJSXOpeningElement = assertJSXOpeningElement; +exports.assertJSXSpreadAttribute = assertJSXSpreadAttribute; +exports.assertJSXText = assertJSXText; +exports.assertJSXFragment = assertJSXFragment; +exports.assertJSXOpeningFragment = assertJSXOpeningFragment; +exports.assertJSXClosingFragment = assertJSXClosingFragment; +exports.assertNoop = assertNoop; +exports.assertPlaceholder = assertPlaceholder; +exports.assertV8IntrinsicIdentifier = assertV8IntrinsicIdentifier; +exports.assertArgumentPlaceholder = assertArgumentPlaceholder; +exports.assertAwaitExpression = assertAwaitExpression; +exports.assertBindExpression = assertBindExpression; +exports.assertClassProperty = assertClassProperty; +exports.assertOptionalMemberExpression = assertOptionalMemberExpression; +exports.assertPipelineTopicExpression = assertPipelineTopicExpression; +exports.assertPipelineBareFunction = assertPipelineBareFunction; +exports.assertPipelinePrimaryTopicReference = assertPipelinePrimaryTopicReference; +exports.assertOptionalCallExpression = assertOptionalCallExpression; +exports.assertClassPrivateProperty = assertClassPrivateProperty; +exports.assertClassPrivateMethod = assertClassPrivateMethod; +exports.assertImport = assertImport; +exports.assertDecorator = assertDecorator; +exports.assertDoExpression = assertDoExpression; +exports.assertExportDefaultSpecifier = assertExportDefaultSpecifier; +exports.assertExportNamespaceSpecifier = assertExportNamespaceSpecifier; +exports.assertPrivateName = assertPrivateName; +exports.assertBigIntLiteral = assertBigIntLiteral; +exports.assertTSParameterProperty = assertTSParameterProperty; +exports.assertTSDeclareFunction = assertTSDeclareFunction; +exports.assertTSDeclareMethod = assertTSDeclareMethod; +exports.assertTSQualifiedName = assertTSQualifiedName; +exports.assertTSCallSignatureDeclaration = assertTSCallSignatureDeclaration; +exports.assertTSConstructSignatureDeclaration = assertTSConstructSignatureDeclaration; +exports.assertTSPropertySignature = assertTSPropertySignature; +exports.assertTSMethodSignature = assertTSMethodSignature; +exports.assertTSIndexSignature = assertTSIndexSignature; +exports.assertTSAnyKeyword = assertTSAnyKeyword; +exports.assertTSBooleanKeyword = assertTSBooleanKeyword; +exports.assertTSBigIntKeyword = assertTSBigIntKeyword; +exports.assertTSNeverKeyword = assertTSNeverKeyword; +exports.assertTSNullKeyword = assertTSNullKeyword; +exports.assertTSNumberKeyword = assertTSNumberKeyword; +exports.assertTSObjectKeyword = assertTSObjectKeyword; +exports.assertTSStringKeyword = assertTSStringKeyword; +exports.assertTSSymbolKeyword = assertTSSymbolKeyword; +exports.assertTSUndefinedKeyword = assertTSUndefinedKeyword; +exports.assertTSUnknownKeyword = assertTSUnknownKeyword; +exports.assertTSVoidKeyword = assertTSVoidKeyword; +exports.assertTSThisType = assertTSThisType; +exports.assertTSFunctionType = assertTSFunctionType; +exports.assertTSConstructorType = assertTSConstructorType; +exports.assertTSTypeReference = assertTSTypeReference; +exports.assertTSTypePredicate = assertTSTypePredicate; +exports.assertTSTypeQuery = assertTSTypeQuery; +exports.assertTSTypeLiteral = assertTSTypeLiteral; +exports.assertTSArrayType = assertTSArrayType; +exports.assertTSTupleType = assertTSTupleType; +exports.assertTSOptionalType = assertTSOptionalType; +exports.assertTSRestType = assertTSRestType; +exports.assertTSUnionType = assertTSUnionType; +exports.assertTSIntersectionType = assertTSIntersectionType; +exports.assertTSConditionalType = assertTSConditionalType; +exports.assertTSInferType = assertTSInferType; +exports.assertTSParenthesizedType = assertTSParenthesizedType; +exports.assertTSTypeOperator = assertTSTypeOperator; +exports.assertTSIndexedAccessType = assertTSIndexedAccessType; +exports.assertTSMappedType = assertTSMappedType; +exports.assertTSLiteralType = assertTSLiteralType; +exports.assertTSExpressionWithTypeArguments = assertTSExpressionWithTypeArguments; +exports.assertTSInterfaceDeclaration = assertTSInterfaceDeclaration; +exports.assertTSInterfaceBody = assertTSInterfaceBody; +exports.assertTSTypeAliasDeclaration = assertTSTypeAliasDeclaration; +exports.assertTSAsExpression = assertTSAsExpression; +exports.assertTSTypeAssertion = assertTSTypeAssertion; +exports.assertTSEnumDeclaration = assertTSEnumDeclaration; +exports.assertTSEnumMember = assertTSEnumMember; +exports.assertTSModuleDeclaration = assertTSModuleDeclaration; +exports.assertTSModuleBlock = assertTSModuleBlock; +exports.assertTSImportType = assertTSImportType; +exports.assertTSImportEqualsDeclaration = assertTSImportEqualsDeclaration; +exports.assertTSExternalModuleReference = assertTSExternalModuleReference; +exports.assertTSNonNullExpression = assertTSNonNullExpression; +exports.assertTSExportAssignment = assertTSExportAssignment; +exports.assertTSNamespaceExportDeclaration = assertTSNamespaceExportDeclaration; +exports.assertTSTypeAnnotation = assertTSTypeAnnotation; +exports.assertTSTypeParameterInstantiation = assertTSTypeParameterInstantiation; +exports.assertTSTypeParameterDeclaration = assertTSTypeParameterDeclaration; +exports.assertTSTypeParameter = assertTSTypeParameter; +exports.assertExpression = assertExpression; +exports.assertBinary = assertBinary; +exports.assertScopable = assertScopable; +exports.assertBlockParent = assertBlockParent; +exports.assertBlock = assertBlock; +exports.assertStatement = assertStatement; +exports.assertTerminatorless = assertTerminatorless; +exports.assertCompletionStatement = assertCompletionStatement; +exports.assertConditional = assertConditional; +exports.assertLoop = assertLoop; +exports.assertWhile = assertWhile; +exports.assertExpressionWrapper = assertExpressionWrapper; +exports.assertFor = assertFor; +exports.assertForXStatement = assertForXStatement; +exports.assertFunction = assertFunction; +exports.assertFunctionParent = assertFunctionParent; +exports.assertPureish = assertPureish; +exports.assertDeclaration = assertDeclaration; +exports.assertPatternLike = assertPatternLike; +exports.assertLVal = assertLVal; +exports.assertTSEntityName = assertTSEntityName; +exports.assertLiteral = assertLiteral; +exports.assertImmutable = assertImmutable; +exports.assertUserWhitespacable = assertUserWhitespacable; +exports.assertMethod = assertMethod; +exports.assertObjectMember = assertObjectMember; +exports.assertProperty = assertProperty; +exports.assertUnaryLike = assertUnaryLike; +exports.assertPattern = assertPattern; +exports.assertClass = assertClass; +exports.assertModuleDeclaration = assertModuleDeclaration; +exports.assertExportDeclaration = assertExportDeclaration; +exports.assertModuleSpecifier = assertModuleSpecifier; +exports.assertFlow = assertFlow; +exports.assertFlowType = assertFlowType; +exports.assertFlowBaseAnnotation = assertFlowBaseAnnotation; +exports.assertFlowDeclaration = assertFlowDeclaration; +exports.assertFlowPredicate = assertFlowPredicate; +exports.assertEnumBody = assertEnumBody; +exports.assertEnumMember = assertEnumMember; +exports.assertJSX = assertJSX; +exports.assertPrivate = assertPrivate; +exports.assertTSTypeElement = assertTSTypeElement; +exports.assertTSType = assertTSType; +exports.assertNumberLiteral = assertNumberLiteral; +exports.assertRegexLiteral = assertRegexLiteral; +exports.assertRestProperty = assertRestProperty; +exports.assertSpreadProperty = assertSpreadProperty; + +var _is = _interopRequireDefault(require("../../validators/is")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function assert(type, node, opts) { + if (!(0, _is.default)(type, node, opts)) { + throw new Error("Expected type \"".concat(type, "\" with option ").concat(JSON.stringify(opts), ", ") + "but instead got \"".concat(node.type, "\".")); + } +} + +function assertArrayExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ArrayExpression", node, opts); +} + +function assertAssignmentExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("AssignmentExpression", node, opts); +} + +function assertBinaryExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BinaryExpression", node, opts); +} + +function assertInterpreterDirective(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("InterpreterDirective", node, opts); +} + +function assertDirective(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Directive", node, opts); +} + +function assertDirectiveLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DirectiveLiteral", node, opts); +} + +function assertBlockStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BlockStatement", node, opts); +} + +function assertBreakStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BreakStatement", node, opts); +} + +function assertCallExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("CallExpression", node, opts); +} + +function assertCatchClause(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("CatchClause", node, opts); +} + +function assertConditionalExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ConditionalExpression", node, opts); +} + +function assertContinueStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ContinueStatement", node, opts); +} + +function assertDebuggerStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DebuggerStatement", node, opts); +} + +function assertDoWhileStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DoWhileStatement", node, opts); +} + +function assertEmptyStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EmptyStatement", node, opts); +} + +function assertExpressionStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExpressionStatement", node, opts); +} + +function assertFile(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("File", node, opts); +} + +function assertForInStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ForInStatement", node, opts); +} + +function assertForStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ForStatement", node, opts); +} + +function assertFunctionDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FunctionDeclaration", node, opts); +} + +function assertFunctionExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FunctionExpression", node, opts); +} + +function assertIdentifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Identifier", node, opts); +} + +function assertIfStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("IfStatement", node, opts); +} + +function assertLabeledStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("LabeledStatement", node, opts); +} + +function assertStringLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("StringLiteral", node, opts); +} + +function assertNumericLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NumericLiteral", node, opts); +} + +function assertNullLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NullLiteral", node, opts); +} + +function assertBooleanLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BooleanLiteral", node, opts); +} + +function assertRegExpLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("RegExpLiteral", node, opts); +} + +function assertLogicalExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("LogicalExpression", node, opts); +} + +function assertMemberExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("MemberExpression", node, opts); +} + +function assertNewExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NewExpression", node, opts); +} + +function assertProgram(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Program", node, opts); +} + +function assertObjectExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectExpression", node, opts); +} + +function assertObjectMethod(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectMethod", node, opts); +} + +function assertObjectProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectProperty", node, opts); +} + +function assertRestElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("RestElement", node, opts); +} + +function assertReturnStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ReturnStatement", node, opts); +} + +function assertSequenceExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("SequenceExpression", node, opts); +} + +function assertParenthesizedExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ParenthesizedExpression", node, opts); +} + +function assertSwitchCase(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("SwitchCase", node, opts); +} + +function assertSwitchStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("SwitchStatement", node, opts); +} + +function assertThisExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ThisExpression", node, opts); +} + +function assertThrowStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ThrowStatement", node, opts); +} + +function assertTryStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TryStatement", node, opts); +} + +function assertUnaryExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("UnaryExpression", node, opts); +} + +function assertUpdateExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("UpdateExpression", node, opts); +} + +function assertVariableDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("VariableDeclaration", node, opts); +} + +function assertVariableDeclarator(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("VariableDeclarator", node, opts); +} + +function assertWhileStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("WhileStatement", node, opts); +} + +function assertWithStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("WithStatement", node, opts); +} + +function assertAssignmentPattern(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("AssignmentPattern", node, opts); +} + +function assertArrayPattern(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ArrayPattern", node, opts); +} + +function assertArrowFunctionExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ArrowFunctionExpression", node, opts); +} + +function assertClassBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassBody", node, opts); +} + +function assertClassDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassDeclaration", node, opts); +} + +function assertClassExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassExpression", node, opts); +} + +function assertExportAllDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportAllDeclaration", node, opts); +} + +function assertExportDefaultDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportDefaultDeclaration", node, opts); +} + +function assertExportNamedDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportNamedDeclaration", node, opts); +} + +function assertExportSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportSpecifier", node, opts); +} + +function assertForOfStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ForOfStatement", node, opts); +} + +function assertImportDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ImportDeclaration", node, opts); +} + +function assertImportDefaultSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ImportDefaultSpecifier", node, opts); +} + +function assertImportNamespaceSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ImportNamespaceSpecifier", node, opts); +} + +function assertImportSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ImportSpecifier", node, opts); +} + +function assertMetaProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("MetaProperty", node, opts); +} + +function assertClassMethod(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassMethod", node, opts); +} + +function assertObjectPattern(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectPattern", node, opts); +} + +function assertSpreadElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("SpreadElement", node, opts); +} + +function assertSuper(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Super", node, opts); +} + +function assertTaggedTemplateExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TaggedTemplateExpression", node, opts); +} + +function assertTemplateElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TemplateElement", node, opts); +} + +function assertTemplateLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TemplateLiteral", node, opts); +} + +function assertYieldExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("YieldExpression", node, opts); +} + +function assertAnyTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("AnyTypeAnnotation", node, opts); +} + +function assertArrayTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ArrayTypeAnnotation", node, opts); +} + +function assertBooleanTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BooleanTypeAnnotation", node, opts); +} + +function assertBooleanLiteralTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BooleanLiteralTypeAnnotation", node, opts); +} + +function assertNullLiteralTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NullLiteralTypeAnnotation", node, opts); +} + +function assertClassImplements(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassImplements", node, opts); +} + +function assertDeclareClass(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareClass", node, opts); +} + +function assertDeclareFunction(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareFunction", node, opts); +} + +function assertDeclareInterface(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareInterface", node, opts); +} + +function assertDeclareModule(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareModule", node, opts); +} + +function assertDeclareModuleExports(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareModuleExports", node, opts); +} + +function assertDeclareTypeAlias(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareTypeAlias", node, opts); +} + +function assertDeclareOpaqueType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareOpaqueType", node, opts); +} + +function assertDeclareVariable(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareVariable", node, opts); +} + +function assertDeclareExportDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareExportDeclaration", node, opts); +} + +function assertDeclareExportAllDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclareExportAllDeclaration", node, opts); +} + +function assertDeclaredPredicate(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DeclaredPredicate", node, opts); +} + +function assertExistsTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExistsTypeAnnotation", node, opts); +} + +function assertFunctionTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FunctionTypeAnnotation", node, opts); +} + +function assertFunctionTypeParam(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FunctionTypeParam", node, opts); +} + +function assertGenericTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("GenericTypeAnnotation", node, opts); +} + +function assertInferredPredicate(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("InferredPredicate", node, opts); +} + +function assertInterfaceExtends(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("InterfaceExtends", node, opts); +} + +function assertInterfaceDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("InterfaceDeclaration", node, opts); +} + +function assertInterfaceTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("InterfaceTypeAnnotation", node, opts); +} + +function assertIntersectionTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("IntersectionTypeAnnotation", node, opts); +} + +function assertMixedTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("MixedTypeAnnotation", node, opts); +} + +function assertEmptyTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EmptyTypeAnnotation", node, opts); +} + +function assertNullableTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NullableTypeAnnotation", node, opts); +} + +function assertNumberLiteralTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NumberLiteralTypeAnnotation", node, opts); +} + +function assertNumberTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("NumberTypeAnnotation", node, opts); +} + +function assertObjectTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeAnnotation", node, opts); +} + +function assertObjectTypeInternalSlot(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeInternalSlot", node, opts); +} + +function assertObjectTypeCallProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeCallProperty", node, opts); +} + +function assertObjectTypeIndexer(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeIndexer", node, opts); +} + +function assertObjectTypeProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeProperty", node, opts); +} + +function assertObjectTypeSpreadProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectTypeSpreadProperty", node, opts); +} + +function assertOpaqueType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("OpaqueType", node, opts); +} + +function assertQualifiedTypeIdentifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("QualifiedTypeIdentifier", node, opts); +} + +function assertStringLiteralTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("StringLiteralTypeAnnotation", node, opts); +} + +function assertStringTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("StringTypeAnnotation", node, opts); +} + +function assertThisTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ThisTypeAnnotation", node, opts); +} + +function assertTupleTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TupleTypeAnnotation", node, opts); +} + +function assertTypeofTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeofTypeAnnotation", node, opts); +} + +function assertTypeAlias(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeAlias", node, opts); +} + +function assertTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeAnnotation", node, opts); +} + +function assertTypeCastExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeCastExpression", node, opts); +} + +function assertTypeParameter(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeParameter", node, opts); +} + +function assertTypeParameterDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeParameterDeclaration", node, opts); +} + +function assertTypeParameterInstantiation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TypeParameterInstantiation", node, opts); +} + +function assertUnionTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("UnionTypeAnnotation", node, opts); +} + +function assertVariance(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Variance", node, opts); +} + +function assertVoidTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("VoidTypeAnnotation", node, opts); +} + +function assertEnumDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumDeclaration", node, opts); +} + +function assertEnumBooleanBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumBooleanBody", node, opts); +} + +function assertEnumNumberBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumNumberBody", node, opts); +} + +function assertEnumStringBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumStringBody", node, opts); +} + +function assertEnumSymbolBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumSymbolBody", node, opts); +} + +function assertEnumBooleanMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumBooleanMember", node, opts); +} + +function assertEnumNumberMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumNumberMember", node, opts); +} + +function assertEnumStringMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumStringMember", node, opts); +} + +function assertEnumDefaultedMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumDefaultedMember", node, opts); +} + +function assertJSXAttribute(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXAttribute", node, opts); +} + +function assertJSXClosingElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXClosingElement", node, opts); +} + +function assertJSXElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXElement", node, opts); +} + +function assertJSXEmptyExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXEmptyExpression", node, opts); +} + +function assertJSXExpressionContainer(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXExpressionContainer", node, opts); +} + +function assertJSXSpreadChild(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXSpreadChild", node, opts); +} + +function assertJSXIdentifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXIdentifier", node, opts); +} + +function assertJSXMemberExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXMemberExpression", node, opts); +} + +function assertJSXNamespacedName(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXNamespacedName", node, opts); +} + +function assertJSXOpeningElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXOpeningElement", node, opts); +} + +function assertJSXSpreadAttribute(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXSpreadAttribute", node, opts); +} + +function assertJSXText(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXText", node, opts); +} + +function assertJSXFragment(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXFragment", node, opts); +} + +function assertJSXOpeningFragment(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXOpeningFragment", node, opts); +} + +function assertJSXClosingFragment(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSXClosingFragment", node, opts); +} + +function assertNoop(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Noop", node, opts); +} + +function assertPlaceholder(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Placeholder", node, opts); +} + +function assertV8IntrinsicIdentifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("V8IntrinsicIdentifier", node, opts); +} + +function assertArgumentPlaceholder(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ArgumentPlaceholder", node, opts); +} + +function assertAwaitExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("AwaitExpression", node, opts); +} + +function assertBindExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BindExpression", node, opts); +} + +function assertClassProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassProperty", node, opts); +} + +function assertOptionalMemberExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("OptionalMemberExpression", node, opts); +} + +function assertPipelineTopicExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("PipelineTopicExpression", node, opts); +} + +function assertPipelineBareFunction(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("PipelineBareFunction", node, opts); +} + +function assertPipelinePrimaryTopicReference(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("PipelinePrimaryTopicReference", node, opts); +} + +function assertOptionalCallExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("OptionalCallExpression", node, opts); +} + +function assertClassPrivateProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassPrivateProperty", node, opts); +} + +function assertClassPrivateMethod(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ClassPrivateMethod", node, opts); +} + +function assertImport(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Import", node, opts); +} + +function assertDecorator(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Decorator", node, opts); +} + +function assertDoExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("DoExpression", node, opts); +} + +function assertExportDefaultSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportDefaultSpecifier", node, opts); +} + +function assertExportNamespaceSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportNamespaceSpecifier", node, opts); +} + +function assertPrivateName(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("PrivateName", node, opts); +} + +function assertBigIntLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BigIntLiteral", node, opts); +} + +function assertTSParameterProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSParameterProperty", node, opts); +} + +function assertTSDeclareFunction(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSDeclareFunction", node, opts); +} + +function assertTSDeclareMethod(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSDeclareMethod", node, opts); +} + +function assertTSQualifiedName(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSQualifiedName", node, opts); +} + +function assertTSCallSignatureDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSCallSignatureDeclaration", node, opts); +} + +function assertTSConstructSignatureDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSConstructSignatureDeclaration", node, opts); +} + +function assertTSPropertySignature(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSPropertySignature", node, opts); +} + +function assertTSMethodSignature(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSMethodSignature", node, opts); +} + +function assertTSIndexSignature(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSIndexSignature", node, opts); +} + +function assertTSAnyKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSAnyKeyword", node, opts); +} + +function assertTSBooleanKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSBooleanKeyword", node, opts); +} + +function assertTSBigIntKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSBigIntKeyword", node, opts); +} + +function assertTSNeverKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSNeverKeyword", node, opts); +} + +function assertTSNullKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSNullKeyword", node, opts); +} + +function assertTSNumberKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSNumberKeyword", node, opts); +} + +function assertTSObjectKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSObjectKeyword", node, opts); +} + +function assertTSStringKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSStringKeyword", node, opts); +} + +function assertTSSymbolKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSSymbolKeyword", node, opts); +} + +function assertTSUndefinedKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSUndefinedKeyword", node, opts); +} + +function assertTSUnknownKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSUnknownKeyword", node, opts); +} + +function assertTSVoidKeyword(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSVoidKeyword", node, opts); +} + +function assertTSThisType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSThisType", node, opts); +} + +function assertTSFunctionType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSFunctionType", node, opts); +} + +function assertTSConstructorType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSConstructorType", node, opts); +} + +function assertTSTypeReference(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeReference", node, opts); +} + +function assertTSTypePredicate(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypePredicate", node, opts); +} + +function assertTSTypeQuery(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeQuery", node, opts); +} + +function assertTSTypeLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeLiteral", node, opts); +} + +function assertTSArrayType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSArrayType", node, opts); +} + +function assertTSTupleType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTupleType", node, opts); +} + +function assertTSOptionalType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSOptionalType", node, opts); +} + +function assertTSRestType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSRestType", node, opts); +} + +function assertTSUnionType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSUnionType", node, opts); +} + +function assertTSIntersectionType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSIntersectionType", node, opts); +} + +function assertTSConditionalType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSConditionalType", node, opts); +} + +function assertTSInferType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSInferType", node, opts); +} + +function assertTSParenthesizedType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSParenthesizedType", node, opts); +} + +function assertTSTypeOperator(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeOperator", node, opts); +} + +function assertTSIndexedAccessType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSIndexedAccessType", node, opts); +} + +function assertTSMappedType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSMappedType", node, opts); +} + +function assertTSLiteralType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSLiteralType", node, opts); +} + +function assertTSExpressionWithTypeArguments(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSExpressionWithTypeArguments", node, opts); +} + +function assertTSInterfaceDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSInterfaceDeclaration", node, opts); +} + +function assertTSInterfaceBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSInterfaceBody", node, opts); +} + +function assertTSTypeAliasDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeAliasDeclaration", node, opts); +} + +function assertTSAsExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSAsExpression", node, opts); +} + +function assertTSTypeAssertion(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeAssertion", node, opts); +} + +function assertTSEnumDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSEnumDeclaration", node, opts); +} + +function assertTSEnumMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSEnumMember", node, opts); +} + +function assertTSModuleDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSModuleDeclaration", node, opts); +} + +function assertTSModuleBlock(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSModuleBlock", node, opts); +} + +function assertTSImportType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSImportType", node, opts); +} + +function assertTSImportEqualsDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSImportEqualsDeclaration", node, opts); +} + +function assertTSExternalModuleReference(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSExternalModuleReference", node, opts); +} + +function assertTSNonNullExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSNonNullExpression", node, opts); +} + +function assertTSExportAssignment(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSExportAssignment", node, opts); +} + +function assertTSNamespaceExportDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSNamespaceExportDeclaration", node, opts); +} + +function assertTSTypeAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeAnnotation", node, opts); +} + +function assertTSTypeParameterInstantiation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeParameterInstantiation", node, opts); +} + +function assertTSTypeParameterDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeParameterDeclaration", node, opts); +} + +function assertTSTypeParameter(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeParameter", node, opts); +} + +function assertExpression(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Expression", node, opts); +} + +function assertBinary(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Binary", node, opts); +} + +function assertScopable(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Scopable", node, opts); +} + +function assertBlockParent(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("BlockParent", node, opts); +} + +function assertBlock(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Block", node, opts); +} + +function assertStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Statement", node, opts); +} + +function assertTerminatorless(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Terminatorless", node, opts); +} + +function assertCompletionStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("CompletionStatement", node, opts); +} + +function assertConditional(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Conditional", node, opts); +} + +function assertLoop(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Loop", node, opts); +} + +function assertWhile(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("While", node, opts); +} + +function assertExpressionWrapper(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExpressionWrapper", node, opts); +} + +function assertFor(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("For", node, opts); +} + +function assertForXStatement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ForXStatement", node, opts); +} + +function assertFunction(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Function", node, opts); +} + +function assertFunctionParent(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FunctionParent", node, opts); +} + +function assertPureish(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Pureish", node, opts); +} + +function assertDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Declaration", node, opts); +} + +function assertPatternLike(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("PatternLike", node, opts); +} + +function assertLVal(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("LVal", node, opts); +} + +function assertTSEntityName(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSEntityName", node, opts); +} + +function assertLiteral(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Literal", node, opts); +} + +function assertImmutable(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Immutable", node, opts); +} + +function assertUserWhitespacable(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("UserWhitespacable", node, opts); +} + +function assertMethod(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Method", node, opts); +} + +function assertObjectMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ObjectMember", node, opts); +} + +function assertProperty(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Property", node, opts); +} + +function assertUnaryLike(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("UnaryLike", node, opts); +} + +function assertPattern(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Pattern", node, opts); +} + +function assertClass(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Class", node, opts); +} + +function assertModuleDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ModuleDeclaration", node, opts); +} + +function assertExportDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ExportDeclaration", node, opts); +} + +function assertModuleSpecifier(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("ModuleSpecifier", node, opts); +} + +function assertFlow(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Flow", node, opts); +} + +function assertFlowType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FlowType", node, opts); +} + +function assertFlowBaseAnnotation(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FlowBaseAnnotation", node, opts); +} + +function assertFlowDeclaration(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FlowDeclaration", node, opts); +} + +function assertFlowPredicate(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("FlowPredicate", node, opts); +} + +function assertEnumBody(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumBody", node, opts); +} + +function assertEnumMember(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("EnumMember", node, opts); +} + +function assertJSX(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("JSX", node, opts); +} + +function assertPrivate(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("Private", node, opts); +} + +function assertTSTypeElement(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSTypeElement", node, opts); +} + +function assertTSType(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + assert("TSType", node, opts); +} + +function assertNumberLiteral(node, opts) { + console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); + assert("NumberLiteral", node, opts); +} + +function assertRegexLiteral(node, opts) { + console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); + assert("RegexLiteral", node, opts); +} + +function assertRestProperty(node, opts) { + console.trace("The node type RestProperty has been renamed to RestElement"); + assert("RestProperty", node, opts); +} + +function assertSpreadProperty(node, opts) { + console.trace("The node type SpreadProperty has been renamed to SpreadElement"); + assert("SpreadProperty", node, opts); +} + +},{"../../validators/is":258}],203:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = builder; + +var _clone = _interopRequireDefault(require("lodash/clone")); + +var _definitions = require("../definitions"); + +var _validate = _interopRequireDefault(require("../validators/validate")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function builder(type) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var keys = _definitions.BUILDER_KEYS[type]; + var countArgs = args.length; + + if (countArgs > keys.length) { + throw new Error("".concat(type, ": Too many arguments passed. Received ").concat(countArgs, " but can receive no more than ").concat(keys.length)); + } + + var node = { + type: type + }; + var i = 0; + keys.forEach(function (key) { + var field = _definitions.NODE_FIELDS[type][key]; + var arg; + if (i < countArgs) arg = args[i]; + if (arg === undefined) arg = (0, _clone.default)(field.default); + node[key] = arg; + i++; + }); + + for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + (0, _validate.default)(node, key, node[key]); + } + + return node; +} + +},{"../definitions":236,"../validators/validate":276,"lodash/clone":1004}],204:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = createTypeAnnotationBasedOnTypeof; + +var _generated = require("../generated"); + +function createTypeAnnotationBasedOnTypeof(type) { + if (type === "string") { + return (0, _generated.stringTypeAnnotation)(); + } else if (type === "number") { + return (0, _generated.numberTypeAnnotation)(); + } else if (type === "undefined") { + return (0, _generated.voidTypeAnnotation)(); + } else if (type === "boolean") { + return (0, _generated.booleanTypeAnnotation)(); + } else if (type === "function") { + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Function")); + } else if (type === "object") { + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Object")); + } else if (type === "symbol") { + return (0, _generated.genericTypeAnnotation)((0, _generated.identifier)("Symbol")); + } else { + throw new Error("Invalid typeof value"); + } +} + +},{"../generated":206}],205:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = createUnionTypeAnnotation; + +var _generated = require("../generated"); + +var _removeTypeDuplicates = _interopRequireDefault(require("../../modifications/flow/removeTypeDuplicates")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function createUnionTypeAnnotation(types) { + var flattened = (0, _removeTypeDuplicates.default)(types); + + if (flattened.length === 1) { + return flattened[0]; + } else { + return (0, _generated.unionTypeAnnotation)(flattened); + } +} + +},{"../../modifications/flow/removeTypeDuplicates":244,"../generated":206}],206:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.arrayExpression = exports.ArrayExpression = ArrayExpression; +exports.assignmentExpression = exports.AssignmentExpression = AssignmentExpression; +exports.binaryExpression = exports.BinaryExpression = BinaryExpression; +exports.interpreterDirective = exports.InterpreterDirective = InterpreterDirective; +exports.directive = exports.Directive = Directive; +exports.directiveLiteral = exports.DirectiveLiteral = DirectiveLiteral; +exports.blockStatement = exports.BlockStatement = BlockStatement; +exports.breakStatement = exports.BreakStatement = BreakStatement; +exports.callExpression = exports.CallExpression = CallExpression; +exports.catchClause = exports.CatchClause = CatchClause; +exports.conditionalExpression = exports.ConditionalExpression = ConditionalExpression; +exports.continueStatement = exports.ContinueStatement = ContinueStatement; +exports.debuggerStatement = exports.DebuggerStatement = DebuggerStatement; +exports.doWhileStatement = exports.DoWhileStatement = DoWhileStatement; +exports.emptyStatement = exports.EmptyStatement = EmptyStatement; +exports.expressionStatement = exports.ExpressionStatement = ExpressionStatement; +exports.file = exports.File = File; +exports.forInStatement = exports.ForInStatement = ForInStatement; +exports.forStatement = exports.ForStatement = ForStatement; +exports.functionDeclaration = exports.FunctionDeclaration = FunctionDeclaration; +exports.functionExpression = exports.FunctionExpression = FunctionExpression; +exports.identifier = exports.Identifier = Identifier; +exports.ifStatement = exports.IfStatement = IfStatement; +exports.labeledStatement = exports.LabeledStatement = LabeledStatement; +exports.stringLiteral = exports.StringLiteral = StringLiteral; +exports.numericLiteral = exports.NumericLiteral = NumericLiteral; +exports.nullLiteral = exports.NullLiteral = NullLiteral; +exports.booleanLiteral = exports.BooleanLiteral = BooleanLiteral; +exports.regExpLiteral = exports.RegExpLiteral = RegExpLiteral; +exports.logicalExpression = exports.LogicalExpression = LogicalExpression; +exports.memberExpression = exports.MemberExpression = MemberExpression; +exports.newExpression = exports.NewExpression = NewExpression; +exports.program = exports.Program = Program; +exports.objectExpression = exports.ObjectExpression = ObjectExpression; +exports.objectMethod = exports.ObjectMethod = ObjectMethod; +exports.objectProperty = exports.ObjectProperty = ObjectProperty; +exports.restElement = exports.RestElement = RestElement; +exports.returnStatement = exports.ReturnStatement = ReturnStatement; +exports.sequenceExpression = exports.SequenceExpression = SequenceExpression; +exports.parenthesizedExpression = exports.ParenthesizedExpression = ParenthesizedExpression; +exports.switchCase = exports.SwitchCase = SwitchCase; +exports.switchStatement = exports.SwitchStatement = SwitchStatement; +exports.thisExpression = exports.ThisExpression = ThisExpression; +exports.throwStatement = exports.ThrowStatement = ThrowStatement; +exports.tryStatement = exports.TryStatement = TryStatement; +exports.unaryExpression = exports.UnaryExpression = UnaryExpression; +exports.updateExpression = exports.UpdateExpression = UpdateExpression; +exports.variableDeclaration = exports.VariableDeclaration = VariableDeclaration; +exports.variableDeclarator = exports.VariableDeclarator = VariableDeclarator; +exports.whileStatement = exports.WhileStatement = WhileStatement; +exports.withStatement = exports.WithStatement = WithStatement; +exports.assignmentPattern = exports.AssignmentPattern = AssignmentPattern; +exports.arrayPattern = exports.ArrayPattern = ArrayPattern; +exports.arrowFunctionExpression = exports.ArrowFunctionExpression = ArrowFunctionExpression; +exports.classBody = exports.ClassBody = ClassBody; +exports.classDeclaration = exports.ClassDeclaration = ClassDeclaration; +exports.classExpression = exports.ClassExpression = ClassExpression; +exports.exportAllDeclaration = exports.ExportAllDeclaration = ExportAllDeclaration; +exports.exportDefaultDeclaration = exports.ExportDefaultDeclaration = ExportDefaultDeclaration; +exports.exportNamedDeclaration = exports.ExportNamedDeclaration = ExportNamedDeclaration; +exports.exportSpecifier = exports.ExportSpecifier = ExportSpecifier; +exports.forOfStatement = exports.ForOfStatement = ForOfStatement; +exports.importDeclaration = exports.ImportDeclaration = ImportDeclaration; +exports.importDefaultSpecifier = exports.ImportDefaultSpecifier = ImportDefaultSpecifier; +exports.importNamespaceSpecifier = exports.ImportNamespaceSpecifier = ImportNamespaceSpecifier; +exports.importSpecifier = exports.ImportSpecifier = ImportSpecifier; +exports.metaProperty = exports.MetaProperty = MetaProperty; +exports.classMethod = exports.ClassMethod = ClassMethod; +exports.objectPattern = exports.ObjectPattern = ObjectPattern; +exports.spreadElement = exports.SpreadElement = SpreadElement; +exports.super = exports.Super = Super; +exports.taggedTemplateExpression = exports.TaggedTemplateExpression = TaggedTemplateExpression; +exports.templateElement = exports.TemplateElement = TemplateElement; +exports.templateLiteral = exports.TemplateLiteral = TemplateLiteral; +exports.yieldExpression = exports.YieldExpression = YieldExpression; +exports.anyTypeAnnotation = exports.AnyTypeAnnotation = AnyTypeAnnotation; +exports.arrayTypeAnnotation = exports.ArrayTypeAnnotation = ArrayTypeAnnotation; +exports.booleanTypeAnnotation = exports.BooleanTypeAnnotation = BooleanTypeAnnotation; +exports.booleanLiteralTypeAnnotation = exports.BooleanLiteralTypeAnnotation = BooleanLiteralTypeAnnotation; +exports.nullLiteralTypeAnnotation = exports.NullLiteralTypeAnnotation = NullLiteralTypeAnnotation; +exports.classImplements = exports.ClassImplements = ClassImplements; +exports.declareClass = exports.DeclareClass = DeclareClass; +exports.declareFunction = exports.DeclareFunction = DeclareFunction; +exports.declareInterface = exports.DeclareInterface = DeclareInterface; +exports.declareModule = exports.DeclareModule = DeclareModule; +exports.declareModuleExports = exports.DeclareModuleExports = DeclareModuleExports; +exports.declareTypeAlias = exports.DeclareTypeAlias = DeclareTypeAlias; +exports.declareOpaqueType = exports.DeclareOpaqueType = DeclareOpaqueType; +exports.declareVariable = exports.DeclareVariable = DeclareVariable; +exports.declareExportDeclaration = exports.DeclareExportDeclaration = DeclareExportDeclaration; +exports.declareExportAllDeclaration = exports.DeclareExportAllDeclaration = DeclareExportAllDeclaration; +exports.declaredPredicate = exports.DeclaredPredicate = DeclaredPredicate; +exports.existsTypeAnnotation = exports.ExistsTypeAnnotation = ExistsTypeAnnotation; +exports.functionTypeAnnotation = exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.functionTypeParam = exports.FunctionTypeParam = FunctionTypeParam; +exports.genericTypeAnnotation = exports.GenericTypeAnnotation = GenericTypeAnnotation; +exports.inferredPredicate = exports.InferredPredicate = InferredPredicate; +exports.interfaceExtends = exports.InterfaceExtends = InterfaceExtends; +exports.interfaceDeclaration = exports.InterfaceDeclaration = InterfaceDeclaration; +exports.interfaceTypeAnnotation = exports.InterfaceTypeAnnotation = InterfaceTypeAnnotation; +exports.intersectionTypeAnnotation = exports.IntersectionTypeAnnotation = IntersectionTypeAnnotation; +exports.mixedTypeAnnotation = exports.MixedTypeAnnotation = MixedTypeAnnotation; +exports.emptyTypeAnnotation = exports.EmptyTypeAnnotation = EmptyTypeAnnotation; +exports.nullableTypeAnnotation = exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.numberLiteralTypeAnnotation = exports.NumberLiteralTypeAnnotation = NumberLiteralTypeAnnotation; +exports.numberTypeAnnotation = exports.NumberTypeAnnotation = NumberTypeAnnotation; +exports.objectTypeAnnotation = exports.ObjectTypeAnnotation = ObjectTypeAnnotation; +exports.objectTypeInternalSlot = exports.ObjectTypeInternalSlot = ObjectTypeInternalSlot; +exports.objectTypeCallProperty = exports.ObjectTypeCallProperty = ObjectTypeCallProperty; +exports.objectTypeIndexer = exports.ObjectTypeIndexer = ObjectTypeIndexer; +exports.objectTypeProperty = exports.ObjectTypeProperty = ObjectTypeProperty; +exports.objectTypeSpreadProperty = exports.ObjectTypeSpreadProperty = ObjectTypeSpreadProperty; +exports.opaqueType = exports.OpaqueType = OpaqueType; +exports.qualifiedTypeIdentifier = exports.QualifiedTypeIdentifier = QualifiedTypeIdentifier; +exports.stringLiteralTypeAnnotation = exports.StringLiteralTypeAnnotation = StringLiteralTypeAnnotation; +exports.stringTypeAnnotation = exports.StringTypeAnnotation = StringTypeAnnotation; +exports.thisTypeAnnotation = exports.ThisTypeAnnotation = ThisTypeAnnotation; +exports.tupleTypeAnnotation = exports.TupleTypeAnnotation = TupleTypeAnnotation; +exports.typeofTypeAnnotation = exports.TypeofTypeAnnotation = TypeofTypeAnnotation; +exports.typeAlias = exports.TypeAlias = TypeAlias; +exports.typeAnnotation = exports.TypeAnnotation = TypeAnnotation; +exports.typeCastExpression = exports.TypeCastExpression = TypeCastExpression; +exports.typeParameter = exports.TypeParameter = TypeParameter; +exports.typeParameterDeclaration = exports.TypeParameterDeclaration = TypeParameterDeclaration; +exports.typeParameterInstantiation = exports.TypeParameterInstantiation = TypeParameterInstantiation; +exports.unionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.variance = exports.Variance = Variance; +exports.voidTypeAnnotation = exports.VoidTypeAnnotation = VoidTypeAnnotation; +exports.enumDeclaration = exports.EnumDeclaration = EnumDeclaration; +exports.enumBooleanBody = exports.EnumBooleanBody = EnumBooleanBody; +exports.enumNumberBody = exports.EnumNumberBody = EnumNumberBody; +exports.enumStringBody = exports.EnumStringBody = EnumStringBody; +exports.enumSymbolBody = exports.EnumSymbolBody = EnumSymbolBody; +exports.enumBooleanMember = exports.EnumBooleanMember = EnumBooleanMember; +exports.enumNumberMember = exports.EnumNumberMember = EnumNumberMember; +exports.enumStringMember = exports.EnumStringMember = EnumStringMember; +exports.enumDefaultedMember = exports.EnumDefaultedMember = EnumDefaultedMember; +exports.jSXAttribute = exports.jsxAttribute = exports.JSXAttribute = JSXAttribute; +exports.jSXClosingElement = exports.jsxClosingElement = exports.JSXClosingElement = JSXClosingElement; +exports.jSXElement = exports.jsxElement = exports.JSXElement = JSXElement; +exports.jSXEmptyExpression = exports.jsxEmptyExpression = exports.JSXEmptyExpression = JSXEmptyExpression; +exports.jSXExpressionContainer = exports.jsxExpressionContainer = exports.JSXExpressionContainer = JSXExpressionContainer; +exports.jSXSpreadChild = exports.jsxSpreadChild = exports.JSXSpreadChild = JSXSpreadChild; +exports.jSXIdentifier = exports.jsxIdentifier = exports.JSXIdentifier = JSXIdentifier; +exports.jSXMemberExpression = exports.jsxMemberExpression = exports.JSXMemberExpression = JSXMemberExpression; +exports.jSXNamespacedName = exports.jsxNamespacedName = exports.JSXNamespacedName = JSXNamespacedName; +exports.jSXOpeningElement = exports.jsxOpeningElement = exports.JSXOpeningElement = JSXOpeningElement; +exports.jSXSpreadAttribute = exports.jsxSpreadAttribute = exports.JSXSpreadAttribute = JSXSpreadAttribute; +exports.jSXText = exports.jsxText = exports.JSXText = JSXText; +exports.jSXFragment = exports.jsxFragment = exports.JSXFragment = JSXFragment; +exports.jSXOpeningFragment = exports.jsxOpeningFragment = exports.JSXOpeningFragment = JSXOpeningFragment; +exports.jSXClosingFragment = exports.jsxClosingFragment = exports.JSXClosingFragment = JSXClosingFragment; +exports.noop = exports.Noop = Noop; +exports.placeholder = exports.Placeholder = Placeholder; +exports.v8IntrinsicIdentifier = exports.V8IntrinsicIdentifier = V8IntrinsicIdentifier; +exports.argumentPlaceholder = exports.ArgumentPlaceholder = ArgumentPlaceholder; +exports.awaitExpression = exports.AwaitExpression = AwaitExpression; +exports.bindExpression = exports.BindExpression = BindExpression; +exports.classProperty = exports.ClassProperty = ClassProperty; +exports.optionalMemberExpression = exports.OptionalMemberExpression = OptionalMemberExpression; +exports.pipelineTopicExpression = exports.PipelineTopicExpression = PipelineTopicExpression; +exports.pipelineBareFunction = exports.PipelineBareFunction = PipelineBareFunction; +exports.pipelinePrimaryTopicReference = exports.PipelinePrimaryTopicReference = PipelinePrimaryTopicReference; +exports.optionalCallExpression = exports.OptionalCallExpression = OptionalCallExpression; +exports.classPrivateProperty = exports.ClassPrivateProperty = ClassPrivateProperty; +exports.classPrivateMethod = exports.ClassPrivateMethod = ClassPrivateMethod; +exports.import = exports.Import = Import; +exports.decorator = exports.Decorator = Decorator; +exports.doExpression = exports.DoExpression = DoExpression; +exports.exportDefaultSpecifier = exports.ExportDefaultSpecifier = ExportDefaultSpecifier; +exports.exportNamespaceSpecifier = exports.ExportNamespaceSpecifier = ExportNamespaceSpecifier; +exports.privateName = exports.PrivateName = PrivateName; +exports.bigIntLiteral = exports.BigIntLiteral = BigIntLiteral; +exports.tSParameterProperty = exports.tsParameterProperty = exports.TSParameterProperty = TSParameterProperty; +exports.tSDeclareFunction = exports.tsDeclareFunction = exports.TSDeclareFunction = TSDeclareFunction; +exports.tSDeclareMethod = exports.tsDeclareMethod = exports.TSDeclareMethod = TSDeclareMethod; +exports.tSQualifiedName = exports.tsQualifiedName = exports.TSQualifiedName = TSQualifiedName; +exports.tSCallSignatureDeclaration = exports.tsCallSignatureDeclaration = exports.TSCallSignatureDeclaration = TSCallSignatureDeclaration; +exports.tSConstructSignatureDeclaration = exports.tsConstructSignatureDeclaration = exports.TSConstructSignatureDeclaration = TSConstructSignatureDeclaration; +exports.tSPropertySignature = exports.tsPropertySignature = exports.TSPropertySignature = TSPropertySignature; +exports.tSMethodSignature = exports.tsMethodSignature = exports.TSMethodSignature = TSMethodSignature; +exports.tSIndexSignature = exports.tsIndexSignature = exports.TSIndexSignature = TSIndexSignature; +exports.tSAnyKeyword = exports.tsAnyKeyword = exports.TSAnyKeyword = TSAnyKeyword; +exports.tSBooleanKeyword = exports.tsBooleanKeyword = exports.TSBooleanKeyword = TSBooleanKeyword; +exports.tSBigIntKeyword = exports.tsBigIntKeyword = exports.TSBigIntKeyword = TSBigIntKeyword; +exports.tSNeverKeyword = exports.tsNeverKeyword = exports.TSNeverKeyword = TSNeverKeyword; +exports.tSNullKeyword = exports.tsNullKeyword = exports.TSNullKeyword = TSNullKeyword; +exports.tSNumberKeyword = exports.tsNumberKeyword = exports.TSNumberKeyword = TSNumberKeyword; +exports.tSObjectKeyword = exports.tsObjectKeyword = exports.TSObjectKeyword = TSObjectKeyword; +exports.tSStringKeyword = exports.tsStringKeyword = exports.TSStringKeyword = TSStringKeyword; +exports.tSSymbolKeyword = exports.tsSymbolKeyword = exports.TSSymbolKeyword = TSSymbolKeyword; +exports.tSUndefinedKeyword = exports.tsUndefinedKeyword = exports.TSUndefinedKeyword = TSUndefinedKeyword; +exports.tSUnknownKeyword = exports.tsUnknownKeyword = exports.TSUnknownKeyword = TSUnknownKeyword; +exports.tSVoidKeyword = exports.tsVoidKeyword = exports.TSVoidKeyword = TSVoidKeyword; +exports.tSThisType = exports.tsThisType = exports.TSThisType = TSThisType; +exports.tSFunctionType = exports.tsFunctionType = exports.TSFunctionType = TSFunctionType; +exports.tSConstructorType = exports.tsConstructorType = exports.TSConstructorType = TSConstructorType; +exports.tSTypeReference = exports.tsTypeReference = exports.TSTypeReference = TSTypeReference; +exports.tSTypePredicate = exports.tsTypePredicate = exports.TSTypePredicate = TSTypePredicate; +exports.tSTypeQuery = exports.tsTypeQuery = exports.TSTypeQuery = TSTypeQuery; +exports.tSTypeLiteral = exports.tsTypeLiteral = exports.TSTypeLiteral = TSTypeLiteral; +exports.tSArrayType = exports.tsArrayType = exports.TSArrayType = TSArrayType; +exports.tSTupleType = exports.tsTupleType = exports.TSTupleType = TSTupleType; +exports.tSOptionalType = exports.tsOptionalType = exports.TSOptionalType = TSOptionalType; +exports.tSRestType = exports.tsRestType = exports.TSRestType = TSRestType; +exports.tSUnionType = exports.tsUnionType = exports.TSUnionType = TSUnionType; +exports.tSIntersectionType = exports.tsIntersectionType = exports.TSIntersectionType = TSIntersectionType; +exports.tSConditionalType = exports.tsConditionalType = exports.TSConditionalType = TSConditionalType; +exports.tSInferType = exports.tsInferType = exports.TSInferType = TSInferType; +exports.tSParenthesizedType = exports.tsParenthesizedType = exports.TSParenthesizedType = TSParenthesizedType; +exports.tSTypeOperator = exports.tsTypeOperator = exports.TSTypeOperator = TSTypeOperator; +exports.tSIndexedAccessType = exports.tsIndexedAccessType = exports.TSIndexedAccessType = TSIndexedAccessType; +exports.tSMappedType = exports.tsMappedType = exports.TSMappedType = TSMappedType; +exports.tSLiteralType = exports.tsLiteralType = exports.TSLiteralType = TSLiteralType; +exports.tSExpressionWithTypeArguments = exports.tsExpressionWithTypeArguments = exports.TSExpressionWithTypeArguments = TSExpressionWithTypeArguments; +exports.tSInterfaceDeclaration = exports.tsInterfaceDeclaration = exports.TSInterfaceDeclaration = TSInterfaceDeclaration; +exports.tSInterfaceBody = exports.tsInterfaceBody = exports.TSInterfaceBody = TSInterfaceBody; +exports.tSTypeAliasDeclaration = exports.tsTypeAliasDeclaration = exports.TSTypeAliasDeclaration = TSTypeAliasDeclaration; +exports.tSAsExpression = exports.tsAsExpression = exports.TSAsExpression = TSAsExpression; +exports.tSTypeAssertion = exports.tsTypeAssertion = exports.TSTypeAssertion = TSTypeAssertion; +exports.tSEnumDeclaration = exports.tsEnumDeclaration = exports.TSEnumDeclaration = TSEnumDeclaration; +exports.tSEnumMember = exports.tsEnumMember = exports.TSEnumMember = TSEnumMember; +exports.tSModuleDeclaration = exports.tsModuleDeclaration = exports.TSModuleDeclaration = TSModuleDeclaration; +exports.tSModuleBlock = exports.tsModuleBlock = exports.TSModuleBlock = TSModuleBlock; +exports.tSImportType = exports.tsImportType = exports.TSImportType = TSImportType; +exports.tSImportEqualsDeclaration = exports.tsImportEqualsDeclaration = exports.TSImportEqualsDeclaration = TSImportEqualsDeclaration; +exports.tSExternalModuleReference = exports.tsExternalModuleReference = exports.TSExternalModuleReference = TSExternalModuleReference; +exports.tSNonNullExpression = exports.tsNonNullExpression = exports.TSNonNullExpression = TSNonNullExpression; +exports.tSExportAssignment = exports.tsExportAssignment = exports.TSExportAssignment = TSExportAssignment; +exports.tSNamespaceExportDeclaration = exports.tsNamespaceExportDeclaration = exports.TSNamespaceExportDeclaration = TSNamespaceExportDeclaration; +exports.tSTypeAnnotation = exports.tsTypeAnnotation = exports.TSTypeAnnotation = TSTypeAnnotation; +exports.tSTypeParameterInstantiation = exports.tsTypeParameterInstantiation = exports.TSTypeParameterInstantiation = TSTypeParameterInstantiation; +exports.tSTypeParameterDeclaration = exports.tsTypeParameterDeclaration = exports.TSTypeParameterDeclaration = TSTypeParameterDeclaration; +exports.tSTypeParameter = exports.tsTypeParameter = exports.TSTypeParameter = TSTypeParameter; +exports.numberLiteral = exports.NumberLiteral = NumberLiteral; +exports.regexLiteral = exports.RegexLiteral = RegexLiteral; +exports.restProperty = exports.RestProperty = RestProperty; +exports.spreadProperty = exports.SpreadProperty = SpreadProperty; + +var _builder = _interopRequireDefault(require("../builder")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function ArrayExpression() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return (0, _builder.default).apply(void 0, ["ArrayExpression"].concat(args)); +} + +function AssignmentExpression() { + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + return (0, _builder.default).apply(void 0, ["AssignmentExpression"].concat(args)); +} + +function BinaryExpression() { + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + args[_key3] = arguments[_key3]; + } + + return (0, _builder.default).apply(void 0, ["BinaryExpression"].concat(args)); +} + +function InterpreterDirective() { + for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + args[_key4] = arguments[_key4]; + } + + return (0, _builder.default).apply(void 0, ["InterpreterDirective"].concat(args)); +} + +function Directive() { + for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { + args[_key5] = arguments[_key5]; + } + + return (0, _builder.default).apply(void 0, ["Directive"].concat(args)); +} + +function DirectiveLiteral() { + for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { + args[_key6] = arguments[_key6]; + } + + return (0, _builder.default).apply(void 0, ["DirectiveLiteral"].concat(args)); +} + +function BlockStatement() { + for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { + args[_key7] = arguments[_key7]; + } + + return (0, _builder.default).apply(void 0, ["BlockStatement"].concat(args)); +} + +function BreakStatement() { + for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { + args[_key8] = arguments[_key8]; + } + + return (0, _builder.default).apply(void 0, ["BreakStatement"].concat(args)); +} + +function CallExpression() { + for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { + args[_key9] = arguments[_key9]; + } + + return (0, _builder.default).apply(void 0, ["CallExpression"].concat(args)); +} + +function CatchClause() { + for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { + args[_key10] = arguments[_key10]; + } + + return (0, _builder.default).apply(void 0, ["CatchClause"].concat(args)); +} + +function ConditionalExpression() { + for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) { + args[_key11] = arguments[_key11]; + } + + return (0, _builder.default).apply(void 0, ["ConditionalExpression"].concat(args)); +} + +function ContinueStatement() { + for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) { + args[_key12] = arguments[_key12]; + } + + return (0, _builder.default).apply(void 0, ["ContinueStatement"].concat(args)); +} + +function DebuggerStatement() { + for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) { + args[_key13] = arguments[_key13]; + } + + return (0, _builder.default).apply(void 0, ["DebuggerStatement"].concat(args)); +} + +function DoWhileStatement() { + for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) { + args[_key14] = arguments[_key14]; + } + + return (0, _builder.default).apply(void 0, ["DoWhileStatement"].concat(args)); +} + +function EmptyStatement() { + for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) { + args[_key15] = arguments[_key15]; + } + + return (0, _builder.default).apply(void 0, ["EmptyStatement"].concat(args)); +} + +function ExpressionStatement() { + for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) { + args[_key16] = arguments[_key16]; + } + + return (0, _builder.default).apply(void 0, ["ExpressionStatement"].concat(args)); +} + +function File() { + for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) { + args[_key17] = arguments[_key17]; + } + + return (0, _builder.default).apply(void 0, ["File"].concat(args)); +} + +function ForInStatement() { + for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) { + args[_key18] = arguments[_key18]; + } + + return (0, _builder.default).apply(void 0, ["ForInStatement"].concat(args)); +} + +function ForStatement() { + for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) { + args[_key19] = arguments[_key19]; + } + + return (0, _builder.default).apply(void 0, ["ForStatement"].concat(args)); +} + +function FunctionDeclaration() { + for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) { + args[_key20] = arguments[_key20]; + } + + return (0, _builder.default).apply(void 0, ["FunctionDeclaration"].concat(args)); +} + +function FunctionExpression() { + for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) { + args[_key21] = arguments[_key21]; + } + + return (0, _builder.default).apply(void 0, ["FunctionExpression"].concat(args)); +} + +function Identifier() { + for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) { + args[_key22] = arguments[_key22]; + } + + return (0, _builder.default).apply(void 0, ["Identifier"].concat(args)); +} + +function IfStatement() { + for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) { + args[_key23] = arguments[_key23]; + } + + return (0, _builder.default).apply(void 0, ["IfStatement"].concat(args)); +} + +function LabeledStatement() { + for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) { + args[_key24] = arguments[_key24]; + } + + return (0, _builder.default).apply(void 0, ["LabeledStatement"].concat(args)); +} + +function StringLiteral() { + for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) { + args[_key25] = arguments[_key25]; + } + + return (0, _builder.default).apply(void 0, ["StringLiteral"].concat(args)); +} + +function NumericLiteral() { + for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) { + args[_key26] = arguments[_key26]; + } + + return (0, _builder.default).apply(void 0, ["NumericLiteral"].concat(args)); +} + +function NullLiteral() { + for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) { + args[_key27] = arguments[_key27]; + } + + return (0, _builder.default).apply(void 0, ["NullLiteral"].concat(args)); +} + +function BooleanLiteral() { + for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) { + args[_key28] = arguments[_key28]; + } + + return (0, _builder.default).apply(void 0, ["BooleanLiteral"].concat(args)); +} + +function RegExpLiteral() { + for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) { + args[_key29] = arguments[_key29]; + } + + return (0, _builder.default).apply(void 0, ["RegExpLiteral"].concat(args)); +} + +function LogicalExpression() { + for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) { + args[_key30] = arguments[_key30]; + } + + return (0, _builder.default).apply(void 0, ["LogicalExpression"].concat(args)); +} + +function MemberExpression() { + for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) { + args[_key31] = arguments[_key31]; + } + + return (0, _builder.default).apply(void 0, ["MemberExpression"].concat(args)); +} + +function NewExpression() { + for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) { + args[_key32] = arguments[_key32]; + } + + return (0, _builder.default).apply(void 0, ["NewExpression"].concat(args)); +} + +function Program() { + for (var _len33 = arguments.length, args = new Array(_len33), _key33 = 0; _key33 < _len33; _key33++) { + args[_key33] = arguments[_key33]; + } + + return (0, _builder.default).apply(void 0, ["Program"].concat(args)); +} + +function ObjectExpression() { + for (var _len34 = arguments.length, args = new Array(_len34), _key34 = 0; _key34 < _len34; _key34++) { + args[_key34] = arguments[_key34]; + } + + return (0, _builder.default).apply(void 0, ["ObjectExpression"].concat(args)); +} + +function ObjectMethod() { + for (var _len35 = arguments.length, args = new Array(_len35), _key35 = 0; _key35 < _len35; _key35++) { + args[_key35] = arguments[_key35]; + } + + return (0, _builder.default).apply(void 0, ["ObjectMethod"].concat(args)); +} + +function ObjectProperty() { + for (var _len36 = arguments.length, args = new Array(_len36), _key36 = 0; _key36 < _len36; _key36++) { + args[_key36] = arguments[_key36]; + } + + return (0, _builder.default).apply(void 0, ["ObjectProperty"].concat(args)); +} + +function RestElement() { + for (var _len37 = arguments.length, args = new Array(_len37), _key37 = 0; _key37 < _len37; _key37++) { + args[_key37] = arguments[_key37]; + } + + return (0, _builder.default).apply(void 0, ["RestElement"].concat(args)); +} + +function ReturnStatement() { + for (var _len38 = arguments.length, args = new Array(_len38), _key38 = 0; _key38 < _len38; _key38++) { + args[_key38] = arguments[_key38]; + } + + return (0, _builder.default).apply(void 0, ["ReturnStatement"].concat(args)); +} + +function SequenceExpression() { + for (var _len39 = arguments.length, args = new Array(_len39), _key39 = 0; _key39 < _len39; _key39++) { + args[_key39] = arguments[_key39]; + } + + return (0, _builder.default).apply(void 0, ["SequenceExpression"].concat(args)); +} + +function ParenthesizedExpression() { + for (var _len40 = arguments.length, args = new Array(_len40), _key40 = 0; _key40 < _len40; _key40++) { + args[_key40] = arguments[_key40]; + } + + return (0, _builder.default).apply(void 0, ["ParenthesizedExpression"].concat(args)); +} + +function SwitchCase() { + for (var _len41 = arguments.length, args = new Array(_len41), _key41 = 0; _key41 < _len41; _key41++) { + args[_key41] = arguments[_key41]; + } + + return (0, _builder.default).apply(void 0, ["SwitchCase"].concat(args)); +} + +function SwitchStatement() { + for (var _len42 = arguments.length, args = new Array(_len42), _key42 = 0; _key42 < _len42; _key42++) { + args[_key42] = arguments[_key42]; + } + + return (0, _builder.default).apply(void 0, ["SwitchStatement"].concat(args)); +} + +function ThisExpression() { + for (var _len43 = arguments.length, args = new Array(_len43), _key43 = 0; _key43 < _len43; _key43++) { + args[_key43] = arguments[_key43]; + } + + return (0, _builder.default).apply(void 0, ["ThisExpression"].concat(args)); +} + +function ThrowStatement() { + for (var _len44 = arguments.length, args = new Array(_len44), _key44 = 0; _key44 < _len44; _key44++) { + args[_key44] = arguments[_key44]; + } + + return (0, _builder.default).apply(void 0, ["ThrowStatement"].concat(args)); +} + +function TryStatement() { + for (var _len45 = arguments.length, args = new Array(_len45), _key45 = 0; _key45 < _len45; _key45++) { + args[_key45] = arguments[_key45]; + } + + return (0, _builder.default).apply(void 0, ["TryStatement"].concat(args)); +} + +function UnaryExpression() { + for (var _len46 = arguments.length, args = new Array(_len46), _key46 = 0; _key46 < _len46; _key46++) { + args[_key46] = arguments[_key46]; + } + + return (0, _builder.default).apply(void 0, ["UnaryExpression"].concat(args)); +} + +function UpdateExpression() { + for (var _len47 = arguments.length, args = new Array(_len47), _key47 = 0; _key47 < _len47; _key47++) { + args[_key47] = arguments[_key47]; + } + + return (0, _builder.default).apply(void 0, ["UpdateExpression"].concat(args)); +} + +function VariableDeclaration() { + for (var _len48 = arguments.length, args = new Array(_len48), _key48 = 0; _key48 < _len48; _key48++) { + args[_key48] = arguments[_key48]; + } + + return (0, _builder.default).apply(void 0, ["VariableDeclaration"].concat(args)); +} + +function VariableDeclarator() { + for (var _len49 = arguments.length, args = new Array(_len49), _key49 = 0; _key49 < _len49; _key49++) { + args[_key49] = arguments[_key49]; + } + + return (0, _builder.default).apply(void 0, ["VariableDeclarator"].concat(args)); +} + +function WhileStatement() { + for (var _len50 = arguments.length, args = new Array(_len50), _key50 = 0; _key50 < _len50; _key50++) { + args[_key50] = arguments[_key50]; + } + + return (0, _builder.default).apply(void 0, ["WhileStatement"].concat(args)); +} + +function WithStatement() { + for (var _len51 = arguments.length, args = new Array(_len51), _key51 = 0; _key51 < _len51; _key51++) { + args[_key51] = arguments[_key51]; + } + + return (0, _builder.default).apply(void 0, ["WithStatement"].concat(args)); +} + +function AssignmentPattern() { + for (var _len52 = arguments.length, args = new Array(_len52), _key52 = 0; _key52 < _len52; _key52++) { + args[_key52] = arguments[_key52]; + } + + return (0, _builder.default).apply(void 0, ["AssignmentPattern"].concat(args)); +} + +function ArrayPattern() { + for (var _len53 = arguments.length, args = new Array(_len53), _key53 = 0; _key53 < _len53; _key53++) { + args[_key53] = arguments[_key53]; + } + + return (0, _builder.default).apply(void 0, ["ArrayPattern"].concat(args)); +} + +function ArrowFunctionExpression() { + for (var _len54 = arguments.length, args = new Array(_len54), _key54 = 0; _key54 < _len54; _key54++) { + args[_key54] = arguments[_key54]; + } + + return (0, _builder.default).apply(void 0, ["ArrowFunctionExpression"].concat(args)); +} + +function ClassBody() { + for (var _len55 = arguments.length, args = new Array(_len55), _key55 = 0; _key55 < _len55; _key55++) { + args[_key55] = arguments[_key55]; + } + + return (0, _builder.default).apply(void 0, ["ClassBody"].concat(args)); +} + +function ClassDeclaration() { + for (var _len56 = arguments.length, args = new Array(_len56), _key56 = 0; _key56 < _len56; _key56++) { + args[_key56] = arguments[_key56]; + } + + return (0, _builder.default).apply(void 0, ["ClassDeclaration"].concat(args)); +} + +function ClassExpression() { + for (var _len57 = arguments.length, args = new Array(_len57), _key57 = 0; _key57 < _len57; _key57++) { + args[_key57] = arguments[_key57]; + } + + return (0, _builder.default).apply(void 0, ["ClassExpression"].concat(args)); +} + +function ExportAllDeclaration() { + for (var _len58 = arguments.length, args = new Array(_len58), _key58 = 0; _key58 < _len58; _key58++) { + args[_key58] = arguments[_key58]; + } + + return (0, _builder.default).apply(void 0, ["ExportAllDeclaration"].concat(args)); +} + +function ExportDefaultDeclaration() { + for (var _len59 = arguments.length, args = new Array(_len59), _key59 = 0; _key59 < _len59; _key59++) { + args[_key59] = arguments[_key59]; + } + + return (0, _builder.default).apply(void 0, ["ExportDefaultDeclaration"].concat(args)); +} + +function ExportNamedDeclaration() { + for (var _len60 = arguments.length, args = new Array(_len60), _key60 = 0; _key60 < _len60; _key60++) { + args[_key60] = arguments[_key60]; + } + + return (0, _builder.default).apply(void 0, ["ExportNamedDeclaration"].concat(args)); +} + +function ExportSpecifier() { + for (var _len61 = arguments.length, args = new Array(_len61), _key61 = 0; _key61 < _len61; _key61++) { + args[_key61] = arguments[_key61]; + } + + return (0, _builder.default).apply(void 0, ["ExportSpecifier"].concat(args)); +} + +function ForOfStatement() { + for (var _len62 = arguments.length, args = new Array(_len62), _key62 = 0; _key62 < _len62; _key62++) { + args[_key62] = arguments[_key62]; + } + + return (0, _builder.default).apply(void 0, ["ForOfStatement"].concat(args)); +} + +function ImportDeclaration() { + for (var _len63 = arguments.length, args = new Array(_len63), _key63 = 0; _key63 < _len63; _key63++) { + args[_key63] = arguments[_key63]; + } + + return (0, _builder.default).apply(void 0, ["ImportDeclaration"].concat(args)); +} + +function ImportDefaultSpecifier() { + for (var _len64 = arguments.length, args = new Array(_len64), _key64 = 0; _key64 < _len64; _key64++) { + args[_key64] = arguments[_key64]; + } + + return (0, _builder.default).apply(void 0, ["ImportDefaultSpecifier"].concat(args)); +} + +function ImportNamespaceSpecifier() { + for (var _len65 = arguments.length, args = new Array(_len65), _key65 = 0; _key65 < _len65; _key65++) { + args[_key65] = arguments[_key65]; + } + + return (0, _builder.default).apply(void 0, ["ImportNamespaceSpecifier"].concat(args)); +} + +function ImportSpecifier() { + for (var _len66 = arguments.length, args = new Array(_len66), _key66 = 0; _key66 < _len66; _key66++) { + args[_key66] = arguments[_key66]; + } + + return (0, _builder.default).apply(void 0, ["ImportSpecifier"].concat(args)); +} + +function MetaProperty() { + for (var _len67 = arguments.length, args = new Array(_len67), _key67 = 0; _key67 < _len67; _key67++) { + args[_key67] = arguments[_key67]; + } + + return (0, _builder.default).apply(void 0, ["MetaProperty"].concat(args)); +} + +function ClassMethod() { + for (var _len68 = arguments.length, args = new Array(_len68), _key68 = 0; _key68 < _len68; _key68++) { + args[_key68] = arguments[_key68]; + } + + return (0, _builder.default).apply(void 0, ["ClassMethod"].concat(args)); +} + +function ObjectPattern() { + for (var _len69 = arguments.length, args = new Array(_len69), _key69 = 0; _key69 < _len69; _key69++) { + args[_key69] = arguments[_key69]; + } + + return (0, _builder.default).apply(void 0, ["ObjectPattern"].concat(args)); +} + +function SpreadElement() { + for (var _len70 = arguments.length, args = new Array(_len70), _key70 = 0; _key70 < _len70; _key70++) { + args[_key70] = arguments[_key70]; + } + + return (0, _builder.default).apply(void 0, ["SpreadElement"].concat(args)); +} + +function Super() { + for (var _len71 = arguments.length, args = new Array(_len71), _key71 = 0; _key71 < _len71; _key71++) { + args[_key71] = arguments[_key71]; + } + + return (0, _builder.default).apply(void 0, ["Super"].concat(args)); +} + +function TaggedTemplateExpression() { + for (var _len72 = arguments.length, args = new Array(_len72), _key72 = 0; _key72 < _len72; _key72++) { + args[_key72] = arguments[_key72]; + } + + return (0, _builder.default).apply(void 0, ["TaggedTemplateExpression"].concat(args)); +} + +function TemplateElement() { + for (var _len73 = arguments.length, args = new Array(_len73), _key73 = 0; _key73 < _len73; _key73++) { + args[_key73] = arguments[_key73]; + } + + return (0, _builder.default).apply(void 0, ["TemplateElement"].concat(args)); +} + +function TemplateLiteral() { + for (var _len74 = arguments.length, args = new Array(_len74), _key74 = 0; _key74 < _len74; _key74++) { + args[_key74] = arguments[_key74]; + } + + return (0, _builder.default).apply(void 0, ["TemplateLiteral"].concat(args)); +} + +function YieldExpression() { + for (var _len75 = arguments.length, args = new Array(_len75), _key75 = 0; _key75 < _len75; _key75++) { + args[_key75] = arguments[_key75]; + } + + return (0, _builder.default).apply(void 0, ["YieldExpression"].concat(args)); +} + +function AnyTypeAnnotation() { + for (var _len76 = arguments.length, args = new Array(_len76), _key76 = 0; _key76 < _len76; _key76++) { + args[_key76] = arguments[_key76]; + } + + return (0, _builder.default).apply(void 0, ["AnyTypeAnnotation"].concat(args)); +} + +function ArrayTypeAnnotation() { + for (var _len77 = arguments.length, args = new Array(_len77), _key77 = 0; _key77 < _len77; _key77++) { + args[_key77] = arguments[_key77]; + } + + return (0, _builder.default).apply(void 0, ["ArrayTypeAnnotation"].concat(args)); +} + +function BooleanTypeAnnotation() { + for (var _len78 = arguments.length, args = new Array(_len78), _key78 = 0; _key78 < _len78; _key78++) { + args[_key78] = arguments[_key78]; + } + + return (0, _builder.default).apply(void 0, ["BooleanTypeAnnotation"].concat(args)); +} + +function BooleanLiteralTypeAnnotation() { + for (var _len79 = arguments.length, args = new Array(_len79), _key79 = 0; _key79 < _len79; _key79++) { + args[_key79] = arguments[_key79]; + } + + return (0, _builder.default).apply(void 0, ["BooleanLiteralTypeAnnotation"].concat(args)); +} + +function NullLiteralTypeAnnotation() { + for (var _len80 = arguments.length, args = new Array(_len80), _key80 = 0; _key80 < _len80; _key80++) { + args[_key80] = arguments[_key80]; + } + + return (0, _builder.default).apply(void 0, ["NullLiteralTypeAnnotation"].concat(args)); +} + +function ClassImplements() { + for (var _len81 = arguments.length, args = new Array(_len81), _key81 = 0; _key81 < _len81; _key81++) { + args[_key81] = arguments[_key81]; + } + + return (0, _builder.default).apply(void 0, ["ClassImplements"].concat(args)); +} + +function DeclareClass() { + for (var _len82 = arguments.length, args = new Array(_len82), _key82 = 0; _key82 < _len82; _key82++) { + args[_key82] = arguments[_key82]; + } + + return (0, _builder.default).apply(void 0, ["DeclareClass"].concat(args)); +} + +function DeclareFunction() { + for (var _len83 = arguments.length, args = new Array(_len83), _key83 = 0; _key83 < _len83; _key83++) { + args[_key83] = arguments[_key83]; + } + + return (0, _builder.default).apply(void 0, ["DeclareFunction"].concat(args)); +} + +function DeclareInterface() { + for (var _len84 = arguments.length, args = new Array(_len84), _key84 = 0; _key84 < _len84; _key84++) { + args[_key84] = arguments[_key84]; + } + + return (0, _builder.default).apply(void 0, ["DeclareInterface"].concat(args)); +} + +function DeclareModule() { + for (var _len85 = arguments.length, args = new Array(_len85), _key85 = 0; _key85 < _len85; _key85++) { + args[_key85] = arguments[_key85]; + } + + return (0, _builder.default).apply(void 0, ["DeclareModule"].concat(args)); +} + +function DeclareModuleExports() { + for (var _len86 = arguments.length, args = new Array(_len86), _key86 = 0; _key86 < _len86; _key86++) { + args[_key86] = arguments[_key86]; + } + + return (0, _builder.default).apply(void 0, ["DeclareModuleExports"].concat(args)); +} + +function DeclareTypeAlias() { + for (var _len87 = arguments.length, args = new Array(_len87), _key87 = 0; _key87 < _len87; _key87++) { + args[_key87] = arguments[_key87]; + } + + return (0, _builder.default).apply(void 0, ["DeclareTypeAlias"].concat(args)); +} + +function DeclareOpaqueType() { + for (var _len88 = arguments.length, args = new Array(_len88), _key88 = 0; _key88 < _len88; _key88++) { + args[_key88] = arguments[_key88]; + } + + return (0, _builder.default).apply(void 0, ["DeclareOpaqueType"].concat(args)); +} + +function DeclareVariable() { + for (var _len89 = arguments.length, args = new Array(_len89), _key89 = 0; _key89 < _len89; _key89++) { + args[_key89] = arguments[_key89]; + } + + return (0, _builder.default).apply(void 0, ["DeclareVariable"].concat(args)); +} + +function DeclareExportDeclaration() { + for (var _len90 = arguments.length, args = new Array(_len90), _key90 = 0; _key90 < _len90; _key90++) { + args[_key90] = arguments[_key90]; + } + + return (0, _builder.default).apply(void 0, ["DeclareExportDeclaration"].concat(args)); +} + +function DeclareExportAllDeclaration() { + for (var _len91 = arguments.length, args = new Array(_len91), _key91 = 0; _key91 < _len91; _key91++) { + args[_key91] = arguments[_key91]; + } + + return (0, _builder.default).apply(void 0, ["DeclareExportAllDeclaration"].concat(args)); +} + +function DeclaredPredicate() { + for (var _len92 = arguments.length, args = new Array(_len92), _key92 = 0; _key92 < _len92; _key92++) { + args[_key92] = arguments[_key92]; + } + + return (0, _builder.default).apply(void 0, ["DeclaredPredicate"].concat(args)); +} + +function ExistsTypeAnnotation() { + for (var _len93 = arguments.length, args = new Array(_len93), _key93 = 0; _key93 < _len93; _key93++) { + args[_key93] = arguments[_key93]; + } + + return (0, _builder.default).apply(void 0, ["ExistsTypeAnnotation"].concat(args)); +} + +function FunctionTypeAnnotation() { + for (var _len94 = arguments.length, args = new Array(_len94), _key94 = 0; _key94 < _len94; _key94++) { + args[_key94] = arguments[_key94]; + } + + return (0, _builder.default).apply(void 0, ["FunctionTypeAnnotation"].concat(args)); +} + +function FunctionTypeParam() { + for (var _len95 = arguments.length, args = new Array(_len95), _key95 = 0; _key95 < _len95; _key95++) { + args[_key95] = arguments[_key95]; + } + + return (0, _builder.default).apply(void 0, ["FunctionTypeParam"].concat(args)); +} + +function GenericTypeAnnotation() { + for (var _len96 = arguments.length, args = new Array(_len96), _key96 = 0; _key96 < _len96; _key96++) { + args[_key96] = arguments[_key96]; + } + + return (0, _builder.default).apply(void 0, ["GenericTypeAnnotation"].concat(args)); +} + +function InferredPredicate() { + for (var _len97 = arguments.length, args = new Array(_len97), _key97 = 0; _key97 < _len97; _key97++) { + args[_key97] = arguments[_key97]; + } + + return (0, _builder.default).apply(void 0, ["InferredPredicate"].concat(args)); +} + +function InterfaceExtends() { + for (var _len98 = arguments.length, args = new Array(_len98), _key98 = 0; _key98 < _len98; _key98++) { + args[_key98] = arguments[_key98]; + } + + return (0, _builder.default).apply(void 0, ["InterfaceExtends"].concat(args)); +} + +function InterfaceDeclaration() { + for (var _len99 = arguments.length, args = new Array(_len99), _key99 = 0; _key99 < _len99; _key99++) { + args[_key99] = arguments[_key99]; + } + + return (0, _builder.default).apply(void 0, ["InterfaceDeclaration"].concat(args)); +} + +function InterfaceTypeAnnotation() { + for (var _len100 = arguments.length, args = new Array(_len100), _key100 = 0; _key100 < _len100; _key100++) { + args[_key100] = arguments[_key100]; + } + + return (0, _builder.default).apply(void 0, ["InterfaceTypeAnnotation"].concat(args)); +} + +function IntersectionTypeAnnotation() { + for (var _len101 = arguments.length, args = new Array(_len101), _key101 = 0; _key101 < _len101; _key101++) { + args[_key101] = arguments[_key101]; + } + + return (0, _builder.default).apply(void 0, ["IntersectionTypeAnnotation"].concat(args)); +} + +function MixedTypeAnnotation() { + for (var _len102 = arguments.length, args = new Array(_len102), _key102 = 0; _key102 < _len102; _key102++) { + args[_key102] = arguments[_key102]; + } + + return (0, _builder.default).apply(void 0, ["MixedTypeAnnotation"].concat(args)); +} + +function EmptyTypeAnnotation() { + for (var _len103 = arguments.length, args = new Array(_len103), _key103 = 0; _key103 < _len103; _key103++) { + args[_key103] = arguments[_key103]; + } + + return (0, _builder.default).apply(void 0, ["EmptyTypeAnnotation"].concat(args)); +} + +function NullableTypeAnnotation() { + for (var _len104 = arguments.length, args = new Array(_len104), _key104 = 0; _key104 < _len104; _key104++) { + args[_key104] = arguments[_key104]; + } + + return (0, _builder.default).apply(void 0, ["NullableTypeAnnotation"].concat(args)); +} + +function NumberLiteralTypeAnnotation() { + for (var _len105 = arguments.length, args = new Array(_len105), _key105 = 0; _key105 < _len105; _key105++) { + args[_key105] = arguments[_key105]; + } + + return (0, _builder.default).apply(void 0, ["NumberLiteralTypeAnnotation"].concat(args)); +} + +function NumberTypeAnnotation() { + for (var _len106 = arguments.length, args = new Array(_len106), _key106 = 0; _key106 < _len106; _key106++) { + args[_key106] = arguments[_key106]; + } + + return (0, _builder.default).apply(void 0, ["NumberTypeAnnotation"].concat(args)); +} + +function ObjectTypeAnnotation() { + for (var _len107 = arguments.length, args = new Array(_len107), _key107 = 0; _key107 < _len107; _key107++) { + args[_key107] = arguments[_key107]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeAnnotation"].concat(args)); +} + +function ObjectTypeInternalSlot() { + for (var _len108 = arguments.length, args = new Array(_len108), _key108 = 0; _key108 < _len108; _key108++) { + args[_key108] = arguments[_key108]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeInternalSlot"].concat(args)); +} + +function ObjectTypeCallProperty() { + for (var _len109 = arguments.length, args = new Array(_len109), _key109 = 0; _key109 < _len109; _key109++) { + args[_key109] = arguments[_key109]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeCallProperty"].concat(args)); +} + +function ObjectTypeIndexer() { + for (var _len110 = arguments.length, args = new Array(_len110), _key110 = 0; _key110 < _len110; _key110++) { + args[_key110] = arguments[_key110]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeIndexer"].concat(args)); +} + +function ObjectTypeProperty() { + for (var _len111 = arguments.length, args = new Array(_len111), _key111 = 0; _key111 < _len111; _key111++) { + args[_key111] = arguments[_key111]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeProperty"].concat(args)); +} + +function ObjectTypeSpreadProperty() { + for (var _len112 = arguments.length, args = new Array(_len112), _key112 = 0; _key112 < _len112; _key112++) { + args[_key112] = arguments[_key112]; + } + + return (0, _builder.default).apply(void 0, ["ObjectTypeSpreadProperty"].concat(args)); +} + +function OpaqueType() { + for (var _len113 = arguments.length, args = new Array(_len113), _key113 = 0; _key113 < _len113; _key113++) { + args[_key113] = arguments[_key113]; + } + + return (0, _builder.default).apply(void 0, ["OpaqueType"].concat(args)); +} + +function QualifiedTypeIdentifier() { + for (var _len114 = arguments.length, args = new Array(_len114), _key114 = 0; _key114 < _len114; _key114++) { + args[_key114] = arguments[_key114]; + } + + return (0, _builder.default).apply(void 0, ["QualifiedTypeIdentifier"].concat(args)); +} + +function StringLiteralTypeAnnotation() { + for (var _len115 = arguments.length, args = new Array(_len115), _key115 = 0; _key115 < _len115; _key115++) { + args[_key115] = arguments[_key115]; + } + + return (0, _builder.default).apply(void 0, ["StringLiteralTypeAnnotation"].concat(args)); +} + +function StringTypeAnnotation() { + for (var _len116 = arguments.length, args = new Array(_len116), _key116 = 0; _key116 < _len116; _key116++) { + args[_key116] = arguments[_key116]; + } + + return (0, _builder.default).apply(void 0, ["StringTypeAnnotation"].concat(args)); +} + +function ThisTypeAnnotation() { + for (var _len117 = arguments.length, args = new Array(_len117), _key117 = 0; _key117 < _len117; _key117++) { + args[_key117] = arguments[_key117]; + } + + return (0, _builder.default).apply(void 0, ["ThisTypeAnnotation"].concat(args)); +} + +function TupleTypeAnnotation() { + for (var _len118 = arguments.length, args = new Array(_len118), _key118 = 0; _key118 < _len118; _key118++) { + args[_key118] = arguments[_key118]; + } + + return (0, _builder.default).apply(void 0, ["TupleTypeAnnotation"].concat(args)); +} + +function TypeofTypeAnnotation() { + for (var _len119 = arguments.length, args = new Array(_len119), _key119 = 0; _key119 < _len119; _key119++) { + args[_key119] = arguments[_key119]; + } + + return (0, _builder.default).apply(void 0, ["TypeofTypeAnnotation"].concat(args)); +} + +function TypeAlias() { + for (var _len120 = arguments.length, args = new Array(_len120), _key120 = 0; _key120 < _len120; _key120++) { + args[_key120] = arguments[_key120]; + } + + return (0, _builder.default).apply(void 0, ["TypeAlias"].concat(args)); +} + +function TypeAnnotation() { + for (var _len121 = arguments.length, args = new Array(_len121), _key121 = 0; _key121 < _len121; _key121++) { + args[_key121] = arguments[_key121]; + } + + return (0, _builder.default).apply(void 0, ["TypeAnnotation"].concat(args)); +} + +function TypeCastExpression() { + for (var _len122 = arguments.length, args = new Array(_len122), _key122 = 0; _key122 < _len122; _key122++) { + args[_key122] = arguments[_key122]; + } + + return (0, _builder.default).apply(void 0, ["TypeCastExpression"].concat(args)); +} + +function TypeParameter() { + for (var _len123 = arguments.length, args = new Array(_len123), _key123 = 0; _key123 < _len123; _key123++) { + args[_key123] = arguments[_key123]; + } + + return (0, _builder.default).apply(void 0, ["TypeParameter"].concat(args)); +} + +function TypeParameterDeclaration() { + for (var _len124 = arguments.length, args = new Array(_len124), _key124 = 0; _key124 < _len124; _key124++) { + args[_key124] = arguments[_key124]; + } + + return (0, _builder.default).apply(void 0, ["TypeParameterDeclaration"].concat(args)); +} + +function TypeParameterInstantiation() { + for (var _len125 = arguments.length, args = new Array(_len125), _key125 = 0; _key125 < _len125; _key125++) { + args[_key125] = arguments[_key125]; + } + + return (0, _builder.default).apply(void 0, ["TypeParameterInstantiation"].concat(args)); +} + +function UnionTypeAnnotation() { + for (var _len126 = arguments.length, args = new Array(_len126), _key126 = 0; _key126 < _len126; _key126++) { + args[_key126] = arguments[_key126]; + } + + return (0, _builder.default).apply(void 0, ["UnionTypeAnnotation"].concat(args)); +} + +function Variance() { + for (var _len127 = arguments.length, args = new Array(_len127), _key127 = 0; _key127 < _len127; _key127++) { + args[_key127] = arguments[_key127]; + } + + return (0, _builder.default).apply(void 0, ["Variance"].concat(args)); +} + +function VoidTypeAnnotation() { + for (var _len128 = arguments.length, args = new Array(_len128), _key128 = 0; _key128 < _len128; _key128++) { + args[_key128] = arguments[_key128]; + } + + return (0, _builder.default).apply(void 0, ["VoidTypeAnnotation"].concat(args)); +} + +function EnumDeclaration() { + for (var _len129 = arguments.length, args = new Array(_len129), _key129 = 0; _key129 < _len129; _key129++) { + args[_key129] = arguments[_key129]; + } + + return (0, _builder.default).apply(void 0, ["EnumDeclaration"].concat(args)); +} + +function EnumBooleanBody() { + for (var _len130 = arguments.length, args = new Array(_len130), _key130 = 0; _key130 < _len130; _key130++) { + args[_key130] = arguments[_key130]; + } + + return (0, _builder.default).apply(void 0, ["EnumBooleanBody"].concat(args)); +} + +function EnumNumberBody() { + for (var _len131 = arguments.length, args = new Array(_len131), _key131 = 0; _key131 < _len131; _key131++) { + args[_key131] = arguments[_key131]; + } + + return (0, _builder.default).apply(void 0, ["EnumNumberBody"].concat(args)); +} + +function EnumStringBody() { + for (var _len132 = arguments.length, args = new Array(_len132), _key132 = 0; _key132 < _len132; _key132++) { + args[_key132] = arguments[_key132]; + } + + return (0, _builder.default).apply(void 0, ["EnumStringBody"].concat(args)); +} + +function EnumSymbolBody() { + for (var _len133 = arguments.length, args = new Array(_len133), _key133 = 0; _key133 < _len133; _key133++) { + args[_key133] = arguments[_key133]; + } + + return (0, _builder.default).apply(void 0, ["EnumSymbolBody"].concat(args)); +} + +function EnumBooleanMember() { + for (var _len134 = arguments.length, args = new Array(_len134), _key134 = 0; _key134 < _len134; _key134++) { + args[_key134] = arguments[_key134]; + } + + return (0, _builder.default).apply(void 0, ["EnumBooleanMember"].concat(args)); +} + +function EnumNumberMember() { + for (var _len135 = arguments.length, args = new Array(_len135), _key135 = 0; _key135 < _len135; _key135++) { + args[_key135] = arguments[_key135]; + } + + return (0, _builder.default).apply(void 0, ["EnumNumberMember"].concat(args)); +} + +function EnumStringMember() { + for (var _len136 = arguments.length, args = new Array(_len136), _key136 = 0; _key136 < _len136; _key136++) { + args[_key136] = arguments[_key136]; + } + + return (0, _builder.default).apply(void 0, ["EnumStringMember"].concat(args)); +} + +function EnumDefaultedMember() { + for (var _len137 = arguments.length, args = new Array(_len137), _key137 = 0; _key137 < _len137; _key137++) { + args[_key137] = arguments[_key137]; + } + + return (0, _builder.default).apply(void 0, ["EnumDefaultedMember"].concat(args)); +} + +function JSXAttribute() { + for (var _len138 = arguments.length, args = new Array(_len138), _key138 = 0; _key138 < _len138; _key138++) { + args[_key138] = arguments[_key138]; + } + + return (0, _builder.default).apply(void 0, ["JSXAttribute"].concat(args)); +} + +function JSXClosingElement() { + for (var _len139 = arguments.length, args = new Array(_len139), _key139 = 0; _key139 < _len139; _key139++) { + args[_key139] = arguments[_key139]; + } + + return (0, _builder.default).apply(void 0, ["JSXClosingElement"].concat(args)); +} + +function JSXElement() { + for (var _len140 = arguments.length, args = new Array(_len140), _key140 = 0; _key140 < _len140; _key140++) { + args[_key140] = arguments[_key140]; + } + + return (0, _builder.default).apply(void 0, ["JSXElement"].concat(args)); +} + +function JSXEmptyExpression() { + for (var _len141 = arguments.length, args = new Array(_len141), _key141 = 0; _key141 < _len141; _key141++) { + args[_key141] = arguments[_key141]; + } + + return (0, _builder.default).apply(void 0, ["JSXEmptyExpression"].concat(args)); +} + +function JSXExpressionContainer() { + for (var _len142 = arguments.length, args = new Array(_len142), _key142 = 0; _key142 < _len142; _key142++) { + args[_key142] = arguments[_key142]; + } + + return (0, _builder.default).apply(void 0, ["JSXExpressionContainer"].concat(args)); +} + +function JSXSpreadChild() { + for (var _len143 = arguments.length, args = new Array(_len143), _key143 = 0; _key143 < _len143; _key143++) { + args[_key143] = arguments[_key143]; + } + + return (0, _builder.default).apply(void 0, ["JSXSpreadChild"].concat(args)); +} + +function JSXIdentifier() { + for (var _len144 = arguments.length, args = new Array(_len144), _key144 = 0; _key144 < _len144; _key144++) { + args[_key144] = arguments[_key144]; + } + + return (0, _builder.default).apply(void 0, ["JSXIdentifier"].concat(args)); +} + +function JSXMemberExpression() { + for (var _len145 = arguments.length, args = new Array(_len145), _key145 = 0; _key145 < _len145; _key145++) { + args[_key145] = arguments[_key145]; + } + + return (0, _builder.default).apply(void 0, ["JSXMemberExpression"].concat(args)); +} + +function JSXNamespacedName() { + for (var _len146 = arguments.length, args = new Array(_len146), _key146 = 0; _key146 < _len146; _key146++) { + args[_key146] = arguments[_key146]; + } + + return (0, _builder.default).apply(void 0, ["JSXNamespacedName"].concat(args)); +} + +function JSXOpeningElement() { + for (var _len147 = arguments.length, args = new Array(_len147), _key147 = 0; _key147 < _len147; _key147++) { + args[_key147] = arguments[_key147]; + } + + return (0, _builder.default).apply(void 0, ["JSXOpeningElement"].concat(args)); +} + +function JSXSpreadAttribute() { + for (var _len148 = arguments.length, args = new Array(_len148), _key148 = 0; _key148 < _len148; _key148++) { + args[_key148] = arguments[_key148]; + } + + return (0, _builder.default).apply(void 0, ["JSXSpreadAttribute"].concat(args)); +} + +function JSXText() { + for (var _len149 = arguments.length, args = new Array(_len149), _key149 = 0; _key149 < _len149; _key149++) { + args[_key149] = arguments[_key149]; + } + + return (0, _builder.default).apply(void 0, ["JSXText"].concat(args)); +} + +function JSXFragment() { + for (var _len150 = arguments.length, args = new Array(_len150), _key150 = 0; _key150 < _len150; _key150++) { + args[_key150] = arguments[_key150]; + } + + return (0, _builder.default).apply(void 0, ["JSXFragment"].concat(args)); +} + +function JSXOpeningFragment() { + for (var _len151 = arguments.length, args = new Array(_len151), _key151 = 0; _key151 < _len151; _key151++) { + args[_key151] = arguments[_key151]; + } + + return (0, _builder.default).apply(void 0, ["JSXOpeningFragment"].concat(args)); +} + +function JSXClosingFragment() { + for (var _len152 = arguments.length, args = new Array(_len152), _key152 = 0; _key152 < _len152; _key152++) { + args[_key152] = arguments[_key152]; + } + + return (0, _builder.default).apply(void 0, ["JSXClosingFragment"].concat(args)); +} + +function Noop() { + for (var _len153 = arguments.length, args = new Array(_len153), _key153 = 0; _key153 < _len153; _key153++) { + args[_key153] = arguments[_key153]; + } + + return (0, _builder.default).apply(void 0, ["Noop"].concat(args)); +} + +function Placeholder() { + for (var _len154 = arguments.length, args = new Array(_len154), _key154 = 0; _key154 < _len154; _key154++) { + args[_key154] = arguments[_key154]; + } + + return (0, _builder.default).apply(void 0, ["Placeholder"].concat(args)); +} + +function V8IntrinsicIdentifier() { + for (var _len155 = arguments.length, args = new Array(_len155), _key155 = 0; _key155 < _len155; _key155++) { + args[_key155] = arguments[_key155]; + } + + return (0, _builder.default).apply(void 0, ["V8IntrinsicIdentifier"].concat(args)); +} + +function ArgumentPlaceholder() { + for (var _len156 = arguments.length, args = new Array(_len156), _key156 = 0; _key156 < _len156; _key156++) { + args[_key156] = arguments[_key156]; + } + + return (0, _builder.default).apply(void 0, ["ArgumentPlaceholder"].concat(args)); +} + +function AwaitExpression() { + for (var _len157 = arguments.length, args = new Array(_len157), _key157 = 0; _key157 < _len157; _key157++) { + args[_key157] = arguments[_key157]; + } + + return (0, _builder.default).apply(void 0, ["AwaitExpression"].concat(args)); +} + +function BindExpression() { + for (var _len158 = arguments.length, args = new Array(_len158), _key158 = 0; _key158 < _len158; _key158++) { + args[_key158] = arguments[_key158]; + } + + return (0, _builder.default).apply(void 0, ["BindExpression"].concat(args)); +} + +function ClassProperty() { + for (var _len159 = arguments.length, args = new Array(_len159), _key159 = 0; _key159 < _len159; _key159++) { + args[_key159] = arguments[_key159]; + } + + return (0, _builder.default).apply(void 0, ["ClassProperty"].concat(args)); +} + +function OptionalMemberExpression() { + for (var _len160 = arguments.length, args = new Array(_len160), _key160 = 0; _key160 < _len160; _key160++) { + args[_key160] = arguments[_key160]; + } + + return (0, _builder.default).apply(void 0, ["OptionalMemberExpression"].concat(args)); +} + +function PipelineTopicExpression() { + for (var _len161 = arguments.length, args = new Array(_len161), _key161 = 0; _key161 < _len161; _key161++) { + args[_key161] = arguments[_key161]; + } + + return (0, _builder.default).apply(void 0, ["PipelineTopicExpression"].concat(args)); +} + +function PipelineBareFunction() { + for (var _len162 = arguments.length, args = new Array(_len162), _key162 = 0; _key162 < _len162; _key162++) { + args[_key162] = arguments[_key162]; + } + + return (0, _builder.default).apply(void 0, ["PipelineBareFunction"].concat(args)); +} + +function PipelinePrimaryTopicReference() { + for (var _len163 = arguments.length, args = new Array(_len163), _key163 = 0; _key163 < _len163; _key163++) { + args[_key163] = arguments[_key163]; + } + + return (0, _builder.default).apply(void 0, ["PipelinePrimaryTopicReference"].concat(args)); +} + +function OptionalCallExpression() { + for (var _len164 = arguments.length, args = new Array(_len164), _key164 = 0; _key164 < _len164; _key164++) { + args[_key164] = arguments[_key164]; + } + + return (0, _builder.default).apply(void 0, ["OptionalCallExpression"].concat(args)); +} + +function ClassPrivateProperty() { + for (var _len165 = arguments.length, args = new Array(_len165), _key165 = 0; _key165 < _len165; _key165++) { + args[_key165] = arguments[_key165]; + } + + return (0, _builder.default).apply(void 0, ["ClassPrivateProperty"].concat(args)); +} + +function ClassPrivateMethod() { + for (var _len166 = arguments.length, args = new Array(_len166), _key166 = 0; _key166 < _len166; _key166++) { + args[_key166] = arguments[_key166]; + } + + return (0, _builder.default).apply(void 0, ["ClassPrivateMethod"].concat(args)); +} + +function Import() { + for (var _len167 = arguments.length, args = new Array(_len167), _key167 = 0; _key167 < _len167; _key167++) { + args[_key167] = arguments[_key167]; + } + + return (0, _builder.default).apply(void 0, ["Import"].concat(args)); +} + +function Decorator() { + for (var _len168 = arguments.length, args = new Array(_len168), _key168 = 0; _key168 < _len168; _key168++) { + args[_key168] = arguments[_key168]; + } + + return (0, _builder.default).apply(void 0, ["Decorator"].concat(args)); +} + +function DoExpression() { + for (var _len169 = arguments.length, args = new Array(_len169), _key169 = 0; _key169 < _len169; _key169++) { + args[_key169] = arguments[_key169]; + } + + return (0, _builder.default).apply(void 0, ["DoExpression"].concat(args)); +} + +function ExportDefaultSpecifier() { + for (var _len170 = arguments.length, args = new Array(_len170), _key170 = 0; _key170 < _len170; _key170++) { + args[_key170] = arguments[_key170]; + } + + return (0, _builder.default).apply(void 0, ["ExportDefaultSpecifier"].concat(args)); +} + +function ExportNamespaceSpecifier() { + for (var _len171 = arguments.length, args = new Array(_len171), _key171 = 0; _key171 < _len171; _key171++) { + args[_key171] = arguments[_key171]; + } + + return (0, _builder.default).apply(void 0, ["ExportNamespaceSpecifier"].concat(args)); +} + +function PrivateName() { + for (var _len172 = arguments.length, args = new Array(_len172), _key172 = 0; _key172 < _len172; _key172++) { + args[_key172] = arguments[_key172]; + } + + return (0, _builder.default).apply(void 0, ["PrivateName"].concat(args)); +} + +function BigIntLiteral() { + for (var _len173 = arguments.length, args = new Array(_len173), _key173 = 0; _key173 < _len173; _key173++) { + args[_key173] = arguments[_key173]; + } + + return (0, _builder.default).apply(void 0, ["BigIntLiteral"].concat(args)); +} + +function TSParameterProperty() { + for (var _len174 = arguments.length, args = new Array(_len174), _key174 = 0; _key174 < _len174; _key174++) { + args[_key174] = arguments[_key174]; + } + + return (0, _builder.default).apply(void 0, ["TSParameterProperty"].concat(args)); +} + +function TSDeclareFunction() { + for (var _len175 = arguments.length, args = new Array(_len175), _key175 = 0; _key175 < _len175; _key175++) { + args[_key175] = arguments[_key175]; + } + + return (0, _builder.default).apply(void 0, ["TSDeclareFunction"].concat(args)); +} + +function TSDeclareMethod() { + for (var _len176 = arguments.length, args = new Array(_len176), _key176 = 0; _key176 < _len176; _key176++) { + args[_key176] = arguments[_key176]; + } + + return (0, _builder.default).apply(void 0, ["TSDeclareMethod"].concat(args)); +} + +function TSQualifiedName() { + for (var _len177 = arguments.length, args = new Array(_len177), _key177 = 0; _key177 < _len177; _key177++) { + args[_key177] = arguments[_key177]; + } + + return (0, _builder.default).apply(void 0, ["TSQualifiedName"].concat(args)); +} + +function TSCallSignatureDeclaration() { + for (var _len178 = arguments.length, args = new Array(_len178), _key178 = 0; _key178 < _len178; _key178++) { + args[_key178] = arguments[_key178]; + } + + return (0, _builder.default).apply(void 0, ["TSCallSignatureDeclaration"].concat(args)); +} + +function TSConstructSignatureDeclaration() { + for (var _len179 = arguments.length, args = new Array(_len179), _key179 = 0; _key179 < _len179; _key179++) { + args[_key179] = arguments[_key179]; + } + + return (0, _builder.default).apply(void 0, ["TSConstructSignatureDeclaration"].concat(args)); +} + +function TSPropertySignature() { + for (var _len180 = arguments.length, args = new Array(_len180), _key180 = 0; _key180 < _len180; _key180++) { + args[_key180] = arguments[_key180]; + } + + return (0, _builder.default).apply(void 0, ["TSPropertySignature"].concat(args)); +} + +function TSMethodSignature() { + for (var _len181 = arguments.length, args = new Array(_len181), _key181 = 0; _key181 < _len181; _key181++) { + args[_key181] = arguments[_key181]; + } + + return (0, _builder.default).apply(void 0, ["TSMethodSignature"].concat(args)); +} + +function TSIndexSignature() { + for (var _len182 = arguments.length, args = new Array(_len182), _key182 = 0; _key182 < _len182; _key182++) { + args[_key182] = arguments[_key182]; + } + + return (0, _builder.default).apply(void 0, ["TSIndexSignature"].concat(args)); +} + +function TSAnyKeyword() { + for (var _len183 = arguments.length, args = new Array(_len183), _key183 = 0; _key183 < _len183; _key183++) { + args[_key183] = arguments[_key183]; + } + + return (0, _builder.default).apply(void 0, ["TSAnyKeyword"].concat(args)); +} + +function TSBooleanKeyword() { + for (var _len184 = arguments.length, args = new Array(_len184), _key184 = 0; _key184 < _len184; _key184++) { + args[_key184] = arguments[_key184]; + } + + return (0, _builder.default).apply(void 0, ["TSBooleanKeyword"].concat(args)); +} + +function TSBigIntKeyword() { + for (var _len185 = arguments.length, args = new Array(_len185), _key185 = 0; _key185 < _len185; _key185++) { + args[_key185] = arguments[_key185]; + } + + return (0, _builder.default).apply(void 0, ["TSBigIntKeyword"].concat(args)); +} + +function TSNeverKeyword() { + for (var _len186 = arguments.length, args = new Array(_len186), _key186 = 0; _key186 < _len186; _key186++) { + args[_key186] = arguments[_key186]; + } + + return (0, _builder.default).apply(void 0, ["TSNeverKeyword"].concat(args)); +} + +function TSNullKeyword() { + for (var _len187 = arguments.length, args = new Array(_len187), _key187 = 0; _key187 < _len187; _key187++) { + args[_key187] = arguments[_key187]; + } + + return (0, _builder.default).apply(void 0, ["TSNullKeyword"].concat(args)); +} + +function TSNumberKeyword() { + for (var _len188 = arguments.length, args = new Array(_len188), _key188 = 0; _key188 < _len188; _key188++) { + args[_key188] = arguments[_key188]; + } + + return (0, _builder.default).apply(void 0, ["TSNumberKeyword"].concat(args)); +} + +function TSObjectKeyword() { + for (var _len189 = arguments.length, args = new Array(_len189), _key189 = 0; _key189 < _len189; _key189++) { + args[_key189] = arguments[_key189]; + } + + return (0, _builder.default).apply(void 0, ["TSObjectKeyword"].concat(args)); +} + +function TSStringKeyword() { + for (var _len190 = arguments.length, args = new Array(_len190), _key190 = 0; _key190 < _len190; _key190++) { + args[_key190] = arguments[_key190]; + } + + return (0, _builder.default).apply(void 0, ["TSStringKeyword"].concat(args)); +} + +function TSSymbolKeyword() { + for (var _len191 = arguments.length, args = new Array(_len191), _key191 = 0; _key191 < _len191; _key191++) { + args[_key191] = arguments[_key191]; + } + + return (0, _builder.default).apply(void 0, ["TSSymbolKeyword"].concat(args)); +} + +function TSUndefinedKeyword() { + for (var _len192 = arguments.length, args = new Array(_len192), _key192 = 0; _key192 < _len192; _key192++) { + args[_key192] = arguments[_key192]; + } + + return (0, _builder.default).apply(void 0, ["TSUndefinedKeyword"].concat(args)); +} + +function TSUnknownKeyword() { + for (var _len193 = arguments.length, args = new Array(_len193), _key193 = 0; _key193 < _len193; _key193++) { + args[_key193] = arguments[_key193]; + } + + return (0, _builder.default).apply(void 0, ["TSUnknownKeyword"].concat(args)); +} + +function TSVoidKeyword() { + for (var _len194 = arguments.length, args = new Array(_len194), _key194 = 0; _key194 < _len194; _key194++) { + args[_key194] = arguments[_key194]; + } + + return (0, _builder.default).apply(void 0, ["TSVoidKeyword"].concat(args)); +} + +function TSThisType() { + for (var _len195 = arguments.length, args = new Array(_len195), _key195 = 0; _key195 < _len195; _key195++) { + args[_key195] = arguments[_key195]; + } + + return (0, _builder.default).apply(void 0, ["TSThisType"].concat(args)); +} + +function TSFunctionType() { + for (var _len196 = arguments.length, args = new Array(_len196), _key196 = 0; _key196 < _len196; _key196++) { + args[_key196] = arguments[_key196]; + } + + return (0, _builder.default).apply(void 0, ["TSFunctionType"].concat(args)); +} + +function TSConstructorType() { + for (var _len197 = arguments.length, args = new Array(_len197), _key197 = 0; _key197 < _len197; _key197++) { + args[_key197] = arguments[_key197]; + } + + return (0, _builder.default).apply(void 0, ["TSConstructorType"].concat(args)); +} + +function TSTypeReference() { + for (var _len198 = arguments.length, args = new Array(_len198), _key198 = 0; _key198 < _len198; _key198++) { + args[_key198] = arguments[_key198]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeReference"].concat(args)); +} + +function TSTypePredicate() { + for (var _len199 = arguments.length, args = new Array(_len199), _key199 = 0; _key199 < _len199; _key199++) { + args[_key199] = arguments[_key199]; + } + + return (0, _builder.default).apply(void 0, ["TSTypePredicate"].concat(args)); +} + +function TSTypeQuery() { + for (var _len200 = arguments.length, args = new Array(_len200), _key200 = 0; _key200 < _len200; _key200++) { + args[_key200] = arguments[_key200]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeQuery"].concat(args)); +} + +function TSTypeLiteral() { + for (var _len201 = arguments.length, args = new Array(_len201), _key201 = 0; _key201 < _len201; _key201++) { + args[_key201] = arguments[_key201]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeLiteral"].concat(args)); +} + +function TSArrayType() { + for (var _len202 = arguments.length, args = new Array(_len202), _key202 = 0; _key202 < _len202; _key202++) { + args[_key202] = arguments[_key202]; + } + + return (0, _builder.default).apply(void 0, ["TSArrayType"].concat(args)); +} + +function TSTupleType() { + for (var _len203 = arguments.length, args = new Array(_len203), _key203 = 0; _key203 < _len203; _key203++) { + args[_key203] = arguments[_key203]; + } + + return (0, _builder.default).apply(void 0, ["TSTupleType"].concat(args)); +} + +function TSOptionalType() { + for (var _len204 = arguments.length, args = new Array(_len204), _key204 = 0; _key204 < _len204; _key204++) { + args[_key204] = arguments[_key204]; + } + + return (0, _builder.default).apply(void 0, ["TSOptionalType"].concat(args)); +} + +function TSRestType() { + for (var _len205 = arguments.length, args = new Array(_len205), _key205 = 0; _key205 < _len205; _key205++) { + args[_key205] = arguments[_key205]; + } + + return (0, _builder.default).apply(void 0, ["TSRestType"].concat(args)); +} + +function TSUnionType() { + for (var _len206 = arguments.length, args = new Array(_len206), _key206 = 0; _key206 < _len206; _key206++) { + args[_key206] = arguments[_key206]; + } + + return (0, _builder.default).apply(void 0, ["TSUnionType"].concat(args)); +} + +function TSIntersectionType() { + for (var _len207 = arguments.length, args = new Array(_len207), _key207 = 0; _key207 < _len207; _key207++) { + args[_key207] = arguments[_key207]; + } + + return (0, _builder.default).apply(void 0, ["TSIntersectionType"].concat(args)); +} + +function TSConditionalType() { + for (var _len208 = arguments.length, args = new Array(_len208), _key208 = 0; _key208 < _len208; _key208++) { + args[_key208] = arguments[_key208]; + } + + return (0, _builder.default).apply(void 0, ["TSConditionalType"].concat(args)); +} + +function TSInferType() { + for (var _len209 = arguments.length, args = new Array(_len209), _key209 = 0; _key209 < _len209; _key209++) { + args[_key209] = arguments[_key209]; + } + + return (0, _builder.default).apply(void 0, ["TSInferType"].concat(args)); +} + +function TSParenthesizedType() { + for (var _len210 = arguments.length, args = new Array(_len210), _key210 = 0; _key210 < _len210; _key210++) { + args[_key210] = arguments[_key210]; + } + + return (0, _builder.default).apply(void 0, ["TSParenthesizedType"].concat(args)); +} + +function TSTypeOperator() { + for (var _len211 = arguments.length, args = new Array(_len211), _key211 = 0; _key211 < _len211; _key211++) { + args[_key211] = arguments[_key211]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeOperator"].concat(args)); +} + +function TSIndexedAccessType() { + for (var _len212 = arguments.length, args = new Array(_len212), _key212 = 0; _key212 < _len212; _key212++) { + args[_key212] = arguments[_key212]; + } + + return (0, _builder.default).apply(void 0, ["TSIndexedAccessType"].concat(args)); +} + +function TSMappedType() { + for (var _len213 = arguments.length, args = new Array(_len213), _key213 = 0; _key213 < _len213; _key213++) { + args[_key213] = arguments[_key213]; + } + + return (0, _builder.default).apply(void 0, ["TSMappedType"].concat(args)); +} + +function TSLiteralType() { + for (var _len214 = arguments.length, args = new Array(_len214), _key214 = 0; _key214 < _len214; _key214++) { + args[_key214] = arguments[_key214]; + } + + return (0, _builder.default).apply(void 0, ["TSLiteralType"].concat(args)); +} + +function TSExpressionWithTypeArguments() { + for (var _len215 = arguments.length, args = new Array(_len215), _key215 = 0; _key215 < _len215; _key215++) { + args[_key215] = arguments[_key215]; + } + + return (0, _builder.default).apply(void 0, ["TSExpressionWithTypeArguments"].concat(args)); +} + +function TSInterfaceDeclaration() { + for (var _len216 = arguments.length, args = new Array(_len216), _key216 = 0; _key216 < _len216; _key216++) { + args[_key216] = arguments[_key216]; + } + + return (0, _builder.default).apply(void 0, ["TSInterfaceDeclaration"].concat(args)); +} + +function TSInterfaceBody() { + for (var _len217 = arguments.length, args = new Array(_len217), _key217 = 0; _key217 < _len217; _key217++) { + args[_key217] = arguments[_key217]; + } + + return (0, _builder.default).apply(void 0, ["TSInterfaceBody"].concat(args)); +} + +function TSTypeAliasDeclaration() { + for (var _len218 = arguments.length, args = new Array(_len218), _key218 = 0; _key218 < _len218; _key218++) { + args[_key218] = arguments[_key218]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeAliasDeclaration"].concat(args)); +} + +function TSAsExpression() { + for (var _len219 = arguments.length, args = new Array(_len219), _key219 = 0; _key219 < _len219; _key219++) { + args[_key219] = arguments[_key219]; + } + + return (0, _builder.default).apply(void 0, ["TSAsExpression"].concat(args)); +} + +function TSTypeAssertion() { + for (var _len220 = arguments.length, args = new Array(_len220), _key220 = 0; _key220 < _len220; _key220++) { + args[_key220] = arguments[_key220]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeAssertion"].concat(args)); +} + +function TSEnumDeclaration() { + for (var _len221 = arguments.length, args = new Array(_len221), _key221 = 0; _key221 < _len221; _key221++) { + args[_key221] = arguments[_key221]; + } + + return (0, _builder.default).apply(void 0, ["TSEnumDeclaration"].concat(args)); +} + +function TSEnumMember() { + for (var _len222 = arguments.length, args = new Array(_len222), _key222 = 0; _key222 < _len222; _key222++) { + args[_key222] = arguments[_key222]; + } + + return (0, _builder.default).apply(void 0, ["TSEnumMember"].concat(args)); +} + +function TSModuleDeclaration() { + for (var _len223 = arguments.length, args = new Array(_len223), _key223 = 0; _key223 < _len223; _key223++) { + args[_key223] = arguments[_key223]; + } + + return (0, _builder.default).apply(void 0, ["TSModuleDeclaration"].concat(args)); +} + +function TSModuleBlock() { + for (var _len224 = arguments.length, args = new Array(_len224), _key224 = 0; _key224 < _len224; _key224++) { + args[_key224] = arguments[_key224]; + } + + return (0, _builder.default).apply(void 0, ["TSModuleBlock"].concat(args)); +} + +function TSImportType() { + for (var _len225 = arguments.length, args = new Array(_len225), _key225 = 0; _key225 < _len225; _key225++) { + args[_key225] = arguments[_key225]; + } + + return (0, _builder.default).apply(void 0, ["TSImportType"].concat(args)); +} + +function TSImportEqualsDeclaration() { + for (var _len226 = arguments.length, args = new Array(_len226), _key226 = 0; _key226 < _len226; _key226++) { + args[_key226] = arguments[_key226]; + } + + return (0, _builder.default).apply(void 0, ["TSImportEqualsDeclaration"].concat(args)); +} + +function TSExternalModuleReference() { + for (var _len227 = arguments.length, args = new Array(_len227), _key227 = 0; _key227 < _len227; _key227++) { + args[_key227] = arguments[_key227]; + } + + return (0, _builder.default).apply(void 0, ["TSExternalModuleReference"].concat(args)); +} + +function TSNonNullExpression() { + for (var _len228 = arguments.length, args = new Array(_len228), _key228 = 0; _key228 < _len228; _key228++) { + args[_key228] = arguments[_key228]; + } + + return (0, _builder.default).apply(void 0, ["TSNonNullExpression"].concat(args)); +} + +function TSExportAssignment() { + for (var _len229 = arguments.length, args = new Array(_len229), _key229 = 0; _key229 < _len229; _key229++) { + args[_key229] = arguments[_key229]; + } + + return (0, _builder.default).apply(void 0, ["TSExportAssignment"].concat(args)); +} + +function TSNamespaceExportDeclaration() { + for (var _len230 = arguments.length, args = new Array(_len230), _key230 = 0; _key230 < _len230; _key230++) { + args[_key230] = arguments[_key230]; + } + + return (0, _builder.default).apply(void 0, ["TSNamespaceExportDeclaration"].concat(args)); +} + +function TSTypeAnnotation() { + for (var _len231 = arguments.length, args = new Array(_len231), _key231 = 0; _key231 < _len231; _key231++) { + args[_key231] = arguments[_key231]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeAnnotation"].concat(args)); +} + +function TSTypeParameterInstantiation() { + for (var _len232 = arguments.length, args = new Array(_len232), _key232 = 0; _key232 < _len232; _key232++) { + args[_key232] = arguments[_key232]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeParameterInstantiation"].concat(args)); +} + +function TSTypeParameterDeclaration() { + for (var _len233 = arguments.length, args = new Array(_len233), _key233 = 0; _key233 < _len233; _key233++) { + args[_key233] = arguments[_key233]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeParameterDeclaration"].concat(args)); +} + +function TSTypeParameter() { + for (var _len234 = arguments.length, args = new Array(_len234), _key234 = 0; _key234 < _len234; _key234++) { + args[_key234] = arguments[_key234]; + } + + return (0, _builder.default).apply(void 0, ["TSTypeParameter"].concat(args)); +} + +function NumberLiteral() { + console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); + + for (var _len235 = arguments.length, args = new Array(_len235), _key235 = 0; _key235 < _len235; _key235++) { + args[_key235] = arguments[_key235]; + } + + return NumberLiteral.apply(void 0, ["NumberLiteral"].concat(args)); +} + +function RegexLiteral() { + console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); + + for (var _len236 = arguments.length, args = new Array(_len236), _key236 = 0; _key236 < _len236; _key236++) { + args[_key236] = arguments[_key236]; + } + + return RegexLiteral.apply(void 0, ["RegexLiteral"].concat(args)); +} + +function RestProperty() { + console.trace("The node type RestProperty has been renamed to RestElement"); + + for (var _len237 = arguments.length, args = new Array(_len237), _key237 = 0; _key237 < _len237; _key237++) { + args[_key237] = arguments[_key237]; + } + + return RestProperty.apply(void 0, ["RestProperty"].concat(args)); +} + +function SpreadProperty() { + console.trace("The node type SpreadProperty has been renamed to SpreadElement"); + + for (var _len238 = arguments.length, args = new Array(_len238), _key238 = 0; _key238 < _len238; _key238++) { + args[_key238] = arguments[_key238]; + } + + return SpreadProperty.apply(void 0, ["SpreadProperty"].concat(args)); +} + +},{"../builder":203}],207:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildChildren; + +var _generated = require("../../validators/generated"); + +var _cleanJSXElementLiteralChild = _interopRequireDefault(require("../../utils/react/cleanJSXElementLiteralChild")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function buildChildren(node) { + var elements = []; + + for (var i = 0; i < node.children.length; i++) { + var child = node.children[i]; + + if ((0, _generated.isJSXText)(child)) { + (0, _cleanJSXElementLiteralChild.default)(child, elements); + continue; + } + + if ((0, _generated.isJSXExpressionContainer)(child)) child = child.expression; + if ((0, _generated.isJSXEmptyExpression)(child)) continue; + elements.push(child); + } + + return elements; +} + +},{"../../utils/react/cleanJSXElementLiteralChild":254,"../../validators/generated":257}],208:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = clone; + +var _cloneNode = _interopRequireDefault(require("./cloneNode")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function clone(node) { + return (0, _cloneNode.default)(node, false); +} + +},{"./cloneNode":210}],209:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cloneDeep; + +var _cloneNode = _interopRequireDefault(require("./cloneNode")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function cloneDeep(node) { + return (0, _cloneNode.default)(node); +} + +},{"./cloneNode":210}],210:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cloneNode; + +var _definitions = require("../definitions"); + +var has = Function.call.bind(Object.prototype.hasOwnProperty); + +function cloneIfNode(obj, deep) { + if (obj && typeof obj.type === "string" && obj.type !== "CommentLine" && obj.type !== "CommentBlock") { + return cloneNode(obj, deep); + } + + return obj; +} + +function cloneIfNodeOrArray(obj, deep) { + if (Array.isArray(obj)) { + return obj.map(function (node) { + return cloneIfNode(node, deep); + }); + } + + return cloneIfNode(obj, deep); +} + +function cloneNode(node) { + var deep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + if (!node) return node; + var type = node.type; + var newNode = { + type: type + }; + + if (type === "Identifier") { + newNode.name = node.name; + + if (has(node, "optional") && typeof node.optional === "boolean") { + newNode.optional = node.optional; + } + + if (has(node, "typeAnnotation")) { + newNode.typeAnnotation = deep ? cloneIfNodeOrArray(node.typeAnnotation, true) : node.typeAnnotation; + } + } else if (!has(_definitions.NODE_FIELDS, type)) { + throw new Error("Unknown node type: \"".concat(type, "\"")); + } else { + for (var _i = 0, _Object$keys = Object.keys(_definitions.NODE_FIELDS[type]); _i < _Object$keys.length; _i++) { + var field = _Object$keys[_i]; + + if (has(node, field)) { + newNode[field] = deep ? cloneIfNodeOrArray(node[field], true) : node[field]; + } + } + } + + if (has(node, "loc")) { + newNode.loc = node.loc; + } + + if (has(node, "leadingComments")) { + newNode.leadingComments = node.leadingComments; + } + + if (has(node, "innerComments")) { + newNode.innerComments = node.innerComments; + } + + if (has(node, "trailingComments")) { + newNode.trailingComments = node.trailingComments; + } + + if (has(node, "extra")) { + newNode.extra = Object.assign({}, node.extra); + } + + return newNode; +} + +},{"../definitions":236}],211:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cloneWithoutLoc; + +var _clone = _interopRequireDefault(require("./clone")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function cloneWithoutLoc(node) { + var newNode = (0, _clone.default)(node); + newNode.loc = null; + return newNode; +} + +},{"./clone":208}],212:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addComment; + +var _addComments = _interopRequireDefault(require("./addComments")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function addComment(node, type, content, line) { + return (0, _addComments.default)(node, type, [{ + type: line ? "CommentLine" : "CommentBlock", + value: content + }]); +} + +},{"./addComments":213}],213:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addComments; + +function addComments(node, type, comments) { + if (!comments || !node) return node; + var key = "".concat(type, "Comments"); + + if (node[key]) { + if (type === "leading") { + node[key] = comments.concat(node[key]); + } else { + node[key] = node[key].concat(comments); + } + } else { + node[key] = comments; + } + + return node; +} + +},{}],214:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inheritInnerComments; + +var _inherit = _interopRequireDefault(require("../utils/inherit")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inheritInnerComments(child, parent) { + (0, _inherit.default)("innerComments", child, parent); +} + +},{"../utils/inherit":253}],215:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inheritLeadingComments; + +var _inherit = _interopRequireDefault(require("../utils/inherit")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inheritLeadingComments(child, parent) { + (0, _inherit.default)("leadingComments", child, parent); +} + +},{"../utils/inherit":253}],216:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inheritTrailingComments; + +var _inherit = _interopRequireDefault(require("../utils/inherit")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inheritTrailingComments(child, parent) { + (0, _inherit.default)("trailingComments", child, parent); +} + +},{"../utils/inherit":253}],217:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inheritsComments; + +var _inheritTrailingComments = _interopRequireDefault(require("./inheritTrailingComments")); + +var _inheritLeadingComments = _interopRequireDefault(require("./inheritLeadingComments")); + +var _inheritInnerComments = _interopRequireDefault(require("./inheritInnerComments")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inheritsComments(child, parent) { + (0, _inheritTrailingComments.default)(child, parent); + (0, _inheritLeadingComments.default)(child, parent); + (0, _inheritInnerComments.default)(child, parent); + return child; +} + +},{"./inheritInnerComments":214,"./inheritLeadingComments":215,"./inheritTrailingComments":216}],218:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = removeComments; + +var _constants = require("../constants"); + +function removeComments(node) { + _constants.COMMENT_KEYS.forEach(function (key) { + node[key] = null; + }); + + return node; +} + +},{"../constants":220}],219:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.TSTYPE_TYPES = exports.TSTYPEELEMENT_TYPES = exports.PRIVATE_TYPES = exports.JSX_TYPES = exports.ENUMMEMBER_TYPES = exports.ENUMBODY_TYPES = exports.FLOWPREDICATE_TYPES = exports.FLOWDECLARATION_TYPES = exports.FLOWBASEANNOTATION_TYPES = exports.FLOWTYPE_TYPES = exports.FLOW_TYPES = exports.MODULESPECIFIER_TYPES = exports.EXPORTDECLARATION_TYPES = exports.MODULEDECLARATION_TYPES = exports.CLASS_TYPES = exports.PATTERN_TYPES = exports.UNARYLIKE_TYPES = exports.PROPERTY_TYPES = exports.OBJECTMEMBER_TYPES = exports.METHOD_TYPES = exports.USERWHITESPACABLE_TYPES = exports.IMMUTABLE_TYPES = exports.LITERAL_TYPES = exports.TSENTITYNAME_TYPES = exports.LVAL_TYPES = exports.PATTERNLIKE_TYPES = exports.DECLARATION_TYPES = exports.PUREISH_TYPES = exports.FUNCTIONPARENT_TYPES = exports.FUNCTION_TYPES = exports.FORXSTATEMENT_TYPES = exports.FOR_TYPES = exports.EXPRESSIONWRAPPER_TYPES = exports.WHILE_TYPES = exports.LOOP_TYPES = exports.CONDITIONAL_TYPES = exports.COMPLETIONSTATEMENT_TYPES = exports.TERMINATORLESS_TYPES = exports.STATEMENT_TYPES = exports.BLOCK_TYPES = exports.BLOCKPARENT_TYPES = exports.SCOPABLE_TYPES = exports.BINARY_TYPES = exports.EXPRESSION_TYPES = void 0; + +var _definitions = require("../../definitions"); + +var EXPRESSION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Expression"]; +exports.EXPRESSION_TYPES = EXPRESSION_TYPES; +var BINARY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Binary"]; +exports.BINARY_TYPES = BINARY_TYPES; +var SCOPABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Scopable"]; +exports.SCOPABLE_TYPES = SCOPABLE_TYPES; +var BLOCKPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["BlockParent"]; +exports.BLOCKPARENT_TYPES = BLOCKPARENT_TYPES; +var BLOCK_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Block"]; +exports.BLOCK_TYPES = BLOCK_TYPES; +var STATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Statement"]; +exports.STATEMENT_TYPES = STATEMENT_TYPES; +var TERMINATORLESS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Terminatorless"]; +exports.TERMINATORLESS_TYPES = TERMINATORLESS_TYPES; +var COMPLETIONSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["CompletionStatement"]; +exports.COMPLETIONSTATEMENT_TYPES = COMPLETIONSTATEMENT_TYPES; +var CONDITIONAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Conditional"]; +exports.CONDITIONAL_TYPES = CONDITIONAL_TYPES; +var LOOP_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Loop"]; +exports.LOOP_TYPES = LOOP_TYPES; +var WHILE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["While"]; +exports.WHILE_TYPES = WHILE_TYPES; +var EXPRESSIONWRAPPER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExpressionWrapper"]; +exports.EXPRESSIONWRAPPER_TYPES = EXPRESSIONWRAPPER_TYPES; +var FOR_TYPES = _definitions.FLIPPED_ALIAS_KEYS["For"]; +exports.FOR_TYPES = FOR_TYPES; +var FORXSTATEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ForXStatement"]; +exports.FORXSTATEMENT_TYPES = FORXSTATEMENT_TYPES; +var FUNCTION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Function"]; +exports.FUNCTION_TYPES = FUNCTION_TYPES; +var FUNCTIONPARENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FunctionParent"]; +exports.FUNCTIONPARENT_TYPES = FUNCTIONPARENT_TYPES; +var PUREISH_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pureish"]; +exports.PUREISH_TYPES = PUREISH_TYPES; +var DECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Declaration"]; +exports.DECLARATION_TYPES = DECLARATION_TYPES; +var PATTERNLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["PatternLike"]; +exports.PATTERNLIKE_TYPES = PATTERNLIKE_TYPES; +var LVAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["LVal"]; +exports.LVAL_TYPES = LVAL_TYPES; +var TSENTITYNAME_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSEntityName"]; +exports.TSENTITYNAME_TYPES = TSENTITYNAME_TYPES; +var LITERAL_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Literal"]; +exports.LITERAL_TYPES = LITERAL_TYPES; +var IMMUTABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Immutable"]; +exports.IMMUTABLE_TYPES = IMMUTABLE_TYPES; +var USERWHITESPACABLE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UserWhitespacable"]; +exports.USERWHITESPACABLE_TYPES = USERWHITESPACABLE_TYPES; +var METHOD_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Method"]; +exports.METHOD_TYPES = METHOD_TYPES; +var OBJECTMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ObjectMember"]; +exports.OBJECTMEMBER_TYPES = OBJECTMEMBER_TYPES; +var PROPERTY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Property"]; +exports.PROPERTY_TYPES = PROPERTY_TYPES; +var UNARYLIKE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["UnaryLike"]; +exports.UNARYLIKE_TYPES = UNARYLIKE_TYPES; +var PATTERN_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Pattern"]; +exports.PATTERN_TYPES = PATTERN_TYPES; +var CLASS_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Class"]; +exports.CLASS_TYPES = CLASS_TYPES; +var MODULEDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleDeclaration"]; +exports.MODULEDECLARATION_TYPES = MODULEDECLARATION_TYPES; +var EXPORTDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ExportDeclaration"]; +exports.EXPORTDECLARATION_TYPES = EXPORTDECLARATION_TYPES; +var MODULESPECIFIER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["ModuleSpecifier"]; +exports.MODULESPECIFIER_TYPES = MODULESPECIFIER_TYPES; +var FLOW_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Flow"]; +exports.FLOW_TYPES = FLOW_TYPES; +var FLOWTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowType"]; +exports.FLOWTYPE_TYPES = FLOWTYPE_TYPES; +var FLOWBASEANNOTATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowBaseAnnotation"]; +exports.FLOWBASEANNOTATION_TYPES = FLOWBASEANNOTATION_TYPES; +var FLOWDECLARATION_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowDeclaration"]; +exports.FLOWDECLARATION_TYPES = FLOWDECLARATION_TYPES; +var FLOWPREDICATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["FlowPredicate"]; +exports.FLOWPREDICATE_TYPES = FLOWPREDICATE_TYPES; +var ENUMBODY_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumBody"]; +exports.ENUMBODY_TYPES = ENUMBODY_TYPES; +var ENUMMEMBER_TYPES = _definitions.FLIPPED_ALIAS_KEYS["EnumMember"]; +exports.ENUMMEMBER_TYPES = ENUMMEMBER_TYPES; +var JSX_TYPES = _definitions.FLIPPED_ALIAS_KEYS["JSX"]; +exports.JSX_TYPES = JSX_TYPES; +var PRIVATE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["Private"]; +exports.PRIVATE_TYPES = PRIVATE_TYPES; +var TSTYPEELEMENT_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSTypeElement"]; +exports.TSTYPEELEMENT_TYPES = TSTYPEELEMENT_TYPES; +var TSTYPE_TYPES = _definitions.FLIPPED_ALIAS_KEYS["TSType"]; +exports.TSTYPE_TYPES = TSTYPE_TYPES; + +},{"../../definitions":236}],220:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NOT_LOCAL_BINDING = exports.BLOCK_SCOPED_SYMBOL = exports.INHERIT_KEYS = exports.UNARY_OPERATORS = exports.STRING_UNARY_OPERATORS = exports.NUMBER_UNARY_OPERATORS = exports.BOOLEAN_UNARY_OPERATORS = exports.BINARY_OPERATORS = exports.NUMBER_BINARY_OPERATORS = exports.BOOLEAN_BINARY_OPERATORS = exports.COMPARISON_BINARY_OPERATORS = exports.EQUALITY_BINARY_OPERATORS = exports.BOOLEAN_NUMBER_BINARY_OPERATORS = exports.UPDATE_OPERATORS = exports.LOGICAL_OPERATORS = exports.COMMENT_KEYS = exports.FOR_INIT_KEYS = exports.FLATTENABLE_KEYS = exports.STATEMENT_OR_BLOCK_KEYS = void 0; +var STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; +exports.STATEMENT_OR_BLOCK_KEYS = STATEMENT_OR_BLOCK_KEYS; +var FLATTENABLE_KEYS = ["body", "expressions"]; +exports.FLATTENABLE_KEYS = FLATTENABLE_KEYS; +var FOR_INIT_KEYS = ["left", "init"]; +exports.FOR_INIT_KEYS = FOR_INIT_KEYS; +var COMMENT_KEYS = ["leadingComments", "trailingComments", "innerComments"]; +exports.COMMENT_KEYS = COMMENT_KEYS; +var LOGICAL_OPERATORS = ["||", "&&", "??"]; +exports.LOGICAL_OPERATORS = LOGICAL_OPERATORS; +var UPDATE_OPERATORS = ["++", "--"]; +exports.UPDATE_OPERATORS = UPDATE_OPERATORS; +var BOOLEAN_NUMBER_BINARY_OPERATORS = [">", "<", ">=", "<="]; +exports.BOOLEAN_NUMBER_BINARY_OPERATORS = BOOLEAN_NUMBER_BINARY_OPERATORS; +var EQUALITY_BINARY_OPERATORS = ["==", "===", "!=", "!=="]; +exports.EQUALITY_BINARY_OPERATORS = EQUALITY_BINARY_OPERATORS; +var COMPARISON_BINARY_OPERATORS = [].concat(EQUALITY_BINARY_OPERATORS, ["in", "instanceof"]); +exports.COMPARISON_BINARY_OPERATORS = COMPARISON_BINARY_OPERATORS; +var BOOLEAN_BINARY_OPERATORS = [].concat(_toConsumableArray(COMPARISON_BINARY_OPERATORS), BOOLEAN_NUMBER_BINARY_OPERATORS); +exports.BOOLEAN_BINARY_OPERATORS = BOOLEAN_BINARY_OPERATORS; +var NUMBER_BINARY_OPERATORS = ["-", "/", "%", "*", "**", "&", "|", ">>", ">>>", "<<", "^"]; +exports.NUMBER_BINARY_OPERATORS = NUMBER_BINARY_OPERATORS; +var BINARY_OPERATORS = ["+"].concat(NUMBER_BINARY_OPERATORS, _toConsumableArray(BOOLEAN_BINARY_OPERATORS)); +exports.BINARY_OPERATORS = BINARY_OPERATORS; +var BOOLEAN_UNARY_OPERATORS = ["delete", "!"]; +exports.BOOLEAN_UNARY_OPERATORS = BOOLEAN_UNARY_OPERATORS; +var NUMBER_UNARY_OPERATORS = ["+", "-", "~"]; +exports.NUMBER_UNARY_OPERATORS = NUMBER_UNARY_OPERATORS; +var STRING_UNARY_OPERATORS = ["typeof"]; +exports.STRING_UNARY_OPERATORS = STRING_UNARY_OPERATORS; +var UNARY_OPERATORS = ["void", "throw"].concat(BOOLEAN_UNARY_OPERATORS, NUMBER_UNARY_OPERATORS, STRING_UNARY_OPERATORS); +exports.UNARY_OPERATORS = UNARY_OPERATORS; +var INHERIT_KEYS = { + optional: ["typeAnnotation", "typeParameters", "returnType"], + force: ["start", "loc", "end"] +}; +exports.INHERIT_KEYS = INHERIT_KEYS; +var BLOCK_SCOPED_SYMBOL = Symbol.for("var used to be block scoped"); +exports.BLOCK_SCOPED_SYMBOL = BLOCK_SCOPED_SYMBOL; +var NOT_LOCAL_BINDING = Symbol.for("should not be considered a local binding"); +exports.NOT_LOCAL_BINDING = NOT_LOCAL_BINDING; + +},{}],221:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = ensureBlock; + +var _toBlock = _interopRequireDefault(require("./toBlock")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function ensureBlock(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "body"; + return node[key] = (0, _toBlock.default)(node[key], node); +} + +},{"./toBlock":224}],222:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = gatherSequenceExpressions; + +var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); + +var _generated = require("../validators/generated"); + +var _generated2 = require("../builders/generated"); + +var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function gatherSequenceExpressions(nodes, scope, declars) { + var exprs = []; + var ensureLastUndefined = true; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var node = _step.value; + ensureLastUndefined = false; + + if ((0, _generated.isExpression)(node)) { + exprs.push(node); + } else if ((0, _generated.isExpressionStatement)(node)) { + exprs.push(node.expression); + } else if ((0, _generated.isVariableDeclaration)(node)) { + if (node.kind !== "var") return; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = node.declarations[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var declar = _step2.value; + var bindings = (0, _getBindingIdentifiers.default)(declar); + + for (var _i = 0, _Object$keys = Object.keys(bindings); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + declars.push({ + kind: node.kind, + id: (0, _cloneNode.default)(bindings[key]) + }); + } + + if (declar.init) { + exprs.push((0, _generated2.assignmentExpression)("=", declar.id, declar.init)); + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + ensureLastUndefined = true; + } else if ((0, _generated.isIfStatement)(node)) { + var consequent = node.consequent ? gatherSequenceExpressions([node.consequent], scope, declars) : scope.buildUndefinedNode(); + var alternate = node.alternate ? gatherSequenceExpressions([node.alternate], scope, declars) : scope.buildUndefinedNode(); + if (!consequent || !alternate) return; + exprs.push((0, _generated2.conditionalExpression)(node.test, consequent, alternate)); + } else if ((0, _generated.isBlockStatement)(node)) { + var body = gatherSequenceExpressions(node.body, scope, declars); + if (!body) return; + exprs.push(body); + } else if ((0, _generated.isEmptyStatement)(node)) { + ensureLastUndefined = true; + } else { + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (ensureLastUndefined) { + exprs.push(scope.buildUndefinedNode()); + } + + if (exprs.length === 1) { + return exprs[0]; + } else { + return (0, _generated2.sequenceExpression)(exprs); + } +} + +},{"../builders/generated":206,"../clone/cloneNode":210,"../retrievers/getBindingIdentifiers":249,"../validators/generated":257}],223:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toBindingIdentifierName; + +var _toIdentifier = _interopRequireDefault(require("./toIdentifier")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function toBindingIdentifierName(name) { + name = (0, _toIdentifier.default)(name); + if (name === "eval" || name === "arguments") name = "_" + name; + return name; +} + +},{"./toIdentifier":227}],224:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toBlock; + +var _generated = require("../validators/generated"); + +var _generated2 = require("../builders/generated"); + +function toBlock(node, parent) { + if ((0, _generated.isBlockStatement)(node)) { + return node; + } + + var blockNodes = []; + + if ((0, _generated.isEmptyStatement)(node)) { + blockNodes = []; + } else { + if (!(0, _generated.isStatement)(node)) { + if ((0, _generated.isFunction)(parent)) { + node = (0, _generated2.returnStatement)(node); + } else { + node = (0, _generated2.expressionStatement)(node); + } + } + + blockNodes = [node]; + } + + return (0, _generated2.blockStatement)(blockNodes); +} + +},{"../builders/generated":206,"../validators/generated":257}],225:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toComputedKey; + +var _generated = require("../validators/generated"); + +var _generated2 = require("../builders/generated"); + +function toComputedKey(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key || node.property; + if (!node.computed && (0, _generated.isIdentifier)(key)) key = (0, _generated2.stringLiteral)(key.name); + return key; +} + +},{"../builders/generated":206,"../validators/generated":257}],226:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toExpression; + +var _generated = require("../validators/generated"); + +function toExpression(node) { + if ((0, _generated.isExpressionStatement)(node)) { + node = node.expression; + } + + if ((0, _generated.isExpression)(node)) { + return node; + } + + if ((0, _generated.isClass)(node)) { + node.type = "ClassExpression"; + } else if ((0, _generated.isFunction)(node)) { + node.type = "FunctionExpression"; + } + + if (!(0, _generated.isExpression)(node)) { + throw new Error("cannot turn ".concat(node.type, " to an expression")); + } + + return node; +} + +},{"../validators/generated":257}],227:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toIdentifier; + +var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function toIdentifier(name) { + name = name + ""; + name = name.replace(/[^a-zA-Z0-9$_]/g, "-"); + name = name.replace(/^[-0-9]+/, ""); + name = name.replace(/[-\s]+(.)?/g, function (match, c) { + return c ? c.toUpperCase() : ""; + }); + + if (!(0, _isValidIdentifier.default)(name)) { + name = "_".concat(name); + } + + return name || "_"; +} + +},{"../validators/isValidIdentifier":271}],228:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toKeyAlias; + +var _generated = require("../validators/generated"); + +var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); + +var _removePropertiesDeep = _interopRequireDefault(require("../modifications/removePropertiesDeep")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function toKeyAlias(node) { + var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : node.key; + var alias; + + if (node.kind === "method") { + return toKeyAlias.increment() + ""; + } else if ((0, _generated.isIdentifier)(key)) { + alias = key.name; + } else if ((0, _generated.isStringLiteral)(key)) { + alias = JSON.stringify(key.value); + } else { + alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key))); + } + + if (node.computed) { + alias = "[".concat(alias, "]"); + } + + if (node.static) { + alias = "static:".concat(alias); + } + + return alias; +} + +toKeyAlias.uid = 0; + +toKeyAlias.increment = function () { + if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) { + return toKeyAlias.uid = 0; + } else { + return toKeyAlias.uid++; + } +}; + +},{"../clone/cloneNode":210,"../modifications/removePropertiesDeep":248,"../validators/generated":257}],229:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toSequenceExpression; + +var _gatherSequenceExpressions = _interopRequireDefault(require("./gatherSequenceExpressions")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function toSequenceExpression(nodes, scope) { + if (!nodes || !nodes.length) return; + var declars = []; + var result = (0, _gatherSequenceExpressions.default)(nodes, scope, declars); + if (!result) return; + + for (var _i = 0, _declars = declars; _i < _declars.length; _i++) { + var declar = _declars[_i]; + scope.push(declar); + } + + return result; +} + +},{"./gatherSequenceExpressions":222}],230:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = toStatement; + +var _generated = require("../validators/generated"); + +var _generated2 = require("../builders/generated"); + +function toStatement(node, ignore) { + if ((0, _generated.isStatement)(node)) { + return node; + } + + var mustHaveId = false; + var newType; + + if ((0, _generated.isClass)(node)) { + mustHaveId = true; + newType = "ClassDeclaration"; + } else if ((0, _generated.isFunction)(node)) { + mustHaveId = true; + newType = "FunctionDeclaration"; + } else if ((0, _generated.isAssignmentExpression)(node)) { + return (0, _generated2.expressionStatement)(node); + } + + if (mustHaveId && !node.id) { + newType = false; + } + + if (!newType) { + if (ignore) { + return false; + } else { + throw new Error("cannot turn ".concat(node.type, " to a statement")); + } + } + + node.type = newType; + return node; +} + +},{"../builders/generated":206,"../validators/generated":257}],231:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = valueToNode; + +var _isPlainObject = _interopRequireDefault(require("lodash/isPlainObject")); + +var _isRegExp = _interopRequireDefault(require("lodash/isRegExp")); + +var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); + +var _generated = require("../builders/generated"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function valueToNode(value) { + if (value === undefined) { + return (0, _generated.identifier)("undefined"); + } + + if (value === true || value === false) { + return (0, _generated.booleanLiteral)(value); + } + + if (value === null) { + return (0, _generated.nullLiteral)(); + } + + if (typeof value === "string") { + return (0, _generated.stringLiteral)(value); + } + + if (typeof value === "number") { + var result; + + if (Number.isFinite(value)) { + result = (0, _generated.numericLiteral)(Math.abs(value)); + } else { + var numerator; + + if (Number.isNaN(value)) { + numerator = (0, _generated.numericLiteral)(0); + } else { + numerator = (0, _generated.numericLiteral)(1); + } + + result = (0, _generated.binaryExpression)("/", numerator, (0, _generated.numericLiteral)(0)); + } + + if (value < 0 || Object.is(value, -0)) { + result = (0, _generated.unaryExpression)("-", result); + } + + return result; + } + + if ((0, _isRegExp.default)(value)) { + var pattern = value.source; + var flags = value.toString().match(/\/([a-z]+|)$/)[1]; + return (0, _generated.regExpLiteral)(pattern, flags); + } + + if (Array.isArray(value)) { + return (0, _generated.arrayExpression)(value.map(valueToNode)); + } + + if ((0, _isPlainObject.default)(value)) { + var props = []; + + for (var _i = 0, _Object$keys = Object.keys(value); _i < _Object$keys.length; _i++) { + var key = _Object$keys[_i]; + var nodeKey = void 0; + + if ((0, _isValidIdentifier.default)(key)) { + nodeKey = (0, _generated.identifier)(key); + } else { + nodeKey = (0, _generated.stringLiteral)(key); + } + + props.push((0, _generated.objectProperty)(nodeKey, valueToNode(value[key]))); + } + + return (0, _generated.objectExpression)(props); + } + + throw new Error("don't know how to turn this value into a node"); +} + +},{"../builders/generated":206,"../validators/isValidIdentifier":271,"lodash/isPlainObject":1026,"lodash/isRegExp":1027}],232:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.patternLikeCommon = exports.functionDeclarationCommon = exports.functionTypeAnnotationCommon = exports.functionCommon = void 0; + +var _isValidIdentifier = _interopRequireDefault(require("../validators/isValidIdentifier")); + +var _constants = require("../constants"); + +var _utils = _interopRequireWildcard(require("./utils")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +(0, _utils.default)("ArrayExpression", { + fields: { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeOrValueType)("null", "Expression", "SpreadElement"))), + default: [] + } + }, + visitor: ["elements"], + aliases: ["Expression"] +}); +(0, _utils.default)("AssignmentExpression", { + fields: { + operator: { + validate: (0, _utils.assertValueType)("string") + }, + left: { + validate: (0, _utils.assertNodeType)("LVal") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Expression"] +}); +(0, _utils.default)("BinaryExpression", { + builder: ["operator", "left", "right"], + fields: { + operator: { + validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.BINARY_OPERATORS)) + }, + left: { + validate: (0, _utils.assertNodeType)("Expression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + visitor: ["left", "right"], + aliases: ["Binary", "Expression"] +}); +(0, _utils.default)("InterpreterDirective", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } +}); +(0, _utils.default)("Directive", { + visitor: ["value"], + fields: { + value: { + validate: (0, _utils.assertNodeType)("DirectiveLiteral") + } + } +}); +(0, _utils.default)("DirectiveLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } +}); +(0, _utils.default)("BlockStatement", { + builder: ["body", "directives"], + visitor: ["directives", "body"], + fields: { + directives: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block", "Statement"] +}); +(0, _utils.default)("BreakStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] +}); +(0, _utils.default)("CallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments"], + aliases: ["Expression"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression", "V8IntrinsicIdentifier") + }, + arguments: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName", "ArgumentPlaceholder"))) + }, + optional: { + validate: (0, _utils.assertOneOf)(true, false), + optional: true + }, + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + } +}); +(0, _utils.default)("CatchClause", { + visitor: ["param", "body"], + fields: { + param: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }, + aliases: ["Scopable", "BlockParent"] +}); +(0, _utils.default)("ConditionalExpression", { + visitor: ["test", "consequent", "alternate"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Expression") + }, + alternate: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Expression", "Conditional"] +}); +(0, _utils.default)("ContinueStatement", { + visitor: ["label"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } + }, + aliases: ["Statement", "Terminatorless", "CompletionStatement"] +}); +(0, _utils.default)("DebuggerStatement", { + aliases: ["Statement"] +}); +(0, _utils.default)("DoWhileStatement", { + visitor: ["test", "body"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + }, + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"] +}); +(0, _utils.default)("EmptyStatement", { + aliases: ["Statement"] +}); +(0, _utils.default)("ExpressionStatement", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + }, + aliases: ["Statement", "ExpressionWrapper"] +}); +(0, _utils.default)("File", { + builder: ["program", "comments", "tokens"], + visitor: ["program"], + fields: { + program: { + validate: (0, _utils.assertNodeType)("Program") + } + } +}); +(0, _utils.default)("ForInStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: (0, _utils.assertNodeType)("VariableDeclaration", "LVal") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } +}); +(0, _utils.default)("ForStatement", { + visitor: ["init", "test", "update", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop"], + fields: { + init: { + validate: (0, _utils.assertNodeType)("VariableDeclaration", "Expression"), + optional: true + }, + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + update: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } +}); +var functionCommon = { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Identifier", "Pattern", "RestElement", "TSParameterProperty"))) + }, + generator: { + default: false, + validate: (0, _utils.assertValueType)("boolean") + }, + async: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + } +}; +exports.functionCommon = functionCommon; +var functionTypeAnnotationCommon = { + returnType: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + } +}; +exports.functionTypeAnnotationCommon = functionTypeAnnotationCommon; +var functionDeclarationCommon = Object.assign({}, functionCommon, { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + } +}); +exports.functionDeclarationCommon = functionDeclarationCommon; +(0, _utils.default)("FunctionDeclaration", { + builder: ["id", "params", "body", "generator", "async"], + visitor: ["id", "params", "body", "returnType", "typeParameters"], + fields: Object.assign({}, functionDeclarationCommon, {}, functionTypeAnnotationCommon, { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }), + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Statement", "Pureish", "Declaration"] +}); +(0, _utils.default)("FunctionExpression", { + inherits: "FunctionDeclaration", + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) +}); +var patternLikeCommon = { + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) + } +}; +exports.patternLikeCommon = patternLikeCommon; +(0, _utils.default)("Identifier", { + builder: ["name"], + visitor: ["typeAnnotation", "decorators"], + aliases: ["Expression", "PatternLike", "LVal", "TSEntityName"], + fields: Object.assign({}, patternLikeCommon, { + name: { + validate: (0, _utils.chain)(function (node, key, val) { + if (!(0, _isValidIdentifier.default)(val)) {} + }, (0, _utils.assertValueType)("string")) + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }) +}); +(0, _utils.default)("IfStatement", { + visitor: ["test", "consequent", "alternate"], + aliases: ["Statement", "Conditional"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + consequent: { + validate: (0, _utils.assertNodeType)("Statement") + }, + alternate: { + optional: true, + validate: (0, _utils.assertNodeType)("Statement") + } + } +}); +(0, _utils.default)("LabeledStatement", { + visitor: ["label", "body"], + aliases: ["Statement"], + fields: { + label: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + } + } +}); +(0, _utils.default)("StringLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); +(0, _utils.default)("NumericLiteral", { + builder: ["value"], + deprecatedAlias: "NumberLiteral", + fields: { + value: { + validate: (0, _utils.assertValueType)("number") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); +(0, _utils.default)("NullLiteral", { + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); +(0, _utils.default)("BooleanLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("boolean") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); +(0, _utils.default)("RegExpLiteral", { + builder: ["pattern", "flags"], + deprecatedAlias: "RegexLiteral", + aliases: ["Expression", "Literal"], + fields: { + pattern: { + validate: (0, _utils.assertValueType)("string") + }, + flags: { + validate: (0, _utils.assertValueType)("string"), + default: "" + } + } +}); +(0, _utils.default)("LogicalExpression", { + builder: ["operator", "left", "right"], + visitor: ["left", "right"], + aliases: ["Binary", "Expression"], + fields: { + operator: { + validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.LOGICAL_OPERATORS)) + }, + left: { + validate: (0, _utils.assertNodeType)("Expression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("MemberExpression", { + builder: ["object", "property", "computed", "optional"], + visitor: ["object", "property"], + aliases: ["Expression", "LVal"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + property: { + validate: function () { + var normal = (0, _utils.assertNodeType)("Identifier", "PrivateName"); + var computed = (0, _utils.assertNodeType)("Expression"); + return function (node, key, val) { + var validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }() + }, + computed: { + default: false + }, + optional: { + validate: (0, _utils.assertOneOf)(true, false), + optional: true + } + } +}); +(0, _utils.default)("NewExpression", { + inherits: "CallExpression" +}); +(0, _utils.default)("Program", { + visitor: ["directives", "body"], + builder: ["body", "directives", "sourceType", "interpreter"], + fields: { + sourceFile: { + validate: (0, _utils.assertValueType)("string") + }, + sourceType: { + validate: (0, _utils.assertOneOf)("script", "module"), + default: "script" + }, + interpreter: { + validate: (0, _utils.assertNodeType)("InterpreterDirective"), + default: null, + optional: true + }, + directives: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Directive"))), + default: [] + }, + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + }, + aliases: ["Scopable", "BlockParent", "Block"] +}); +(0, _utils.default)("ObjectExpression", { + visitor: ["properties"], + aliases: ["Expression"], + fields: { + properties: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ObjectMethod", "ObjectProperty", "SpreadElement"))) + } + } +}); +(0, _utils.default)("ObjectMethod", { + builder: ["kind", "key", "params", "body", "computed"], + fields: Object.assign({}, functionCommon, {}, functionTypeAnnotationCommon, { + kind: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("method", "get", "set")), + default: "method" + }, + computed: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + key: { + validate: function () { + var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); + var computed = (0, _utils.assertNodeType)("Expression"); + return function (node, key, val) { + var validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }() + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }), + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + aliases: ["UserWhitespacable", "Function", "Scopable", "BlockParent", "FunctionParent", "Method", "ObjectMember"] +}); +(0, _utils.default)("ObjectProperty", { + builder: ["key", "value", "computed", "shorthand", "decorators"], + fields: { + computed: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + key: { + validate: function () { + var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); + var computed = (0, _utils.assertNodeType)("Expression"); + return function (node, key, val) { + var validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }() + }, + value: { + validate: (0, _utils.assertNodeType)("Expression", "PatternLike") + }, + shorthand: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }, + visitor: ["key", "value", "decorators"], + aliases: ["UserWhitespacable", "Property", "ObjectMember"] +}); +(0, _utils.default)("RestElement", { + visitor: ["argument", "typeAnnotation"], + builder: ["argument"], + aliases: ["LVal", "PatternLike"], + deprecatedAlias: "RestProperty", + fields: Object.assign({}, patternLikeCommon, { + argument: { + validate: (0, _utils.assertNodeType)("LVal") + } + }) +}); +(0, _utils.default)("ReturnStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + } + } +}); +(0, _utils.default)("SequenceExpression", { + visitor: ["expressions"], + fields: { + expressions: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression"))) + } + }, + aliases: ["Expression"] +}); +(0, _utils.default)("ParenthesizedExpression", { + visitor: ["expression"], + aliases: ["Expression", "ExpressionWrapper"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("SwitchCase", { + visitor: ["test", "consequent"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + consequent: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Statement"))) + } + } +}); +(0, _utils.default)("SwitchStatement", { + visitor: ["discriminant", "cases"], + aliases: ["Statement", "BlockParent", "Scopable"], + fields: { + discriminant: { + validate: (0, _utils.assertNodeType)("Expression") + }, + cases: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("SwitchCase"))) + } + } +}); +(0, _utils.default)("ThisExpression", { + aliases: ["Expression"] +}); +(0, _utils.default)("ThrowStatement", { + visitor: ["argument"], + aliases: ["Statement", "Terminatorless", "CompletionStatement"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("TryStatement", { + visitor: ["block", "handler", "finalizer"], + aliases: ["Statement"], + fields: { + block: { + validate: (0, _utils.assertNodeType)("BlockStatement") + }, + handler: { + optional: true, + validate: (0, _utils.assertNodeType)("CatchClause") + }, + finalizer: { + optional: true, + validate: (0, _utils.assertNodeType)("BlockStatement") + } + } +}); +(0, _utils.default)("UnaryExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: true + }, + argument: { + validate: (0, _utils.assertNodeType)("Expression") + }, + operator: { + validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.UNARY_OPERATORS)) + } + }, + visitor: ["argument"], + aliases: ["UnaryLike", "Expression"] +}); +(0, _utils.default)("UpdateExpression", { + builder: ["operator", "argument", "prefix"], + fields: { + prefix: { + default: false + }, + argument: { + validate: (0, _utils.assertNodeType)("Expression") + }, + operator: { + validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_constants.UPDATE_OPERATORS)) + } + }, + visitor: ["argument"], + aliases: ["Expression"] +}); +(0, _utils.default)("VariableDeclaration", { + builder: ["kind", "declarations"], + visitor: ["declarations"], + aliases: ["Statement", "Declaration"], + fields: { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + kind: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("var", "let", "const")) + }, + declarations: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("VariableDeclarator"))) + } + } +}); +(0, _utils.default)("VariableDeclarator", { + visitor: ["id", "init"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("LVal") + }, + definite: { + optional: true, + validate: (0, _utils.assertValueType)("boolean") + }, + init: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("WhileStatement", { + visitor: ["test", "body"], + aliases: ["Statement", "BlockParent", "Loop", "While", "Scopable"], + fields: { + test: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement", "Statement") + } + } +}); +(0, _utils.default)("WithStatement", { + visitor: ["object", "body"], + aliases: ["Statement"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement", "Statement") + } + } +}); + +},{"../constants":220,"../validators/isValidIdentifier":271,"./utils":241}],233:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.classMethodOrDeclareMethodCommon = exports.classMethodOrPropertyCommon = void 0; + +var _utils = _interopRequireWildcard(require("./utils")); + +var _core = require("./core"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +(0, _utils.default)("AssignmentPattern", { + visitor: ["left", "right", "decorators"], + builder: ["left", "right"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, _core.patternLikeCommon, { + left: { + validate: (0, _utils.assertNodeType)("Identifier", "ObjectPattern", "ArrayPattern", "MemberExpression") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) + } + }) +}); +(0, _utils.default)("ArrayPattern", { + visitor: ["elements", "typeAnnotation"], + builder: ["elements"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, _core.patternLikeCommon, { + elements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("PatternLike"))) + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))) + } + }) +}); +(0, _utils.default)("ArrowFunctionExpression", { + builder: ["params", "body", "async"], + visitor: ["params", "body", "returnType", "typeParameters"], + aliases: ["Scopable", "Function", "BlockParent", "FunctionParent", "Expression", "Pureish"], + fields: Object.assign({}, _core.functionCommon, {}, _core.functionTypeAnnotationCommon, { + expression: { + validate: (0, _utils.assertValueType)("boolean") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement", "Expression") + } + }) +}); +(0, _utils.default)("ClassBody", { + visitor: ["body"], + fields: { + body: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ClassMethod", "ClassPrivateMethod", "ClassProperty", "ClassPrivateProperty", "TSDeclareMethod", "TSIndexSignature"))) + } + } +}); +var classCommon = { + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterDeclaration", "TSTypeParameterDeclaration", "Noop"), + optional: true + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + superTypeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + }, + implements: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSExpressionWithTypeArguments", "ClassImplements"))), + optional: true + } +}; +(0, _utils.default)("ClassDeclaration", { + builder: ["id", "superClass", "body", "decorators"], + visitor: ["id", "body", "superClass", "mixins", "typeParameters", "superTypeParameters", "implements", "decorators"], + aliases: ["Scopable", "Class", "Statement", "Declaration", "Pureish"], + fields: Object.assign({}, classCommon, { + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + id: { + validate: (0, _utils.assertNodeType)("Identifier"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }) +}); +(0, _utils.default)("ClassExpression", { + inherits: "ClassDeclaration", + aliases: ["Scopable", "Class", "Expression", "Pureish"], + fields: Object.assign({}, classCommon, { + id: { + optional: true, + validate: (0, _utils.assertNodeType)("Identifier") + }, + body: { + validate: (0, _utils.assertNodeType)("ClassBody") + }, + superClass: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + }) +}); +(0, _utils.default)("ExportAllDeclaration", { + visitor: ["source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + } + } +}); +(0, _utils.default)("ExportDefaultDeclaration", { + visitor: ["declaration"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + declaration: { + validate: (0, _utils.assertNodeType)("FunctionDeclaration", "TSDeclareFunction", "ClassDeclaration", "Expression") + } + } +}); +(0, _utils.default)("ExportNamedDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], + fields: { + declaration: { + validate: (0, _utils.assertNodeType)("Declaration"), + optional: true + }, + specifiers: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ExportSpecifier", "ExportDefaultSpecifier", "ExportNamespaceSpecifier"))) + }, + source: { + validate: (0, _utils.assertNodeType)("StringLiteral"), + optional: true + }, + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + } +}); +(0, _utils.default)("ExportSpecifier", { + visitor: ["local", "exported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("ForOfStatement", { + visitor: ["left", "right", "body"], + aliases: ["Scopable", "Statement", "For", "BlockParent", "Loop", "ForXStatement"], + fields: { + left: { + validate: (0, _utils.assertNodeType)("VariableDeclaration", "LVal") + }, + right: { + validate: (0, _utils.assertNodeType)("Expression") + }, + body: { + validate: (0, _utils.assertNodeType)("Statement") + }, + await: { + default: false, + validate: (0, _utils.assertValueType)("boolean") + } + } +}); +(0, _utils.default)("ImportDeclaration", { + visitor: ["specifiers", "source"], + aliases: ["Statement", "Declaration", "ModuleDeclaration"], + fields: { + specifiers: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("ImportSpecifier", "ImportDefaultSpecifier", "ImportNamespaceSpecifier"))) + }, + source: { + validate: (0, _utils.assertNodeType)("StringLiteral") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof", "value"), + optional: true + } + } +}); +(0, _utils.default)("ImportDefaultSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("ImportNamespaceSpecifier", { + visitor: ["local"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("ImportSpecifier", { + visitor: ["local", "imported"], + aliases: ["ModuleSpecifier"], + fields: { + local: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + imported: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + importKind: { + validate: (0, _utils.assertOneOf)("type", "typeof"), + optional: true + } + } +}); +(0, _utils.default)("MetaProperty", { + visitor: ["meta", "property"], + aliases: ["Expression"], + fields: { + meta: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + property: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +var classMethodOrPropertyCommon = { + abstract: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + accessibility: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), + optional: true + }, + static: { + default: false, + validate: (0, _utils.assertValueType)("boolean") + }, + computed: { + default: false, + validate: (0, _utils.assertValueType)("boolean") + }, + optional: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + key: { + validate: (0, _utils.chain)(function () { + var normal = (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral"); + var computed = (0, _utils.assertNodeType)("Expression"); + return function (node, key, val) { + var validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }(), (0, _utils.assertNodeType)("Identifier", "StringLiteral", "NumericLiteral", "Expression")) + } +}; +exports.classMethodOrPropertyCommon = classMethodOrPropertyCommon; +var classMethodOrDeclareMethodCommon = Object.assign({}, _core.functionCommon, {}, classMethodOrPropertyCommon, { + kind: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("get", "set", "method", "constructor")), + default: "method" + }, + access: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("string"), (0, _utils.assertOneOf)("public", "private", "protected")), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } +}); +exports.classMethodOrDeclareMethodCommon = classMethodOrDeclareMethodCommon; +(0, _utils.default)("ClassMethod", { + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method"], + builder: ["kind", "key", "params", "body", "computed", "static"], + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + fields: Object.assign({}, classMethodOrDeclareMethodCommon, {}, _core.functionTypeAnnotationCommon, { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) +}); +(0, _utils.default)("ObjectPattern", { + visitor: ["properties", "typeAnnotation", "decorators"], + builder: ["properties"], + aliases: ["Pattern", "PatternLike", "LVal"], + fields: Object.assign({}, _core.patternLikeCommon, { + properties: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("RestElement", "ObjectProperty"))) + } + }) +}); +(0, _utils.default)("SpreadElement", { + visitor: ["argument"], + aliases: ["UnaryLike"], + deprecatedAlias: "SpreadProperty", + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("Super", { + aliases: ["Expression"] +}); +(0, _utils.default)("TaggedTemplateExpression", { + visitor: ["tag", "quasi"], + aliases: ["Expression"], + fields: { + tag: { + validate: (0, _utils.assertNodeType)("Expression") + }, + quasi: { + validate: (0, _utils.assertNodeType)("TemplateLiteral") + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } +}); +(0, _utils.default)("TemplateElement", { + builder: ["value", "tail"], + fields: { + value: { + validate: (0, _utils.assertShape)({ + raw: { + validate: (0, _utils.assertValueType)("string") + }, + cooked: { + validate: (0, _utils.assertValueType)("string"), + optional: true + } + }) + }, + tail: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + } + } +}); +(0, _utils.default)("TemplateLiteral", { + visitor: ["quasis", "expressions"], + aliases: ["Expression", "Literal"], + fields: { + quasis: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TemplateElement"))) + }, + expressions: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression")), function (node, key, val) { + if (node.quasis.length !== val.length + 1) { + throw new TypeError("Number of ".concat(node.type, " quasis should be exactly one more than the number of expressions.\nExpected ").concat(val.length + 1, " quasis but got ").concat(node.quasis.length)); + } + }) + } + } +}); +(0, _utils.default)("YieldExpression", { + builder: ["argument", "delegate"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + delegate: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + argument: { + optional: true, + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); + +},{"./core":232,"./utils":241}],234:[function(require,module,exports){ +"use strict"; + +var _utils = _interopRequireWildcard(require("./utils")); + +var _es = require("./es2015"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +(0, _utils.default)("ArgumentPlaceholder", {}); +(0, _utils.default)("AwaitExpression", { + builder: ["argument"], + visitor: ["argument"], + aliases: ["Expression", "Terminatorless"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("BindExpression", { + visitor: ["object", "callee"], + aliases: ["Expression"], + fields: {} +}); +(0, _utils.default)("ClassProperty", { + visitor: ["key", "value", "typeAnnotation", "decorators"], + builder: ["key", "value", "typeAnnotation", "decorators", "computed", "static"], + aliases: ["Property"], + fields: Object.assign({}, _es.classMethodOrPropertyCommon, { + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + definite: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TypeAnnotation", "TSTypeAnnotation", "Noop"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + declare: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + } + }) +}); +(0, _utils.default)("OptionalMemberExpression", { + builder: ["object", "property", "computed", "optional"], + visitor: ["object", "property"], + aliases: ["Expression"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("Expression") + }, + property: { + validate: function () { + var normal = (0, _utils.assertNodeType)("Identifier"); + var computed = (0, _utils.assertNodeType)("Expression"); + return function (node, key, val) { + var validator = node.computed ? computed : normal; + validator(node, key, val); + }; + }() + }, + computed: { + default: false + }, + optional: { + validate: (0, _utils.assertValueType)("boolean") + } + } +}); +(0, _utils.default)("PipelineTopicExpression", { + builder: ["expression"], + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("PipelineBareFunction", { + builder: ["callee"], + visitor: ["callee"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("PipelinePrimaryTopicReference", { + aliases: ["Expression"] +}); +(0, _utils.default)("OptionalCallExpression", { + visitor: ["callee", "arguments", "typeParameters", "typeArguments"], + builder: ["callee", "arguments", "optional"], + aliases: ["Expression"], + fields: { + callee: { + validate: (0, _utils.assertNodeType)("Expression") + }, + arguments: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Expression", "SpreadElement", "JSXNamespacedName"))) + }, + optional: { + validate: (0, _utils.assertValueType)("boolean") + }, + typeArguments: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterInstantiation"), + optional: true + } + } +}); +(0, _utils.default)("ClassPrivateProperty", { + visitor: ["key", "value", "decorators"], + builder: ["key", "value", "decorators"], + aliases: ["Property", "Private"], + fields: { + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + value: { + validate: (0, _utils.assertNodeType)("Expression"), + optional: true + }, + decorators: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("Decorator"))), + optional: true + } + } +}); +(0, _utils.default)("ClassPrivateMethod", { + builder: ["kind", "key", "params", "body", "static"], + visitor: ["key", "params", "body", "decorators", "returnType", "typeParameters"], + aliases: ["Function", "Scopable", "BlockParent", "FunctionParent", "Method", "Private"], + fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, { + key: { + validate: (0, _utils.assertNodeType)("PrivateName") + }, + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + }) +}); +(0, _utils.default)("Import", { + aliases: ["Expression"] +}); +(0, _utils.default)("Decorator", { + visitor: ["expression"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("DoExpression", { + visitor: ["body"], + aliases: ["Expression"], + fields: { + body: { + validate: (0, _utils.assertNodeType)("BlockStatement") + } + } +}); +(0, _utils.default)("ExportDefaultSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("ExportNamespaceSpecifier", { + visitor: ["exported"], + aliases: ["ModuleSpecifier"], + fields: { + exported: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("PrivateName", { + visitor: ["id"], + aliases: ["Private"], + fields: { + id: { + validate: (0, _utils.assertNodeType)("Identifier") + } + } +}); +(0, _utils.default)("BigIntLiteral", { + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + }, + aliases: ["Expression", "Pureish", "Literal", "Immutable"] +}); + +},{"./es2015":233,"./utils":241}],235:[function(require,module,exports){ +"use strict"; + +var _utils = _interopRequireWildcard(require("./utils")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var defineInterfaceishType = function defineInterfaceishType(name) { + var typeParameterType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "TypeParameterDeclaration"; + (0, _utils.default)(name, { + builder: ["id", "typeParameters", "extends", "body"], + visitor: ["id", "typeParameters", "extends", "mixins", "implements", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)(typeParameterType), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + mixins: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + implements: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ClassImplements")), + body: (0, _utils.validateType)("ObjectTypeAnnotation") + } + }); +}; + +(0, _utils.default)("AnyTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("ArrayTypeAnnotation", { + visitor: ["elementType"], + aliases: ["Flow", "FlowType"], + fields: { + elementType: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("BooleanTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("BooleanLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["Flow", "FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("NullLiteralTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("ClassImplements", { + visitor: ["id", "typeParameters"], + aliases: ["Flow"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } +}); +defineInterfaceishType("DeclareClass"); +(0, _utils.default)("DeclareFunction", { + visitor: ["id"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + predicate: (0, _utils.validateOptionalType)("DeclaredPredicate") + } +}); +defineInterfaceishType("DeclareInterface"); +(0, _utils.default)("DeclareModule", { + builder: ["id", "body", "kind"], + visitor: ["id", "body"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + body: (0, _utils.validateType)("BlockStatement"), + kind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("CommonJS", "ES")) + } +}); +(0, _utils.default)("DeclareModuleExports", { + visitor: ["typeAnnotation"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } +}); +(0, _utils.default)("DeclareTypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("DeclareOpaqueType", { + visitor: ["id", "typeParameters", "supertype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType") + } +}); +(0, _utils.default)("DeclareVariable", { + visitor: ["id"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier") + } +}); +(0, _utils.default)("DeclareExportDeclaration", { + visitor: ["declaration", "specifiers", "source"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + declaration: (0, _utils.validateOptionalType)("Flow"), + specifiers: (0, _utils.validateOptional)((0, _utils.arrayOfType)(["ExportSpecifier", "ExportNamespaceSpecifier"])), + source: (0, _utils.validateOptionalType)("StringLiteral"), + default: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("DeclareExportAllDeclaration", { + visitor: ["source"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + source: (0, _utils.validateType)("StringLiteral"), + exportKind: (0, _utils.validateOptional)((0, _utils.assertOneOf)("type", "value")) + } +}); +(0, _utils.default)("DeclaredPredicate", { + visitor: ["value"], + aliases: ["Flow", "FlowPredicate"], + fields: { + value: (0, _utils.validateType)("Flow") + } +}); +(0, _utils.default)("ExistsTypeAnnotation", { + aliases: ["Flow", "FlowType"] +}); +(0, _utils.default)("FunctionTypeAnnotation", { + visitor: ["typeParameters", "params", "rest", "returnType"], + aliases: ["Flow", "FlowType"], + fields: { + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + params: (0, _utils.validate)((0, _utils.arrayOfType)("FunctionTypeParam")), + rest: (0, _utils.validateOptionalType)("FunctionTypeParam"), + returnType: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("FunctionTypeParam", { + visitor: ["name", "typeAnnotation"], + aliases: ["Flow"], + fields: { + name: (0, _utils.validateOptionalType)("Identifier"), + typeAnnotation: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("GenericTypeAnnotation", { + visitor: ["id", "typeParameters"], + aliases: ["Flow", "FlowType"], + fields: { + id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } +}); +(0, _utils.default)("InferredPredicate", { + aliases: ["Flow", "FlowPredicate"] +}); +(0, _utils.default)("InterfaceExtends", { + visitor: ["id", "typeParameters"], + aliases: ["Flow"], + fields: { + id: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterInstantiation") + } +}); +defineInterfaceishType("InterfaceDeclaration"); +(0, _utils.default)("InterfaceTypeAnnotation", { + visitor: ["extends", "body"], + aliases: ["Flow", "FlowType"], + fields: { + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("InterfaceExtends")), + body: (0, _utils.validateType)("ObjectTypeAnnotation") + } +}); +(0, _utils.default)("IntersectionTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow", "FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } +}); +(0, _utils.default)("MixedTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("EmptyTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("NullableTypeAnnotation", { + visitor: ["typeAnnotation"], + aliases: ["Flow", "FlowType"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("NumberLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["Flow", "FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("number")) + } +}); +(0, _utils.default)("NumberTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("ObjectTypeAnnotation", { + visitor: ["properties", "indexers", "callProperties", "internalSlots"], + aliases: ["Flow", "FlowType"], + builder: ["properties", "indexers", "callProperties", "internalSlots", "exact"], + fields: { + properties: (0, _utils.validate)((0, _utils.arrayOfType)(["ObjectTypeProperty", "ObjectTypeSpreadProperty"])), + indexers: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeIndexer")), + callProperties: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeCallProperty")), + internalSlots: (0, _utils.validateOptional)((0, _utils.arrayOfType)("ObjectTypeInternalSlot")), + exact: { + validate: (0, _utils.assertValueType)("boolean"), + default: false + }, + inexact: (0, _utils.validateOptional)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("ObjectTypeInternalSlot", { + visitor: ["id", "value", "optional", "static", "method"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + id: (0, _utils.validateType)("Identifier"), + value: (0, _utils.validateType)("FlowType"), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + method: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("ObjectTypeCallProperty", { + visitor: ["value"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")) + } +}); +(0, _utils.default)("ObjectTypeIndexer", { + visitor: ["id", "key", "value", "variance"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + id: (0, _utils.validateOptionalType)("Identifier"), + key: (0, _utils.validateType)("FlowType"), + value: (0, _utils.validateType)("FlowType"), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance") + } +}); +(0, _utils.default)("ObjectTypeProperty", { + visitor: ["key", "value", "variance"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + key: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + value: (0, _utils.validateType)("FlowType"), + kind: (0, _utils.validate)((0, _utils.assertOneOf)("init", "get", "set")), + static: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + proto: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + optional: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + variance: (0, _utils.validateOptionalType)("Variance") + } +}); +(0, _utils.default)("ObjectTypeSpreadProperty", { + visitor: ["argument"], + aliases: ["Flow", "UserWhitespacable"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("OpaqueType", { + visitor: ["id", "typeParameters", "supertype", "impltype"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + supertype: (0, _utils.validateOptionalType)("FlowType"), + impltype: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("QualifiedTypeIdentifier", { + visitor: ["id", "qualification"], + aliases: ["Flow"], + fields: { + id: (0, _utils.validateType)("Identifier"), + qualification: (0, _utils.validateType)(["Identifier", "QualifiedTypeIdentifier"]) + } +}); +(0, _utils.default)("StringLiteralTypeAnnotation", { + builder: ["value"], + aliases: ["Flow", "FlowType"], + fields: { + value: (0, _utils.validate)((0, _utils.assertValueType)("string")) + } +}); +(0, _utils.default)("StringTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("ThisTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("TupleTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow", "FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } +}); +(0, _utils.default)("TypeofTypeAnnotation", { + visitor: ["argument"], + aliases: ["Flow", "FlowType"], + fields: { + argument: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("TypeAlias", { + visitor: ["id", "typeParameters", "right"], + aliases: ["Flow", "FlowDeclaration", "Statement", "Declaration"], + fields: { + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TypeParameterDeclaration"), + right: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("TypeAnnotation", { + aliases: ["Flow"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("FlowType") + } +}); +(0, _utils.default)("TypeCastExpression", { + visitor: ["expression", "typeAnnotation"], + aliases: ["Flow", "ExpressionWrapper", "Expression"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TypeAnnotation") + } +}); +(0, _utils.default)("TypeParameter", { + aliases: ["Flow"], + visitor: ["bound", "default", "variance"], + fields: { + name: (0, _utils.validate)((0, _utils.assertValueType)("string")), + bound: (0, _utils.validateOptionalType)("TypeAnnotation"), + default: (0, _utils.validateOptionalType)("FlowType"), + variance: (0, _utils.validateOptionalType)("Variance") + } +}); +(0, _utils.default)("TypeParameterDeclaration", { + aliases: ["Flow"], + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("TypeParameter")) + } +}); +(0, _utils.default)("TypeParameterInstantiation", { + aliases: ["Flow"], + visitor: ["params"], + fields: { + params: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } +}); +(0, _utils.default)("UnionTypeAnnotation", { + visitor: ["types"], + aliases: ["Flow", "FlowType"], + fields: { + types: (0, _utils.validate)((0, _utils.arrayOfType)("FlowType")) + } +}); +(0, _utils.default)("Variance", { + aliases: ["Flow"], + builder: ["kind"], + fields: { + kind: (0, _utils.validate)((0, _utils.assertOneOf)("minus", "plus")) + } +}); +(0, _utils.default)("VoidTypeAnnotation", { + aliases: ["Flow", "FlowType", "FlowBaseAnnotation"] +}); +(0, _utils.default)("EnumDeclaration", { + alises: ["Declaration"], + visitor: ["id", "body"], + fields: { + id: (0, _utils.validateType)("Identifier"), + body: (0, _utils.validateType)(["EnumBooleanBody", "EnumNumberBody", "EnumStringBody", "EnumSymbolBody"]) + } +}); +(0, _utils.default)("EnumBooleanBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumBooleanMember") + } +}); +(0, _utils.default)("EnumNumberBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)("EnumNumberMember") + } +}); +(0, _utils.default)("EnumStringBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + explicit: (0, _utils.validate)((0, _utils.assertValueType)("boolean")), + members: (0, _utils.validateArrayOfType)(["EnumStringMember", "EnumDefaultedMember"]) + } +}); +(0, _utils.default)("EnumSymbolBody", { + aliases: ["EnumBody"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("EnumDefaultedMember") + } +}); +(0, _utils.default)("EnumBooleanMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("BooleanLiteral") + } +}); +(0, _utils.default)("EnumNumberMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("NumericLiteral") + } +}); +(0, _utils.default)("EnumStringMember", { + aliases: ["EnumMember"], + visitor: ["id", "init"], + fields: { + id: (0, _utils.validateType)("Identifier"), + init: (0, _utils.validateType)("StringLiteral") + } +}); +(0, _utils.default)("EnumDefaultedMember", { + aliases: ["EnumMember"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } +}); + +},{"./utils":241}],236:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "VISITOR_KEYS", { + enumerable: true, + get: function get() { + return _utils.VISITOR_KEYS; + } +}); +Object.defineProperty(exports, "ALIAS_KEYS", { + enumerable: true, + get: function get() { + return _utils.ALIAS_KEYS; + } +}); +Object.defineProperty(exports, "FLIPPED_ALIAS_KEYS", { + enumerable: true, + get: function get() { + return _utils.FLIPPED_ALIAS_KEYS; + } +}); +Object.defineProperty(exports, "NODE_FIELDS", { + enumerable: true, + get: function get() { + return _utils.NODE_FIELDS; + } +}); +Object.defineProperty(exports, "BUILDER_KEYS", { + enumerable: true, + get: function get() { + return _utils.BUILDER_KEYS; + } +}); +Object.defineProperty(exports, "DEPRECATED_KEYS", { + enumerable: true, + get: function get() { + return _utils.DEPRECATED_KEYS; + } +}); +Object.defineProperty(exports, "PLACEHOLDERS", { + enumerable: true, + get: function get() { + return _placeholders.PLACEHOLDERS; + } +}); +Object.defineProperty(exports, "PLACEHOLDERS_ALIAS", { + enumerable: true, + get: function get() { + return _placeholders.PLACEHOLDERS_ALIAS; + } +}); +Object.defineProperty(exports, "PLACEHOLDERS_FLIPPED_ALIAS", { + enumerable: true, + get: function get() { + return _placeholders.PLACEHOLDERS_FLIPPED_ALIAS; + } +}); +exports.TYPES = void 0; + +var _toFastProperties = _interopRequireDefault(require("to-fast-properties")); + +require("./core"); + +require("./es2015"); + +require("./flow"); + +require("./jsx"); + +require("./misc"); + +require("./experimental"); + +require("./typescript"); + +var _utils = require("./utils"); + +var _placeholders = require("./placeholders"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +(0, _toFastProperties.default)(_utils.VISITOR_KEYS); +(0, _toFastProperties.default)(_utils.ALIAS_KEYS); +(0, _toFastProperties.default)(_utils.FLIPPED_ALIAS_KEYS); +(0, _toFastProperties.default)(_utils.NODE_FIELDS); +(0, _toFastProperties.default)(_utils.BUILDER_KEYS); +(0, _toFastProperties.default)(_utils.DEPRECATED_KEYS); +(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_ALIAS); +(0, _toFastProperties.default)(_placeholders.PLACEHOLDERS_FLIPPED_ALIAS); +var TYPES = Object.keys(_utils.VISITOR_KEYS).concat(Object.keys(_utils.FLIPPED_ALIAS_KEYS)).concat(Object.keys(_utils.DEPRECATED_KEYS)); +exports.TYPES = TYPES; + +},{"./core":232,"./es2015":233,"./experimental":234,"./flow":235,"./jsx":237,"./misc":238,"./placeholders":239,"./typescript":240,"./utils":241,"to-fast-properties":1083}],237:[function(require,module,exports){ +"use strict"; + +var _utils = _interopRequireWildcard(require("./utils")); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +(0, _utils.default)("JSXAttribute", { + visitor: ["name", "value"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXNamespacedName") + }, + value: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXElement", "JSXFragment", "StringLiteral", "JSXExpressionContainer") + } + } +}); +(0, _utils.default)("JSXClosingElement", { + visitor: ["name"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + } + } +}); +(0, _utils.default)("JSXElement", { + builder: ["openingElement", "closingElement", "children", "selfClosing"], + visitor: ["openingElement", "children", "closingElement"], + aliases: ["JSX", "Immutable", "Expression"], + fields: { + openingElement: { + validate: (0, _utils.assertNodeType)("JSXOpeningElement") + }, + closingElement: { + optional: true, + validate: (0, _utils.assertNodeType)("JSXClosingElement") + }, + children: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) + } + } +}); +(0, _utils.default)("JSXEmptyExpression", { + aliases: ["JSX"] +}); +(0, _utils.default)("JSXExpressionContainer", { + visitor: ["expression"], + aliases: ["JSX", "Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression", "JSXEmptyExpression") + } + } +}); +(0, _utils.default)("JSXSpreadChild", { + visitor: ["expression"], + aliases: ["JSX", "Immutable"], + fields: { + expression: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("JSXIdentifier", { + builder: ["name"], + aliases: ["JSX"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } +}); +(0, _utils.default)("JSXMemberExpression", { + visitor: ["object", "property"], + aliases: ["JSX"], + fields: { + object: { + validate: (0, _utils.assertNodeType)("JSXMemberExpression", "JSXIdentifier") + }, + property: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } +}); +(0, _utils.default)("JSXNamespacedName", { + visitor: ["namespace", "name"], + aliases: ["JSX"], + fields: { + namespace: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + }, + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier") + } + } +}); +(0, _utils.default)("JSXOpeningElement", { + builder: ["name", "attributes", "selfClosing"], + visitor: ["name", "attributes"], + aliases: ["JSX", "Immutable"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("JSXIdentifier", "JSXMemberExpression", "JSXNamespacedName") + }, + selfClosing: { + default: false, + validate: (0, _utils.assertValueType)("boolean") + }, + attributes: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXAttribute", "JSXSpreadAttribute"))) + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TypeParameterInstantiation", "TSTypeParameterInstantiation"), + optional: true + } + } +}); +(0, _utils.default)("JSXSpreadAttribute", { + visitor: ["argument"], + aliases: ["JSX"], + fields: { + argument: { + validate: (0, _utils.assertNodeType)("Expression") + } + } +}); +(0, _utils.default)("JSXText", { + aliases: ["JSX", "Immutable"], + builder: ["value"], + fields: { + value: { + validate: (0, _utils.assertValueType)("string") + } + } +}); +(0, _utils.default)("JSXFragment", { + builder: ["openingFragment", "closingFragment", "children"], + visitor: ["openingFragment", "children", "closingFragment"], + aliases: ["JSX", "Immutable", "Expression"], + fields: { + openingFragment: { + validate: (0, _utils.assertNodeType)("JSXOpeningFragment") + }, + closingFragment: { + validate: (0, _utils.assertNodeType)("JSXClosingFragment") + }, + children: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("JSXText", "JSXExpressionContainer", "JSXSpreadChild", "JSXElement", "JSXFragment"))) + } + } +}); +(0, _utils.default)("JSXOpeningFragment", { + aliases: ["JSX", "Immutable"] +}); +(0, _utils.default)("JSXClosingFragment", { + aliases: ["JSX", "Immutable"] +}); + +},{"./utils":241}],238:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var _utils = _interopRequireWildcard(require("./utils")); + +var _placeholders = require("./placeholders"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +(0, _utils.default)("Noop", { + visitor: [] +}); +(0, _utils.default)("Placeholder", { + visitor: [], + builder: ["expectedNode", "name"], + fields: { + name: { + validate: (0, _utils.assertNodeType)("Identifier") + }, + expectedNode: { + validate: (0, _utils.assertOneOf).apply(void 0, _toConsumableArray(_placeholders.PLACEHOLDERS)) + } + } +}); +(0, _utils.default)("V8IntrinsicIdentifier", { + builder: ["name"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + } + } +}); + +},{"./placeholders":239,"./utils":241}],239:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.PLACEHOLDERS_FLIPPED_ALIAS = exports.PLACEHOLDERS_ALIAS = exports.PLACEHOLDERS = void 0; + +var _utils = require("./utils"); + +var PLACEHOLDERS = ["Identifier", "StringLiteral", "Expression", "Statement", "Declaration", "BlockStatement", "ClassBody", "Pattern"]; +exports.PLACEHOLDERS = PLACEHOLDERS; +var PLACEHOLDERS_ALIAS = { + Declaration: ["Statement"], + Pattern: ["PatternLike", "LVal"] +}; +exports.PLACEHOLDERS_ALIAS = PLACEHOLDERS_ALIAS; + +for (var _i = 0, _PLACEHOLDERS = PLACEHOLDERS; _i < _PLACEHOLDERS.length; _i++) { + var type = _PLACEHOLDERS[_i]; + var alias = _utils.ALIAS_KEYS[type]; + if (alias && alias.length) PLACEHOLDERS_ALIAS[type] = alias; +} + +var PLACEHOLDERS_FLIPPED_ALIAS = {}; +exports.PLACEHOLDERS_FLIPPED_ALIAS = PLACEHOLDERS_FLIPPED_ALIAS; +Object.keys(PLACEHOLDERS_ALIAS).forEach(function (type) { + PLACEHOLDERS_ALIAS[type].forEach(function (alias) { + if (!Object.hasOwnProperty.call(PLACEHOLDERS_FLIPPED_ALIAS, alias)) { + PLACEHOLDERS_FLIPPED_ALIAS[alias] = []; + } + + PLACEHOLDERS_FLIPPED_ALIAS[alias].push(type); + }); +}); + +},{"./utils":241}],240:[function(require,module,exports){ +"use strict"; + +var _utils = _interopRequireWildcard(require("./utils")); + +var _core = require("./core"); + +var _es = require("./es2015"); + +function _getRequireWildcardCache() { + if (typeof WeakMap !== "function") return null; + var cache = new WeakMap(); + + _getRequireWildcardCache = function _getRequireWildcardCache() { + return cache; + }; + + return cache; +} + +function _interopRequireWildcard(obj) { + if (obj && obj.__esModule) { + return obj; + } + + var cache = _getRequireWildcardCache(); + + if (cache && cache.has(obj)) { + return cache.get(obj); + } + + var newObj = {}; + + if (obj != null) { + var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; + + for (var key in obj) { + if (Object.prototype.hasOwnProperty.call(obj, key)) { + var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; + + if (desc && (desc.get || desc.set)) { + Object.defineProperty(newObj, key, desc); + } else { + newObj[key] = obj[key]; + } + } + } + } + + newObj.default = obj; + + if (cache) { + cache.set(obj, newObj); + } + + return newObj; +} + +var bool = (0, _utils.assertValueType)("boolean"); +var tSFunctionTypeAnnotationCommon = { + returnType: { + validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"), + optional: true + }, + typeParameters: { + validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"), + optional: true + } +}; +(0, _utils.default)("TSParameterProperty", { + aliases: ["LVal"], + visitor: ["parameter"], + fields: { + accessibility: { + validate: (0, _utils.assertOneOf)("public", "private", "protected"), + optional: true + }, + readonly: { + validate: (0, _utils.assertValueType)("boolean"), + optional: true + }, + parameter: { + validate: (0, _utils.assertNodeType)("Identifier", "AssignmentPattern") + } + } +}); +(0, _utils.default)("TSDeclareFunction", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "params", "returnType"], + fields: Object.assign({}, _core.functionDeclarationCommon, {}, tSFunctionTypeAnnotationCommon) +}); +(0, _utils.default)("TSDeclareMethod", { + visitor: ["decorators", "key", "typeParameters", "params", "returnType"], + fields: Object.assign({}, _es.classMethodOrDeclareMethodCommon, {}, tSFunctionTypeAnnotationCommon) +}); +(0, _utils.default)("TSQualifiedName", { + aliases: ["TSEntityName"], + visitor: ["left", "right"], + fields: { + left: (0, _utils.validateType)("TSEntityName"), + right: (0, _utils.validateType)("Identifier") + } +}); +var signatureDeclarationCommon = { + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + parameters: (0, _utils.validateArrayOfType)(["Identifier", "RestElement"]), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") +}; +var callConstructSignatureDeclaration = { + aliases: ["TSTypeElement"], + visitor: ["typeParameters", "parameters", "typeAnnotation"], + fields: signatureDeclarationCommon +}; +(0, _utils.default)("TSCallSignatureDeclaration", callConstructSignatureDeclaration); +(0, _utils.default)("TSConstructSignatureDeclaration", callConstructSignatureDeclaration); +var namedTypeElementCommon = { + key: (0, _utils.validateType)("Expression"), + computed: (0, _utils.validate)(bool), + optional: (0, _utils.validateOptional)(bool) +}; +(0, _utils.default)("TSPropertySignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeAnnotation", "initializer"], + fields: Object.assign({}, namedTypeElementCommon, { + readonly: (0, _utils.validateOptional)(bool), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + initializer: (0, _utils.validateOptionalType)("Expression") + }) +}); +(0, _utils.default)("TSMethodSignature", { + aliases: ["TSTypeElement"], + visitor: ["key", "typeParameters", "parameters", "typeAnnotation"], + fields: Object.assign({}, signatureDeclarationCommon, {}, namedTypeElementCommon) +}); +(0, _utils.default)("TSIndexSignature", { + aliases: ["TSTypeElement"], + visitor: ["parameters", "typeAnnotation"], + fields: { + readonly: (0, _utils.validateOptional)(bool), + parameters: (0, _utils.validateArrayOfType)("Identifier"), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation") + } +}); +var tsKeywordTypes = ["TSAnyKeyword", "TSBooleanKeyword", "TSBigIntKeyword", "TSNeverKeyword", "TSNullKeyword", "TSNumberKeyword", "TSObjectKeyword", "TSStringKeyword", "TSSymbolKeyword", "TSUndefinedKeyword", "TSUnknownKeyword", "TSVoidKeyword"]; + +for (var _i = 0, _tsKeywordTypes = tsKeywordTypes; _i < _tsKeywordTypes.length; _i++) { + var type = _tsKeywordTypes[_i]; + (0, _utils.default)(type, { + aliases: ["TSType"], + visitor: [], + fields: {} + }); +} + +(0, _utils.default)("TSThisType", { + aliases: ["TSType"], + visitor: [], + fields: {} +}); +var fnOrCtr = { + aliases: ["TSType"], + visitor: ["typeParameters", "parameters", "typeAnnotation"], + fields: signatureDeclarationCommon +}; +(0, _utils.default)("TSFunctionType", fnOrCtr); +(0, _utils.default)("TSConstructorType", fnOrCtr); +(0, _utils.default)("TSTypeReference", { + aliases: ["TSType"], + visitor: ["typeName", "typeParameters"], + fields: { + typeName: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } +}); +(0, _utils.default)("TSTypePredicate", { + aliases: ["TSType"], + visitor: ["parameterName", "typeAnnotation", "asserts"], + fields: { + parameterName: (0, _utils.validateType)(["Identifier", "TSThisType"]), + typeAnnotation: (0, _utils.validateOptionalType)("TSTypeAnnotation"), + asserts: (0, _utils.validate)(bool) + } +}); +(0, _utils.default)("TSTypeQuery", { + aliases: ["TSType"], + visitor: ["exprName"], + fields: { + exprName: (0, _utils.validateType)(["TSEntityName", "TSImportType"]) + } +}); +(0, _utils.default)("TSTypeLiteral", { + aliases: ["TSType"], + visitor: ["members"], + fields: { + members: (0, _utils.validateArrayOfType)("TSTypeElement") + } +}); +(0, _utils.default)("TSArrayType", { + aliases: ["TSType"], + visitor: ["elementType"], + fields: { + elementType: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSTupleType", { + aliases: ["TSType"], + visitor: ["elementTypes"], + fields: { + elementTypes: (0, _utils.validateArrayOfType)("TSType") + } +}); +(0, _utils.default)("TSOptionalType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSRestType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +var unionOrIntersection = { + aliases: ["TSType"], + visitor: ["types"], + fields: { + types: (0, _utils.validateArrayOfType)("TSType") + } +}; +(0, _utils.default)("TSUnionType", unionOrIntersection); +(0, _utils.default)("TSIntersectionType", unionOrIntersection); +(0, _utils.default)("TSConditionalType", { + aliases: ["TSType"], + visitor: ["checkType", "extendsType", "trueType", "falseType"], + fields: { + checkType: (0, _utils.validateType)("TSType"), + extendsType: (0, _utils.validateType)("TSType"), + trueType: (0, _utils.validateType)("TSType"), + falseType: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSInferType", { + aliases: ["TSType"], + visitor: ["typeParameter"], + fields: { + typeParameter: (0, _utils.validateType)("TSTypeParameter") + } +}); +(0, _utils.default)("TSParenthesizedType", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSTypeOperator", { + aliases: ["TSType"], + visitor: ["typeAnnotation"], + fields: { + operator: (0, _utils.validate)((0, _utils.assertValueType)("string")), + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSIndexedAccessType", { + aliases: ["TSType"], + visitor: ["objectType", "indexType"], + fields: { + objectType: (0, _utils.validateType)("TSType"), + indexType: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSMappedType", { + aliases: ["TSType"], + visitor: ["typeParameter", "typeAnnotation"], + fields: { + readonly: (0, _utils.validateOptional)(bool), + typeParameter: (0, _utils.validateType)("TSTypeParameter"), + optional: (0, _utils.validateOptional)(bool), + typeAnnotation: (0, _utils.validateOptionalType)("TSType") + } +}); +(0, _utils.default)("TSLiteralType", { + aliases: ["TSType"], + visitor: ["literal"], + fields: { + literal: (0, _utils.validateType)(["NumericLiteral", "StringLiteral", "BooleanLiteral"]) + } +}); +(0, _utils.default)("TSExpressionWithTypeArguments", { + aliases: ["TSType"], + visitor: ["expression", "typeParameters"], + fields: { + expression: (0, _utils.validateType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } +}); +(0, _utils.default)("TSInterfaceDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "extends", "body"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + extends: (0, _utils.validateOptional)((0, _utils.arrayOfType)("TSExpressionWithTypeArguments")), + body: (0, _utils.validateType)("TSInterfaceBody") + } +}); +(0, _utils.default)("TSInterfaceBody", { + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("TSTypeElement") + } +}); +(0, _utils.default)("TSTypeAliasDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "typeParameters", "typeAnnotation"], + fields: { + declare: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterDeclaration"), + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSAsExpression", { + aliases: ["Expression"], + visitor: ["expression", "typeAnnotation"], + fields: { + expression: (0, _utils.validateType)("Expression"), + typeAnnotation: (0, _utils.validateType)("TSType") + } +}); +(0, _utils.default)("TSTypeAssertion", { + aliases: ["Expression"], + visitor: ["typeAnnotation", "expression"], + fields: { + typeAnnotation: (0, _utils.validateType)("TSType"), + expression: (0, _utils.validateType)("Expression") + } +}); +(0, _utils.default)("TSEnumDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "members"], + fields: { + declare: (0, _utils.validateOptional)(bool), + const: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)("Identifier"), + members: (0, _utils.validateArrayOfType)("TSEnumMember"), + initializer: (0, _utils.validateOptionalType)("Expression") + } +}); +(0, _utils.default)("TSEnumMember", { + visitor: ["id", "initializer"], + fields: { + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + initializer: (0, _utils.validateOptionalType)("Expression") + } +}); +(0, _utils.default)("TSModuleDeclaration", { + aliases: ["Statement", "Declaration"], + visitor: ["id", "body"], + fields: { + declare: (0, _utils.validateOptional)(bool), + global: (0, _utils.validateOptional)(bool), + id: (0, _utils.validateType)(["Identifier", "StringLiteral"]), + body: (0, _utils.validateType)(["TSModuleBlock", "TSModuleDeclaration"]) + } +}); +(0, _utils.default)("TSModuleBlock", { + aliases: ["Scopable", "Block", "BlockParent"], + visitor: ["body"], + fields: { + body: (0, _utils.validateArrayOfType)("Statement") + } +}); +(0, _utils.default)("TSImportType", { + aliases: ["TSType"], + visitor: ["argument", "qualifier", "typeParameters"], + fields: { + argument: (0, _utils.validateType)("StringLiteral"), + qualifier: (0, _utils.validateOptionalType)("TSEntityName"), + typeParameters: (0, _utils.validateOptionalType)("TSTypeParameterInstantiation") + } +}); +(0, _utils.default)("TSImportEqualsDeclaration", { + aliases: ["Statement"], + visitor: ["id", "moduleReference"], + fields: { + isExport: (0, _utils.validate)(bool), + id: (0, _utils.validateType)("Identifier"), + moduleReference: (0, _utils.validateType)(["TSEntityName", "TSExternalModuleReference"]) + } +}); +(0, _utils.default)("TSExternalModuleReference", { + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("StringLiteral") + } +}); +(0, _utils.default)("TSNonNullExpression", { + aliases: ["Expression"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } +}); +(0, _utils.default)("TSExportAssignment", { + aliases: ["Statement"], + visitor: ["expression"], + fields: { + expression: (0, _utils.validateType)("Expression") + } +}); +(0, _utils.default)("TSNamespaceExportDeclaration", { + aliases: ["Statement"], + visitor: ["id"], + fields: { + id: (0, _utils.validateType)("Identifier") + } +}); +(0, _utils.default)("TSTypeAnnotation", { + visitor: ["typeAnnotation"], + fields: { + typeAnnotation: { + validate: (0, _utils.assertNodeType)("TSType") + } + } +}); +(0, _utils.default)("TSTypeParameterInstantiation", { + visitor: ["params"], + fields: { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSType"))) + } + } +}); +(0, _utils.default)("TSTypeParameterDeclaration", { + visitor: ["params"], + fields: { + params: { + validate: (0, _utils.chain)((0, _utils.assertValueType)("array"), (0, _utils.assertEach)((0, _utils.assertNodeType)("TSTypeParameter"))) + } + } +}); +(0, _utils.default)("TSTypeParameter", { + builder: ["constraint", "default", "name"], + visitor: ["constraint", "default"], + fields: { + name: { + validate: (0, _utils.assertValueType)("string") + }, + constraint: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + }, + default: { + validate: (0, _utils.assertNodeType)("TSType"), + optional: true + } + } +}); + +},{"./core":232,"./es2015":233,"./utils":241}],241:[function(require,module,exports){ +"use strict"; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.validate = validate; +exports.typeIs = typeIs; +exports.validateType = validateType; +exports.validateOptional = validateOptional; +exports.validateOptionalType = validateOptionalType; +exports.arrayOf = arrayOf; +exports.arrayOfType = arrayOfType; +exports.validateArrayOfType = validateArrayOfType; +exports.assertEach = assertEach; +exports.assertOneOf = assertOneOf; +exports.assertNodeType = assertNodeType; +exports.assertNodeOrValueType = assertNodeOrValueType; +exports.assertValueType = assertValueType; +exports.assertShape = assertShape; +exports.chain = chain; +exports.default = defineType; +exports.DEPRECATED_KEYS = exports.BUILDER_KEYS = exports.NODE_FIELDS = exports.FLIPPED_ALIAS_KEYS = exports.ALIAS_KEYS = exports.VISITOR_KEYS = void 0; + +var _is = _interopRequireDefault(require("../validators/is")); + +var _validate = require("../validators/validate"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var VISITOR_KEYS = {}; +exports.VISITOR_KEYS = VISITOR_KEYS; +var ALIAS_KEYS = {}; +exports.ALIAS_KEYS = ALIAS_KEYS; +var FLIPPED_ALIAS_KEYS = {}; +exports.FLIPPED_ALIAS_KEYS = FLIPPED_ALIAS_KEYS; +var NODE_FIELDS = {}; +exports.NODE_FIELDS = NODE_FIELDS; +var BUILDER_KEYS = {}; +exports.BUILDER_KEYS = BUILDER_KEYS; +var DEPRECATED_KEYS = {}; +exports.DEPRECATED_KEYS = DEPRECATED_KEYS; + +function getType(val) { + if (Array.isArray(val)) { + return "array"; + } else if (val === null) { + return "null"; + } else if (val === undefined) { + return "undefined"; + } else { + return _typeof(val); + } +} + +function validate(validate) { + return { + validate: validate + }; +} + +function typeIs(typeName) { + return typeof typeName === "string" ? assertNodeType(typeName) : assertNodeType.apply(void 0, _toConsumableArray(typeName)); +} + +function validateType(typeName) { + return validate(typeIs(typeName)); +} + +function validateOptional(validate) { + return { + validate: validate, + optional: true + }; +} + +function validateOptionalType(typeName) { + return { + validate: typeIs(typeName), + optional: true + }; +} + +function arrayOf(elementType) { + return chain(assertValueType("array"), assertEach(elementType)); +} + +function arrayOfType(typeName) { + return arrayOf(typeIs(typeName)); +} + +function validateArrayOfType(typeName) { + return validate(arrayOfType(typeName)); +} + +function assertEach(callback) { + function validator(node, key, val) { + if (!Array.isArray(val)) return; + + for (var i = 0; i < val.length; i++) { + callback(node, "".concat(key, "[").concat(i, "]"), val[i]); + } + } + + validator.each = callback; + return validator; +} + +function assertOneOf() { + for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) { + values[_key] = arguments[_key]; + } + + function validate(node, key, val) { + if (values.indexOf(val) < 0) { + throw new TypeError("Property ".concat(key, " expected value to be one of ").concat(JSON.stringify(values), " but got ").concat(JSON.stringify(val))); + } + } + + validate.oneOf = values; + return validate; +} + +function assertNodeType() { + for (var _len2 = arguments.length, types = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + types[_key2] = arguments[_key2]; + } + + function validate(node, key, val) { + var valid = false; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = types[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var type = _step.value; + + if ((0, _is.default)(type, val)) { + valid = true; + break; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (!valid) { + throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected node to be of a type ").concat(JSON.stringify(types), " ") + "but instead got ".concat(JSON.stringify(val && val.type))); + } + } + + validate.oneOfNodeTypes = types; + return validate; +} + +function assertNodeOrValueType() { + for (var _len3 = arguments.length, types = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + types[_key3] = arguments[_key3]; + } + + function validate(node, key, val) { + var valid = false; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = types[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var type = _step2.value; + + if (getType(val) === type || (0, _is.default)(type, val)) { + valid = true; + break; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + if (!valid) { + throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected node to be of a type ").concat(JSON.stringify(types), " ") + "but instead got ".concat(JSON.stringify(val && val.type))); + } + } + + validate.oneOfNodeOrValueTypes = types; + return validate; +} + +function assertValueType(type) { + function validate(node, key, val) { + var valid = getType(val) === type; + + if (!valid) { + throw new TypeError("Property ".concat(key, " expected type of ").concat(type, " but got ").concat(getType(val))); + } + } + + validate.type = type; + return validate; +} + +function assertShape(shape) { + function validate(node, key, val) { + var errors = []; + + for (var _i = 0, _Object$keys = Object.keys(shape); _i < _Object$keys.length; _i++) { + var property = _Object$keys[_i]; + + try { + (0, _validate.validateField)(node, property, val[property], shape[property]); + } catch (error) { + if (error instanceof TypeError) { + errors.push(error.message); + continue; + } + + throw error; + } + } + + if (errors.length) { + throw new TypeError("Property ".concat(key, " of ").concat(node.type, " expected to have the following:\n").concat(errors.join("\n"))); + } + } + + validate.shapeOf = shape; + return validate; +} + +function chain() { + for (var _len4 = arguments.length, fns = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { + fns[_key4] = arguments[_key4]; + } + + function validate() { + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = fns[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var fn = _step3.value; + fn.apply(void 0, arguments); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + } + + validate.chainOf = fns; + return validate; +} + +function defineType(type) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var inherits = opts.inherits && store[opts.inherits] || {}; + var fields = opts.fields || inherits.fields || {}; + var visitor = opts.visitor || inherits.visitor || []; + var aliases = opts.aliases || inherits.aliases || []; + var builder = opts.builder || inherits.builder || opts.visitor || []; + + if (opts.deprecatedAlias) { + DEPRECATED_KEYS[opts.deprecatedAlias] = type; + } + + var _iteratorNormalCompletion4 = true; + var _didIteratorError4 = false; + var _iteratorError4 = undefined; + + try { + for (var _iterator4 = visitor.concat(builder)[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) { + var key = _step4.value; + fields[key] = fields[key] || {}; + } + } catch (err) { + _didIteratorError4 = true; + _iteratorError4 = err; + } finally { + try { + if (!_iteratorNormalCompletion4 && _iterator4.return != null) { + _iterator4.return(); + } + } finally { + if (_didIteratorError4) { + throw _iteratorError4; + } + } + } + + for (var _i2 = 0, _Object$keys2 = Object.keys(fields); _i2 < _Object$keys2.length; _i2++) { + var _key5 = _Object$keys2[_i2]; + var field = fields[_key5]; + + if (builder.indexOf(_key5) === -1) { + field.optional = true; + } + + if (field.default === undefined) { + field.default = null; + } else if (!field.validate) { + field.validate = assertValueType(getType(field.default)); + } + } + + VISITOR_KEYS[type] = opts.visitor = visitor; + BUILDER_KEYS[type] = opts.builder = builder; + NODE_FIELDS[type] = opts.fields = fields; + ALIAS_KEYS[type] = opts.aliases = aliases; + aliases.forEach(function (alias) { + FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || []; + FLIPPED_ALIAS_KEYS[alias].push(type); + }); + store[type] = opts; +} + +var store = {}; + +},{"../validators/is":258,"../validators/validate":276}],242:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var _exportNames = { + react: true, + assertNode: true, + createTypeAnnotationBasedOnTypeof: true, + createUnionTypeAnnotation: true, + cloneNode: true, + clone: true, + cloneDeep: true, + cloneWithoutLoc: true, + addComment: true, + addComments: true, + inheritInnerComments: true, + inheritLeadingComments: true, + inheritsComments: true, + inheritTrailingComments: true, + removeComments: true, + ensureBlock: true, + toBindingIdentifierName: true, + toBlock: true, + toComputedKey: true, + toExpression: true, + toIdentifier: true, + toKeyAlias: true, + toSequenceExpression: true, + toStatement: true, + valueToNode: true, + appendToMemberExpression: true, + inherits: true, + prependToMemberExpression: true, + removeProperties: true, + removePropertiesDeep: true, + removeTypeDuplicates: true, + getBindingIdentifiers: true, + getOuterBindingIdentifiers: true, + traverse: true, + traverseFast: true, + shallowEqual: true, + is: true, + isBinding: true, + isBlockScoped: true, + isImmutable: true, + isLet: true, + isNode: true, + isNodesEquivalent: true, + isPlaceholderType: true, + isReferenced: true, + isScope: true, + isSpecifierDefault: true, + isType: true, + isValidES3Identifier: true, + isValidIdentifier: true, + isVar: true, + matchesPattern: true, + validate: true, + buildMatchMemberExpression: true +}; +Object.defineProperty(exports, "assertNode", { + enumerable: true, + get: function get() { + return _assertNode.default; + } +}); +Object.defineProperty(exports, "createTypeAnnotationBasedOnTypeof", { + enumerable: true, + get: function get() { + return _createTypeAnnotationBasedOnTypeof.default; + } +}); +Object.defineProperty(exports, "createUnionTypeAnnotation", { + enumerable: true, + get: function get() { + return _createUnionTypeAnnotation.default; + } +}); +Object.defineProperty(exports, "cloneNode", { + enumerable: true, + get: function get() { + return _cloneNode.default; + } +}); +Object.defineProperty(exports, "clone", { + enumerable: true, + get: function get() { + return _clone.default; + } +}); +Object.defineProperty(exports, "cloneDeep", { + enumerable: true, + get: function get() { + return _cloneDeep.default; + } +}); +Object.defineProperty(exports, "cloneWithoutLoc", { + enumerable: true, + get: function get() { + return _cloneWithoutLoc.default; + } +}); +Object.defineProperty(exports, "addComment", { + enumerable: true, + get: function get() { + return _addComment.default; + } +}); +Object.defineProperty(exports, "addComments", { + enumerable: true, + get: function get() { + return _addComments.default; + } +}); +Object.defineProperty(exports, "inheritInnerComments", { + enumerable: true, + get: function get() { + return _inheritInnerComments.default; + } +}); +Object.defineProperty(exports, "inheritLeadingComments", { + enumerable: true, + get: function get() { + return _inheritLeadingComments.default; + } +}); +Object.defineProperty(exports, "inheritsComments", { + enumerable: true, + get: function get() { + return _inheritsComments.default; + } +}); +Object.defineProperty(exports, "inheritTrailingComments", { + enumerable: true, + get: function get() { + return _inheritTrailingComments.default; + } +}); +Object.defineProperty(exports, "removeComments", { + enumerable: true, + get: function get() { + return _removeComments.default; + } +}); +Object.defineProperty(exports, "ensureBlock", { + enumerable: true, + get: function get() { + return _ensureBlock.default; + } +}); +Object.defineProperty(exports, "toBindingIdentifierName", { + enumerable: true, + get: function get() { + return _toBindingIdentifierName.default; + } +}); +Object.defineProperty(exports, "toBlock", { + enumerable: true, + get: function get() { + return _toBlock.default; + } +}); +Object.defineProperty(exports, "toComputedKey", { + enumerable: true, + get: function get() { + return _toComputedKey.default; + } +}); +Object.defineProperty(exports, "toExpression", { + enumerable: true, + get: function get() { + return _toExpression.default; + } +}); +Object.defineProperty(exports, "toIdentifier", { + enumerable: true, + get: function get() { + return _toIdentifier.default; + } +}); +Object.defineProperty(exports, "toKeyAlias", { + enumerable: true, + get: function get() { + return _toKeyAlias.default; + } +}); +Object.defineProperty(exports, "toSequenceExpression", { + enumerable: true, + get: function get() { + return _toSequenceExpression.default; + } +}); +Object.defineProperty(exports, "toStatement", { + enumerable: true, + get: function get() { + return _toStatement.default; + } +}); +Object.defineProperty(exports, "valueToNode", { + enumerable: true, + get: function get() { + return _valueToNode.default; + } +}); +Object.defineProperty(exports, "appendToMemberExpression", { + enumerable: true, + get: function get() { + return _appendToMemberExpression.default; + } +}); +Object.defineProperty(exports, "inherits", { + enumerable: true, + get: function get() { + return _inherits.default; + } +}); +Object.defineProperty(exports, "prependToMemberExpression", { + enumerable: true, + get: function get() { + return _prependToMemberExpression.default; + } +}); +Object.defineProperty(exports, "removeProperties", { + enumerable: true, + get: function get() { + return _removeProperties.default; + } +}); +Object.defineProperty(exports, "removePropertiesDeep", { + enumerable: true, + get: function get() { + return _removePropertiesDeep.default; + } +}); +Object.defineProperty(exports, "removeTypeDuplicates", { + enumerable: true, + get: function get() { + return _removeTypeDuplicates.default; + } +}); +Object.defineProperty(exports, "getBindingIdentifiers", { + enumerable: true, + get: function get() { + return _getBindingIdentifiers.default; + } +}); +Object.defineProperty(exports, "getOuterBindingIdentifiers", { + enumerable: true, + get: function get() { + return _getOuterBindingIdentifiers.default; + } +}); +Object.defineProperty(exports, "traverse", { + enumerable: true, + get: function get() { + return _traverse.default; + } +}); +Object.defineProperty(exports, "traverseFast", { + enumerable: true, + get: function get() { + return _traverseFast.default; + } +}); +Object.defineProperty(exports, "shallowEqual", { + enumerable: true, + get: function get() { + return _shallowEqual.default; + } +}); +Object.defineProperty(exports, "is", { + enumerable: true, + get: function get() { + return _is.default; + } +}); +Object.defineProperty(exports, "isBinding", { + enumerable: true, + get: function get() { + return _isBinding.default; + } +}); +Object.defineProperty(exports, "isBlockScoped", { + enumerable: true, + get: function get() { + return _isBlockScoped.default; + } +}); +Object.defineProperty(exports, "isImmutable", { + enumerable: true, + get: function get() { + return _isImmutable.default; + } +}); +Object.defineProperty(exports, "isLet", { + enumerable: true, + get: function get() { + return _isLet.default; + } +}); +Object.defineProperty(exports, "isNode", { + enumerable: true, + get: function get() { + return _isNode.default; + } +}); +Object.defineProperty(exports, "isNodesEquivalent", { + enumerable: true, + get: function get() { + return _isNodesEquivalent.default; + } +}); +Object.defineProperty(exports, "isPlaceholderType", { + enumerable: true, + get: function get() { + return _isPlaceholderType.default; + } +}); +Object.defineProperty(exports, "isReferenced", { + enumerable: true, + get: function get() { + return _isReferenced.default; + } +}); +Object.defineProperty(exports, "isScope", { + enumerable: true, + get: function get() { + return _isScope.default; + } +}); +Object.defineProperty(exports, "isSpecifierDefault", { + enumerable: true, + get: function get() { + return _isSpecifierDefault.default; + } +}); +Object.defineProperty(exports, "isType", { + enumerable: true, + get: function get() { + return _isType.default; + } +}); +Object.defineProperty(exports, "isValidES3Identifier", { + enumerable: true, + get: function get() { + return _isValidES3Identifier.default; + } +}); +Object.defineProperty(exports, "isValidIdentifier", { + enumerable: true, + get: function get() { + return _isValidIdentifier.default; + } +}); +Object.defineProperty(exports, "isVar", { + enumerable: true, + get: function get() { + return _isVar.default; + } +}); +Object.defineProperty(exports, "matchesPattern", { + enumerable: true, + get: function get() { + return _matchesPattern.default; + } +}); +Object.defineProperty(exports, "validate", { + enumerable: true, + get: function get() { + return _validate.default; + } +}); +Object.defineProperty(exports, "buildMatchMemberExpression", { + enumerable: true, + get: function get() { + return _buildMatchMemberExpression.default; + } +}); +exports.react = void 0; + +var _isReactComponent = _interopRequireDefault(require("./validators/react/isReactComponent")); + +var _isCompatTag = _interopRequireDefault(require("./validators/react/isCompatTag")); + +var _buildChildren = _interopRequireDefault(require("./builders/react/buildChildren")); + +var _assertNode = _interopRequireDefault(require("./asserts/assertNode")); + +var _generated = require("./asserts/generated"); + +Object.keys(_generated).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _generated[key]; + } + }); +}); + +var _createTypeAnnotationBasedOnTypeof = _interopRequireDefault(require("./builders/flow/createTypeAnnotationBasedOnTypeof")); + +var _createUnionTypeAnnotation = _interopRequireDefault(require("./builders/flow/createUnionTypeAnnotation")); + +var _generated2 = require("./builders/generated"); + +Object.keys(_generated2).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _generated2[key]; + } + }); +}); + +var _cloneNode = _interopRequireDefault(require("./clone/cloneNode")); + +var _clone = _interopRequireDefault(require("./clone/clone")); + +var _cloneDeep = _interopRequireDefault(require("./clone/cloneDeep")); + +var _cloneWithoutLoc = _interopRequireDefault(require("./clone/cloneWithoutLoc")); + +var _addComment = _interopRequireDefault(require("./comments/addComment")); + +var _addComments = _interopRequireDefault(require("./comments/addComments")); + +var _inheritInnerComments = _interopRequireDefault(require("./comments/inheritInnerComments")); + +var _inheritLeadingComments = _interopRequireDefault(require("./comments/inheritLeadingComments")); + +var _inheritsComments = _interopRequireDefault(require("./comments/inheritsComments")); + +var _inheritTrailingComments = _interopRequireDefault(require("./comments/inheritTrailingComments")); + +var _removeComments = _interopRequireDefault(require("./comments/removeComments")); + +var _generated3 = require("./constants/generated"); + +Object.keys(_generated3).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _generated3[key]; + } + }); +}); + +var _constants = require("./constants"); + +Object.keys(_constants).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _constants[key]; + } + }); +}); + +var _ensureBlock = _interopRequireDefault(require("./converters/ensureBlock")); + +var _toBindingIdentifierName = _interopRequireDefault(require("./converters/toBindingIdentifierName")); + +var _toBlock = _interopRequireDefault(require("./converters/toBlock")); + +var _toComputedKey = _interopRequireDefault(require("./converters/toComputedKey")); + +var _toExpression = _interopRequireDefault(require("./converters/toExpression")); + +var _toIdentifier = _interopRequireDefault(require("./converters/toIdentifier")); + +var _toKeyAlias = _interopRequireDefault(require("./converters/toKeyAlias")); + +var _toSequenceExpression = _interopRequireDefault(require("./converters/toSequenceExpression")); + +var _toStatement = _interopRequireDefault(require("./converters/toStatement")); + +var _valueToNode = _interopRequireDefault(require("./converters/valueToNode")); + +var _definitions = require("./definitions"); + +Object.keys(_definitions).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _definitions[key]; + } + }); +}); + +var _appendToMemberExpression = _interopRequireDefault(require("./modifications/appendToMemberExpression")); + +var _inherits = _interopRequireDefault(require("./modifications/inherits")); + +var _prependToMemberExpression = _interopRequireDefault(require("./modifications/prependToMemberExpression")); + +var _removeProperties = _interopRequireDefault(require("./modifications/removeProperties")); + +var _removePropertiesDeep = _interopRequireDefault(require("./modifications/removePropertiesDeep")); + +var _removeTypeDuplicates = _interopRequireDefault(require("./modifications/flow/removeTypeDuplicates")); + +var _getBindingIdentifiers = _interopRequireDefault(require("./retrievers/getBindingIdentifiers")); + +var _getOuterBindingIdentifiers = _interopRequireDefault(require("./retrievers/getOuterBindingIdentifiers")); + +var _traverse = _interopRequireDefault(require("./traverse/traverse")); + +var _traverseFast = _interopRequireDefault(require("./traverse/traverseFast")); + +var _shallowEqual = _interopRequireDefault(require("./utils/shallowEqual")); + +var _is = _interopRequireDefault(require("./validators/is")); + +var _isBinding = _interopRequireDefault(require("./validators/isBinding")); + +var _isBlockScoped = _interopRequireDefault(require("./validators/isBlockScoped")); + +var _isImmutable = _interopRequireDefault(require("./validators/isImmutable")); + +var _isLet = _interopRequireDefault(require("./validators/isLet")); + +var _isNode = _interopRequireDefault(require("./validators/isNode")); + +var _isNodesEquivalent = _interopRequireDefault(require("./validators/isNodesEquivalent")); + +var _isPlaceholderType = _interopRequireDefault(require("./validators/isPlaceholderType")); + +var _isReferenced = _interopRequireDefault(require("./validators/isReferenced")); + +var _isScope = _interopRequireDefault(require("./validators/isScope")); + +var _isSpecifierDefault = _interopRequireDefault(require("./validators/isSpecifierDefault")); + +var _isType = _interopRequireDefault(require("./validators/isType")); + +var _isValidES3Identifier = _interopRequireDefault(require("./validators/isValidES3Identifier")); + +var _isValidIdentifier = _interopRequireDefault(require("./validators/isValidIdentifier")); + +var _isVar = _interopRequireDefault(require("./validators/isVar")); + +var _matchesPattern = _interopRequireDefault(require("./validators/matchesPattern")); + +var _validate = _interopRequireDefault(require("./validators/validate")); + +var _buildMatchMemberExpression = _interopRequireDefault(require("./validators/buildMatchMemberExpression")); + +var _generated4 = require("./validators/generated"); + +Object.keys(_generated4).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function get() { + return _generated4[key]; + } + }); +}); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var react = { + isReactComponent: _isReactComponent.default, + isCompatTag: _isCompatTag.default, + buildChildren: _buildChildren.default +}; +exports.react = react; + +},{"./asserts/assertNode":201,"./asserts/generated":202,"./builders/flow/createTypeAnnotationBasedOnTypeof":204,"./builders/flow/createUnionTypeAnnotation":205,"./builders/generated":206,"./builders/react/buildChildren":207,"./clone/clone":208,"./clone/cloneDeep":209,"./clone/cloneNode":210,"./clone/cloneWithoutLoc":211,"./comments/addComment":212,"./comments/addComments":213,"./comments/inheritInnerComments":214,"./comments/inheritLeadingComments":215,"./comments/inheritTrailingComments":216,"./comments/inheritsComments":217,"./comments/removeComments":218,"./constants":220,"./constants/generated":219,"./converters/ensureBlock":221,"./converters/toBindingIdentifierName":223,"./converters/toBlock":224,"./converters/toComputedKey":225,"./converters/toExpression":226,"./converters/toIdentifier":227,"./converters/toKeyAlias":228,"./converters/toSequenceExpression":229,"./converters/toStatement":230,"./converters/valueToNode":231,"./definitions":236,"./modifications/appendToMemberExpression":243,"./modifications/flow/removeTypeDuplicates":244,"./modifications/inherits":245,"./modifications/prependToMemberExpression":246,"./modifications/removeProperties":247,"./modifications/removePropertiesDeep":248,"./retrievers/getBindingIdentifiers":249,"./retrievers/getOuterBindingIdentifiers":250,"./traverse/traverse":251,"./traverse/traverseFast":252,"./utils/shallowEqual":255,"./validators/buildMatchMemberExpression":256,"./validators/generated":257,"./validators/is":258,"./validators/isBinding":259,"./validators/isBlockScoped":260,"./validators/isImmutable":261,"./validators/isLet":262,"./validators/isNode":263,"./validators/isNodesEquivalent":264,"./validators/isPlaceholderType":265,"./validators/isReferenced":266,"./validators/isScope":267,"./validators/isSpecifierDefault":268,"./validators/isType":269,"./validators/isValidES3Identifier":270,"./validators/isValidIdentifier":271,"./validators/isVar":272,"./validators/matchesPattern":273,"./validators/react/isCompatTag":274,"./validators/react/isReactComponent":275,"./validators/validate":276}],243:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = appendToMemberExpression; + +var _generated = require("../builders/generated"); + +function appendToMemberExpression(member, append) { + var computed = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + member.object = (0, _generated.memberExpression)(member.object, member.property, member.computed); + member.property = append; + member.computed = !!computed; + return member; +} + +},{"../builders/generated":206}],244:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = removeTypeDuplicates; + +var _generated = require("../../validators/generated"); + +function removeTypeDuplicates(nodes) { + var generics = {}; + var bases = {}; + var typeGroups = []; + var types = []; + + for (var i = 0; i < nodes.length; i++) { + var node = nodes[i]; + if (!node) continue; + + if (types.indexOf(node) >= 0) { + continue; + } + + if ((0, _generated.isAnyTypeAnnotation)(node)) { + return [node]; + } + + if ((0, _generated.isFlowBaseAnnotation)(node)) { + bases[node.type] = node; + continue; + } + + if ((0, _generated.isUnionTypeAnnotation)(node)) { + if (typeGroups.indexOf(node.types) < 0) { + nodes = nodes.concat(node.types); + typeGroups.push(node.types); + } + + continue; + } + + if ((0, _generated.isGenericTypeAnnotation)(node)) { + var name = node.id.name; + + if (generics[name]) { + var existing = generics[name]; + + if (existing.typeParameters) { + if (node.typeParameters) { + existing.typeParameters.params = removeTypeDuplicates(existing.typeParameters.params.concat(node.typeParameters.params)); + } + } else { + existing = node.typeParameters; + } + } else { + generics[name] = node; + } + + continue; + } + + types.push(node); + } + + for (var _i = 0, _Object$keys = Object.keys(bases); _i < _Object$keys.length; _i++) { + var type = _Object$keys[_i]; + types.push(bases[type]); + } + + for (var _i2 = 0, _Object$keys2 = Object.keys(generics); _i2 < _Object$keys2.length; _i2++) { + var _name = _Object$keys2[_i2]; + types.push(generics[_name]); + } + + return types; +} + +},{"../../validators/generated":257}],245:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inherits; + +var _constants = require("../constants"); + +var _inheritsComments = _interopRequireDefault(require("../comments/inheritsComments")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inherits(child, parent) { + if (!child || !parent) return child; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = _constants.INHERIT_KEYS.optional[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + + if (child[key] == null) { + child[key] = parent[key]; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + for (var _i = 0, _Object$keys = Object.keys(parent); _i < _Object$keys.length; _i++) { + var _key = _Object$keys[_i]; + if (_key[0] === "_" && _key !== "__clone") child[_key] = parent[_key]; + } + + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = _constants.INHERIT_KEYS.force[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _key2 = _step2.value; + child[_key2] = parent[_key2]; + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + (0, _inheritsComments.default)(child, parent); + return child; +} + +},{"../comments/inheritsComments":217,"../constants":220}],246:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = prependToMemberExpression; + +var _generated = require("../builders/generated"); + +function prependToMemberExpression(member, prepend) { + member.object = (0, _generated.memberExpression)(prepend, member.object); + return member; +} + +},{"../builders/generated":206}],247:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = removeProperties; + +var _constants = require("../constants"); + +var CLEAR_KEYS = ["tokens", "start", "end", "loc", "raw", "rawValue"]; + +var CLEAR_KEYS_PLUS_COMMENTS = _constants.COMMENT_KEYS.concat(["comments"]).concat(CLEAR_KEYS); + +function removeProperties(node) { + var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var map = opts.preserveComments ? CLEAR_KEYS : CLEAR_KEYS_PLUS_COMMENTS; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = map[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + if (node[key] != null) node[key] = undefined; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + for (var _i = 0, _Object$keys = Object.keys(node); _i < _Object$keys.length; _i++) { + var _key = _Object$keys[_i]; + if (_key[0] === "_" && node[_key] != null) node[_key] = undefined; + } + + var symbols = Object.getOwnPropertySymbols(node); + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = symbols[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var sym = _step2.value; + node[sym] = null; + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } +} + +},{"../constants":220}],248:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = removePropertiesDeep; + +var _traverseFast = _interopRequireDefault(require("../traverse/traverseFast")); + +var _removeProperties = _interopRequireDefault(require("./removeProperties")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function removePropertiesDeep(tree, opts) { + (0, _traverseFast.default)(tree, _removeProperties.default, opts); + return tree; +} + +},{"../traverse/traverseFast":252,"./removeProperties":247}],249:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getBindingIdentifiers; + +var _generated = require("../validators/generated"); + +function getBindingIdentifiers(node, duplicates, outerOnly) { + var search = [].concat(node); + var ids = Object.create(null); + + while (search.length) { + var id = search.shift(); + if (!id) continue; + var keys = getBindingIdentifiers.keys[id.type]; + + if ((0, _generated.isIdentifier)(id)) { + if (duplicates) { + var _ids = ids[id.name] = ids[id.name] || []; + + _ids.push(id); + } else { + ids[id.name] = id; + } + + continue; + } + + if ((0, _generated.isExportDeclaration)(id)) { + if ((0, _generated.isDeclaration)(id.declaration)) { + search.push(id.declaration); + } + + continue; + } + + if (outerOnly) { + if ((0, _generated.isFunctionDeclaration)(id)) { + search.push(id.id); + continue; + } + + if ((0, _generated.isFunctionExpression)(id)) { + continue; + } + } + + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + + if (id[key]) { + search = search.concat(id[key]); + } + } + } + } + + return ids; +} + +getBindingIdentifiers.keys = { + DeclareClass: ["id"], + DeclareFunction: ["id"], + DeclareModule: ["id"], + DeclareVariable: ["id"], + DeclareInterface: ["id"], + DeclareTypeAlias: ["id"], + DeclareOpaqueType: ["id"], + InterfaceDeclaration: ["id"], + TypeAlias: ["id"], + OpaqueType: ["id"], + CatchClause: ["param"], + LabeledStatement: ["label"], + UnaryExpression: ["argument"], + AssignmentExpression: ["left"], + ImportSpecifier: ["local"], + ImportNamespaceSpecifier: ["local"], + ImportDefaultSpecifier: ["local"], + ImportDeclaration: ["specifiers"], + ExportSpecifier: ["exported"], + ExportNamespaceSpecifier: ["exported"], + ExportDefaultSpecifier: ["exported"], + FunctionDeclaration: ["id", "params"], + FunctionExpression: ["id", "params"], + ArrowFunctionExpression: ["params"], + ObjectMethod: ["params"], + ClassMethod: ["params"], + ForInStatement: ["left"], + ForOfStatement: ["left"], + ClassDeclaration: ["id"], + ClassExpression: ["id"], + RestElement: ["argument"], + UpdateExpression: ["argument"], + ObjectProperty: ["value"], + AssignmentPattern: ["left"], + ArrayPattern: ["elements"], + ObjectPattern: ["properties"], + VariableDeclaration: ["declarations"], + VariableDeclarator: ["id"] +}; + +},{"../validators/generated":257}],250:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getOuterBindingIdentifiers; + +var _getBindingIdentifiers = _interopRequireDefault(require("./getBindingIdentifiers")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function getOuterBindingIdentifiers(node, duplicates) { + return (0, _getBindingIdentifiers.default)(node, duplicates, true); +} + +},{"./getBindingIdentifiers":249}],251:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = traverse; + +var _definitions = require("../definitions"); + +function traverse(node, handlers, state) { + if (typeof handlers === "function") { + handlers = { + enter: handlers + }; + } + + var _handlers = handlers, + enter = _handlers.enter, + exit = _handlers.exit; + traverseSimpleImpl(node, enter, exit, state, []); +} + +function traverseSimpleImpl(node, enter, exit, state, ancestors) { + var keys = _definitions.VISITOR_KEYS[node.type]; + if (!keys) return; + if (enter) enter(node, ancestors, state); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + var subNode = node[key]; + + if (Array.isArray(subNode)) { + for (var i = 0; i < subNode.length; i++) { + var child = subNode[i]; + if (!child) continue; + ancestors.push({ + node: node, + key: key, + index: i + }); + traverseSimpleImpl(child, enter, exit, state, ancestors); + ancestors.pop(); + } + } else if (subNode) { + ancestors.push({ + node: node, + key: key + }); + traverseSimpleImpl(subNode, enter, exit, state, ancestors); + ancestors.pop(); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (exit) exit(node, ancestors, state); +} + +},{"../definitions":236}],252:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = traverseFast; + +var _definitions = require("../definitions"); + +function traverseFast(node, enter, opts) { + if (!node) return; + var keys = _definitions.VISITOR_KEYS[node.type]; + if (!keys) return; + opts = opts || {}; + enter(node, opts); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = keys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + var subNode = node[key]; + + if (Array.isArray(subNode)) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = subNode[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var _node = _step2.value; + traverseFast(_node, enter, opts); + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } else { + traverseFast(subNode, enter, opts); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } +} + +},{"../definitions":236}],253:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = inherit; + +var _uniq = _interopRequireDefault(require("lodash/uniq")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function inherit(key, child, parent) { + if (child && parent) { + child[key] = (0, _uniq.default)([].concat(child[key], parent[key]).filter(Boolean)); + } +} + +},{"lodash/uniq":1047}],254:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cleanJSXElementLiteralChild; + +var _generated = require("../../builders/generated"); + +function cleanJSXElementLiteralChild(child, args) { + var lines = child.value.split(/\r\n|\n|\r/); + var lastNonEmptyLine = 0; + + for (var i = 0; i < lines.length; i++) { + if (lines[i].match(/[^ \t]/)) { + lastNonEmptyLine = i; + } + } + + var str = ""; + + for (var _i = 0; _i < lines.length; _i++) { + var line = lines[_i]; + var isFirstLine = _i === 0; + var isLastLine = _i === lines.length - 1; + var isLastNonEmptyLine = _i === lastNonEmptyLine; + var trimmedLine = line.replace(/\t/g, " "); + + if (!isFirstLine) { + trimmedLine = trimmedLine.replace(/^[ ]+/, ""); + } + + if (!isLastLine) { + trimmedLine = trimmedLine.replace(/[ ]+$/, ""); + } + + if (trimmedLine) { + if (!isLastNonEmptyLine) { + trimmedLine += " "; + } + + str += trimmedLine; + } + } + + if (str) args.push((0, _generated.stringLiteral)(str)); +} + +},{"../../builders/generated":206}],255:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = shallowEqual; + +function shallowEqual(actual, expected) { + var keys = Object.keys(expected); + + for (var _i = 0, _keys = keys; _i < _keys.length; _i++) { + var key = _keys[_i]; + + if (actual[key] !== expected[key]) { + return false; + } + } + + return true; +} + +},{}],256:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = buildMatchMemberExpression; + +var _matchesPattern = _interopRequireDefault(require("./matchesPattern")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function buildMatchMemberExpression(match, allowPartial) { + var parts = match.split("."); + return function (member) { + return (0, _matchesPattern.default)(member, parts, allowPartial); + }; +} + +},{"./matchesPattern":273}],257:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.isArrayExpression = isArrayExpression; +exports.isAssignmentExpression = isAssignmentExpression; +exports.isBinaryExpression = isBinaryExpression; +exports.isInterpreterDirective = isInterpreterDirective; +exports.isDirective = isDirective; +exports.isDirectiveLiteral = isDirectiveLiteral; +exports.isBlockStatement = isBlockStatement; +exports.isBreakStatement = isBreakStatement; +exports.isCallExpression = isCallExpression; +exports.isCatchClause = isCatchClause; +exports.isConditionalExpression = isConditionalExpression; +exports.isContinueStatement = isContinueStatement; +exports.isDebuggerStatement = isDebuggerStatement; +exports.isDoWhileStatement = isDoWhileStatement; +exports.isEmptyStatement = isEmptyStatement; +exports.isExpressionStatement = isExpressionStatement; +exports.isFile = isFile; +exports.isForInStatement = isForInStatement; +exports.isForStatement = isForStatement; +exports.isFunctionDeclaration = isFunctionDeclaration; +exports.isFunctionExpression = isFunctionExpression; +exports.isIdentifier = isIdentifier; +exports.isIfStatement = isIfStatement; +exports.isLabeledStatement = isLabeledStatement; +exports.isStringLiteral = isStringLiteral; +exports.isNumericLiteral = isNumericLiteral; +exports.isNullLiteral = isNullLiteral; +exports.isBooleanLiteral = isBooleanLiteral; +exports.isRegExpLiteral = isRegExpLiteral; +exports.isLogicalExpression = isLogicalExpression; +exports.isMemberExpression = isMemberExpression; +exports.isNewExpression = isNewExpression; +exports.isProgram = isProgram; +exports.isObjectExpression = isObjectExpression; +exports.isObjectMethod = isObjectMethod; +exports.isObjectProperty = isObjectProperty; +exports.isRestElement = isRestElement; +exports.isReturnStatement = isReturnStatement; +exports.isSequenceExpression = isSequenceExpression; +exports.isParenthesizedExpression = isParenthesizedExpression; +exports.isSwitchCase = isSwitchCase; +exports.isSwitchStatement = isSwitchStatement; +exports.isThisExpression = isThisExpression; +exports.isThrowStatement = isThrowStatement; +exports.isTryStatement = isTryStatement; +exports.isUnaryExpression = isUnaryExpression; +exports.isUpdateExpression = isUpdateExpression; +exports.isVariableDeclaration = isVariableDeclaration; +exports.isVariableDeclarator = isVariableDeclarator; +exports.isWhileStatement = isWhileStatement; +exports.isWithStatement = isWithStatement; +exports.isAssignmentPattern = isAssignmentPattern; +exports.isArrayPattern = isArrayPattern; +exports.isArrowFunctionExpression = isArrowFunctionExpression; +exports.isClassBody = isClassBody; +exports.isClassDeclaration = isClassDeclaration; +exports.isClassExpression = isClassExpression; +exports.isExportAllDeclaration = isExportAllDeclaration; +exports.isExportDefaultDeclaration = isExportDefaultDeclaration; +exports.isExportNamedDeclaration = isExportNamedDeclaration; +exports.isExportSpecifier = isExportSpecifier; +exports.isForOfStatement = isForOfStatement; +exports.isImportDeclaration = isImportDeclaration; +exports.isImportDefaultSpecifier = isImportDefaultSpecifier; +exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier; +exports.isImportSpecifier = isImportSpecifier; +exports.isMetaProperty = isMetaProperty; +exports.isClassMethod = isClassMethod; +exports.isObjectPattern = isObjectPattern; +exports.isSpreadElement = isSpreadElement; +exports.isSuper = isSuper; +exports.isTaggedTemplateExpression = isTaggedTemplateExpression; +exports.isTemplateElement = isTemplateElement; +exports.isTemplateLiteral = isTemplateLiteral; +exports.isYieldExpression = isYieldExpression; +exports.isAnyTypeAnnotation = isAnyTypeAnnotation; +exports.isArrayTypeAnnotation = isArrayTypeAnnotation; +exports.isBooleanTypeAnnotation = isBooleanTypeAnnotation; +exports.isBooleanLiteralTypeAnnotation = isBooleanLiteralTypeAnnotation; +exports.isNullLiteralTypeAnnotation = isNullLiteralTypeAnnotation; +exports.isClassImplements = isClassImplements; +exports.isDeclareClass = isDeclareClass; +exports.isDeclareFunction = isDeclareFunction; +exports.isDeclareInterface = isDeclareInterface; +exports.isDeclareModule = isDeclareModule; +exports.isDeclareModuleExports = isDeclareModuleExports; +exports.isDeclareTypeAlias = isDeclareTypeAlias; +exports.isDeclareOpaqueType = isDeclareOpaqueType; +exports.isDeclareVariable = isDeclareVariable; +exports.isDeclareExportDeclaration = isDeclareExportDeclaration; +exports.isDeclareExportAllDeclaration = isDeclareExportAllDeclaration; +exports.isDeclaredPredicate = isDeclaredPredicate; +exports.isExistsTypeAnnotation = isExistsTypeAnnotation; +exports.isFunctionTypeAnnotation = isFunctionTypeAnnotation; +exports.isFunctionTypeParam = isFunctionTypeParam; +exports.isGenericTypeAnnotation = isGenericTypeAnnotation; +exports.isInferredPredicate = isInferredPredicate; +exports.isInterfaceExtends = isInterfaceExtends; +exports.isInterfaceDeclaration = isInterfaceDeclaration; +exports.isInterfaceTypeAnnotation = isInterfaceTypeAnnotation; +exports.isIntersectionTypeAnnotation = isIntersectionTypeAnnotation; +exports.isMixedTypeAnnotation = isMixedTypeAnnotation; +exports.isEmptyTypeAnnotation = isEmptyTypeAnnotation; +exports.isNullableTypeAnnotation = isNullableTypeAnnotation; +exports.isNumberLiteralTypeAnnotation = isNumberLiteralTypeAnnotation; +exports.isNumberTypeAnnotation = isNumberTypeAnnotation; +exports.isObjectTypeAnnotation = isObjectTypeAnnotation; +exports.isObjectTypeInternalSlot = isObjectTypeInternalSlot; +exports.isObjectTypeCallProperty = isObjectTypeCallProperty; +exports.isObjectTypeIndexer = isObjectTypeIndexer; +exports.isObjectTypeProperty = isObjectTypeProperty; +exports.isObjectTypeSpreadProperty = isObjectTypeSpreadProperty; +exports.isOpaqueType = isOpaqueType; +exports.isQualifiedTypeIdentifier = isQualifiedTypeIdentifier; +exports.isStringLiteralTypeAnnotation = isStringLiteralTypeAnnotation; +exports.isStringTypeAnnotation = isStringTypeAnnotation; +exports.isThisTypeAnnotation = isThisTypeAnnotation; +exports.isTupleTypeAnnotation = isTupleTypeAnnotation; +exports.isTypeofTypeAnnotation = isTypeofTypeAnnotation; +exports.isTypeAlias = isTypeAlias; +exports.isTypeAnnotation = isTypeAnnotation; +exports.isTypeCastExpression = isTypeCastExpression; +exports.isTypeParameter = isTypeParameter; +exports.isTypeParameterDeclaration = isTypeParameterDeclaration; +exports.isTypeParameterInstantiation = isTypeParameterInstantiation; +exports.isUnionTypeAnnotation = isUnionTypeAnnotation; +exports.isVariance = isVariance; +exports.isVoidTypeAnnotation = isVoidTypeAnnotation; +exports.isEnumDeclaration = isEnumDeclaration; +exports.isEnumBooleanBody = isEnumBooleanBody; +exports.isEnumNumberBody = isEnumNumberBody; +exports.isEnumStringBody = isEnumStringBody; +exports.isEnumSymbolBody = isEnumSymbolBody; +exports.isEnumBooleanMember = isEnumBooleanMember; +exports.isEnumNumberMember = isEnumNumberMember; +exports.isEnumStringMember = isEnumStringMember; +exports.isEnumDefaultedMember = isEnumDefaultedMember; +exports.isJSXAttribute = isJSXAttribute; +exports.isJSXClosingElement = isJSXClosingElement; +exports.isJSXElement = isJSXElement; +exports.isJSXEmptyExpression = isJSXEmptyExpression; +exports.isJSXExpressionContainer = isJSXExpressionContainer; +exports.isJSXSpreadChild = isJSXSpreadChild; +exports.isJSXIdentifier = isJSXIdentifier; +exports.isJSXMemberExpression = isJSXMemberExpression; +exports.isJSXNamespacedName = isJSXNamespacedName; +exports.isJSXOpeningElement = isJSXOpeningElement; +exports.isJSXSpreadAttribute = isJSXSpreadAttribute; +exports.isJSXText = isJSXText; +exports.isJSXFragment = isJSXFragment; +exports.isJSXOpeningFragment = isJSXOpeningFragment; +exports.isJSXClosingFragment = isJSXClosingFragment; +exports.isNoop = isNoop; +exports.isPlaceholder = isPlaceholder; +exports.isV8IntrinsicIdentifier = isV8IntrinsicIdentifier; +exports.isArgumentPlaceholder = isArgumentPlaceholder; +exports.isAwaitExpression = isAwaitExpression; +exports.isBindExpression = isBindExpression; +exports.isClassProperty = isClassProperty; +exports.isOptionalMemberExpression = isOptionalMemberExpression; +exports.isPipelineTopicExpression = isPipelineTopicExpression; +exports.isPipelineBareFunction = isPipelineBareFunction; +exports.isPipelinePrimaryTopicReference = isPipelinePrimaryTopicReference; +exports.isOptionalCallExpression = isOptionalCallExpression; +exports.isClassPrivateProperty = isClassPrivateProperty; +exports.isClassPrivateMethod = isClassPrivateMethod; +exports.isImport = isImport; +exports.isDecorator = isDecorator; +exports.isDoExpression = isDoExpression; +exports.isExportDefaultSpecifier = isExportDefaultSpecifier; +exports.isExportNamespaceSpecifier = isExportNamespaceSpecifier; +exports.isPrivateName = isPrivateName; +exports.isBigIntLiteral = isBigIntLiteral; +exports.isTSParameterProperty = isTSParameterProperty; +exports.isTSDeclareFunction = isTSDeclareFunction; +exports.isTSDeclareMethod = isTSDeclareMethod; +exports.isTSQualifiedName = isTSQualifiedName; +exports.isTSCallSignatureDeclaration = isTSCallSignatureDeclaration; +exports.isTSConstructSignatureDeclaration = isTSConstructSignatureDeclaration; +exports.isTSPropertySignature = isTSPropertySignature; +exports.isTSMethodSignature = isTSMethodSignature; +exports.isTSIndexSignature = isTSIndexSignature; +exports.isTSAnyKeyword = isTSAnyKeyword; +exports.isTSBooleanKeyword = isTSBooleanKeyword; +exports.isTSBigIntKeyword = isTSBigIntKeyword; +exports.isTSNeverKeyword = isTSNeverKeyword; +exports.isTSNullKeyword = isTSNullKeyword; +exports.isTSNumberKeyword = isTSNumberKeyword; +exports.isTSObjectKeyword = isTSObjectKeyword; +exports.isTSStringKeyword = isTSStringKeyword; +exports.isTSSymbolKeyword = isTSSymbolKeyword; +exports.isTSUndefinedKeyword = isTSUndefinedKeyword; +exports.isTSUnknownKeyword = isTSUnknownKeyword; +exports.isTSVoidKeyword = isTSVoidKeyword; +exports.isTSThisType = isTSThisType; +exports.isTSFunctionType = isTSFunctionType; +exports.isTSConstructorType = isTSConstructorType; +exports.isTSTypeReference = isTSTypeReference; +exports.isTSTypePredicate = isTSTypePredicate; +exports.isTSTypeQuery = isTSTypeQuery; +exports.isTSTypeLiteral = isTSTypeLiteral; +exports.isTSArrayType = isTSArrayType; +exports.isTSTupleType = isTSTupleType; +exports.isTSOptionalType = isTSOptionalType; +exports.isTSRestType = isTSRestType; +exports.isTSUnionType = isTSUnionType; +exports.isTSIntersectionType = isTSIntersectionType; +exports.isTSConditionalType = isTSConditionalType; +exports.isTSInferType = isTSInferType; +exports.isTSParenthesizedType = isTSParenthesizedType; +exports.isTSTypeOperator = isTSTypeOperator; +exports.isTSIndexedAccessType = isTSIndexedAccessType; +exports.isTSMappedType = isTSMappedType; +exports.isTSLiteralType = isTSLiteralType; +exports.isTSExpressionWithTypeArguments = isTSExpressionWithTypeArguments; +exports.isTSInterfaceDeclaration = isTSInterfaceDeclaration; +exports.isTSInterfaceBody = isTSInterfaceBody; +exports.isTSTypeAliasDeclaration = isTSTypeAliasDeclaration; +exports.isTSAsExpression = isTSAsExpression; +exports.isTSTypeAssertion = isTSTypeAssertion; +exports.isTSEnumDeclaration = isTSEnumDeclaration; +exports.isTSEnumMember = isTSEnumMember; +exports.isTSModuleDeclaration = isTSModuleDeclaration; +exports.isTSModuleBlock = isTSModuleBlock; +exports.isTSImportType = isTSImportType; +exports.isTSImportEqualsDeclaration = isTSImportEqualsDeclaration; +exports.isTSExternalModuleReference = isTSExternalModuleReference; +exports.isTSNonNullExpression = isTSNonNullExpression; +exports.isTSExportAssignment = isTSExportAssignment; +exports.isTSNamespaceExportDeclaration = isTSNamespaceExportDeclaration; +exports.isTSTypeAnnotation = isTSTypeAnnotation; +exports.isTSTypeParameterInstantiation = isTSTypeParameterInstantiation; +exports.isTSTypeParameterDeclaration = isTSTypeParameterDeclaration; +exports.isTSTypeParameter = isTSTypeParameter; +exports.isExpression = isExpression; +exports.isBinary = isBinary; +exports.isScopable = isScopable; +exports.isBlockParent = isBlockParent; +exports.isBlock = isBlock; +exports.isStatement = isStatement; +exports.isTerminatorless = isTerminatorless; +exports.isCompletionStatement = isCompletionStatement; +exports.isConditional = isConditional; +exports.isLoop = isLoop; +exports.isWhile = isWhile; +exports.isExpressionWrapper = isExpressionWrapper; +exports.isFor = isFor; +exports.isForXStatement = isForXStatement; +exports.isFunction = isFunction; +exports.isFunctionParent = isFunctionParent; +exports.isPureish = isPureish; +exports.isDeclaration = isDeclaration; +exports.isPatternLike = isPatternLike; +exports.isLVal = isLVal; +exports.isTSEntityName = isTSEntityName; +exports.isLiteral = isLiteral; +exports.isImmutable = isImmutable; +exports.isUserWhitespacable = isUserWhitespacable; +exports.isMethod = isMethod; +exports.isObjectMember = isObjectMember; +exports.isProperty = isProperty; +exports.isUnaryLike = isUnaryLike; +exports.isPattern = isPattern; +exports.isClass = isClass; +exports.isModuleDeclaration = isModuleDeclaration; +exports.isExportDeclaration = isExportDeclaration; +exports.isModuleSpecifier = isModuleSpecifier; +exports.isFlow = isFlow; +exports.isFlowType = isFlowType; +exports.isFlowBaseAnnotation = isFlowBaseAnnotation; +exports.isFlowDeclaration = isFlowDeclaration; +exports.isFlowPredicate = isFlowPredicate; +exports.isEnumBody = isEnumBody; +exports.isEnumMember = isEnumMember; +exports.isJSX = isJSX; +exports.isPrivate = isPrivate; +exports.isTSTypeElement = isTSTypeElement; +exports.isTSType = isTSType; +exports.isNumberLiteral = isNumberLiteral; +exports.isRegexLiteral = isRegexLiteral; +exports.isRestProperty = isRestProperty; +exports.isSpreadProperty = isSpreadProperty; + +var _shallowEqual = _interopRequireDefault(require("../../utils/shallowEqual")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isArrayExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ArrayExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isAssignmentExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "AssignmentExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBinaryExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BinaryExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isInterpreterDirective(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "InterpreterDirective") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDirective(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Directive") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDirectiveLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DirectiveLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBlockStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BlockStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBreakStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BreakStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isCallExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "CallExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isCatchClause(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "CatchClause") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isConditionalExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ConditionalExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isContinueStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ContinueStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDebuggerStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DebuggerStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDoWhileStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DoWhileStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEmptyStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EmptyStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExpressionStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExpressionStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFile(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "File") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isForInStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ForInStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isForStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ForStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunctionDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FunctionDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunctionExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FunctionExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isIdentifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Identifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isIfStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "IfStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isLabeledStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "LabeledStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isStringLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "StringLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNumericLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NumericLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNullLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NullLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBooleanLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BooleanLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isRegExpLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "RegExpLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isLogicalExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "LogicalExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isMemberExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "MemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNewExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NewExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isProgram(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Program") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectMethod(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isRestElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "RestElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isReturnStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ReturnStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSequenceExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "SequenceExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isParenthesizedExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ParenthesizedExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSwitchCase(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "SwitchCase") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSwitchStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "SwitchStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isThisExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ThisExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isThrowStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ThrowStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTryStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TryStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isUnaryExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "UnaryExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isUpdateExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "UpdateExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isVariableDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "VariableDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isVariableDeclarator(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "VariableDeclarator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isWhileStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "WhileStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isWithStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "WithStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isAssignmentPattern(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "AssignmentPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isArrayPattern(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ArrayPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isArrowFunctionExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ArrowFunctionExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportAllDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportAllDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportDefaultDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportDefaultDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportNamedDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportNamedDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isForOfStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ForOfStatement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImportDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ImportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImportDefaultSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ImportDefaultSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImportNamespaceSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ImportNamespaceSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImportSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ImportSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isMetaProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "MetaProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassMethod(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectPattern(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectPattern") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSpreadElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "SpreadElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSuper(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Super") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTaggedTemplateExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TaggedTemplateExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTemplateElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TemplateElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTemplateLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TemplateLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isYieldExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "YieldExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isAnyTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "AnyTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isArrayTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ArrayTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBooleanTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BooleanTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBooleanLiteralTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BooleanLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNullLiteralTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NullLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassImplements(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassImplements") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareClass(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareClass") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareFunction(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareInterface(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareInterface") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareModule(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareModule") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareModuleExports(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareModuleExports") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareTypeAlias(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareTypeAlias") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareOpaqueType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareOpaqueType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareVariable(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareVariable") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareExportDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareExportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclareExportAllDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclareExportAllDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclaredPredicate(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DeclaredPredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExistsTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExistsTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunctionTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FunctionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunctionTypeParam(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FunctionTypeParam") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isGenericTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "GenericTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isInferredPredicate(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "InferredPredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isInterfaceExtends(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "InterfaceExtends") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isInterfaceDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "InterfaceDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isInterfaceTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "InterfaceTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isIntersectionTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "IntersectionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isMixedTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "MixedTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEmptyTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EmptyTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNullableTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NullableTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNumberLiteralTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NumberLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNumberTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NumberTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeInternalSlot(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeInternalSlot") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeCallProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeCallProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeIndexer(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeIndexer") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectTypeSpreadProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectTypeSpreadProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isOpaqueType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "OpaqueType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isQualifiedTypeIdentifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "QualifiedTypeIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isStringLiteralTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "StringLiteralTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isStringTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "StringTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isThisTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ThisTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTupleTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TupleTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeofTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeofTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeAlias(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeAlias") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeCastExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeCastExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeParameter(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeParameter") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeParameterDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeParameterDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTypeParameterInstantiation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TypeParameterInstantiation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isUnionTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "UnionTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isVariance(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Variance") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isVoidTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "VoidTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumBooleanBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumBooleanBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumNumberBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumNumberBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumStringBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumStringBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumSymbolBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumSymbolBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumBooleanMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumBooleanMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumNumberMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumNumberMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumStringMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumStringMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumDefaultedMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumDefaultedMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXAttribute(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXAttribute") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXClosingElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXClosingElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXEmptyExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXEmptyExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXExpressionContainer(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXExpressionContainer") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXSpreadChild(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXSpreadChild") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXIdentifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXMemberExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXMemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXNamespacedName(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXNamespacedName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXOpeningElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXOpeningElement") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXSpreadAttribute(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXSpreadAttribute") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXText(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXText") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXFragment(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXOpeningFragment(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXOpeningFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSXClosingFragment(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSXClosingFragment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNoop(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Noop") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPlaceholder(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Placeholder") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isV8IntrinsicIdentifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "V8IntrinsicIdentifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isArgumentPlaceholder(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ArgumentPlaceholder") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isAwaitExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "AwaitExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBindExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BindExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isOptionalMemberExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "OptionalMemberExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPipelineTopicExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "PipelineTopicExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPipelineBareFunction(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "PipelineBareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPipelinePrimaryTopicReference(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "PipelinePrimaryTopicReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isOptionalCallExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "OptionalCallExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassPrivateProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassPrivateProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClassPrivateMethod(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ClassPrivateMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImport(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Import") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDecorator(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Decorator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDoExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "DoExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportDefaultSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportDefaultSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportNamespaceSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportNamespaceSpecifier") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPrivateName(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "PrivateName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBigIntLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BigIntLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSParameterProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSParameterProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSDeclareFunction(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSDeclareFunction") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSDeclareMethod(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSDeclareMethod") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSQualifiedName(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSQualifiedName") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSCallSignatureDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSCallSignatureDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSConstructSignatureDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSConstructSignatureDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSPropertySignature(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSPropertySignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSMethodSignature(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSMethodSignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSIndexSignature(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSIndexSignature") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSAnyKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSAnyKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSBooleanKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSBooleanKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSBigIntKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSBigIntKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSNeverKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSNeverKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSNullKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSNullKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSNumberKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSNumberKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSObjectKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSObjectKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSStringKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSStringKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSSymbolKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSSymbolKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSUndefinedKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSUndefinedKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSUnknownKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSUnknownKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSVoidKeyword(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSVoidKeyword") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSThisType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSThisType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSFunctionType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSFunctionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSConstructorType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSConstructorType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeReference(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypePredicate(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypePredicate") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeQuery(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeQuery") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSArrayType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSArrayType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTupleType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTupleType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSOptionalType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSOptionalType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSRestType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSRestType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSUnionType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSUnionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSIntersectionType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSIntersectionType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSConditionalType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSConditionalType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSInferType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSInferType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSParenthesizedType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSParenthesizedType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeOperator(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeOperator") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSIndexedAccessType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSIndexedAccessType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSMappedType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSMappedType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSLiteralType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSLiteralType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSExpressionWithTypeArguments(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSExpressionWithTypeArguments") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSInterfaceDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSInterfaceDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSInterfaceBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSInterfaceBody") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeAliasDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeAliasDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSAsExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSAsExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeAssertion(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeAssertion") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSEnumDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSEnumDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSEnumMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSEnumMember") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSModuleDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSModuleDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSModuleBlock(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSModuleBlock") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSImportType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSImportType") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSImportEqualsDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSImportEqualsDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSExternalModuleReference(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSExternalModuleReference") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSNonNullExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSNonNullExpression") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSExportAssignment(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSExportAssignment") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSNamespaceExportDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSNamespaceExportDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeAnnotation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeParameterInstantiation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeParameterInstantiation") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeParameterDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeParameterDeclaration") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeParameter(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeParameter") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExpression(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Expression" || "ArrayExpression" === nodeType || "AssignmentExpression" === nodeType || "BinaryExpression" === nodeType || "CallExpression" === nodeType || "ConditionalExpression" === nodeType || "FunctionExpression" === nodeType || "Identifier" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "LogicalExpression" === nodeType || "MemberExpression" === nodeType || "NewExpression" === nodeType || "ObjectExpression" === nodeType || "SequenceExpression" === nodeType || "ParenthesizedExpression" === nodeType || "ThisExpression" === nodeType || "UnaryExpression" === nodeType || "UpdateExpression" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassExpression" === nodeType || "MetaProperty" === nodeType || "Super" === nodeType || "TaggedTemplateExpression" === nodeType || "TemplateLiteral" === nodeType || "YieldExpression" === nodeType || "TypeCastExpression" === nodeType || "JSXElement" === nodeType || "JSXFragment" === nodeType || "AwaitExpression" === nodeType || "BindExpression" === nodeType || "OptionalMemberExpression" === nodeType || "PipelinePrimaryTopicReference" === nodeType || "OptionalCallExpression" === nodeType || "Import" === nodeType || "DoExpression" === nodeType || "BigIntLiteral" === nodeType || "TSAsExpression" === nodeType || "TSTypeAssertion" === nodeType || "TSNonNullExpression" === nodeType || nodeType === "Placeholder" && ("Expression" === node.expectedNode || "Identifier" === node.expectedNode || "StringLiteral" === node.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBinary(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Binary" || "BinaryExpression" === nodeType || "LogicalExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isScopable(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Scopable" || "BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBlockParent(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "BlockParent" || "BlockStatement" === nodeType || "CatchClause" === nodeType || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "Program" === nodeType || "ObjectMethod" === nodeType || "SwitchStatement" === nodeType || "WhileStatement" === nodeType || "ArrowFunctionExpression" === nodeType || "ForOfStatement" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isBlock(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Block" || "BlockStatement" === nodeType || "Program" === nodeType || "TSModuleBlock" === nodeType || nodeType === "Placeholder" && "BlockStatement" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Statement" || "BlockStatement" === nodeType || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "DebuggerStatement" === nodeType || "DoWhileStatement" === nodeType || "EmptyStatement" === nodeType || "ExpressionStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "FunctionDeclaration" === nodeType || "IfStatement" === nodeType || "LabeledStatement" === nodeType || "ReturnStatement" === nodeType || "SwitchStatement" === nodeType || "ThrowStatement" === nodeType || "TryStatement" === nodeType || "VariableDeclaration" === nodeType || "WhileStatement" === nodeType || "WithStatement" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ForOfStatement" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || "TSImportEqualsDeclaration" === nodeType || "TSExportAssignment" === nodeType || "TSNamespaceExportDeclaration" === nodeType || nodeType === "Placeholder" && ("Statement" === node.expectedNode || "Declaration" === node.expectedNode || "BlockStatement" === node.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTerminatorless(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Terminatorless" || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType || "YieldExpression" === nodeType || "AwaitExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isCompletionStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "CompletionStatement" || "BreakStatement" === nodeType || "ContinueStatement" === nodeType || "ReturnStatement" === nodeType || "ThrowStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isConditional(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Conditional" || "ConditionalExpression" === nodeType || "IfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isLoop(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Loop" || "DoWhileStatement" === nodeType || "ForInStatement" === nodeType || "ForStatement" === nodeType || "WhileStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isWhile(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "While" || "DoWhileStatement" === nodeType || "WhileStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExpressionWrapper(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExpressionWrapper" || "ExpressionStatement" === nodeType || "ParenthesizedExpression" === nodeType || "TypeCastExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFor(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "For" || "ForInStatement" === nodeType || "ForStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isForXStatement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ForXStatement" || "ForInStatement" === nodeType || "ForOfStatement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunction(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Function" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFunctionParent(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FunctionParent" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "ObjectMethod" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPureish(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Pureish" || "FunctionDeclaration" === nodeType || "FunctionExpression" === nodeType || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "ArrowFunctionExpression" === nodeType || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Declaration" || "FunctionDeclaration" === nodeType || "VariableDeclaration" === nodeType || "ClassDeclaration" === nodeType || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType || "TSDeclareFunction" === nodeType || "TSInterfaceDeclaration" === nodeType || "TSTypeAliasDeclaration" === nodeType || "TSEnumDeclaration" === nodeType || "TSModuleDeclaration" === nodeType || nodeType === "Placeholder" && "Declaration" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPatternLike(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "PatternLike" || "Identifier" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isLVal(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "LVal" || "Identifier" === nodeType || "MemberExpression" === nodeType || "RestElement" === nodeType || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || "TSParameterProperty" === nodeType || nodeType === "Placeholder" && ("Pattern" === node.expectedNode || "Identifier" === node.expectedNode)) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSEntityName(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSEntityName" || "Identifier" === nodeType || "TSQualifiedName" === nodeType || nodeType === "Placeholder" && "Identifier" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isLiteral(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Literal" || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "RegExpLiteral" === nodeType || "TemplateLiteral" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isImmutable(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Immutable" || "StringLiteral" === nodeType || "NumericLiteral" === nodeType || "NullLiteral" === nodeType || "BooleanLiteral" === nodeType || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXOpeningElement" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType || "BigIntLiteral" === nodeType || nodeType === "Placeholder" && "StringLiteral" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isUserWhitespacable(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "UserWhitespacable" || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isMethod(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Method" || "ObjectMethod" === nodeType || "ClassMethod" === nodeType || "ClassPrivateMethod" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isObjectMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ObjectMember" || "ObjectMethod" === nodeType || "ObjectProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isProperty(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Property" || "ObjectProperty" === nodeType || "ClassProperty" === nodeType || "ClassPrivateProperty" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isUnaryLike(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "UnaryLike" || "UnaryExpression" === nodeType || "SpreadElement" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPattern(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Pattern" || "AssignmentPattern" === nodeType || "ArrayPattern" === nodeType || "ObjectPattern" === nodeType || nodeType === "Placeholder" && "Pattern" === node.expectedNode) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isClass(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Class" || "ClassDeclaration" === nodeType || "ClassExpression" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isModuleDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ModuleDeclaration" || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType || "ImportDeclaration" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isExportDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ExportDeclaration" || "ExportAllDeclaration" === nodeType || "ExportDefaultDeclaration" === nodeType || "ExportNamedDeclaration" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isModuleSpecifier(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "ModuleSpecifier" || "ExportSpecifier" === nodeType || "ImportDefaultSpecifier" === nodeType || "ImportNamespaceSpecifier" === nodeType || "ImportSpecifier" === nodeType || "ExportDefaultSpecifier" === nodeType || "ExportNamespaceSpecifier" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFlow(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Flow" || "AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ClassImplements" === nodeType || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "DeclaredPredicate" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "FunctionTypeParam" === nodeType || "GenericTypeAnnotation" === nodeType || "InferredPredicate" === nodeType || "InterfaceExtends" === nodeType || "InterfaceDeclaration" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "ObjectTypeInternalSlot" === nodeType || "ObjectTypeCallProperty" === nodeType || "ObjectTypeIndexer" === nodeType || "ObjectTypeProperty" === nodeType || "ObjectTypeSpreadProperty" === nodeType || "OpaqueType" === nodeType || "QualifiedTypeIdentifier" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "TypeAlias" === nodeType || "TypeAnnotation" === nodeType || "TypeCastExpression" === nodeType || "TypeParameter" === nodeType || "TypeParameterDeclaration" === nodeType || "TypeParameterInstantiation" === nodeType || "UnionTypeAnnotation" === nodeType || "Variance" === nodeType || "VoidTypeAnnotation" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFlowType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FlowType" || "AnyTypeAnnotation" === nodeType || "ArrayTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "BooleanLiteralTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "ExistsTypeAnnotation" === nodeType || "FunctionTypeAnnotation" === nodeType || "GenericTypeAnnotation" === nodeType || "InterfaceTypeAnnotation" === nodeType || "IntersectionTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NullableTypeAnnotation" === nodeType || "NumberLiteralTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "ObjectTypeAnnotation" === nodeType || "StringLiteralTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "TupleTypeAnnotation" === nodeType || "TypeofTypeAnnotation" === nodeType || "UnionTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFlowBaseAnnotation(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FlowBaseAnnotation" || "AnyTypeAnnotation" === nodeType || "BooleanTypeAnnotation" === nodeType || "NullLiteralTypeAnnotation" === nodeType || "MixedTypeAnnotation" === nodeType || "EmptyTypeAnnotation" === nodeType || "NumberTypeAnnotation" === nodeType || "StringTypeAnnotation" === nodeType || "ThisTypeAnnotation" === nodeType || "VoidTypeAnnotation" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFlowDeclaration(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FlowDeclaration" || "DeclareClass" === nodeType || "DeclareFunction" === nodeType || "DeclareInterface" === nodeType || "DeclareModule" === nodeType || "DeclareModuleExports" === nodeType || "DeclareTypeAlias" === nodeType || "DeclareOpaqueType" === nodeType || "DeclareVariable" === nodeType || "DeclareExportDeclaration" === nodeType || "DeclareExportAllDeclaration" === nodeType || "InterfaceDeclaration" === nodeType || "OpaqueType" === nodeType || "TypeAlias" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isFlowPredicate(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "FlowPredicate" || "DeclaredPredicate" === nodeType || "InferredPredicate" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumBody(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumBody" || "EnumBooleanBody" === nodeType || "EnumNumberBody" === nodeType || "EnumStringBody" === nodeType || "EnumSymbolBody" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isEnumMember(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "EnumMember" || "EnumBooleanMember" === nodeType || "EnumNumberMember" === nodeType || "EnumStringMember" === nodeType || "EnumDefaultedMember" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isJSX(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "JSX" || "JSXAttribute" === nodeType || "JSXClosingElement" === nodeType || "JSXElement" === nodeType || "JSXEmptyExpression" === nodeType || "JSXExpressionContainer" === nodeType || "JSXSpreadChild" === nodeType || "JSXIdentifier" === nodeType || "JSXMemberExpression" === nodeType || "JSXNamespacedName" === nodeType || "JSXOpeningElement" === nodeType || "JSXSpreadAttribute" === nodeType || "JSXText" === nodeType || "JSXFragment" === nodeType || "JSXOpeningFragment" === nodeType || "JSXClosingFragment" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isPrivate(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "Private" || "ClassPrivateProperty" === nodeType || "ClassPrivateMethod" === nodeType || "PrivateName" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSTypeElement(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSTypeElement" || "TSCallSignatureDeclaration" === nodeType || "TSConstructSignatureDeclaration" === nodeType || "TSPropertySignature" === nodeType || "TSMethodSignature" === nodeType || "TSIndexSignature" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isTSType(node, opts) { + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "TSType" || "TSAnyKeyword" === nodeType || "TSBooleanKeyword" === nodeType || "TSBigIntKeyword" === nodeType || "TSNeverKeyword" === nodeType || "TSNullKeyword" === nodeType || "TSNumberKeyword" === nodeType || "TSObjectKeyword" === nodeType || "TSStringKeyword" === nodeType || "TSSymbolKeyword" === nodeType || "TSUndefinedKeyword" === nodeType || "TSUnknownKeyword" === nodeType || "TSVoidKeyword" === nodeType || "TSThisType" === nodeType || "TSFunctionType" === nodeType || "TSConstructorType" === nodeType || "TSTypeReference" === nodeType || "TSTypePredicate" === nodeType || "TSTypeQuery" === nodeType || "TSTypeLiteral" === nodeType || "TSArrayType" === nodeType || "TSTupleType" === nodeType || "TSOptionalType" === nodeType || "TSRestType" === nodeType || "TSUnionType" === nodeType || "TSIntersectionType" === nodeType || "TSConditionalType" === nodeType || "TSInferType" === nodeType || "TSParenthesizedType" === nodeType || "TSTypeOperator" === nodeType || "TSIndexedAccessType" === nodeType || "TSMappedType" === nodeType || "TSLiteralType" === nodeType || "TSExpressionWithTypeArguments" === nodeType || "TSImportType" === nodeType) { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isNumberLiteral(node, opts) { + console.trace("The node type NumberLiteral has been renamed to NumericLiteral"); + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "NumberLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isRegexLiteral(node, opts) { + console.trace("The node type RegexLiteral has been renamed to RegExpLiteral"); + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "RegexLiteral") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isRestProperty(node, opts) { + console.trace("The node type RestProperty has been renamed to RestElement"); + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "RestProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +function isSpreadProperty(node, opts) { + console.trace("The node type SpreadProperty has been renamed to SpreadElement"); + if (!node) return false; + var nodeType = node.type; + + if (nodeType === "SpreadProperty") { + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } + } + + return false; +} + +},{"../../utils/shallowEqual":255}],258:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = is; + +var _shallowEqual = _interopRequireDefault(require("../utils/shallowEqual")); + +var _isType = _interopRequireDefault(require("./isType")); + +var _isPlaceholderType = _interopRequireDefault(require("./isPlaceholderType")); + +var _definitions = require("../definitions"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function is(type, node, opts) { + if (!node) return false; + var matches = (0, _isType.default)(node.type, type); + + if (!matches) { + if (!opts && node.type === "Placeholder" && type in _definitions.FLIPPED_ALIAS_KEYS) { + return (0, _isPlaceholderType.default)(node.expectedNode, type); + } + + return false; + } + + if (typeof opts === "undefined") { + return true; + } else { + return (0, _shallowEqual.default)(node, opts); + } +} + +},{"../definitions":236,"../utils/shallowEqual":255,"./isPlaceholderType":265,"./isType":269}],259:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isBinding; + +var _getBindingIdentifiers = _interopRequireDefault(require("../retrievers/getBindingIdentifiers")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isBinding(node, parent, grandparent) { + if (grandparent && node.type === "Identifier" && parent.type === "ObjectProperty" && grandparent.type === "ObjectExpression") { + return false; + } + + var keys = _getBindingIdentifiers.default.keys[parent.type]; + + if (keys) { + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + var val = parent[key]; + + if (Array.isArray(val)) { + if (val.indexOf(node) >= 0) return true; + } else { + if (val === node) return true; + } + } + } + + return false; +} + +},{"../retrievers/getBindingIdentifiers":249}],260:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isBlockScoped; + +var _generated = require("./generated"); + +var _isLet = _interopRequireDefault(require("./isLet")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isBlockScoped(node) { + return (0, _generated.isFunctionDeclaration)(node) || (0, _generated.isClassDeclaration)(node) || (0, _isLet.default)(node); +} + +},{"./generated":257,"./isLet":262}],261:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isImmutable; + +var _isType = _interopRequireDefault(require("./isType")); + +var _generated = require("./generated"); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isImmutable(node) { + if ((0, _isType.default)(node.type, "Immutable")) return true; + + if ((0, _generated.isIdentifier)(node)) { + if (node.name === "undefined") { + return true; + } else { + return false; + } + } + + return false; +} + +},{"./generated":257,"./isType":269}],262:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isLet; + +var _generated = require("./generated"); + +var _constants = require("../constants"); + +function isLet(node) { + return (0, _generated.isVariableDeclaration)(node) && (node.kind !== "var" || node[_constants.BLOCK_SCOPED_SYMBOL]); +} + +},{"../constants":220,"./generated":257}],263:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isNode; + +var _definitions = require("../definitions"); + +function isNode(node) { + return !!(node && _definitions.VISITOR_KEYS[node.type]); +} + +},{"../definitions":236}],264:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isNodesEquivalent; + +var _definitions = require("../definitions"); + +function isNodesEquivalent(a, b) { + if (_typeof(a) !== "object" || _typeof(b) !== "object" || a == null || b == null) { + return a === b; + } + + if (a.type !== b.type) { + return false; + } + + var fields = Object.keys(_definitions.NODE_FIELDS[a.type] || a.type); + var visitorKeys = _definitions.VISITOR_KEYS[a.type]; + + for (var _i = 0, _fields = fields; _i < _fields.length; _i++) { + var field = _fields[_i]; + + if (_typeof(a[field]) !== _typeof(b[field])) { + return false; + } + + if (a[field] == null && b[field] == null) { + continue; + } else if (a[field] == null || b[field] == null) { + return false; + } + + if (Array.isArray(a[field])) { + if (!Array.isArray(b[field])) { + return false; + } + + if (a[field].length !== b[field].length) { + return false; + } + + for (var i = 0; i < a[field].length; i++) { + if (!isNodesEquivalent(a[field][i], b[field][i])) { + return false; + } + } + + continue; + } + + if (_typeof(a[field]) === "object" && (!visitorKeys || !visitorKeys.includes(field))) { + for (var _i2 = 0, _Object$keys = Object.keys(a[field]); _i2 < _Object$keys.length; _i2++) { + var key = _Object$keys[_i2]; + + if (a[field][key] !== b[field][key]) { + return false; + } + } + + continue; + } + + if (!isNodesEquivalent(a[field], b[field])) { + return false; + } + } + + return true; +} + +},{"../definitions":236}],265:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isPlaceholderType; + +var _definitions = require("../definitions"); + +function isPlaceholderType(placeholderType, targetType) { + if (placeholderType === targetType) return true; + var aliases = _definitions.PLACEHOLDERS_ALIAS[placeholderType]; + + if (aliases) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var alias = _step.value; + if (targetType === alias) return true; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return false; +} + +},{"../definitions":236}],266:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isReferenced; + +function isReferenced(node, parent, grandparent) { + switch (parent.type) { + case "MemberExpression": + case "JSXMemberExpression": + case "OptionalMemberExpression": + if (parent.property === node) { + return !!parent.computed; + } + + return parent.object === node; + + case "VariableDeclarator": + return parent.init === node; + + case "ArrowFunctionExpression": + return parent.body === node; + + case "ExportSpecifier": + if (parent.source) { + return false; + } + + return parent.local === node; + + case "PrivateName": + return false; + + case "ObjectProperty": + case "ClassProperty": + case "ClassPrivateProperty": + case "ClassMethod": + case "ClassPrivateMethod": + case "ObjectMethod": + if (parent.key === node) { + return !!parent.computed; + } + + if (parent.value === node) { + return !grandparent || grandparent.type !== "ObjectPattern"; + } + + return true; + + case "ClassDeclaration": + case "ClassExpression": + return parent.superClass === node; + + case "AssignmentExpression": + return parent.right === node; + + case "AssignmentPattern": + return parent.right === node; + + case "LabeledStatement": + return false; + + case "CatchClause": + return false; + + case "RestElement": + return false; + + case "BreakStatement": + case "ContinueStatement": + return false; + + case "FunctionDeclaration": + case "FunctionExpression": + return false; + + case "ExportNamespaceSpecifier": + case "ExportDefaultSpecifier": + return false; + + case "ImportDefaultSpecifier": + case "ImportNamespaceSpecifier": + case "ImportSpecifier": + return false; + + case "JSXAttribute": + return false; + + case "ObjectPattern": + case "ArrayPattern": + return false; + + case "MetaProperty": + return false; + + case "ObjectTypeProperty": + return parent.key !== node; + + case "TSEnumMember": + return parent.id !== node; + + case "TSPropertySignature": + if (parent.key === node) { + return !!parent.computed; + } + + return true; + } + + return true; +} + +},{}],267:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isScope; + +var _generated = require("./generated"); + +function isScope(node, parent) { + if ((0, _generated.isBlockStatement)(node) && (0, _generated.isFunction)(parent, { + body: node + })) { + return false; + } + + if ((0, _generated.isBlockStatement)(node) && (0, _generated.isCatchClause)(parent, { + body: node + })) { + return false; + } + + return (0, _generated.isScopable)(node); +} + +},{"./generated":257}],268:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isSpecifierDefault; + +var _generated = require("./generated"); + +function isSpecifierDefault(specifier) { + return (0, _generated.isImportDefaultSpecifier)(specifier) || (0, _generated.isIdentifier)(specifier.imported || specifier.exported, { + name: "default" + }); +} + +},{"./generated":257}],269:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isType; + +var _definitions = require("../definitions"); + +function isType(nodeType, targetType) { + if (nodeType === targetType) return true; + if (_definitions.ALIAS_KEYS[targetType]) return false; + var aliases = _definitions.FLIPPED_ALIAS_KEYS[targetType]; + + if (aliases) { + if (aliases[0] === nodeType) return true; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = aliases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var alias = _step.value; + if (nodeType === alias) return true; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + + return false; +} + +},{"../definitions":236}],270:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isValidES3Identifier; + +var _isValidIdentifier = _interopRequireDefault(require("./isValidIdentifier")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var RESERVED_WORDS_ES3_ONLY = new Set(["abstract", "boolean", "byte", "char", "double", "enum", "final", "float", "goto", "implements", "int", "interface", "long", "native", "package", "private", "protected", "public", "short", "static", "synchronized", "throws", "transient", "volatile"]); + +function isValidES3Identifier(name) { + return (0, _isValidIdentifier.default)(name) && !RESERVED_WORDS_ES3_ONLY.has(name); +} + +},{"./isValidIdentifier":271}],271:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isValidIdentifier; + +var _esutils = _interopRequireDefault(require("esutils")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +function isValidIdentifier(name) { + if (typeof name !== "string" || _esutils.default.keyword.isReservedWordES6(name, true)) { + return false; + } else if (name === "await") { + return false; + } else { + return _esutils.default.keyword.isIdentifierNameES6(name); + } +} + +},{"esutils":836}],272:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isVar; + +var _generated = require("./generated"); + +var _constants = require("../constants"); + +function isVar(node) { + return (0, _generated.isVariableDeclaration)(node, { + kind: "var" + }) && !node[_constants.BLOCK_SCOPED_SYMBOL]; +} + +},{"../constants":220,"./generated":257}],273:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = matchesPattern; + +var _generated = require("./generated"); + +function matchesPattern(member, match, allowPartial) { + if (!(0, _generated.isMemberExpression)(member)) return false; + var parts = Array.isArray(match) ? match : match.split("."); + var nodes = []; + var node; + + for (node = member; (0, _generated.isMemberExpression)(node); node = node.object) { + nodes.push(node.property); + } + + nodes.push(node); + if (nodes.length < parts.length) return false; + if (!allowPartial && nodes.length > parts.length) return false; + + for (var i = 0, j = nodes.length - 1; i < parts.length; i++, j--) { + var _node = nodes[j]; + var value = void 0; + + if ((0, _generated.isIdentifier)(_node)) { + value = _node.name; + } else if ((0, _generated.isStringLiteral)(_node)) { + value = _node.value; + } else { + return false; + } + + if (parts[i] !== value) return false; + } + + return true; +} + +},{"./generated":257}],274:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isCompatTag; + +function isCompatTag(tagName) { + return !!tagName && /^[a-z]/.test(tagName); +} + +},{}],275:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _buildMatchMemberExpression = _interopRequireDefault(require("../buildMatchMemberExpression")); + +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} + +var isReactComponent = (0, _buildMatchMemberExpression.default)("React.Component"); +var _default = isReactComponent; +exports.default = _default; + +},{"../buildMatchMemberExpression":256}],276:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = validate; +exports.validateField = validateField; + +var _definitions = require("../definitions"); + +function validate(node, key, val) { + if (!node) return; + var fields = _definitions.NODE_FIELDS[node.type]; + if (!fields) return; + var field = fields[key]; + validateField(node, key, val, field); +} + +function validateField(node, key, val, field) { + if (!field || !field.validate) return; + if (field.optional && val == null) return; + field.validate(node, key, val); +} + +},{"../definitions":236}],277:[function(require,module,exports){ +'use strict'; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var colorConvert = require('color-convert'); + +var wrapAnsi16 = function wrapAnsi16(fn, offset) { + return function () { + var code = fn.apply(colorConvert, arguments); + return "\x1B[".concat(code + offset, "m"); + }; +}; + +var wrapAnsi256 = function wrapAnsi256(fn, offset) { + return function () { + var code = fn.apply(colorConvert, arguments); + return "\x1B[".concat(38 + offset, ";5;").concat(code, "m"); + }; +}; + +var wrapAnsi16m = function wrapAnsi16m(fn, offset) { + return function () { + var rgb = fn.apply(colorConvert, arguments); + return "\x1B[".concat(38 + offset, ";2;").concat(rgb[0], ";").concat(rgb[1], ";").concat(rgb[2], "m"); + }; +}; + +function assembleStyles() { + var codes = new Map(); + var styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; // Fix humans + + styles.color.grey = styles.color.gray; + + for (var _i = 0, _Object$keys = Object.keys(styles); _i < _Object$keys.length; _i++) { + var groupName = _Object$keys[_i]; + var group = styles[groupName]; + + for (var _i3 = 0, _Object$keys3 = Object.keys(group); _i3 < _Object$keys3.length; _i3++) { + var styleName = _Object$keys3[_i3]; + var style = group[styleName]; + styles[styleName] = { + open: "\x1B[".concat(style[0], "m"), + close: "\x1B[".concat(style[1], "m") + }; + group[styleName] = styles[styleName]; + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + var ansi2ansi = function ansi2ansi(n) { + return n; + }; + + var rgb2rgb = function rgb2rgb(r, g, b) { + return [r, g, b]; + }; + + styles.color.close = "\x1B[39m"; + styles.bgColor.close = "\x1B[49m"; + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (var _i2 = 0, _Object$keys2 = Object.keys(colorConvert); _i2 < _Object$keys2.length; _i2++) { + var key = _Object$keys2[_i2]; + + if (_typeof(colorConvert[key]) !== 'object') { + continue; + } + + var suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; +} // Make the export immutable + + +Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles +}); + +},{"color-convert":299}],278:[function(require,module,exports){ +(function (global){ +'use strict'; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var objectAssign = require('object-assign'); // compare and isBuffer taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js +// original notice: + +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + + +function compare(a, b) { + if (a === b) { + return 0; + } + + var x = a.length; + var y = b.length; + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + + if (x < y) { + return -1; + } + + if (y < x) { + return 1; + } + + return 0; +} + +function isBuffer(b) { + if (global.Buffer && typeof global.Buffer.isBuffer === 'function') { + return global.Buffer.isBuffer(b); + } + + return !!(b != null && b._isBuffer); +} // based on node assert, original notice: +// NB: The URL to the CommonJS spec is kept just for tradition. +// node-assert has evolved a lot since then, both in API and behavior. +// http://wiki.commonjs.org/wiki/Unit_Testing/1.0 +// +// THIS IS NOT TESTED NOR LIKELY TO WORK OUTSIDE V8! +// +// Originally from narwhal.js (http://narwhaljs.org) +// Copyright (c) 2009 Thomas Robinson <280north.com> +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the 'Software'), to +// deal in the Software without restriction, including without limitation the +// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +// sell copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +var util = require('util/'); + +var hasOwn = Object.prototype.hasOwnProperty; +var pSlice = Array.prototype.slice; + +var functionsHaveNames = function () { + return function foo() {}.name === 'foo'; +}(); + +function pToString(obj) { + return Object.prototype.toString.call(obj); +} + +function isView(arrbuf) { + if (isBuffer(arrbuf)) { + return false; + } + + if (typeof global.ArrayBuffer !== 'function') { + return false; + } + + if (typeof ArrayBuffer.isView === 'function') { + return ArrayBuffer.isView(arrbuf); + } + + if (!arrbuf) { + return false; + } + + if (arrbuf instanceof DataView) { + return true; + } + + if (arrbuf.buffer && arrbuf.buffer instanceof ArrayBuffer) { + return true; + } + + return false; +} // 1. The assert module provides functions that throw +// AssertionError's when particular conditions are not met. The +// assert module must conform to the following interface. + + +var assert = module.exports = ok; // 2. The AssertionError is defined in assert. +// new assert.AssertionError({ message: message, +// actual: actual, +// expected: expected }) + +var regex = /\s*function\s+([^\(\s]*)\s*/; // based on https://github.com/ljharb/function.prototype.name/blob/adeeeec8bfcc6068b187d7d9fb3d5bb1d3a30899/implementation.js + +function getName(func) { + if (!util.isFunction(func)) { + return; + } + + if (functionsHaveNames) { + return func.name; + } + + var str = func.toString(); + var match = str.match(regex); + return match && match[1]; +} + +assert.AssertionError = function AssertionError(options) { + this.name = 'AssertionError'; + this.actual = options.actual; + this.expected = options.expected; + this.operator = options.operator; + + if (options.message) { + this.message = options.message; + this.generatedMessage = false; + } else { + this.message = getMessage(this); + this.generatedMessage = true; + } + + var stackStartFunction = options.stackStartFunction || fail; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, stackStartFunction); + } else { + // non v8 browsers so we can have a stacktrace + var err = new Error(); + + if (err.stack) { + var out = err.stack; // try to strip useless frames + + var fn_name = getName(stackStartFunction); + var idx = out.indexOf('\n' + fn_name); + + if (idx >= 0) { + // once we have located the function frame + // we need to strip out everything before it (and its line) + var next_line = out.indexOf('\n', idx + 1); + out = out.substring(next_line + 1); + } + + this.stack = out; + } + } +}; // assert.AssertionError instanceof Error + + +util.inherits(assert.AssertionError, Error); + +function truncate(s, n) { + if (typeof s === 'string') { + return s.length < n ? s : s.slice(0, n); + } else { + return s; + } +} + +function inspect(something) { + if (functionsHaveNames || !util.isFunction(something)) { + return util.inspect(something); + } + + var rawname = getName(something); + var name = rawname ? ': ' + rawname : ''; + return '[Function' + name + ']'; +} + +function getMessage(self) { + return truncate(inspect(self.actual), 128) + ' ' + self.operator + ' ' + truncate(inspect(self.expected), 128); +} // At present only the three keys mentioned above are used and +// understood by the spec. Implementations or sub modules can pass +// other keys to the AssertionError's constructor - they will be +// ignored. +// 3. All of the following functions must throw an AssertionError +// when a corresponding condition is not met, with a message that +// may be undefined if not provided. All assertion methods provide +// both the actual and expected values to the assertion error for +// display purposes. + + +function fail(actual, expected, message, operator, stackStartFunction) { + throw new assert.AssertionError({ + message: message, + actual: actual, + expected: expected, + operator: operator, + stackStartFunction: stackStartFunction + }); +} // EXTENSION! allows for well behaved errors defined elsewhere. + + +assert.fail = fail; // 4. Pure assertion tests whether a value is truthy, as determined +// by !!guard. +// assert.ok(guard, message_opt); +// This statement is equivalent to assert.equal(true, !!guard, +// message_opt);. To test strictly for the value true, use +// assert.strictEqual(true, guard, message_opt);. + +function ok(value, message) { + if (!value) fail(value, true, message, '==', assert.ok); +} + +assert.ok = ok; // 5. The equality assertion tests shallow, coercive equality with +// ==. +// assert.equal(actual, expected, message_opt); + +assert.equal = function equal(actual, expected, message) { + if (actual != expected) fail(actual, expected, message, '==', assert.equal); +}; // 6. The non-equality assertion tests for whether two objects are not equal +// with != assert.notEqual(actual, expected, message_opt); + + +assert.notEqual = function notEqual(actual, expected, message) { + if (actual == expected) { + fail(actual, expected, message, '!=', assert.notEqual); + } +}; // 7. The equivalence assertion tests a deep equality relation. +// assert.deepEqual(actual, expected, message_opt); + + +assert.deepEqual = function deepEqual(actual, expected, message) { + if (!_deepEqual(actual, expected, false)) { + fail(actual, expected, message, 'deepEqual', assert.deepEqual); + } +}; + +assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) { + if (!_deepEqual(actual, expected, true)) { + fail(actual, expected, message, 'deepStrictEqual', assert.deepStrictEqual); + } +}; + +function _deepEqual(actual, expected, strict, memos) { + // 7.1. All identical values are equivalent, as determined by ===. + if (actual === expected) { + return true; + } else if (isBuffer(actual) && isBuffer(expected)) { + return compare(actual, expected) === 0; // 7.2. If the expected value is a Date object, the actual value is + // equivalent if it is also a Date object that refers to the same time. + } else if (util.isDate(actual) && util.isDate(expected)) { + return actual.getTime() === expected.getTime(); // 7.3 If the expected value is a RegExp object, the actual value is + // equivalent if it is also a RegExp object with the same source and + // properties (`global`, `multiline`, `lastIndex`, `ignoreCase`). + } else if (util.isRegExp(actual) && util.isRegExp(expected)) { + return actual.source === expected.source && actual.global === expected.global && actual.multiline === expected.multiline && actual.lastIndex === expected.lastIndex && actual.ignoreCase === expected.ignoreCase; // 7.4. Other pairs that do not both pass typeof value == 'object', + // equivalence is determined by ==. + } else if ((actual === null || _typeof(actual) !== 'object') && (expected === null || _typeof(expected) !== 'object')) { + return strict ? actual === expected : actual == expected; // If both values are instances of typed arrays, wrap their underlying + // ArrayBuffers in a Buffer each to increase performance + // This optimization requires the arrays to have the same type as checked by + // Object.prototype.toString (aka pToString). Never perform binary + // comparisons for Float*Arrays, though, since e.g. +0 === -0 but their + // bit patterns are not identical. + } else if (isView(actual) && isView(expected) && pToString(actual) === pToString(expected) && !(actual instanceof Float32Array || actual instanceof Float64Array)) { + return compare(new Uint8Array(actual.buffer), new Uint8Array(expected.buffer)) === 0; // 7.5 For all other Object pairs, including Array objects, equivalence is + // determined by having the same number of owned properties (as verified + // with Object.prototype.hasOwnProperty.call), the same set of keys + // (although not necessarily the same order), equivalent values for every + // corresponding key, and an identical 'prototype' property. Note: this + // accounts for both named and indexed properties on Arrays. + } else if (isBuffer(actual) !== isBuffer(expected)) { + return false; + } else { + memos = memos || { + actual: [], + expected: [] + }; + var actualIndex = memos.actual.indexOf(actual); + + if (actualIndex !== -1) { + if (actualIndex === memos.expected.indexOf(expected)) { + return true; + } + } + + memos.actual.push(actual); + memos.expected.push(expected); + return objEquiv(actual, expected, strict, memos); + } +} + +function isArguments(object) { + return Object.prototype.toString.call(object) == '[object Arguments]'; +} + +function objEquiv(a, b, strict, actualVisitedObjects) { + if (a === null || a === undefined || b === null || b === undefined) return false; // if one is a primitive, the other must be same + + if (util.isPrimitive(a) || util.isPrimitive(b)) return a === b; + if (strict && Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false; + var aIsArgs = isArguments(a); + var bIsArgs = isArguments(b); + if (aIsArgs && !bIsArgs || !aIsArgs && bIsArgs) return false; + + if (aIsArgs) { + a = pSlice.call(a); + b = pSlice.call(b); + return _deepEqual(a, b, strict); + } + + var ka = objectKeys(a); + var kb = objectKeys(b); + var key, i; // having the same number of owned properties (keys incorporates + // hasOwnProperty) + + if (ka.length !== kb.length) return false; //the same set of keys (although not necessarily the same order), + + ka.sort(); + kb.sort(); //~~~cheap key test + + for (i = ka.length - 1; i >= 0; i--) { + if (ka[i] !== kb[i]) return false; + } //equivalent values for every corresponding key, and + //~~~possibly expensive deep test + + + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!_deepEqual(a[key], b[key], strict, actualVisitedObjects)) return false; + } + + return true; +} // 8. The non-equivalence assertion tests for any deep inequality. +// assert.notDeepEqual(actual, expected, message_opt); + + +assert.notDeepEqual = function notDeepEqual(actual, expected, message) { + if (_deepEqual(actual, expected, false)) { + fail(actual, expected, message, 'notDeepEqual', assert.notDeepEqual); + } +}; + +assert.notDeepStrictEqual = notDeepStrictEqual; + +function notDeepStrictEqual(actual, expected, message) { + if (_deepEqual(actual, expected, true)) { + fail(actual, expected, message, 'notDeepStrictEqual', notDeepStrictEqual); + } +} // 9. The strict equality assertion tests strict equality, as determined by ===. +// assert.strictEqual(actual, expected, message_opt); + + +assert.strictEqual = function strictEqual(actual, expected, message) { + if (actual !== expected) { + fail(actual, expected, message, '===', assert.strictEqual); + } +}; // 10. The strict non-equality assertion tests for strict inequality, as +// determined by !==. assert.notStrictEqual(actual, expected, message_opt); + + +assert.notStrictEqual = function notStrictEqual(actual, expected, message) { + if (actual === expected) { + fail(actual, expected, message, '!==', assert.notStrictEqual); + } +}; + +function expectedException(actual, expected) { + if (!actual || !expected) { + return false; + } + + if (Object.prototype.toString.call(expected) == '[object RegExp]') { + return expected.test(actual); + } + + try { + if (actual instanceof expected) { + return true; + } + } catch (e) {// Ignore. The instanceof check doesn't work for arrow functions. + } + + if (Error.isPrototypeOf(expected)) { + return false; + } + + return expected.call({}, actual) === true; +} + +function _tryBlock(block) { + var error; + + try { + block(); + } catch (e) { + error = e; + } + + return error; +} + +function _throws(shouldThrow, block, expected, message) { + var actual; + + if (typeof block !== 'function') { + throw new TypeError('"block" argument must be a function'); + } + + if (typeof expected === 'string') { + message = expected; + expected = null; + } + + actual = _tryBlock(block); + message = (expected && expected.name ? ' (' + expected.name + ').' : '.') + (message ? ' ' + message : '.'); + + if (shouldThrow && !actual) { + fail(actual, expected, 'Missing expected exception' + message); + } + + var userProvidedMessage = typeof message === 'string'; + var isUnwantedException = !shouldThrow && util.isError(actual); + var isUnexpectedException = !shouldThrow && actual && !expected; + + if (isUnwantedException && userProvidedMessage && expectedException(actual, expected) || isUnexpectedException) { + fail(actual, expected, 'Got unwanted exception' + message); + } + + if (shouldThrow && actual && expected && !expectedException(actual, expected) || !shouldThrow && actual) { + throw actual; + } +} // 11. Expected to throw an error: +// assert.throws(block, Error_opt, message_opt); + + +assert.throws = function (block, +/*optional*/ +error, +/*optional*/ +message) { + _throws(true, block, error, message); +}; // EXTENSION! This is annoying to write outside this module. + + +assert.doesNotThrow = function (block, +/*optional*/ +error, +/*optional*/ +message) { + _throws(false, block, error, message); +}; + +assert.ifError = function (err) { + if (err) throw err; +}; // Expose a strict only variant of assert + + +function strict(value, message) { + if (!value) fail(value, true, message, '==', strict); +} + +assert.strict = objectAssign(strict, assert, { + equal: assert.strictEqual, + deepEqual: assert.deepStrictEqual, + notEqual: assert.notStrictEqual, + notDeepEqual: assert.notDeepStrictEqual +}); +assert.strict.strict = assert.strict; + +var objectKeys = Object.keys || function (obj) { + var keys = []; + + for (var key in obj) { + if (hasOwn.call(obj, key)) keys.push(key); + } + + return keys; +}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"object-assign":1051,"util/":281}],279:[function(require,module,exports){ +"use strict"; + +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor; + + var TempCtor = function TempCtor() {}; + + TempCtor.prototype = superCtor.prototype; + ctor.prototype = new TempCtor(); + ctor.prototype.constructor = ctor; + }; +} + +},{}],280:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +module.exports = function isBuffer(arg) { + return arg && _typeof(arg) === 'object' && typeof arg.copy === 'function' && typeof arg.fill === 'function' && typeof arg.readUInt8 === 'function'; +}; + +},{}],281:[function(require,module,exports){ +(function (process,global){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. +var formatRegExp = /%[sdj%]/g; + +exports.format = function (f) { + if (!isString(f)) { + var objects = []; + + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function (x) { + if (x === '%%') return '%'; + if (i >= len) return x; + + switch (x) { + case '%s': + return String(args[i++]); + + case '%d': + return Number(args[i++]); + + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + + default: + return x; + } + }); + + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + + return str; +}; // Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. + + +exports.deprecate = function (fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function () { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + + warned = true; + } + + return fn.apply(this, arguments); + } + + return deprecated; +}; + +var debugs = {}; +var debugEnviron; + +exports.debuglog = function (set) { + if (isUndefined(debugEnviron)) debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + + debugs[set] = function () { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function () {}; + } + } + + return debugs[set]; +}; +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ + +/* legacy: obj, showHidden, depth, colors*/ + + +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; // legacy... + + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } // set default options + + + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} + +exports.inspect = inspect; // http://en.wikipedia.org/wiki/ANSI_escape_code#graphics + +inspect.colors = { + 'bold': [1, 22], + 'italic': [3, 23], + 'underline': [4, 24], + 'inverse': [7, 27], + 'white': [37, 39], + 'grey': [90, 39], + 'black': [30, 39], + 'blue': [34, 39], + 'cyan': [36, 39], + 'green': [32, 39], + 'magenta': [35, 39], + 'red': [31, 39], + 'yellow': [33, 39] +}; // Don't use 'blue' not visible on cmd.exe + +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return "\x1B[" + inspect.colors[style][0] + 'm' + str + "\x1B[" + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + +function stylizeNoColor(str, styleType) { + return str; +} + +function arrayToHash(array) { + var hash = {}; + array.forEach(function (val, idx) { + hash[val] = true; + }); + return hash; +} + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && value && isFunction(value.inspect) && // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + + return ret; + } // Primitive types cannot have properties + + + var primitive = formatPrimitive(ctx, value); + + if (primitive) { + return primitive; + } // Look up the keys of the object. + + + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + + + if (isError(value) && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } // Some type of object without properties can be shortcutted. + + + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + + if (isError(value)) { + return formatError(value); + } + } + + var base = '', + array = false, + braces = ['{', '}']; // Make Array say that they are Array + + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } // Make functions say that they are functions + + + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } // Make RegExps say that they are RegExps + + + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } // Make dates with properties first say the date + + + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } // Make error with message first say the error + + + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + var output; + + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function (key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + return reduceToSingleString(output, base, braces); +} + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) return ctx.stylize('undefined', 'undefined'); + + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '').replace(/'/g, "\\'").replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + + if (isNumber(value)) return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) return ctx.stylize('' + value, 'boolean'); // For some reason typeof null is "object", so special case here. + + if (isNull(value)) return ctx.stylize('null', 'null'); +} + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true)); + } else { + output.push(''); + } + } + + keys.forEach(function (key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, key, true)); + } + }); + return output; +} + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { + value: value[key] + }; + + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function (line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function (line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + + name = JSON.stringify('' + key); + + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function (prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + (base === '' ? '' : base + '\n ') + ' ' + output.join(',\n ') + ' ' + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} // NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. + + +function isArray(ar) { + return Array.isArray(ar); +} + +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} + +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} + +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} + +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} + +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} + +exports.isString = isString; + +function isSymbol(arg) { + return _typeof(arg) === 'symbol'; +} + +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} + +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} + +exports.isRegExp = isRegExp; + +function isObject(arg) { + return _typeof(arg) === 'object' && arg !== null; +} + +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} + +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && (objectToString(e) === '[object Error]' || e instanceof Error); +} + +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} + +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || typeof arg === 'boolean' || typeof arg === 'number' || typeof arg === 'string' || _typeof(arg) === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} + +exports.isPrimitive = isPrimitive; +exports.isBuffer = require('./support/isBuffer'); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; // 26 Feb 16:19:34 + +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), pad(d.getMinutes()), pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} // log is just a thin wrapper to console.log that prepends a timestamp + + +exports.log = function () { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ + + +exports.inherits = require('inherits'); + +exports._extend = function (origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + var keys = Object.keys(add); + var i = keys.length; + + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./support/isBuffer":280,"_process":1054,"inherits":279}],282:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getImportSource = getImportSource; +exports.createDynamicImportTransform = createDynamicImportTransform; + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function getImportSource(t, callNode) { + var importArguments = callNode.arguments; + + var _importArguments = _slicedToArray(importArguments, 1), + importPath = _importArguments[0]; + + var isString = t.isStringLiteral(importPath) || t.isTemplateLiteral(importPath); + + if (isString) { + t.removeComments(importPath); + return importPath; + } + + return t.templateLiteral([t.templateElement({ + raw: '', + cooked: '' + }), t.templateElement({ + raw: '', + cooked: '' + }, true)], importArguments); +} + +function createDynamicImportTransform(_ref) { + var template = _ref.template, + t = _ref.types; + var buildImport = template('Promise.resolve().then(() => MODULE)'); + return function (context, path) { + var requireCall = t.callExpression(t.identifier('require'), [getImportSource(t, path.parent)]); + var _context$opts$noInter = context.opts.noInterop, + noInterop = _context$opts$noInter === undefined ? false : _context$opts$noInter; + var MODULE = noInterop === true ? requireCall : t.callExpression(context.addHelper('interopRequireWildcard'), [requireCall]); + var newImport = buildImport({ + MODULE: MODULE + }); + path.parentPath.replaceWith(newImport); + }; +} + +},{}],283:[function(require,module,exports){ +"use strict"; + +// Re-export lib/utils, so that consumers can import +// babel-plugin-dynamic-import-node/utils instead of +// babel-plugin-dynamic-import-node/lib/utils +// eslint-disable-next-line import/no-unresolved +module.exports = require('./lib/utils'); + +},{"./lib/utils":282}],284:[function(require,module,exports){ +'use strict'; + +exports.byteLength = byteLength; +exports.toByteArray = toByteArray; +exports.fromByteArray = fromByteArray; +var lookup = []; +var revLookup = []; +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array; +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i]; + revLookup[code.charCodeAt(i)] = i; +} // Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications + + +revLookup['-'.charCodeAt(0)] = 62; +revLookup['_'.charCodeAt(0)] = 63; + +function getLens(b64) { + var len = b64.length; + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4'); + } // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + + + var validLen = b64.indexOf('='); + if (validLen === -1) validLen = len; + var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4; + return [validLen, placeHoldersLen]; +} // base64 is 4/3 + up to two characters of the original data + + +function byteLength(b64) { + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; +} + +function _byteLength(b64, validLen, placeHoldersLen) { + return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen; +} + +function toByteArray(b64) { + var tmp; + var lens = getLens(b64); + var validLen = lens[0]; + var placeHoldersLen = lens[1]; + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)); + var curByte = 0; // if there are placeholders, only get up to the last complete 4 chars + + var len = placeHoldersLen > 0 ? validLen - 4 : validLen; + var i; + + for (i = 0; i < len; i += 4) { + tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)]; + arr[curByte++] = tmp >> 16 & 0xFF; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 2) { + tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4; + arr[curByte++] = tmp & 0xFF; + } + + if (placeHoldersLen === 1) { + tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2; + arr[curByte++] = tmp >> 8 & 0xFF; + arr[curByte++] = tmp & 0xFF; + } + + return arr; +} + +function tripletToBase64(num) { + return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]; +} + +function encodeChunk(uint8, start, end) { + var tmp; + var output = []; + + for (var i = start; i < end; i += 3) { + tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF); + output.push(tripletToBase64(tmp)); + } + + return output.join(''); +} + +function fromByteArray(uint8) { + var tmp; + var len = uint8.length; + var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes + + var parts = []; + var maxChunkLength = 16383; // must be multiple of 3 + // go through the array every three bytes, we'll deal with trailing stuff later + + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength)); + } // pad the end with zeros, but make sure to not forget the extra bytes + + + if (extraBytes === 1) { + tmp = uint8[len - 1]; + parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '=='); + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1]; + parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '='); + } + + return parts.join(''); +} + +},{}],285:[function(require,module,exports){ +"use strict"; + +},{}],286:[function(require,module,exports){ +"use strict"; + +var BrowserslistError = require('./error'); + +function noop() {} + +module.exports = { + loadQueries: function loadQueries() { + throw new BrowserslistError('Sharable configs are not supported in client-side build of Browserslist'); + }, + getStat: function getStat(opts) { + return opts.stats; + }, + loadConfig: function loadConfig(opts) { + if (opts.config) { + throw new BrowserslistError('Browserslist config are not supported in client-side build'); + } + }, + loadCountry: function loadCountry() { + throw new BrowserslistError('Country statistics is not supported ' + 'in client-side build of Browserslist'); + }, + currentNode: function currentNode(resolve, context) { + return resolve(['maintained node versions'], context)[0]; + }, + parseConfig: noop, + readConfig: noop, + findConfig: noop, + clearCaches: noop, + oldDataWarning: noop +}; + +},{"./error":287}],287:[function(require,module,exports){ +"use strict"; + +function BrowserslistError(message) { + this.name = 'BrowserslistError'; + this.message = message; + this.browserslist = true; + + if (Error.captureStackTrace) { + Error.captureStackTrace(this, BrowserslistError); + } +} + +BrowserslistError.prototype = Error.prototype; +module.exports = BrowserslistError; + +},{}],288:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var jsReleases = require('node-releases/data/processed/envs.json'); + +var agents = require('caniuse-lite/dist/unpacker/agents').agents; + +var jsEOL = require('node-releases/data/release-schedule/release-schedule.json'); + +var path = require('path'); + +var e2c = require('electron-to-chromium/versions'); + +var BrowserslistError = require('./error'); + +var env = require('./node'); // Will load browser.js in webpack + + +var FLOAT_RANGE = /^\d+(\.\d+)?(-\d+(\.\d+)?)*$/; +var YEAR = 365.259641 * 24 * 60 * 60 * 1000; +var QUERY_OR = 1; +var QUERY_AND = 2; + +function isVersionsMatch(versionA, versionB) { + return (versionA + '.').indexOf(versionB + '.') === 0; +} + +function isEolReleased(name) { + var version = name.slice(1); + return jsReleases.some(function (i) { + return isVersionsMatch(i.version, version); + }); +} + +function normalize(versions) { + return versions.filter(function (version) { + return typeof version === 'string'; + }); +} + +function normalizeElectron(version) { + var versionToUse = version; + + if (version.split('.').length === 3) { + versionToUse = version.split('.').slice(0, -1).join('.'); + } + + return versionToUse; +} + +function nameMapper(name) { + return function mapName(version) { + return name + ' ' + version; + }; +} + +function getMajor(version) { + return parseInt(version.split('.')[0]); +} + +function getMajorVersions(released, number) { + if (released.length === 0) return []; + var minimum = getMajor(released[released.length - 1]) - parseInt(number) + 1; + var selected = []; + + for (var i = released.length - 1; i >= 0; i--) { + if (minimum > getMajor(released[i])) break; + selected.unshift(released[i]); + } + + return selected; +} + +function uniq(array) { + var filtered = []; + + for (var i = 0; i < array.length; i++) { + if (filtered.indexOf(array[i]) === -1) filtered.push(array[i]); + } + + return filtered; +} // Helpers + + +function fillUsage(result, name, data) { + for (var i in data) { + result[name + ' ' + i] = data[i]; + } +} + +function generateFilter(sign, version) { + version = parseFloat(version); + + if (sign === '>') { + return function (v) { + return parseFloat(v) > version; + }; + } else if (sign === '>=') { + return function (v) { + return parseFloat(v) >= version; + }; + } else if (sign === '<') { + return function (v) { + return parseFloat(v) < version; + }; + } else { + return function (v) { + return parseFloat(v) <= version; + }; + } +} + +function generateSemverFilter(sign, version) { + version = version.split('.').map(parseSimpleInt); + version[1] = version[1] || 0; + version[2] = version[2] || 0; + + if (sign === '>') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(v, version) > 0; + }; + } else if (sign === '>=') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(v, version) >= 0; + }; + } else if (sign === '<') { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(version, v) > 0; + }; + } else { + return function (v) { + v = v.split('.').map(parseSimpleInt); + return compareSemver(version, v) >= 0; + }; + } +} + +function parseSimpleInt(x) { + return parseInt(x); +} + +function compare(a, b) { + if (a < b) return -1; + if (a > b) return +1; + return 0; +} + +function compareSemver(a, b) { + return compare(a[0], b[0]) || compare(a[1], b[1]) || compare(a[2], b[2]); +} + +function resolveVersion(data, version) { + if (data.versions.indexOf(version) !== -1) { + return version; + } else if (browserslist.versionAliases[data.name][version]) { + return browserslist.versionAliases[data.name][version]; + } else { + return false; + } +} + +function normalizeVersion(data, version, context) { + var resolved = resolveVersion(data, version); + + if (!resolved && context.mobileToDesktop && browserslist.desktopNames[data.name]) { + var alias = checkName(browserslist.desktopNames[data.name]); + resolved = resolveVersion(alias, version); + } + + if (resolved) { + return resolved; + } else if (data.versions.length === 1) { + return data.versions[0]; + } else { + return false; + } +} + +function filterByYear(since) { + since = since / 1000; + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name); + if (!data) return selected; + var versions = Object.keys(data.releaseDate).filter(function (v) { + return data.releaseDate[v] >= since; + }); + return selected.concat(versions.map(nameMapper(data.name))); + }, []); +} + +function byName(name) { + name = name.toLowerCase(); + name = browserslist.aliases[name] || name; + return browserslist.data[name]; +} + +function checkName(name) { + var data = byName(name); + if (!data) throw new BrowserslistError('Unknown browser ' + name); + return data; +} + +function unknownQuery(query) { + return new BrowserslistError('Unknown browser query `' + query + '`. ' + 'Maybe you are using old Browserslist or made typo in query.'); +} + +function filterAndroid(list, versions) { + var released = browserslist.data.android.released; + var firstEvergreen = 37; + var last = released[released.length - 1]; + var diff = last - firstEvergreen - versions; // First Android Evergreen + + if (diff > 0) { + return list.slice(-1); + } else { + return list.slice(diff - 1); + } +} +/** + * Resolves queries into a browser list. + * @param {string|string[]} queries Queries to combine. + * Either an array of queries or a long string of queries. + * @param {object} [context] Optional arguments to + * the select function in `queries`. + * @returns {string[]} A list of browsers + */ + + +function resolve(queries, context) { + if (Array.isArray(queries)) { + queries = flatten(queries.map(parse)); + } else { + queries = parse(queries); + } + + return queries.reduce(function (result, query, index) { + var selection = query.queryString; + var isExclude = selection.indexOf('not ') === 0; + + if (isExclude) { + if (index === 0) { + throw new BrowserslistError('Write any browsers query (for instance, `defaults`) ' + 'before `' + selection + '`'); + } + + selection = selection.slice(4); + } + + for (var i = 0; i < QUERIES.length; i++) { + var type = QUERIES[i]; + var match = selection.match(type.regexp); + + if (match) { + var args = [context].concat(match.slice(1)); + var array = type.select.apply(browserslist, args).map(function (j) { + var parts = j.split(' '); + + if (parts[1] === '0') { + return parts[0] + ' ' + byName(parts[0]).versions[0]; + } else { + return j; + } + }); + + switch (query.type) { + case QUERY_AND: + if (isExclude) { + return result.filter(function (j) { + return array.indexOf(j) === -1; + }); + } else { + return result.filter(function (j) { + return array.indexOf(j) !== -1; + }); + } + + case QUERY_OR: + default: + if (isExclude) { + var filter = {}; + array.forEach(function (j) { + filter[j] = true; + }); + return result.filter(function (j) { + return !filter[j]; + }); + } + + return result.concat(array); + } + } + } + + throw unknownQuery(selection); + }, []); +} + +var cache = {}; +/** + * Return array of browsers by selection queries. + * + * @param {(string|string[])} [queries=browserslist.defaults] Browser queries. + * @param {object} [opts] Options. + * @param {string} [opts.path="."] Path to processed file. + * It will be used to find config files. + * @param {string} [opts.env="production"] Processing environment. + * It will be used to take right + * queries from config file. + * @param {string} [opts.config] Path to config file with queries. + * @param {object} [opts.stats] Custom browser usage statistics + * for "> 1% in my stats" query. + * @param {boolean} [opts.ignoreUnknownVersions=false] Do not throw on unknown + * version in direct query. + * @param {boolean} [opts.dangerousExtend] Disable security checks + * for extend query. + * @param {boolean} [opts.mobileToDesktop] Alias mobile browsers to the desktop + * version when Can I Use doesn't have + * data about the specified version. + * @returns {string[]} Array with browser names in Can I Use. + * + * @example + * browserslist('IE >= 10, IE 8') //=> ['ie 11', 'ie 10', 'ie 8'] + */ + +function browserslist(queries, opts) { + if (typeof opts === 'undefined') opts = {}; + + if (typeof opts.path === 'undefined') { + opts.path = path.resolve ? path.resolve('.') : '.'; + } + + if (typeof queries === 'undefined' || queries === null) { + var config = browserslist.loadConfig(opts); + + if (config) { + queries = config; + } else { + queries = browserslist.defaults; + } + } + + if (!(typeof queries === 'string' || Array.isArray(queries))) { + throw new BrowserslistError('Browser queries must be an array or string. Got ' + _typeof(queries) + '.'); + } + + var context = { + ignoreUnknownVersions: opts.ignoreUnknownVersions, + dangerousExtend: opts.dangerousExtend, + mobileToDesktop: opts.mobileToDesktop + }; + env.oldDataWarning(browserslist.data); + var stats = env.getStat(opts, browserslist.data); + + if (stats) { + context.customUsage = {}; + + for (var browser in stats) { + fillUsage(context.customUsage, browser, stats[browser]); + } + } + + var cacheKey = JSON.stringify([queries, context]); + if (cache[cacheKey]) return cache[cacheKey]; + var result = uniq(resolve(queries, context)).sort(function (name1, name2) { + name1 = name1.split(' '); + name2 = name2.split(' '); + + if (name1[0] === name2[0]) { + if (FLOAT_RANGE.test(name1[1]) && FLOAT_RANGE.test(name2[1])) { + return parseFloat(name2[1]) - parseFloat(name1[1]); + } else { + return compare(name2[1], name1[1]); + } + } else { + return compare(name1[0], name2[0]); + } + }); + + if (!process.env.BROWSERSLIST_DISABLE_CACHE) { + cache[cacheKey] = result; + } + + return result; +} + +function parse(queries) { + var qs = []; + + do { + queries = doMatch(queries, qs); + } while (queries); + + return qs; +} + +function doMatch(string, qs) { + var or = /^(?:,\s*|\s+OR\s+)(.*)/i; + var and = /^\s+AND\s+(.*)/i; + return find(string, function (parsed, n, max) { + if (and.test(parsed)) { + qs.unshift({ + type: QUERY_AND, + queryString: parsed.match(and)[1] + }); + return true; + } else if (or.test(parsed)) { + qs.unshift({ + type: QUERY_OR, + queryString: parsed.match(or)[1] + }); + return true; + } else if (n === max) { + qs.unshift({ + type: QUERY_OR, + queryString: parsed.trim() + }); + return true; + } + + return false; + }); +} + +function find(string, predicate) { + for (var n = 1, max = string.length; n <= max; n++) { + var parsed = string.substr(-n, n); + + if (predicate(parsed, n, max)) { + return string.slice(0, -n); + } + } + + return ''; +} + +function flatten(array) { + if (!Array.isArray(array)) return [array]; + return array.reduce(function (a, b) { + return a.concat(flatten(b)); + }, []); +} // Will be filled by Can I Use data below + + +browserslist.data = {}; +browserslist.usage = { + global: {}, + custom: null +}; // Default browsers query + +browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']; // Browser names aliases + +browserslist.aliases = { + fx: 'firefox', + ff: 'firefox', + ios: 'ios_saf', + explorer: 'ie', + blackberry: 'bb', + explorermobile: 'ie_mob', + operamini: 'op_mini', + operamobile: 'op_mob', + chromeandroid: 'and_chr', + firefoxandroid: 'and_ff', + ucandroid: 'and_uc', + qqandroid: 'and_qq' +}; // Can I Use only provides a few versions for some browsers (e.g. and_chr). +// Fallback to a similar browser for unknown versions + +browserslist.desktopNames = { + and_chr: 'chrome', + and_ff: 'firefox', + ie_mob: 'ie', + op_mob: 'opera' +}; // Aliases to work with joined versions like `ios_saf 7.0-7.1` + +browserslist.versionAliases = {}; +browserslist.clearCaches = env.clearCaches; +browserslist.parseConfig = env.parseConfig; +browserslist.readConfig = env.readConfig; +browserslist.findConfig = env.findConfig; +browserslist.loadConfig = env.loadConfig; +/** + * Return browsers market coverage. + * + * @param {string[]} browsers Browsers names in Can I Use. + * @param {string|object} [stats="global"] Which statistics should be used. + * Country code or custom statistics. + * Pass `"my stats"` to load statistics + * from Browserslist files. + * + * @return {number} Total market coverage for all selected browsers. + * + * @example + * browserslist.coverage(browserslist('> 1% in US'), 'US') //=> 83.1 + */ + +browserslist.coverage = function (browsers, stats) { + var data; + + if (typeof stats === 'undefined') { + data = browserslist.usage.global; + } else if (stats === 'my stats') { + var opts = {}; + opts.path = path.resolve ? path.resolve('.') : '.'; + var customStats = env.getStat(opts); + + if (!customStats) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + data = {}; + + for (var browser in customStats) { + fillUsage(data, browser, customStats[browser]); + } + } else if (typeof stats === 'string') { + if (stats.length > 2) { + stats = stats.toLowerCase(); + } else { + stats = stats.toUpperCase(); + } + + env.loadCountry(browserslist.usage, stats); + data = browserslist.usage[stats]; + } else { + if ('dataByBrowser' in stats) { + stats = stats.dataByBrowser; + } + + data = {}; + + for (var name in stats) { + for (var version in stats[name]) { + data[name + ' ' + version] = stats[name][version]; + } + } + } + + return browsers.reduce(function (all, i) { + var usage = data[i]; + + if (usage === undefined) { + usage = data[i.replace(/ \S+$/, ' 0')]; + } + + return all + (usage || 0); + }, 0); +}; + +var QUERIES = [{ + regexp: /^last\s+(\d+)\s+major\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name); + if (!data) return selected; + var list = getMajorVersions(data.released, versions); + list = list.map(nameMapper(data.name)); + if (data.name === 'android') list = filterAndroid(list, versions); + return selected.concat(list); + }, []); + } +}, { + regexp: /^last\s+(\d+)\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name); + if (!data) return selected; + var list = data.released.slice(-versions); + list = list.map(nameMapper(data.name)); + if (data.name === 'android') list = filterAndroid(list, versions); + return selected.concat(list); + }, []); + } +}, { + regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i, + select: function select(context, versions) { + var validVersions = getMajorVersions(Object.keys(e2c).reverse(), versions); + return validVersions.map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i, + select: function select(context, versions, name) { + var data = checkName(name); + var validVersions = getMajorVersions(data.released, versions); + var list = validVersions.map(nameMapper(data.name)); + if (data.name === 'android') list = filterAndroid(list, versions); + return list; + } +}, { + regexp: /^last\s+(\d+)\s+electron\s+versions?$/i, + select: function select(context, versions) { + return Object.keys(e2c).reverse().slice(-versions).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i, + select: function select(context, versions, name) { + var data = checkName(name); + var list = data.released.slice(-versions).map(nameMapper(data.name)); + if (data.name === 'android') list = filterAndroid(list, versions); + return list; + } +}, { + regexp: /^unreleased\s+versions$/i, + select: function select() { + return Object.keys(agents).reduce(function (selected, name) { + var data = byName(name); + if (!data) return selected; + var list = data.versions.filter(function (v) { + return data.released.indexOf(v) === -1; + }); + list = list.map(nameMapper(data.name)); + return selected.concat(list); + }, []); + } +}, { + regexp: /^unreleased\s+electron\s+versions?$/i, + select: function select() { + return []; + } +}, { + regexp: /^unreleased\s+(\w+)\s+versions?$/i, + select: function select(context, name) { + var data = checkName(name); + return data.versions.filter(function (v) { + return data.released.indexOf(v) === -1; + }).map(nameMapper(data.name)); + } +}, { + regexp: /^last\s+(\d*.?\d+)\s+years?$/i, + select: function select(context, years) { + return filterByYear(Date.now() - YEAR * years); + } +}, { + regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i, + select: function select(context, year, month, date) { + year = parseInt(year); + month = parseInt(month || '01') - 1; + date = parseInt(date || '01'); + return filterByYear(Date.UTC(year, month, date, 0, 0, 0)); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%$/, + select: function select(context, sign, popularity) { + popularity = parseFloat(popularity); + var usage = browserslist.usage.global; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+my\s+stats$/, + select: function select(context, sign, popularity) { + popularity = parseFloat(popularity); + + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + var usage = context.customUsage; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^(>=?|<=?)\s*(\d*\.?\d+)%\s+in\s+((alt-)?\w\w)$/, + select: function select(context, sign, popularity, place) { + popularity = parseFloat(popularity); + + if (place.length === 2) { + place = place.toUpperCase(); + } else { + place = place.toLowerCase(); + } + + env.loadCountry(browserslist.usage, place); + var usage = browserslist.usage[place]; + return Object.keys(usage).reduce(function (result, version) { + if (sign === '>') { + if (usage[version] > popularity) { + result.push(version); + } + } else if (sign === '<') { + if (usage[version] < popularity) { + result.push(version); + } + } else if (sign === '<=') { + if (usage[version] <= popularity) { + result.push(version); + } + } else if (usage[version] >= popularity) { + result.push(version); + } + + return result; + }, []); + } +}, { + regexp: /^cover\s+(\d*\.?\d+)%(\s+in\s+(my\s+stats|(alt-)?\w\w))?$/, + select: function select(context, coverage, statMode) { + coverage = parseFloat(coverage); + var usage = browserslist.usage.global; + + if (statMode) { + if (statMode.match(/^\s+in\s+my\s+stats$/)) { + if (!context.customUsage) { + throw new BrowserslistError('Custom usage statistics was not provided'); + } + + usage = context.customUsage; + } else { + var match = statMode.match(/\s+in\s+((alt-)?\w\w)/); + var place = match[1]; + + if (place.length === 2) { + place = place.toUpperCase(); + } else { + place = place.toLowerCase(); + } + + env.loadCountry(browserslist.usage, place); + usage = browserslist.usage[place]; + } + } + + var versions = Object.keys(usage).sort(function (a, b) { + return usage[b] - usage[a]; + }); + var coveraged = 0; + var result = []; + var version; + + for (var i = 0; i <= versions.length; i++) { + version = versions[i]; + if (usage[version] === 0) break; + coveraged += usage[version]; + result.push(version); + if (coveraged >= coverage) break; + } + + return result; + } +}, { + regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function select(context, from, to) { + var fromToUse = normalizeElectron(from); + var toToUse = normalizeElectron(to); + + if (!e2c[fromToUse]) { + throw new BrowserslistError('Unknown version ' + from + ' of electron'); + } + + if (!e2c[toToUse]) { + throw new BrowserslistError('Unknown version ' + to + ' of electron'); + } + + from = parseFloat(from); + to = parseFloat(to); + return Object.keys(e2c).filter(function (i) { + var parsed = parseFloat(i); + return parsed >= from && parsed <= to; + }).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i, + select: function select(context, name, from, to) { + var data = checkName(name); + from = parseFloat(normalizeVersion(data, from, context) || from); + to = parseFloat(normalizeVersion(data, to, context) || to); + + function filter(v) { + var parsed = parseFloat(v); + return parsed >= from && parsed <= to; + } + + return data.released.filter(filter).map(nameMapper(data.name)); + } +}, { + regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function select(context, sign, version) { + var versionToUse = normalizeElectron(version); + return Object.keys(e2c).filter(generateFilter(sign, versionToUse)).map(function (i) { + return 'chrome ' + e2c[i]; + }); + } +}, { + regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i, + select: function select(context, sign, version) { + var nodeVersions = jsReleases.filter(function (i) { + return i.name === 'nodejs'; + }).map(function (i) { + return i.version; + }); + return nodeVersions.filter(generateSemverFilter(sign, version)).map(function (v) { + return 'node ' + v; + }); + } +}, { + regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/, + select: function select(context, name, sign, version) { + var data = checkName(name); + var alias = browserslist.versionAliases[data.name][version]; + + if (alias) { + version = alias; + } + + return data.released.filter(generateFilter(sign, version)).map(function (v) { + return data.name + ' ' + v; + }); + } +}, { + regexp: /^(firefox|ff|fx)\s+esr$/i, + select: function select() { + return ['firefox 68']; + } +}, { + regexp: /(operamini|op_mini)\s+all/i, + select: function select() { + return ['op_mini all']; + } +}, { + regexp: /^electron\s+([\d.]+)$/i, + select: function select(context, version) { + var versionToUse = normalizeElectron(version); + var chrome = e2c[versionToUse]; + + if (!chrome) { + throw new BrowserslistError('Unknown version ' + version + ' of electron'); + } + + return ['chrome ' + chrome]; + } +}, { + regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i, + select: function select(context, version) { + var nodeReleases = jsReleases.filter(function (i) { + return i.name === 'nodejs'; + }); + var matched = nodeReleases.filter(function (i) { + return isVersionsMatch(i.version, version); + }); + + if (matched.length === 0) { + if (context.ignoreUnknownVersions) { + return []; + } else { + throw new BrowserslistError('Unknown version ' + version + ' of Node.js'); + } + } + + return ['node ' + matched[matched.length - 1].version]; + } +}, { + regexp: /^current\s+node$/i, + select: function select(context) { + return [env.currentNode(resolve, context)]; + } +}, { + regexp: /^maintained\s+node\s+versions$/i, + select: function select(context) { + var now = Date.now(); + var queries = Object.keys(jsEOL).filter(function (key) { + return now < Date.parse(jsEOL[key].end) && now > Date.parse(jsEOL[key].start) && isEolReleased(key); + }).map(function (key) { + return 'node ' + key.slice(1); + }); + return resolve(queries, context); + } +}, { + regexp: /^phantomjs\s+1.9$/i, + select: function select() { + return ['safari 5']; + } +}, { + regexp: /^phantomjs\s+2.1$/i, + select: function select() { + return ['safari 6']; + } +}, { + regexp: /^(\w+)\s+(tp|[\d.]+)$/i, + select: function select(context, name, version) { + if (/^tp$/i.test(version)) version = 'TP'; + var data = checkName(name); + var alias = normalizeVersion(data, version, context); + + if (alias) { + version = alias; + } else { + if (version.indexOf('.') === -1) { + alias = version + '.0'; + } else { + alias = version.replace(/\.0$/, ''); + } + + alias = normalizeVersion(data, alias, context); + + if (alias) { + version = alias; + } else if (context.ignoreUnknownVersions) { + return []; + } else { + throw new BrowserslistError('Unknown version ' + version + ' of ' + name); + } + } + + return [data.name + ' ' + version]; + } +}, { + regexp: /^extends (.+)$/i, + select: function select(context, name) { + return resolve(env.loadQueries(context, name), context); + } +}, { + regexp: /^defaults$/i, + select: function select() { + return browserslist(browserslist.defaults); + } +}, { + regexp: /^dead$/i, + select: function select(context) { + var dead = ['ie <= 10', 'ie_mob <= 10', 'bb <= 10', 'op_mob <= 12.1', 'samsung 4']; + return resolve(dead, context); + } +}, { + regexp: /^(\w+)$/i, + select: function select(context, name) { + if (byName(name)) { + throw new BrowserslistError('Specify versions in Browserslist query for browser ' + name); + } else { + throw unknownQuery(name); + } + } +}]; // Get and convert Can I Use data + +(function () { + for (var name in agents) { + var browser = agents[name]; + browserslist.data[name] = { + name: name, + versions: normalize(agents[name].versions), + released: normalize(agents[name].versions.slice(0, -3)), + releaseDate: agents[name].release_date + }; + fillUsage(browserslist.usage.global, name, browser.usage_global); + browserslist.versionAliases[name] = {}; + + for (var i = 0; i < browser.versions.length; i++) { + var full = browser.versions[i]; + if (!full) continue; + + if (full.indexOf('-') !== -1) { + var interval = full.split('-'); + + for (var j = 0; j < interval.length; j++) { + browserslist.versionAliases[name][interval[j]] = full; + } + } + } + } +})(); + +module.exports = browserslist; + +}).call(this,require('_process')) +},{"./error":287,"./node":286,"_process":1054,"caniuse-lite/dist/unpacker/agents":293,"electron-to-chromium/versions":831,"node-releases/data/processed/envs.json":1049,"node-releases/data/release-schedule/release-schedule.json":1050,"path":285}],289:[function(require,module,exports){ +(function (Buffer){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +/* eslint-disable no-proto */ +'use strict'; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var base64 = require('base64-js'); + +var ieee754 = require('ieee754'); + +var customInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : null; +exports.Buffer = Buffer; +exports.SlowBuffer = SlowBuffer; +exports.INSPECT_MAX_BYTES = 50; +var K_MAX_LENGTH = 0x7fffffff; +exports.kMaxLength = K_MAX_LENGTH; +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Print warning and recommend using `buffer` v4.x which has an Object + * implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * We report that the browser does not support typed arrays if the are not subclassable + * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array` + * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support + * for __proto__ and has a buggy typed array implementation. + */ + +Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport(); + +if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' && typeof console.error === 'function') { + console.error('This browser lacks typed array (Uint8Array) support which is required by ' + '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'); +} + +function typedArraySupport() { + // Can typed array instances can be augmented? + try { + var arr = new Uint8Array(1); + var proto = { + foo: function foo() { + return 42; + } + }; + Object.setPrototypeOf(proto, Uint8Array.prototype); + Object.setPrototypeOf(arr, proto); + return arr.foo() === 42; + } catch (e) { + return false; + } +} + +Object.defineProperty(Buffer.prototype, 'parent', { + enumerable: true, + get: function get() { + if (!Buffer.isBuffer(this)) return undefined; + return this.buffer; + } +}); +Object.defineProperty(Buffer.prototype, 'offset', { + enumerable: true, + get: function get() { + if (!Buffer.isBuffer(this)) return undefined; + return this.byteOffset; + } +}); + +function createBuffer(length) { + if (length > K_MAX_LENGTH) { + throw new RangeError('The value "' + length + '" is invalid for option "size"'); + } // Return an augmented `Uint8Array` instance + + + var buf = new Uint8Array(length); + Object.setPrototypeOf(buf, Buffer.prototype); + return buf; +} +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + + +function Buffer(arg, encodingOrOffset, length) { + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new TypeError('The "string" argument must be of type string. Received type number'); + } + + return allocUnsafe(arg); + } + + return from(arg, encodingOrOffset, length); +} // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + + +if (typeof Symbol !== 'undefined' && Symbol.species != null && Buffer[Symbol.species] === Buffer) { + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true, + enumerable: false, + writable: false + }); +} + +Buffer.poolSize = 8192; // not used by this implementation + +function from(value, encodingOrOffset, length) { + if (typeof value === 'string') { + return fromString(value, encodingOrOffset); + } + + if (ArrayBuffer.isView(value)) { + return fromArrayLike(value); + } + + if (value == null) { + throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + _typeof(value)); + } + + if (isInstance(value, ArrayBuffer) || value && isInstance(value.buffer, ArrayBuffer)) { + return fromArrayBuffer(value, encodingOrOffset, length); + } + + if (typeof value === 'number') { + throw new TypeError('The "value" argument must not be of type number. Received type number'); + } + + var valueOf = value.valueOf && value.valueOf(); + + if (valueOf != null && valueOf !== value) { + return Buffer.from(valueOf, encodingOrOffset, length); + } + + var b = fromObject(value); + if (b) return b; + + if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === 'function') { + return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length); + } + + throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' + 'or Array-like Object. Received type ' + _typeof(value)); +} +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ + + +Buffer.from = function (value, encodingOrOffset, length) { + return from(value, encodingOrOffset, length); +}; // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug: +// https://github.com/feross/buffer/pull/148 + + +Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype); +Object.setPrototypeOf(Buffer, Uint8Array); + +function assertSize(size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be of type number'); + } else if (size < 0) { + throw new RangeError('The value "' + size + '" is invalid for option "size"'); + } +} + +function alloc(size, fill, encoding) { + assertSize(size); + + if (size <= 0) { + return createBuffer(size); + } + + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' ? createBuffer(size).fill(fill, encoding) : createBuffer(size).fill(fill); + } + + return createBuffer(size); +} +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ + + +Buffer.alloc = function (size, fill, encoding) { + return alloc(size, fill, encoding); +}; + +function allocUnsafe(size) { + assertSize(size); + return createBuffer(size < 0 ? 0 : checked(size) | 0); +} +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ + + +Buffer.allocUnsafe = function (size) { + return allocUnsafe(size); +}; +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ + + +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(size); +}; + +function fromString(string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8'; + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding); + } + + var length = byteLength(string, encoding) | 0; + var buf = createBuffer(length); + var actual = buf.write(string, encoding); + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + buf = buf.slice(0, actual); + } + + return buf; +} + +function fromArrayLike(array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0; + var buf = createBuffer(length); + + for (var i = 0; i < length; i += 1) { + buf[i] = array[i] & 255; + } + + return buf; +} + +function fromArrayBuffer(array, byteOffset, length) { + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('"offset" is outside of buffer bounds'); + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('"length" is outside of buffer bounds'); + } + + var buf; + + if (byteOffset === undefined && length === undefined) { + buf = new Uint8Array(array); + } else if (length === undefined) { + buf = new Uint8Array(array, byteOffset); + } else { + buf = new Uint8Array(array, byteOffset, length); + } // Return an augmented `Uint8Array` instance + + + Object.setPrototypeOf(buf, Buffer.prototype); + return buf; +} + +function fromObject(obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0; + var buf = createBuffer(len); + + if (buf.length === 0) { + return buf; + } + + obj.copy(buf, 0, 0, len); + return buf; + } + + if (obj.length !== undefined) { + if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) { + return createBuffer(0); + } + + return fromArrayLike(obj); + } + + if (obj.type === 'Buffer' && Array.isArray(obj.data)) { + return fromArrayLike(obj.data); + } +} + +function checked(length) { + // Note: cannot use `length < K_MAX_LENGTH` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= K_MAX_LENGTH) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes'); + } + + return length | 0; +} + +function SlowBuffer(length) { + if (+length != length) { + // eslint-disable-line eqeqeq + length = 0; + } + + return Buffer.alloc(+length); +} + +Buffer.isBuffer = function isBuffer(b) { + return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false +}; + +Buffer.compare = function compare(a, b) { + if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength); + if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength); + + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'); + } + + if (a === b) return 0; + var x = a.length; + var y = b.length; + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i]; + y = b[i]; + break; + } + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; +}; + +Buffer.isEncoding = function isEncoding(encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true; + + default: + return false; + } +}; + +Buffer.concat = function concat(list, length) { + if (!Array.isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + + if (list.length === 0) { + return Buffer.alloc(0); + } + + var i; + + if (length === undefined) { + length = 0; + + for (i = 0; i < list.length; ++i) { + length += list[i].length; + } + } + + var buffer = Buffer.allocUnsafe(length); + var pos = 0; + + for (i = 0; i < list.length; ++i) { + var buf = list[i]; + + if (isInstance(buf, Uint8Array)) { + buf = Buffer.from(buf); + } + + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers'); + } + + buf.copy(buffer, pos); + pos += buf.length; + } + + return buffer; +}; + +function byteLength(string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length; + } + + if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) { + return string.byteLength; + } + + if (typeof string !== 'string') { + throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' + 'Received type ' + _typeof(string)); + } + + var len = string.length; + var mustMatch = arguments.length > 2 && arguments[2] === true; + if (!mustMatch && len === 0) return 0; // Use a for loop to avoid recursion + + var loweredCase = false; + + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len; + + case 'utf8': + case 'utf-8': + return utf8ToBytes(string).length; + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2; + + case 'hex': + return len >>> 1; + + case 'base64': + return base64ToBytes(string).length; + + default: + if (loweredCase) { + return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8 + } + + encoding = ('' + encoding).toLowerCase(); + loweredCase = true; + } + } +} + +Buffer.byteLength = byteLength; + +function slowToString(encoding, start, end) { + var loweredCase = false; // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + + if (start === undefined || start < 0) { + start = 0; + } // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + + + if (start > this.length) { + return ''; + } + + if (end === undefined || end > this.length) { + end = this.length; + } + + if (end <= 0) { + return ''; + } // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + + + end >>>= 0; + start >>>= 0; + + if (end <= start) { + return ''; + } + + if (!encoding) encoding = 'utf8'; + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end); + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end); + + case 'ascii': + return asciiSlice(this, start, end); + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end); + + case 'base64': + return base64Slice(this, start, end); + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end); + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); + encoding = (encoding + '').toLowerCase(); + loweredCase = true; + } + } +} // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package) +// to detect a Buffer instance. It's not possible to use `instanceof Buffer` +// reliably in a browserify context because there could be multiple different +// copies of the 'buffer' package in use. This method works even for Buffer +// instances that were created from another copy of the `buffer` package. +// See: https://github.com/feross/buffer/issues/154 + + +Buffer.prototype._isBuffer = true; + +function swap(b, n, m) { + var i = b[n]; + b[n] = b[m]; + b[m] = i; +} + +Buffer.prototype.swap16 = function swap16() { + var len = this.length; + + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits'); + } + + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1); + } + + return this; +}; + +Buffer.prototype.swap32 = function swap32() { + var len = this.length; + + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits'); + } + + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3); + swap(this, i + 1, i + 2); + } + + return this; +}; + +Buffer.prototype.swap64 = function swap64() { + var len = this.length; + + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits'); + } + + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7); + swap(this, i + 1, i + 6); + swap(this, i + 2, i + 5); + swap(this, i + 3, i + 4); + } + + return this; +}; + +Buffer.prototype.toString = function toString() { + var length = this.length; + if (length === 0) return ''; + if (arguments.length === 0) return utf8Slice(this, 0, length); + return slowToString.apply(this, arguments); +}; + +Buffer.prototype.toLocaleString = Buffer.prototype.toString; + +Buffer.prototype.equals = function equals(b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer'); + if (this === b) return true; + return Buffer.compare(this, b) === 0; +}; + +Buffer.prototype.inspect = function inspect() { + var str = ''; + var max = exports.INSPECT_MAX_BYTES; + str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim(); + if (this.length > max) str += ' ... '; + return ''; +}; + +if (customInspectSymbol) { + Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect; +} + +Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) { + if (isInstance(target, Uint8Array)) { + target = Buffer.from(target, target.offset, target.byteLength); + } + + if (!Buffer.isBuffer(target)) { + throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. ' + 'Received type ' + _typeof(target)); + } + + if (start === undefined) { + start = 0; + } + + if (end === undefined) { + end = target ? target.length : 0; + } + + if (thisStart === undefined) { + thisStart = 0; + } + + if (thisEnd === undefined) { + thisEnd = this.length; + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index'); + } + + if (thisStart >= thisEnd && start >= end) { + return 0; + } + + if (thisStart >= thisEnd) { + return -1; + } + + if (start >= end) { + return 1; + } + + start >>>= 0; + end >>>= 0; + thisStart >>>= 0; + thisEnd >>>= 0; + if (this === target) return 0; + var x = thisEnd - thisStart; + var y = end - start; + var len = Math.min(x, y); + var thisCopy = this.slice(thisStart, thisEnd); + var targetCopy = target.slice(start, end); + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i]; + y = targetCopy[i]; + break; + } + } + + if (x < y) return -1; + if (y < x) return 1; + return 0; +}; // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf + + +function bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1; // Normalize byteOffset + + if (typeof byteOffset === 'string') { + encoding = byteOffset; + byteOffset = 0; + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff; + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000; + } + + byteOffset = +byteOffset; // Coerce to Number. + + if (numberIsNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : buffer.length - 1; + } // Normalize byteOffset: negative offsets start from the end of the buffer + + + if (byteOffset < 0) byteOffset = buffer.length + byteOffset; + + if (byteOffset >= buffer.length) { + if (dir) return -1;else byteOffset = buffer.length - 1; + } else if (byteOffset < 0) { + if (dir) byteOffset = 0;else return -1; + } // Normalize val + + + if (typeof val === 'string') { + val = Buffer.from(val, encoding); + } // Finally, search either indexOf (if dir is true) or lastIndexOf + + + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1; + } + + return arrayIndexOf(buffer, val, byteOffset, encoding, dir); + } else if (typeof val === 'number') { + val = val & 0xFF; // Search for a byte value [0-255] + + if (typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset); + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset); + } + } + + return arrayIndexOf(buffer, [val], byteOffset, encoding, dir); + } + + throw new TypeError('val must be string, number or Buffer'); +} + +function arrayIndexOf(arr, val, byteOffset, encoding, dir) { + var indexSize = 1; + var arrLength = arr.length; + var valLength = val.length; + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase(); + + if (encoding === 'ucs2' || encoding === 'ucs-2' || encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1; + } + + indexSize = 2; + arrLength /= 2; + valLength /= 2; + byteOffset /= 2; + } + } + + function read(buf, i) { + if (indexSize === 1) { + return buf[i]; + } else { + return buf.readUInt16BE(i * indexSize); + } + } + + var i; + + if (dir) { + var foundIndex = -1; + + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i; + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize; + } else { + if (foundIndex !== -1) i -= i - foundIndex; + foundIndex = -1; + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength; + + for (i = byteOffset; i >= 0; i--) { + var found = true; + + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false; + break; + } + } + + if (found) return i; + } + } + + return -1; +} + +Buffer.prototype.includes = function includes(val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1; +}; + +Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true); +}; + +Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false); +}; + +function hexWrite(buf, string, offset, length) { + offset = Number(offset) || 0; + var remaining = buf.length - offset; + + if (!length) { + length = remaining; + } else { + length = Number(length); + + if (length > remaining) { + length = remaining; + } + } + + var strLen = string.length; + + if (length > strLen / 2) { + length = strLen / 2; + } + + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16); + if (numberIsNaN(parsed)) return i; + buf[offset + i] = parsed; + } + + return i; +} + +function utf8Write(buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length); +} + +function asciiWrite(buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length); +} + +function latin1Write(buf, string, offset, length) { + return asciiWrite(buf, string, offset, length); +} + +function base64Write(buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length); +} + +function ucs2Write(buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length); +} + +Buffer.prototype.write = function write(string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8'; + length = this.length; + offset = 0; // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset; + length = this.length; + offset = 0; // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset >>> 0; + + if (isFinite(length)) { + length = length >>> 0; + if (encoding === undefined) encoding = 'utf8'; + } else { + encoding = length; + length = undefined; + } + } else { + throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported'); + } + + var remaining = this.length - offset; + if (length === undefined || length > remaining) length = remaining; + + if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds'); + } + + if (!encoding) encoding = 'utf8'; + var loweredCase = false; + + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length); + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length); + + case 'ascii': + return asciiWrite(this, string, offset, length); + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length); + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length); + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length); + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding); + encoding = ('' + encoding).toLowerCase(); + loweredCase = true; + } + } +}; + +Buffer.prototype.toJSON = function toJSON() { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + }; +}; + +function base64Slice(buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf); + } else { + return base64.fromByteArray(buf.slice(start, end)); + } +} + +function utf8Slice(buf, start, end) { + end = Math.min(buf.length, end); + var res = []; + var i = start; + + while (i < end) { + var firstByte = buf[i]; + var codePoint = null; + var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1; + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint; + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte; + } + + break; + + case 2: + secondByte = buf[i + 1]; + + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F; + + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint; + } + } + + break; + + case 3: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F; + + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint; + } + } + + break; + + case 4: + secondByte = buf[i + 1]; + thirdByte = buf[i + 2]; + fourthByte = buf[i + 3]; + + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F; + + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint; + } + } + + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD; + bytesPerSequence = 1; + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000; + res.push(codePoint >>> 10 & 0x3FF | 0xD800); + codePoint = 0xDC00 | codePoint & 0x3FF; + } + + res.push(codePoint); + i += bytesPerSequence; + } + + return decodeCodePointsArray(res); +} // Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety + + +var MAX_ARGUMENTS_LENGTH = 0x1000; + +function decodeCodePointsArray(codePoints) { + var len = codePoints.length; + + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints); // avoid extra slice() + } // Decode in chunks to avoid "call stack size exceeded". + + + var res = ''; + var i = 0; + + while (i < len) { + res += String.fromCharCode.apply(String, codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)); + } + + return res; +} + +function asciiSlice(buf, start, end) { + var ret = ''; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F); + } + + return ret; +} + +function latin1Slice(buf, start, end) { + var ret = ''; + end = Math.min(buf.length, end); + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]); + } + + return ret; +} + +function hexSlice(buf, start, end) { + var len = buf.length; + if (!start || start < 0) start = 0; + if (!end || end < 0 || end > len) end = len; + var out = ''; + + for (var i = start; i < end; ++i) { + out += hexSliceLookupTable[buf[i]]; + } + + return out; +} + +function utf16leSlice(buf, start, end) { + var bytes = buf.slice(start, end); + var res = ''; + + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256); + } + + return res; +} + +Buffer.prototype.slice = function slice(start, end) { + var len = this.length; + start = ~~start; + end = end === undefined ? len : ~~end; + + if (start < 0) { + start += len; + if (start < 0) start = 0; + } else if (start > len) { + start = len; + } + + if (end < 0) { + end += len; + if (end < 0) end = 0; + } else if (end > len) { + end = len; + } + + if (end < start) end = start; + var newBuf = this.subarray(start, end); // Return an augmented `Uint8Array` instance + + Object.setPrototypeOf(newBuf, Buffer.prototype); + return newBuf; +}; +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ + + +function checkOffset(offset, ext, length) { + if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint'); + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length'); +} + +Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + + return val; +}; + +Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + checkOffset(offset, byteLength, this.length); + } + + var val = this[offset + --byteLength]; + var mul = 1; + + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul; + } + + return val; +}; + +Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + return this[offset]; +}; + +Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return this[offset] | this[offset + 1] << 8; +}; + +Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + return this[offset] << 8 | this[offset + 1]; +}; + +Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000; +}; + +Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]); +}; + +Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var val = this[offset]; + var mul = 1; + var i = 0; + + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul; + } + + mul *= 0x80; + if (val >= mul) val -= Math.pow(2, 8 * byteLength); + return val; +}; + +Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) { + offset = offset >>> 0; + byteLength = byteLength >>> 0; + if (!noAssert) checkOffset(offset, byteLength, this.length); + var i = byteLength; + var mul = 1; + var val = this[offset + --i]; + + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul; + } + + mul *= 0x80; + if (val >= mul) val -= Math.pow(2, 8 * byteLength); + return val; +}; + +Buffer.prototype.readInt8 = function readInt8(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 1, this.length); + if (!(this[offset] & 0x80)) return this[offset]; + return (0xff - this[offset] + 1) * -1; +}; + +Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset] | this[offset + 1] << 8; + return val & 0x8000 ? val | 0xFFFF0000 : val; +}; + +Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 2, this.length); + var val = this[offset + 1] | this[offset] << 8; + return val & 0x8000 ? val | 0xFFFF0000 : val; +}; + +Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24; +}; + +Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]; +}; + +Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, true, 23, 4); +}; + +Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 4, this.length); + return ieee754.read(this, offset, false, 23, 4); +}; + +Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, true, 52, 8); +}; + +Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) { + offset = offset >>> 0; + if (!noAssert) checkOffset(offset, 8, this.length); + return ieee754.read(this, offset, false, 52, 8); +}; + +function checkInt(buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance'); + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds'); + if (offset + ext > buf.length) throw new RangeError('Index out of range'); +} + +Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } + + var mul = 1; + var i = 0; + this[offset] = value & 0xFF; + + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = value / mul & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + byteLength = byteLength >>> 0; + + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1; + checkInt(this, value, offset, byteLength, maxBytes, 0); + } + + var i = byteLength - 1; + var mul = 1; + this[offset + i] = value & 0xFF; + + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = value / mul & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0); + this[offset] = value & 0xff; + return offset + 1; +}; + +Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; +}; + +Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; +}; + +Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset + 3] = value >>> 24; + this[offset + 2] = value >>> 16; + this[offset + 1] = value >>> 8; + this[offset] = value & 0xff; + return offset + 4; +}; + +Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0); + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; +}; + +Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } + + var i = 0; + var mul = 1; + var sub = 0; + this[offset] = value & 0xFF; + + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1; + } + + this[offset + i] = (value / mul >> 0) - sub & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1); + checkInt(this, value, offset, byteLength, limit - 1, -limit); + } + + var i = byteLength - 1; + var mul = 1; + var sub = 0; + this[offset + i] = value & 0xFF; + + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1; + } + + this[offset + i] = (value / mul >> 0) - sub & 0xFF; + } + + return offset + byteLength; +}; + +Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80); + if (value < 0) value = 0xff + value + 1; + this[offset] = value & 0xff; + return offset + 1; +}; + +Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + return offset + 2; +}; + +Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000); + this[offset] = value >>> 8; + this[offset + 1] = value & 0xff; + return offset + 2; +}; + +Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + this[offset] = value & 0xff; + this[offset + 1] = value >>> 8; + this[offset + 2] = value >>> 16; + this[offset + 3] = value >>> 24; + return offset + 4; +}; + +Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) { + value = +value; + offset = offset >>> 0; + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000); + if (value < 0) value = 0xffffffff + value + 1; + this[offset] = value >>> 24; + this[offset + 1] = value >>> 16; + this[offset + 2] = value >>> 8; + this[offset + 3] = value & 0xff; + return offset + 4; +}; + +function checkIEEE754(buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range'); + if (offset < 0) throw new RangeError('Index out of range'); +} + +function writeFloat(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38); + } + + ieee754.write(buf, value, offset, littleEndian, 23, 4); + return offset + 4; +} + +Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert); +}; + +Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert); +}; + +function writeDouble(buf, value, offset, littleEndian, noAssert) { + value = +value; + offset = offset >>> 0; + + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308); + } + + ieee754.write(buf, value, offset, littleEndian, 52, 8); + return offset + 8; +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert); +}; + +Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert); +}; // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) + + +Buffer.prototype.copy = function copy(target, targetStart, start, end) { + if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer'); + if (!start) start = 0; + if (!end && end !== 0) end = this.length; + if (targetStart >= target.length) targetStart = target.length; + if (!targetStart) targetStart = 0; + if (end > 0 && end < start) end = start; // Copy 0 bytes; we're done + + if (end === start) return 0; + if (target.length === 0 || this.length === 0) return 0; // Fatal error conditions + + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds'); + } + + if (start < 0 || start >= this.length) throw new RangeError('Index out of range'); + if (end < 0) throw new RangeError('sourceEnd out of bounds'); // Are we oob? + + if (end > this.length) end = this.length; + + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start; + } + + var len = end - start; + + if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') { + // Use built-in when available, missing from IE11 + this.copyWithin(targetStart, start, end); + } else if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (var i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start]; + } + } else { + Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart); + } + + return len; +}; // Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) + + +Buffer.prototype.fill = function fill(val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start; + start = 0; + end = this.length; + } else if (typeof end === 'string') { + encoding = end; + end = this.length; + } + + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string'); + } + + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding); + } + + if (val.length === 1) { + var code = val.charCodeAt(0); + + if (encoding === 'utf8' && code < 128 || encoding === 'latin1') { + // Fast path: If `val` fits into a single byte, use that numeric value. + val = code; + } + } + } else if (typeof val === 'number') { + val = val & 255; + } else if (typeof val === 'boolean') { + val = Number(val); + } // Invalid ranges are not set to a default, so can range check early. + + + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index'); + } + + if (end <= start) { + return this; + } + + start = start >>> 0; + end = end === undefined ? this.length : end >>> 0; + if (!val) val = 0; + var i; + + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val; + } + } else { + var bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding); + var len = bytes.length; + + if (len === 0) { + throw new TypeError('The value "' + val + '" is invalid for argument "value"'); + } + + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len]; + } + } + + return this; +}; // HELPER FUNCTIONS +// ================ + + +var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g; + +function base64clean(str) { + // Node takes equal signs as end of the Base64 encoding + str = str.split('=')[0]; // Node strips out invalid characters like \n and \t from the string, base64-js does not + + str = str.trim().replace(INVALID_BASE64_RE, ''); // Node converts strings with length < 2 to '' + + if (str.length < 2) return ''; // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + + while (str.length % 4 !== 0) { + str = str + '='; + } + + return str; +} + +function utf8ToBytes(string, units) { + units = units || Infinity; + var codePoint; + var length = string.length; + var leadSurrogate = null; + var bytes = []; + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i); // is surrogate component + + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + continue; + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + continue; + } // valid lead + + + leadSurrogate = codePoint; + continue; + } // 2 leads in a row + + + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + leadSurrogate = codePoint; + continue; + } // valid surrogate pair + + + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000; + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD); + } + + leadSurrogate = null; // encode utf8 + + if (codePoint < 0x80) { + if ((units -= 1) < 0) break; + bytes.push(codePoint); + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break; + bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80); + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break; + bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break; + bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80); + } else { + throw new Error('Invalid code point'); + } + } + + return bytes; +} + +function asciiToBytes(str) { + var byteArray = []; + + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF); + } + + return byteArray; +} + +function utf16leToBytes(str, units) { + var c, hi, lo; + var byteArray = []; + + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break; + c = str.charCodeAt(i); + hi = c >> 8; + lo = c % 256; + byteArray.push(lo); + byteArray.push(hi); + } + + return byteArray; +} + +function base64ToBytes(str) { + return base64.toByteArray(base64clean(str)); +} + +function blitBuffer(src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if (i + offset >= dst.length || i >= src.length) break; + dst[i + offset] = src[i]; + } + + return i; +} // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass +// the `instanceof` check but they should be treated as of that type. +// See: https://github.com/feross/buffer/issues/166 + + +function isInstance(obj, type) { + return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name; +} + +function numberIsNaN(obj) { + // For IE11 support + return obj !== obj; // eslint-disable-line no-self-compare +} // Create lookup table for `toString('hex')` +// See: https://github.com/feross/buffer/issues/219 + + +var hexSliceLookupTable = function () { + var alphabet = '0123456789abcdef'; + var table = new Array(256); + + for (var i = 0; i < 16; ++i) { + var i16 = i * 16; + + for (var j = 0; j < 16; ++j) { + table[i16 + j] = alphabet[i] + alphabet[j]; + } + } + + return table; +}(); + +}).call(this,require("buffer").Buffer) +},{"base64-js":284,"buffer":289,"ieee754":839}],290:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: { + A: { + H: 0.0138389, + D: 0.00922596, + G: 0.156841, + E: 0.0415168, + A: 0.0415168, + B: 2.03894, + mB: 0.009298 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "mB", "H", "D", "G", "E", "A", "B", "", "", ""], + E: "IE", + F: { + mB: 962323200, + H: 998870400, + D: 1161129600, + G: 1237420800, + E: 1300060800, + A: 1346716800, + B: 1381968000 + } + }, + B: { + A: { + C: 0.013383, + L: 0.013383, + q: 0.026766, + M: 0.026766, + O: 0.057993, + I: 0.517476, + J: 1.45429, + K: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "C", "L", "q", "M", "O", "I", "J", "K", "", ""], + E: "Edge", + F: { + C: 1438128000, + L: 1447286400, + q: 1470096000, + M: 1491868800, + O: 1508198400, + I: 1525046400, + J: 1542067200, + K: null + }, + D: { + C: "ms", + L: "ms", + q: "ms", + M: "ms", + O: "ms", + I: "ms", + J: "ms" + } + }, + C: { + A: { + "0": 0.026766, + "1": 0.013383, + "2": 0.008922, + "3": 0.160596, + "4": 0.013383, + "5": 0.004879, + "6": 0.75837, + "8": 0.004707, + "9": 0.013383, + jB: 0.004827, + AB: 0.00487, + F: 0.00974, + H: 0.020136, + D: 0.005725, + G: 0.004525, + E: 0.00533, + A: 0.004283, + B: 0.005029, + C: 0.004471, + L: 0.004486, + q: 0.00453, + M: 0.004465, + O: 0.004417, + I: 0.008922, + J: 0.004393, + P: 0.004443, + Q: 0.004283, + R: 0.004465, + S: 0.004393, + T: 0.004525, + U: 0.008786, + V: 0.004461, + W: 0.004317, + X: 0.004393, + Y: 0.004418, + Z: 0.008834, + a: 0.004461, + b: 0.008922, + c: 0.004471, + d: 0.008922, + f: 0.022305, + g: 0.004465, + h: 0.004783, + i: 0.008922, + j: 0.004783, + k: 0.00487, + l: 0.005029, + m: 0.0047, + n: 0.013383, + o: 0.008922, + p: 0.017844, + N: 0.004525, + r: 0.026766, + s: 0.040149, + t: 0.004461, + u: 0.013383, + v: 0.008922, + w: 0.156135, + x: 0.004461, + y: 0.013383, + z: 0.013383, + LB: 0.013383, + BB: 0.017844, + CB: 0.022305, + DB: 0.04461, + EB: 0.057993, + FB: 0.053532, + HB: 2.50262, + IB: 0.066915, + JB: 0, + KB: 0, + dB: 0.008786, + cB: 0.00487 + }, + B: "moz", + C: ["", "", "", "", "jB", "AB", "dB", "cB", "F", "5", "H", "D", "G", "E", "A", "B", "C", "L", "q", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "LB", "3", "9", "4", "BB", "CB", "DB", "EB", "FB", "6", "HB", "IB", "JB", "KB", ""], + E: "Firefox", + F: { + "0": 1506556800, + "1": 1510617600, + "2": 1516665600, + "3": 1525824000, + "4": 1536105600, + "5": 1308614400, + "6": 1562630400, + "8": 1417392000, + "9": 1529971200, + jB: 1161648000, + AB: 1213660800, + dB: 1246320000, + cB: 1264032000, + F: 1300752000, + H: 1313452800, + D: 1317081600, + G: 1317081600, + E: 1320710400, + A: 1324339200, + B: 1327968000, + C: 1331596800, + L: 1335225600, + q: 1338854400, + M: 1342483200, + O: 1346112000, + I: 1349740800, + J: 1353628800, + P: 1357603200, + Q: 1361232000, + R: 1364860800, + S: 1368489600, + T: 1372118400, + U: 1375747200, + V: 1379376000, + W: 1386633600, + X: 1391472000, + Y: 1395100800, + Z: 1398729600, + a: 1402358400, + b: 1405987200, + c: 1409616000, + d: 1413244800, + f: 1421107200, + g: 1424736000, + h: 1428278400, + i: 1431475200, + j: 1435881600, + k: 1439251200, + l: 1442880000, + m: 1446508800, + n: 1450137600, + o: 1453852800, + p: 1457395200, + N: 1461628800, + r: 1465257600, + s: 1470096000, + t: 1474329600, + u: 1479168000, + v: 1485216000, + w: 1488844800, + x: 1492560000, + y: 1497312000, + z: 1502150400, + LB: 1520985600, + BB: 1540252800, + CB: 1544486400, + DB: 1548720000, + EB: 1552953600, + FB: 1558396800, + HB: 1567468800, + IB: 1571788800, + JB: null, + KB: null + } + }, + D: { + A: { + "0": 0.035688, + "1": 0.066915, + "2": 0.040149, + "3": 0.035688, + "4": 0.035688, + "5": 0.004879, + "6": 0.066915, + "8": 0.008922, + "9": 0.298887, + F: 0.004706, + H: 0.004879, + D: 0.005591, + G: 0.005591, + E: 0.005591, + A: 0.004534, + B: 0.004461, + C: 0.010424, + L: 0.004461, + q: 0.004706, + M: 0.015087, + O: 0.004393, + I: 0.004393, + J: 0.008652, + P: 0.004418, + Q: 0.004393, + R: 0.004317, + S: 0.004465, + T: 0.008786, + U: 0.008922, + V: 0.004461, + W: 0.004461, + X: 0.004326, + Y: 0.0047, + Z: 0.004461, + a: 0.00893, + b: 0.013383, + c: 0.004465, + d: 0.017844, + f: 0.008922, + g: 0.013383, + h: 0.004461, + i: 0.022305, + j: 0.004465, + k: 0.031227, + l: 0.022305, + m: 0.004461, + n: 0.022305, + o: 0.004465, + p: 0.008922, + N: 0.008922, + r: 0.013383, + s: 0.040149, + t: 0.410412, + u: 0.008922, + v: 0.013383, + w: 0.008922, + x: 0.022305, + y: 0.035688, + z: 0.049071, + LB: 0.022305, + BB: 0.347958, + CB: 0.026766, + DB: 0.075837, + EB: 0.049071, + FB: 0.098142, + HB: 0.17844, + IB: 0.147213, + JB: 0.200745, + KB: 0.272121, + bB: 0.285504, + WB: 0.40149, + QB: 0.691455, + K: 18.8879, + pB: 6.31678, + RB: 0.04461, + SB: 0.013383, + TB: 0, + UB: 0 + }, + B: "webkit", + C: ["F", "5", "H", "D", "G", "E", "A", "B", "C", "L", "q", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "LB", "3", "9", "4", "BB", "CB", "DB", "EB", "FB", "6", "HB", "IB", "JB", "KB", "bB", "WB", "QB", "K", "pB", "RB", "SB", "TB", "UB"], + E: "Chrome", + F: { + "0": 1485302400, + "1": 1489017600, + "2": 1492560000, + "3": 1500940800, + "4": 1508198400, + "5": 1274745600, + "6": 1532390400, + "8": 1397001600, + "9": 1504569600, + F: 1264377600, + H: 1283385600, + D: 1287619200, + G: 1291248000, + E: 1296777600, + A: 1299542400, + B: 1303862400, + C: 1307404800, + L: 1312243200, + q: 1316131200, + M: 1316131200, + O: 1319500800, + I: 1323734400, + J: 1328659200, + P: 1332892800, + Q: 1337040000, + R: 1340668800, + S: 1343692800, + T: 1348531200, + U: 1352246400, + V: 1357862400, + W: 1361404800, + X: 1364428800, + Y: 1369094400, + Z: 1374105600, + a: 1376956800, + b: 1384214400, + c: 1389657600, + d: 1392940800, + f: 1400544000, + g: 1405468800, + h: 1409011200, + i: 1412640000, + j: 1416268800, + k: 1421798400, + l: 1425513600, + m: 1429401600, + n: 1432080000, + o: 1437523200, + p: 1441152000, + N: 1444780800, + r: 1449014400, + s: 1453248000, + t: 1456963200, + u: 1460592000, + v: 1464134400, + w: 1469059200, + x: 1472601600, + y: 1476230400, + z: 1480550400, + LB: 1496707200, + BB: 1512518400, + CB: 1516752000, + DB: 1520294400, + EB: 1523923200, + FB: 1527552000, + HB: 1536019200, + IB: 1539648000, + JB: 1543968000, + KB: 1548720000, + bB: 1552348800, + WB: 1555977600, + QB: 1559606400, + K: 1564444800, + pB: 1568073600, + RB: 1571702400, + SB: null, + TB: null, + UB: null + } + }, + E: { + A: { + "5": 0.004461, + "7": 1.47659, + F: 0, + H: 0.004349, + D: 0.004465, + G: 0.031227, + E: 0.017844, + A: 0.022305, + B: 0.04461, + C: 0.214128, + L: 0.321192, + VB: 0, + OB: 0.008692, + XB: 0.771753, + YB: 0.00456, + ZB: 0.004283, + aB: 0.035688, + NB: 0.111525, + e: 0.218589, + eB: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "VB", "OB", "F", "5", "XB", "H", "YB", "D", "ZB", "G", "E", "aB", "A", "NB", "B", "e", "C", "7", "L", "eB", "", ""], + E: "Safari", + F: { + "5": 1275868800, + "7": 1553472000, + VB: 1205798400, + OB: 1226534400, + F: 1244419200, + XB: 1311120000, + H: 1343174400, + YB: 1382400000, + D: 1382400000, + ZB: 1410998400, + G: 1413417600, + E: 1443657600, + aB: 1458518400, + A: 1474329600, + NB: 1490572800, + B: 1505779200, + e: 1522281600, + C: 1537142400, + L: 1568851200, + eB: null + } + }, + F: { + A: { + "0": 0.004461, + "1": 0.008922, + "2": 0.008922, + "3": 0.008922, + "4": 0.120447, + "7": 0.008922, + "8": 0.009758, + E: 0.0082, + B: 0.016581, + C: 0.004317, + M: 0.00685, + O: 0.00685, + I: 0.00685, + J: 0.005014, + P: 0.006015, + Q: 0.004879, + R: 0.006597, + S: 0.006597, + T: 0.013434, + U: 0.006702, + V: 0.006015, + W: 0.005595, + X: 0.004393, + Y: 0.008652, + Z: 0.004879, + a: 0.004879, + b: 0.004461, + c: 0.005152, + d: 0.005014, + f: 0.004879, + g: 0.013383, + h: 0.004283, + i: 0.004367, + j: 0.004534, + k: 0.004367, + l: 0.004227, + m: 0.004418, + n: 0.008922, + o: 0.004227, + p: 0.004725, + N: 0.004417, + r: 0.008942, + s: 0.004707, + t: 0.004827, + u: 0.004707, + v: 0.004707, + w: 0.004326, + x: 0.008922, + y: 0.014349, + z: 0.004725, + fB: 0.00685, + gB: 0, + hB: 0.008392, + iB: 0.004706, + e: 0.006229, + MB: 0.004879, + kB: 0.008786 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "E", "fB", "gB", "hB", "iB", "B", "e", "MB", "kB", "C", "7", "M", "O", "I", "J", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "8", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "N", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "", "", ""], + E: "Opera", + F: { + "0": 1537833600, + "1": 1543363200, + "2": 1548201600, + "3": 1554768000, + "4": 1561593600, + "7": 1352073600, + "8": 1449100800, + E: 1150761600, + fB: 1223424000, + gB: 1251763200, + hB: 1267488000, + iB: 1277942400, + B: 1292457600, + e: 1302566400, + MB: 1309219200, + kB: 1323129600, + C: 1323129600, + M: 1372723200, + O: 1377561600, + I: 1381104000, + J: 1386288000, + P: 1390867200, + Q: 1393891200, + R: 1399334400, + S: 1401753600, + T: 1405987200, + U: 1409616000, + V: 1413331200, + W: 1417132800, + X: 1422316800, + Y: 1425945600, + Z: 1430179200, + a: 1433808000, + b: 1438646400, + c: 1442448000, + d: 1445904000, + f: 1454371200, + g: 1457308800, + h: 1462320000, + i: 1465344000, + j: 1470096000, + k: 1474329600, + l: 1477267200, + m: 1481587200, + n: 1486425600, + o: 1490054400, + p: 1494374400, + N: 1498003200, + r: 1502236800, + s: 1506470400, + t: 1510099200, + u: 1515024000, + v: 1517961600, + w: 1521676800, + x: 1525910400, + y: 1530144000, + z: 1534982400 + }, + D: { + "7": "o", + E: "o", + B: "o", + C: "o", + fB: "o", + gB: "o", + hB: "o", + iB: "o", + e: "o", + MB: "o", + kB: "o" + } + }, + G: { + A: { + G: 0, + OB: 0.0045567, + lB: 0.00227835, + GB: 0, + nB: 0.00797423, + oB: 0, + PB: 0.00911341, + qB: 0.0170876, + rB: 0.019366, + sB: 0.140119, + tB: 0.0672114, + uB: 0.169737, + vB: 0.184546, + wB: 0.333779, + xB: 0.560475, + yB: 9.06898, + zB: 0.797423 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "OB", "lB", "GB", "nB", "oB", "PB", "G", "qB", "rB", "sB", "tB", "uB", "vB", "wB", "xB", "yB", "zB", "", "", ""], + E: "iOS Safari", + F: { + OB: 1270252800, + lB: 1283904000, + GB: 1299628800, + nB: 1331078400, + oB: 1359331200, + PB: 1394409600, + G: 1410912000, + qB: 1413763200, + rB: 1442361600, + sB: 1458518400, + tB: 1473724800, + uB: 1490572800, + vB: 1505779200, + wB: 1522281600, + xB: 1537142400, + yB: 1553472000, + zB: 1568851200 + } + }, + H: { + A: { + "0B": 1.42636 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "0B", "", "", ""], + E: "Opera Mini", + F: { + "0B": 1426464000 + } + }, + I: { + A: { + AB: 0.00223765, + F: 0.0124669, + K: 0, + "1B": 0, + "2B": 0.0035163, + "3B": 0.00191798, + "4B": 0.0284501, + GB: 0.168143, + "5B": 0, + "6B": 0.10453 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "1B", "2B", "3B", "AB", "F", "4B", "GB", "5B", "6B", "K", "", "", ""], + E: "Android Browser", + F: { + "1B": 1256515200, + "2B": 1274313600, + "3B": 1291593600, + AB: 1298332800, + F: 1318896000, + "4B": 1341792000, + GB: 1374624000, + "5B": 1386547200, + "6B": 1401667200, + K: 1566777600 + } + }, + J: { + A: { + D: 0, + A: 0.011078 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "D", "A", "", "", ""], + E: "Blackberry Browser", + F: { + D: 1325376000, + A: 1359504000 + } + }, + K: { + A: { + "7": 0, + A: 0, + B: 0, + C: 0, + N: 0.0111391, + e: 0, + MB: 0 + }, + B: "o", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "e", "MB", "C", "7", "N", "", "", ""], + E: "Opera Mobile", + F: { + "7": 1349740800, + A: 1287100800, + B: 1300752000, + e: 1314835200, + MB: 1318291200, + C: 1330300800, + N: 1474588800 + }, + D: { + N: "webkit" + } + }, + L: { + A: { + K: 35.6387 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "K", "", "", ""], + E: "Chrome for Android", + F: { + K: 1564531200 + } + }, + M: { + A: { + "6": 0.193865 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "6", "", "", ""], + E: "Firefox for Android", + F: { + "6": 1567468800 + } + }, + N: { + A: { + A: 0.0115934, + B: 0.066468 + }, + B: "ms", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "A", "B", "", "", ""], + E: "IE Mobile", + F: { + A: 1340150400, + B: 1353456000 + } + }, + O: { + A: { + "7B": 3.19046 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "7B", "", "", ""], + E: "UC Browser for Android", + F: { + "7B": 1471392000 + }, + D: { + "7B": "webkit" + } + }, + P: { + A: { + F: 0.460988, + "8B": 0.031431, + "9B": 0.041908, + AC: 0.157155, + BC: 0.073339, + CC: 1.65537, + NB: 1.15247 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "F", "8B", "9B", "AC", "BC", "CC", "NB", "", "", ""], + E: "Samsung Internet", + F: { + F: 1461024000, + "8B": 1481846400, + "9B": 1509408000, + AC: 1528329600, + BC: 1546128000, + CC: 1554163200, + NB: 1567900800 + } + }, + Q: { + A: { + DC: 0.238177 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "DC", "", "", ""], + E: "QQ Browser", + F: { + DC: 1483228800 + } + }, + R: { + A: { + EC: 0 + }, + B: "webkit", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "EC", "", "", ""], + E: "Baidu Browser", + F: { + EC: 1491004800 + } + }, + S: { + A: { + FC: 0.210482 + }, + B: "moz", + C: ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "FC", "", "", ""], + E: "KaiOS Browser", + F: { + FC: 1527811200 + } + } +}; + +},{}],291:[function(require,module,exports){ +"use strict"; + +module.exports = { + "0": "56", + "1": "57", + "2": "58", + "3": "60", + "4": "62", + "5": "5", + "6": "68", + "7": "12.1", + "8": "34", + "9": "61", + A: "10", + B: "11", + C: "12", + D: "7", + E: "9", + F: "4", + G: "8", + H: "6", + I: "17", + J: "18", + K: "76", + L: "13", + M: "15", + N: "46", + O: "16", + P: "19", + Q: "20", + R: "21", + S: "22", + T: "23", + U: "24", + V: "25", + W: "26", + X: "27", + Y: "28", + Z: "29", + a: "30", + b: "31", + c: "32", + d: "33", + e: "11.1", + f: "35", + g: "36", + h: "37", + i: "38", + j: "39", + k: "40", + l: "41", + m: "42", + n: "43", + o: "44", + p: "45", + q: "14", + r: "47", + s: "48", + t: "49", + u: "50", + v: "51", + w: "52", + x: "53", + y: "54", + z: "55", + AB: "3", + BB: "63", + CB: "64", + DB: "65", + EB: "66", + FB: "67", + GB: "4.2-4.3", + HB: "69", + IB: "70", + JB: "71", + KB: "72", + LB: "59", + MB: "11.5", + NB: "10.1", + OB: "3.2", + PB: "7.0-7.1", + QB: "75", + RB: "78", + SB: "79", + TB: "80", + UB: "81", + VB: "3.1", + WB: "74", + XB: "5.1", + YB: "6.1", + ZB: "7.1", + aB: "9.1", + bB: "73", + cB: "3.6", + dB: "3.5", + eB: "TP", + fB: "9.5-9.6", + gB: "10.0-10.1", + hB: "10.5", + iB: "10.6", + jB: "2", + kB: "11.6", + lB: "4.0-4.1", + mB: "5.5", + nB: "5.0-5.1", + oB: "6.0-6.1", + pB: "77", + qB: "8.1-8.4", + rB: "9.0-9.2", + sB: "9.3", + tB: "10.0-10.2", + uB: "10.3", + vB: "11.0-11.2", + wB: "11.3-11.4", + xB: "12.0-12.1", + yB: "12.2-12.4", + zB: "13.0-13.1", + "0B": "all", + "1B": "2.1", + "2B": "2.2", + "3B": "2.3", + "4B": "4.1", + "5B": "4.4", + "6B": "4.4.3-4.4.4", + "7B": "12.12", + "8B": "5.0-5.4", + "9B": "6.2-6.4", + AC: "7.2-7.4", + BC: "8.2", + CC: "9.2", + DC: "1.2", + EC: "7.12", + FC: "2.5" +}; + +},{}],292:[function(require,module,exports){ +"use strict"; + +module.exports = { + A: "ie", + B: "edge", + C: "firefox", + D: "chrome", + E: "safari", + F: "opera", + G: "ios_saf", + H: "op_mini", + I: "android", + J: "bb", + K: "op_mob", + L: "and_chr", + M: "and_ff", + N: "ie_mob", + O: "and_uc", + P: "samsung", + Q: "and_qq", + R: "baidu", + S: "kaios" +}; + +},{}],293:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.agents = undefined; + +var _browsers = require('./browsers'); + +var _browserVersions = require('./browserVersions'); + +var agentsData = require('../../data/agents'); + +function unpackBrowserVersions(versionsData) { + return Object.keys(versionsData).reduce(function (usage, version) { + usage[_browserVersions.browserVersions[version]] = versionsData[version]; + return usage; + }, {}); +} + +var agents = exports.agents = Object.keys(agentsData).reduce(function (map, key) { + var versionsData = agentsData[key]; + map[_browsers.browsers[key]] = Object.keys(versionsData).reduce(function (data, entry) { + if (entry === 'A') { + data.usage_global = unpackBrowserVersions(versionsData[entry]); + } else if (entry === 'C') { + data.versions = versionsData[entry].reduce(function (list, version) { + if (version === '') { + list.push(null); + } else { + list.push(_browserVersions.browserVersions[version]); + } + + return list; + }, []); + } else if (entry === 'D') { + data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]); + } else if (entry === 'E') { + data.browser = versionsData[entry]; + } else if (entry === 'F') { + data.release_date = Object.keys(versionsData[entry]).reduce(function (map, key) { + map[_browserVersions.browserVersions[key]] = versionsData[entry][key]; + return map; + }, {}); + } else { + // entry is B + data.prefix = versionsData[entry]; + } + + return data; + }, {}); + return map; +}, {}); + +},{"../../data/agents":290,"./browserVersions":294,"./browsers":295}],294:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var browserVersions = exports.browserVersions = require('../../data/browserVersions'); + +},{"../../data/browserVersions":291}],295:[function(require,module,exports){ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var browsers = exports.browsers = require('../../data/browsers'); + +},{"../../data/browsers":292}],296:[function(require,module,exports){ +(function (process){ +'use strict'; + +var escapeStringRegexp = require('escape-string-regexp'); + +var ansiStyles = require('ansi-styles'); + +var stdoutColor = require('supports-color').stdout; + +var template = require('./templates.js'); + +var isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping + +var levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such + +var skipModels = new Set(['gray']); +var styles = Object.create(null); + +function applyOptions(obj, options) { + options = options || {}; // Detect level if not set manually + + var scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; +} + +function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + var chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + var args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + chalk.template.constructor = Chalk; + return chalk.template; + } + + applyOptions(this, options); +} // Use bright blue on Windows as the normal blue color is illegible + + +if (isSimpleWindowsTerm) { + ansiStyles.blue.open = "\x1B[94m"; +} + +var _loop = function _loop() { + var key = _Object$keys[_i]; + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + styles[key] = { + get: function get() { + var codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; +}; + +for (var _i = 0, _Object$keys = Object.keys(ansiStyles); _i < _Object$keys.length; _i++) { + _loop(); +} + +styles.visible = { + get: function get() { + return build.call(this, this._styles || [], true, 'visible'); + } +}; +ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); + +var _loop2 = function _loop2() { + var model = _Object$keys2[_i2]; + + if (skipModels.has(model)) { + return "continue"; + } + + styles[model] = { + get: function get() { + var level = this.level; + return function () { + var open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + var codes = { + open: open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +}; + +for (var _i2 = 0, _Object$keys2 = Object.keys(ansiStyles.color.ansi); _i2 < _Object$keys2.length; _i2++) { + var _ret = _loop2(); + + if (_ret === "continue") continue; +} + +ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); + +var _loop3 = function _loop3() { + var model = _Object$keys3[_i3]; + + if (skipModels.has(model)) { + return "continue"; + } + + var bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get: function get() { + var level = this.level; + return function () { + var open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + var codes = { + open: open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; +}; + +for (var _i3 = 0, _Object$keys3 = Object.keys(ansiStyles.bgColor.ansi); _i3 < _Object$keys3.length; _i3++) { + var _ret2 = _loop3(); + + if (_ret2 === "continue") continue; +} + +var proto = Object.defineProperties(function () {}, styles); + +function build(_styles, _empty, key) { + var builder = function builder() { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + var self = this; + Object.defineProperty(builder, 'level', { + enumerable: true, + get: function get() { + return self.level; + }, + set: function set(level) { + self.level = level; + } + }); + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get: function get() { + return self.enabled; + }, + set: function set(enabled) { + self.enabled = enabled; + } + }); // See below for fix regarding invisible grey/dim combination on Windows + + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; +} + +function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + var args = arguments; + var argsLen = args.length; + var str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (var a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + + + var originalDim = ansiStyles.dim.open; + + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this._styles.slice().reverse()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var code = _step.value; + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + + str = str.replace(/\r?\n/g, "".concat(code.close, "$&").concat(code.open)); + } // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + ansiStyles.dim.open = originalDim; + return str; +} + +function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + var args = [].slice.call(arguments, 2); + var parts = [strings.raw[0]]; + + for (var i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return template(chalk, parts.join('')); +} + +Object.defineProperties(Chalk.prototype, styles); +module.exports = Chalk(); // eslint-disable-line new-cap + +module.exports.supportsColor = stdoutColor; +module.exports.default = module.exports; // For TypeScript + +}).call(this,require('_process')) +},{"./templates.js":297,"_process":1054,"ansi-styles":277,"escape-string-regexp":832,"supports-color":1082}],297:[function(require,module,exports){ +'use strict'; + +var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; +var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; +var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; +var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; +var ESCAPES = new Map([['n', '\n'], ['r', '\r'], ['t', '\t'], ['b', '\b'], ['f', '\f'], ['v', '\v'], ['0', '\0'], ['\\', '\\'], ['e', "\x1B"], ['a', "\x07"]]); + +function unescape(c) { + if (c[0] === 'u' && c.length === 5 || c[0] === 'x' && c.length === 3) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + return ESCAPES.get(c) || c; +} + +function parseArguments(name, args) { + var results = []; + var chunks = args.trim().split(/\s*,\s*/g); + var matches; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var chunk = _step.value; + + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if (matches = chunk.match(STRING_REGEX)) { + results.push(matches[2].replace(ESCAPE_REGEX, function (m, escape, chr) { + return escape ? unescape(escape) : chr; + })); + } else { + throw new Error("Invalid Chalk template style argument: ".concat(chunk, " (in style '").concat(name, "')")); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return results; +} + +function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + var results = []; + var matches; + + while ((matches = STYLE_REGEX.exec(style)) !== null) { + var name = matches[1]; + + if (matches[2]) { + var args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; +} + +function buildStyle(chalk, styles) { + var enabled = {}; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = styles[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var layer = _step2.value; + var _iteratorNormalCompletion3 = true; + var _didIteratorError3 = false; + var _iteratorError3 = undefined; + + try { + for (var _iterator3 = layer.styles[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) { + var style = _step3.value; + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } catch (err) { + _didIteratorError3 = true; + _iteratorError3 = err; + } finally { + try { + if (!_iteratorNormalCompletion3 && _iterator3.return != null) { + _iterator3.return(); + } + } finally { + if (_didIteratorError3) { + throw _iteratorError3; + } + } + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + + var current = chalk; + + for (var _i = 0, _Object$keys = Object.keys(enabled); _i < _Object$keys.length; _i++) { + var styleName = _Object$keys[_i]; + + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error("Unknown Chalk style: ".concat(styleName)); + } + + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; + } + } + } + + return current; +} + +module.exports = function (chalk, tmp) { + var styles = []; + var chunks = []; + var chunk = []; // eslint-disable-next-line max-params + + tmp.replace(TEMPLATE_REGEX, function (m, escapeChar, inverse, style, close, chr) { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + var str = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); + styles.push({ + inverse: inverse, + styles: parseStyle(style) + }); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(chr); + } + }); + chunks.push(chunk.join('')); + + if (styles.length > 0) { + var errMsg = "Chalk template literal is missing ".concat(styles.length, " closing bracket").concat(styles.length === 1 ? '' : 's', " (`}`)"); + throw new Error(errMsg); + } + + return chunks.join(''); +}; + +},{}],298:[function(require,module,exports){ +"use strict"; + +/* MIT license */ +var cssKeywords = require('color-name'); // NOTE: conversions should only return primitive values (i.e. arrays, or +// values that give correct `typeof` results). +// do not use box values types (i.e. Number(), String(), etc.) + + +var reverseKeywords = {}; + +for (var key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } +} + +var convert = module.exports = { + rgb: { + channels: 3, + labels: 'rgb' + }, + hsl: { + channels: 3, + labels: 'hsl' + }, + hsv: { + channels: 3, + labels: 'hsv' + }, + hwb: { + channels: 3, + labels: 'hwb' + }, + cmyk: { + channels: 4, + labels: 'cmyk' + }, + xyz: { + channels: 3, + labels: 'xyz' + }, + lab: { + channels: 3, + labels: 'lab' + }, + lch: { + channels: 3, + labels: 'lch' + }, + hex: { + channels: 1, + labels: ['hex'] + }, + keyword: { + channels: 1, + labels: ['keyword'] + }, + ansi16: { + channels: 1, + labels: ['ansi16'] + }, + ansi256: { + channels: 1, + labels: ['ansi256'] + }, + hcg: { + channels: 3, + labels: ['h', 'c', 'g'] + }, + apple: { + channels: 3, + labels: ['r16', 'g16', 'b16'] + }, + gray: { + channels: 1, + labels: ['gray'] + } +}; // hide .channels and .labels properties + +for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', { + value: channels + }); + Object.defineProperty(convert[model], 'labels', { + value: labels + }); + } +} + +convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; +}; + +convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + + var diffc = function diffc(c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [h * 360, s * 100, v * 100]; +}; + +convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; +}; + +convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + return [c * 100, m * 100, y * 100, k * 100]; +}; +/** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ + + +function comparativeDistance(x, y) { + return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); +} + +convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; // Compute comparative distance + + var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest + + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; +}; + +convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; +}; + +convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; // assume sRGB + + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + var x = r * 0.4124 + g * 0.3576 + b * 0.1805; + var y = r * 0.2126 + g * 0.7152 + b * 0.0722; + var z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; +}; + +convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; +}; + +convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + rgb = [0, 0, 0]; + + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + + if (t3 < 0) { + t3++; + } + + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; +}; + +convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; +}; + +convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - s * f); + var t = 255 * v * (1 - s * (1 - f)); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + + case 1: + return [q, v, p]; + + case 2: + return [p, v, t]; + + case 3: + return [p, q, v]; + + case 4: + return [t, p, v]; + + case 5: + return [v, p, q]; + } +}; + +convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; +}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + + +convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; // wh + bl cant be > 1 + + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + + case 1: + r = n; + g = v; + b = wh; + break; + + case 2: + r = wh; + g = v; + b = n; + break; + + case 3: + r = wh; + g = n; + b = v; + break; + + case 4: + r = n; + g = wh; + b = v; + break; + + case 5: + r = v; + g = wh; + b = n; + break; + } + + return [r * 255, g * 255, b * 255]; +}; + +convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB + + r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92; + g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92; + b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; +}; + +convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; +}; + +convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; +}; + +convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + return [l, c, h]; +}; + +convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + return [l, a, b]; +}; + +convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; +}; + +convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); +}; + +convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round((r - 8) / 247 * 24) + 232; + } + + var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; +}; + +convert.ansi16.rgb = function (args) { + var color = args % 10; // handle greyscale + + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = (color & 1) * mult * 255; + var g = (color >> 1 & 1) * mult * 255; + var b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; +}; + +convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = rem % 6 / 5 * 255; + return [r, g, b]; +}; + +convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF); + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = integer >> 16 & 0xFF; + var g = integer >> 8 & 0xFF; + var b = integer & 0xFF; + return [r, g, b]; +}; + +convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = max - min; + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; +}; + +convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; +}; + +convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; +}; + +convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = h % 1 * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + + mg = (1.0 - c) * g; + return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255]; +}; + +convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; +}; + +convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; +}; + +convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; +}; + +convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; +}; + +convert.apple.rgb = function (apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; +}; + +convert.rgb.apple = function (rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; +}; + +convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; +}; + +convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; +}; + +convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; +}; + +convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; +}; + +convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; +}; + +convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; +}; + +convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; +}; + +},{"color-name":301}],299:[function(require,module,exports){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var conversions = require('./conversions'); + +var route = require('./route'); + +var convert = {}; +var models = Object.keys(conversions); + +function wrapRaw(fn) { + var wrappedFn = function wrappedFn(args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; // preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +function wrapRounded(fn) { + var wrappedFn = function wrappedFn(args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + + if (_typeof(result) === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; // preserve .conversion property if there is one + + + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; +} + +models.forEach(function (fromModel) { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], 'channels', { + value: conversions[fromModel].channels + }); + Object.defineProperty(convert[fromModel], 'labels', { + value: conversions[fromModel].labels + }); + var routes = route(fromModel); + var routeModels = Object.keys(routes); + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); +}); +module.exports = convert; + +},{"./conversions":298,"./route":300}],300:[function(require,module,exports){ +"use strict"; + +var conversions = require('./conversions'); +/* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. +*/ + + +function buildGraph() { + var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; +} // https://en.wikipedia.org/wiki/Breadth-first_search + + +function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; +} + +function link(from, to) { + return function (args) { + return to(from(args)); + }; +} + +function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + var cur = graph[toModel].parent; + + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; +} + +module.exports = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + var models = Object.keys(graph); + + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; +}; + +},{"./conversions":298}],301:[function(require,module,exports){ +'use strict'; + +module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] +}; + +},{}],302:[function(require,module,exports){ +'use strict'; + +var fs = require('fs'); + +var path = require('path'); + +var SafeBuffer = require('safe-buffer'); + +Object.defineProperty(exports, 'commentRegex', { + get: function getCommentRegex() { + return /^\s*\/(?:\/|\*)[@#]\s+sourceMappingURL=data:(?:application|text)\/json;(?:charset[:=]\S+?;)?base64,(?:.*)$/mg; + } +}); +Object.defineProperty(exports, 'mapFileCommentRegex', { + get: function getMapFileCommentRegex() { + // Matches sourceMappingURL in either // or /* comment styles. + return /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"`]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^\*]+?)[ \t]*(?:\*\/){1}[ \t]*$)/mg; + } +}); + +function decodeBase64(base64) { + return SafeBuffer.Buffer.from(base64, 'base64').toString(); +} + +function stripComment(sm) { + return sm.split(',').pop(); +} + +function readFromFileMap(sm, dir) { + // NOTE: this will only work on the server since it attempts to read the map file + var r = exports.mapFileCommentRegex.exec(sm); // for some odd reason //# .. captures in 1 and /* .. */ in 2 + + var filename = r[1] || r[2]; + var filepath = path.resolve(dir, filename); + + try { + return fs.readFileSync(filepath, 'utf8'); + } catch (e) { + throw new Error('An error occurred while trying to read the map file at ' + filepath + '\n' + e); + } +} + +function Converter(sm, opts) { + opts = opts || {}; + if (opts.isFileComment) sm = readFromFileMap(sm, opts.commentFileDir); + if (opts.hasComment) sm = stripComment(sm); + if (opts.isEncoded) sm = decodeBase64(sm); + if (opts.isJSON || opts.isEncoded) sm = JSON.parse(sm); + this.sourcemap = sm; +} + +Converter.prototype.toJSON = function (space) { + return JSON.stringify(this.sourcemap, null, space); +}; + +Converter.prototype.toBase64 = function () { + var json = this.toJSON(); + return SafeBuffer.Buffer.from(json, 'utf8').toString('base64'); +}; + +Converter.prototype.toComment = function (options) { + var base64 = this.toBase64(); + var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,' + base64; + return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data; +}; // returns copy instead of original + + +Converter.prototype.toObject = function () { + return JSON.parse(this.toJSON()); +}; + +Converter.prototype.addProperty = function (key, value) { + if (this.sourcemap.hasOwnProperty(key)) throw new Error('property "' + key + '" already exists on the sourcemap, use set property instead'); + return this.setProperty(key, value); +}; + +Converter.prototype.setProperty = function (key, value) { + this.sourcemap[key] = value; + return this; +}; + +Converter.prototype.getProperty = function (key) { + return this.sourcemap[key]; +}; + +exports.fromObject = function (obj) { + return new Converter(obj); +}; + +exports.fromJSON = function (json) { + return new Converter(json, { + isJSON: true + }); +}; + +exports.fromBase64 = function (base64) { + return new Converter(base64, { + isEncoded: true + }); +}; + +exports.fromComment = function (comment) { + comment = comment.replace(/^\/\*/g, '//').replace(/\*\/$/g, ''); + return new Converter(comment, { + isEncoded: true, + hasComment: true + }); +}; + +exports.fromMapFileComment = function (comment, dir) { + return new Converter(comment, { + commentFileDir: dir, + isFileComment: true, + isJSON: true + }); +}; // Finds last sourcemap comment in file or returns null if none was found + + +exports.fromSource = function (content) { + var m = content.match(exports.commentRegex); + return m ? exports.fromComment(m.pop()) : null; +}; // Finds last sourcemap comment in file or returns null if none was found + + +exports.fromMapFileSource = function (content, dir) { + var m = content.match(exports.mapFileCommentRegex); + return m ? exports.fromMapFileComment(m.pop(), dir) : null; +}; + +exports.removeComments = function (src) { + return src.replace(exports.commentRegex, ''); +}; + +exports.removeMapFileComments = function (src) { + return src.replace(exports.mapFileCommentRegex, ''); +}; + +exports.generateMapFileComment = function (file, options) { + var data = 'sourceMappingURL=' + file; + return options && options.multiline ? '/*# ' + data + ' */' : '//# ' + data; +}; + +},{"fs":285,"path":1052,"safe-buffer":1069}],303:[function(require,module,exports){ +module.exports={ + "es.symbol": { + "edge": "15", + "chrome": "49", + "firefox": "51", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.symbol.description": { + "chrome": "70", + "firefox": "63", + "safari": "12.1", + "edge": "74", + "opera": "57", + "node": "11.0", + "samsung": "10.2", + "electron": "5.0", + "ios": "13.0" + }, + "es.symbol.async-iterator": { + "chrome": "63", + "firefox": "55", + "safari": "12.0", + "edge": "74", + "opera": "50", + "node": "10.0", + "samsung": "8.2", + "electron": "3.0", + "ios": "12.0" + }, + "es.symbol.has-instance": { + "edge": "15", + "chrome": "50", + "firefox": "49", + "safari": "10.0", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.symbol.is-concat-spreadable": { + "edge": "15", + "chrome": "48", + "firefox": "48", + "safari": "10.0", + "opera": "35", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.symbol.iterator": { + "edge": "13", + "chrome": "39", + "firefox": "36", + "safari": "9.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.symbol.match": { + "chrome": "50", + "firefox": "40", + "safari": "10.0", + "edge": "74", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.symbol.match-all": { + "chrome": "73", + "firefox": "67", + "safari": "13", + "edge": "74", + "opera": "60", + "node": "12.0", + "electron": "5.0", + "ios": "13.0" + }, + "es.symbol.replace": { + "chrome": "50", + "firefox": "49", + "safari": "10.0", + "edge": "74", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.symbol.search": { + "chrome": "50", + "firefox": "49", + "safari": "10.0", + "edge": "74", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.symbol.species": { + "edge": "13", + "chrome": "51", + "firefox": "41", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.symbol.split": { + "chrome": "50", + "firefox": "49", + "safari": "10.0", + "edge": "74", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.symbol.to-primitive": { + "edge": "15", + "chrome": "47", + "firefox": "44", + "safari": "10.0", + "opera": "34", + "node": "6.0", + "samsung": "5.0", + "electron": "0.36", + "ios": "10.0" + }, + "es.symbol.to-string-tag": { + "edge": "15", + "chrome": "49", + "firefox": "51", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.symbol.unscopables": { + "edge": "13", + "chrome": "39", + "firefox": "48", + "safari": "9.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.concat": { + "edge": "15", + "chrome": "51", + "firefox": "48", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.copy-within": { + "edge": "13", + "chrome": "45", + "firefox": "48", + "safari": "9.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "9.0" + }, + "es.array.every": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.fill": { + "edge": "13", + "chrome": "45", + "firefox": "4", + "safari": "9.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "9.0" + }, + "es.array.filter": { + "edge": "13", + "chrome": "51", + "firefox": "48", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.find": { + "edge": "13", + "chrome": "45", + "firefox": "48", + "safari": "9.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "9.0" + }, + "es.array.find-index": { + "edge": "13", + "chrome": "45", + "firefox": "48", + "safari": "9.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "9.0" + }, + "es.array.flat": { + "chrome": "69", + "firefox": "62", + "safari": "12.0", + "edge": "74", + "opera": "56", + "node": "11.0", + "samsung": "10.2", + "electron": "4.0", + "ios": "12.0" + }, + "es.array.flat-map": { + "chrome": "69", + "firefox": "62", + "safari": "12.0", + "edge": "74", + "opera": "56", + "node": "11.0", + "samsung": "10.2", + "electron": "4.0", + "ios": "12.0" + }, + "es.array.for-each": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.from": { + "edge": "15", + "chrome": "51", + "firefox": "53", + "safari": "9.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "9.0" + }, + "es.array.includes": { + "edge": "14", + "chrome": "53", + "firefox": "48", + "safari": "10.0", + "opera": "40", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "10.0" + }, + "es.array.index-of": { + "ie": "9", + "chrome": "51", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "9.0" + }, + "es.array.is-array": { + "ie": "9", + "chrome": "5", + "opera": "10.50", + "android": "4.0", + "firefox": "4", + "safari": "4.0", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "electron": "0.20", + "ios": "6.0", + "phantom": "1.9" + }, + "es.array.iterator": { + "edge": "15", + "chrome": "66", + "firefox": "60", + "safari": "10.0", + "opera": "53", + "node": "10.0", + "samsung": "9.2", + "electron": "3.0", + "ios": "10.0" + }, + "es.array.join": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.last-index-of": { + "ie": "9", + "chrome": "51", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "9.0" + }, + "es.array.map": { + "edge": "13", + "chrome": "51", + "firefox": "48", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.of": { + "edge": "13", + "chrome": "45", + "firefox": "25", + "safari": "9.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "9.0" + }, + "es.array.reduce": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.reduce-right": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.reverse": { + "ie": "8", + "chrome": "26", + "firefox": "4", + "safari": "12.0.2", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "13.0" + }, + "es.array.slice": { + "edge": "13", + "chrome": "51", + "firefox": "48", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.some": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.array.sort": { + "ie": "9", + "chrome": "63", + "firefox": "4", + "safari": "12.0", + "edge": "12", + "opera": "50", + "node": "10.0", + "samsung": "8.2", + "electron": "3.0", + "ios": "12.0" + }, + "es.array.species": { + "edge": "13", + "chrome": "51", + "firefox": "48", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.splice": { + "edge": "13", + "chrome": "51", + "firefox": "49", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.array.unscopables.flat": { + "firefox": "67", + "chrome": "73", + "safari": "13", + "edge": "74", + "opera": "60", + "node": "12.0", + "electron": "5.0", + "ios": "13.0" + }, + "es.array.unscopables.flat-map": { + "firefox": "67", + "chrome": "73", + "safari": "13", + "edge": "74", + "opera": "60", + "node": "12.0", + "electron": "5.0", + "ios": "13.0" + }, + "es.array-buffer.constructor": { + "edge": "14", + "chrome": "26", + "firefox": "44", + "safari": "12.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "12.0" + }, + "es.array-buffer.is-view": { + "ie": "11", + "chrome": "32", + "firefox": "29", + "safari": "8.0", + "edge": "12", + "opera": "19", + "node": "4.0", + "samsung": "2.1", + "android": "4.4.3", + "electron": "0.20", + "ios": "9.0" + }, + "es.array-buffer.slice": { + "ie": "11", + "chrome": "31", + "firefox": "46", + "safari": "12.1", + "edge": "12", + "opera": "18", + "node": "4.0", + "samsung": "2.1", + "android": "4.4.3", + "electron": "0.20", + "ios": "13.0" + }, + "es.data-view": { + "ie": "10", + "chrome": "26", + "firefox": "15", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.date.now": { + "ie": "9", + "chrome": "5", + "opera": "10.50", + "android": "4.0", + "firefox": "2", + "safari": "4.0", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "electron": "0.20", + "ios": "6.0", + "phantom": "1.9" + }, + "es.date.to-iso-string": { + "ie": "9", + "chrome": "26", + "firefox": "7", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.date.to-json": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "10.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "10.0" + }, + "es.date.to-primitive": { + "edge": "15", + "chrome": "47", + "firefox": "44", + "safari": "10.0", + "opera": "34", + "node": "6.0", + "samsung": "5.0", + "electron": "0.36", + "ios": "10.0" + }, + "es.date.to-string": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.function.bind": { + "ie": "9", + "chrome": "7", + "opera": "12", + "android": "4.0", + "firefox": "4", + "safari": "5.1", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "electron": "0.20", + "ios": "6.0", + "phantom": "2.0" + }, + "es.function.has-instance": { + "edge": "15", + "chrome": "51", + "firefox": "50", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.function.name": { + "edge": "14", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.global-this": { + "chrome": "71", + "firefox": "65", + "safari": "12.1", + "edge": "74", + "opera": "58", + "node": "12.0", + "samsung": "10.2", + "electron": "5.0", + "ios": "13.0" + }, + "es.json.stringify": { + "chrome": "72", + "firefox": "64", + "safari": "12.1", + "edge": "74", + "opera": "59", + "node": "12.0", + "electron": "5.0", + "ios": "13.0" + }, + "es.json.to-string-tag": { + "edge": "15", + "chrome": "50", + "firefox": "51", + "safari": "10.0", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.map": { + "edge": "15", + "chrome": "51", + "firefox": "53", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.math.acosh": { + "edge": "13", + "chrome": "54", + "firefox": "25", + "safari": "8.0", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "9.0" + }, + "es.math.asinh": { + "edge": "13", + "chrome": "38", + "firefox": "25", + "safari": "8.0", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.atanh": { + "edge": "13", + "chrome": "38", + "firefox": "25", + "safari": "8.0", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.cbrt": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.clz32": { + "edge": "12", + "chrome": "38", + "firefox": "31", + "safari": "9.0", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.cosh": { + "edge": "13", + "chrome": "39", + "firefox": "25", + "safari": "8.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.expm1": { + "edge": "13", + "chrome": "39", + "firefox": "46", + "safari": "8.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.fround": { + "edge": "12", + "chrome": "38", + "firefox": "26", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.hypot": { + "edge": "12", + "chrome": "78", + "firefox": "27", + "safari": "7.1", + "opera": "65", + "node": "13.0", + "electron": "7.0", + "ios": "8.0" + }, + "es.math.imul": { + "edge": "13", + "chrome": "28", + "firefox": "20", + "safari": "9.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.log10": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.log1p": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.log2": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.sign": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "9.0", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.sinh": { + "edge": "13", + "chrome": "39", + "firefox": "25", + "safari": "8.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.math.tanh": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.math.to-string-tag": { + "edge": "15", + "chrome": "50", + "firefox": "51", + "safari": "10.0", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.math.trunc": { + "edge": "12", + "chrome": "38", + "firefox": "25", + "safari": "7.1", + "opera": "25", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "8.0" + }, + "es.number.constructor": { + "edge": "13", + "chrome": "41", + "firefox": "46", + "safari": "9.0", + "opera": "28", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.number.epsilon": { + "edge": "12", + "chrome": "34", + "firefox": "25", + "safari": "9.0", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.is-finite": { + "edge": "12", + "chrome": "19", + "android": "4.1", + "firefox": "16", + "safari": "9.0", + "opera": "15", + "node": "0.12", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.is-integer": { + "edge": "12", + "chrome": "34", + "firefox": "16", + "safari": "9.0", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.is-nan": { + "edge": "12", + "chrome": "19", + "android": "4.1", + "firefox": "15", + "safari": "9.0", + "opera": "15", + "node": "0.12", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.is-safe-integer": { + "edge": "12", + "chrome": "34", + "firefox": "32", + "safari": "9.0", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.max-safe-integer": { + "edge": "12", + "chrome": "34", + "firefox": "31", + "safari": "9.0", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.min-safe-integer": { + "edge": "12", + "chrome": "34", + "firefox": "31", + "safari": "9.0", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.parse-float": { + "edge": "13", + "chrome": "35", + "firefox": "39", + "safari": "11.0", + "opera": "22", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "11.0" + }, + "es.number.parse-int": { + "edge": "13", + "chrome": "35", + "firefox": "39", + "safari": "9.0", + "opera": "22", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.to-fixed": { + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "74", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.number.to-precision": { + "ie": "8", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.object.assign": { + "edge": "13", + "chrome": "49", + "firefox": "36", + "safari": "9.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "9.0" + }, + "es.object.create": { + "ie": "9", + "chrome": "5", + "opera": "12", + "android": "4.0", + "firefox": "4", + "safari": "4.0", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "electron": "0.20", + "ios": "6.0", + "phantom": "1.9" + }, + "es.object.define-getter": { + "edge": "16", + "chrome": "62", + "firefox": "48", + "safari": "8.0", + "opera": "49", + "node": "8.10", + "samsung": "8.2", + "electron": "3.0", + "ios": "9.0" + }, + "es.object.define-properties": { + "ie": "9", + "chrome": "5", + "opera": "12", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.object.define-property": { + "ie": "9", + "chrome": "5", + "opera": "12", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "node": "0.10", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.object.define-setter": { + "edge": "16", + "chrome": "62", + "firefox": "48", + "safari": "8.0", + "opera": "49", + "node": "8.10", + "samsung": "8.2", + "electron": "3.0", + "ios": "9.0" + }, + "es.object.entries": { + "edge": "14", + "chrome": "54", + "firefox": "47", + "safari": "10.1", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "10.3" + }, + "es.object.freeze": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.from-entries": { + "chrome": "73", + "firefox": "63", + "safari": "12.1", + "edge": "74", + "opera": "60", + "node": "12.0", + "electron": "5.0", + "ios": "13.0" + }, + "es.object.get-own-property-descriptor": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.get-own-property-descriptors": { + "edge": "15", + "chrome": "54", + "firefox": "50", + "safari": "10.0", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "10.0" + }, + "es.object.get-own-property-names": { + "edge": "13", + "chrome": "40", + "firefox": "34", + "safari": "9.0", + "opera": "27", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.object.get-prototype-of": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.is": { + "edge": "12", + "chrome": "19", + "android": "4.1", + "firefox": "22", + "safari": "9.0", + "opera": "15", + "node": "0.12", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.object.is-extensible": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.is-frozen": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.is-sealed": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.keys": { + "edge": "13", + "chrome": "40", + "firefox": "35", + "safari": "9.0", + "opera": "27", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.object.lookup-getter": { + "edge": "16", + "chrome": "62", + "firefox": "48", + "safari": "8.0", + "opera": "49", + "node": "8.10", + "samsung": "8.2", + "electron": "3.0", + "ios": "9.0" + }, + "es.object.lookup-setter": { + "edge": "16", + "chrome": "62", + "firefox": "48", + "safari": "8.0", + "opera": "49", + "node": "8.10", + "samsung": "8.2", + "electron": "3.0", + "ios": "9.0" + }, + "es.object.prevent-extensions": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.seal": { + "edge": "13", + "chrome": "44", + "firefox": "35", + "safari": "9.0", + "opera": "31", + "node": "4.0", + "samsung": "4.0", + "electron": "0.30", + "ios": "9.0" + }, + "es.object.set-prototype-of": { + "ie": "11", + "chrome": "34", + "firefox": "31", + "safari": "9.0", + "edge": "12", + "opera": "21", + "node": "4.0", + "samsung": "2.1", + "electron": "0.20", + "ios": "9.0" + }, + "es.object.to-string": { + "edge": "15", + "chrome": "49", + "firefox": "51", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.object.values": { + "edge": "14", + "chrome": "54", + "firefox": "47", + "safari": "10.1", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "10.3" + }, + "es.parse-float": { + "ie": "8", + "chrome": "35", + "firefox": "8", + "safari": "8.0", + "edge": "12", + "opera": "22", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.parse-int": { + "ie": "9", + "chrome": "35", + "firefox": "21", + "safari": "8.0", + "edge": "12", + "opera": "22", + "node": "4.0", + "samsung": "3.0", + "electron": "0.20", + "ios": "9.0" + }, + "es.promise": { + "chrome": "67", + "firefox": "69", + "safari": "11.0", + "edge": "74", + "opera": "54", + "node": "10.4", + "samsung": "9.2", + "electron": "4.0", + "ios": "11.0" + }, + "es.promise.all-settled": { + "chrome": "76", + "firefox": "71", + "safari": "13", + "edge": "76", + "opera": "63", + "node": "12.9", + "electron": "6.0", + "ios": "13.0" + }, + "es.promise.finally": { + "chrome": "67", + "firefox": "69", + "safari": "12.0", + "edge": "74", + "opera": "54", + "node": "10.4", + "samsung": "9.2", + "electron": "4.0", + "ios": "12.0" + }, + "es.reflect.apply": { + "edge": "15", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.construct": { + "edge": "15", + "chrome": "49", + "firefox": "44", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.define-property": { + "edge": "13", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.delete-property": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.get": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.get-own-property-descriptor": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.get-prototype-of": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.has": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.is-extensible": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.own-keys": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.prevent-extensions": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.set": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.reflect.set-prototype-of": { + "edge": "12", + "chrome": "49", + "firefox": "42", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.regexp.constructor": { + "safari": "10.0", + "chrome": "51", + "firefox": "49", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.regexp.exec": { + "ie": "9", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "edge": "12", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.regexp.flags": { + "chrome": "49", + "firefox": "37", + "safari": "9.0", + "edge": "74", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "9.0" + }, + "es.regexp.to-string": { + "chrome": "50", + "firefox": "46", + "safari": "10.0", + "edge": "74", + "opera": "37", + "node": "6.0", + "samsung": "5.0", + "electron": "1.1", + "ios": "10.0" + }, + "es.set": { + "edge": "15", + "chrome": "51", + "firefox": "53", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.code-point-at": { + "edge": "13", + "chrome": "41", + "firefox": "29", + "safari": "9.0", + "opera": "28", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.string.ends-with": { + "chrome": "51", + "firefox": "40", + "safari": "10.0", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.from-code-point": { + "edge": "13", + "chrome": "41", + "firefox": "29", + "safari": "9.0", + "opera": "28", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.string.includes": { + "chrome": "51", + "firefox": "40", + "safari": "10.0", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.iterator": { + "edge": "13", + "chrome": "39", + "firefox": "36", + "safari": "9.0", + "opera": "26", + "node": "4.0", + "samsung": "3.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.match": { + "chrome": "51", + "firefox": "49", + "safari": "10.0", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.match-all": { + "chrome": "80", + "edge": "80", + "opera": "67" + }, + "es.string.pad-end": { + "edge": "15", + "chrome": "57", + "firefox": "48", + "safari": "11.0", + "opera": "44", + "node": "8.0", + "samsung": "7.2", + "electron": "1.7", + "ios": "11.0" + }, + "es.string.pad-start": { + "edge": "15", + "chrome": "57", + "firefox": "48", + "safari": "11.0", + "opera": "44", + "node": "8.0", + "samsung": "7.2", + "electron": "1.7", + "ios": "11.0" + }, + "es.string.raw": { + "edge": "13", + "chrome": "41", + "firefox": "34", + "safari": "9.0", + "opera": "28", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.string.repeat": { + "edge": "13", + "chrome": "41", + "firefox": "24", + "safari": "9.0", + "opera": "28", + "node": "4.0", + "samsung": "3.4", + "electron": "0.21", + "ios": "9.0" + }, + "es.string.replace": { + "chrome": "64", + "edge": "74", + "opera": "51", + "node": "10.0", + "samsung": "9.2", + "electron": "3.0" + }, + "es.string.search": { + "safari": "10.0", + "firefox": "49", + "chrome": "51", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.split": { + "safari": "10.0", + "firefox": "49", + "chrome": "54", + "edge": "74", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4", + "ios": "10.0" + }, + "es.string.starts-with": { + "safari": "10.0", + "chrome": "51", + "firefox": "40", + "edge": "74", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.string.trim": { + "edge": "15", + "chrome": "59", + "firefox": "52", + "safari": "12.1", + "opera": "46", + "node": "8.3", + "samsung": "7.2", + "electron": "1.8", + "ios": "13.0" + }, + "es.string.trim-end": { + "chrome": "66", + "firefox": "61", + "safari": "12.1", + "edge": "74", + "opera": "53", + "node": "10.0", + "samsung": "9.2", + "electron": "3.0", + "ios": "13.0" + }, + "es.string.trim-start": { + "chrome": "66", + "firefox": "61", + "safari": "12.0", + "edge": "74", + "opera": "53", + "node": "10.0", + "samsung": "9.2", + "electron": "3.0", + "ios": "12.0" + }, + "es.string.anchor": { + "edge": "13", + "chrome": "26", + "firefox": "17", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.big": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.blink": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.bold": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.fixed": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.fontcolor": { + "edge": "13", + "chrome": "26", + "firefox": "17", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.fontsize": { + "edge": "13", + "chrome": "26", + "firefox": "17", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.italics": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.link": { + "edge": "13", + "chrome": "26", + "firefox": "17", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.small": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.strike": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.sub": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.string.sup": { + "edge": "13", + "chrome": "26", + "firefox": "4", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.typed-array.float32-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.float64-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.int8-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.int16-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.int32-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.uint8-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.uint8-clamped-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.uint16-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.uint32-array": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.copy-within": { + "edge": "13", + "chrome": "45", + "firefox": "34", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.every": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.fill": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.filter": { + "edge": "13", + "chrome": "45", + "firefox": "38", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.find": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.find-index": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.for-each": { + "edge": "13", + "chrome": "45", + "firefox": "38", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.from": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.includes": { + "edge": "14", + "chrome": "49", + "firefox": "43", + "safari": "10.0", + "opera": "36", + "node": "6.0", + "samsung": "5.0", + "electron": "0.37", + "ios": "10.0" + }, + "es.typed-array.index-of": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.iterator": { + "edge": "13", + "chrome": "47", + "firefox": "37", + "safari": "10.0", + "opera": "34", + "node": "6.0", + "samsung": "5.0", + "electron": "0.36", + "ios": "10.0" + }, + "es.typed-array.join": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.last-index-of": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.map": { + "edge": "13", + "chrome": "45", + "firefox": "38", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.of": { + "edge": "15", + "chrome": "54", + "firefox": "55", + "opera": "41", + "node": "7.0", + "samsung": "6.2", + "electron": "1.4" + }, + "es.typed-array.reduce": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.reduce-right": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.reverse": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.set": { + "edge": "13", + "chrome": "26", + "firefox": "15", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.typed-array.slice": { + "edge": "13", + "chrome": "45", + "firefox": "38", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.some": { + "edge": "13", + "chrome": "45", + "firefox": "37", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.sort": { + "edge": "13", + "chrome": "45", + "firefox": "46", + "safari": "10.0", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.subarray": { + "edge": "13", + "chrome": "26", + "firefox": "15", + "safari": "8.0", + "opera": "16", + "node": "0.12", + "samsung": "2.1", + "android": "4.4", + "electron": "0.20", + "ios": "9.0" + }, + "es.typed-array.to-locale-string": { + "chrome": "45", + "firefox": "51", + "safari": "10.0", + "edge": "74", + "opera": "32", + "node": "4.0", + "samsung": "5.0", + "electron": "0.31", + "ios": "10.0" + }, + "es.typed-array.to-string": { + "edge": "13", + "chrome": "51", + "firefox": "51", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.weak-map": { + "edge": "15", + "chrome": "51", + "firefox": "53", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "es.weak-set": { + "edge": "15", + "chrome": "51", + "firefox": "53", + "safari": "10.0", + "opera": "38", + "node": "6.5", + "samsung": "5.0", + "electron": "1.2", + "ios": "10.0" + }, + "esnext.aggregate-error": {}, + "esnext.array.is-template-object": {}, + "esnext.array.last-index": {}, + "esnext.array.last-item": {}, + "esnext.async-iterator.constructor": {}, + "esnext.async-iterator.as-indexed-pairs": {}, + "esnext.async-iterator.drop": {}, + "esnext.async-iterator.every": {}, + "esnext.async-iterator.filter": {}, + "esnext.async-iterator.find": {}, + "esnext.async-iterator.flat-map": {}, + "esnext.async-iterator.for-each": {}, + "esnext.async-iterator.from": {}, + "esnext.async-iterator.map": {}, + "esnext.async-iterator.reduce": {}, + "esnext.async-iterator.some": {}, + "esnext.async-iterator.take": {}, + "esnext.async-iterator.to-array": {}, + "esnext.composite-key": {}, + "esnext.composite-symbol": {}, + "esnext.global-this": { + "chrome": "71", + "firefox": "65", + "safari": "12.1", + "edge": "74", + "opera": "58", + "node": "12.0", + "samsung": "10.2", + "electron": "5.0", + "ios": "13.0" + }, + "esnext.iterator.constructor": {}, + "esnext.iterator.as-indexed-pairs": {}, + "esnext.iterator.drop": {}, + "esnext.iterator.every": {}, + "esnext.iterator.filter": {}, + "esnext.iterator.find": {}, + "esnext.iterator.flat-map": {}, + "esnext.iterator.for-each": {}, + "esnext.iterator.from": {}, + "esnext.iterator.map": {}, + "esnext.iterator.reduce": {}, + "esnext.iterator.some": {}, + "esnext.iterator.take": {}, + "esnext.iterator.to-array": {}, + "esnext.map.delete-all": {}, + "esnext.map.every": {}, + "esnext.map.filter": {}, + "esnext.map.find": {}, + "esnext.map.find-key": {}, + "esnext.map.from": {}, + "esnext.map.group-by": {}, + "esnext.map.includes": {}, + "esnext.map.key-by": {}, + "esnext.map.key-of": {}, + "esnext.map.map-keys": {}, + "esnext.map.map-values": {}, + "esnext.map.merge": {}, + "esnext.map.of": {}, + "esnext.map.reduce": {}, + "esnext.map.some": {}, + "esnext.map.update": {}, + "esnext.map.update-or-insert": {}, + "esnext.map.upsert": {}, + "esnext.math.clamp": {}, + "esnext.math.deg-per-rad": {}, + "esnext.math.degrees": {}, + "esnext.math.fscale": {}, + "esnext.math.iaddh": {}, + "esnext.math.imulh": {}, + "esnext.math.isubh": {}, + "esnext.math.rad-per-deg": {}, + "esnext.math.radians": {}, + "esnext.math.scale": {}, + "esnext.math.seeded-prng": {}, + "esnext.math.signbit": {}, + "esnext.math.umulh": {}, + "esnext.number.from-string": {}, + "esnext.observable": {}, + "esnext.promise.all-settled": { + "chrome": "76", + "firefox": "71", + "safari": "13", + "edge": "76", + "opera": "63", + "node": "12.9", + "electron": "6.0", + "ios": "13.0" + }, + "esnext.promise.any": {}, + "esnext.promise.try": {}, + "esnext.reflect.define-metadata": {}, + "esnext.reflect.delete-metadata": {}, + "esnext.reflect.get-metadata": {}, + "esnext.reflect.get-metadata-keys": {}, + "esnext.reflect.get-own-metadata": {}, + "esnext.reflect.get-own-metadata-keys": {}, + "esnext.reflect.has-metadata": {}, + "esnext.reflect.has-own-metadata": {}, + "esnext.reflect.metadata": {}, + "esnext.set.add-all": {}, + "esnext.set.delete-all": {}, + "esnext.set.difference": {}, + "esnext.set.every": {}, + "esnext.set.filter": {}, + "esnext.set.find": {}, + "esnext.set.from": {}, + "esnext.set.intersection": {}, + "esnext.set.is-disjoint-from": {}, + "esnext.set.is-subset-of": {}, + "esnext.set.is-superset-of": {}, + "esnext.set.join": {}, + "esnext.set.map": {}, + "esnext.set.of": {}, + "esnext.set.reduce": {}, + "esnext.set.some": {}, + "esnext.set.symmetric-difference": {}, + "esnext.set.union": {}, + "esnext.string.at": {}, + "esnext.string.code-points": {}, + "esnext.string.match-all": { + "chrome": "80", + "edge": "80", + "opera": "67" + }, + "esnext.string.replace-all": { + "firefox": "72" + }, + "esnext.symbol.async-dispose": {}, + "esnext.symbol.dispose": {}, + "esnext.symbol.observable": {}, + "esnext.symbol.pattern-match": {}, + "esnext.symbol.replace-all": {}, + "esnext.weak-map.delete-all": {}, + "esnext.weak-map.from": {}, + "esnext.weak-map.of": {}, + "esnext.weak-map.upsert": {}, + "esnext.weak-set.add-all": {}, + "esnext.weak-set.delete-all": {}, + "esnext.weak-set.from": {}, + "esnext.weak-set.of": {}, + "web.dom-collections.for-each": { + "edge": "16", + "chrome": "58", + "node": "0.10", + "firefox": "50", + "safari": "10.0", + "opera": "45", + "samsung": "7.2", + "electron": "1.7", + "ios": "10.0" + }, + "web.dom-collections.iterator": { + "chrome": "66", + "node": "0.10", + "firefox": "60", + "edge": "74", + "opera": "53", + "samsung": "9.2", + "electron": "3.0" + }, + "web.immediate": { + "ie": "10", + "node": "0.10" + }, + "web.queue-microtask": { + "chrome": "71", + "node": "12.0", + "firefox": "69", + "safari": "12.1", + "edge": "74", + "opera": "58", + "samsung": "10.2", + "electron": "5.0", + "ios": "13.0" + }, + "web.timers": { + "ie": "10", + "chrome": "1", + "opera": "7", + "node": "0.10", + "android": "1.5", + "firefox": "1", + "safari": "1.0", + "edge": "12", + "samsung": "2.1", + "electron": "0.20", + "ios": "6.0", + "phantom": "1.9" + }, + "web.url": { + "chrome": "67", + "node": "10.0", + "firefox": "57", + "edge": "74", + "opera": "54", + "samsung": "9.2", + "electron": "4.0" + }, + "web.url.to-json": { + "chrome": "71", + "node": "10.0", + "firefox": "57", + "edge": "74", + "opera": "58", + "samsung": "10.2", + "electron": "5.0" + }, + "web.url-search-params": { + "chrome": "67", + "node": "10.0", + "firefox": "57", + "edge": "74", + "opera": "54", + "samsung": "9.2", + "electron": "4.0" + } +} +},{}],304:[function(require,module,exports){ +module.exports={ + "core-js": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.data-view", + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string", + "es.function.bind", + "es.function.has-instance", + "es.function.name", + "es.global-this", + "es.json.to-string-tag", + "es.map", + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values", + "es.parse-float", + "es.parse-int", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.set", + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string", + "es.weak-map", + "es.weak-set", + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.dom-collections.for-each", + "web.dom-collections.iterator", + "web.immediate", + "web.queue-microtask", + "web.timers", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/es/array-buffer/constructor": [ + "es.array-buffer.constructor", + "es.object.to-string" + ], + "core-js/es/array-buffer": [ + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.object.to-string" + ], + "core-js/es/array-buffer/is-view": [ + "es.array-buffer.is-view" + ], + "core-js/es/array-buffer/slice": [ + "es.array-buffer.slice" + ], + "core-js/es/array/concat": [ + "es.array.concat" + ], + "core-js/es/array/copy-within": [ + "es.array.copy-within" + ], + "core-js/es/array/entries": [ + "es.array.iterator" + ], + "core-js/es/array/every": [ + "es.array.every" + ], + "core-js/es/array/fill": [ + "es.array.fill" + ], + "core-js/es/array/filter": [ + "es.array.filter" + ], + "core-js/es/array/find-index": [ + "es.array.find-index" + ], + "core-js/es/array/find": [ + "es.array.find" + ], + "core-js/es/array/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/es/array/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/es/array/for-each": [ + "es.array.for-each" + ], + "core-js/es/array/from": [ + "es.array.from", + "es.string.iterator" + ], + "core-js/es/array/includes": [ + "es.array.includes" + ], + "core-js/es/array/index-of": [ + "es.array.index-of" + ], + "core-js/es/array": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.string.iterator" + ], + "core-js/es/array/is-array": [ + "es.array.is-array" + ], + "core-js/es/array/iterator": [ + "es.array.iterator" + ], + "core-js/es/array/join": [ + "es.array.join" + ], + "core-js/es/array/keys": [ + "es.array.iterator" + ], + "core-js/es/array/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/es/array/map": [ + "es.array.map" + ], + "core-js/es/array/of": [ + "es.array.of" + ], + "core-js/es/array/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/es/array/reduce": [ + "es.array.reduce" + ], + "core-js/es/array/reverse": [ + "es.array.reverse" + ], + "core-js/es/array/slice": [ + "es.array.slice" + ], + "core-js/es/array/some": [ + "es.array.some" + ], + "core-js/es/array/sort": [ + "es.array.sort" + ], + "core-js/es/array/splice": [ + "es.array.splice" + ], + "core-js/es/array/values": [ + "es.array.iterator" + ], + "core-js/es/array/virtual/concat": [ + "es.array.concat" + ], + "core-js/es/array/virtual/copy-within": [ + "es.array.copy-within" + ], + "core-js/es/array/virtual/entries": [ + "es.array.iterator" + ], + "core-js/es/array/virtual/every": [ + "es.array.every" + ], + "core-js/es/array/virtual/fill": [ + "es.array.fill" + ], + "core-js/es/array/virtual/filter": [ + "es.array.filter" + ], + "core-js/es/array/virtual/find-index": [ + "es.array.find-index" + ], + "core-js/es/array/virtual/find": [ + "es.array.find" + ], + "core-js/es/array/virtual/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/es/array/virtual/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/es/array/virtual/for-each": [ + "es.array.for-each" + ], + "core-js/es/array/virtual/includes": [ + "es.array.includes" + ], + "core-js/es/array/virtual/index-of": [ + "es.array.index-of" + ], + "core-js/es/array/virtual": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.includes", + "es.array.index-of", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map" + ], + "core-js/es/array/virtual/iterator": [ + "es.array.iterator" + ], + "core-js/es/array/virtual/join": [ + "es.array.join" + ], + "core-js/es/array/virtual/keys": [ + "es.array.iterator" + ], + "core-js/es/array/virtual/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/es/array/virtual/map": [ + "es.array.map" + ], + "core-js/es/array/virtual/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/es/array/virtual/reduce": [ + "es.array.reduce" + ], + "core-js/es/array/virtual/reverse": [ + "es.array.reverse" + ], + "core-js/es/array/virtual/slice": [ + "es.array.slice" + ], + "core-js/es/array/virtual/some": [ + "es.array.some" + ], + "core-js/es/array/virtual/sort": [ + "es.array.sort" + ], + "core-js/es/array/virtual/splice": [ + "es.array.splice" + ], + "core-js/es/array/virtual/values": [ + "es.array.iterator" + ], + "core-js/es/data-view": [ + "es.data-view", + "es.object.to-string" + ], + "core-js/es/date": [ + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string" + ], + "core-js/es/date/now": [ + "es.date.now" + ], + "core-js/es/date/to-iso-string": [ + "es.date.to-iso-string", + "es.date.to-json" + ], + "core-js/es/date/to-json": [ + "es.date.to-json" + ], + "core-js/es/date/to-primitive": [ + "es.date.to-primitive" + ], + "core-js/es/date/to-string": [ + "es.date.to-string" + ], + "core-js/es/function/bind": [ + "es.function.bind" + ], + "core-js/es/function/has-instance": [ + "es.function.has-instance" + ], + "core-js/es/function": [ + "es.function.bind", + "es.function.has-instance", + "es.function.name" + ], + "core-js/es/function/name": [ + "es.function.name" + ], + "core-js/es/function/virtual/bind": [ + "es.function.bind" + ], + "core-js/es/function/virtual": [ + "es.function.bind" + ], + "core-js/es/global-this": [ + "es.global-this" + ], + "core-js/es": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.data-view", + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string", + "es.function.bind", + "es.function.has-instance", + "es.function.name", + "es.global-this", + "es.json.to-string-tag", + "es.map", + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values", + "es.parse-float", + "es.parse-int", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.set", + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string", + "es.weak-map", + "es.weak-set" + ], + "core-js/es/instance/bind": [ + "es.function.bind" + ], + "core-js/es/instance/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/es/instance/concat": [ + "es.array.concat" + ], + "core-js/es/instance/copy-within": [ + "es.array.copy-within" + ], + "core-js/es/instance/ends-with": [ + "es.string.ends-with" + ], + "core-js/es/instance/entries": [ + "es.array.iterator" + ], + "core-js/es/instance/every": [ + "es.array.every" + ], + "core-js/es/instance/fill": [ + "es.array.fill" + ], + "core-js/es/instance/filter": [ + "es.array.filter" + ], + "core-js/es/instance/find-index": [ + "es.array.find-index" + ], + "core-js/es/instance/find": [ + "es.array.find" + ], + "core-js/es/instance/flags": [ + "es.regexp.flags" + ], + "core-js/es/instance/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/es/instance/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/es/instance/for-each": [ + "es.array.for-each" + ], + "core-js/es/instance/includes": [ + "es.array.includes", + "es.string.includes" + ], + "core-js/es/instance/index-of": [ + "es.array.index-of" + ], + "core-js/es/instance/keys": [ + "es.array.iterator" + ], + "core-js/es/instance/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/es/instance/map": [ + "es.array.map" + ], + "core-js/es/instance/match-all": [ + "es.string.match-all" + ], + "core-js/es/instance/pad-end": [ + "es.string.pad-end" + ], + "core-js/es/instance/pad-start": [ + "es.string.pad-start" + ], + "core-js/es/instance/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/es/instance/reduce": [ + "es.array.reduce" + ], + "core-js/es/instance/repeat": [ + "es.string.repeat" + ], + "core-js/es/instance/reverse": [ + "es.array.reverse" + ], + "core-js/es/instance/slice": [ + "es.array.slice" + ], + "core-js/es/instance/some": [ + "es.array.some" + ], + "core-js/es/instance/sort": [ + "es.array.sort" + ], + "core-js/es/instance/splice": [ + "es.array.splice" + ], + "core-js/es/instance/starts-with": [ + "es.string.starts-with" + ], + "core-js/es/instance/trim-end": [ + "es.string.trim-end" + ], + "core-js/es/instance/trim-left": [ + "es.string.trim-start" + ], + "core-js/es/instance/trim-right": [ + "es.string.trim-end" + ], + "core-js/es/instance/trim-start": [ + "es.string.trim-start" + ], + "core-js/es/instance/trim": [ + "es.string.trim" + ], + "core-js/es/instance/values": [ + "es.array.iterator" + ], + "core-js/es/json": [ + "es.json.to-string-tag" + ], + "core-js/es/json/stringify": [ + "es.json.stringify" + ], + "core-js/es/json/to-string-tag": [ + "es.json.to-string-tag" + ], + "core-js/es/map": [ + "es.map", + "es.object.to-string", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/es/math/acosh": [ + "es.math.acosh" + ], + "core-js/es/math/asinh": [ + "es.math.asinh" + ], + "core-js/es/math/atanh": [ + "es.math.atanh" + ], + "core-js/es/math/cbrt": [ + "es.math.cbrt" + ], + "core-js/es/math/clz32": [ + "es.math.clz32" + ], + "core-js/es/math/cosh": [ + "es.math.cosh" + ], + "core-js/es/math/expm1": [ + "es.math.expm1" + ], + "core-js/es/math/fround": [ + "es.math.fround" + ], + "core-js/es/math/hypot": [ + "es.math.hypot" + ], + "core-js/es/math/imul": [ + "es.math.imul" + ], + "core-js/es/math": [ + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc" + ], + "core-js/es/math/log10": [ + "es.math.log10" + ], + "core-js/es/math/log1p": [ + "es.math.log1p" + ], + "core-js/es/math/log2": [ + "es.math.log2" + ], + "core-js/es/math/sign": [ + "es.math.sign" + ], + "core-js/es/math/sinh": [ + "es.math.sinh" + ], + "core-js/es/math/tanh": [ + "es.math.tanh" + ], + "core-js/es/math/to-string-tag": [ + "es.math.to-string-tag" + ], + "core-js/es/math/trunc": [ + "es.math.trunc" + ], + "core-js/es/number/constructor": [ + "es.number.constructor" + ], + "core-js/es/number/epsilon": [ + "es.number.epsilon" + ], + "core-js/es/number": [ + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision" + ], + "core-js/es/number/is-finite": [ + "es.number.is-finite" + ], + "core-js/es/number/is-integer": [ + "es.number.is-integer" + ], + "core-js/es/number/is-nan": [ + "es.number.is-nan" + ], + "core-js/es/number/is-safe-integer": [ + "es.number.is-safe-integer" + ], + "core-js/es/number/max-safe-integer": [ + "es.number.max-safe-integer" + ], + "core-js/es/number/min-safe-integer": [ + "es.number.min-safe-integer" + ], + "core-js/es/number/parse-float": [ + "es.number.parse-float" + ], + "core-js/es/number/parse-int": [ + "es.number.parse-int" + ], + "core-js/es/number/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/es/number/to-precision": [ + "es.number.to-precision" + ], + "core-js/es/number/virtual": [ + "es.number.to-fixed", + "es.number.to-precision" + ], + "core-js/es/number/virtual/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/es/number/virtual/to-precision": [ + "es.number.to-precision" + ], + "core-js/es/object/assign": [ + "es.object.assign" + ], + "core-js/es/object/create": [ + "es.object.create" + ], + "core-js/es/object/define-getter": [ + "es.object.define-getter" + ], + "core-js/es/object/define-properties": [ + "es.object.define-properties" + ], + "core-js/es/object/define-property": [ + "es.object.define-property" + ], + "core-js/es/object/define-setter": [ + "es.object.define-setter" + ], + "core-js/es/object/entries": [ + "es.object.entries" + ], + "core-js/es/object/freeze": [ + "es.object.freeze" + ], + "core-js/es/object/from-entries": [ + "es.array.iterator", + "es.object.from-entries" + ], + "core-js/es/object/get-own-property-descriptor": [ + "es.object.get-own-property-descriptor" + ], + "core-js/es/object/get-own-property-descriptors": [ + "es.object.get-own-property-descriptors" + ], + "core-js/es/object/get-own-property-names": [ + "es.object.get-own-property-names" + ], + "core-js/es/object/get-own-property-symbols": [ + "es.symbol" + ], + "core-js/es/object/get-prototype-of": [ + "es.object.get-prototype-of" + ], + "core-js/es/object": [ + "es.symbol", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values" + ], + "core-js/es/object/is-extensible": [ + "es.object.is-extensible" + ], + "core-js/es/object/is-frozen": [ + "es.object.is-frozen" + ], + "core-js/es/object/is-sealed": [ + "es.object.is-sealed" + ], + "core-js/es/object/is": [ + "es.object.is" + ], + "core-js/es/object/keys": [ + "es.object.keys" + ], + "core-js/es/object/lookup-getter": [ + "es.object.lookup-setter" + ], + "core-js/es/object/lookup-setter": [ + "es.object.lookup-setter" + ], + "core-js/es/object/prevent-extensions": [ + "es.object.prevent-extensions" + ], + "core-js/es/object/seal": [ + "es.object.seal" + ], + "core-js/es/object/set-prototype-of": [ + "es.object.set-prototype-of" + ], + "core-js/es/object/to-string": [ + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/es/object/values": [ + "es.object.values" + ], + "core-js/es/parse-float": [ + "es.parse-float" + ], + "core-js/es/parse-int": [ + "es.parse-int" + ], + "core-js/es/promise/all-settled": [ + "es.promise", + "es.promise.all-settled" + ], + "core-js/es/promise/finally": [ + "es.promise", + "es.promise.finally" + ], + "core-js/es/promise": [ + "es.object.to-string", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/es/reflect/apply": [ + "es.reflect.apply" + ], + "core-js/es/reflect/construct": [ + "es.reflect.construct" + ], + "core-js/es/reflect/define-property": [ + "es.reflect.define-property" + ], + "core-js/es/reflect/delete-property": [ + "es.reflect.delete-property" + ], + "core-js/es/reflect/get-own-property-descriptor": [ + "es.reflect.get-own-property-descriptor" + ], + "core-js/es/reflect/get-prototype-of": [ + "es.reflect.get-prototype-of" + ], + "core-js/es/reflect/get": [ + "es.reflect.get" + ], + "core-js/es/reflect/has": [ + "es.reflect.has" + ], + "core-js/es/reflect": [ + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of" + ], + "core-js/es/reflect/is-extensible": [ + "es.reflect.is-extensible" + ], + "core-js/es/reflect/own-keys": [ + "es.reflect.own-keys" + ], + "core-js/es/reflect/prevent-extensions": [ + "es.reflect.prevent-extensions" + ], + "core-js/es/reflect/set-prototype-of": [ + "es.reflect.set-prototype-of" + ], + "core-js/es/reflect/set": [ + "es.reflect.set" + ], + "core-js/es/regexp/constructor": [ + "es.regexp.constructor" + ], + "core-js/es/regexp/flags": [ + "es.regexp.flags" + ], + "core-js/es/regexp": [ + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.string.match", + "es.string.replace", + "es.string.search", + "es.string.split" + ], + "core-js/es/regexp/match": [ + "es.string.match" + ], + "core-js/es/regexp/replace": [ + "es.string.replace" + ], + "core-js/es/regexp/search": [ + "es.string.search" + ], + "core-js/es/regexp/split": [ + "es.string.split" + ], + "core-js/es/regexp/to-string": [ + "es.regexp.to-string" + ], + "core-js/es/set": [ + "es.object.to-string", + "es.set", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/es/string/anchor": [ + "es.string.anchor" + ], + "core-js/es/string/big": [ + "es.string.big" + ], + "core-js/es/string/blink": [ + "es.string.blink" + ], + "core-js/es/string/bold": [ + "es.string.bold" + ], + "core-js/es/string/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/es/string/ends-with": [ + "es.string.ends-with" + ], + "core-js/es/string/fixed": [ + "es.string.fixed" + ], + "core-js/es/string/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/es/string/fontsize": [ + "es.string.fontsize" + ], + "core-js/es/string/from-code-point": [ + "es.string.from-code-point" + ], + "core-js/es/string/includes": [ + "es.string.includes" + ], + "core-js/es/string": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup" + ], + "core-js/es/string/italics": [ + "es.string.italics" + ], + "core-js/es/string/iterator": [ + "es.string.iterator" + ], + "core-js/es/string/link": [ + "es.string.link" + ], + "core-js/es/string/match-all": [ + "es.string.match-all" + ], + "core-js/es/string/match": [ + "es.string.match" + ], + "core-js/es/string/pad-end": [ + "es.string.pad-end" + ], + "core-js/es/string/pad-start": [ + "es.string.pad-start" + ], + "core-js/es/string/raw": [ + "es.string.raw" + ], + "core-js/es/string/repeat": [ + "es.string.repeat" + ], + "core-js/es/string/replace": [ + "es.string.replace" + ], + "core-js/es/string/search": [ + "es.string.search" + ], + "core-js/es/string/small": [ + "es.string.small" + ], + "core-js/es/string/split": [ + "es.string.split" + ], + "core-js/es/string/starts-with": [ + "es.string.starts-with" + ], + "core-js/es/string/strike": [ + "es.string.strike" + ], + "core-js/es/string/sub": [ + "es.string.sub" + ], + "core-js/es/string/sup": [ + "es.string.sup" + ], + "core-js/es/string/trim-end": [ + "es.string.trim-end" + ], + "core-js/es/string/trim-left": [ + "es.string.trim-start" + ], + "core-js/es/string/trim-right": [ + "es.string.trim-end" + ], + "core-js/es/string/trim-start": [ + "es.string.trim-start" + ], + "core-js/es/string/trim": [ + "es.string.trim" + ], + "core-js/es/string/virtual/anchor": [ + "es.string.anchor" + ], + "core-js/es/string/virtual/big": [ + "es.string.big" + ], + "core-js/es/string/virtual/blink": [ + "es.string.blink" + ], + "core-js/es/string/virtual/bold": [ + "es.string.bold" + ], + "core-js/es/string/virtual/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/es/string/virtual/ends-with": [ + "es.string.ends-with" + ], + "core-js/es/string/virtual/fixed": [ + "es.string.fixed" + ], + "core-js/es/string/virtual/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/es/string/virtual/fontsize": [ + "es.string.fontsize" + ], + "core-js/es/string/virtual/includes": [ + "es.string.includes" + ], + "core-js/es/string/virtual": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup" + ], + "core-js/es/string/virtual/italics": [ + "es.string.italics" + ], + "core-js/es/string/virtual/iterator": [ + "es.string.iterator" + ], + "core-js/es/string/virtual/link": [ + "es.string.link" + ], + "core-js/es/string/virtual/match-all": [ + "es.string.match-all" + ], + "core-js/es/string/virtual/pad-end": [ + "es.string.pad-end" + ], + "core-js/es/string/virtual/pad-start": [ + "es.string.pad-start" + ], + "core-js/es/string/virtual/repeat": [ + "es.string.repeat" + ], + "core-js/es/string/virtual/small": [ + "es.string.small" + ], + "core-js/es/string/virtual/starts-with": [ + "es.string.starts-with" + ], + "core-js/es/string/virtual/strike": [ + "es.string.strike" + ], + "core-js/es/string/virtual/sub": [ + "es.string.sub" + ], + "core-js/es/string/virtual/sup": [ + "es.string.sup" + ], + "core-js/es/string/virtual/trim-end": [ + "es.string.trim-end" + ], + "core-js/es/string/virtual/trim-left": [ + "es.string.trim-start" + ], + "core-js/es/string/virtual/trim-right": [ + "es.string.trim-end" + ], + "core-js/es/string/virtual/trim-start": [ + "es.string.trim-start" + ], + "core-js/es/string/virtual/trim": [ + "es.string.trim" + ], + "core-js/es/symbol/async-iterator": [ + "es.symbol.async-iterator" + ], + "core-js/es/symbol/description": [ + "es.symbol.description" + ], + "core-js/es/symbol/for": [ + "es.symbol" + ], + "core-js/es/symbol/has-instance": [ + "es.symbol.has-instance", + "es.function.has-instance" + ], + "core-js/es/symbol": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/es/symbol/is-concat-spreadable": [ + "es.symbol.is-concat-spreadable", + "es.array.concat" + ], + "core-js/es/symbol/iterator": [ + "es.symbol.iterator", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/es/symbol/key-for": [ + "es.symbol" + ], + "core-js/es/symbol/match-all": [ + "es.symbol.match-all", + "es.string.match-all" + ], + "core-js/es/symbol/match": [ + "es.symbol.match", + "es.string.match" + ], + "core-js/es/symbol/replace": [ + "es.symbol.replace", + "es.string.replace" + ], + "core-js/es/symbol/search": [ + "es.symbol.search", + "es.string.search" + ], + "core-js/es/symbol/species": [ + "es.symbol.species" + ], + "core-js/es/symbol/split": [ + "es.symbol.split", + "es.string.split" + ], + "core-js/es/symbol/to-primitive": [ + "es.symbol.to-primitive" + ], + "core-js/es/symbol/to-string-tag": [ + "es.symbol.to-string-tag", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/es/symbol/unscopables": [ + "es.symbol.unscopables" + ], + "core-js/es/typed-array/copy-within": [ + "es.typed-array.copy-within" + ], + "core-js/es/typed-array/entries": [ + "es.typed-array.iterator" + ], + "core-js/es/typed-array/every": [ + "es.typed-array.every" + ], + "core-js/es/typed-array/fill": [ + "es.typed-array.fill" + ], + "core-js/es/typed-array/filter": [ + "es.typed-array.filter" + ], + "core-js/es/typed-array/find-index": [ + "es.typed-array.find-index" + ], + "core-js/es/typed-array/find": [ + "es.typed-array.find" + ], + "core-js/es/typed-array/float32-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/float64-array": [ + "es.object.to-string", + "es.typed-array.float64-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/for-each": [ + "es.typed-array.for-each" + ], + "core-js/es/typed-array/from": [ + "es.typed-array.from" + ], + "core-js/es/typed-array/includes": [ + "es.typed-array.includes" + ], + "core-js/es/typed-array/index-of": [ + "es.typed-array.index-of" + ], + "core-js/es/typed-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/int16-array": [ + "es.object.to-string", + "es.typed-array.int16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/int32-array": [ + "es.object.to-string", + "es.typed-array.int32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/int8-array": [ + "es.object.to-string", + "es.typed-array.int8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/iterator": [ + "es.typed-array.iterator" + ], + "core-js/es/typed-array/join": [ + "es.typed-array.join" + ], + "core-js/es/typed-array/keys": [ + "es.typed-array.iterator" + ], + "core-js/es/typed-array/last-index-of": [ + "es.typed-array.last-index-of" + ], + "core-js/es/typed-array/map": [ + "es.typed-array.map" + ], + "core-js/es/typed-array/methods": [ + "es.object.to-string", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/of": [ + "es.typed-array.of" + ], + "core-js/es/typed-array/reduce-right": [ + "es.typed-array.reduce-right" + ], + "core-js/es/typed-array/reduce": [ + "es.typed-array.reduce" + ], + "core-js/es/typed-array/reverse": [ + "es.typed-array.reverse" + ], + "core-js/es/typed-array/set": [ + "es.typed-array.set" + ], + "core-js/es/typed-array/slice": [ + "es.typed-array.slice" + ], + "core-js/es/typed-array/some": [ + "es.typed-array.some" + ], + "core-js/es/typed-array/sort": [ + "es.typed-array.sort" + ], + "core-js/es/typed-array/subarray": [ + "es.typed-array.subarray" + ], + "core-js/es/typed-array/to-locale-string": [ + "es.typed-array.to-locale-string" + ], + "core-js/es/typed-array/to-string": [ + "es.typed-array.to-string" + ], + "core-js/es/typed-array/uint16-array": [ + "es.object.to-string", + "es.typed-array.uint16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/uint32-array": [ + "es.object.to-string", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/uint8-array": [ + "es.object.to-string", + "es.typed-array.uint8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/uint8-clamped-array": [ + "es.object.to-string", + "es.typed-array.uint8-clamped-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/es/typed-array/values": [ + "es.typed-array.iterator" + ], + "core-js/es/weak-map": [ + "es.object.to-string", + "es.weak-map", + "web.dom-collections.iterator" + ], + "core-js/es/weak-set": [ + "es.object.to-string", + "es.weak-set", + "web.dom-collections.iterator" + ], + "core-js/features/aggregate-error": [ + "es.string.iterator", + "esnext.aggregate-error", + "web.dom-collections.iterator" + ], + "core-js/features/array-buffer/constructor": [ + "es.array-buffer.constructor", + "es.object.to-string" + ], + "core-js/features/array-buffer": [ + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.object.to-string" + ], + "core-js/features/array-buffer/is-view": [ + "es.array-buffer.is-view" + ], + "core-js/features/array-buffer/slice": [ + "es.array-buffer.slice" + ], + "core-js/features/array/concat": [ + "es.array.concat" + ], + "core-js/features/array/copy-within": [ + "es.array.copy-within" + ], + "core-js/features/array/entries": [ + "es.array.iterator" + ], + "core-js/features/array/every": [ + "es.array.every" + ], + "core-js/features/array/fill": [ + "es.array.fill" + ], + "core-js/features/array/filter": [ + "es.array.filter" + ], + "core-js/features/array/find-index": [ + "es.array.find-index" + ], + "core-js/features/array/find": [ + "es.array.find" + ], + "core-js/features/array/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/features/array/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/features/array/for-each": [ + "es.array.for-each" + ], + "core-js/features/array/from": [ + "es.array.from", + "es.string.iterator" + ], + "core-js/features/array/includes": [ + "es.array.includes" + ], + "core-js/features/array/index-of": [ + "es.array.index-of" + ], + "core-js/features/array": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.string.iterator", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item" + ], + "core-js/features/array/is-array": [ + "es.array.is-array" + ], + "core-js/features/array/is-template-object": [ + "esnext.array.is-template-object" + ], + "core-js/features/array/iterator": [ + "es.array.iterator" + ], + "core-js/features/array/join": [ + "es.array.join" + ], + "core-js/features/array/keys": [ + "es.array.iterator" + ], + "core-js/features/array/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/features/array/last-index": [ + "esnext.array.last-index" + ], + "core-js/features/array/last-item": [ + "esnext.array.last-item" + ], + "core-js/features/array/map": [ + "es.array.map" + ], + "core-js/features/array/of": [ + "es.array.of" + ], + "core-js/features/array/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/features/array/reduce": [ + "es.array.reduce" + ], + "core-js/features/array/reverse": [ + "es.array.reverse" + ], + "core-js/features/array/slice": [ + "es.array.slice" + ], + "core-js/features/array/some": [ + "es.array.some" + ], + "core-js/features/array/sort": [ + "es.array.sort" + ], + "core-js/features/array/splice": [ + "es.array.splice" + ], + "core-js/features/array/values": [ + "es.array.iterator" + ], + "core-js/features/array/virtual/concat": [ + "es.array.concat" + ], + "core-js/features/array/virtual/copy-within": [ + "es.array.copy-within" + ], + "core-js/features/array/virtual/entries": [ + "es.array.iterator" + ], + "core-js/features/array/virtual/every": [ + "es.array.every" + ], + "core-js/features/array/virtual/fill": [ + "es.array.fill" + ], + "core-js/features/array/virtual/filter": [ + "es.array.filter" + ], + "core-js/features/array/virtual/find-index": [ + "es.array.find-index" + ], + "core-js/features/array/virtual/find": [ + "es.array.find" + ], + "core-js/features/array/virtual/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/features/array/virtual/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/features/array/virtual/for-each": [ + "es.array.for-each" + ], + "core-js/features/array/virtual/includes": [ + "es.array.includes" + ], + "core-js/features/array/virtual/index-of": [ + "es.array.index-of" + ], + "core-js/features/array/virtual": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.includes", + "es.array.index-of", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map" + ], + "core-js/features/array/virtual/iterator": [ + "es.array.iterator" + ], + "core-js/features/array/virtual/join": [ + "es.array.join" + ], + "core-js/features/array/virtual/keys": [ + "es.array.iterator" + ], + "core-js/features/array/virtual/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/features/array/virtual/map": [ + "es.array.map" + ], + "core-js/features/array/virtual/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/features/array/virtual/reduce": [ + "es.array.reduce" + ], + "core-js/features/array/virtual/reverse": [ + "es.array.reverse" + ], + "core-js/features/array/virtual/slice": [ + "es.array.slice" + ], + "core-js/features/array/virtual/some": [ + "es.array.some" + ], + "core-js/features/array/virtual/sort": [ + "es.array.sort" + ], + "core-js/features/array/virtual/splice": [ + "es.array.splice" + ], + "core-js/features/array/virtual/values": [ + "es.array.iterator" + ], + "core-js/features/async-iterator/as-indexed-pairs": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.as-indexed-pairs", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/drop": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/every": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.every", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/filter": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.filter", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/find": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.find", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/flat-map": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.flat-map", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/for-each": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.for-each", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/from": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.from", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.as-indexed-pairs", + "esnext.async-iterator.drop", + "esnext.async-iterator.every", + "esnext.async-iterator.filter", + "esnext.async-iterator.find", + "esnext.async-iterator.flat-map", + "esnext.async-iterator.for-each", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.reduce", + "esnext.async-iterator.some", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/map": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.map", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/reduce": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.reduce", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/some": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.some", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/take": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.take", + "web.dom-collections.iterator" + ], + "core-js/features/async-iterator/to-array": [ + "es.object.to-string", + "es.promise", + "es.string.iterator", + "esnext.async-iterator.constructor", + "esnext.async-iterator.to-array", + "web.dom-collections.iterator" + ], + "core-js/features/clear-immediate": [ + "web.immediate" + ], + "core-js/features/composite-key": [ + "esnext.composite-key" + ], + "core-js/features/composite-symbol": [ + "es.symbol", + "esnext.composite-symbol" + ], + "core-js/features/data-view": [ + "es.data-view", + "es.object.to-string" + ], + "core-js/features/date": [ + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string" + ], + "core-js/features/date/now": [ + "es.date.now" + ], + "core-js/features/date/to-iso-string": [ + "es.date.to-iso-string", + "es.date.to-json" + ], + "core-js/features/date/to-json": [ + "es.date.to-json" + ], + "core-js/features/date/to-primitive": [ + "es.date.to-primitive" + ], + "core-js/features/date/to-string": [ + "es.date.to-string" + ], + "core-js/features/dom-collections/for-each": [ + "web.dom-collections.for-each" + ], + "core-js/features/dom-collections": [ + "es.array.iterator", + "web.dom-collections.for-each", + "web.dom-collections.iterator" + ], + "core-js/features/dom-collections/iterator": [ + "web.dom-collections.iterator" + ], + "core-js/features/function/bind": [ + "es.function.bind" + ], + "core-js/features/function/has-instance": [ + "es.function.has-instance" + ], + "core-js/features/function": [ + "es.function.bind", + "es.function.has-instance", + "es.function.name" + ], + "core-js/features/function/name": [ + "es.function.name" + ], + "core-js/features/function/virtual/bind": [ + "es.function.bind" + ], + "core-js/features/function/virtual": [ + "es.function.bind" + ], + "core-js/features/get-iterator-method": [ + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/get-iterator": [ + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/global-this": [ + "es.global-this", + "esnext.global-this" + ], + "core-js/features": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.data-view", + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string", + "es.function.bind", + "es.function.has-instance", + "es.function.name", + "es.global-this", + "es.json.to-string-tag", + "es.map", + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values", + "es.parse-float", + "es.parse-int", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.set", + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string", + "es.weak-map", + "es.weak-set", + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.dom-collections.for-each", + "web.dom-collections.iterator", + "web.immediate", + "web.queue-microtask", + "web.timers", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/features/instance/at": [ + "esnext.string.at" + ], + "core-js/features/instance/bind": [ + "es.function.bind" + ], + "core-js/features/instance/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/features/instance/code-points": [ + "esnext.string.code-points" + ], + "core-js/features/instance/concat": [ + "es.array.concat" + ], + "core-js/features/instance/copy-within": [ + "es.array.copy-within" + ], + "core-js/features/instance/ends-with": [ + "es.string.ends-with" + ], + "core-js/features/instance/entries": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/instance/every": [ + "es.array.every" + ], + "core-js/features/instance/fill": [ + "es.array.fill" + ], + "core-js/features/instance/filter": [ + "es.array.filter" + ], + "core-js/features/instance/find-index": [ + "es.array.find-index" + ], + "core-js/features/instance/find": [ + "es.array.find" + ], + "core-js/features/instance/flags": [ + "es.regexp.flags" + ], + "core-js/features/instance/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/features/instance/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/features/instance/for-each": [ + "es.array.for-each", + "web.dom-collections.iterator" + ], + "core-js/features/instance/includes": [ + "es.array.includes", + "es.string.includes" + ], + "core-js/features/instance/index-of": [ + "es.array.index-of" + ], + "core-js/features/instance/keys": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/instance/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/features/instance/map": [ + "es.array.map" + ], + "core-js/features/instance/match-all": [ + "es.string.match-all" + ], + "core-js/features/instance/pad-end": [ + "es.string.pad-end" + ], + "core-js/features/instance/pad-start": [ + "es.string.pad-start" + ], + "core-js/features/instance/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/features/instance/reduce": [ + "es.array.reduce" + ], + "core-js/features/instance/repeat": [ + "es.string.repeat" + ], + "core-js/features/instance/replace-all": [ + "esnext.string.replace-all" + ], + "core-js/features/instance/reverse": [ + "es.array.reverse" + ], + "core-js/features/instance/slice": [ + "es.array.slice" + ], + "core-js/features/instance/some": [ + "es.array.some" + ], + "core-js/features/instance/sort": [ + "es.array.sort" + ], + "core-js/features/instance/splice": [ + "es.array.splice" + ], + "core-js/features/instance/starts-with": [ + "es.string.starts-with" + ], + "core-js/features/instance/trim-end": [ + "es.string.trim-end" + ], + "core-js/features/instance/trim-left": [ + "es.string.trim-start" + ], + "core-js/features/instance/trim-right": [ + "es.string.trim-end" + ], + "core-js/features/instance/trim-start": [ + "es.string.trim-start" + ], + "core-js/features/instance/trim": [ + "es.string.trim" + ], + "core-js/features/instance/values": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/is-iterable": [ + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/as-indexed-pairs": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/drop": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.drop", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/every": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.every", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/filter": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.filter", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/find": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.find", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/flat-map": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.flat-map", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/for-each": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.for-each", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/from": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.from", + "web.dom-collections.iterator" + ], + "core-js/features/iterator": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.flat-map", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/map": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.map", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/reduce": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.reduce", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/some": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.some", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/take": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.take", + "web.dom-collections.iterator" + ], + "core-js/features/iterator/to-array": [ + "es.object.to-string", + "es.string.iterator", + "esnext.iterator.constructor", + "esnext.iterator.to-array", + "web.dom-collections.iterator" + ], + "core-js/features/json": [ + "es.json.to-string-tag" + ], + "core-js/features/json/stringify": [ + "es.json.stringify" + ], + "core-js/features/json/to-string-tag": [ + "es.json.to-string-tag" + ], + "core-js/features/map/delete-all": [ + "es.map", + "esnext.map.delete-all" + ], + "core-js/features/map/every": [ + "es.map", + "esnext.map.every" + ], + "core-js/features/map/filter": [ + "es.map", + "esnext.map.filter" + ], + "core-js/features/map/find-key": [ + "es.map", + "esnext.map.find-key" + ], + "core-js/features/map/find": [ + "es.map", + "esnext.map.find" + ], + "core-js/features/map/from": [ + "es.map", + "es.string.iterator", + "esnext.map.from", + "web.dom-collections.iterator" + ], + "core-js/features/map/group-by": [ + "es.map", + "esnext.map.group-by" + ], + "core-js/features/map/includes": [ + "es.map", + "esnext.map.includes" + ], + "core-js/features/map": [ + "es.map", + "es.object.to-string", + "es.string.iterator", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "web.dom-collections.iterator" + ], + "core-js/features/map/key-by": [ + "es.map", + "esnext.map.key-by" + ], + "core-js/features/map/key-of": [ + "es.map", + "esnext.map.key-of" + ], + "core-js/features/map/map-keys": [ + "es.map", + "esnext.map.map-keys" + ], + "core-js/features/map/map-values": [ + "es.map", + "esnext.map.map-values" + ], + "core-js/features/map/merge": [ + "es.map", + "esnext.map.merge" + ], + "core-js/features/map/of": [ + "es.map", + "es.string.iterator", + "esnext.map.of", + "web.dom-collections.iterator" + ], + "core-js/features/map/reduce": [ + "es.map", + "esnext.map.reduce" + ], + "core-js/features/map/some": [ + "es.map", + "esnext.map.some" + ], + "core-js/features/map/update-or-insert": [ + "es.map", + "esnext.map.update-or-insert" + ], + "core-js/features/map/update": [ + "es.map", + "esnext.map.update" + ], + "core-js/features/map/upsert": [ + "es.map", + "esnext.map.upsert" + ], + "core-js/features/math/acosh": [ + "es.math.acosh" + ], + "core-js/features/math/asinh": [ + "es.math.asinh" + ], + "core-js/features/math/atanh": [ + "es.math.atanh" + ], + "core-js/features/math/cbrt": [ + "es.math.cbrt" + ], + "core-js/features/math/clamp": [ + "esnext.math.clamp" + ], + "core-js/features/math/clz32": [ + "es.math.clz32" + ], + "core-js/features/math/cosh": [ + "es.math.cosh" + ], + "core-js/features/math/deg-per-rad": [ + "esnext.math.deg-per-rad" + ], + "core-js/features/math/degrees": [ + "esnext.math.degrees" + ], + "core-js/features/math/expm1": [ + "es.math.expm1" + ], + "core-js/features/math/fround": [ + "es.math.fround" + ], + "core-js/features/math/fscale": [ + "esnext.math.fscale" + ], + "core-js/features/math/hypot": [ + "es.math.hypot" + ], + "core-js/features/math/iaddh": [ + "esnext.math.iaddh" + ], + "core-js/features/math/imul": [ + "es.math.imul" + ], + "core-js/features/math/imulh": [ + "esnext.math.imulh" + ], + "core-js/features/math": [ + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh" + ], + "core-js/features/math/isubh": [ + "esnext.math.isubh" + ], + "core-js/features/math/log10": [ + "es.math.log10" + ], + "core-js/features/math/log1p": [ + "es.math.log1p" + ], + "core-js/features/math/log2": [ + "es.math.log2" + ], + "core-js/features/math/rad-per-deg": [ + "esnext.math.rad-per-deg" + ], + "core-js/features/math/radians": [ + "esnext.math.radians" + ], + "core-js/features/math/scale": [ + "esnext.math.scale" + ], + "core-js/features/math/seeded-prng": [ + "esnext.math.seeded-prng" + ], + "core-js/features/math/sign": [ + "es.math.sign" + ], + "core-js/features/math/signbit": [ + "esnext.math.signbit" + ], + "core-js/features/math/sinh": [ + "es.math.sinh" + ], + "core-js/features/math/tanh": [ + "es.math.tanh" + ], + "core-js/features/math/to-string-tag": [ + "es.math.to-string-tag" + ], + "core-js/features/math/trunc": [ + "es.math.trunc" + ], + "core-js/features/math/umulh": [ + "esnext.math.umulh" + ], + "core-js/features/number/constructor": [ + "es.number.constructor" + ], + "core-js/features/number/epsilon": [ + "es.number.epsilon" + ], + "core-js/features/number/from-string": [ + "esnext.number.from-string" + ], + "core-js/features/number": [ + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "esnext.number.from-string" + ], + "core-js/features/number/is-finite": [ + "es.number.is-finite" + ], + "core-js/features/number/is-integer": [ + "es.number.is-integer" + ], + "core-js/features/number/is-nan": [ + "es.number.is-nan" + ], + "core-js/features/number/is-safe-integer": [ + "es.number.is-safe-integer" + ], + "core-js/features/number/max-safe-integer": [ + "es.number.max-safe-integer" + ], + "core-js/features/number/min-safe-integer": [ + "es.number.min-safe-integer" + ], + "core-js/features/number/parse-float": [ + "es.number.parse-float" + ], + "core-js/features/number/parse-int": [ + "es.number.parse-int" + ], + "core-js/features/number/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/features/number/to-precision": [ + "es.number.to-precision" + ], + "core-js/features/number/virtual": [ + "es.number.to-fixed", + "es.number.to-precision" + ], + "core-js/features/number/virtual/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/features/number/virtual/to-precision": [ + "es.number.to-precision" + ], + "core-js/features/object/assign": [ + "es.object.assign" + ], + "core-js/features/object/create": [ + "es.object.create" + ], + "core-js/features/object/define-getter": [ + "es.object.define-getter" + ], + "core-js/features/object/define-properties": [ + "es.object.define-properties" + ], + "core-js/features/object/define-property": [ + "es.object.define-property" + ], + "core-js/features/object/define-setter": [ + "es.object.define-setter" + ], + "core-js/features/object/entries": [ + "es.object.entries" + ], + "core-js/features/object/freeze": [ + "es.object.freeze" + ], + "core-js/features/object/from-entries": [ + "es.array.iterator", + "es.object.from-entries" + ], + "core-js/features/object/get-own-property-descriptor": [ + "es.object.get-own-property-descriptor" + ], + "core-js/features/object/get-own-property-descriptors": [ + "es.object.get-own-property-descriptors" + ], + "core-js/features/object/get-own-property-names": [ + "es.object.get-own-property-names" + ], + "core-js/features/object/get-own-property-symbols": [ + "es.symbol" + ], + "core-js/features/object/get-prototype-of": [ + "es.object.get-prototype-of" + ], + "core-js/features/object": [ + "es.symbol", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values" + ], + "core-js/features/object/is-extensible": [ + "es.object.is-extensible" + ], + "core-js/features/object/is-frozen": [ + "es.object.is-frozen" + ], + "core-js/features/object/is-sealed": [ + "es.object.is-sealed" + ], + "core-js/features/object/is": [ + "es.object.is" + ], + "core-js/features/object/keys": [ + "es.object.keys" + ], + "core-js/features/object/lookup-getter": [ + "es.object.lookup-setter" + ], + "core-js/features/object/lookup-setter": [ + "es.object.lookup-setter" + ], + "core-js/features/object/prevent-extensions": [ + "es.object.prevent-extensions" + ], + "core-js/features/object/seal": [ + "es.object.seal" + ], + "core-js/features/object/set-prototype-of": [ + "es.object.set-prototype-of" + ], + "core-js/features/object/to-string": [ + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/features/object/values": [ + "es.object.values" + ], + "core-js/features/observable": [ + "es.object.to-string", + "es.string.iterator", + "esnext.observable", + "esnext.symbol.observable", + "web.dom-collections.iterator" + ], + "core-js/features/parse-float": [ + "es.parse-float" + ], + "core-js/features/parse-int": [ + "es.parse-int" + ], + "core-js/features/promise/all-settled": [ + "es.promise", + "es.promise.all-settled", + "esnext.promise.all-settled" + ], + "core-js/features/promise/any": [ + "es.promise", + "esnext.aggregate-error", + "esnext.promise.any" + ], + "core-js/features/promise/finally": [ + "es.promise", + "es.promise.finally" + ], + "core-js/features/promise": [ + "es.object.to-string", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.string.iterator", + "esnext.aggregate-error", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "web.dom-collections.iterator" + ], + "core-js/features/promise/try": [ + "es.promise", + "esnext.promise.try" + ], + "core-js/features/queue-microtask": [ + "web.queue-microtask" + ], + "core-js/features/reflect/apply": [ + "es.reflect.apply" + ], + "core-js/features/reflect/construct": [ + "es.reflect.construct" + ], + "core-js/features/reflect/define-metadata": [ + "esnext.reflect.define-metadata" + ], + "core-js/features/reflect/define-property": [ + "es.reflect.define-property" + ], + "core-js/features/reflect/delete-metadata": [ + "esnext.reflect.delete-metadata" + ], + "core-js/features/reflect/delete-property": [ + "es.reflect.delete-property" + ], + "core-js/features/reflect/get-metadata-keys": [ + "esnext.reflect.get-metadata-keys" + ], + "core-js/features/reflect/get-metadata": [ + "esnext.reflect.get-metadata" + ], + "core-js/features/reflect/get-own-metadata-keys": [ + "esnext.reflect.get-own-metadata-keys" + ], + "core-js/features/reflect/get-own-metadata": [ + "esnext.reflect.get-own-metadata" + ], + "core-js/features/reflect/get-own-property-descriptor": [ + "es.reflect.get-own-property-descriptor" + ], + "core-js/features/reflect/get-prototype-of": [ + "es.reflect.get-prototype-of" + ], + "core-js/features/reflect/get": [ + "es.reflect.get" + ], + "core-js/features/reflect/has-metadata": [ + "esnext.reflect.has-metadata" + ], + "core-js/features/reflect/has-own-metadata": [ + "esnext.reflect.has-own-metadata" + ], + "core-js/features/reflect/has": [ + "es.reflect.has" + ], + "core-js/features/reflect": [ + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata" + ], + "core-js/features/reflect/is-extensible": [ + "es.reflect.is-extensible" + ], + "core-js/features/reflect/metadata": [ + "esnext.reflect.metadata" + ], + "core-js/features/reflect/own-keys": [ + "es.reflect.own-keys" + ], + "core-js/features/reflect/prevent-extensions": [ + "es.reflect.prevent-extensions" + ], + "core-js/features/reflect/set-prototype-of": [ + "es.reflect.set-prototype-of" + ], + "core-js/features/reflect/set": [ + "es.reflect.set" + ], + "core-js/features/regexp/constructor": [ + "es.regexp.constructor" + ], + "core-js/features/regexp/flags": [ + "es.regexp.flags" + ], + "core-js/features/regexp": [ + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.string.match", + "es.string.replace", + "es.string.search", + "es.string.split" + ], + "core-js/features/regexp/match": [ + "es.string.match" + ], + "core-js/features/regexp/replace": [ + "es.string.replace" + ], + "core-js/features/regexp/search": [ + "es.string.search" + ], + "core-js/features/regexp/split": [ + "es.string.split" + ], + "core-js/features/regexp/to-string": [ + "es.regexp.to-string" + ], + "core-js/features/set-immediate": [ + "web.immediate" + ], + "core-js/features/set-interval": [ + "web.timers" + ], + "core-js/features/set-timeout": [ + "web.timers" + ], + "core-js/features/set/add-all": [ + "es.set", + "esnext.set.add-all" + ], + "core-js/features/set/delete-all": [ + "es.set", + "esnext.set.delete-all" + ], + "core-js/features/set/difference": [ + "es.set", + "es.string.iterator", + "esnext.set.difference", + "web.dom-collections.iterator" + ], + "core-js/features/set/every": [ + "es.set", + "esnext.set.every" + ], + "core-js/features/set/filter": [ + "es.set", + "esnext.set.filter" + ], + "core-js/features/set/find": [ + "es.set", + "esnext.set.find" + ], + "core-js/features/set/from": [ + "es.set", + "es.string.iterator", + "esnext.set.from", + "web.dom-collections.iterator" + ], + "core-js/features/set": [ + "es.object.to-string", + "es.set", + "es.string.iterator", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "web.dom-collections.iterator" + ], + "core-js/features/set/intersection": [ + "es.set", + "esnext.set.intersection" + ], + "core-js/features/set/is-disjoint-from": [ + "es.set", + "esnext.set.is-disjoint-from" + ], + "core-js/features/set/is-subset-of": [ + "es.set", + "es.string.iterator", + "esnext.set.is-subset-of", + "web.dom-collections.iterator" + ], + "core-js/features/set/is-superset-of": [ + "es.set", + "esnext.set.is-superset-of" + ], + "core-js/features/set/join": [ + "es.set", + "esnext.set.join" + ], + "core-js/features/set/map": [ + "es.set", + "esnext.set.map" + ], + "core-js/features/set/of": [ + "es.set", + "es.string.iterator", + "esnext.set.of", + "web.dom-collections.iterator" + ], + "core-js/features/set/reduce": [ + "es.set", + "esnext.set.reduce" + ], + "core-js/features/set/some": [ + "es.set", + "esnext.set.some" + ], + "core-js/features/set/symmetric-difference": [ + "es.set", + "es.string.iterator", + "esnext.set.symmetric-difference", + "web.dom-collections.iterator" + ], + "core-js/features/set/union": [ + "es.set", + "es.string.iterator", + "esnext.set.union", + "web.dom-collections.iterator" + ], + "core-js/features/string/anchor": [ + "es.string.anchor" + ], + "core-js/features/string/at": [ + "esnext.string.at" + ], + "core-js/features/string/big": [ + "es.string.big" + ], + "core-js/features/string/blink": [ + "es.string.blink" + ], + "core-js/features/string/bold": [ + "es.string.bold" + ], + "core-js/features/string/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/features/string/code-points": [ + "esnext.string.code-points" + ], + "core-js/features/string/ends-with": [ + "es.string.ends-with" + ], + "core-js/features/string/fixed": [ + "es.string.fixed" + ], + "core-js/features/string/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/features/string/fontsize": [ + "es.string.fontsize" + ], + "core-js/features/string/from-code-point": [ + "es.string.from-code-point" + ], + "core-js/features/string/includes": [ + "es.string.includes" + ], + "core-js/features/string": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "esnext.string.at", + "esnext.string.match-all", + "esnext.string.replace-all" + ], + "core-js/features/string/italics": [ + "es.string.italics" + ], + "core-js/features/string/iterator": [ + "es.string.iterator" + ], + "core-js/features/string/link": [ + "es.string.link" + ], + "core-js/features/string/match-all": [ + "es.string.match-all", + "esnext.string.match-all" + ], + "core-js/features/string/match": [ + "es.string.match" + ], + "core-js/features/string/pad-end": [ + "es.string.pad-end" + ], + "core-js/features/string/pad-start": [ + "es.string.pad-start" + ], + "core-js/features/string/raw": [ + "es.string.raw" + ], + "core-js/features/string/repeat": [ + "es.string.repeat" + ], + "core-js/features/string/replace-all": [ + "esnext.string.replace-all" + ], + "core-js/features/string/replace": [ + "es.string.replace" + ], + "core-js/features/string/search": [ + "es.string.search" + ], + "core-js/features/string/small": [ + "es.string.small" + ], + "core-js/features/string/split": [ + "es.string.split" + ], + "core-js/features/string/starts-with": [ + "es.string.starts-with" + ], + "core-js/features/string/strike": [ + "es.string.strike" + ], + "core-js/features/string/sub": [ + "es.string.sub" + ], + "core-js/features/string/sup": [ + "es.string.sup" + ], + "core-js/features/string/trim-end": [ + "es.string.trim-end" + ], + "core-js/features/string/trim-left": [ + "es.string.trim-start" + ], + "core-js/features/string/trim-right": [ + "es.string.trim-end" + ], + "core-js/features/string/trim-start": [ + "es.string.trim-start" + ], + "core-js/features/string/trim": [ + "es.string.trim" + ], + "core-js/features/string/virtual/anchor": [ + "es.string.anchor" + ], + "core-js/features/string/virtual/at": [ + "esnext.string.at" + ], + "core-js/features/string/virtual/big": [ + "es.string.big" + ], + "core-js/features/string/virtual/blink": [ + "es.string.blink" + ], + "core-js/features/string/virtual/bold": [ + "es.string.bold" + ], + "core-js/features/string/virtual/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/features/string/virtual/code-points": [ + "esnext.string.code-points" + ], + "core-js/features/string/virtual/ends-with": [ + "es.string.ends-with" + ], + "core-js/features/string/virtual/fixed": [ + "es.string.fixed" + ], + "core-js/features/string/virtual/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/features/string/virtual/fontsize": [ + "es.string.fontsize" + ], + "core-js/features/string/virtual/includes": [ + "es.string.includes" + ], + "core-js/features/string/virtual": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "esnext.string.at", + "esnext.string.match-all", + "esnext.string.replace-all" + ], + "core-js/features/string/virtual/italics": [ + "es.string.italics" + ], + "core-js/features/string/virtual/iterator": [ + "es.string.iterator" + ], + "core-js/features/string/virtual/link": [ + "es.string.link" + ], + "core-js/features/string/virtual/match-all": [ + "es.string.match-all", + "esnext.string.match-all" + ], + "core-js/features/string/virtual/pad-end": [ + "es.string.pad-end" + ], + "core-js/features/string/virtual/pad-start": [ + "es.string.pad-start" + ], + "core-js/features/string/virtual/repeat": [ + "es.string.repeat" + ], + "core-js/features/string/virtual/replace-all": [ + "esnext.string.replace-all" + ], + "core-js/features/string/virtual/small": [ + "es.string.small" + ], + "core-js/features/string/virtual/starts-with": [ + "es.string.starts-with" + ], + "core-js/features/string/virtual/strike": [ + "es.string.strike" + ], + "core-js/features/string/virtual/sub": [ + "es.string.sub" + ], + "core-js/features/string/virtual/sup": [ + "es.string.sup" + ], + "core-js/features/string/virtual/trim-end": [ + "es.string.trim-end" + ], + "core-js/features/string/virtual/trim-left": [ + "es.string.trim-start" + ], + "core-js/features/string/virtual/trim-right": [ + "es.string.trim-end" + ], + "core-js/features/string/virtual/trim-start": [ + "es.string.trim-start" + ], + "core-js/features/string/virtual/trim": [ + "es.string.trim" + ], + "core-js/features/symbol/async-dispose": [ + "esnext.symbol.async-dispose" + ], + "core-js/features/symbol/async-iterator": [ + "es.symbol.async-iterator" + ], + "core-js/features/symbol/description": [ + "es.symbol.description" + ], + "core-js/features/symbol/dispose": [ + "esnext.symbol.dispose" + ], + "core-js/features/symbol/for": [ + "es.symbol" + ], + "core-js/features/symbol/has-instance": [ + "es.symbol.has-instance", + "es.function.has-instance" + ], + "core-js/features/symbol": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all" + ], + "core-js/features/symbol/is-concat-spreadable": [ + "es.symbol.is-concat-spreadable", + "es.array.concat" + ], + "core-js/features/symbol/iterator": [ + "es.symbol.iterator", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/features/symbol/key-for": [ + "es.symbol" + ], + "core-js/features/symbol/match-all": [ + "es.symbol.match-all", + "es.string.match-all" + ], + "core-js/features/symbol/match": [ + "es.symbol.match", + "es.string.match" + ], + "core-js/features/symbol/observable": [ + "esnext.symbol.observable" + ], + "core-js/features/symbol/pattern-match": [ + "esnext.symbol.pattern-match" + ], + "core-js/features/symbol/replace-all": [ + "esnext.symbol.replace-all" + ], + "core-js/features/symbol/replace": [ + "es.symbol.replace", + "es.string.replace" + ], + "core-js/features/symbol/search": [ + "es.symbol.search", + "es.string.search" + ], + "core-js/features/symbol/species": [ + "es.symbol.species" + ], + "core-js/features/symbol/split": [ + "es.symbol.split", + "es.string.split" + ], + "core-js/features/symbol/to-primitive": [ + "es.symbol.to-primitive" + ], + "core-js/features/symbol/to-string-tag": [ + "es.symbol.to-string-tag", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/features/symbol/unscopables": [ + "es.symbol.unscopables" + ], + "core-js/features/typed-array/copy-within": [ + "es.typed-array.copy-within" + ], + "core-js/features/typed-array/entries": [ + "es.typed-array.iterator" + ], + "core-js/features/typed-array/every": [ + "es.typed-array.every" + ], + "core-js/features/typed-array/fill": [ + "es.typed-array.fill" + ], + "core-js/features/typed-array/filter": [ + "es.typed-array.filter" + ], + "core-js/features/typed-array/find-index": [ + "es.typed-array.find-index" + ], + "core-js/features/typed-array/find": [ + "es.typed-array.find" + ], + "core-js/features/typed-array/float32-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/float64-array": [ + "es.object.to-string", + "es.typed-array.float64-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/for-each": [ + "es.typed-array.for-each" + ], + "core-js/features/typed-array/from": [ + "es.typed-array.from" + ], + "core-js/features/typed-array/includes": [ + "es.typed-array.includes" + ], + "core-js/features/typed-array/index-of": [ + "es.typed-array.index-of" + ], + "core-js/features/typed-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/int16-array": [ + "es.object.to-string", + "es.typed-array.int16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/int32-array": [ + "es.object.to-string", + "es.typed-array.int32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/int8-array": [ + "es.object.to-string", + "es.typed-array.int8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/iterator": [ + "es.typed-array.iterator" + ], + "core-js/features/typed-array/join": [ + "es.typed-array.join" + ], + "core-js/features/typed-array/keys": [ + "es.typed-array.iterator" + ], + "core-js/features/typed-array/last-index-of": [ + "es.typed-array.last-index-of" + ], + "core-js/features/typed-array/map": [ + "es.typed-array.map" + ], + "core-js/features/typed-array/of": [ + "es.typed-array.of" + ], + "core-js/features/typed-array/reduce-right": [ + "es.typed-array.reduce-right" + ], + "core-js/features/typed-array/reduce": [ + "es.typed-array.reduce" + ], + "core-js/features/typed-array/reverse": [ + "es.typed-array.reverse" + ], + "core-js/features/typed-array/set": [ + "es.typed-array.set" + ], + "core-js/features/typed-array/slice": [ + "es.typed-array.slice" + ], + "core-js/features/typed-array/some": [ + "es.typed-array.some" + ], + "core-js/features/typed-array/sort": [ + "es.typed-array.sort" + ], + "core-js/features/typed-array/subarray": [ + "es.typed-array.subarray" + ], + "core-js/features/typed-array/to-locale-string": [ + "es.typed-array.to-locale-string" + ], + "core-js/features/typed-array/to-string": [ + "es.typed-array.to-string" + ], + "core-js/features/typed-array/uint16-array": [ + "es.object.to-string", + "es.typed-array.uint16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/uint32-array": [ + "es.object.to-string", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/uint8-array": [ + "es.object.to-string", + "es.typed-array.uint8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/uint8-clamped-array": [ + "es.object.to-string", + "es.typed-array.uint8-clamped-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/features/typed-array/values": [ + "es.typed-array.iterator" + ], + "core-js/features/url-search-params": [ + "web.url-search-params" + ], + "core-js/features/url": [ + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/features/url/to-json": [ + "web.url.to-json" + ], + "core-js/features/weak-map/delete-all": [ + "es.weak-map", + "esnext.weak-map.delete-all" + ], + "core-js/features/weak-map/from": [ + "es.string.iterator", + "es.weak-map", + "esnext.weak-map.from", + "web.dom-collections.iterator" + ], + "core-js/features/weak-map": [ + "es.object.to-string", + "es.weak-map", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "web.dom-collections.iterator" + ], + "core-js/features/weak-map/of": [ + "es.string.iterator", + "es.weak-map", + "esnext.weak-map.of", + "web.dom-collections.iterator" + ], + "core-js/features/weak-map/upsert": [ + "es.weak-map", + "esnext.weak-map.upsert" + ], + "core-js/features/weak-set/add-all": [ + "es.weak-set", + "esnext.weak-set.add-all" + ], + "core-js/features/weak-set/delete-all": [ + "es.weak-set", + "esnext.weak-set.delete-all" + ], + "core-js/features/weak-set/from": [ + "es.string.iterator", + "es.weak-set", + "esnext.weak-set.from", + "web.dom-collections.iterator" + ], + "core-js/features/weak-set": [ + "es.object.to-string", + "es.weak-set", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.dom-collections.iterator" + ], + "core-js/features/weak-set/of": [ + "es.string.iterator", + "es.weak-set", + "esnext.weak-set.of", + "web.dom-collections.iterator" + ], + "core-js/proposals/array-is-template-object": [ + "esnext.array.is-template-object" + ], + "core-js/proposals/array-last": [ + "esnext.array.last-index", + "esnext.array.last-item" + ], + "core-js/proposals/collection-methods": [ + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.join", + "esnext.set.map", + "esnext.set.reduce", + "esnext.set.some", + "esnext.weak-map.delete-all", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all" + ], + "core-js/proposals/collection-of-from": [ + "esnext.map.from", + "esnext.map.of", + "esnext.set.from", + "esnext.set.of", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-set.from", + "esnext.weak-set.of" + ], + "core-js/proposals/efficient-64-bit-arithmetic": [ + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.umulh" + ], + "core-js/proposals/global-this": [ + "esnext.global-this" + ], + "core-js/proposals": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/proposals/iterator-helpers": [ + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array" + ], + "core-js/proposals/keys-composition": [ + "esnext.composite-key", + "esnext.composite-symbol" + ], + "core-js/proposals/map-update-or-insert": [ + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.weak-map.upsert" + ], + "core-js/proposals/map-upsert": [ + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.weak-map.upsert" + ], + "core-js/proposals/math-extensions": [ + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale" + ], + "core-js/proposals/math-signbit": [ + "esnext.math.signbit" + ], + "core-js/proposals/number-from-string": [ + "esnext.number.from-string" + ], + "core-js/proposals/observable": [ + "esnext.observable", + "esnext.symbol.observable" + ], + "core-js/proposals/pattern-matching": [ + "esnext.symbol.pattern-match" + ], + "core-js/proposals/promise-all-settled": [ + "esnext.promise.all-settled" + ], + "core-js/proposals/promise-any": [ + "esnext.aggregate-error", + "esnext.promise.any" + ], + "core-js/proposals/promise-try": [ + "esnext.promise.try" + ], + "core-js/proposals/reflect-metadata": [ + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata" + ], + "core-js/proposals/seeded-random": [ + "esnext.math.seeded-prng" + ], + "core-js/proposals/set-methods": [ + "esnext.set.difference", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.symmetric-difference", + "esnext.set.union" + ], + "core-js/proposals/string-at": [ + "esnext.string.at" + ], + "core-js/proposals/string-code-points": [ + "esnext.string.code-points" + ], + "core-js/proposals/string-match-all": [ + "esnext.string.match-all" + ], + "core-js/proposals/string-replace-all": [ + "esnext.string.replace-all", + "esnext.symbol.replace-all" + ], + "core-js/proposals/url": [ + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/proposals/using-statement": [ + "esnext.symbol.async-dispose", + "esnext.symbol.dispose" + ], + "core-js/stable/array-buffer/constructor": [ + "es.array-buffer.constructor", + "es.object.to-string" + ], + "core-js/stable/array-buffer": [ + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.object.to-string" + ], + "core-js/stable/array-buffer/is-view": [ + "es.array-buffer.is-view" + ], + "core-js/stable/array-buffer/slice": [ + "es.array-buffer.slice" + ], + "core-js/stable/array/concat": [ + "es.array.concat" + ], + "core-js/stable/array/copy-within": [ + "es.array.copy-within" + ], + "core-js/stable/array/entries": [ + "es.array.iterator" + ], + "core-js/stable/array/every": [ + "es.array.every" + ], + "core-js/stable/array/fill": [ + "es.array.fill" + ], + "core-js/stable/array/filter": [ + "es.array.filter" + ], + "core-js/stable/array/find-index": [ + "es.array.find-index" + ], + "core-js/stable/array/find": [ + "es.array.find" + ], + "core-js/stable/array/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/stable/array/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/stable/array/for-each": [ + "es.array.for-each" + ], + "core-js/stable/array/from": [ + "es.array.from", + "es.string.iterator" + ], + "core-js/stable/array/includes": [ + "es.array.includes" + ], + "core-js/stable/array/index-of": [ + "es.array.index-of" + ], + "core-js/stable/array": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.string.iterator" + ], + "core-js/stable/array/is-array": [ + "es.array.is-array" + ], + "core-js/stable/array/iterator": [ + "es.array.iterator" + ], + "core-js/stable/array/join": [ + "es.array.join" + ], + "core-js/stable/array/keys": [ + "es.array.iterator" + ], + "core-js/stable/array/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/stable/array/map": [ + "es.array.map" + ], + "core-js/stable/array/of": [ + "es.array.of" + ], + "core-js/stable/array/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/stable/array/reduce": [ + "es.array.reduce" + ], + "core-js/stable/array/reverse": [ + "es.array.reverse" + ], + "core-js/stable/array/slice": [ + "es.array.slice" + ], + "core-js/stable/array/some": [ + "es.array.some" + ], + "core-js/stable/array/sort": [ + "es.array.sort" + ], + "core-js/stable/array/splice": [ + "es.array.splice" + ], + "core-js/stable/array/values": [ + "es.array.iterator" + ], + "core-js/stable/array/virtual/concat": [ + "es.array.concat" + ], + "core-js/stable/array/virtual/copy-within": [ + "es.array.copy-within" + ], + "core-js/stable/array/virtual/entries": [ + "es.array.iterator" + ], + "core-js/stable/array/virtual/every": [ + "es.array.every" + ], + "core-js/stable/array/virtual/fill": [ + "es.array.fill" + ], + "core-js/stable/array/virtual/filter": [ + "es.array.filter" + ], + "core-js/stable/array/virtual/find-index": [ + "es.array.find-index" + ], + "core-js/stable/array/virtual/find": [ + "es.array.find" + ], + "core-js/stable/array/virtual/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/stable/array/virtual/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/stable/array/virtual/for-each": [ + "es.array.for-each" + ], + "core-js/stable/array/virtual/includes": [ + "es.array.includes" + ], + "core-js/stable/array/virtual/index-of": [ + "es.array.index-of" + ], + "core-js/stable/array/virtual": [ + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.includes", + "es.array.index-of", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map" + ], + "core-js/stable/array/virtual/iterator": [ + "es.array.iterator" + ], + "core-js/stable/array/virtual/join": [ + "es.array.join" + ], + "core-js/stable/array/virtual/keys": [ + "es.array.iterator" + ], + "core-js/stable/array/virtual/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/stable/array/virtual/map": [ + "es.array.map" + ], + "core-js/stable/array/virtual/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/stable/array/virtual/reduce": [ + "es.array.reduce" + ], + "core-js/stable/array/virtual/reverse": [ + "es.array.reverse" + ], + "core-js/stable/array/virtual/slice": [ + "es.array.slice" + ], + "core-js/stable/array/virtual/some": [ + "es.array.some" + ], + "core-js/stable/array/virtual/sort": [ + "es.array.sort" + ], + "core-js/stable/array/virtual/splice": [ + "es.array.splice" + ], + "core-js/stable/array/virtual/values": [ + "es.array.iterator" + ], + "core-js/stable/clear-immediate": [ + "web.immediate" + ], + "core-js/stable/data-view": [ + "es.data-view", + "es.object.to-string" + ], + "core-js/stable/date": [ + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string" + ], + "core-js/stable/date/now": [ + "es.date.now" + ], + "core-js/stable/date/to-iso-string": [ + "es.date.to-iso-string", + "es.date.to-json" + ], + "core-js/stable/date/to-json": [ + "es.date.to-json" + ], + "core-js/stable/date/to-primitive": [ + "es.date.to-primitive" + ], + "core-js/stable/date/to-string": [ + "es.date.to-string" + ], + "core-js/stable/dom-collections/for-each": [ + "web.dom-collections.for-each" + ], + "core-js/stable/dom-collections": [ + "es.array.iterator", + "web.dom-collections.for-each", + "web.dom-collections.iterator" + ], + "core-js/stable/dom-collections/iterator": [ + "web.dom-collections.iterator" + ], + "core-js/stable/function/bind": [ + "es.function.bind" + ], + "core-js/stable/function/has-instance": [ + "es.function.has-instance" + ], + "core-js/stable/function": [ + "es.function.bind", + "es.function.has-instance", + "es.function.name" + ], + "core-js/stable/function/name": [ + "es.function.name" + ], + "core-js/stable/function/virtual/bind": [ + "es.function.bind" + ], + "core-js/stable/function/virtual": [ + "es.function.bind" + ], + "core-js/stable/global-this": [ + "es.global-this" + ], + "core-js/stable": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.data-view", + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string", + "es.function.bind", + "es.function.has-instance", + "es.function.name", + "es.global-this", + "es.json.to-string-tag", + "es.map", + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values", + "es.parse-float", + "es.parse-int", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.set", + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string", + "es.weak-map", + "es.weak-set", + "web.dom-collections.for-each", + "web.dom-collections.iterator", + "web.immediate", + "web.queue-microtask", + "web.timers", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/stable/instance/bind": [ + "es.function.bind" + ], + "core-js/stable/instance/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/stable/instance/concat": [ + "es.array.concat" + ], + "core-js/stable/instance/copy-within": [ + "es.array.copy-within" + ], + "core-js/stable/instance/ends-with": [ + "es.string.ends-with" + ], + "core-js/stable/instance/entries": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/instance/every": [ + "es.array.every" + ], + "core-js/stable/instance/fill": [ + "es.array.fill" + ], + "core-js/stable/instance/filter": [ + "es.array.filter" + ], + "core-js/stable/instance/find-index": [ + "es.array.find-index" + ], + "core-js/stable/instance/find": [ + "es.array.find" + ], + "core-js/stable/instance/flags": [ + "es.regexp.flags" + ], + "core-js/stable/instance/flat-map": [ + "es.array.flat-map", + "es.array.unscopables.flat-map" + ], + "core-js/stable/instance/flat": [ + "es.array.flat", + "es.array.unscopables.flat" + ], + "core-js/stable/instance/for-each": [ + "es.array.for-each", + "web.dom-collections.iterator" + ], + "core-js/stable/instance/includes": [ + "es.array.includes", + "es.string.includes" + ], + "core-js/stable/instance/index-of": [ + "es.array.index-of" + ], + "core-js/stable/instance/keys": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/instance/last-index-of": [ + "es.array.last-index-of" + ], + "core-js/stable/instance/map": [ + "es.array.map" + ], + "core-js/stable/instance/match-all": [ + "es.string.match-all" + ], + "core-js/stable/instance/pad-end": [ + "es.string.pad-end" + ], + "core-js/stable/instance/pad-start": [ + "es.string.pad-start" + ], + "core-js/stable/instance/reduce-right": [ + "es.array.reduce-right" + ], + "core-js/stable/instance/reduce": [ + "es.array.reduce" + ], + "core-js/stable/instance/repeat": [ + "es.string.repeat" + ], + "core-js/stable/instance/reverse": [ + "es.array.reverse" + ], + "core-js/stable/instance/slice": [ + "es.array.slice" + ], + "core-js/stable/instance/some": [ + "es.array.some" + ], + "core-js/stable/instance/sort": [ + "es.array.sort" + ], + "core-js/stable/instance/splice": [ + "es.array.splice" + ], + "core-js/stable/instance/starts-with": [ + "es.string.starts-with" + ], + "core-js/stable/instance/trim-end": [ + "es.string.trim-end" + ], + "core-js/stable/instance/trim-left": [ + "es.string.trim-start" + ], + "core-js/stable/instance/trim-right": [ + "es.string.trim-end" + ], + "core-js/stable/instance/trim-start": [ + "es.string.trim-start" + ], + "core-js/stable/instance/trim": [ + "es.string.trim" + ], + "core-js/stable/instance/values": [ + "es.array.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/json": [ + "es.json.to-string-tag" + ], + "core-js/stable/json/stringify": [ + "es.json.stringify" + ], + "core-js/stable/json/to-string-tag": [ + "es.json.to-string-tag" + ], + "core-js/stable/map": [ + "es.map", + "es.object.to-string", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/math/acosh": [ + "es.math.acosh" + ], + "core-js/stable/math/asinh": [ + "es.math.asinh" + ], + "core-js/stable/math/atanh": [ + "es.math.atanh" + ], + "core-js/stable/math/cbrt": [ + "es.math.cbrt" + ], + "core-js/stable/math/clz32": [ + "es.math.clz32" + ], + "core-js/stable/math/cosh": [ + "es.math.cosh" + ], + "core-js/stable/math/expm1": [ + "es.math.expm1" + ], + "core-js/stable/math/fround": [ + "es.math.fround" + ], + "core-js/stable/math/hypot": [ + "es.math.hypot" + ], + "core-js/stable/math/imul": [ + "es.math.imul" + ], + "core-js/stable/math": [ + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc" + ], + "core-js/stable/math/log10": [ + "es.math.log10" + ], + "core-js/stable/math/log1p": [ + "es.math.log1p" + ], + "core-js/stable/math/log2": [ + "es.math.log2" + ], + "core-js/stable/math/sign": [ + "es.math.sign" + ], + "core-js/stable/math/sinh": [ + "es.math.sinh" + ], + "core-js/stable/math/tanh": [ + "es.math.tanh" + ], + "core-js/stable/math/to-string-tag": [ + "es.math.to-string-tag" + ], + "core-js/stable/math/trunc": [ + "es.math.trunc" + ], + "core-js/stable/number/constructor": [ + "es.number.constructor" + ], + "core-js/stable/number/epsilon": [ + "es.number.epsilon" + ], + "core-js/stable/number": [ + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision" + ], + "core-js/stable/number/is-finite": [ + "es.number.is-finite" + ], + "core-js/stable/number/is-integer": [ + "es.number.is-integer" + ], + "core-js/stable/number/is-nan": [ + "es.number.is-nan" + ], + "core-js/stable/number/is-safe-integer": [ + "es.number.is-safe-integer" + ], + "core-js/stable/number/max-safe-integer": [ + "es.number.max-safe-integer" + ], + "core-js/stable/number/min-safe-integer": [ + "es.number.min-safe-integer" + ], + "core-js/stable/number/parse-float": [ + "es.number.parse-float" + ], + "core-js/stable/number/parse-int": [ + "es.number.parse-int" + ], + "core-js/stable/number/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/stable/number/to-precision": [ + "es.number.to-precision" + ], + "core-js/stable/number/virtual": [ + "es.number.to-fixed", + "es.number.to-precision" + ], + "core-js/stable/number/virtual/to-fixed": [ + "es.number.to-fixed" + ], + "core-js/stable/number/virtual/to-precision": [ + "es.number.to-precision" + ], + "core-js/stable/object/assign": [ + "es.object.assign" + ], + "core-js/stable/object/create": [ + "es.object.create" + ], + "core-js/stable/object/define-getter": [ + "es.object.define-getter" + ], + "core-js/stable/object/define-properties": [ + "es.object.define-properties" + ], + "core-js/stable/object/define-property": [ + "es.object.define-property" + ], + "core-js/stable/object/define-setter": [ + "es.object.define-setter" + ], + "core-js/stable/object/entries": [ + "es.object.entries" + ], + "core-js/stable/object/freeze": [ + "es.object.freeze" + ], + "core-js/stable/object/from-entries": [ + "es.array.iterator", + "es.object.from-entries" + ], + "core-js/stable/object/get-own-property-descriptor": [ + "es.object.get-own-property-descriptor" + ], + "core-js/stable/object/get-own-property-descriptors": [ + "es.object.get-own-property-descriptors" + ], + "core-js/stable/object/get-own-property-names": [ + "es.object.get-own-property-names" + ], + "core-js/stable/object/get-own-property-symbols": [ + "es.symbol" + ], + "core-js/stable/object/get-prototype-of": [ + "es.object.get-prototype-of" + ], + "core-js/stable/object": [ + "es.symbol", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values" + ], + "core-js/stable/object/is-extensible": [ + "es.object.is-extensible" + ], + "core-js/stable/object/is-frozen": [ + "es.object.is-frozen" + ], + "core-js/stable/object/is-sealed": [ + "es.object.is-sealed" + ], + "core-js/stable/object/is": [ + "es.object.is" + ], + "core-js/stable/object/keys": [ + "es.object.keys" + ], + "core-js/stable/object/lookup-getter": [ + "es.object.lookup-setter" + ], + "core-js/stable/object/lookup-setter": [ + "es.object.lookup-setter" + ], + "core-js/stable/object/prevent-extensions": [ + "es.object.prevent-extensions" + ], + "core-js/stable/object/seal": [ + "es.object.seal" + ], + "core-js/stable/object/set-prototype-of": [ + "es.object.set-prototype-of" + ], + "core-js/stable/object/to-string": [ + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/stable/object/values": [ + "es.object.values" + ], + "core-js/stable/parse-float": [ + "es.parse-float" + ], + "core-js/stable/parse-int": [ + "es.parse-int" + ], + "core-js/stable/promise/all-settled": [ + "es.promise", + "es.promise.all-settled" + ], + "core-js/stable/promise/finally": [ + "es.promise", + "es.promise.finally" + ], + "core-js/stable/promise": [ + "es.object.to-string", + "es.promise", + "es.promise.all-settled", + "es.promise.finally", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/queue-microtask": [ + "web.queue-microtask" + ], + "core-js/stable/reflect/apply": [ + "es.reflect.apply" + ], + "core-js/stable/reflect/construct": [ + "es.reflect.construct" + ], + "core-js/stable/reflect/define-property": [ + "es.reflect.define-property" + ], + "core-js/stable/reflect/delete-property": [ + "es.reflect.delete-property" + ], + "core-js/stable/reflect/get-own-property-descriptor": [ + "es.reflect.get-own-property-descriptor" + ], + "core-js/stable/reflect/get-prototype-of": [ + "es.reflect.get-prototype-of" + ], + "core-js/stable/reflect/get": [ + "es.reflect.get" + ], + "core-js/stable/reflect/has": [ + "es.reflect.has" + ], + "core-js/stable/reflect": [ + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of" + ], + "core-js/stable/reflect/is-extensible": [ + "es.reflect.is-extensible" + ], + "core-js/stable/reflect/own-keys": [ + "es.reflect.own-keys" + ], + "core-js/stable/reflect/prevent-extensions": [ + "es.reflect.prevent-extensions" + ], + "core-js/stable/reflect/set-prototype-of": [ + "es.reflect.set-prototype-of" + ], + "core-js/stable/reflect/set": [ + "es.reflect.set" + ], + "core-js/stable/regexp/constructor": [ + "es.regexp.constructor" + ], + "core-js/stable/regexp/flags": [ + "es.regexp.flags" + ], + "core-js/stable/regexp": [ + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.string.match", + "es.string.replace", + "es.string.search", + "es.string.split" + ], + "core-js/stable/regexp/match": [ + "es.string.match" + ], + "core-js/stable/regexp/replace": [ + "es.string.replace" + ], + "core-js/stable/regexp/search": [ + "es.string.search" + ], + "core-js/stable/regexp/split": [ + "es.string.split" + ], + "core-js/stable/regexp/to-string": [ + "es.regexp.to-string" + ], + "core-js/stable/set-immediate": [ + "web.immediate" + ], + "core-js/stable/set-interval": [ + "web.timers" + ], + "core-js/stable/set-timeout": [ + "web.timers" + ], + "core-js/stable/set": [ + "es.object.to-string", + "es.set", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/string/anchor": [ + "es.string.anchor" + ], + "core-js/stable/string/big": [ + "es.string.big" + ], + "core-js/stable/string/blink": [ + "es.string.blink" + ], + "core-js/stable/string/bold": [ + "es.string.bold" + ], + "core-js/stable/string/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/stable/string/ends-with": [ + "es.string.ends-with" + ], + "core-js/stable/string/fixed": [ + "es.string.fixed" + ], + "core-js/stable/string/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/stable/string/fontsize": [ + "es.string.fontsize" + ], + "core-js/stable/string/from-code-point": [ + "es.string.from-code-point" + ], + "core-js/stable/string/includes": [ + "es.string.includes" + ], + "core-js/stable/string": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup" + ], + "core-js/stable/string/italics": [ + "es.string.italics" + ], + "core-js/stable/string/iterator": [ + "es.string.iterator" + ], + "core-js/stable/string/link": [ + "es.string.link" + ], + "core-js/stable/string/match-all": [ + "es.string.match-all" + ], + "core-js/stable/string/match": [ + "es.string.match" + ], + "core-js/stable/string/pad-end": [ + "es.string.pad-end" + ], + "core-js/stable/string/pad-start": [ + "es.string.pad-start" + ], + "core-js/stable/string/raw": [ + "es.string.raw" + ], + "core-js/stable/string/repeat": [ + "es.string.repeat" + ], + "core-js/stable/string/replace": [ + "es.string.replace" + ], + "core-js/stable/string/search": [ + "es.string.search" + ], + "core-js/stable/string/small": [ + "es.string.small" + ], + "core-js/stable/string/split": [ + "es.string.split" + ], + "core-js/stable/string/starts-with": [ + "es.string.starts-with" + ], + "core-js/stable/string/strike": [ + "es.string.strike" + ], + "core-js/stable/string/sub": [ + "es.string.sub" + ], + "core-js/stable/string/sup": [ + "es.string.sup" + ], + "core-js/stable/string/trim-end": [ + "es.string.trim-end" + ], + "core-js/stable/string/trim-left": [ + "es.string.trim-start" + ], + "core-js/stable/string/trim-right": [ + "es.string.trim-end" + ], + "core-js/stable/string/trim-start": [ + "es.string.trim-start" + ], + "core-js/stable/string/trim": [ + "es.string.trim" + ], + "core-js/stable/string/virtual/anchor": [ + "es.string.anchor" + ], + "core-js/stable/string/virtual/big": [ + "es.string.big" + ], + "core-js/stable/string/virtual/blink": [ + "es.string.blink" + ], + "core-js/stable/string/virtual/bold": [ + "es.string.bold" + ], + "core-js/stable/string/virtual/code-point-at": [ + "es.string.code-point-at" + ], + "core-js/stable/string/virtual/ends-with": [ + "es.string.ends-with" + ], + "core-js/stable/string/virtual/fixed": [ + "es.string.fixed" + ], + "core-js/stable/string/virtual/fontcolor": [ + "es.string.fontcolor" + ], + "core-js/stable/string/virtual/fontsize": [ + "es.string.fontsize" + ], + "core-js/stable/string/virtual/includes": [ + "es.string.includes" + ], + "core-js/stable/string/virtual": [ + "es.string.code-point-at", + "es.string.ends-with", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.match-all", + "es.string.pad-end", + "es.string.pad-start", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup" + ], + "core-js/stable/string/virtual/italics": [ + "es.string.italics" + ], + "core-js/stable/string/virtual/iterator": [ + "es.string.iterator" + ], + "core-js/stable/string/virtual/link": [ + "es.string.link" + ], + "core-js/stable/string/virtual/match-all": [ + "es.string.match-all" + ], + "core-js/stable/string/virtual/pad-end": [ + "es.string.pad-end" + ], + "core-js/stable/string/virtual/pad-start": [ + "es.string.pad-start" + ], + "core-js/stable/string/virtual/repeat": [ + "es.string.repeat" + ], + "core-js/stable/string/virtual/small": [ + "es.string.small" + ], + "core-js/stable/string/virtual/starts-with": [ + "es.string.starts-with" + ], + "core-js/stable/string/virtual/strike": [ + "es.string.strike" + ], + "core-js/stable/string/virtual/sub": [ + "es.string.sub" + ], + "core-js/stable/string/virtual/sup": [ + "es.string.sup" + ], + "core-js/stable/string/virtual/trim-end": [ + "es.string.trim-end" + ], + "core-js/stable/string/virtual/trim-left": [ + "es.string.trim-start" + ], + "core-js/stable/string/virtual/trim-right": [ + "es.string.trim-end" + ], + "core-js/stable/string/virtual/trim-start": [ + "es.string.trim-start" + ], + "core-js/stable/string/virtual/trim": [ + "es.string.trim" + ], + "core-js/stable/symbol/async-iterator": [ + "es.symbol.async-iterator" + ], + "core-js/stable/symbol/description": [ + "es.symbol.description" + ], + "core-js/stable/symbol/for": [ + "es.symbol" + ], + "core-js/stable/symbol/has-instance": [ + "es.symbol.has-instance", + "es.function.has-instance" + ], + "core-js/stable/symbol": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.match-all", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/stable/symbol/is-concat-spreadable": [ + "es.symbol.is-concat-spreadable", + "es.array.concat" + ], + "core-js/stable/symbol/iterator": [ + "es.symbol.iterator", + "es.string.iterator", + "web.dom-collections.iterator" + ], + "core-js/stable/symbol/key-for": [ + "es.symbol" + ], + "core-js/stable/symbol/match-all": [ + "es.symbol.match-all", + "es.string.match-all" + ], + "core-js/stable/symbol/match": [ + "es.symbol.match", + "es.string.match" + ], + "core-js/stable/symbol/replace": [ + "es.symbol.replace", + "es.string.replace" + ], + "core-js/stable/symbol/search": [ + "es.symbol.search", + "es.string.search" + ], + "core-js/stable/symbol/species": [ + "es.symbol.species" + ], + "core-js/stable/symbol/split": [ + "es.symbol.split", + "es.string.split" + ], + "core-js/stable/symbol/to-primitive": [ + "es.symbol.to-primitive" + ], + "core-js/stable/symbol/to-string-tag": [ + "es.symbol.to-string-tag", + "es.json.to-string-tag", + "es.math.to-string-tag", + "es.object.to-string" + ], + "core-js/stable/symbol/unscopables": [ + "es.symbol.unscopables" + ], + "core-js/stable/typed-array/copy-within": [ + "es.typed-array.copy-within" + ], + "core-js/stable/typed-array/entries": [ + "es.typed-array.iterator" + ], + "core-js/stable/typed-array/every": [ + "es.typed-array.every" + ], + "core-js/stable/typed-array/fill": [ + "es.typed-array.fill" + ], + "core-js/stable/typed-array/filter": [ + "es.typed-array.filter" + ], + "core-js/stable/typed-array/find-index": [ + "es.typed-array.find-index" + ], + "core-js/stable/typed-array/find": [ + "es.typed-array.find" + ], + "core-js/stable/typed-array/float32-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/float64-array": [ + "es.object.to-string", + "es.typed-array.float64-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/for-each": [ + "es.typed-array.for-each" + ], + "core-js/stable/typed-array/from": [ + "es.typed-array.from" + ], + "core-js/stable/typed-array/includes": [ + "es.typed-array.includes" + ], + "core-js/stable/typed-array/index-of": [ + "es.typed-array.index-of" + ], + "core-js/stable/typed-array": [ + "es.object.to-string", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/int16-array": [ + "es.object.to-string", + "es.typed-array.int16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/int32-array": [ + "es.object.to-string", + "es.typed-array.int32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/int8-array": [ + "es.object.to-string", + "es.typed-array.int8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/iterator": [ + "es.typed-array.iterator" + ], + "core-js/stable/typed-array/join": [ + "es.typed-array.join" + ], + "core-js/stable/typed-array/keys": [ + "es.typed-array.iterator" + ], + "core-js/stable/typed-array/last-index-of": [ + "es.typed-array.last-index-of" + ], + "core-js/stable/typed-array/map": [ + "es.typed-array.map" + ], + "core-js/stable/typed-array/of": [ + "es.typed-array.of" + ], + "core-js/stable/typed-array/reduce-right": [ + "es.typed-array.reduce-right" + ], + "core-js/stable/typed-array/reduce": [ + "es.typed-array.reduce" + ], + "core-js/stable/typed-array/reverse": [ + "es.typed-array.reverse" + ], + "core-js/stable/typed-array/set": [ + "es.typed-array.set" + ], + "core-js/stable/typed-array/slice": [ + "es.typed-array.slice" + ], + "core-js/stable/typed-array/some": [ + "es.typed-array.some" + ], + "core-js/stable/typed-array/sort": [ + "es.typed-array.sort" + ], + "core-js/stable/typed-array/subarray": [ + "es.typed-array.subarray" + ], + "core-js/stable/typed-array/to-locale-string": [ + "es.typed-array.to-locale-string" + ], + "core-js/stable/typed-array/to-string": [ + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/uint16-array": [ + "es.object.to-string", + "es.typed-array.uint16-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/uint32-array": [ + "es.object.to-string", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/uint8-array": [ + "es.object.to-string", + "es.typed-array.uint8-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/uint8-clamped-array": [ + "es.object.to-string", + "es.typed-array.uint8-clamped-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string" + ], + "core-js/stable/typed-array/values": [ + "es.typed-array.iterator" + ], + "core-js/stable/url-search-params": [ + "web.url-search-params" + ], + "core-js/stable/url": [ + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/stable/url/to-json": [ + "web.url.to-json" + ], + "core-js/stable/weak-map": [ + "es.object.to-string", + "es.weak-map", + "web.dom-collections.iterator" + ], + "core-js/stable/weak-set": [ + "es.object.to-string", + "es.weak-set", + "web.dom-collections.iterator" + ], + "core-js/stage/0": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/stage/1": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of" + ], + "core-js/stage/2": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.set.difference", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.replace-all", + "esnext.weak-map.upsert" + ], + "core-js/stage/3": [ + "esnext.aggregate-error", + "esnext.global-this", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.replace-all" + ], + "core-js/stage/4": [ + "esnext.global-this", + "esnext.promise.all-settled", + "esnext.string.match-all" + ], + "core-js/stage": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/stage/pre": [ + "esnext.aggregate-error", + "esnext.array.is-template-object", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.async-iterator.constructor", + "esnext.async-iterator.drop", + "esnext.async-iterator.filter", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.map.update-or-insert", + "esnext.map.upsert", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.async-dispose", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.symbol.replace-all", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-map.upsert", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/web/dom-collections": [ + "web.dom-collections.for-each", + "web.dom-collections.iterator" + ], + "core-js/web/immediate": [ + "web.immediate" + ], + "core-js/web": [ + "web.dom-collections.for-each", + "web.dom-collections.iterator", + "web.immediate", + "web.queue-microtask", + "web.timers", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/web/queue-microtask": [ + "web.queue-microtask" + ], + "core-js/web/timers": [ + "web.timers" + ], + "core-js/web/url-search-params": [ + "web.url-search-params" + ], + "core-js/web/url": [ + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "core-js/modules/es.array-buffer.constructor": [ + "es.array-buffer.constructor" + ], + "core-js/modules/es.array-buffer.is-view": [ + "es.array-buffer.is-view" + ], + "core-js/modules/es.array-buffer.slice": [ + "es.array-buffer.slice" + ], + "core-js/modules/es.array.concat": [ + "es.array.concat" + ], + "core-js/modules/es.array.copy-within": [ + "es.array.copy-within" + ], + "core-js/modules/es.array.every": [ + "es.array.every" + ], + "core-js/modules/es.array.fill": [ + "es.array.fill" + ], + "core-js/modules/es.array.filter": [ + "es.array.filter" + ], + "core-js/modules/es.array.find-index": [ + "es.array.find-index" + ], + "core-js/modules/es.array.find": [ + "es.array.find" + ], + "core-js/modules/es.array.flat-map": [ + "es.array.flat-map" + ], + "core-js/modules/es.array.flat": [ + "es.array.flat" + ], + "core-js/modules/es.array.for-each": [ + "es.array.for-each" + ], + "core-js/modules/es.array.from": [ + "es.array.from" + ], + "core-js/modules/es.array.includes": [ + "es.array.includes" + ], + "core-js/modules/es.array.index-of": [ + "es.array.index-of" + ], + "core-js/modules/es.array.is-array": [ + "es.array.is-array" + ], + "core-js/modules/es.array.iterator": [ + "es.array.iterator" + ], + "core-js/modules/es.array.join": [ + "es.array.join" + ], + "core-js/modules/es.array.last-index-of": [ + "es.array.last-index-of" + ], + "core-js/modules/es.array.map": [ + "es.array.map" + ], + "core-js/modules/es.array.of": [ + "es.array.of" + ], + "core-js/modules/es.array.reduce-right": [ + "es.array.reduce-right" + ], + "core-js/modules/es.array.reduce": [ + "es.array.reduce" + ], + "core-js/modules/es.array.reverse": [ + "es.array.reverse" + ], + "core-js/modules/es.array.slice": [ + "es.array.slice" + ], + "core-js/modules/es.array.some": [ + "es.array.some" + ], + "core-js/modules/es.array.sort": [ + "es.array.sort" + ], + "core-js/modules/es.array.species": [ + "es.array.species" + ], + "core-js/modules/es.array.splice": [ + "es.array.splice" + ], + "core-js/modules/es.array.unscopables.flat-map": [ + "es.array.unscopables.flat-map" + ], + "core-js/modules/es.array.unscopables.flat": [ + "es.array.unscopables.flat" + ], + "core-js/modules/es.data-view": [ + "es.data-view" + ], + "core-js/modules/es.date.now": [ + "es.date.now" + ], + "core-js/modules/es.date.to-iso-string": [ + "es.date.to-iso-string" + ], + "core-js/modules/es.date.to-json": [ + "es.date.to-json" + ], + "core-js/modules/es.date.to-primitive": [ + "es.date.to-primitive" + ], + "core-js/modules/es.date.to-string": [ + "es.date.to-string" + ], + "core-js/modules/es.function.bind": [ + "es.function.bind" + ], + "core-js/modules/es.function.has-instance": [ + "es.function.has-instance" + ], + "core-js/modules/es.function.name": [ + "es.function.name" + ], + "core-js/modules/es.global-this": [ + "es.global-this" + ], + "core-js/modules/es.json.stringify": [ + "es.json.stringify" + ], + "core-js/modules/es.json.to-string-tag": [ + "es.json.to-string-tag" + ], + "core-js/modules/es.map": [ + "es.map" + ], + "core-js/modules/es.math.acosh": [ + "es.math.acosh" + ], + "core-js/modules/es.math.asinh": [ + "es.math.asinh" + ], + "core-js/modules/es.math.atanh": [ + "es.math.atanh" + ], + "core-js/modules/es.math.cbrt": [ + "es.math.cbrt" + ], + "core-js/modules/es.math.clz32": [ + "es.math.clz32" + ], + "core-js/modules/es.math.cosh": [ + "es.math.cosh" + ], + "core-js/modules/es.math.expm1": [ + "es.math.expm1" + ], + "core-js/modules/es.math.fround": [ + "es.math.fround" + ], + "core-js/modules/es.math.hypot": [ + "es.math.hypot" + ], + "core-js/modules/es.math.imul": [ + "es.math.imul" + ], + "core-js/modules/es.math.log10": [ + "es.math.log10" + ], + "core-js/modules/es.math.log1p": [ + "es.math.log1p" + ], + "core-js/modules/es.math.log2": [ + "es.math.log2" + ], + "core-js/modules/es.math.sign": [ + "es.math.sign" + ], + "core-js/modules/es.math.sinh": [ + "es.math.sinh" + ], + "core-js/modules/es.math.tanh": [ + "es.math.tanh" + ], + "core-js/modules/es.math.to-string-tag": [ + "es.math.to-string-tag" + ], + "core-js/modules/es.math.trunc": [ + "es.math.trunc" + ], + "core-js/modules/es.number.constructor": [ + "es.number.constructor" + ], + "core-js/modules/es.number.epsilon": [ + "es.number.epsilon" + ], + "core-js/modules/es.number.is-finite": [ + "es.number.is-finite" + ], + "core-js/modules/es.number.is-integer": [ + "es.number.is-integer" + ], + "core-js/modules/es.number.is-nan": [ + "es.number.is-nan" + ], + "core-js/modules/es.number.is-safe-integer": [ + "es.number.is-safe-integer" + ], + "core-js/modules/es.number.max-safe-integer": [ + "es.number.max-safe-integer" + ], + "core-js/modules/es.number.min-safe-integer": [ + "es.number.min-safe-integer" + ], + "core-js/modules/es.number.parse-float": [ + "es.number.parse-float" + ], + "core-js/modules/es.number.parse-int": [ + "es.number.parse-int" + ], + "core-js/modules/es.number.to-fixed": [ + "es.number.to-fixed" + ], + "core-js/modules/es.number.to-precision": [ + "es.number.to-precision" + ], + "core-js/modules/es.object.assign": [ + "es.object.assign" + ], + "core-js/modules/es.object.create": [ + "es.object.create" + ], + "core-js/modules/es.object.define-getter": [ + "es.object.define-getter" + ], + "core-js/modules/es.object.define-properties": [ + "es.object.define-properties" + ], + "core-js/modules/es.object.define-property": [ + "es.object.define-property" + ], + "core-js/modules/es.object.define-setter": [ + "es.object.define-setter" + ], + "core-js/modules/es.object.entries": [ + "es.object.entries" + ], + "core-js/modules/es.object.freeze": [ + "es.object.freeze" + ], + "core-js/modules/es.object.from-entries": [ + "es.object.from-entries" + ], + "core-js/modules/es.object.get-own-property-descriptor": [ + "es.object.get-own-property-descriptor" + ], + "core-js/modules/es.object.get-own-property-descriptors": [ + "es.object.get-own-property-descriptors" + ], + "core-js/modules/es.object.get-own-property-names": [ + "es.object.get-own-property-names" + ], + "core-js/modules/es.object.get-prototype-of": [ + "es.object.get-prototype-of" + ], + "core-js/modules/es.object.is-extensible": [ + "es.object.is-extensible" + ], + "core-js/modules/es.object.is-frozen": [ + "es.object.is-frozen" + ], + "core-js/modules/es.object.is-sealed": [ + "es.object.is-sealed" + ], + "core-js/modules/es.object.is": [ + "es.object.is" + ], + "core-js/modules/es.object.keys": [ + "es.object.keys" + ], + "core-js/modules/es.object.lookup-getter": [ + "es.object.lookup-getter" + ], + "core-js/modules/es.object.lookup-setter": [ + "es.object.lookup-setter" + ], + "core-js/modules/es.object.prevent-extensions": [ + "es.object.prevent-extensions" + ], + "core-js/modules/es.object.seal": [ + "es.object.seal" + ], + "core-js/modules/es.object.set-prototype-of": [ + "es.object.set-prototype-of" + ], + "core-js/modules/es.object.to-string": [ + "es.object.to-string" + ], + "core-js/modules/es.object.values": [ + "es.object.values" + ], + "core-js/modules/es.parse-float": [ + "es.parse-float" + ], + "core-js/modules/es.parse-int": [ + "es.parse-int" + ], + "core-js/modules/es.promise.all-settled": [ + "es.promise.all-settled" + ], + "core-js/modules/es.promise.finally": [ + "es.promise.finally" + ], + "core-js/modules/es.promise": [ + "es.promise" + ], + "core-js/modules/es.reflect.apply": [ + "es.reflect.apply" + ], + "core-js/modules/es.reflect.construct": [ + "es.reflect.construct" + ], + "core-js/modules/es.reflect.define-property": [ + "es.reflect.define-property" + ], + "core-js/modules/es.reflect.delete-property": [ + "es.reflect.delete-property" + ], + "core-js/modules/es.reflect.get-own-property-descriptor": [ + "es.reflect.get-own-property-descriptor" + ], + "core-js/modules/es.reflect.get-prototype-of": [ + "es.reflect.get-prototype-of" + ], + "core-js/modules/es.reflect.get": [ + "es.reflect.get" + ], + "core-js/modules/es.reflect.has": [ + "es.reflect.has" + ], + "core-js/modules/es.reflect.is-extensible": [ + "es.reflect.is-extensible" + ], + "core-js/modules/es.reflect.own-keys": [ + "es.reflect.own-keys" + ], + "core-js/modules/es.reflect.prevent-extensions": [ + "es.reflect.prevent-extensions" + ], + "core-js/modules/es.reflect.set-prototype-of": [ + "es.reflect.set-prototype-of" + ], + "core-js/modules/es.reflect.set": [ + "es.reflect.set" + ], + "core-js/modules/es.regexp.constructor": [ + "es.regexp.constructor" + ], + "core-js/modules/es.regexp.exec": [ + "es.regexp.exec" + ], + "core-js/modules/es.regexp.flags": [ + "es.regexp.flags" + ], + "core-js/modules/es.regexp.to-string": [ + "es.regexp.to-string" + ], + "core-js/modules/es.set": [ + "es.set" + ], + "core-js/modules/es.string.anchor": [ + "es.string.anchor" + ], + "core-js/modules/es.string.big": [ + "es.string.big" + ], + "core-js/modules/es.string.blink": [ + "es.string.blink" + ], + "core-js/modules/es.string.bold": [ + "es.string.bold" + ], + "core-js/modules/es.string.code-point-at": [ + "es.string.code-point-at" + ], + "core-js/modules/es.string.ends-with": [ + "es.string.ends-with" + ], + "core-js/modules/es.string.fixed": [ + "es.string.fixed" + ], + "core-js/modules/es.string.fontcolor": [ + "es.string.fontcolor" + ], + "core-js/modules/es.string.fontsize": [ + "es.string.fontsize" + ], + "core-js/modules/es.string.from-code-point": [ + "es.string.from-code-point" + ], + "core-js/modules/es.string.includes": [ + "es.string.includes" + ], + "core-js/modules/es.string.italics": [ + "es.string.italics" + ], + "core-js/modules/es.string.iterator": [ + "es.string.iterator" + ], + "core-js/modules/es.string.link": [ + "es.string.link" + ], + "core-js/modules/es.string.match-all": [ + "es.string.match-all" + ], + "core-js/modules/es.string.match": [ + "es.string.match" + ], + "core-js/modules/es.string.pad-end": [ + "es.string.pad-end" + ], + "core-js/modules/es.string.pad-start": [ + "es.string.pad-start" + ], + "core-js/modules/es.string.raw": [ + "es.string.raw" + ], + "core-js/modules/es.string.repeat": [ + "es.string.repeat" + ], + "core-js/modules/es.string.replace": [ + "es.string.replace" + ], + "core-js/modules/es.string.search": [ + "es.string.search" + ], + "core-js/modules/es.string.small": [ + "es.string.small" + ], + "core-js/modules/es.string.split": [ + "es.string.split" + ], + "core-js/modules/es.string.starts-with": [ + "es.string.starts-with" + ], + "core-js/modules/es.string.strike": [ + "es.string.strike" + ], + "core-js/modules/es.string.sub": [ + "es.string.sub" + ], + "core-js/modules/es.string.sup": [ + "es.string.sup" + ], + "core-js/modules/es.string.trim-end": [ + "es.string.trim-end" + ], + "core-js/modules/es.string.trim-start": [ + "es.string.trim-start" + ], + "core-js/modules/es.string.trim": [ + "es.string.trim" + ], + "core-js/modules/es.symbol.async-iterator": [ + "es.symbol.async-iterator" + ], + "core-js/modules/es.symbol.description": [ + "es.symbol.description" + ], + "core-js/modules/es.symbol.has-instance": [ + "es.symbol.has-instance" + ], + "core-js/modules/es.symbol.is-concat-spreadable": [ + "es.symbol.is-concat-spreadable" + ], + "core-js/modules/es.symbol.iterator": [ + "es.symbol.iterator" + ], + "core-js/modules/es.symbol": [ + "es.symbol" + ], + "core-js/modules/es.symbol.match-all": [ + "es.symbol.match-all" + ], + "core-js/modules/es.symbol.match": [ + "es.symbol.match" + ], + "core-js/modules/es.symbol.replace": [ + "es.symbol.replace" + ], + "core-js/modules/es.symbol.search": [ + "es.symbol.search" + ], + "core-js/modules/es.symbol.species": [ + "es.symbol.species" + ], + "core-js/modules/es.symbol.split": [ + "es.symbol.split" + ], + "core-js/modules/es.symbol.to-primitive": [ + "es.symbol.to-primitive" + ], + "core-js/modules/es.symbol.to-string-tag": [ + "es.symbol.to-string-tag" + ], + "core-js/modules/es.symbol.unscopables": [ + "es.symbol.unscopables" + ], + "core-js/modules/es.typed-array.copy-within": [ + "es.typed-array.copy-within" + ], + "core-js/modules/es.typed-array.every": [ + "es.typed-array.every" + ], + "core-js/modules/es.typed-array.fill": [ + "es.typed-array.fill" + ], + "core-js/modules/es.typed-array.filter": [ + "es.typed-array.filter" + ], + "core-js/modules/es.typed-array.find-index": [ + "es.typed-array.find-index" + ], + "core-js/modules/es.typed-array.find": [ + "es.typed-array.find" + ], + "core-js/modules/es.typed-array.float32-array": [ + "es.typed-array.float32-array" + ], + "core-js/modules/es.typed-array.float64-array": [ + "es.typed-array.float64-array" + ], + "core-js/modules/es.typed-array.for-each": [ + "es.typed-array.for-each" + ], + "core-js/modules/es.typed-array.from": [ + "es.typed-array.from" + ], + "core-js/modules/es.typed-array.includes": [ + "es.typed-array.includes" + ], + "core-js/modules/es.typed-array.index-of": [ + "es.typed-array.index-of" + ], + "core-js/modules/es.typed-array.int16-array": [ + "es.typed-array.int16-array" + ], + "core-js/modules/es.typed-array.int32-array": [ + "es.typed-array.int32-array" + ], + "core-js/modules/es.typed-array.int8-array": [ + "es.typed-array.int8-array" + ], + "core-js/modules/es.typed-array.iterator": [ + "es.typed-array.iterator" + ], + "core-js/modules/es.typed-array.join": [ + "es.typed-array.join" + ], + "core-js/modules/es.typed-array.last-index-of": [ + "es.typed-array.last-index-of" + ], + "core-js/modules/es.typed-array.map": [ + "es.typed-array.map" + ], + "core-js/modules/es.typed-array.of": [ + "es.typed-array.of" + ], + "core-js/modules/es.typed-array.reduce-right": [ + "es.typed-array.reduce-right" + ], + "core-js/modules/es.typed-array.reduce": [ + "es.typed-array.reduce" + ], + "core-js/modules/es.typed-array.reverse": [ + "es.typed-array.reverse" + ], + "core-js/modules/es.typed-array.set": [ + "es.typed-array.set" + ], + "core-js/modules/es.typed-array.slice": [ + "es.typed-array.slice" + ], + "core-js/modules/es.typed-array.some": [ + "es.typed-array.some" + ], + "core-js/modules/es.typed-array.sort": [ + "es.typed-array.sort" + ], + "core-js/modules/es.typed-array.subarray": [ + "es.typed-array.subarray" + ], + "core-js/modules/es.typed-array.to-locale-string": [ + "es.typed-array.to-locale-string" + ], + "core-js/modules/es.typed-array.to-string": [ + "es.typed-array.to-string" + ], + "core-js/modules/es.typed-array.uint16-array": [ + "es.typed-array.uint16-array" + ], + "core-js/modules/es.typed-array.uint32-array": [ + "es.typed-array.uint32-array" + ], + "core-js/modules/es.typed-array.uint8-array": [ + "es.typed-array.uint8-array" + ], + "core-js/modules/es.typed-array.uint8-clamped-array": [ + "es.typed-array.uint8-clamped-array" + ], + "core-js/modules/es.weak-map": [ + "es.weak-map" + ], + "core-js/modules/es.weak-set": [ + "es.weak-set" + ], + "core-js/modules/esnext.aggregate-error": [ + "esnext.aggregate-error" + ], + "core-js/modules/esnext.array.is-template-object": [ + "esnext.array.is-template-object" + ], + "core-js/modules/esnext.array.last-index": [ + "esnext.array.last-index" + ], + "core-js/modules/esnext.array.last-item": [ + "esnext.array.last-item" + ], + "core-js/modules/esnext.async-iterator.as-indexed-pairs": [ + "esnext.async-iterator.as-indexed-pairs" + ], + "core-js/modules/esnext.async-iterator.constructor": [ + "esnext.async-iterator.constructor" + ], + "core-js/modules/esnext.async-iterator.drop": [ + "esnext.async-iterator.drop" + ], + "core-js/modules/esnext.async-iterator.every": [ + "esnext.async-iterator.every" + ], + "core-js/modules/esnext.async-iterator.filter": [ + "esnext.async-iterator.filter" + ], + "core-js/modules/esnext.async-iterator.find": [ + "esnext.async-iterator.find" + ], + "core-js/modules/esnext.async-iterator.flat-map": [ + "esnext.async-iterator.flat-map" + ], + "core-js/modules/esnext.async-iterator.for-each": [ + "esnext.async-iterator.for-each" + ], + "core-js/modules/esnext.async-iterator.from": [ + "esnext.async-iterator.from" + ], + "core-js/modules/esnext.async-iterator.map": [ + "esnext.async-iterator.map" + ], + "core-js/modules/esnext.async-iterator.reduce": [ + "esnext.async-iterator.reduce" + ], + "core-js/modules/esnext.async-iterator.some": [ + "esnext.async-iterator.some" + ], + "core-js/modules/esnext.async-iterator.take": [ + "esnext.async-iterator.take" + ], + "core-js/modules/esnext.async-iterator.to-array": [ + "esnext.async-iterator.to-array" + ], + "core-js/modules/esnext.composite-key": [ + "esnext.composite-key" + ], + "core-js/modules/esnext.composite-symbol": [ + "esnext.composite-symbol" + ], + "core-js/modules/esnext.global-this": [ + "esnext.global-this" + ], + "core-js/modules/esnext.iterator.as-indexed-pairs": [ + "esnext.iterator.as-indexed-pairs" + ], + "core-js/modules/esnext.iterator.constructor": [ + "esnext.iterator.constructor" + ], + "core-js/modules/esnext.iterator.drop": [ + "esnext.iterator.drop" + ], + "core-js/modules/esnext.iterator.every": [ + "esnext.iterator.every" + ], + "core-js/modules/esnext.iterator.filter": [ + "esnext.iterator.filter" + ], + "core-js/modules/esnext.iterator.find": [ + "esnext.iterator.find" + ], + "core-js/modules/esnext.iterator.flat-map": [ + "esnext.iterator.flat-map" + ], + "core-js/modules/esnext.iterator.for-each": [ + "esnext.iterator.for-each" + ], + "core-js/modules/esnext.iterator.from": [ + "esnext.iterator.from" + ], + "core-js/modules/esnext.iterator.map": [ + "esnext.iterator.map" + ], + "core-js/modules/esnext.iterator.reduce": [ + "esnext.iterator.reduce" + ], + "core-js/modules/esnext.iterator.some": [ + "esnext.iterator.some" + ], + "core-js/modules/esnext.iterator.take": [ + "esnext.iterator.take" + ], + "core-js/modules/esnext.iterator.to-array": [ + "esnext.iterator.to-array" + ], + "core-js/modules/esnext.map.delete-all": [ + "esnext.map.delete-all" + ], + "core-js/modules/esnext.map.every": [ + "esnext.map.every" + ], + "core-js/modules/esnext.map.filter": [ + "esnext.map.filter" + ], + "core-js/modules/esnext.map.find-key": [ + "esnext.map.find-key" + ], + "core-js/modules/esnext.map.find": [ + "esnext.map.find" + ], + "core-js/modules/esnext.map.from": [ + "esnext.map.from" + ], + "core-js/modules/esnext.map.group-by": [ + "esnext.map.group-by" + ], + "core-js/modules/esnext.map.includes": [ + "esnext.map.includes" + ], + "core-js/modules/esnext.map.key-by": [ + "esnext.map.key-by" + ], + "core-js/modules/esnext.map.key-of": [ + "esnext.map.key-of" + ], + "core-js/modules/esnext.map.map-keys": [ + "esnext.map.map-keys" + ], + "core-js/modules/esnext.map.map-values": [ + "esnext.map.map-values" + ], + "core-js/modules/esnext.map.merge": [ + "esnext.map.merge" + ], + "core-js/modules/esnext.map.of": [ + "esnext.map.of" + ], + "core-js/modules/esnext.map.reduce": [ + "esnext.map.reduce" + ], + "core-js/modules/esnext.map.some": [ + "esnext.map.some" + ], + "core-js/modules/esnext.map.update-or-insert": [ + "esnext.map.update-or-insert" + ], + "core-js/modules/esnext.map.update": [ + "esnext.map.update" + ], + "core-js/modules/esnext.map.upsert": [ + "esnext.map.upsert" + ], + "core-js/modules/esnext.math.clamp": [ + "esnext.math.clamp" + ], + "core-js/modules/esnext.math.deg-per-rad": [ + "esnext.math.deg-per-rad" + ], + "core-js/modules/esnext.math.degrees": [ + "esnext.math.degrees" + ], + "core-js/modules/esnext.math.fscale": [ + "esnext.math.fscale" + ], + "core-js/modules/esnext.math.iaddh": [ + "esnext.math.iaddh" + ], + "core-js/modules/esnext.math.imulh": [ + "esnext.math.imulh" + ], + "core-js/modules/esnext.math.isubh": [ + "esnext.math.isubh" + ], + "core-js/modules/esnext.math.rad-per-deg": [ + "esnext.math.rad-per-deg" + ], + "core-js/modules/esnext.math.radians": [ + "esnext.math.radians" + ], + "core-js/modules/esnext.math.scale": [ + "esnext.math.scale" + ], + "core-js/modules/esnext.math.seeded-prng": [ + "esnext.math.seeded-prng" + ], + "core-js/modules/esnext.math.signbit": [ + "esnext.math.signbit" + ], + "core-js/modules/esnext.math.umulh": [ + "esnext.math.umulh" + ], + "core-js/modules/esnext.number.from-string": [ + "esnext.number.from-string" + ], + "core-js/modules/esnext.observable": [ + "esnext.observable" + ], + "core-js/modules/esnext.promise.all-settled": [ + "esnext.promise.all-settled" + ], + "core-js/modules/esnext.promise.any": [ + "esnext.promise.any" + ], + "core-js/modules/esnext.promise.try": [ + "esnext.promise.try" + ], + "core-js/modules/esnext.reflect.define-metadata": [ + "esnext.reflect.define-metadata" + ], + "core-js/modules/esnext.reflect.delete-metadata": [ + "esnext.reflect.delete-metadata" + ], + "core-js/modules/esnext.reflect.get-metadata-keys": [ + "esnext.reflect.get-metadata-keys" + ], + "core-js/modules/esnext.reflect.get-metadata": [ + "esnext.reflect.get-metadata" + ], + "core-js/modules/esnext.reflect.get-own-metadata-keys": [ + "esnext.reflect.get-own-metadata-keys" + ], + "core-js/modules/esnext.reflect.get-own-metadata": [ + "esnext.reflect.get-own-metadata" + ], + "core-js/modules/esnext.reflect.has-metadata": [ + "esnext.reflect.has-metadata" + ], + "core-js/modules/esnext.reflect.has-own-metadata": [ + "esnext.reflect.has-own-metadata" + ], + "core-js/modules/esnext.reflect.metadata": [ + "esnext.reflect.metadata" + ], + "core-js/modules/esnext.set.add-all": [ + "esnext.set.add-all" + ], + "core-js/modules/esnext.set.delete-all": [ + "esnext.set.delete-all" + ], + "core-js/modules/esnext.set.difference": [ + "esnext.set.difference" + ], + "core-js/modules/esnext.set.every": [ + "esnext.set.every" + ], + "core-js/modules/esnext.set.filter": [ + "esnext.set.filter" + ], + "core-js/modules/esnext.set.find": [ + "esnext.set.find" + ], + "core-js/modules/esnext.set.from": [ + "esnext.set.from" + ], + "core-js/modules/esnext.set.intersection": [ + "esnext.set.intersection" + ], + "core-js/modules/esnext.set.is-disjoint-from": [ + "esnext.set.is-disjoint-from" + ], + "core-js/modules/esnext.set.is-subset-of": [ + "esnext.set.is-subset-of" + ], + "core-js/modules/esnext.set.is-superset-of": [ + "esnext.set.is-superset-of" + ], + "core-js/modules/esnext.set.join": [ + "esnext.set.join" + ], + "core-js/modules/esnext.set.map": [ + "esnext.set.map" + ], + "core-js/modules/esnext.set.of": [ + "esnext.set.of" + ], + "core-js/modules/esnext.set.reduce": [ + "esnext.set.reduce" + ], + "core-js/modules/esnext.set.some": [ + "esnext.set.some" + ], + "core-js/modules/esnext.set.symmetric-difference": [ + "esnext.set.symmetric-difference" + ], + "core-js/modules/esnext.set.union": [ + "esnext.set.union" + ], + "core-js/modules/esnext.string.at": [ + "esnext.string.at" + ], + "core-js/modules/esnext.string.code-points": [ + "esnext.string.code-points" + ], + "core-js/modules/esnext.string.match-all": [ + "esnext.string.match-all" + ], + "core-js/modules/esnext.string.replace-all": [ + "esnext.string.replace-all" + ], + "core-js/modules/esnext.symbol.async-dispose": [ + "esnext.symbol.async-dispose" + ], + "core-js/modules/esnext.symbol.dispose": [ + "esnext.symbol.dispose" + ], + "core-js/modules/esnext.symbol.observable": [ + "esnext.symbol.observable" + ], + "core-js/modules/esnext.symbol.pattern-match": [ + "esnext.symbol.pattern-match" + ], + "core-js/modules/esnext.symbol.replace-all": [ + "esnext.symbol.replace-all" + ], + "core-js/modules/esnext.weak-map.delete-all": [ + "esnext.weak-map.delete-all" + ], + "core-js/modules/esnext.weak-map.from": [ + "esnext.weak-map.from" + ], + "core-js/modules/esnext.weak-map.of": [ + "esnext.weak-map.of" + ], + "core-js/modules/esnext.weak-map.upsert": [ + "esnext.weak-map.upsert" + ], + "core-js/modules/esnext.weak-set.add-all": [ + "esnext.weak-set.add-all" + ], + "core-js/modules/esnext.weak-set.delete-all": [ + "esnext.weak-set.delete-all" + ], + "core-js/modules/esnext.weak-set.from": [ + "esnext.weak-set.from" + ], + "core-js/modules/esnext.weak-set.of": [ + "esnext.weak-set.of" + ], + "core-js/modules/web.dom-collections.for-each": [ + "web.dom-collections.for-each" + ], + "core-js/modules/web.dom-collections.iterator": [ + "web.dom-collections.iterator" + ], + "core-js/modules/web.immediate": [ + "web.immediate" + ], + "core-js/modules/web.queue-microtask": [ + "web.queue-microtask" + ], + "core-js/modules/web.timers": [ + "web.timers" + ], + "core-js/modules/web.url-search-params": [ + "web.url-search-params" + ], + "core-js/modules/web.url": [ + "web.url" + ], + "core-js/modules/web.url.to-json": [ + "web.url.to-json" + ] +} +},{}],305:[function(require,module,exports){ +'use strict'; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var _require = require('semver'), + coerce = _require.coerce, + lte = _require.lte; + +var modulesByVersions = require('./modules-by-versions'); + +module.exports = function (raw) { + var corejs = coerce(String(raw)); + + if (corejs.major !== 3) { + throw RangeError('This version of `core-js-compat` works only with `core-js@3`.'); + } + + var result = []; + + for (var _i = 0, _Object$keys = Object.keys(modulesByVersions); _i < _Object$keys.length; _i++) { + var version = _Object$keys[_i]; + + if (lte(coerce(version), corejs)) { + result.push.apply(result, _toConsumableArray(modulesByVersions[version])); + } + } + + return result; +}; + +},{"./modules-by-versions":306,"semver":307}],306:[function(require,module,exports){ +module.exports={ + "3.0": [ + "es.symbol", + "es.symbol.description", + "es.symbol.async-iterator", + "es.symbol.has-instance", + "es.symbol.is-concat-spreadable", + "es.symbol.iterator", + "es.symbol.match", + "es.symbol.replace", + "es.symbol.search", + "es.symbol.species", + "es.symbol.split", + "es.symbol.to-primitive", + "es.symbol.to-string-tag", + "es.symbol.unscopables", + "es.array.concat", + "es.array.copy-within", + "es.array.every", + "es.array.fill", + "es.array.filter", + "es.array.find", + "es.array.find-index", + "es.array.flat", + "es.array.flat-map", + "es.array.for-each", + "es.array.from", + "es.array.includes", + "es.array.index-of", + "es.array.is-array", + "es.array.iterator", + "es.array.join", + "es.array.last-index-of", + "es.array.map", + "es.array.of", + "es.array.reduce", + "es.array.reduce-right", + "es.array.reverse", + "es.array.slice", + "es.array.some", + "es.array.sort", + "es.array.species", + "es.array.splice", + "es.array.unscopables.flat", + "es.array.unscopables.flat-map", + "es.array-buffer.constructor", + "es.array-buffer.is-view", + "es.array-buffer.slice", + "es.data-view", + "es.date.now", + "es.date.to-iso-string", + "es.date.to-json", + "es.date.to-primitive", + "es.date.to-string", + "es.function.bind", + "es.function.has-instance", + "es.function.name", + "es.json.to-string-tag", + "es.map", + "es.math.acosh", + "es.math.asinh", + "es.math.atanh", + "es.math.cbrt", + "es.math.clz32", + "es.math.cosh", + "es.math.expm1", + "es.math.fround", + "es.math.hypot", + "es.math.imul", + "es.math.log10", + "es.math.log1p", + "es.math.log2", + "es.math.sign", + "es.math.sinh", + "es.math.tanh", + "es.math.to-string-tag", + "es.math.trunc", + "es.number.constructor", + "es.number.epsilon", + "es.number.is-finite", + "es.number.is-integer", + "es.number.is-nan", + "es.number.is-safe-integer", + "es.number.max-safe-integer", + "es.number.min-safe-integer", + "es.number.parse-float", + "es.number.parse-int", + "es.number.to-fixed", + "es.number.to-precision", + "es.object.assign", + "es.object.create", + "es.object.define-getter", + "es.object.define-properties", + "es.object.define-property", + "es.object.define-setter", + "es.object.entries", + "es.object.freeze", + "es.object.from-entries", + "es.object.get-own-property-descriptor", + "es.object.get-own-property-descriptors", + "es.object.get-own-property-names", + "es.object.get-prototype-of", + "es.object.is", + "es.object.is-extensible", + "es.object.is-frozen", + "es.object.is-sealed", + "es.object.keys", + "es.object.lookup-getter", + "es.object.lookup-setter", + "es.object.prevent-extensions", + "es.object.seal", + "es.object.set-prototype-of", + "es.object.to-string", + "es.object.values", + "es.parse-float", + "es.parse-int", + "es.promise", + "es.promise.finally", + "es.reflect.apply", + "es.reflect.construct", + "es.reflect.define-property", + "es.reflect.delete-property", + "es.reflect.get", + "es.reflect.get-own-property-descriptor", + "es.reflect.get-prototype-of", + "es.reflect.has", + "es.reflect.is-extensible", + "es.reflect.own-keys", + "es.reflect.prevent-extensions", + "es.reflect.set", + "es.reflect.set-prototype-of", + "es.regexp.constructor", + "es.regexp.exec", + "es.regexp.flags", + "es.regexp.to-string", + "es.set", + "es.string.code-point-at", + "es.string.ends-with", + "es.string.from-code-point", + "es.string.includes", + "es.string.iterator", + "es.string.match", + "es.string.pad-end", + "es.string.pad-start", + "es.string.raw", + "es.string.repeat", + "es.string.replace", + "es.string.search", + "es.string.split", + "es.string.starts-with", + "es.string.trim", + "es.string.trim-end", + "es.string.trim-start", + "es.string.anchor", + "es.string.big", + "es.string.blink", + "es.string.bold", + "es.string.fixed", + "es.string.fontcolor", + "es.string.fontsize", + "es.string.italics", + "es.string.link", + "es.string.small", + "es.string.strike", + "es.string.sub", + "es.string.sup", + "es.typed-array.float32-array", + "es.typed-array.float64-array", + "es.typed-array.int8-array", + "es.typed-array.int16-array", + "es.typed-array.int32-array", + "es.typed-array.uint8-array", + "es.typed-array.uint8-clamped-array", + "es.typed-array.uint16-array", + "es.typed-array.uint32-array", + "es.typed-array.copy-within", + "es.typed-array.every", + "es.typed-array.fill", + "es.typed-array.filter", + "es.typed-array.find", + "es.typed-array.find-index", + "es.typed-array.for-each", + "es.typed-array.from", + "es.typed-array.includes", + "es.typed-array.index-of", + "es.typed-array.iterator", + "es.typed-array.join", + "es.typed-array.last-index-of", + "es.typed-array.map", + "es.typed-array.of", + "es.typed-array.reduce", + "es.typed-array.reduce-right", + "es.typed-array.reverse", + "es.typed-array.set", + "es.typed-array.slice", + "es.typed-array.some", + "es.typed-array.sort", + "es.typed-array.subarray", + "es.typed-array.to-locale-string", + "es.typed-array.to-string", + "es.weak-map", + "es.weak-set", + "esnext.aggregate-error", + "esnext.array.last-index", + "esnext.array.last-item", + "esnext.composite-key", + "esnext.composite-symbol", + "esnext.global-this", + "esnext.map.delete-all", + "esnext.map.every", + "esnext.map.filter", + "esnext.map.find", + "esnext.map.find-key", + "esnext.map.from", + "esnext.map.group-by", + "esnext.map.includes", + "esnext.map.key-by", + "esnext.map.key-of", + "esnext.map.map-keys", + "esnext.map.map-values", + "esnext.map.merge", + "esnext.map.of", + "esnext.map.reduce", + "esnext.map.some", + "esnext.map.update", + "esnext.math.clamp", + "esnext.math.deg-per-rad", + "esnext.math.degrees", + "esnext.math.fscale", + "esnext.math.iaddh", + "esnext.math.imulh", + "esnext.math.isubh", + "esnext.math.rad-per-deg", + "esnext.math.radians", + "esnext.math.scale", + "esnext.math.seeded-prng", + "esnext.math.signbit", + "esnext.math.umulh", + "esnext.number.from-string", + "esnext.observable", + "esnext.promise.all-settled", + "esnext.promise.any", + "esnext.promise.try", + "esnext.reflect.define-metadata", + "esnext.reflect.delete-metadata", + "esnext.reflect.get-metadata", + "esnext.reflect.get-metadata-keys", + "esnext.reflect.get-own-metadata", + "esnext.reflect.get-own-metadata-keys", + "esnext.reflect.has-metadata", + "esnext.reflect.has-own-metadata", + "esnext.reflect.metadata", + "esnext.set.add-all", + "esnext.set.delete-all", + "esnext.set.difference", + "esnext.set.every", + "esnext.set.filter", + "esnext.set.find", + "esnext.set.from", + "esnext.set.intersection", + "esnext.set.is-disjoint-from", + "esnext.set.is-subset-of", + "esnext.set.is-superset-of", + "esnext.set.join", + "esnext.set.map", + "esnext.set.of", + "esnext.set.reduce", + "esnext.set.some", + "esnext.set.symmetric-difference", + "esnext.set.union", + "esnext.string.at", + "esnext.string.code-points", + "esnext.string.match-all", + "esnext.string.replace-all", + "esnext.symbol.dispose", + "esnext.symbol.observable", + "esnext.symbol.pattern-match", + "esnext.weak-map.delete-all", + "esnext.weak-map.from", + "esnext.weak-map.of", + "esnext.weak-set.add-all", + "esnext.weak-set.delete-all", + "esnext.weak-set.from", + "esnext.weak-set.of", + "web.dom-collections.for-each", + "web.dom-collections.iterator", + "web.immediate", + "web.queue-microtask", + "web.timers", + "web.url", + "web.url.to-json", + "web.url-search-params" + ], + "3.1": [ + "es.string.match-all", + "es.symbol.match-all", + "esnext.symbol.replace-all" + ], + "3.2": [ + "es.promise.all-settled", + "esnext.array.is-template-object", + "esnext.map.update-or-insert", + "esnext.symbol.async-dispose" + ], + "3.3": [ + "es.global-this", + "esnext.async-iterator.constructor", + "esnext.async-iterator.as-indexed-pairs", + "esnext.async-iterator.drop", + "esnext.async-iterator.every", + "esnext.async-iterator.filter", + "esnext.async-iterator.find", + "esnext.async-iterator.flat-map", + "esnext.async-iterator.for-each", + "esnext.async-iterator.from", + "esnext.async-iterator.map", + "esnext.async-iterator.reduce", + "esnext.async-iterator.some", + "esnext.async-iterator.take", + "esnext.async-iterator.to-array", + "esnext.iterator.constructor", + "esnext.iterator.as-indexed-pairs", + "esnext.iterator.drop", + "esnext.iterator.every", + "esnext.iterator.filter", + "esnext.iterator.find", + "esnext.iterator.flat-map", + "esnext.iterator.for-each", + "esnext.iterator.from", + "esnext.iterator.map", + "esnext.iterator.reduce", + "esnext.iterator.some", + "esnext.iterator.take", + "esnext.iterator.to-array", + "esnext.map.upsert", + "esnext.weak-map.upsert" + ], + "3.4": [ + "es.json.stringify" + ] +} +},{}],307:[function(require,module,exports){ +(function (process){ +"use strict"; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +exports = module.exports = SemVer; +var debug; +/* istanbul ignore next */ + +if ((typeof process === "undefined" ? "undefined" : _typeof(process)) === 'object' && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG)) { + debug = function debug() { + var args = Array.prototype.slice.call(arguments, 0); + args.unshift('SEMVER'); + console.log.apply(console, args); + }; +} else { + debug = function debug() {}; +} // Note: this is the semver.org version of the spec that it implements +// Not necessarily the package version of this code. + + +exports.SEMVER_SPEC_VERSION = '2.0.0'; +var MAX_LENGTH = 256; +var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || +/* istanbul ignore next */ +9007199254740991; // Max safe segment length for coercion. + +var MAX_SAFE_COMPONENT_LENGTH = 16; // The actual regexps go on exports.re + +var re = exports.re = []; +var src = exports.src = []; +var t = exports.tokens = {}; +var R = 0; + +function tok(n) { + t[n] = R++; +} // The following Regular Expressions can be used for tokenizing, +// validating, and parsing SemVer version strings. +// ## Numeric Identifier +// A single `0`, or a non-zero digit followed by zero or more digits. + + +tok('NUMERICIDENTIFIER'); +src[t.NUMERICIDENTIFIER] = '0|[1-9]\\d*'; +tok('NUMERICIDENTIFIERLOOSE'); +src[t.NUMERICIDENTIFIERLOOSE] = '[0-9]+'; // ## Non-numeric Identifier +// Zero or more digits, followed by a letter or hyphen, and then zero or +// more letters, digits, or hyphens. + +tok('NONNUMERICIDENTIFIER'); +src[t.NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; // ## Main Version +// Three dot-separated numeric identifiers. + +tok('MAINVERSION'); +src[t.MAINVERSION] = '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')\\.' + '(' + src[t.NUMERICIDENTIFIER] + ')'; +tok('MAINVERSIONLOOSE'); +src[t.MAINVERSIONLOOSE] = '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')\\.' + '(' + src[t.NUMERICIDENTIFIERLOOSE] + ')'; // ## Pre-release Version Identifier +// A numeric identifier, or a non-numeric identifier. + +tok('PRERELEASEIDENTIFIER'); +src[t.PRERELEASEIDENTIFIER] = '(?:' + src[t.NUMERICIDENTIFIER] + '|' + src[t.NONNUMERICIDENTIFIER] + ')'; +tok('PRERELEASEIDENTIFIERLOOSE'); +src[t.PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[t.NUMERICIDENTIFIERLOOSE] + '|' + src[t.NONNUMERICIDENTIFIER] + ')'; // ## Pre-release Version +// Hyphen, followed by one or more dot-separated pre-release version +// identifiers. + +tok('PRERELEASE'); +src[t.PRERELEASE] = '(?:-(' + src[t.PRERELEASEIDENTIFIER] + '(?:\\.' + src[t.PRERELEASEIDENTIFIER] + ')*))'; +tok('PRERELEASELOOSE'); +src[t.PRERELEASELOOSE] = '(?:-?(' + src[t.PRERELEASEIDENTIFIERLOOSE] + '(?:\\.' + src[t.PRERELEASEIDENTIFIERLOOSE] + ')*))'; // ## Build Metadata Identifier +// Any combination of digits, letters, or hyphens. + +tok('BUILDIDENTIFIER'); +src[t.BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; // ## Build Metadata +// Plus sign, followed by one or more period-separated build metadata +// identifiers. + +tok('BUILD'); +src[t.BUILD] = '(?:\\+(' + src[t.BUILDIDENTIFIER] + '(?:\\.' + src[t.BUILDIDENTIFIER] + ')*))'; // ## Full Version String +// A main version, followed optionally by a pre-release version and +// build metadata. +// Note that the only major, minor, patch, and pre-release sections of +// the version string are capturing groups. The build metadata is not a +// capturing group, because it should not ever be used in version +// comparison. + +tok('FULL'); +tok('FULLPLAIN'); +src[t.FULLPLAIN] = 'v?' + src[t.MAINVERSION] + src[t.PRERELEASE] + '?' + src[t.BUILD] + '?'; +src[t.FULL] = '^' + src[t.FULLPLAIN] + '$'; // like full, but allows v1.2.3 and =1.2.3, which people do sometimes. +// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty +// common in the npm registry. + +tok('LOOSEPLAIN'); +src[t.LOOSEPLAIN] = '[v=\\s]*' + src[t.MAINVERSIONLOOSE] + src[t.PRERELEASELOOSE] + '?' + src[t.BUILD] + '?'; +tok('LOOSE'); +src[t.LOOSE] = '^' + src[t.LOOSEPLAIN] + '$'; +tok('GTLT'); +src[t.GTLT] = '((?:<|>)?=?)'; // Something like "2.*" or "1.2.x". +// Note that "x.x" is a valid xRange identifer, meaning "any version" +// Only the first item is strictly required. + +tok('XRANGEIDENTIFIERLOOSE'); +src[t.XRANGEIDENTIFIERLOOSE] = src[t.NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; +tok('XRANGEIDENTIFIER'); +src[t.XRANGEIDENTIFIER] = src[t.NUMERICIDENTIFIER] + '|x|X|\\*'; +tok('XRANGEPLAIN'); +src[t.XRANGEPLAIN] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIER] + ')' + '(?:' + src[t.PRERELEASE] + ')?' + src[t.BUILD] + '?' + ')?)?'; +tok('XRANGEPLAINLOOSE'); +src[t.XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:\\.(' + src[t.XRANGEIDENTIFIERLOOSE] + ')' + '(?:' + src[t.PRERELEASELOOSE] + ')?' + src[t.BUILD] + '?' + ')?)?'; +tok('XRANGE'); +src[t.XRANGE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAIN] + '$'; +tok('XRANGELOOSE'); +src[t.XRANGELOOSE] = '^' + src[t.GTLT] + '\\s*' + src[t.XRANGEPLAINLOOSE] + '$'; // Coercion. +// Extract anything that could conceivably be a part of a valid semver + +tok('COERCE'); +src[t.COERCE] = '(^|[^\\d])' + '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + '(?:$|[^\\d])'; +tok('COERCERTL'); +re[t.COERCERTL] = new RegExp(src[t.COERCE], 'g'); // Tilde ranges. +// Meaning is "reasonably at or greater than" + +tok('LONETILDE'); +src[t.LONETILDE] = '(?:~>?)'; +tok('TILDETRIM'); +src[t.TILDETRIM] = '(\\s*)' + src[t.LONETILDE] + '\\s+'; +re[t.TILDETRIM] = new RegExp(src[t.TILDETRIM], 'g'); +var tildeTrimReplace = '$1~'; +tok('TILDE'); +src[t.TILDE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAIN] + '$'; +tok('TILDELOOSE'); +src[t.TILDELOOSE] = '^' + src[t.LONETILDE] + src[t.XRANGEPLAINLOOSE] + '$'; // Caret ranges. +// Meaning is "at least and backwards compatible with" + +tok('LONECARET'); +src[t.LONECARET] = '(?:\\^)'; +tok('CARETTRIM'); +src[t.CARETTRIM] = '(\\s*)' + src[t.LONECARET] + '\\s+'; +re[t.CARETTRIM] = new RegExp(src[t.CARETTRIM], 'g'); +var caretTrimReplace = '$1^'; +tok('CARET'); +src[t.CARET] = '^' + src[t.LONECARET] + src[t.XRANGEPLAIN] + '$'; +tok('CARETLOOSE'); +src[t.CARETLOOSE] = '^' + src[t.LONECARET] + src[t.XRANGEPLAINLOOSE] + '$'; // A simple gt/lt/eq thing, or just "" to indicate "any version" + +tok('COMPARATORLOOSE'); +src[t.COMPARATORLOOSE] = '^' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + ')$|^$'; +tok('COMPARATOR'); +src[t.COMPARATOR] = '^' + src[t.GTLT] + '\\s*(' + src[t.FULLPLAIN] + ')$|^$'; // An expression to strip any whitespace between the gtlt and the thing +// it modifies, so that `> 1.2.3` ==> `>1.2.3` + +tok('COMPARATORTRIM'); +src[t.COMPARATORTRIM] = '(\\s*)' + src[t.GTLT] + '\\s*(' + src[t.LOOSEPLAIN] + '|' + src[t.XRANGEPLAIN] + ')'; // this one has to use the /g flag + +re[t.COMPARATORTRIM] = new RegExp(src[t.COMPARATORTRIM], 'g'); +var comparatorTrimReplace = '$1$2$3'; // Something like `1.2.3 - 1.2.4` +// Note that these all use the loose form, because they'll be +// checked against either the strict or loose comparator form +// later. + +tok('HYPHENRANGE'); +src[t.HYPHENRANGE] = '^\\s*(' + src[t.XRANGEPLAIN] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAIN] + ')' + '\\s*$'; +tok('HYPHENRANGELOOSE'); +src[t.HYPHENRANGELOOSE] = '^\\s*(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s+-\\s+' + '(' + src[t.XRANGEPLAINLOOSE] + ')' + '\\s*$'; // Star ranges basically just allow anything at all. + +tok('STAR'); +src[t.STAR] = '(<|>)?=?\\s*\\*'; // Compile to actual regexp objects. +// All are flag-free, unless they were created above with a flag. + +for (var i = 0; i < R; i++) { + debug(i, src[i]); + + if (!re[i]) { + re[i] = new RegExp(src[i]); + } +} + +exports.parse = parse; + +function parse(version, options) { + if (!options || _typeof(options) !== 'object') { + options = { + loose: !!options, + includePrerelease: false + }; + } + + if (version instanceof SemVer) { + return version; + } + + if (typeof version !== 'string') { + return null; + } + + if (version.length > MAX_LENGTH) { + return null; + } + + var r = options.loose ? re[t.LOOSE] : re[t.FULL]; + + if (!r.test(version)) { + return null; + } + + try { + return new SemVer(version, options); + } catch (er) { + return null; + } +} + +exports.valid = valid; + +function valid(version, options) { + var v = parse(version, options); + return v ? v.version : null; +} + +exports.clean = clean; + +function clean(version, options) { + var s = parse(version.trim().replace(/^[=v]+/, ''), options); + return s ? s.version : null; +} + +exports.SemVer = SemVer; + +function SemVer(version, options) { + if (!options || _typeof(options) !== 'object') { + options = { + loose: !!options, + includePrerelease: false + }; + } + + if (version instanceof SemVer) { + if (version.loose === options.loose) { + return version; + } else { + version = version.version; + } + } else if (typeof version !== 'string') { + throw new TypeError('Invalid Version: ' + version); + } + + if (version.length > MAX_LENGTH) { + throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters'); + } + + if (!(this instanceof SemVer)) { + return new SemVer(version, options); + } + + debug('SemVer', version, options); + this.options = options; + this.loose = !!options.loose; + var m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]); + + if (!m) { + throw new TypeError('Invalid Version: ' + version); + } + + this.raw = version; // these are actually numbers + + this.major = +m[1]; + this.minor = +m[2]; + this.patch = +m[3]; + + if (this.major > MAX_SAFE_INTEGER || this.major < 0) { + throw new TypeError('Invalid major version'); + } + + if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { + throw new TypeError('Invalid minor version'); + } + + if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { + throw new TypeError('Invalid patch version'); + } // numberify any prerelease numeric ids + + + if (!m[4]) { + this.prerelease = []; + } else { + this.prerelease = m[4].split('.').map(function (id) { + if (/^[0-9]+$/.test(id)) { + var num = +id; + + if (num >= 0 && num < MAX_SAFE_INTEGER) { + return num; + } + } + + return id; + }); + } + + this.build = m[5] ? m[5].split('.') : []; + this.format(); +} + +SemVer.prototype.format = function () { + this.version = this.major + '.' + this.minor + '.' + this.patch; + + if (this.prerelease.length) { + this.version += '-' + this.prerelease.join('.'); + } + + return this.version; +}; + +SemVer.prototype.toString = function () { + return this.version; +}; + +SemVer.prototype.compare = function (other) { + debug('SemVer.compare', this.version, this.options, other); + + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + return this.compareMain(other) || this.comparePre(other); +}; + +SemVer.prototype.compareMain = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch); +}; + +SemVer.prototype.comparePre = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } // NOT having a prerelease is > having one + + + if (this.prerelease.length && !other.prerelease.length) { + return -1; + } else if (!this.prerelease.length && other.prerelease.length) { + return 1; + } else if (!this.prerelease.length && !other.prerelease.length) { + return 0; + } + + var i = 0; + + do { + var a = this.prerelease[i]; + var b = other.prerelease[i]; + debug('prerelease compare', i, a, b); + + if (a === undefined && b === undefined) { + return 0; + } else if (b === undefined) { + return 1; + } else if (a === undefined) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); +}; + +SemVer.prototype.compareBuild = function (other) { + if (!(other instanceof SemVer)) { + other = new SemVer(other, this.options); + } + + var i = 0; + + do { + var a = this.build[i]; + var b = other.build[i]; + debug('prerelease compare', i, a, b); + + if (a === undefined && b === undefined) { + return 0; + } else if (b === undefined) { + return 1; + } else if (a === undefined) { + return -1; + } else if (a === b) { + continue; + } else { + return compareIdentifiers(a, b); + } + } while (++i); +}; // preminor will bump the version up to the next minor release, and immediately +// down to pre-release. premajor and prepatch work the same way. + + +SemVer.prototype.inc = function (release, identifier) { + switch (release) { + case 'premajor': + this.prerelease.length = 0; + this.patch = 0; + this.minor = 0; + this.major++; + this.inc('pre', identifier); + break; + + case 'preminor': + this.prerelease.length = 0; + this.patch = 0; + this.minor++; + this.inc('pre', identifier); + break; + + case 'prepatch': + // If this is already a prerelease, it will bump to the next version + // drop any prereleases that might already exist, since they are not + // relevant at this point. + this.prerelease.length = 0; + this.inc('patch', identifier); + this.inc('pre', identifier); + break; + // If the input is a non-prerelease version, this acts the same as + // prepatch. + + case 'prerelease': + if (this.prerelease.length === 0) { + this.inc('patch', identifier); + } + + this.inc('pre', identifier); + break; + + case 'major': + // If this is a pre-major version, bump up to the same major version. + // Otherwise increment major. + // 1.0.0-5 bumps to 1.0.0 + // 1.1.0 bumps to 2.0.0 + if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) { + this.major++; + } + + this.minor = 0; + this.patch = 0; + this.prerelease = []; + break; + + case 'minor': + // If this is a pre-minor version, bump up to the same minor version. + // Otherwise increment minor. + // 1.2.0-5 bumps to 1.2.0 + // 1.2.1 bumps to 1.3.0 + if (this.patch !== 0 || this.prerelease.length === 0) { + this.minor++; + } + + this.patch = 0; + this.prerelease = []; + break; + + case 'patch': + // If this is not a pre-release version, it will increment the patch. + // If it is a pre-release it will bump up to the same patch version. + // 1.2.0-5 patches to 1.2.0 + // 1.2.0 patches to 1.2.1 + if (this.prerelease.length === 0) { + this.patch++; + } + + this.prerelease = []; + break; + // This probably shouldn't be used publicly. + // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. + + case 'pre': + if (this.prerelease.length === 0) { + this.prerelease = [0]; + } else { + var i = this.prerelease.length; + + while (--i >= 0) { + if (typeof this.prerelease[i] === 'number') { + this.prerelease[i]++; + i = -2; + } + } + + if (i === -1) { + // didn't increment anything + this.prerelease.push(0); + } + } + + if (identifier) { + // 1.2.0-beta.1 bumps to 1.2.0-beta.2, + // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 + if (this.prerelease[0] === identifier) { + if (isNaN(this.prerelease[1])) { + this.prerelease = [identifier, 0]; + } + } else { + this.prerelease = [identifier, 0]; + } + } + + break; + + default: + throw new Error('invalid increment argument: ' + release); + } + + this.format(); + this.raw = this.version; + return this; +}; + +exports.inc = inc; + +function inc(version, release, loose, identifier) { + if (typeof loose === 'string') { + identifier = loose; + loose = undefined; + } + + try { + return new SemVer(version, loose).inc(release, identifier).version; + } catch (er) { + return null; + } +} + +exports.diff = diff; + +function diff(version1, version2) { + if (eq(version1, version2)) { + return null; + } else { + var v1 = parse(version1); + var v2 = parse(version2); + var prefix = ''; + + if (v1.prerelease.length || v2.prerelease.length) { + prefix = 'pre'; + var defaultResult = 'prerelease'; + } + + for (var key in v1) { + if (key === 'major' || key === 'minor' || key === 'patch') { + if (v1[key] !== v2[key]) { + return prefix + key; + } + } + } + + return defaultResult; // may be undefined + } +} + +exports.compareIdentifiers = compareIdentifiers; +var numeric = /^[0-9]+$/; + +function compareIdentifiers(a, b) { + var anum = numeric.test(a); + var bnum = numeric.test(b); + + if (anum && bnum) { + a = +a; + b = +b; + } + + return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1; +} + +exports.rcompareIdentifiers = rcompareIdentifiers; + +function rcompareIdentifiers(a, b) { + return compareIdentifiers(b, a); +} + +exports.major = major; + +function major(a, loose) { + return new SemVer(a, loose).major; +} + +exports.minor = minor; + +function minor(a, loose) { + return new SemVer(a, loose).minor; +} + +exports.patch = patch; + +function patch(a, loose) { + return new SemVer(a, loose).patch; +} + +exports.compare = compare; + +function compare(a, b, loose) { + return new SemVer(a, loose).compare(new SemVer(b, loose)); +} + +exports.compareLoose = compareLoose; + +function compareLoose(a, b) { + return compare(a, b, true); +} + +exports.compareBuild = compareBuild; + +function compareBuild(a, b, loose) { + var versionA = new SemVer(a, loose); + var versionB = new SemVer(b, loose); + return versionA.compare(versionB) || versionA.compareBuild(versionB); +} + +exports.rcompare = rcompare; + +function rcompare(a, b, loose) { + return compare(b, a, loose); +} + +exports.sort = sort; + +function sort(list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(a, b, loose); + }); +} + +exports.rsort = rsort; + +function rsort(list, loose) { + return list.sort(function (a, b) { + return exports.compareBuild(b, a, loose); + }); +} + +exports.gt = gt; + +function gt(a, b, loose) { + return compare(a, b, loose) > 0; +} + +exports.lt = lt; + +function lt(a, b, loose) { + return compare(a, b, loose) < 0; +} + +exports.eq = eq; + +function eq(a, b, loose) { + return compare(a, b, loose) === 0; +} + +exports.neq = neq; + +function neq(a, b, loose) { + return compare(a, b, loose) !== 0; +} + +exports.gte = gte; + +function gte(a, b, loose) { + return compare(a, b, loose) >= 0; +} + +exports.lte = lte; + +function lte(a, b, loose) { + return compare(a, b, loose) <= 0; +} + +exports.cmp = cmp; + +function cmp(a, op, b, loose) { + switch (op) { + case '===': + if (_typeof(a) === 'object') a = a.version; + if (_typeof(b) === 'object') b = b.version; + return a === b; + + case '!==': + if (_typeof(a) === 'object') a = a.version; + if (_typeof(b) === 'object') b = b.version; + return a !== b; + + case '': + case '=': + case '==': + return eq(a, b, loose); + + case '!=': + return neq(a, b, loose); + + case '>': + return gt(a, b, loose); + + case '>=': + return gte(a, b, loose); + + case '<': + return lt(a, b, loose); + + case '<=': + return lte(a, b, loose); + + default: + throw new TypeError('Invalid operator: ' + op); + } +} + +exports.Comparator = Comparator; + +function Comparator(comp, options) { + if (!options || _typeof(options) !== 'object') { + options = { + loose: !!options, + includePrerelease: false + }; + } + + if (comp instanceof Comparator) { + if (comp.loose === !!options.loose) { + return comp; + } else { + comp = comp.value; + } + } + + if (!(this instanceof Comparator)) { + return new Comparator(comp, options); + } + + debug('comparator', comp, options); + this.options = options; + this.loose = !!options.loose; + this.parse(comp); + + if (this.semver === ANY) { + this.value = ''; + } else { + this.value = this.operator + this.semver.version; + } + + debug('comp', this); +} + +var ANY = {}; + +Comparator.prototype.parse = function (comp) { + var r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + var m = comp.match(r); + + if (!m) { + throw new TypeError('Invalid comparator: ' + comp); + } + + this.operator = m[1] !== undefined ? m[1] : ''; + + if (this.operator === '=') { + this.operator = ''; + } // if it literally is just '>' or '' then allow anything. + + + if (!m[2]) { + this.semver = ANY; + } else { + this.semver = new SemVer(m[2], this.options.loose); + } +}; + +Comparator.prototype.toString = function () { + return this.value; +}; + +Comparator.prototype.test = function (version) { + debug('Comparator.test', version, this.options.loose); + + if (this.semver === ANY || version === ANY) { + return true; + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options); + } catch (er) { + return false; + } + } + + return cmp(version, this.operator, this.semver, this.options); +}; + +Comparator.prototype.intersects = function (comp, options) { + if (!(comp instanceof Comparator)) { + throw new TypeError('a Comparator is required'); + } + + if (!options || _typeof(options) !== 'object') { + options = { + loose: !!options, + includePrerelease: false + }; + } + + var rangeTmp; + + if (this.operator === '') { + if (this.value === '') { + return true; + } + + rangeTmp = new Range(comp.value, options); + return satisfies(this.value, rangeTmp, options); + } else if (comp.operator === '') { + if (comp.value === '') { + return true; + } + + rangeTmp = new Range(this.value, options); + return satisfies(comp.semver, rangeTmp, options); + } + + var sameDirectionIncreasing = (this.operator === '>=' || this.operator === '>') && (comp.operator === '>=' || comp.operator === '>'); + var sameDirectionDecreasing = (this.operator === '<=' || this.operator === '<') && (comp.operator === '<=' || comp.operator === '<'); + var sameSemVer = this.semver.version === comp.semver.version; + var differentDirectionsInclusive = (this.operator === '>=' || this.operator === '<=') && (comp.operator === '>=' || comp.operator === '<='); + var oppositeDirectionsLessThan = cmp(this.semver, '<', comp.semver, options) && (this.operator === '>=' || this.operator === '>') && (comp.operator === '<=' || comp.operator === '<'); + var oppositeDirectionsGreaterThan = cmp(this.semver, '>', comp.semver, options) && (this.operator === '<=' || this.operator === '<') && (comp.operator === '>=' || comp.operator === '>'); + return sameDirectionIncreasing || sameDirectionDecreasing || sameSemVer && differentDirectionsInclusive || oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; +}; + +exports.Range = Range; + +function Range(range, options) { + if (!options || _typeof(options) !== 'object') { + options = { + loose: !!options, + includePrerelease: false + }; + } + + if (range instanceof Range) { + if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) { + return range; + } else { + return new Range(range.raw, options); + } + } + + if (range instanceof Comparator) { + return new Range(range.value, options); + } + + if (!(this instanceof Range)) { + return new Range(range, options); + } + + this.options = options; + this.loose = !!options.loose; + this.includePrerelease = !!options.includePrerelease; // First, split based on boolean or || + + this.raw = range; + this.set = range.split(/\s*\|\|\s*/).map(function (range) { + return this.parseRange(range.trim()); + }, this).filter(function (c) { + // throw out any that are not relevant for whatever reason + return c.length; + }); + + if (!this.set.length) { + throw new TypeError('Invalid SemVer Range: ' + range); + } + + this.format(); +} + +Range.prototype.format = function () { + this.range = this.set.map(function (comps) { + return comps.join(' ').trim(); + }).join('||').trim(); + return this.range; +}; + +Range.prototype.toString = function () { + return this.range; +}; + +Range.prototype.parseRange = function (range) { + var loose = this.options.loose; + range = range.trim(); // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` + + var hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]; + range = range.replace(hr, hyphenReplace); + debug('hyphen replace', range); // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` + + range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace); + debug('comparator trim', range, re[t.COMPARATORTRIM]); // `~ 1.2.3` => `~1.2.3` + + range = range.replace(re[t.TILDETRIM], tildeTrimReplace); // `^ 1.2.3` => `^1.2.3` + + range = range.replace(re[t.CARETTRIM], caretTrimReplace); // normalize spaces + + range = range.split(/\s+/).join(' '); // At this point, the range is completely trimmed and + // ready to be split into comparators. + + var compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]; + var set = range.split(' ').map(function (comp) { + return parseComparator(comp, this.options); + }, this).join(' ').split(/\s+/); + + if (this.options.loose) { + // in loose mode, throw out any that are not valid comparators + set = set.filter(function (comp) { + return !!comp.match(compRe); + }); + } + + set = set.map(function (comp) { + return new Comparator(comp, this.options); + }, this); + return set; +}; + +Range.prototype.intersects = function (range, options) { + if (!(range instanceof Range)) { + throw new TypeError('a Range is required'); + } + + return this.set.some(function (thisComparators) { + return isSatisfiable(thisComparators, options) && range.set.some(function (rangeComparators) { + return isSatisfiable(rangeComparators, options) && thisComparators.every(function (thisComparator) { + return rangeComparators.every(function (rangeComparator) { + return thisComparator.intersects(rangeComparator, options); + }); + }); + }); + }); +}; // take a set of comparators and determine whether there +// exists a version which can satisfy it + + +function isSatisfiable(comparators, options) { + var result = true; + var remainingComparators = comparators.slice(); + var testComparator = remainingComparators.pop(); + + while (result && remainingComparators.length) { + result = remainingComparators.every(function (otherComparator) { + return testComparator.intersects(otherComparator, options); + }); + testComparator = remainingComparators.pop(); + } + + return result; +} // Mostly just for testing and legacy API reasons + + +exports.toComparators = toComparators; + +function toComparators(range, options) { + return new Range(range, options).set.map(function (comp) { + return comp.map(function (c) { + return c.value; + }).join(' ').trim().split(' '); + }); +} // comprised of xranges, tildes, stars, and gtlt's at this point. +// already replaced the hyphen ranges +// turn into a set of JUST comparators. + + +function parseComparator(comp, options) { + debug('comp', comp, options); + comp = replaceCarets(comp, options); + debug('caret', comp); + comp = replaceTildes(comp, options); + debug('tildes', comp); + comp = replaceXRanges(comp, options); + debug('xrange', comp); + comp = replaceStars(comp, options); + debug('stars', comp); + return comp; +} + +function isX(id) { + return !id || id.toLowerCase() === 'x' || id === '*'; +} // ~, ~> --> * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 + + +function replaceTildes(comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceTilde(comp, options); + }).join(' '); +} + +function replaceTilde(comp, options) { + var r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]; + return comp.replace(r, function (_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } else if (pr) { + debug('replaceTilde pr', pr); + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; + } else { + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; + } + + debug('tilde return', ret); + return ret; + }); +} // ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 + + +function replaceCarets(comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceCaret(comp, options); + }).join(' '); +} + +function replaceCaret(comp, options) { + debug('caret', comp, options); + var r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]; + return comp.replace(r, function (_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (isX(p)) { + if (M === '0') { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } else { + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; + } + } else if (pr) { + debug('replaceCaret pr', pr); + + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1); + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; + } + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0'; + } + } else { + debug('no pr'); + + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1); + } else { + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; + } + } else { + ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0'; + } + } + + debug('caret return', ret); + return ret; + }); +} + +function replaceXRanges(comp, options) { + debug('replaceXRanges', comp, options); + return comp.split(/\s+/).map(function (comp) { + return replaceXRange(comp, options); + }).join(' '); +} + +function replaceXRange(comp, options) { + comp = comp.trim(); + var r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]; + return comp.replace(r, function (ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr); + var xM = isX(M); + var xm = xM || isX(m); + var xp = xm || isX(p); + var anyX = xp; + + if (gtlt === '=' && anyX) { + gtlt = ''; + } // if we're including prereleases in the match, then we need + // to fix this to -0, the lowest possible prerelease value + + + pr = options.includePrerelease ? '-0' : ''; + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0-0'; + } else { + // nothing is forbidden + ret = '*'; + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0; + } + + p = 0; + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>='; + + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else { + m = +m + 1; + p = 0; + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<'; + + if (xm) { + M = +M + 1; + } else { + m = +m + 1; + } + } + + ret = gtlt + M + '.' + m + '.' + p + pr; + } else if (xm) { + ret = '>=' + M + '.0.0' + pr + ' <' + (+M + 1) + '.0.0' + pr; + } else if (xp) { + ret = '>=' + M + '.' + m + '.0' + pr + ' <' + M + '.' + (+m + 1) + '.0' + pr; + } + + debug('xRange return', ret); + return ret; + }); +} // Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. + + +function replaceStars(comp, options) { + debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets! + + return comp.trim().replace(re[t.STAR], ''); +} // This function is passed to string.replace(re[t.HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 + + +function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { + if (isX(fM)) { + from = ''; + } else if (isX(fm)) { + from = '>=' + fM + '.0.0'; + } else if (isX(fp)) { + from = '>=' + fM + '.' + fm + '.0'; + } else { + from = '>=' + from; + } + + if (isX(tM)) { + to = ''; + } else if (isX(tm)) { + to = '<' + (+tM + 1) + '.0.0'; + } else if (isX(tp)) { + to = '<' + tM + '.' + (+tm + 1) + '.0'; + } else if (tpr) { + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; + } else { + to = '<=' + to; + } + + return (from + ' ' + to).trim(); +} // if ANY of the sets match ALL of its comparators, then pass + + +Range.prototype.test = function (version) { + if (!version) { + return false; + } + + if (typeof version === 'string') { + try { + version = new SemVer(version, this.options); + } catch (er) { + return false; + } + } + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true; + } + } + + return false; +}; + +function testSet(set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false; + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (i = 0; i < set.length; i++) { + debug(set[i].semver); + + if (set[i].semver === ANY) { + continue; + } + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver; + + if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { + return true; + } + } + } // Version has a -pre, but it's not one of the ones we like. + + + return false; + } + + return true; +} + +exports.satisfies = satisfies; + +function satisfies(version, range, options) { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + + return range.test(version); +} + +exports.maxSatisfying = maxSatisfying; + +function maxSatisfying(versions, range, options) { + var max = null; + var maxSV = null; + + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v; + maxSV = new SemVer(max, options); + } + } + }); + return max; +} + +exports.minSatisfying = minSatisfying; + +function minSatisfying(versions, range, options) { + var min = null; + var minSV = null; + + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v; + minSV = new SemVer(min, options); + } + } + }); + return min; +} + +exports.minVersion = minVersion; + +function minVersion(range, loose) { + range = new Range(range, loose); + var minver = new SemVer('0.0.0'); + + if (range.test(minver)) { + return minver; + } + + minver = new SemVer('0.0.0-0'); + + if (range.test(minver)) { + return minver; + } + + minver = null; + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + comparators.forEach(function (comparator) { + // Clone to avoid manipulating the comparator's semver object. + var compver = new SemVer(comparator.semver.version); + + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + + compver.raw = compver.format(); + + /* fallthrough */ + + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver; + } + + break; + + case '<': + case '<=': + /* Ignore maximum versions */ + break; + + /* istanbul ignore next */ + + default: + throw new Error('Unexpected operation: ' + comparator.operator); + } + }); + } + + if (minver && range.test(minver)) { + return minver; + } + + return null; +} + +exports.validRange = validRange; + +function validRange(range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*'; + } catch (er) { + return null; + } +} // Determine if version is less than all the versions possible in the range + + +exports.ltr = ltr; + +function ltr(version, range, options) { + return outside(version, range, '<', options); +} // Determine if version is greater than all the versions possible in the range. + + +exports.gtr = gtr; + +function gtr(version, range, options) { + return outside(version, range, '>', options); +} + +exports.outside = outside; + +function outside(version, range, hilo, options) { + version = new SemVer(version, options); + range = new Range(range, options); + var gtfn, ltefn, ltfn, comp, ecomp; + + switch (hilo) { + case '>': + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = '>'; + ecomp = '>='; + break; + + case '<': + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = '<'; + ecomp = '<='; + break; + + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } // If it satisifes the range it is not outside + + + if (satisfies(version, range, options)) { + return false; + } // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + var high = null; + var low = null; + comparators.forEach(function (comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0'); + } + + high = high || comparator; + low = low || comparator; + + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); // If the edge version comparator has a operator then our version + // isn't outside it + + if (high.operator === comp || high.operator === ecomp) { + return false; + } // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + + + if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false; + } + } + + return true; +} + +exports.prerelease = prerelease; + +function prerelease(version, options) { + var parsed = parse(version, options); + return parsed && parsed.prerelease.length ? parsed.prerelease : null; +} + +exports.intersects = intersects; + +function intersects(r1, r2, options) { + r1 = new Range(r1, options); + r2 = new Range(r2, options); + return r1.intersects(r2); +} + +exports.coerce = coerce; + +function coerce(version, options) { + if (version instanceof SemVer) { + return version; + } + + if (typeof version === 'number') { + version = String(version); + } + + if (typeof version !== 'string') { + return null; + } + + options = options || {}; + var match = null; + + if (!options.rtl) { + match = version.match(re[t.COERCE]); + } else { + // Find the right-most coercible string that does not share + // a terminus with a more left-ward coercible string. + // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' + // + // Walk through the string checking with a /g regexp + // Manually set the index so as to pick up overlapping matches. + // Stop when we get a match that ends at the string end, since no + // coercible string can be more right-ward without the same terminus. + var next; + + while ((next = re[t.COERCERTL].exec(version)) && (!match || match.index + match[0].length !== version.length)) { + if (!match || next.index + next[0].length !== match.index + match[0].length) { + match = next; + } + + re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length; + } // leave it in a clean state + + + re[t.COERCERTL].lastIndex = -1; + } + + if (match === null) { + return null; + } + + return parse(match[2] + '.' + (match[3] || '0') + '.' + (match[4] || '0'), options); +} + +}).call(this,require('_process')) +},{"_process":1054}],308:[function(require,module,exports){ +require('../modules/es.symbol'); +require('../modules/es.symbol.async-iterator'); +require('../modules/es.symbol.description'); +require('../modules/es.symbol.has-instance'); +require('../modules/es.symbol.is-concat-spreadable'); +require('../modules/es.symbol.iterator'); +require('../modules/es.symbol.match'); +require('../modules/es.symbol.match-all'); +require('../modules/es.symbol.replace'); +require('../modules/es.symbol.search'); +require('../modules/es.symbol.species'); +require('../modules/es.symbol.split'); +require('../modules/es.symbol.to-primitive'); +require('../modules/es.symbol.to-string-tag'); +require('../modules/es.symbol.unscopables'); +require('../modules/es.object.assign'); +require('../modules/es.object.create'); +require('../modules/es.object.define-property'); +require('../modules/es.object.define-properties'); +require('../modules/es.object.entries'); +require('../modules/es.object.freeze'); +require('../modules/es.object.from-entries'); +require('../modules/es.object.get-own-property-descriptor'); +require('../modules/es.object.get-own-property-descriptors'); +require('../modules/es.object.get-own-property-names'); +require('../modules/es.object.get-prototype-of'); +require('../modules/es.object.is'); +require('../modules/es.object.is-extensible'); +require('../modules/es.object.is-frozen'); +require('../modules/es.object.is-sealed'); +require('../modules/es.object.keys'); +require('../modules/es.object.prevent-extensions'); +require('../modules/es.object.seal'); +require('../modules/es.object.set-prototype-of'); +require('../modules/es.object.values'); +require('../modules/es.object.to-string'); +require('../modules/es.object.define-getter'); +require('../modules/es.object.define-setter'); +require('../modules/es.object.lookup-getter'); +require('../modules/es.object.lookup-setter'); +require('../modules/es.function.bind'); +require('../modules/es.function.name'); +require('../modules/es.function.has-instance'); +require('../modules/es.global-this'); +require('../modules/es.array.from'); +require('../modules/es.array.is-array'); +require('../modules/es.array.of'); +require('../modules/es.array.concat'); +require('../modules/es.array.copy-within'); +require('../modules/es.array.every'); +require('../modules/es.array.fill'); +require('../modules/es.array.filter'); +require('../modules/es.array.find'); +require('../modules/es.array.find-index'); +require('../modules/es.array.flat'); +require('../modules/es.array.flat-map'); +require('../modules/es.array.for-each'); +require('../modules/es.array.includes'); +require('../modules/es.array.index-of'); +require('../modules/es.array.join'); +require('../modules/es.array.last-index-of'); +require('../modules/es.array.map'); +require('../modules/es.array.reduce'); +require('../modules/es.array.reduce-right'); +require('../modules/es.array.reverse'); +require('../modules/es.array.slice'); +require('../modules/es.array.some'); +require('../modules/es.array.sort'); +require('../modules/es.array.splice'); +require('../modules/es.array.species'); +require('../modules/es.array.unscopables.flat'); +require('../modules/es.array.unscopables.flat-map'); +require('../modules/es.array.iterator'); +require('../modules/es.string.from-code-point'); +require('../modules/es.string.raw'); +require('../modules/es.string.code-point-at'); +require('../modules/es.string.ends-with'); +require('../modules/es.string.includes'); +require('../modules/es.string.match'); +require('../modules/es.string.match-all'); +require('../modules/es.string.pad-end'); +require('../modules/es.string.pad-start'); +require('../modules/es.string.repeat'); +require('../modules/es.string.replace'); +require('../modules/es.string.search'); +require('../modules/es.string.split'); +require('../modules/es.string.starts-with'); +require('../modules/es.string.trim'); +require('../modules/es.string.trim-start'); +require('../modules/es.string.trim-end'); +require('../modules/es.string.iterator'); +require('../modules/es.string.anchor'); +require('../modules/es.string.big'); +require('../modules/es.string.blink'); +require('../modules/es.string.bold'); +require('../modules/es.string.fixed'); +require('../modules/es.string.fontcolor'); +require('../modules/es.string.fontsize'); +require('../modules/es.string.italics'); +require('../modules/es.string.link'); +require('../modules/es.string.small'); +require('../modules/es.string.strike'); +require('../modules/es.string.sub'); +require('../modules/es.string.sup'); +require('../modules/es.regexp.constructor'); +require('../modules/es.regexp.exec'); +require('../modules/es.regexp.flags'); +require('../modules/es.regexp.to-string'); +require('../modules/es.parse-int'); +require('../modules/es.parse-float'); +require('../modules/es.number.constructor'); +require('../modules/es.number.epsilon'); +require('../modules/es.number.is-finite'); +require('../modules/es.number.is-integer'); +require('../modules/es.number.is-nan'); +require('../modules/es.number.is-safe-integer'); +require('../modules/es.number.max-safe-integer'); +require('../modules/es.number.min-safe-integer'); +require('../modules/es.number.parse-float'); +require('../modules/es.number.parse-int'); +require('../modules/es.number.to-fixed'); +require('../modules/es.number.to-precision'); +require('../modules/es.math.acosh'); +require('../modules/es.math.asinh'); +require('../modules/es.math.atanh'); +require('../modules/es.math.cbrt'); +require('../modules/es.math.clz32'); +require('../modules/es.math.cosh'); +require('../modules/es.math.expm1'); +require('../modules/es.math.fround'); +require('../modules/es.math.hypot'); +require('../modules/es.math.imul'); +require('../modules/es.math.log10'); +require('../modules/es.math.log1p'); +require('../modules/es.math.log2'); +require('../modules/es.math.sign'); +require('../modules/es.math.sinh'); +require('../modules/es.math.tanh'); +require('../modules/es.math.to-string-tag'); +require('../modules/es.math.trunc'); +require('../modules/es.date.now'); +require('../modules/es.date.to-json'); +require('../modules/es.date.to-iso-string'); +require('../modules/es.date.to-string'); +require('../modules/es.date.to-primitive'); +require('../modules/es.json.to-string-tag'); +require('../modules/es.promise'); +require('../modules/es.promise.all-settled'); +require('../modules/es.promise.finally'); +require('../modules/es.map'); +require('../modules/es.set'); +require('../modules/es.weak-map'); +require('../modules/es.weak-set'); +require('../modules/es.array-buffer.constructor'); +require('../modules/es.array-buffer.is-view'); +require('../modules/es.array-buffer.slice'); +require('../modules/es.data-view'); +require('../modules/es.typed-array.int8-array'); +require('../modules/es.typed-array.uint8-array'); +require('../modules/es.typed-array.uint8-clamped-array'); +require('../modules/es.typed-array.int16-array'); +require('../modules/es.typed-array.uint16-array'); +require('../modules/es.typed-array.int32-array'); +require('../modules/es.typed-array.uint32-array'); +require('../modules/es.typed-array.float32-array'); +require('../modules/es.typed-array.float64-array'); +require('../modules/es.typed-array.from'); +require('../modules/es.typed-array.of'); +require('../modules/es.typed-array.copy-within'); +require('../modules/es.typed-array.every'); +require('../modules/es.typed-array.fill'); +require('../modules/es.typed-array.filter'); +require('../modules/es.typed-array.find'); +require('../modules/es.typed-array.find-index'); +require('../modules/es.typed-array.for-each'); +require('../modules/es.typed-array.includes'); +require('../modules/es.typed-array.index-of'); +require('../modules/es.typed-array.iterator'); +require('../modules/es.typed-array.join'); +require('../modules/es.typed-array.last-index-of'); +require('../modules/es.typed-array.map'); +require('../modules/es.typed-array.reduce'); +require('../modules/es.typed-array.reduce-right'); +require('../modules/es.typed-array.reverse'); +require('../modules/es.typed-array.set'); +require('../modules/es.typed-array.slice'); +require('../modules/es.typed-array.some'); +require('../modules/es.typed-array.sort'); +require('../modules/es.typed-array.subarray'); +require('../modules/es.typed-array.to-locale-string'); +require('../modules/es.typed-array.to-string'); +require('../modules/es.reflect.apply'); +require('../modules/es.reflect.construct'); +require('../modules/es.reflect.define-property'); +require('../modules/es.reflect.delete-property'); +require('../modules/es.reflect.get'); +require('../modules/es.reflect.get-own-property-descriptor'); +require('../modules/es.reflect.get-prototype-of'); +require('../modules/es.reflect.has'); +require('../modules/es.reflect.is-extensible'); +require('../modules/es.reflect.own-keys'); +require('../modules/es.reflect.prevent-extensions'); +require('../modules/es.reflect.set'); +require('../modules/es.reflect.set-prototype-of'); + +module.exports = require('../internals/path'); + +},{"../internals/path":430,"../modules/es.array-buffer.constructor":476,"../modules/es.array-buffer.is-view":477,"../modules/es.array-buffer.slice":478,"../modules/es.array.concat":479,"../modules/es.array.copy-within":480,"../modules/es.array.every":481,"../modules/es.array.fill":482,"../modules/es.array.filter":483,"../modules/es.array.find":485,"../modules/es.array.find-index":484,"../modules/es.array.flat":487,"../modules/es.array.flat-map":486,"../modules/es.array.for-each":488,"../modules/es.array.from":489,"../modules/es.array.includes":490,"../modules/es.array.index-of":491,"../modules/es.array.is-array":492,"../modules/es.array.iterator":493,"../modules/es.array.join":494,"../modules/es.array.last-index-of":495,"../modules/es.array.map":496,"../modules/es.array.of":497,"../modules/es.array.reduce":499,"../modules/es.array.reduce-right":498,"../modules/es.array.reverse":500,"../modules/es.array.slice":501,"../modules/es.array.some":502,"../modules/es.array.sort":503,"../modules/es.array.species":504,"../modules/es.array.splice":505,"../modules/es.array.unscopables.flat":507,"../modules/es.array.unscopables.flat-map":506,"../modules/es.data-view":508,"../modules/es.date.now":509,"../modules/es.date.to-iso-string":510,"../modules/es.date.to-json":511,"../modules/es.date.to-primitive":512,"../modules/es.date.to-string":513,"../modules/es.function.bind":514,"../modules/es.function.has-instance":515,"../modules/es.function.name":516,"../modules/es.global-this":517,"../modules/es.json.to-string-tag":518,"../modules/es.map":519,"../modules/es.math.acosh":520,"../modules/es.math.asinh":521,"../modules/es.math.atanh":522,"../modules/es.math.cbrt":523,"../modules/es.math.clz32":524,"../modules/es.math.cosh":525,"../modules/es.math.expm1":526,"../modules/es.math.fround":527,"../modules/es.math.hypot":528,"../modules/es.math.imul":529,"../modules/es.math.log10":530,"../modules/es.math.log1p":531,"../modules/es.math.log2":532,"../modules/es.math.sign":533,"../modules/es.math.sinh":534,"../modules/es.math.tanh":535,"../modules/es.math.to-string-tag":536,"../modules/es.math.trunc":537,"../modules/es.number.constructor":538,"../modules/es.number.epsilon":539,"../modules/es.number.is-finite":540,"../modules/es.number.is-integer":541,"../modules/es.number.is-nan":542,"../modules/es.number.is-safe-integer":543,"../modules/es.number.max-safe-integer":544,"../modules/es.number.min-safe-integer":545,"../modules/es.number.parse-float":546,"../modules/es.number.parse-int":547,"../modules/es.number.to-fixed":548,"../modules/es.number.to-precision":549,"../modules/es.object.assign":550,"../modules/es.object.create":551,"../modules/es.object.define-getter":552,"../modules/es.object.define-properties":553,"../modules/es.object.define-property":554,"../modules/es.object.define-setter":555,"../modules/es.object.entries":556,"../modules/es.object.freeze":557,"../modules/es.object.from-entries":558,"../modules/es.object.get-own-property-descriptor":559,"../modules/es.object.get-own-property-descriptors":560,"../modules/es.object.get-own-property-names":561,"../modules/es.object.get-prototype-of":562,"../modules/es.object.is":566,"../modules/es.object.is-extensible":563,"../modules/es.object.is-frozen":564,"../modules/es.object.is-sealed":565,"../modules/es.object.keys":567,"../modules/es.object.lookup-getter":568,"../modules/es.object.lookup-setter":569,"../modules/es.object.prevent-extensions":570,"../modules/es.object.seal":571,"../modules/es.object.set-prototype-of":572,"../modules/es.object.to-string":573,"../modules/es.object.values":574,"../modules/es.parse-float":575,"../modules/es.parse-int":576,"../modules/es.promise":579,"../modules/es.promise.all-settled":577,"../modules/es.promise.finally":578,"../modules/es.reflect.apply":580,"../modules/es.reflect.construct":581,"../modules/es.reflect.define-property":582,"../modules/es.reflect.delete-property":583,"../modules/es.reflect.get":586,"../modules/es.reflect.get-own-property-descriptor":584,"../modules/es.reflect.get-prototype-of":585,"../modules/es.reflect.has":587,"../modules/es.reflect.is-extensible":588,"../modules/es.reflect.own-keys":589,"../modules/es.reflect.prevent-extensions":590,"../modules/es.reflect.set":592,"../modules/es.reflect.set-prototype-of":591,"../modules/es.regexp.constructor":593,"../modules/es.regexp.exec":594,"../modules/es.regexp.flags":595,"../modules/es.regexp.to-string":596,"../modules/es.set":597,"../modules/es.string.anchor":598,"../modules/es.string.big":599,"../modules/es.string.blink":600,"../modules/es.string.bold":601,"../modules/es.string.code-point-at":602,"../modules/es.string.ends-with":603,"../modules/es.string.fixed":604,"../modules/es.string.fontcolor":605,"../modules/es.string.fontsize":606,"../modules/es.string.from-code-point":607,"../modules/es.string.includes":608,"../modules/es.string.italics":609,"../modules/es.string.iterator":610,"../modules/es.string.link":611,"../modules/es.string.match":613,"../modules/es.string.match-all":612,"../modules/es.string.pad-end":614,"../modules/es.string.pad-start":615,"../modules/es.string.raw":616,"../modules/es.string.repeat":617,"../modules/es.string.replace":618,"../modules/es.string.search":619,"../modules/es.string.small":620,"../modules/es.string.split":621,"../modules/es.string.starts-with":622,"../modules/es.string.strike":623,"../modules/es.string.sub":624,"../modules/es.string.sup":625,"../modules/es.string.trim":628,"../modules/es.string.trim-end":626,"../modules/es.string.trim-start":627,"../modules/es.symbol":634,"../modules/es.symbol.async-iterator":629,"../modules/es.symbol.description":630,"../modules/es.symbol.has-instance":631,"../modules/es.symbol.is-concat-spreadable":632,"../modules/es.symbol.iterator":633,"../modules/es.symbol.match":636,"../modules/es.symbol.match-all":635,"../modules/es.symbol.replace":637,"../modules/es.symbol.search":638,"../modules/es.symbol.species":639,"../modules/es.symbol.split":640,"../modules/es.symbol.to-primitive":641,"../modules/es.symbol.to-string-tag":642,"../modules/es.symbol.unscopables":643,"../modules/es.typed-array.copy-within":644,"../modules/es.typed-array.every":645,"../modules/es.typed-array.fill":646,"../modules/es.typed-array.filter":647,"../modules/es.typed-array.find":649,"../modules/es.typed-array.find-index":648,"../modules/es.typed-array.float32-array":650,"../modules/es.typed-array.float64-array":651,"../modules/es.typed-array.for-each":652,"../modules/es.typed-array.from":653,"../modules/es.typed-array.includes":654,"../modules/es.typed-array.index-of":655,"../modules/es.typed-array.int16-array":656,"../modules/es.typed-array.int32-array":657,"../modules/es.typed-array.int8-array":658,"../modules/es.typed-array.iterator":659,"../modules/es.typed-array.join":660,"../modules/es.typed-array.last-index-of":661,"../modules/es.typed-array.map":662,"../modules/es.typed-array.of":663,"../modules/es.typed-array.reduce":665,"../modules/es.typed-array.reduce-right":664,"../modules/es.typed-array.reverse":666,"../modules/es.typed-array.set":667,"../modules/es.typed-array.slice":668,"../modules/es.typed-array.some":669,"../modules/es.typed-array.sort":670,"../modules/es.typed-array.subarray":671,"../modules/es.typed-array.to-locale-string":672,"../modules/es.typed-array.to-string":673,"../modules/es.typed-array.uint16-array":674,"../modules/es.typed-array.uint32-array":675,"../modules/es.typed-array.uint8-array":676,"../modules/es.typed-array.uint8-clamped-array":677,"../modules/es.weak-map":678,"../modules/es.weak-set":679}],309:[function(require,module,exports){ +require('./es'); +require('./proposals'); +require('./web'); + +module.exports = require('./internals/path'); + +},{"./es":308,"./internals/path":430,"./proposals":802,"./web":830}],310:[function(require,module,exports){ +module.exports = function (it) { + if (typeof it != 'function') { + throw TypeError(String(it) + ' is not a function'); + } return it; +}; + +},{}],311:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +module.exports = function (it) { + if (!isObject(it) && it !== null) { + throw TypeError("Can't set " + String(it) + ' as a prototype'); + } return it; +}; + +},{"../internals/is-object":392}],312:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var create = require('../internals/object-create'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +var UNSCOPABLES = wellKnownSymbol('unscopables'); +var ArrayPrototype = Array.prototype; + +// Array.prototype[@@unscopables] +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +if (ArrayPrototype[UNSCOPABLES] == undefined) { + createNonEnumerableProperty(ArrayPrototype, UNSCOPABLES, create(null)); +} + +// add a key to Array.prototype[@@unscopables] +module.exports = function (key) { + ArrayPrototype[UNSCOPABLES][key] = true; +}; + +},{"../internals/create-non-enumerable-property":350,"../internals/object-create":413,"../internals/well-known-symbol":473}],313:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; + +// `AdvanceStringIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-advancestringindex +module.exports = function (S, index, unicode) { + return index + (unicode ? charAt(S, index).length : 1); +}; + +},{"../internals/string-multibyte":451}],314:[function(require,module,exports){ +module.exports = function (it, Constructor, name) { + if (!(it instanceof Constructor)) { + throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); + } return it; +}; + +},{}],315:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +module.exports = function (it) { + if (!isObject(it)) { + throw TypeError(String(it) + ' is not an object'); + } return it; +}; + +},{"../internals/is-object":392}],316:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var classof = require('../internals/classof'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var defineProperty = require('../internals/object-define-property').f; +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var uid = require('../internals/uid'); + +var DataView = global.DataView; +var DataViewPrototype = DataView && DataView.prototype; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var Uint8ClampedArray = global.Uint8ClampedArray; +var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; +var TypedArray = Int8Array && getPrototypeOf(Int8Array); +var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); +var ObjectPrototype = Object.prototype; +var isPrototypeOf = ObjectPrototype.isPrototypeOf; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); +var NATIVE_ARRAY_BUFFER = !!(global.ArrayBuffer && DataView); +// Fixing native typed arrays in Opera Presto crashes the browser, see #595 +var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; +var TYPED_ARRAY_TAG_REQIRED = false; +var NAME; + +var TypedArrayConstructorsList = { + Int8Array: 1, + Uint8Array: 1, + Uint8ClampedArray: 1, + Int16Array: 2, + Uint16Array: 2, + Int32Array: 4, + Uint32Array: 4, + Float32Array: 4, + Float64Array: 8 +}; + +var isView = function isView(it) { + var klass = classof(it); + return klass === 'DataView' || has(TypedArrayConstructorsList, klass); +}; + +var isTypedArray = function (it) { + return isObject(it) && has(TypedArrayConstructorsList, classof(it)); +}; + +var aTypedArray = function (it) { + if (isTypedArray(it)) return it; + throw TypeError('Target is not a typed array'); +}; + +var aTypedArrayConstructor = function (C) { + if (setPrototypeOf) { + if (isPrototypeOf.call(TypedArray, C)) return C; + } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { + return C; + } + } throw TypeError('Target is not a typed array constructor'); +}; + +var exportProto = function (KEY, property, forced) { + if (!DESCRIPTORS) return; + if (forced) for (var ARRAY in TypedArrayConstructorsList) { + var TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { + delete TypedArrayConstructor.prototype[KEY]; + } + } + if (!TypedArrayPrototype[KEY] || forced) { + redefine(TypedArrayPrototype, KEY, forced ? property + : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); + } +}; + +var exportStatic = function (KEY, property, forced) { + var ARRAY, TypedArrayConstructor; + if (!DESCRIPTORS) return; + if (setPrototypeOf) { + if (forced) for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { + delete TypedArrayConstructor[KEY]; + } + } + if (!TypedArray[KEY] || forced) { + // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable + try { + return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); + } catch (error) { /* empty */ } + } else return; + } + for (ARRAY in TypedArrayConstructorsList) { + TypedArrayConstructor = global[ARRAY]; + if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { + redefine(TypedArrayConstructor, KEY, property); + } + } +}; + +for (NAME in TypedArrayConstructorsList) { + if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; +} + +// WebKit bug - typed arrays constructors prototype is Object.prototype +if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { + // eslint-disable-next-line no-shadow + TypedArray = function TypedArray() { + throw TypeError('Incorrect invocation'); + }; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); + } +} + +if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { + TypedArrayPrototype = TypedArray.prototype; + if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { + if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); + } +} + +// WebKit bug - one more object in Uint8ClampedArray prototype chain +if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { + setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); +} + +if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { + TYPED_ARRAY_TAG_REQIRED = true; + defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { + return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; + } }); + for (NAME in TypedArrayConstructorsList) if (global[NAME]) { + createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); + } +} + +// WebKit bug - the same parent prototype for typed arrays and data view +if (NATIVE_ARRAY_BUFFER && setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) { + setPrototypeOf(DataViewPrototype, ObjectPrototype); +} + +module.exports = { + NATIVE_ARRAY_BUFFER: NATIVE_ARRAY_BUFFER, + NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, + TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, + aTypedArray: aTypedArray, + aTypedArrayConstructor: aTypedArrayConstructor, + exportProto: exportProto, + exportStatic: exportStatic, + isView: isView, + isTypedArray: isTypedArray, + TypedArray: TypedArray, + TypedArrayPrototype: TypedArrayPrototype +}; + +},{"../internals/classof":334,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/global":377,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424,"../internals/redefine":435,"../internals/uid":469,"../internals/well-known-symbol":473}],317:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefineAll = require('../internals/redefine-all'); +var fails = require('../internals/fails'); +var anInstance = require('../internals/an-instance'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var toIndex = require('../internals/to-index'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var defineProperty = require('../internals/object-define-property').f; +var arrayFill = require('../internals/array-fill'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length'; +var WRONG_INDEX = 'Wrong index'; +var NativeArrayBuffer = global[ARRAY_BUFFER]; +var $ArrayBuffer = NativeArrayBuffer; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = 1 / 0; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +var packIEEE754 = function (number, mantissaLength, bytes) { + var buffer = new Array(bytes); + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; + var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; + var index = 0; + var exponent, mantissa, c; + number = abs(number); + // eslint-disable-next-line no-self-compare + if (number != number || number === Infinity) { + // eslint-disable-next-line no-self-compare + mantissa = number != number ? 1 : 0; + exponent = eMax; + } else { + exponent = floor(log(number) / LN2); + if (number * (c = pow(2, -exponent)) < 1) { + exponent--; + c *= 2; + } + if (exponent + eBias >= 1) { + number += rt / c; + } else { + number += rt * pow(2, 1 - eBias); + } + if (number * c >= 2) { + exponent++; + c /= 2; + } + if (exponent + eBias >= eMax) { + mantissa = 0; + exponent = eMax; + } else if (exponent + eBias >= 1) { + mantissa = (number * c - 1) * pow(2, mantissaLength); + exponent = exponent + eBias; + } else { + mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); + exponent = 0; + } + } + for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); + exponent = exponent << mantissaLength | mantissa; + exponentLength += mantissaLength; + for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); + buffer[--index] |= sign * 128; + return buffer; +}; + +var unpackIEEE754 = function (buffer, mantissaLength) { + var bytes = buffer.length; + var exponentLength = bytes * 8 - mantissaLength - 1; + var eMax = (1 << exponentLength) - 1; + var eBias = eMax >> 1; + var nBits = exponentLength - 7; + var index = bytes - 1; + var sign = buffer[index--]; + var exponent = sign & 127; + var mantissa; + sign >>= 7; + for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); + mantissa = exponent & (1 << -nBits) - 1; + exponent >>= -nBits; + nBits += mantissaLength; + for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); + if (exponent === 0) { + exponent = 1 - eBias; + } else if (exponent === eMax) { + return mantissa ? NaN : sign ? -Infinity : Infinity; + } else { + mantissa = mantissa + pow(2, mantissaLength); + exponent = exponent - eBias; + } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); +}; + +var unpackInt32 = function (buffer) { + return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; +}; + +var packInt8 = function (number) { + return [number & 0xFF]; +}; + +var packInt16 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF]; +}; + +var packInt32 = function (number) { + return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; +}; + +var packFloat32 = function (number) { + return packIEEE754(number, 23, 4); +}; + +var packFloat64 = function (number) { + return packIEEE754(number, 52, 8); +}; + +var addGetter = function (Constructor, key) { + defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); +}; + +var get = function (view, count, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + var store = getInternalState(view); + if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); + var bytes = getInternalState(store.buffer).bytes; + var start = intIndex + store.byteOffset; + var pack = bytes.slice(start, start + count); + return isLittleEndian ? pack : pack.reverse(); +}; + +var set = function (view, count, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + var store = getInternalState(view); + if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); + var bytes = getInternalState(store.buffer).bytes; + var start = intIndex + store.byteOffset; + var pack = conversion(+value); + for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; +}; + +if (!NATIVE_ARRAY_BUFFER) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + setInternalState(this, { + bytes: arrayFill.call(new Array(byteLength), 0), + byteLength: byteLength + }); + if (!DESCRIPTORS) this.byteLength = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = getInternalState(buffer).byteLength; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + setInternalState(this, { + buffer: buffer, + byteLength: byteLength, + byteOffset: offset + }); + if (!DESCRIPTORS) { + this.buffer = buffer; + this.byteLength = byteLength; + this.byteOffset = offset; + } + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, 'byteLength'); + addGetter($DataView, 'buffer'); + addGetter($DataView, 'byteLength'); + addGetter($DataView, 'byteOffset'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packInt8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); + } + }); +} else { + if (!fails(function () { + NativeArrayBuffer(1); + }) || !fails(function () { + new NativeArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new NativeArrayBuffer(); // eslint-disable-line no-new + new NativeArrayBuffer(1.5); // eslint-disable-line no-new + new NativeArrayBuffer(NaN); // eslint-disable-line no-new + return NativeArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new NativeArrayBuffer(toIndex(length)); + }; + var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; + for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) { + createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); + } + } + ArrayBufferPrototype.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var testView = new $DataView(new $ArrayBuffer(2)); + var nativeSetInt8 = $DataView[PROTOTYPE].setInt8; + testView.setInt8(0, 2147483648); + testView.setInt8(1, 2147483649); + if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + nativeSetInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + nativeSetInt8.call(this, byteOffset, value << 24 >> 24); + } + }, { unsafe: true }); +} + +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); + +module.exports = { + ArrayBuffer: $ArrayBuffer, + DataView: $DataView +}; + +},{"../internals/an-instance":314,"../internals/array-buffer-view-core":316,"../internals/array-fill":319,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/internal-state":386,"../internals/object-define-property":415,"../internals/object-get-own-property-names":418,"../internals/redefine-all":434,"../internals/set-to-string-tag":445,"../internals/to-index":458,"../internals/to-integer":460,"../internals/to-length":461}],318:[function(require,module,exports){ +'use strict'; +var toObject = require('../internals/to-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); + +var min = Math.min; + +// `Array.prototype.copyWithin` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin +module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { + var O = toObject(this); + var len = toLength(O.length); + var to = toAbsoluteIndex(target, len); + var from = toAbsoluteIndex(start, len); + var end = arguments.length > 2 ? arguments[2] : undefined; + var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + +},{"../internals/to-absolute-index":457,"../internals/to-length":461,"../internals/to-object":462}],319:[function(require,module,exports){ +'use strict'; +var toObject = require('../internals/to-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); + +// `Array.prototype.fill` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.fill +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var argumentsLength = arguments.length; + var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); + var end = argumentsLength > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + +},{"../internals/to-absolute-index":457,"../internals/to-length":461,"../internals/to-object":462}],320:[function(require,module,exports){ +'use strict'; +var $forEach = require('../internals/array-iteration').forEach; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +// `Array.prototype.forEach` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.foreach +module.exports = sloppyArrayMethod('forEach') ? function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); +} : [].forEach; + +},{"../internals/array-iteration":323,"../internals/sloppy-array-method":449}],321:[function(require,module,exports){ +'use strict'; +var bind = require('../internals/bind-context'); +var toObject = require('../internals/to-object'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var toLength = require('../internals/to-length'); +var createProperty = require('../internals/create-property'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +// `Array.from` method implementation +// https://tc39.github.io/ecma262/#sec-array.from +module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iteratorMethod = getIteratorMethod(O); + var length, result, step, iterator, next; + if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); + // if the target is not iterable or it's an array with the default iterator - use a simple case + if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { + iterator = iteratorMethod.call(O); + next = iterator.next; + result = new C(); + for (;!(step = next.call(iterator)).done; index++) { + createProperty(result, index, mapping + ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) + : step.value + ); + } + } else { + length = toLength(O.length); + result = new C(length); + for (;length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; +}; + +},{"../internals/bind-context":330,"../internals/call-with-safe-iteration-closing":331,"../internals/create-property":352,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461,"../internals/to-object":462}],322:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var toLength = require('../internals/to-length'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.github.io/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.github.io/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + +},{"../internals/to-absolute-index":457,"../internals/to-indexed-object":459,"../internals/to-length":461}],323:[function(require,module,exports){ +var bind = require('../internals/bind-context'); +var IndexedObject = require('../internals/indexed-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +var push = [].push; + +// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex }` methods implementation +var createMethod = function (TYPE) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + return function ($this, callbackfn, that, specificCreate) { + var O = toObject($this); + var self = IndexedObject(O); + var boundFunction = bind(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var create = specificCreate || arraySpeciesCreate; + var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var value, result; + for (;length > index; index++) if (NO_HOLES || index in self) { + value = self[index]; + result = boundFunction(value, index, O); + if (TYPE) { + if (IS_MAP) target[index] = result; // map + else if (result) switch (TYPE) { + case 3: return true; // some + case 5: return value; // find + case 6: return index; // findIndex + case 2: push.call(target, value); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; + }; +}; + +module.exports = { + // `Array.prototype.forEach` method + // https://tc39.github.io/ecma262/#sec-array.prototype.foreach + forEach: createMethod(0), + // `Array.prototype.map` method + // https://tc39.github.io/ecma262/#sec-array.prototype.map + map: createMethod(1), + // `Array.prototype.filter` method + // https://tc39.github.io/ecma262/#sec-array.prototype.filter + filter: createMethod(2), + // `Array.prototype.some` method + // https://tc39.github.io/ecma262/#sec-array.prototype.some + some: createMethod(3), + // `Array.prototype.every` method + // https://tc39.github.io/ecma262/#sec-array.prototype.every + every: createMethod(4), + // `Array.prototype.find` method + // https://tc39.github.io/ecma262/#sec-array.prototype.find + find: createMethod(5), + // `Array.prototype.findIndex` method + // https://tc39.github.io/ecma262/#sec-array.prototype.findIndex + findIndex: createMethod(6) +}; + +},{"../internals/array-species-create":327,"../internals/bind-context":330,"../internals/indexed-object":383,"../internals/to-length":461,"../internals/to-object":462}],324:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +var min = Math.min; +var nativeLastIndexOf = [].lastIndexOf; +var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; +var SLOPPY_METHOD = sloppyArrayMethod('lastIndexOf'); + +// `Array.prototype.lastIndexOf` method implementation +// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof +module.exports = (NEGATIVE_ZERO || SLOPPY_METHOD) ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; + var O = toIndexedObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; + return -1; +} : nativeLastIndexOf; + +},{"../internals/sloppy-array-method":449,"../internals/to-indexed-object":459,"../internals/to-integer":460,"../internals/to-length":461}],325:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/v8-version'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (METHOD_NAME) { + // We can't use this feature detection in V8 since it causes + // deoptimization and serious performance degradation + // https://github.com/zloirock/core-js/issues/677 + return V8_VERSION >= 51 || !fails(function () { + var array = []; + var constructor = array.constructor = {}; + constructor[SPECIES] = function () { + return { foo: 1 }; + }; + return array[METHOD_NAME](Boolean).foo !== 1; + }); +}; + +},{"../internals/fails":362,"../internals/v8-version":471,"../internals/well-known-symbol":473}],326:[function(require,module,exports){ +var aFunction = require('../internals/a-function'); +var toObject = require('../internals/to-object'); +var IndexedObject = require('../internals/indexed-object'); +var toLength = require('../internals/to-length'); + +// `Array.prototype.{ reduce, reduceRight }` methods implementation +var createMethod = function (IS_RIGHT) { + return function (that, callbackfn, argumentsLength, memo) { + aFunction(callbackfn); + var O = toObject(that); + var self = IndexedObject(O); + var length = toLength(O.length); + var index = IS_RIGHT ? length - 1 : 0; + var i = IS_RIGHT ? -1 : 1; + if (argumentsLength < 2) while (true) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (IS_RIGHT ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; + }; +}; + +module.exports = { + // `Array.prototype.reduce` method + // https://tc39.github.io/ecma262/#sec-array.prototype.reduce + left: createMethod(false), + // `Array.prototype.reduceRight` method + // https://tc39.github.io/ecma262/#sec-array.prototype.reduceright + right: createMethod(true) +}; + +},{"../internals/a-function":310,"../internals/indexed-object":383,"../internals/to-length":461,"../internals/to-object":462}],327:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var isArray = require('../internals/is-array'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); + +// `ArraySpeciesCreate` abstract operation +// https://tc39.github.io/ecma262/#sec-arrayspeciescreate +module.exports = function (originalArray, length) { + var C; + if (isArray(originalArray)) { + C = originalArray.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + else if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); +}; + +},{"../internals/is-array":388,"../internals/is-object":392,"../internals/well-known-symbol":473}],328:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var getBuiltIn = require('../internals/get-built-in'); + +var Promise = getBuiltIn('Promise'); +var push = [].push; + +var createMethod = function (TYPE) { + var IS_TO_ARRAY = TYPE == 0; + var IS_FOR_EACH = TYPE == 1; + var IS_EVERY = TYPE == 2; + var IS_SOME = TYPE == 3; + return function (iterator, fn) { + anObject(iterator); + var next = aFunction(iterator.next); + var array = IS_TO_ARRAY ? [] : undefined; + if (!IS_TO_ARRAY) aFunction(fn); + + return new Promise(function (resolve, reject) { + var loop = function () { + try { + Promise.resolve(anObject(next.call(iterator))).then(function (step) { + try { + if (anObject(step).done) { + resolve(IS_TO_ARRAY ? array : IS_SOME ? false : IS_EVERY || undefined); + } else { + var value = step.value; + if (IS_TO_ARRAY) { + push.call(array, value); + loop(); + } else { + Promise.resolve(fn(value)).then(function (result) { + if (IS_FOR_EACH) { + loop(); + } else if (IS_EVERY) { + result ? loop() : resolve(false); + } else { + result ? resolve(IS_SOME || value) : loop(); + } + }, reject); + } + } + } catch (err) { reject(err); } + }, reject); + } catch (error) { reject(error); } + }; + + loop(); + }); + }; +}; + +module.exports = { + toArray: createMethod(0), + forEach: createMethod(1), + every: createMethod(2), + some: createMethod(3), + find: createMethod(4) +}; + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/get-built-in":372}],329:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared-store'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var has = require('../internals/has'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var USE_FUNCTION_CONSTRUCTOR = 'USE_FUNCTION_CONSTRUCTOR'; +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); +var AsyncIterator = global.AsyncIterator; +var PassedAsyncIteratorPrototype = shared.AsyncIteratorPrototype; +var AsyncIteratorPrototype, prototype; + +if (!IS_PURE) { + if (PassedAsyncIteratorPrototype) { + AsyncIteratorPrototype = PassedAsyncIteratorPrototype; + } else if (typeof AsyncIterator == 'function') { + AsyncIteratorPrototype = AsyncIterator.prototype; + } else if (shared[USE_FUNCTION_CONSTRUCTOR] || global[USE_FUNCTION_CONSTRUCTOR]) { + try { + // eslint-disable-next-line no-new-func + prototype = getPrototypeOf(getPrototypeOf(getPrototypeOf(Function('return async function*(){}()')()))); + if (getPrototypeOf(prototype) === Object.prototype) AsyncIteratorPrototype = prototype; + } catch (error) { /* empty */ } + } +} + +if (!AsyncIteratorPrototype) AsyncIteratorPrototype = {}; + +if (!has(AsyncIteratorPrototype, ASYNC_ITERATOR)) { + createNonEnumerableProperty(AsyncIteratorPrototype, ASYNC_ITERATOR, function () { + return this; + }); +} + +module.exports = AsyncIteratorPrototype; + +},{"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/has":378,"../internals/is-pure":393,"../internals/object-get-prototype-of":420,"../internals/shared-store":447,"../internals/well-known-symbol":473}],330:[function(require,module,exports){ +var aFunction = require('../internals/a-function'); + +// optional / simple context binding +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 0: return function () { + return fn.call(that); + }; + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"../internals/a-function":310}],331:[function(require,module,exports){ +var anObject = require('../internals/an-object'); + +// call something on iterator step with safe closing on error +module.exports = function (iterator, fn, value, ENTRIES) { + try { + return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (error) { + var returnMethod = iterator['return']; + if (returnMethod !== undefined) anObject(returnMethod.call(iterator)); + throw error; + } +}; + +},{"../internals/an-object":315}],332:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var SAFE_CLOSING = false; + +try { + var called = 0; + var iteratorWithReturn = { + next: function () { + return { done: !!called++ }; + }, + 'return': function () { + SAFE_CLOSING = true; + } + }; + iteratorWithReturn[ITERATOR] = function () { + return this; + }; + // eslint-disable-next-line no-throw-literal + Array.from(iteratorWithReturn, function () { throw 2; }); +} catch (error) { /* empty */ } + +module.exports = function (exec, SKIP_CLOSING) { + if (!SKIP_CLOSING && !SAFE_CLOSING) return false; + var ITERATION_SUPPORT = false; + try { + var object = {}; + object[ITERATOR] = function () { + return { + next: function () { + return { done: ITERATION_SUPPORT = true }; + } + }; + }; + exec(object); + } catch (error) { /* empty */ } + return ITERATION_SUPPORT; +}; + +},{"../internals/well-known-symbol":473}],333:[function(require,module,exports){ +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +},{}],334:[function(require,module,exports){ +var classofRaw = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +// ES3 wrong here +var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (error) { /* empty */ } +}; + +// getting tag from ES6+ `Object.prototype.toString` +module.exports = function (it) { + var O, tag, result; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag + // builtinTag case + : CORRECT_ARGUMENTS ? classofRaw(O) + // ES3 arguments fallback + : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; +}; + +},{"../internals/classof-raw":333,"../internals/well-known-symbol":473}],335:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); + +// https://github.com/tc39/collection-methods +module.exports = function (/* ...elements */) { + var set = anObject(this); + var adder = aFunction(set.add); + for (var k = 0, len = arguments.length; k < len; k++) { + adder.call(set, arguments[k]); + } + return set; +}; + +},{"../internals/a-function":310,"../internals/an-object":315}],336:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); + +// https://github.com/tc39/collection-methods +module.exports = function (/* ...elements */) { + var collection = anObject(this); + var remover = aFunction(collection['delete']); + var allDeleted = true; + var wasDeleted; + for (var k = 0, len = arguments.length; k < len; k++) { + wasDeleted = remover.call(collection, arguments[k]); + allDeleted = allDeleted && wasDeleted; + } + return !!allDeleted; +}; + +},{"../internals/a-function":310,"../internals/an-object":315}],337:[function(require,module,exports){ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var iterate = require('../internals/iterate'); + +module.exports = function from(source /* , mapFn, thisArg */) { + var length = arguments.length; + var mapFn = length > 1 ? arguments[1] : undefined; + var mapping, A, n, boundFunction; + aFunction(this); + mapping = mapFn !== undefined; + if (mapping) aFunction(mapFn); + if (source == undefined) return new this(); + A = []; + if (mapping) { + n = 0; + boundFunction = bind(mapFn, length > 2 ? arguments[2] : undefined, 2); + iterate(source, function (nextItem) { + A.push(boundFunction(nextItem, n++)); + }); + } else { + iterate(source, A.push, A); + } + return new this(A); +}; + +},{"../internals/a-function":310,"../internals/bind-context":330,"../internals/iterate":395}],338:[function(require,module,exports){ +'use strict'; +// https://tc39.github.io/proposal-setmap-offrom/ +module.exports = function of() { + var length = arguments.length; + var A = new Array(length); + while (length--) A[length] = arguments[length]; + return new this(A); +}; + +},{}],339:[function(require,module,exports){ +'use strict'; +var defineProperty = require('../internals/object-define-property').f; +var create = require('../internals/object-create'); +var redefineAll = require('../internals/redefine-all'); +var bind = require('../internals/bind-context'); +var anInstance = require('../internals/an-instance'); +var iterate = require('../internals/iterate'); +var defineIterator = require('../internals/define-iterator'); +var setSpecies = require('../internals/set-species'); +var DESCRIPTORS = require('../internals/descriptors'); +var fastKey = require('../internals/internal-metadata').fastKey; +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, CONSTRUCTOR_NAME); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + index: create(null), + first: undefined, + last: undefined, + size: 0 + }); + if (!DESCRIPTORS) that.size = 0; + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var entry = getEntry(that, key); + var previous, index; + // change existing entry + if (entry) { + entry.value = value; + // create new entry + } else { + state.last = entry = { + index: index = fastKey(key, true), + key: key, + value: value, + previous: previous = state.last, + next: undefined, + removed: false + }; + if (!state.first) state.first = entry; + if (previous) previous.next = entry; + if (DESCRIPTORS) state.size++; + else that.size++; + // add to index + if (index !== 'F') state.index[index] = entry; + } return that; + }; + + var getEntry = function (that, key) { + var state = getInternalState(that); + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return state.index[index]; + // frozen object case + for (entry = state.first; entry; entry = entry.next) { + if (entry.key == key) return entry; + } + }; + + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + var that = this; + var state = getInternalState(that); + var data = state.index; + var entry = state.first; + while (entry) { + entry.removed = true; + if (entry.previous) entry.previous = entry.previous.next = undefined; + delete data[entry.index]; + entry = entry.next; + } + state.first = state.last = undefined; + if (DESCRIPTORS) state.size = 0; + else that.size = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = this; + var state = getInternalState(that); + var entry = getEntry(that, key); + if (entry) { + var next = entry.next; + var prev = entry.previous; + delete state.index[entry.index]; + entry.removed = true; + if (prev) prev.next = next; + if (next) next.previous = prev; + if (state.first == entry) state.first = next; + if (state.last == entry) state.last = prev; + if (DESCRIPTORS) state.size--; + else that.size--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + var state = getInternalState(this); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.next : state.first) { + boundFunction(entry.value, entry.key, this); + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(this, key); + } + }); + + redefineAll(C.prototype, IS_MAP ? { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = getEntry(this, key); + return entry && entry.value; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return define(this, key === 0 ? 0 : key, value); + } + } : { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return define(this, value = value === 0 ? 0 : value, value); + } + }); + if (DESCRIPTORS) defineProperty(C.prototype, 'size', { + get: function () { + return getInternalState(this).size; + } + }); + return C; + }, + setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) { + var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator'; + var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME); + var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME); + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) { + setInternalState(this, { + type: ITERATOR_NAME, + target: iterated, + state: getInternalCollectionState(iterated), + kind: kind, + last: undefined + }); + }, function () { + var state = getInternalIteratorState(this); + var kind = state.kind; + var entry = state.last; + // revert to the last existing entry + while (entry && entry.removed) entry = entry.previous; + // get next entry + if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) { + // or finish the iteration + state.target = undefined; + return { value: undefined, done: true }; + } + // return step by kind + if (kind == 'keys') return { value: entry.key, done: false }; + if (kind == 'values') return { value: entry.value, done: false }; + return { value: [entry.key, entry.value], done: false }; + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(CONSTRUCTOR_NAME); + } +}; + +},{"../internals/an-instance":314,"../internals/bind-context":330,"../internals/define-iterator":355,"../internals/descriptors":357,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/iterate":395,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/redefine-all":434,"../internals/set-species":444}],340:[function(require,module,exports){ +'use strict'; +var redefineAll = require('../internals/redefine-all'); +var getWeakData = require('../internals/internal-metadata').getWeakData; +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var anInstance = require('../internals/an-instance'); +var iterate = require('../internals/iterate'); +var ArrayIterationModule = require('../internals/array-iteration'); +var $has = require('../internals/has'); +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var internalStateGetterFor = InternalStateModule.getterFor; +var find = ArrayIterationModule.find; +var findIndex = ArrayIterationModule.findIndex; +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (store) { + return store.frozen || (store.frozen = new UncaughtFrozenStore()); +}; + +var UncaughtFrozenStore = function () { + this.entries = []; +}; + +var findUncaughtFrozen = function (store, key) { + return find(store.entries, function (it) { + return it[0] === key; + }); +}; + +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.entries.push([key, value]); + }, + 'delete': function (key) { + var index = findIndex(this.entries, function (it) { + return it[0] === key; + }); + if (~index) this.entries.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, CONSTRUCTOR_NAME); + setInternalState(that, { + type: CONSTRUCTOR_NAME, + id: id++, + frozen: undefined + }); + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + }); + + var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME); + + var define = function (that, key, value) { + var state = getInternalState(that); + var data = getWeakData(anObject(key), true); + if (data === true) uncaughtFrozenStore(state).set(key, value); + else data[state.id] = value; + return that; + }; + + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state)['delete'](key); + return data && $has(data, state.id) && delete data[state.id]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + var state = getInternalState(this); + if (!isObject(key)) return false; + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).has(key); + return data && $has(data, state.id); + } + }); + + redefineAll(C.prototype, IS_MAP ? { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + var state = getInternalState(this); + if (isObject(key)) { + var data = getWeakData(key); + if (data === true) return uncaughtFrozenStore(state).get(key); + return data ? data[state.id] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return define(this, key, value); + } + } : { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return define(this, value, true); + } + }); + + return C; + } +}; + +},{"../internals/an-instance":314,"../internals/an-object":315,"../internals/array-iteration":323,"../internals/has":378,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/is-object":392,"../internals/iterate":395,"../internals/redefine-all":434}],341:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var redefine = require('../internals/redefine'); +var InternalMetadataModule = require('../internals/internal-metadata'); +var iterate = require('../internals/iterate'); +var anInstance = require('../internals/an-instance'); +var isObject = require('../internals/is-object'); +var fails = require('../internals/fails'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var setToStringTag = require('../internals/set-to-string-tag'); +var inheritIfRequired = require('../internals/inherit-if-required'); + +module.exports = function (CONSTRUCTOR_NAME, wrapper, common, IS_MAP, IS_WEAK) { + var NativeConstructor = global[CONSTRUCTOR_NAME]; + var NativePrototype = NativeConstructor && NativeConstructor.prototype; + var Constructor = NativeConstructor; + var ADDER = IS_MAP ? 'set' : 'add'; + var exported = {}; + + var fixMethod = function (KEY) { + var nativeMethod = NativePrototype[KEY]; + redefine(NativePrototype, KEY, + KEY == 'add' ? function add(value) { + nativeMethod.call(this, value === 0 ? 0 : value); + return this; + } : KEY == 'delete' ? function (key) { + return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + } : KEY == 'get' ? function get(key) { + return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key); + } : KEY == 'has' ? function has(key) { + return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key); + } : function set(key, value) { + nativeMethod.call(this, key === 0 ? 0 : key, value); + return this; + } + ); + }; + + // eslint-disable-next-line max-len + if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () { + new NativeConstructor().entries().next(); + })))) { + // create collection constructor + Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER); + InternalMetadataModule.REQUIRED = true; + } else if (isForced(CONSTRUCTOR_NAME, true)) { + var instance = new Constructor(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + // eslint-disable-next-line no-new + var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); }); + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new NativeConstructor(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + + if (!ACCEPT_ITERABLES) { + Constructor = wrapper(function (dummy, iterable) { + anInstance(dummy, Constructor, CONSTRUCTOR_NAME); + var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor); + if (iterable != undefined) iterate(iterable, that[ADDER], that, IS_MAP); + return that; + }); + Constructor.prototype = NativePrototype; + NativePrototype.constructor = Constructor; + } + + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + + // weak collections should not contains .clear method + if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear; + } + + exported[CONSTRUCTOR_NAME] = Constructor; + $({ global: true, forced: Constructor != NativeConstructor }, exported); + + setToStringTag(Constructor, CONSTRUCTOR_NAME); + + if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP); + + return Constructor; +}; + +},{"../internals/an-instance":314,"../internals/check-correctness-of-iteration":332,"../internals/export":361,"../internals/fails":362,"../internals/global":377,"../internals/inherit-if-required":384,"../internals/internal-metadata":385,"../internals/is-forced":389,"../internals/is-object":392,"../internals/iterate":395,"../internals/redefine":435,"../internals/set-to-string-tag":445}],342:[function(require,module,exports){ +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +var Map = require('../modules/es.map'); +var WeakMap = require('../modules/es.weak-map'); +var create = require('../internals/object-create'); +var isObject = require('../internals/is-object'); + +var Node = function () { + // keys + this.object = null; + this.symbol = null; + // child nodes + this.primitives = null; + this.objectsByIndex = create(null); +}; + +Node.prototype.get = function (key, initializer) { + return this[key] || (this[key] = initializer()); +}; + +Node.prototype.next = function (i, it, IS_OBJECT) { + var store = IS_OBJECT + ? this.objectsByIndex[i] || (this.objectsByIndex[i] = new WeakMap()) + : this.primitives || (this.primitives = new Map()); + var entry = store.get(it); + if (!entry) store.set(it, entry = new Node()); + return entry; +}; + +var root = new Node(); + +module.exports = function () { + var active = root; + var length = arguments.length; + var i, it; + // for prevent leaking, start from objects + for (i = 0; i < length; i++) { + if (isObject(it = arguments[i])) active = active.next(i, it, true); + } + if (this === Object && active === root) throw TypeError('Composite keys must contain a non-primitive component'); + for (i = 0; i < length; i++) { + if (!isObject(it = arguments[i])) active = active.next(i, it, false); + } return active; +}; + +},{"../internals/is-object":392,"../internals/object-create":413,"../modules/es.map":519,"../modules/es.weak-map":678}],343:[function(require,module,exports){ +var has = require('../internals/has'); +var ownKeys = require('../internals/own-keys'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); + +module.exports = function (target, source) { + var keys = ownKeys(source); + var defineProperty = definePropertyModule.f; + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); + } +}; + +},{"../internals/has":378,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/own-keys":427}],344:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); + +module.exports = function (METHOD_NAME) { + var regexp = /./; + try { + '/./'[METHOD_NAME](regexp); + } catch (e) { + try { + regexp[MATCH] = false; + return '/./'[METHOD_NAME](regexp); + } catch (f) { /* empty */ } + } return false; +}; + +},{"../internals/well-known-symbol":473}],345:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + function F() { /* empty */ } + F.prototype.constructor = null; + return Object.getPrototypeOf(new F()) !== F.prototype; +}); + +},{"../internals/fails":362}],346:[function(require,module,exports){ +'use strict'; +var path = require('../internals/path'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var create = require('../internals/object-create'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefineAll = require('../internals/redefine-all'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var InternalStateModule = require('../internals/internal-state'); +var getBuiltIn = require('../internals/get-built-in'); + +var Promise = getBuiltIn('Promise'); + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.get; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $return = function (value) { + var iterator = getInternalState(this).iterator; + var $$return = iterator['return']; + return $$return === undefined + ? Promise.resolve({ done: true, value: value }) + : anObject($$return.call(iterator, value)); +}; + +var $throw = function (value) { + var iterator = getInternalState(this).iterator; + var $$throw = iterator['throw']; + return $$throw === undefined + ? Promise.reject(value) + : $$throw.call(iterator, value); +}; + +module.exports = function (nextHandler, IS_ITERATOR) { + var AsyncIteratorProxy = function AsyncIterator(state) { + state.next = aFunction(state.iterator.next); + state.done = false; + setInternalState(this, state); + }; + + AsyncIteratorProxy.prototype = redefineAll(create(path.AsyncIterator.prototype), { + next: function next(arg) { + var state = getInternalState(this); + if (state.done) return Promise.resolve({ done: true, value: undefined }); + try { + return Promise.resolve(anObject(nextHandler.call(state, arg, Promise))); + } catch (error) { + return Promise.reject(error); + } + }, + 'return': $return, + 'throw': $throw + }); + + if (!IS_ITERATOR) { + createNonEnumerableProperty(AsyncIteratorProxy.prototype, TO_STRING_TAG, 'Generator'); + } + + return AsyncIteratorProxy; +}; + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/get-built-in":372,"../internals/internal-state":386,"../internals/object-create":413,"../internals/path":430,"../internals/redefine-all":434,"../internals/well-known-symbol":473}],347:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var quot = /"/g; + +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +// https://tc39.github.io/ecma262/#sec-createhtml +module.exports = function (string, tag, attribute, value) { + var S = String(requireObjectCoercible(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; + +},{"../internals/require-object-coercible":440}],348:[function(require,module,exports){ +'use strict'; +var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var setToStringTag = require('../internals/set-to-string-tag'); +var Iterators = require('../internals/iterators'); + +var returnThis = function () { return this; }; + +module.exports = function (IteratorConstructor, NAME, next) { + var TO_STRING_TAG = NAME + ' Iterator'; + IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); + setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); + Iterators[TO_STRING_TAG] = returnThis; + return IteratorConstructor; +}; + +},{"../internals/create-property-descriptor":351,"../internals/iterators":397,"../internals/iterators-core":396,"../internals/object-create":413,"../internals/set-to-string-tag":445}],349:[function(require,module,exports){ +'use strict'; +var path = require('../internals/path'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var create = require('../internals/object-create'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefineAll = require('../internals/redefine-all'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.get; + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var $return = function (value) { + var iterator = getInternalState(this).iterator; + var $$return = iterator['return']; + return $$return === undefined ? { done: true, value: value } : anObject($$return.call(iterator, value)); +}; + +var $throw = function (value) { + var iterator = getInternalState(this).iterator; + var $$throw = iterator['throw']; + if ($$throw === undefined) throw value; + return $$throw.call(iterator, value); +}; + +module.exports = function (nextHandler, IS_ITERATOR) { + var IteratorProxy = function Iterator(state) { + state.next = aFunction(state.iterator.next); + state.done = false; + setInternalState(this, state); + }; + + IteratorProxy.prototype = redefineAll(create(path.Iterator.prototype), { + next: function next() { + var state = getInternalState(this); + var result = state.done ? undefined : nextHandler.apply(state, arguments); + return { done: state.done, value: result }; + }, + 'return': $return, + 'throw': $throw + }); + + if (!IS_ITERATOR) { + createNonEnumerableProperty(IteratorProxy.prototype, TO_STRING_TAG, 'Generator'); + } + + return IteratorProxy; +}; + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/internal-state":386,"../internals/object-create":413,"../internals/path":430,"../internals/redefine-all":434,"../internals/well-known-symbol":473}],350:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = DESCRIPTORS ? function (object, key, value) { + return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/object-define-property":415}],351:[function(require,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],352:[function(require,module,exports){ +'use strict'; +var toPrimitive = require('../internals/to-primitive'); +var definePropertyModule = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +module.exports = function (object, key, value) { + var propertyKey = toPrimitive(key); + if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); + else object[propertyKey] = value; +}; + +},{"../internals/create-property-descriptor":351,"../internals/object-define-property":415,"../internals/to-primitive":465}],353:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); +var padStart = require('../internals/string-pad').start; + +var abs = Math.abs; +var DatePrototype = Date.prototype; +var getTime = DatePrototype.getTime; +var nativeDateToISOString = DatePrototype.toISOString; + +// `Date.prototype.toISOString` method implementation +// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit fails here: +module.exports = (fails(function () { + return nativeDateToISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + nativeDateToISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var date = this; + var year = date.getUTCFullYear(); + var milliseconds = date.getUTCMilliseconds(); + var sign = year < 0 ? '-' : year > 9999 ? '+' : ''; + return sign + padStart(abs(year), sign ? 6 : 4, 0) + + '-' + padStart(date.getUTCMonth() + 1, 2, 0) + + '-' + padStart(date.getUTCDate(), 2, 0) + + 'T' + padStart(date.getUTCHours(), 2, 0) + + ':' + padStart(date.getUTCMinutes(), 2, 0) + + ':' + padStart(date.getUTCSeconds(), 2, 0) + + '.' + padStart(milliseconds, 3, 0) + + 'Z'; +} : nativeDateToISOString; + +},{"../internals/fails":362,"../internals/string-pad":452}],354:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); + +module.exports = function (hint) { + if (hint !== 'string' && hint !== 'number' && hint !== 'default') { + throw TypeError('Incorrect hint'); + } return toPrimitive(anObject(this), hint !== 'number'); +}; + +},{"../internals/an-object":315,"../internals/to-primitive":465}],355:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); +var Iterators = require('../internals/iterators'); +var IteratorsCore = require('../internals/iterators-core'); + +var IteratorPrototype = IteratorsCore.IteratorPrototype; +var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; +var ITERATOR = wellKnownSymbol('iterator'); +var KEYS = 'keys'; +var VALUES = 'values'; +var ENTRIES = 'entries'; + +var returnThis = function () { return this; }; + +module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { + createIteratorConstructor(IteratorConstructor, NAME, next); + + var getIterationMethod = function (KIND) { + if (KIND === DEFAULT && defaultIterator) return defaultIterator; + if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; + switch (KIND) { + case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; + case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; + case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; + } return function () { return new IteratorConstructor(this); }; + }; + + var TO_STRING_TAG = NAME + ' Iterator'; + var INCORRECT_VALUES_NAME = false; + var IterablePrototype = Iterable.prototype; + var nativeIterator = IterablePrototype[ITERATOR] + || IterablePrototype['@@iterator'] + || DEFAULT && IterablePrototype[DEFAULT]; + var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); + var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; + var CurrentIteratorPrototype, methods, KEY; + + // fix native + if (anyNativeIterator) { + CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); + if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { + if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { + if (setPrototypeOf) { + setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); + } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { + createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); + } + } + // Set @@toStringTag to native iterators + setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); + if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; + } + } + + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { + INCORRECT_VALUES_NAME = true; + defaultIterator = function values() { return nativeIterator.call(this); }; + } + + // define iterator + if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { + createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); + } + Iterators[NAME] = defaultIterator; + + // export additional methods + if (DEFAULT) { + methods = { + values: getIterationMethod(VALUES), + keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), + entries: getIterationMethod(ENTRIES) + }; + if (FORCED) for (KEY in methods) { + if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { + redefine(IterablePrototype, KEY, methods[KEY]); + } + } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); + } + + return methods; +}; + +},{"../internals/create-iterator-constructor":348,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/is-pure":393,"../internals/iterators":397,"../internals/iterators-core":396,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/well-known-symbol":473}],356:[function(require,module,exports){ +var path = require('../internals/path'); +var has = require('../internals/has'); +var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol'); +var defineProperty = require('../internals/object-define-property').f; + +module.exports = function (NAME) { + var Symbol = path.Symbol || (path.Symbol = {}); + if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, { + value: wrappedWellKnownSymbolModule.f(NAME) + }); +}; + +},{"../internals/has":378,"../internals/object-define-property":415,"../internals/path":430,"../internals/wrapped-well-known-symbol":475}],357:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// Thank's IE8 for his funny defineProperty +module.exports = !fails(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"../internals/fails":362}],358:[function(require,module,exports){ +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); + +var document = global.document; +// typeof document.createElement is 'object' in old IE +var EXISTS = isObject(document) && isObject(document.createElement); + +module.exports = function (it) { + return EXISTS ? document.createElement(it) : {}; +}; + +},{"../internals/global":377,"../internals/is-object":392}],359:[function(require,module,exports){ +// iterable DOM collections +// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods +module.exports = { + CSSRuleList: 0, + CSSStyleDeclaration: 0, + CSSValueList: 0, + ClientRectList: 0, + DOMRectList: 0, + DOMStringList: 0, + DOMTokenList: 1, + DataTransferItemList: 0, + FileList: 0, + HTMLAllCollection: 0, + HTMLCollection: 0, + HTMLFormElement: 0, + HTMLSelectElement: 0, + MediaList: 0, + MimeTypeArray: 0, + NamedNodeMap: 0, + NodeList: 1, + PaintRequestList: 0, + Plugin: 0, + PluginArray: 0, + SVGLengthList: 0, + SVGNumberList: 0, + SVGPathSegList: 0, + SVGPointList: 0, + SVGStringList: 0, + SVGTransformList: 0, + SourceBufferList: 0, + StyleSheetList: 0, + TextTrackCueList: 0, + TextTrackList: 0, + TouchList: 0 +}; + +},{}],360:[function(require,module,exports){ +// IE8- don't enum bug keys +module.exports = [ + 'constructor', + 'hasOwnProperty', + 'isPrototypeOf', + 'propertyIsEnumerable', + 'toLocaleString', + 'toString', + 'valueOf' +]; + +},{}],361:[function(require,module,exports){ +var global = require('../internals/global'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var setGlobal = require('../internals/set-global'); +var copyConstructorProperties = require('../internals/copy-constructor-properties'); +var isForced = require('../internals/is-forced'); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.noTargetGet - prevent calling a getter on target +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || setGlobal(TARGET, {}); + } else { + target = (global[TARGET] || {}).prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.noTargetGet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty === typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + // extend global + redefine(target, key, sourceProperty, options); + } +}; + +},{"../internals/copy-constructor-properties":343,"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/is-forced":389,"../internals/object-get-own-property-descriptor":416,"../internals/redefine":435,"../internals/set-global":443}],362:[function(require,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (error) { + return true; + } +}; + +},{}],363:[function(require,module,exports){ +'use strict'; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var regexpExec = require('../internals/regexp-exec'); + +var SPECIES = wellKnownSymbol('species'); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + // #replace needs built-in support for named groups. + // #match works fine because it just return the exec results, even if it has + // a "grops" property. + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + return ''.replace(re, '$') !== '7'; +}); + +// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec +// Weex JS has frozen built-in prototypes, so use try / catch wrapper +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; +}); + +module.exports = function (KEY, length, exec, sham) { + var SYMBOL = wellKnownSymbol(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + + if (KEY === 'split') { + // We can't use real regex here since it causes deoptimization + // and serious performance degradation in V8 + // https://github.com/zloirock/core-js/issues/306 + re = {}; + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + re.flags = ''; + re[SYMBOL] = /./[SYMBOL]; + } + + re.exec = function () { execCalled = true; return null; }; + + re[SYMBOL](''); + return !execCalled; + }); + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || + (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { + if (regexp.exec === regexpExec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; + } + return { done: true, value: nativeMethod.call(str, regexp, arg2) }; + } + return { done: false }; + }); + var stringMethod = methods[0]; + var regexMethod = methods[1]; + + redefine(String.prototype, KEY, stringMethod); + redefine(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return regexMethod.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return regexMethod.call(string, this); } + ); + if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); + } +}; + +},{"../internals/create-non-enumerable-property":350,"../internals/fails":362,"../internals/redefine":435,"../internals/regexp-exec":438,"../internals/well-known-symbol":473}],364:[function(require,module,exports){ +'use strict'; +var isArray = require('../internals/is-array'); +var toLength = require('../internals/to-length'); +var bind = require('../internals/bind-context'); + +// `FlattenIntoArray` abstract operation +// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray +var flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) { + var targetIndex = start; + var sourceIndex = 0; + var mapFn = mapper ? bind(mapper, thisArg, 3) : false; + var element; + + while (sourceIndex < sourceLen) { + if (sourceIndex in source) { + element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex]; + + if (depth > 0 && isArray(element)) { + targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1; + } else { + if (targetIndex >= 0x1FFFFFFFFFFFFF) throw TypeError('Exceed the acceptable array length'); + target[targetIndex] = element; + } + + targetIndex++; + } + sourceIndex++; + } + return targetIndex; +}; + +module.exports = flattenIntoArray; + +},{"../internals/bind-context":330,"../internals/is-array":388,"../internals/to-length":461}],365:[function(require,module,exports){ +'use strict'; +var IS_PURE = require('../internals/is-pure'); +var global = require('../internals/global'); +var fails = require('../internals/fails'); + +// Forced replacement object prototype accessors methods +module.exports = IS_PURE || !fails(function () { + var key = Math.random(); + // In FF throws only define methods + // eslint-disable-next-line no-undef, no-useless-call + __defineSetter__.call(null, key, function () { /* empty */ }); + delete global[key]; +}); + +},{"../internals/fails":362,"../internals/global":377,"../internals/is-pure":393}],366:[function(require,module,exports){ +var fails = require('../internals/fails'); + +// check the existence of a method, lowercase +// of a tag and escaping quotes in arguments +module.exports = function (METHOD_NAME) { + return fails(function () { + var test = ''[METHOD_NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }); +}; + +},{"../internals/fails":362}],367:[function(require,module,exports){ +var fails = require('../internals/fails'); +var whitespaces = require('../internals/whitespaces'); + +var non = '\u200B\u0085\u180E'; + +// check that a method works with the correct list +// of whitespaces and has a correct name +module.exports = function (METHOD_NAME) { + return fails(function () { + return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; + }); +}; + +},{"../internals/fails":362,"../internals/whitespaces":474}],368:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !fails(function () { + return Object.isExtensible(Object.preventExtensions({})); +}); + +},{"../internals/fails":362}],369:[function(require,module,exports){ +'use strict'; +var aFunction = require('../internals/a-function'); +var isObject = require('../internals/is-object'); + +var slice = [].slice; +var factories = {}; + +var construct = function (C, argsLength, args) { + if (!(argsLength in factories)) { + for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')'); + } return factories[argsLength](C, args); +}; + +// `Function.prototype.bind` method implementation +// https://tc39.github.io/ecma262/#sec-function.prototype.bind +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = slice.call(arguments, 1); + var boundFunction = function bound(/* args... */) { + var args = partArgs.concat(slice.call(arguments)); + return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args); + }; + if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype; + return boundFunction; +}; + +},{"../internals/a-function":310,"../internals/is-object":392}],370:[function(require,module,exports){ +var shared = require('../internals/shared'); + +module.exports = shared('native-function-to-string', Function.toString); + +},{"../internals/shared":448}],371:[function(require,module,exports){ +var getIteratorMethod = require('../internals/get-iterator-method'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ASYNC_ITERATOR = wellKnownSymbol('asyncIterator'); + +module.exports = function (it) { + var method = it[ASYNC_ITERATOR]; + return method === undefined ? getIteratorMethod(it) : method; +}; + +},{"../internals/get-iterator-method":373,"../internals/well-known-symbol":473}],372:[function(require,module,exports){ +var path = require('../internals/path'); +var global = require('../internals/global'); + +var aFunction = function (variable) { + return typeof variable == 'function' ? variable : undefined; +}; + +module.exports = function (namespace, method) { + return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) + : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; +}; + +},{"../internals/global":377,"../internals/path":430}],373:[function(require,module,exports){ +var classof = require('../internals/classof'); +var Iterators = require('../internals/iterators'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + +},{"../internals/classof":334,"../internals/iterators":397,"../internals/well-known-symbol":473}],374:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +module.exports = function (it) { + var iteratorMethod = getIteratorMethod(it); + if (typeof iteratorMethod != 'function') { + throw TypeError(String(it) + ' is not iterable'); + } return anObject(iteratorMethod.call(it)); +}; + +},{"../internals/an-object":315,"../internals/get-iterator-method":373}],375:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var getIterator = require('../internals/get-iterator'); + +module.exports = IS_PURE ? getIterator : function (it) { + // eslint-disable-next-line no-undef + return Map.prototype.entries.call(it); +}; + +},{"../internals/get-iterator":374,"../internals/is-pure":393}],376:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var getIterator = require('../internals/get-iterator'); + +module.exports = IS_PURE ? getIterator : function (it) { + // eslint-disable-next-line no-undef + return Set.prototype.values.call(it); +}; + +},{"../internals/get-iterator":374,"../internals/is-pure":393}],377:[function(require,module,exports){ +(function (global){ +var check = function (it) { + return it && it.Math == Math && it; +}; + +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +module.exports = + // eslint-disable-next-line no-undef + check(typeof globalThis == 'object' && globalThis) || + check(typeof window == 'object' && window) || + check(typeof self == 'object' && self) || + check(typeof global == 'object' && global) || + // eslint-disable-next-line no-new-func + Function('return this')(); + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{}],378:[function(require,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; + +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + +},{}],379:[function(require,module,exports){ +module.exports = {}; + +},{}],380:[function(require,module,exports){ +var global = require('../internals/global'); + +module.exports = function (a, b) { + var console = global.console; + if (console && console.error) { + arguments.length === 1 ? console.error(a) : console.error(a, b); + } +}; + +},{"../internals/global":377}],381:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('document', 'documentElement'); + +},{"../internals/get-built-in":372}],382:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var createElement = require('../internals/document-create-element'); + +// Thank's IE8 for his funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a != 7; +}); + +},{"../internals/descriptors":357,"../internals/document-create-element":358,"../internals/fails":362}],383:[function(require,module,exports){ +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); + +var split = ''.split; + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins + return !Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) == 'String' ? split.call(it, '') : Object(it); +} : Object; + +},{"../internals/classof-raw":333,"../internals/fails":362}],384:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); + +// makes subclassing work correct for wrapped built-ins +module.exports = function ($this, dummy, Wrapper) { + var NewTarget, NewTargetPrototype; + if ( + // it can work only with native `setPrototypeOf` + setPrototypeOf && + // we haven't completely correct pre-ES6 way for getting `new.target`, so use this + typeof (NewTarget = dummy.constructor) == 'function' && + NewTarget !== Wrapper && + isObject(NewTargetPrototype = NewTarget.prototype) && + NewTargetPrototype !== Wrapper.prototype + ) setPrototypeOf($this, NewTargetPrototype); + return $this; +}; + +},{"../internals/is-object":392,"../internals/object-set-prototype-of":424}],385:[function(require,module,exports){ +var hiddenKeys = require('../internals/hidden-keys'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var defineProperty = require('../internals/object-define-property').f; +var uid = require('../internals/uid'); +var FREEZING = require('../internals/freezing'); + +var METADATA = uid('meta'); +var id = 0; + +var isExtensible = Object.isExtensible || function () { + return true; +}; + +var setMetadata = function (it) { + defineProperty(it, METADATA, { value: { + objectID: 'O' + ++id, // object ID + weakData: {} // weak collections IDs + } }); +}; + +var fastKey = function (it, create) { + // return a primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMetadata(it); + // return object ID + } return it[METADATA].objectID; +}; + +var getWeakData = function (it, create) { + if (!has(it, METADATA)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMetadata(it); + // return the store of weak collections IDs + } return it[METADATA].weakData; +}; + +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA)) setMetadata(it); + return it; +}; + +var meta = module.exports = { + REQUIRED: false, + fastKey: fastKey, + getWeakData: getWeakData, + onFreeze: onFreeze +}; + +hiddenKeys[METADATA] = true; + +},{"../internals/freezing":368,"../internals/has":378,"../internals/hidden-keys":379,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/uid":469}],386:[function(require,module,exports){ +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); +var global = require('../internals/global'); +var isObject = require('../internals/is-object'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var objectHas = require('../internals/has'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); + +var WeakMap = global.WeakMap; +var set, get, has; + +var enforce = function (it) { + return has(it) ? get(it) : set(it, {}); +}; + +var getterFor = function (TYPE) { + return function (it) { + var state; + if (!isObject(it) || (state = get(it)).type !== TYPE) { + throw TypeError('Incompatible receiver, ' + TYPE + ' required'); + } return state; + }; +}; + +if (NATIVE_WEAK_MAP) { + var store = new WeakMap(); + var wmget = store.get; + var wmhas = store.has; + var wmset = store.set; + set = function (it, metadata) { + wmset.call(store, it, metadata); + return metadata; + }; + get = function (it) { + return wmget.call(store, it) || {}; + }; + has = function (it) { + return wmhas.call(store, it); + }; +} else { + var STATE = sharedKey('state'); + hiddenKeys[STATE] = true; + set = function (it, metadata) { + createNonEnumerableProperty(it, STATE, metadata); + return metadata; + }; + get = function (it) { + return objectHas(it, STATE) ? it[STATE] : {}; + }; + has = function (it) { + return objectHas(it, STATE); + }; +} + +module.exports = { + set: set, + get: get, + has: has, + enforce: enforce, + getterFor: getterFor +}; + +},{"../internals/create-non-enumerable-property":350,"../internals/global":377,"../internals/has":378,"../internals/hidden-keys":379,"../internals/is-object":392,"../internals/native-weak-map":408,"../internals/shared-key":446}],387:[function(require,module,exports){ +var wellKnownSymbol = require('../internals/well-known-symbol'); +var Iterators = require('../internals/iterators'); + +var ITERATOR = wellKnownSymbol('iterator'); +var ArrayPrototype = Array.prototype; + +// check on default Array iterator +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); +}; + +},{"../internals/iterators":397,"../internals/well-known-symbol":473}],388:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `IsArray` abstract operation +// https://tc39.github.io/ecma262/#sec-isarray +module.exports = Array.isArray || function isArray(arg) { + return classof(arg) == 'Array'; +}; + +},{"../internals/classof-raw":333}],389:[function(require,module,exports){ +var fails = require('../internals/fails'); + +var replacement = /#|\.prototype\./; + +var isForced = function (feature, detection) { + var value = data[normalize(feature)]; + return value == POLYFILL ? true + : value == NATIVE ? false + : typeof detection == 'function' ? fails(detection) + : !!detection; +}; + +var normalize = isForced.normalize = function (string) { + return String(string).replace(replacement, '.').toLowerCase(); +}; + +var data = isForced.data = {}; +var NATIVE = isForced.NATIVE = 'N'; +var POLYFILL = isForced.POLYFILL = 'P'; + +module.exports = isForced; + +},{"../internals/fails":362}],390:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +var floor = Math.floor; + +// `Number.isInteger` method implementation +// https://tc39.github.io/ecma262/#sec-number.isinteger +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + +},{"../internals/is-object":392}],391:[function(require,module,exports){ +var userAgent = require('../internals/user-agent'); + +module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent); + +},{"../internals/user-agent":470}],392:[function(require,module,exports){ +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +},{}],393:[function(require,module,exports){ +module.exports = false; + +},{}],394:[function(require,module,exports){ +var isObject = require('../internals/is-object'); +var classof = require('../internals/classof-raw'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); + +// `IsRegExp` abstract operation +// https://tc39.github.io/ecma262/#sec-isregexp +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); +}; + +},{"../internals/classof-raw":333,"../internals/is-object":392,"../internals/well-known-symbol":473}],395:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var toLength = require('../internals/to-length'); +var bind = require('../internals/bind-context'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); + +var Result = function (stopped, result) { + this.stopped = stopped; + this.result = result; +}; + +var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) { + var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1); + var iterator, iterFn, index, length, result, next, step; + + if (IS_ITERATOR) { + iterator = iterable; + } else { + iterFn = getIteratorMethod(iterable); + if (typeof iterFn != 'function') throw TypeError('Target is not iterable'); + // optimisation for array iterators + if (isArrayIteratorMethod(iterFn)) { + for (index = 0, length = toLength(iterable.length); length > index; index++) { + result = AS_ENTRIES + ? boundFunction(anObject(step = iterable[index])[0], step[1]) + : boundFunction(iterable[index]); + if (result && result instanceof Result) return result; + } return new Result(false); + } + iterator = iterFn.call(iterable); + } + + next = iterator.next; + while (!(step = next.call(iterator)).done) { + result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES); + if (typeof result == 'object' && result && result instanceof Result) return result; + } return new Result(false); +}; + +iterate.stop = function (result) { + return new Result(true, result); +}; + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/call-with-safe-iteration-closing":331,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461}],396:[function(require,module,exports){ +'use strict'; +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); +var BUGGY_SAFARI_ITERATORS = false; + +var returnThis = function () { return this; }; + +// `%IteratorPrototype%` object +// https://tc39.github.io/ecma262/#sec-%iteratorprototype%-object +var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; + +if ([].keys) { + arrayIterator = [].keys(); + // Safari 8 has buggy iterators w/o `next` + if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; + else { + PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); + if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; + } +} + +if (IteratorPrototype == undefined) IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) { + createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); +} + +module.exports = { + IteratorPrototype: IteratorPrototype, + BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS +}; + +},{"../internals/create-non-enumerable-property":350,"../internals/has":378,"../internals/is-pure":393,"../internals/object-get-prototype-of":420,"../internals/well-known-symbol":473}],397:[function(require,module,exports){ +arguments[4][379][0].apply(exports,arguments) +},{"dup":379}],398:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); + +// `Map.prototype.upsert` method +// https://github.com/thumbsupep/proposal-upsert +module.exports = function upsert(key, updateFn /* , insertFn */) { + var map = anObject(this); + var insertFn = arguments.length > 2 ? arguments[2] : undefined; + var value; + if (typeof updateFn != 'function' && typeof insertFn != 'function') { + throw TypeError('At least one callback required'); + } + if (map.has(key)) { + value = map.get(key); + if (typeof updateFn == 'function') { + value = updateFn(value); + map.set(key, value); + } + } else if (typeof insertFn == 'function') { + value = insertFn(); + map.set(key, value); + } return value; +}; + +},{"../internals/an-object":315}],399:[function(require,module,exports){ +var nativeExpm1 = Math.expm1; +var exp = Math.exp; + +// `Math.expm1` method implementation +// https://tc39.github.io/ecma262/#sec-math.expm1 +module.exports = (!nativeExpm1 + // Old FF bug + || nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168 + // Tor Browser bug + || nativeExpm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1; +} : nativeExpm1; + +},{}],400:[function(require,module,exports){ +var sign = require('../internals/math-sign'); + +var abs = Math.abs; +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +// `Math.fround` method implementation +// https://tc39.github.io/ecma262/#sec-math.fround +module.exports = Math.fround || function fround(x) { + var $abs = abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + +},{"../internals/math-sign":403}],401:[function(require,module,exports){ +var log = Math.log; + +// `Math.log1p` method implementation +// https://tc39.github.io/ecma262/#sec-math.log1p +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : log(1 + x); +}; + +},{}],402:[function(require,module,exports){ +// `Math.scale` method implementation +// https://rwaldron.github.io/proposal-math-extensions/ +module.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) { + if ( + arguments.length === 0 + /* eslint-disable no-self-compare */ + || x != x + || inLow != inLow + || inHigh != inHigh + || outLow != outLow + || outHigh != outHigh + /* eslint-enable no-self-compare */ + ) return NaN; + if (x === Infinity || x === -Infinity) return x; + return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow; +}; + +},{}],403:[function(require,module,exports){ +// `Math.sign` method implementation +// https://tc39.github.io/ecma262/#sec-math.sign +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + +},{}],404:[function(require,module,exports){ +var global = require('../internals/global'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var classof = require('../internals/classof-raw'); +var macrotask = require('../internals/task').set; +var IS_IOS = require('../internals/is-ios'); + +var MutationObserver = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var IS_NODE = classof(process) == 'process'; +// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask` +var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask'); +var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value; + +var flush, head, last, notify, toggle, node, promise, then; + +// modern engines have queueMicrotask method +if (!queueMicrotask) { + flush = function () { + var parent, fn; + if (IS_NODE && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (error) { + if (head) notify(); + else last = undefined; + throw error; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (IS_NODE) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339 + } else if (MutationObserver && !IS_IOS) { + toggle = true; + node = document.createTextNode(''); + new MutationObserver(flush).observe(node, { characterData: true }); + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + promise = Promise.resolve(undefined); + then = promise.then; + notify = function () { + then.call(promise, flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } +} + +module.exports = queueMicrotask || function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; +}; + +},{"../internals/classof-raw":333,"../internals/global":377,"../internals/is-ios":391,"../internals/object-get-own-property-descriptor":416,"../internals/task":455}],405:[function(require,module,exports){ +var global = require('../internals/global'); + +module.exports = global.Promise; + +},{"../internals/global":377}],406:[function(require,module,exports){ +var fails = require('../internals/fails'); + +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + // Chrome 38 Symbol has incorrect toString conversion + // eslint-disable-next-line no-undef + return !String(Symbol()); +}); + +},{"../internals/fails":362}],407:[function(require,module,exports){ +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); + +module.exports = !fails(function () { + var url = new URL('b?a=1&b=2&c=3', 'http://a'); + var searchParams = url.searchParams; + var result = ''; + url.pathname = 'c%20d'; + searchParams.forEach(function (value, key) { + searchParams['delete']('b'); + result += key + value; + }); + return (IS_PURE && !url.toJSON) + || !searchParams.sort + || url.href !== 'http://a/c%20d?a=1&c=3' + || searchParams.get('c') !== '3' + || String(new URLSearchParams('?a=1')) !== 'a=1' + || !searchParams[ITERATOR] + // throws in Edge + || new URL('https://a@b').username !== 'a' + || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' + // not punycoded in Edge + || new URL('http://тест').host !== 'xn--e1aybc' + // not escaped in Chrome 62- + || new URL('http://a#б').hash !== '#%D0%B1' + // fails in Chrome 66- + || result !== 'a1c3' + // throws in Safari + || new URL('http://x', undefined).host !== 'x'; +}); + +},{"../internals/fails":362,"../internals/is-pure":393,"../internals/well-known-symbol":473}],408:[function(require,module,exports){ +var global = require('../internals/global'); +var nativeFunctionToString = require('../internals/function-to-string'); + +var WeakMap = global.WeakMap; + +module.exports = typeof WeakMap === 'function' && /native code/.test(nativeFunctionToString.call(WeakMap)); + +},{"../internals/function-to-string":370,"../internals/global":377}],409:[function(require,module,exports){ +'use strict'; +var aFunction = require('../internals/a-function'); + +var PromiseCapability = function (C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +}; + +// 25.4.1.5 NewPromiseCapability(C) +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +},{"../internals/a-function":310}],410:[function(require,module,exports){ +var isRegExp = require('../internals/is-regexp'); + +module.exports = function (it) { + if (isRegExp(it)) { + throw TypeError("The method doesn't accept regular expressions"); + } return it; +}; + +},{"../internals/is-regexp":394}],411:[function(require,module,exports){ +var global = require('../internals/global'); + +var globalIsFinite = global.isFinite; + +// `Number.isFinite` method +// https://tc39.github.io/ecma262/#sec-number.isfinite +module.exports = Number.isFinite || function isFinite(it) { + return typeof it == 'number' && globalIsFinite(it); +}; + +},{"../internals/global":377}],412:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var fails = require('../internals/fails'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var toObject = require('../internals/to-object'); +var IndexedObject = require('../internals/indexed-object'); + +var nativeAssign = Object.assign; + +// `Object.assign` method +// https://tc39.github.io/ecma262/#sec-object.assign +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !nativeAssign || fails(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var symbol = Symbol(); + var alphabet = 'abcdefghijklmnopqrst'; + A[symbol] = 7; + alphabet.split('').forEach(function (chr) { B[chr] = chr; }); + return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var argumentsLength = arguments.length; + var index = 1; + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + var propertyIsEnumerable = propertyIsEnumerableModule.f; + while (argumentsLength > index) { + var S = IndexedObject(arguments[index++]); + var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) { + key = keys[j++]; + if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; + } + } return T; +} : nativeAssign; + +},{"../internals/descriptors":357,"../internals/fails":362,"../internals/indexed-object":383,"../internals/object-get-own-property-symbols":419,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/to-object":462}],413:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var defineProperties = require('../internals/object-define-properties'); +var enumBugKeys = require('../internals/enum-bug-keys'); +var hiddenKeys = require('../internals/hidden-keys'); +var html = require('../internals/html'); +var documentCreateElement = require('../internals/document-create-element'); +var sharedKey = require('../internals/shared-key'); +var IE_PROTO = sharedKey('IE_PROTO'); + +var PROTOTYPE = 'prototype'; +var Empty = function () { /* empty */ }; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = documentCreateElement('iframe'); + var length = enumBugKeys.length; + var lt = '<'; + var script = 'script'; + var gt = '>'; + var js = 'java' + script + ':'; + var iframeDocument; + iframe.style.display = 'none'; + html.appendChild(iframe); + iframe.src = String(js); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + script + gt + 'document.F=Object' + lt + '/' + script + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (length--) delete createDict[PROTOTYPE][enumBugKeys[length]]; + return createDict(); +}; + +// `Object.create` method +// https://tc39.github.io/ecma262/#sec-object.create +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : defineProperties(result, Properties); +}; + +hiddenKeys[IE_PROTO] = true; + +},{"../internals/an-object":315,"../internals/document-create-element":358,"../internals/enum-bug-keys":360,"../internals/hidden-keys":379,"../internals/html":381,"../internals/object-define-properties":414,"../internals/shared-key":446}],414:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var definePropertyModule = require('../internals/object-define-property'); +var anObject = require('../internals/an-object'); +var objectKeys = require('../internals/object-keys'); + +// `Object.defineProperties` method +// https://tc39.github.io/ecma262/#sec-object.defineproperties +module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = objectKeys(Properties); + var length = keys.length; + var index = 0; + var key; + while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); + return O; +}; + +},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/object-keys":422}],415:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); + +var nativeDefineProperty = Object.defineProperty; + +// `Object.defineProperty` method +// https://tc39.github.io/ecma262/#sec-object.defineproperty +exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return nativeDefineProperty(O, P, Attributes); + } catch (error) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/ie8-dom-define":382,"../internals/to-primitive":465}],416:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPrimitive = require('../internals/to-primitive'); +var has = require('../internals/has'); +var IE8_DOM_DEFINE = require('../internals/ie8-dom-define'); + +var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return nativeGetOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); +}; + +},{"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/has":378,"../internals/ie8-dom-define":382,"../internals/object-property-is-enumerable":423,"../internals/to-indexed-object":459,"../internals/to-primitive":465}],417:[function(require,module,exports){ +var toIndexedObject = require('../internals/to-indexed-object'); +var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names').f; + +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return nativeGetOwnPropertyNames(it); + } catch (error) { + return windowNames.slice(); + } +}; + +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' + ? getWindowNames(it) + : nativeGetOwnPropertyNames(toIndexedObject(it)); +}; + +},{"../internals/object-get-own-property-names":418,"../internals/to-indexed-object":459}],418:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertynames +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + +},{"../internals/enum-bug-keys":360,"../internals/object-keys-internal":421}],419:[function(require,module,exports){ +exports.f = Object.getOwnPropertySymbols; + +},{}],420:[function(require,module,exports){ +var has = require('../internals/has'); +var toObject = require('../internals/to-object'); +var sharedKey = require('../internals/shared-key'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var IE_PROTO = sharedKey('IE_PROTO'); +var ObjectPrototype = Object.prototype; + +// `Object.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.getprototypeof +module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectPrototype : null; +}; + +},{"../internals/correct-prototype-getter":345,"../internals/has":378,"../internals/shared-key":446,"../internals/to-object":462}],421:[function(require,module,exports){ +var has = require('../internals/has'); +var toIndexedObject = require('../internals/to-indexed-object'); +var indexOf = require('../internals/array-includes').indexOf; +var hiddenKeys = require('../internals/hidden-keys'); + +module.exports = function (object, names) { + var O = toIndexedObject(object); + var i = 0; + var result = []; + var key; + for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~indexOf(result, key) || result.push(key); + } + return result; +}; + +},{"../internals/array-includes":322,"../internals/has":378,"../internals/hidden-keys":379,"../internals/to-indexed-object":459}],422:[function(require,module,exports){ +var internalObjectKeys = require('../internals/object-keys-internal'); +var enumBugKeys = require('../internals/enum-bug-keys'); + +// `Object.keys` method +// https://tc39.github.io/ecma262/#sec-object.keys +module.exports = Object.keys || function keys(O) { + return internalObjectKeys(O, enumBugKeys); +}; + +},{"../internals/enum-bug-keys":360,"../internals/object-keys-internal":421}],423:[function(require,module,exports){ +'use strict'; +var nativePropertyIsEnumerable = {}.propertyIsEnumerable; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Nashorn ~ JDK8 bug +var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + +// `Object.prototype.propertyIsEnumerable` method implementation +// https://tc39.github.io/ecma262/#sec-object.prototype.propertyisenumerable +exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { + var descriptor = getOwnPropertyDescriptor(this, V); + return !!descriptor && descriptor.enumerable; +} : nativePropertyIsEnumerable; + +},{}],424:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); + +// `Object.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.setprototypeof +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { + var CORRECT_SETTER = false; + var test = {}; + var setter; + try { + setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; + setter.call(test, []); + CORRECT_SETTER = test instanceof Array; + } catch (error) { /* empty */ } + return function setPrototypeOf(O, proto) { + anObject(O); + aPossiblePrototype(proto); + if (CORRECT_SETTER) setter.call(O, proto); + else O.__proto__ = proto; + return O; + }; +}() : undefined); + +},{"../internals/a-possible-prototype":311,"../internals/an-object":315}],425:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var objectKeys = require('../internals/object-keys'); +var toIndexedObject = require('../internals/to-indexed-object'); +var propertyIsEnumerable = require('../internals/object-property-is-enumerable').f; + +// `Object.{ entries, values }` methods implementation +var createMethod = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) { + result.push(TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; +}; + +module.exports = { + // `Object.entries` method + // https://tc39.github.io/ecma262/#sec-object.entries + entries: createMethod(true), + // `Object.values` method + // https://tc39.github.io/ecma262/#sec-object.values + values: createMethod(false) +}; + +},{"../internals/descriptors":357,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/to-indexed-object":459}],426:[function(require,module,exports){ +'use strict'; +var classof = require('../internals/classof'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +// `Object.prototype.toString` method implementation +// https://tc39.github.io/ecma262/#sec-object.prototype.tostring +module.exports = String(test) !== '[object z]' ? function toString() { + return '[object ' + classof(this) + ']'; +} : test.toString; + +},{"../internals/classof":334,"../internals/well-known-symbol":473}],427:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var anObject = require('../internals/an-object'); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; +}; + +},{"../internals/an-object":315,"../internals/get-built-in":372,"../internals/object-get-own-property-names":418,"../internals/object-get-own-property-symbols":419}],428:[function(require,module,exports){ +var global = require('../internals/global'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var nativeParseFloat = global.parseFloat; +var FORCED = 1 / nativeParseFloat(whitespaces + '-0') !== -Infinity; + +// `parseFloat` method +// https://tc39.github.io/ecma262/#sec-parsefloat-string +module.exports = FORCED ? function parseFloat(string) { + var trimmedString = trim(String(string)); + var result = nativeParseFloat(trimmedString); + return result === 0 && trimmedString.charAt(0) == '-' ? -0 : result; +} : nativeParseFloat; + +},{"../internals/global":377,"../internals/string-trim":454,"../internals/whitespaces":474}],429:[function(require,module,exports){ +var global = require('../internals/global'); +var trim = require('../internals/string-trim').trim; +var whitespaces = require('../internals/whitespaces'); + +var nativeParseInt = global.parseInt; +var hex = /^[+-]?0[Xx]/; +var FORCED = nativeParseInt(whitespaces + '08') !== 8 || nativeParseInt(whitespaces + '0x16') !== 22; + +// `parseInt` method +// https://tc39.github.io/ecma262/#sec-parseint-string-radix +module.exports = FORCED ? function parseInt(string, radix) { + var S = trim(String(string)); + return nativeParseInt(S, (radix >>> 0) || (hex.test(S) ? 16 : 10)); +} : nativeParseInt; + +},{"../internals/global":377,"../internals/string-trim":454,"../internals/whitespaces":474}],430:[function(require,module,exports){ +module.exports = require('../internals/global'); + +},{"../internals/global":377}],431:[function(require,module,exports){ +module.exports = function (exec) { + try { + return { error: false, value: exec() }; + } catch (error) { + return { error: true, value: error }; + } +}; + +},{}],432:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var newPromiseCapability = require('../internals/new-promise-capability'); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +},{"../internals/an-object":315,"../internals/is-object":392,"../internals/new-promise-capability":409}],433:[function(require,module,exports){ +'use strict'; +// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js +var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 +var base = 36; +var tMin = 1; +var tMax = 26; +var skew = 38; +var damp = 700; +var initialBias = 72; +var initialN = 128; // 0x80 +var delimiter = '-'; // '\x2D' +var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars +var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators +var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; +var baseMinusTMin = base - tMin; +var floor = Math.floor; +var stringFromCharCode = String.fromCharCode; + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + */ +var ucs2decode = function (string) { + var output = []; + var counter = 0; + var length = string.length; + while (counter < length) { + var value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + var extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; + } + } else { + output.push(value); + } + } + return output; +}; + +/** + * Converts a digit/integer into a basic code point. + */ +var digitToBasic = function (digit) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26); +}; + +/** + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + */ +var adapt = function (delta, numPoints, firstTime) { + var k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for (; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); +}; + +/** + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + */ +// eslint-disable-next-line max-statements +var encode = function (input) { + var output = []; + + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); + + // Cache the length. + var inputLength = input.length; + + // Initialize the state. + var n = initialN; + var delta = 0; + var bias = initialBias; + var i, currentValue; + + // Handle the basic code points. + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + + var basicLength = output.length; // number of basic code points. + var handledCPCount = basicLength; // number of code points that have been handled; + + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); + } + + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next larger one: + var m = maxInt; + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , but guard against overflow. + var handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + throw RangeError(OVERFLOW_ERROR); + } + + delta += (m - n) * handledCPCountPlusOne; + n = m; + + for (i = 0; i < input.length; i++) { + currentValue = input[i]; + if (currentValue < n && ++delta > maxInt) { + throw RangeError(OVERFLOW_ERROR); + } + if (currentValue == n) { + // Represent delta as a generalized variable-length integer. + var q = delta; + for (var k = base; /* no condition */; k += base) { + var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); + if (q < t) break; + var qMinusT = q - t; + var baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); + q = floor(qMinusT / baseMinusT); + } + + output.push(stringFromCharCode(digitToBasic(q))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); + delta = 0; + ++handledCPCount; + } + } + + ++delta; + ++n; + } + return output.join(''); +}; + +module.exports = function (input) { + var encoded = []; + var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); + var i, label; + for (i = 0; i < labels.length; i++) { + label = labels[i]; + encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); + } + return encoded.join('.'); +}; + +},{}],434:[function(require,module,exports){ +var redefine = require('../internals/redefine'); + +module.exports = function (target, src, options) { + for (var key in src) redefine(target, key, src[key], options); + return target; +}; + +},{"../internals/redefine":435}],435:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var setGlobal = require('../internals/set-global'); +var nativeFunctionToString = require('../internals/function-to-string'); +var InternalStateModule = require('../internals/internal-state'); + +var getInternalState = InternalStateModule.get; +var enforceInternalState = InternalStateModule.enforce; +var TEMPLATE = String(nativeFunctionToString).split('toString'); + +shared('inspectSource', function (it) { + return nativeFunctionToString.call(it); +}); + +(module.exports = function (O, key, value, options) { + var unsafe = options ? !!options.unsafe : false; + var simple = options ? !!options.enumerable : false; + var noTargetGet = options ? !!options.noTargetGet : false; + if (typeof value == 'function') { + if (typeof key == 'string' && !has(value, 'name')) createNonEnumerableProperty(value, 'name', key); + enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : ''); + } + if (O === global) { + if (simple) O[key] = value; + else setGlobal(key, value); + return; + } else if (!unsafe) { + delete O[key]; + } else if (!noTargetGet && O[key]) { + simple = true; + } + if (simple) O[key] = value; + else createNonEnumerableProperty(O, key, value); +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, 'toString', function toString() { + return typeof this == 'function' && getInternalState(this).source || nativeFunctionToString.call(this); +}); + +},{"../internals/create-non-enumerable-property":350,"../internals/function-to-string":370,"../internals/global":377,"../internals/has":378,"../internals/internal-state":386,"../internals/set-global":443,"../internals/shared":448}],436:[function(require,module,exports){ +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +var Map = require('../modules/es.map'); +var WeakMap = require('../modules/es.weak-map'); +var shared = require('../internals/shared'); + +var metadata = shared('metadata'); +var store = metadata.store || (metadata.store = new WeakMap()); + +var getOrCreateMetadataMap = function (target, targetKey, create) { + var targetMetadata = store.get(target); + if (!targetMetadata) { + if (!create) return; + store.set(target, targetMetadata = new Map()); + } + var keyMetadata = targetMetadata.get(targetKey); + if (!keyMetadata) { + if (!create) return; + targetMetadata.set(targetKey, keyMetadata = new Map()); + } return keyMetadata; +}; + +var ordinaryHasOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? false : metadataMap.has(MetadataKey); +}; + +var ordinaryGetOwnMetadata = function (MetadataKey, O, P) { + var metadataMap = getOrCreateMetadataMap(O, P, false); + return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey); +}; + +var ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) { + getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue); +}; + +var ordinaryOwnMetadataKeys = function (target, targetKey) { + var metadataMap = getOrCreateMetadataMap(target, targetKey, false); + var keys = []; + if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); }); + return keys; +}; + +var toMetadataKey = function (it) { + return it === undefined || typeof it == 'symbol' ? it : String(it); +}; + +module.exports = { + store: store, + getMap: getOrCreateMetadataMap, + has: ordinaryHasOwnMetadata, + get: ordinaryGetOwnMetadata, + set: ordinaryDefineOwnMetadata, + keys: ordinaryOwnMetadataKeys, + toKey: toMetadataKey +}; + +},{"../internals/shared":448,"../modules/es.map":519,"../modules/es.weak-map":678}],437:[function(require,module,exports){ +var classof = require('./classof-raw'); +var regexpExec = require('./regexp-exec'); + +// `RegExpExec` abstract operation +// https://tc39.github.io/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (typeof exec === 'function') { + var result = exec.call(R, S); + if (typeof result !== 'object') { + throw TypeError('RegExp exec method returned something other than an Object or null'); + } + return result; + } + + if (classof(R) !== 'RegExp') { + throw TypeError('RegExp#exec called on incompatible receiver'); + } + + return regexpExec.call(R, S); +}; + + +},{"./classof-raw":333,"./regexp-exec":438}],438:[function(require,module,exports){ +'use strict'; +var regexpFlags = require('./regexp-flags'); + +var nativeExec = RegExp.prototype.exec; +// This always refers to the native implementation, because the +// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, +// which loads this file before patching the method. +var nativeReplace = String.prototype.replace; + +var patchedExec = nativeExec; + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/; + var re2 = /b*/g; + nativeExec.call(re1, 'a'); + nativeExec.call(re2, 'a'); + return re1.lastIndex !== 0 || re2.lastIndex !== 0; +})(); + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; + +if (PATCH) { + patchedExec = function exec(str) { + var re = this; + var lastIndex, reCopy, match, i; + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; + + match = nativeExec.call(re, str); + + if (UPDATES_LAST_INDEX_WRONG && match) { + re.lastIndex = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ + nativeReplace.call(match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + return match; + }; +} + +module.exports = patchedExec; + +},{"./regexp-flags":439}],439:[function(require,module,exports){ +'use strict'; +var anObject = require('../internals/an-object'); + +// `RegExp.prototype.flags` getter implementation +// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.dotAll) result += 's'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"../internals/an-object":315}],440:[function(require,module,exports){ +// `RequireObjectCoercible` abstract operation +// https://tc39.github.io/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{}],441:[function(require,module,exports){ +// `SameValueZero` abstract operation +// https://tc39.github.io/ecma262/#sec-samevaluezero +module.exports = function (x, y) { + // eslint-disable-next-line no-self-compare + return x === y || x != x && y != y; +}; + +},{}],442:[function(require,module,exports){ +// `SameValue` abstract operation +// https://tc39.github.io/ecma262/#sec-samevalue +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; + +},{}],443:[function(require,module,exports){ +var global = require('../internals/global'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +module.exports = function (key, value) { + try { + createNonEnumerableProperty(global, key, value); + } catch (error) { + global[key] = value; + } return value; +}; + +},{"../internals/create-non-enumerable-property":350,"../internals/global":377}],444:[function(require,module,exports){ +'use strict'; +var getBuiltIn = require('../internals/get-built-in'); +var definePropertyModule = require('../internals/object-define-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var DESCRIPTORS = require('../internals/descriptors'); + +var SPECIES = wellKnownSymbol('species'); + +module.exports = function (CONSTRUCTOR_NAME) { + var Constructor = getBuiltIn(CONSTRUCTOR_NAME); + var defineProperty = definePropertyModule.f; + + if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { + defineProperty(Constructor, SPECIES, { + configurable: true, + get: function () { return this; } + }); + } +}; + +},{"../internals/descriptors":357,"../internals/get-built-in":372,"../internals/object-define-property":415,"../internals/well-known-symbol":473}],445:[function(require,module,exports){ +var defineProperty = require('../internals/object-define-property').f; +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +module.exports = function (it, TAG, STATIC) { + if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { + defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); + } +}; + +},{"../internals/has":378,"../internals/object-define-property":415,"../internals/well-known-symbol":473}],446:[function(require,module,exports){ +var shared = require('../internals/shared'); +var uid = require('../internals/uid'); + +var keys = shared('keys'); + +module.exports = function (key) { + return keys[key] || (keys[key] = uid(key)); +}; + +},{"../internals/shared":448,"../internals/uid":469}],447:[function(require,module,exports){ +var global = require('../internals/global'); +var setGlobal = require('../internals/set-global'); + +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || setGlobal(SHARED, {}); + +module.exports = store; + +},{"../internals/global":377,"../internals/set-global":443}],448:[function(require,module,exports){ +var IS_PURE = require('../internals/is-pure'); +var store = require('../internals/shared-store'); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: '3.4.1', + mode: IS_PURE ? 'pure' : 'global', + copyright: '© 2019 Denis Pushkarev (zloirock.ru)' +}); + +},{"../internals/is-pure":393,"../internals/shared-store":447}],449:[function(require,module,exports){ +'use strict'; +var fails = require('../internals/fails'); + +module.exports = function (METHOD_NAME, argument) { + var method = [][METHOD_NAME]; + return !method || !fails(function () { + // eslint-disable-next-line no-useless-call,no-throw-literal + method.call(null, argument || function () { throw 1; }, 1); + }); +}; + +},{"../internals/fails":362}],450:[function(require,module,exports){ +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); + +// `SpeciesConstructor` abstract operation +// https://tc39.github.io/ecma262/#sec-speciesconstructor +module.exports = function (O, defaultConstructor) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); +}; + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/well-known-symbol":473}],451:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `String.prototype.{ codePointAt, at }` methods implementation +var createMethod = function (CONVERT_TO_STRING) { + return function ($this, pos) { + var S = String(requireObjectCoercible($this)); + var position = toInteger(pos); + var size = S.length; + var first, second; + if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; + first = S.charCodeAt(position); + return first < 0xD800 || first > 0xDBFF || position + 1 === size + || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF + ? CONVERT_TO_STRING ? S.charAt(position) : first + : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; + }; +}; + +module.exports = { + // `String.prototype.codePointAt` method + // https://tc39.github.io/ecma262/#sec-string.prototype.codepointat + codeAt: createMethod(false), + // `String.prototype.at` method + // https://github.com/mathiasbynens/String.prototype.at + charAt: createMethod(true) +}; + +},{"../internals/require-object-coercible":440,"../internals/to-integer":460}],452:[function(require,module,exports){ +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = require('../internals/to-length'); +var repeat = require('../internals/string-repeat'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +var ceil = Math.ceil; + +// `String.prototype.{ padStart, padEnd }` methods implementation +var createMethod = function (IS_END) { + return function ($this, maxLength, fillString) { + var S = String(requireObjectCoercible($this)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + var fillLen, stringFiller; + if (intMaxLength <= stringLength || fillStr == '') return S; + fillLen = intMaxLength - stringLength; + stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return IS_END ? S + stringFiller : stringFiller + S; + }; +}; + +module.exports = { + // `String.prototype.padStart` method + // https://tc39.github.io/ecma262/#sec-string.prototype.padstart + start: createMethod(false), + // `String.prototype.padEnd` method + // https://tc39.github.io/ecma262/#sec-string.prototype.padend + end: createMethod(true) +}; + +},{"../internals/require-object-coercible":440,"../internals/string-repeat":453,"../internals/to-length":461}],453:[function(require,module,exports){ +'use strict'; +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `String.prototype.repeat` method implementation +// https://tc39.github.io/ecma262/#sec-string.prototype.repeat +module.exports = ''.repeat || function repeat(count) { + var str = String(requireObjectCoercible(this)); + var result = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions'); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str; + return result; +}; + +},{"../internals/require-object-coercible":440,"../internals/to-integer":460}],454:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); +var whitespaces = require('../internals/whitespaces'); + +var whitespace = '[' + whitespaces + ']'; +var ltrim = RegExp('^' + whitespace + whitespace + '*'); +var rtrim = RegExp(whitespace + whitespace + '*$'); + +// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation +var createMethod = function (TYPE) { + return function ($this) { + var string = String(requireObjectCoercible($this)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; + }; +}; + +module.exports = { + // `String.prototype.{ trimLeft, trimStart }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimstart + start: createMethod(1), + // `String.prototype.{ trimRight, trimEnd }` methods + // https://tc39.github.io/ecma262/#sec-string.prototype.trimend + end: createMethod(2), + // `String.prototype.trim` method + // https://tc39.github.io/ecma262/#sec-string.prototype.trim + trim: createMethod(3) +}; + +},{"../internals/require-object-coercible":440,"../internals/whitespaces":474}],455:[function(require,module,exports){ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var classof = require('../internals/classof-raw'); +var bind = require('../internals/bind-context'); +var html = require('../internals/html'); +var createElement = require('../internals/document-create-element'); +var IS_IOS = require('../internals/is-ios'); + +var location = global.location; +var set = global.setImmediate; +var clear = global.clearImmediate; +var process = global.process; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; + +var run = function (id) { + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; + +var runner = function (id) { + return function () { + run(id); + }; +}; + +var listener = function (event) { + run(event.data); +}; + +var post = function (id) { + // old engines have not location.origin + global.postMessage(id + '', location.protocol + '//' + location.host); +}; + +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!set || !clear) { + set = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args); + }; + defer(counter); + return counter; + }; + clear = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (classof(process) == 'process') { + defer = function (id) { + process.nextTick(runner(id)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(runner(id)); + }; + // Browsers with MessageChannel, includes WebWorkers + // except iOS - https://github.com/zloirock/core-js/issues/624 + } else if (MessageChannel && !IS_IOS) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = bind(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post)) { + defer = post; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in createElement('script')) { + defer = function (id) { + html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(runner(id), 0); + }; + } +} + +module.exports = { + set: set, + clear: clear +}; + +},{"../internals/bind-context":330,"../internals/classof-raw":333,"../internals/document-create-element":358,"../internals/fails":362,"../internals/global":377,"../internals/html":381,"../internals/is-ios":391}],456:[function(require,module,exports){ +var classof = require('../internals/classof-raw'); + +// `thisNumberValue` abstract operation +// https://tc39.github.io/ecma262/#sec-thisnumbervalue +module.exports = function (value) { + if (typeof value != 'number' && classof(value) != 'Number') { + throw TypeError('Incorrect invocation'); + } + return +value; +}; + +},{"../internals/classof-raw":333}],457:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(length, length). +module.exports = function (index, length) { + var integer = toInteger(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + +},{"../internals/to-integer":460}],458:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); + +// `ToIndex` abstract operation +// https://tc39.github.io/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length or index'); + return length; +}; + +},{"../internals/to-integer":460,"../internals/to-length":461}],459:[function(require,module,exports){ +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = require('../internals/indexed-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + +},{"../internals/indexed-object":383,"../internals/require-object-coercible":440}],460:[function(require,module,exports){ +var ceil = Math.ceil; +var floor = Math.floor; + +// `ToInteger` abstract operation +// https://tc39.github.io/ecma262/#sec-tointeger +module.exports = function (argument) { + return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); +}; + +},{}],461:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.github.io/ecma262/#sec-tolength +module.exports = function (argument) { + return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + +},{"../internals/to-integer":460}],462:[function(require,module,exports){ +var requireObjectCoercible = require('../internals/require-object-coercible'); + +// `ToObject` abstract operation +// https://tc39.github.io/ecma262/#sec-toobject +module.exports = function (argument) { + return Object(requireObjectCoercible(argument)); +}; + +},{"../internals/require-object-coercible":440}],463:[function(require,module,exports){ +var toPositiveInteger = require('../internals/to-positive-integer'); + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw RangeError('Wrong offset'); + return offset; +}; + +},{"../internals/to-positive-integer":464}],464:[function(require,module,exports){ +var toInteger = require('../internals/to-integer'); + +module.exports = function (it) { + var result = toInteger(it); + if (result < 0) throw RangeError("The argument can't be less than 0"); + return result; +}; + +},{"../internals/to-integer":460}],465:[function(require,module,exports){ +var isObject = require('../internals/is-object'); + +// `ToPrimitive` abstract operation +// https://tc39.github.io/ecma262/#sec-toprimitive +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (input, PREFERRED_STRING) { + if (!isObject(input)) return input; + var fn, val; + if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; + if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"../internals/is-object":392}],466:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var DESCRIPTORS = require('../internals/descriptors'); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var ArrayBufferModule = require('../internals/array-buffer'); +var anInstance = require('../internals/an-instance'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var toLength = require('../internals/to-length'); +var toIndex = require('../internals/to-index'); +var toOffset = require('../internals/to-offset'); +var toPrimitive = require('../internals/to-primitive'); +var has = require('../internals/has'); +var classof = require('../internals/classof'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var typedArrayFrom = require('../internals/typed-array-from'); +var forEach = require('../internals/array-iteration').forEach; +var setSpecies = require('../internals/set-species'); +var definePropertyModule = require('../internals/object-define-property'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var InternalStateModule = require('../internals/internal-state'); +var inheritIfRequired = require('../internals/inherit-if-required'); + +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var round = Math.round; +var RangeError = global.RangeError; +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; +var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; +var TypedArray = ArrayBufferViewCore.TypedArray; +var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var isTypedArray = ArrayBufferViewCore.isTypedArray; +var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; +var WRONG_LENGTH = 'Wrong length'; + +var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}; + +var addGetter = function (it, key) { + nativeDefineProperty(it, key, { get: function () { + return getInternalState(this)[key]; + } }); +}; + +var isArrayBuffer = function (it) { + var klass; + return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; +}; + +var isTypedArrayIndex = function (target, key) { + return isTypedArray(target) + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); +}; + +var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { + return isTypedArrayIndex(target, key = toPrimitive(key, true)) + ? createPropertyDescriptor(2, target[key]) + : nativeGetOwnPropertyDescriptor(target, key); +}; + +var wrappedDefineProperty = function defineProperty(target, key, descriptor) { + if (isTypedArrayIndex(target, key = toPrimitive(key, true)) + && isObject(descriptor) + && has(descriptor, 'value') + && !has(descriptor, 'get') + && !has(descriptor, 'set') + // TODO: add validation descriptor w/o calling accessors + && !descriptor.configurable + && (!has(descriptor, 'writable') || descriptor.writable) + && (!has(descriptor, 'enumerable') || descriptor.enumerable) + ) { + target[key] = descriptor.value; + return target; + } return nativeDefineProperty(target, key, descriptor); +}; + +if (DESCRIPTORS) { + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; + definePropertyModule.f = wrappedDefineProperty; + addGetter(TypedArrayPrototype, 'buffer'); + addGetter(TypedArrayPrototype, 'byteOffset'); + addGetter(TypedArrayPrototype, 'byteLength'); + addGetter(TypedArrayPrototype, 'length'); + } + + $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, + defineProperty: wrappedDefineProperty + }); + + module.exports = function (TYPE, BYTES, wrapper, CLAMPED) { + var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + TYPE; + var SETTER = 'set' + TYPE; + var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; + var TypedArrayConstructor = NativeTypedArrayConstructor; + var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; + var exported = {}; + + var getter = function (that, index) { + var data = getInternalState(that); + return data.view[GETTER](index * BYTES + data.byteOffset, true); + }; + + var setter = function (that, index, value) { + var data = getInternalState(that); + if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; + data.view[SETTER](index * BYTES + data.byteOffset, value, true); + }; + + var addElement = function (that, index) { + nativeDefineProperty(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + + if (!NATIVE_ARRAY_BUFFER_VIEWS) { + TypedArrayConstructor = wrapper(function (that, data, offset, $length) { + anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); + var index = 0; + var byteOffset = 0; + var buffer, byteLength, length; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new ArrayBuffer(byteLength); + } else if (isArrayBuffer(data)) { + buffer = data; + byteOffset = toOffset(offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - byteOffset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (isTypedArray(data)) { + return fromList(TypedArrayConstructor, data); + } else { + return typedArrayFrom.call(TypedArrayConstructor, data); + } + setInternalState(that, { + buffer: buffer, + byteOffset: byteOffset, + byteLength: byteLength, + length: length, + view: new DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); + } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { + TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { + anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); + return inheritIfRequired(function () { + if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); + if (isArrayBuffer(data)) return $length !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) + : typedArrayOffset !== undefined + ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) + : new NativeTypedArrayConstructor(data); + if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); + return typedArrayFrom.call(TypedArrayConstructor, data); + }(), dummy, TypedArrayConstructor); + }); + + if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); + forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { + if (!(key in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); + } + }); + TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; + } + + if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); + } + + if (TYPED_ARRAY_TAG) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); + } + + exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; + + $({ + global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS + }, exported); + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { + createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); + } + + if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { + createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); + } + + setSpecies(CONSTRUCTOR_NAME); + }; +} else module.exports = function () { /* empty */ }; + +},{"../internals/an-instance":314,"../internals/array-buffer":317,"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/classof":334,"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/inherit-if-required":384,"../internals/internal-state":386,"../internals/is-object":392,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/object-set-prototype-of":424,"../internals/set-species":444,"../internals/to-index":458,"../internals/to-length":461,"../internals/to-offset":463,"../internals/to-primitive":465,"../internals/typed-array-from":467,"../internals/typed-arrays-constructors-requires-wrappers":468}],467:[function(require,module,exports){ +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var isArrayIteratorMethod = require('../internals/is-array-iterator-method'); +var bind = require('../internals/bind-context'); +var aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor; + +module.exports = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var argumentsLength = arguments.length; + var mapfn = argumentsLength > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iteratorMethod = getIteratorMethod(O); + var i, length, result, step, iterator, next; + if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { + iterator = iteratorMethod.call(O); + next = iterator.next; + O = []; + while (!(step = next.call(iterator)).done) { + O.push(step.value); + } + } + if (mapping && argumentsLength > 2) { + mapfn = bind(mapfn, arguments[2], 2); + } + length = toLength(O.length); + result = new (aTypedArrayConstructor(this))(length); + for (i = 0; length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; +}; + +},{"../internals/array-buffer-view-core":316,"../internals/bind-context":330,"../internals/get-iterator-method":373,"../internals/is-array-iterator-method":387,"../internals/to-length":461,"../internals/to-object":462}],468:[function(require,module,exports){ +/* eslint-disable no-new */ +var global = require('../internals/global'); +var fails = require('../internals/fails'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS; + +var ArrayBuffer = global.ArrayBuffer; +var Int8Array = global.Int8Array; + +module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { + Int8Array(1); +}) || !fails(function () { + new Int8Array(-1); +}) || !checkCorrectnessOfIteration(function (iterable) { + new Int8Array(); + new Int8Array(null); + new Int8Array(1.5); + new Int8Array(iterable); +}, true) || fails(function () { + // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill + return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; +}); + +},{"../internals/array-buffer-view-core":316,"../internals/check-correctness-of-iteration":332,"../internals/fails":362,"../internals/global":377}],469:[function(require,module,exports){ +var id = 0; +var postfix = Math.random(); + +module.exports = function (key) { + return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); +}; + +},{}],470:[function(require,module,exports){ +var getBuiltIn = require('../internals/get-built-in'); + +module.exports = getBuiltIn('navigator', 'userAgent') || ''; + +},{"../internals/get-built-in":372}],471:[function(require,module,exports){ +var global = require('../internals/global'); +var userAgent = require('../internals/user-agent'); + +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + version = match[0] + match[1]; +} else if (userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = match[1]; + } +} + +module.exports = version && +version; + +},{"../internals/global":377,"../internals/user-agent":470}],472:[function(require,module,exports){ +// https://github.com/zloirock/core-js/issues/280 +var userAgent = require('../internals/user-agent'); + +// eslint-disable-next-line unicorn/no-unsafe-regex +module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent); + +},{"../internals/user-agent":470}],473:[function(require,module,exports){ +var global = require('../internals/global'); +var shared = require('../internals/shared'); +var uid = require('../internals/uid'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); + +var Symbol = global.Symbol; +var store = shared('wks'); + +module.exports = function (name) { + return store[name] || (store[name] = NATIVE_SYMBOL && Symbol[name] + || (NATIVE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +},{"../internals/global":377,"../internals/native-symbol":406,"../internals/shared":448,"../internals/uid":469}],474:[function(require,module,exports){ +// a string of all valid unicode whitespaces +// eslint-disable-next-line max-len +module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],475:[function(require,module,exports){ +exports.f = require('../internals/well-known-symbol'); + +},{"../internals/well-known-symbol":473}],476:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var arrayBufferModule = require('../internals/array-buffer'); +var setSpecies = require('../internals/set-species'); + +var ARRAY_BUFFER = 'ArrayBuffer'; +var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; +var NativeArrayBuffer = global[ARRAY_BUFFER]; + +// `ArrayBuffer` constructor +// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor +$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { + ArrayBuffer: ArrayBuffer +}); + +setSpecies(ARRAY_BUFFER); + +},{"../internals/array-buffer":317,"../internals/export":361,"../internals/global":377,"../internals/set-species":444}],477:[function(require,module,exports){ +var $ = require('../internals/export'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; + +// `ArrayBuffer.isView` method +// https://tc39.github.io/ecma262/#sec-arraybuffer.isview +$({ target: 'ArrayBuffer', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { + isView: ArrayBufferViewCore.isView +}); + +},{"../internals/array-buffer-view-core":316,"../internals/export":361}],478:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var ArrayBufferModule = require('../internals/array-buffer'); +var anObject = require('../internals/an-object'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); +var speciesConstructor = require('../internals/species-constructor'); + +var ArrayBuffer = ArrayBufferModule.ArrayBuffer; +var DataView = ArrayBufferModule.DataView; +var nativeArrayBufferSlice = ArrayBuffer.prototype.slice; + +var INCORRECT_SLICE = fails(function () { + return !new ArrayBuffer(2).slice(1, undefined).byteLength; +}); + +// `ArrayBuffer.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-arraybuffer.prototype.slice +$({ target: 'ArrayBuffer', proto: true, unsafe: true, forced: INCORRECT_SLICE }, { + slice: function slice(start, end) { + if (nativeArrayBufferSlice !== undefined && end === undefined) { + return nativeArrayBufferSlice.call(anObject(this), start); // FF fix + } + var length = anObject(this).byteLength; + var first = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + var result = new (speciesConstructor(this, ArrayBuffer))(toLength(fin - first)); + var viewSource = new DataView(this); + var viewTarget = new DataView(result); + var index = 0; + while (first < fin) { + viewTarget.setUint8(index++, viewSource.getUint8(first++)); + } return result; + } +}); + +},{"../internals/an-object":315,"../internals/array-buffer":317,"../internals/export":361,"../internals/fails":362,"../internals/species-constructor":450,"../internals/to-absolute-index":457,"../internals/to-length":461}],479:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var createProperty = require('../internals/create-property'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/v8-version'); + +var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; + +// We can't use this feature detection in V8 since it causes +// deoptimization and serious performance degradation +// https://github.com/zloirock/core-js/issues/679 +var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { + var array = []; + array[IS_CONCAT_SPREADABLE] = false; + return array.concat()[0] !== array; +}); + +var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); + +var isConcatSpreadable = function (O) { + if (!isObject(O)) return false; + var spreadable = O[IS_CONCAT_SPREADABLE]; + return spreadable !== undefined ? !!spreadable : isArray(O); +}; + +var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; + +// `Array.prototype.concat` method +// https://tc39.github.io/ecma262/#sec-array.prototype.concat +// with adding support of @@isConcatSpreadable and @@species +$({ target: 'Array', proto: true, forced: FORCED }, { + concat: function concat(arg) { // eslint-disable-line no-unused-vars + var O = toObject(this); + var A = arraySpeciesCreate(O, 0); + var n = 0; + var i, k, length, len, E; + for (i = -1, length = arguments.length; i < length; i++) { + E = i === -1 ? O : arguments[i]; + if (isConcatSpreadable(E)) { + len = toLength(E.length); + if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); + } else { + if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); + createProperty(A, n++, E); + } + } + A.length = n; + return A; + } +}); + +},{"../internals/array-method-has-species-support":325,"../internals/array-species-create":327,"../internals/create-property":352,"../internals/export":361,"../internals/fails":362,"../internals/is-array":388,"../internals/is-object":392,"../internals/to-length":461,"../internals/to-object":462,"../internals/v8-version":471,"../internals/well-known-symbol":473}],480:[function(require,module,exports){ +var $ = require('../internals/export'); +var copyWithin = require('../internals/array-copy-within'); +var addToUnscopables = require('../internals/add-to-unscopables'); + +// `Array.prototype.copyWithin` method +// https://tc39.github.io/ecma262/#sec-array.prototype.copywithin +$({ target: 'Array', proto: true }, { + copyWithin: copyWithin +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('copyWithin'); + +},{"../internals/add-to-unscopables":312,"../internals/array-copy-within":318,"../internals/export":361}],481:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $every = require('../internals/array-iteration').every; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +// `Array.prototype.every` method +// https://tc39.github.io/ecma262/#sec-array.prototype.every +$({ target: 'Array', proto: true, forced: sloppyArrayMethod('every') }, { + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":323,"../internals/export":361,"../internals/sloppy-array-method":449}],482:[function(require,module,exports){ +var $ = require('../internals/export'); +var fill = require('../internals/array-fill'); +var addToUnscopables = require('../internals/add-to-unscopables'); + +// `Array.prototype.fill` method +// https://tc39.github.io/ecma262/#sec-array.prototype.fill +$({ target: 'Array', proto: true }, { + fill: fill +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('fill'); + +},{"../internals/add-to-unscopables":312,"../internals/array-fill":319,"../internals/export":361}],483:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $filter = require('../internals/array-iteration').filter; +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); + +// `Array.prototype.filter` method +// https://tc39.github.io/ecma262/#sec-array.prototype.filter +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('filter') }, { + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":323,"../internals/array-method-has-species-support":325,"../internals/export":361}],484:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $findIndex = require('../internals/array-iteration').findIndex; +var addToUnscopables = require('../internals/add-to-unscopables'); + +var FIND_INDEX = 'findIndex'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +if (FIND_INDEX in []) Array(1)[FIND_INDEX](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.findIndex` method +// https://tc39.github.io/ecma262/#sec-array.prototype.findindex +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $findIndex(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND_INDEX); + +},{"../internals/add-to-unscopables":312,"../internals/array-iteration":323,"../internals/export":361}],485:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $find = require('../internals/array-iteration').find; +var addToUnscopables = require('../internals/add-to-unscopables'); + +var FIND = 'find'; +var SKIPS_HOLES = true; + +// Shouldn't skip holes +if (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; }); + +// `Array.prototype.find` method +// https://tc39.github.io/ecma262/#sec-array.prototype.find +$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables(FIND); + +},{"../internals/add-to-unscopables":312,"../internals/array-iteration":323,"../internals/export":361}],486:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var flattenIntoArray = require('../internals/flatten-into-array'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var aFunction = require('../internals/a-function'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +// `Array.prototype.flatMap` method +// https://github.com/tc39/proposal-flatMap +$({ target: 'Array', proto: true }, { + flatMap: function flatMap(callbackfn /* , thisArg */) { + var O = toObject(this); + var sourceLen = toLength(O.length); + var A; + aFunction(callbackfn); + A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + return A; + } +}); + +},{"../internals/a-function":310,"../internals/array-species-create":327,"../internals/export":361,"../internals/flatten-into-array":364,"../internals/to-length":461,"../internals/to-object":462}],487:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var flattenIntoArray = require('../internals/flatten-into-array'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var toInteger = require('../internals/to-integer'); +var arraySpeciesCreate = require('../internals/array-species-create'); + +// `Array.prototype.flat` method +// https://github.com/tc39/proposal-flatMap +$({ target: 'Array', proto: true }, { + flat: function flat(/* depthArg = 1 */) { + var depthArg = arguments.length ? arguments[0] : undefined; + var O = toObject(this); + var sourceLen = toLength(O.length); + var A = arraySpeciesCreate(O, 0); + A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg)); + return A; + } +}); + +},{"../internals/array-species-create":327,"../internals/export":361,"../internals/flatten-into-array":364,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],488:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var forEach = require('../internals/array-for-each'); + +// `Array.prototype.forEach` method +// https://tc39.github.io/ecma262/#sec-array.prototype.foreach +$({ target: 'Array', proto: true, forced: [].forEach != forEach }, { + forEach: forEach +}); + +},{"../internals/array-for-each":320,"../internals/export":361}],489:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/array-from'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); + +var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) { + Array.from(iterable); +}); + +// `Array.from` method +// https://tc39.github.io/ecma262/#sec-array.from +$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, { + from: from +}); + +},{"../internals/array-from":321,"../internals/check-correctness-of-iteration":332,"../internals/export":361}],490:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $includes = require('../internals/array-includes').includes; +var addToUnscopables = require('../internals/add-to-unscopables'); + +// `Array.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-array.prototype.includes +$({ target: 'Array', proto: true }, { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('includes'); + +},{"../internals/add-to-unscopables":312,"../internals/array-includes":322,"../internals/export":361}],491:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $indexOf = require('../internals/array-includes').indexOf; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +var nativeIndexOf = [].indexOf; + +var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; +var SLOPPY_METHOD = sloppyArrayMethod('indexOf'); + +// `Array.prototype.indexOf` method +// https://tc39.github.io/ecma262/#sec-array.prototype.indexof +$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || SLOPPY_METHOD }, { + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? nativeIndexOf.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-includes":322,"../internals/export":361,"../internals/sloppy-array-method":449}],492:[function(require,module,exports){ +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +// `Array.isArray` method +// https://tc39.github.io/ecma262/#sec-array.isarray +$({ target: 'Array', stat: true }, { + isArray: isArray +}); + +},{"../internals/export":361,"../internals/is-array":388}],493:[function(require,module,exports){ +'use strict'; +var toIndexedObject = require('../internals/to-indexed-object'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var Iterators = require('../internals/iterators'); +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var ARRAY_ITERATOR = 'Array Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); + +// `Array.prototype.entries` method +// https://tc39.github.io/ecma262/#sec-array.prototype.entries +// `Array.prototype.keys` method +// https://tc39.github.io/ecma262/#sec-array.prototype.keys +// `Array.prototype.values` method +// https://tc39.github.io/ecma262/#sec-array.prototype.values +// `Array.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-array.prototype-@@iterator +// `CreateArrayIterator` internal method +// https://tc39.github.io/ecma262/#sec-createarrayiterator +module.exports = defineIterator(Array, 'Array', function (iterated, kind) { + setInternalState(this, { + type: ARRAY_ITERATOR, + target: toIndexedObject(iterated), // target + index: 0, // next index + kind: kind // kind + }); +// `%ArrayIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%arrayiteratorprototype%.next +}, function () { + var state = getInternalState(this); + var target = state.target; + var kind = state.kind; + var index = state.index++; + if (!target || index >= target.length) { + state.target = undefined; + return { value: undefined, done: true }; + } + if (kind == 'keys') return { value: index, done: false }; + if (kind == 'values') return { value: target[index], done: false }; + return { value: [index, target[index]], done: false }; +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% +// https://tc39.github.io/ecma262/#sec-createunmappedargumentsobject +// https://tc39.github.io/ecma262/#sec-createmappedargumentsobject +Iterators.Arguments = Iterators.Array; + +// https://tc39.github.io/ecma262/#sec-array.prototype-@@unscopables +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +},{"../internals/add-to-unscopables":312,"../internals/define-iterator":355,"../internals/internal-state":386,"../internals/iterators":397,"../internals/to-indexed-object":459}],494:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IndexedObject = require('../internals/indexed-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +var nativeJoin = [].join; + +var ES3_STRINGS = IndexedObject != Object; +var SLOPPY_METHOD = sloppyArrayMethod('join', ','); + +// `Array.prototype.join` method +// https://tc39.github.io/ecma262/#sec-array.prototype.join +$({ target: 'Array', proto: true, forced: ES3_STRINGS || SLOPPY_METHOD }, { + join: function join(separator) { + return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator); + } +}); + +},{"../internals/export":361,"../internals/indexed-object":383,"../internals/sloppy-array-method":449,"../internals/to-indexed-object":459}],495:[function(require,module,exports){ +var $ = require('../internals/export'); +var lastIndexOf = require('../internals/array-last-index-of'); + +// `Array.prototype.lastIndexOf` method +// https://tc39.github.io/ecma262/#sec-array.prototype.lastindexof +$({ target: 'Array', proto: true, forced: lastIndexOf !== [].lastIndexOf }, { + lastIndexOf: lastIndexOf +}); + +},{"../internals/array-last-index-of":324,"../internals/export":361}],496:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $map = require('../internals/array-iteration').map; +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); + +// `Array.prototype.map` method +// https://tc39.github.io/ecma262/#sec-array.prototype.map +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('map') }, { + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":323,"../internals/array-method-has-species-support":325,"../internals/export":361}],497:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var createProperty = require('../internals/create-property'); + +var ISNT_GENERIC = fails(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}); + +// `Array.of` method +// https://tc39.github.io/ecma262/#sec-array.of +// WebKit Array.of isn't generic +$({ target: 'Array', stat: true, forced: ISNT_GENERIC }, { + of: function of(/* ...args */) { + var index = 0; + var argumentsLength = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(argumentsLength); + while (argumentsLength > index) createProperty(result, index, arguments[index++]); + result.length = argumentsLength; + return result; + } +}); + +},{"../internals/create-property":352,"../internals/export":361,"../internals/fails":362}],498:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $reduceRight = require('../internals/array-reduce').right; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +// `Array.prototype.reduceRight` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reduceright +$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduceRight') }, { + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-reduce":326,"../internals/export":361,"../internals/sloppy-array-method":449}],499:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $reduce = require('../internals/array-reduce').left; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +// `Array.prototype.reduce` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: sloppyArrayMethod('reduce') }, { + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-reduce":326,"../internals/export":361,"../internals/sloppy-array-method":449}],500:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +var nativeReverse = [].reverse; +var test = [1, 2]; + +// `Array.prototype.reverse` method +// https://tc39.github.io/ecma262/#sec-array.prototype.reverse +// fix for Safari 12.0 bug +// https://bugs.webkit.org/show_bug.cgi?id=188794 +$({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, { + reverse: function reverse() { + // eslint-disable-next-line no-self-assign + if (isArray(this)) this.length = this.length; + return nativeReverse.call(this); + } +}); + +},{"../internals/export":361,"../internals/is-array":388}],501:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var isArray = require('../internals/is-array'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toLength = require('../internals/to-length'); +var toIndexedObject = require('../internals/to-indexed-object'); +var createProperty = require('../internals/create-property'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var SPECIES = wellKnownSymbol('species'); +var nativeSlice = [].slice; +var max = Math.max; + +// `Array.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-array.prototype.slice +// fallback for not array-like ES3 strings and DOM objects +$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('slice') }, { + slice: function slice(start, end) { + var O = toIndexedObject(this); + var length = toLength(O.length); + var k = toAbsoluteIndex(start, length); + var fin = toAbsoluteIndex(end === undefined ? length : end, length); + // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible + var Constructor, result, n; + if (isArray(O)) { + Constructor = O.constructor; + // cross-realm fallback + if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { + Constructor = undefined; + } else if (isObject(Constructor)) { + Constructor = Constructor[SPECIES]; + if (Constructor === null) Constructor = undefined; + } + if (Constructor === Array || Constructor === undefined) { + return nativeSlice.call(O, k, fin); + } + } + result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); + for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); + result.length = n; + return result; + } +}); + +},{"../internals/array-method-has-species-support":325,"../internals/create-property":352,"../internals/export":361,"../internals/is-array":388,"../internals/is-object":392,"../internals/to-absolute-index":457,"../internals/to-indexed-object":459,"../internals/to-length":461,"../internals/well-known-symbol":473}],502:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $some = require('../internals/array-iteration').some; +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +// `Array.prototype.some` method +// https://tc39.github.io/ecma262/#sec-array.prototype.some +$({ target: 'Array', proto: true, forced: sloppyArrayMethod('some') }, { + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/array-iteration":323,"../internals/export":361,"../internals/sloppy-array-method":449}],503:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var toObject = require('../internals/to-object'); +var fails = require('../internals/fails'); +var sloppyArrayMethod = require('../internals/sloppy-array-method'); + +var test = []; +var nativeSort = test.sort; + +// IE8- +var FAILS_ON_UNDEFINED = fails(function () { + test.sort(undefined); +}); +// V8 bug +var FAILS_ON_NULL = fails(function () { + test.sort(null); +}); +// Old WebKit +var SLOPPY_METHOD = sloppyArrayMethod('sort'); + +var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || SLOPPY_METHOD; + +// `Array.prototype.sort` method +// https://tc39.github.io/ecma262/#sec-array.prototype.sort +$({ target: 'Array', proto: true, forced: FORCED }, { + sort: function sort(comparefn) { + return comparefn === undefined + ? nativeSort.call(toObject(this)) + : nativeSort.call(toObject(this), aFunction(comparefn)); + } +}); + +},{"../internals/a-function":310,"../internals/export":361,"../internals/fails":362,"../internals/sloppy-array-method":449,"../internals/to-object":462}],504:[function(require,module,exports){ +var setSpecies = require('../internals/set-species'); + +// `Array[@@species]` getter +// https://tc39.github.io/ecma262/#sec-get-array-@@species +setSpecies('Array'); + +},{"../internals/set-species":444}],505:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var toInteger = require('../internals/to-integer'); +var toLength = require('../internals/to-length'); +var toObject = require('../internals/to-object'); +var arraySpeciesCreate = require('../internals/array-species-create'); +var createProperty = require('../internals/create-property'); +var arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support'); + +var max = Math.max; +var min = Math.min; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; +var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; + +// `Array.prototype.splice` method +// https://tc39.github.io/ecma262/#sec-array.prototype.splice +// with adding support of @@species +$({ target: 'Array', proto: true, forced: !arrayMethodHasSpeciesSupport('splice') }, { + splice: function splice(start, deleteCount /* , ...items */) { + var O = toObject(this); + var len = toLength(O.length); + var actualStart = toAbsoluteIndex(start, len); + var argumentsLength = arguments.length; + var insertCount, actualDeleteCount, A, k, from, to; + if (argumentsLength === 0) { + insertCount = actualDeleteCount = 0; + } else if (argumentsLength === 1) { + insertCount = 0; + actualDeleteCount = len - actualStart; + } else { + insertCount = argumentsLength - 2; + actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); + } + if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { + throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); + } + A = arraySpeciesCreate(O, actualDeleteCount); + for (k = 0; k < actualDeleteCount; k++) { + from = actualStart + k; + if (from in O) createProperty(A, k, O[from]); + } + A.length = actualDeleteCount; + if (insertCount < actualDeleteCount) { + for (k = actualStart; k < len - actualDeleteCount; k++) { + from = k + actualDeleteCount; + to = k + insertCount; + if (from in O) O[to] = O[from]; + else delete O[to]; + } + for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; + } else if (insertCount > actualDeleteCount) { + for (k = len - actualDeleteCount; k > actualStart; k--) { + from = k + actualDeleteCount - 1; + to = k + insertCount - 1; + if (from in O) O[to] = O[from]; + else delete O[to]; + } + } + for (k = 0; k < insertCount; k++) { + O[k + actualStart] = arguments[k + 2]; + } + O.length = len - actualDeleteCount + insertCount; + return A; + } +}); + +},{"../internals/array-method-has-species-support":325,"../internals/array-species-create":327,"../internals/create-property":352,"../internals/export":361,"../internals/to-absolute-index":457,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],506:[function(require,module,exports){ +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = require('../internals/add-to-unscopables'); + +addToUnscopables('flatMap'); + +},{"../internals/add-to-unscopables":312}],507:[function(require,module,exports){ +// this method was added to unscopables after implementation +// in popular engines, so it's moved to a separate module +var addToUnscopables = require('../internals/add-to-unscopables'); + +addToUnscopables('flat'); + +},{"../internals/add-to-unscopables":312}],508:[function(require,module,exports){ +var $ = require('../internals/export'); +var ArrayBufferModule = require('../internals/array-buffer'); +var NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER; + +// `DataView` constructor +// https://tc39.github.io/ecma262/#sec-dataview-constructor +$({ global: true, forced: !NATIVE_ARRAY_BUFFER }, { + DataView: ArrayBufferModule.DataView +}); + +},{"../internals/array-buffer":317,"../internals/array-buffer-view-core":316,"../internals/export":361}],509:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Date.now` method +// https://tc39.github.io/ecma262/#sec-date.now +$({ target: 'Date', stat: true }, { + now: function now() { + return new Date().getTime(); + } +}); + +},{"../internals/export":361}],510:[function(require,module,exports){ +var $ = require('../internals/export'); +var toISOString = require('../internals/date-to-iso-string'); + +// `Date.prototype.toISOString` method +// https://tc39.github.io/ecma262/#sec-date.prototype.toisostring +// PhantomJS / old WebKit has a broken implementations +$({ target: 'Date', proto: true, forced: Date.prototype.toISOString !== toISOString }, { + toISOString: toISOString +}); + +},{"../internals/date-to-iso-string":353,"../internals/export":361}],511:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); + +var FORCED = fails(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}); + +// `Date.prototype.toJSON` method +// https://tc39.github.io/ecma262/#sec-date.prototype.tojson +$({ target: 'Date', proto: true, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/to-object":462,"../internals/to-primitive":465}],512:[function(require,module,exports){ +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var dateToPrimitive = require('../internals/date-to-primitive'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var DatePrototype = Date.prototype; + +// `Date.prototype[@@toPrimitive]` method +// https://tc39.github.io/ecma262/#sec-date.prototype-@@toprimitive +if (!(TO_PRIMITIVE in DatePrototype)) { + createNonEnumerableProperty(DatePrototype, TO_PRIMITIVE, dateToPrimitive); +} + +},{"../internals/create-non-enumerable-property":350,"../internals/date-to-primitive":354,"../internals/well-known-symbol":473}],513:[function(require,module,exports){ +var redefine = require('../internals/redefine'); + +var DatePrototype = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var nativeDateToString = DatePrototype[TO_STRING]; +var getTime = DatePrototype.getTime; + +// `Date.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-date.prototype.tostring +if (new Date(NaN) + '' != INVALID_DATE) { + redefine(DatePrototype, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? nativeDateToString.call(this) : INVALID_DATE; + }); +} + +},{"../internals/redefine":435}],514:[function(require,module,exports){ +var $ = require('../internals/export'); +var bind = require('../internals/function-bind'); + +// `Function.prototype.bind` method +// https://tc39.github.io/ecma262/#sec-function.prototype.bind +$({ target: 'Function', proto: true }, { + bind: bind +}); + +},{"../internals/export":361,"../internals/function-bind":369}],515:[function(require,module,exports){ +'use strict'; +var isObject = require('../internals/is-object'); +var definePropertyModule = require('../internals/object-define-property'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var HAS_INSTANCE = wellKnownSymbol('hasInstance'); +var FunctionPrototype = Function.prototype; + +// `Function.prototype[@@hasInstance]` method +// https://tc39.github.io/ecma262/#sec-function.prototype-@@hasinstance +if (!(HAS_INSTANCE in FunctionPrototype)) { + definePropertyModule.f(FunctionPrototype, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; + } }); +} + +},{"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/well-known-symbol":473}],516:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var defineProperty = require('../internals/object-define-property').f; + +var FunctionPrototype = Function.prototype; +var FunctionPrototypeToString = FunctionPrototype.toString; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// Function instances `.name` property +// https://tc39.github.io/ecma262/#sec-function-instances-name +if (DESCRIPTORS && !(NAME in FunctionPrototype)) { + defineProperty(FunctionPrototype, NAME, { + configurable: true, + get: function () { + try { + return FunctionPrototypeToString.call(this).match(nameRE)[1]; + } catch (error) { + return ''; + } + } + }); +} + +},{"../internals/descriptors":357,"../internals/object-define-property":415}],517:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); + +// `globalThis` object +// https://github.com/tc39/proposal-global +$({ global: true }, { + globalThis: global +}); + +},{"../internals/export":361,"../internals/global":377}],518:[function(require,module,exports){ +var global = require('../internals/global'); +var setToStringTag = require('../internals/set-to-string-tag'); + +// JSON[@@toStringTag] property +// https://tc39.github.io/ecma262/#sec-json-@@tostringtag +setToStringTag(global.JSON, 'JSON', true); + +},{"../internals/global":377,"../internals/set-to-string-tag":445}],519:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionStrong = require('../internals/collection-strong'); + +// `Map` constructor +// https://tc39.github.io/ecma262/#sec-map-objects +module.exports = collection('Map', function (get) { + return function Map() { return get(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong, true); + +},{"../internals/collection":341,"../internals/collection-strong":339}],520:[function(require,module,exports){ +var $ = require('../internals/export'); +var log1p = require('../internals/math-log1p'); + +var nativeAcosh = Math.acosh; +var log = Math.log; +var sqrt = Math.sqrt; +var LN2 = Math.LN2; + +var FORCED = !nativeAcosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + || Math.floor(nativeAcosh(Number.MAX_VALUE)) != 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + || nativeAcosh(Infinity) != Infinity; + +// `Math.acosh` method +// https://tc39.github.io/ecma262/#sec-math.acosh +$({ target: 'Math', stat: true, forced: FORCED }, { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? log(x) + LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + +},{"../internals/export":361,"../internals/math-log1p":401}],521:[function(require,module,exports){ +var $ = require('../internals/export'); + +var nativeAsinh = Math.asinh; +var log = Math.log; +var sqrt = Math.sqrt; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : log(x + sqrt(x * x + 1)); +} + +// `Math.asinh` method +// https://tc39.github.io/ecma262/#sec-math.asinh +// Tor Browser bug: Math.asinh(0) -> -0 +$({ target: 'Math', stat: true, forced: !(nativeAsinh && 1 / nativeAsinh(0) > 0) }, { + asinh: asinh +}); + +},{"../internals/export":361}],522:[function(require,module,exports){ +var $ = require('../internals/export'); + +var nativeAtanh = Math.atanh; +var log = Math.log; + +// `Math.atanh` method +// https://tc39.github.io/ecma262/#sec-math.atanh +// Tor Browser bug: Math.atanh(-0) -> 0 +$({ target: 'Math', stat: true, forced: !(nativeAtanh && 1 / nativeAtanh(-0) < 0) }, { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : log((1 + x) / (1 - x)) / 2; + } +}); + +},{"../internals/export":361}],523:[function(require,module,exports){ +var $ = require('../internals/export'); +var sign = require('../internals/math-sign'); + +var abs = Math.abs; +var pow = Math.pow; + +// `Math.cbrt` method +// https://tc39.github.io/ecma262/#sec-math.cbrt +$({ target: 'Math', stat: true }, { + cbrt: function cbrt(x) { + return sign(x = +x) * pow(abs(x), 1 / 3); + } +}); + +},{"../internals/export":361,"../internals/math-sign":403}],524:[function(require,module,exports){ +var $ = require('../internals/export'); + +var floor = Math.floor; +var log = Math.log; +var LOG2E = Math.LOG2E; + +// `Math.clz32` method +// https://tc39.github.io/ecma262/#sec-math.clz32 +$({ target: 'Math', stat: true }, { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - floor(log(x + 0.5) * LOG2E) : 32; + } +}); + +},{"../internals/export":361}],525:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +var nativeCosh = Math.cosh; +var abs = Math.abs; +var E = Math.E; + +// `Math.cosh` method +// https://tc39.github.io/ecma262/#sec-math.cosh +$({ target: 'Math', stat: true, forced: !nativeCosh || nativeCosh(710) === Infinity }, { + cosh: function cosh(x) { + var t = expm1(abs(x) - 1) + 1; + return (t + 1 / (t * E * E)) * (E / 2); + } +}); + +},{"../internals/export":361,"../internals/math-expm1":399}],526:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +// `Math.expm1` method +// https://tc39.github.io/ecma262/#sec-math.expm1 +$({ target: 'Math', stat: true, forced: expm1 != Math.expm1 }, { expm1: expm1 }); + +},{"../internals/export":361,"../internals/math-expm1":399}],527:[function(require,module,exports){ +var $ = require('../internals/export'); +var fround = require('../internals/math-fround'); + +// `Math.fround` method +// https://tc39.github.io/ecma262/#sec-math.fround +$({ target: 'Math', stat: true }, { fround: fround }); + +},{"../internals/export":361,"../internals/math-fround":400}],528:[function(require,module,exports){ +var $ = require('../internals/export'); + +var $hypot = Math.hypot; +var abs = Math.abs; +var sqrt = Math.sqrt; + +// Chrome 77 bug +// https://bugs.chromium.org/p/v8/issues/detail?id=9546 +var BUGGY = !!$hypot && $hypot(Infinity, NaN) !== Infinity; + +// `Math.hypot` method +// https://tc39.github.io/ecma262/#sec-math.hypot +$({ target: 'Math', stat: true, forced: BUGGY }, { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * sqrt(sum); + } +}); + +},{"../internals/export":361}],529:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); + +var nativeImul = Math.imul; + +var FORCED = fails(function () { + return nativeImul(0xFFFFFFFF, 5) != -5 || nativeImul.length != 2; +}); + +// `Math.imul` method +// https://tc39.github.io/ecma262/#sec-math.imul +// some WebKit versions fails with big numbers, some has wrong arity +$({ target: 'Math', stat: true, forced: FORCED }, { + imul: function imul(x, y) { + var UINT16 = 0xFFFF; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + +},{"../internals/export":361,"../internals/fails":362}],530:[function(require,module,exports){ +var $ = require('../internals/export'); + +var log = Math.log; +var LOG10E = Math.LOG10E; + +// `Math.log10` method +// https://tc39.github.io/ecma262/#sec-math.log10 +$({ target: 'Math', stat: true }, { + log10: function log10(x) { + return log(x) * LOG10E; + } +}); + +},{"../internals/export":361}],531:[function(require,module,exports){ +var $ = require('../internals/export'); +var log1p = require('../internals/math-log1p'); + +// `Math.log1p` method +// https://tc39.github.io/ecma262/#sec-math.log1p +$({ target: 'Math', stat: true }, { log1p: log1p }); + +},{"../internals/export":361,"../internals/math-log1p":401}],532:[function(require,module,exports){ +var $ = require('../internals/export'); + +var log = Math.log; +var LN2 = Math.LN2; + +// `Math.log2` method +// https://tc39.github.io/ecma262/#sec-math.log2 +$({ target: 'Math', stat: true }, { + log2: function log2(x) { + return log(x) / LN2; + } +}); + +},{"../internals/export":361}],533:[function(require,module,exports){ +var $ = require('../internals/export'); +var sign = require('../internals/math-sign'); + +// `Math.sign` method +// https://tc39.github.io/ecma262/#sec-math.sign +$({ target: 'Math', stat: true }, { + sign: sign +}); + +},{"../internals/export":361,"../internals/math-sign":403}],534:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var expm1 = require('../internals/math-expm1'); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + return Math.sinh(-2e-17) != -2e-17; +}); + +// `Math.sinh` method +// https://tc39.github.io/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/math-expm1":399}],535:[function(require,module,exports){ +var $ = require('../internals/export'); +var expm1 = require('../internals/math-expm1'); + +var exp = Math.exp; + +// `Math.tanh` method +// https://tc39.github.io/ecma262/#sec-math.tanh +$({ target: 'Math', stat: true }, { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + +},{"../internals/export":361,"../internals/math-expm1":399}],536:[function(require,module,exports){ +var setToStringTag = require('../internals/set-to-string-tag'); + +// Math[@@toStringTag] property +// https://tc39.github.io/ecma262/#sec-math-@@tostringtag +setToStringTag(Math, 'Math', true); + +},{"../internals/set-to-string-tag":445}],537:[function(require,module,exports){ +var $ = require('../internals/export'); + +var ceil = Math.ceil; +var floor = Math.floor; + +// `Math.trunc` method +// https://tc39.github.io/ecma262/#sec-math.trunc +$({ target: 'Math', stat: true }, { + trunc: function trunc(it) { + return (it > 0 ? floor : ceil)(it); + } +}); + +},{"../internals/export":361}],538:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var redefine = require('../internals/redefine'); +var has = require('../internals/has'); +var classof = require('../internals/classof-raw'); +var inheritIfRequired = require('../internals/inherit-if-required'); +var toPrimitive = require('../internals/to-primitive'); +var fails = require('../internals/fails'); +var create = require('../internals/object-create'); +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var defineProperty = require('../internals/object-define-property').f; +var trim = require('../internals/string-trim').trim; + +var NUMBER = 'Number'; +var NativeNumber = global[NUMBER]; +var NumberPrototype = NativeNumber.prototype; + +// Opera ~12 has broken Object#toString +var BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER; + +// `ToNumber` abstract operation +// https://tc39.github.io/ecma262/#sec-tonumber +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + var first, third, radix, maxCode, digits, length, index, code; + if (typeof it == 'string' && it.length > 2) { + it = trim(it); + first = it.charCodeAt(0); + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i + default: return +it; + } + digits = it.slice(2); + length = digits.length; + for (index = 0; index < length; index++) { + code = digits.charCodeAt(index); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +// `Number` constructor +// https://tc39.github.io/ecma262/#sec-number-constructor +if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) { + var NumberWrapper = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var dummy = this; + return dummy instanceof NumberWrapper + // check on 1..constructor(foo) case + && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER) + ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it); + }; + for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES2015 (in case, if modules with ES2015 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) { + defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key)); + } + } + NumberWrapper.prototype = NumberPrototype; + NumberPrototype.constructor = NumberWrapper; + redefine(global, NUMBER, NumberWrapper); +} + +},{"../internals/classof-raw":333,"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/has":378,"../internals/inherit-if-required":384,"../internals/is-forced":389,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/redefine":435,"../internals/string-trim":454,"../internals/to-primitive":465}],539:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.EPSILON` constant +// https://tc39.github.io/ecma262/#sec-number.epsilon +$({ target: 'Number', stat: true }, { + EPSILON: Math.pow(2, -52) +}); + +},{"../internals/export":361}],540:[function(require,module,exports){ +var $ = require('../internals/export'); +var numberIsFinite = require('../internals/number-is-finite'); + +// `Number.isFinite` method +// https://tc39.github.io/ecma262/#sec-number.isfinite +$({ target: 'Number', stat: true }, { isFinite: numberIsFinite }); + +},{"../internals/export":361,"../internals/number-is-finite":411}],541:[function(require,module,exports){ +var $ = require('../internals/export'); +var isInteger = require('../internals/is-integer'); + +// `Number.isInteger` method +// https://tc39.github.io/ecma262/#sec-number.isinteger +$({ target: 'Number', stat: true }, { + isInteger: isInteger +}); + +},{"../internals/export":361,"../internals/is-integer":390}],542:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.isNaN` method +// https://tc39.github.io/ecma262/#sec-number.isnan +$({ target: 'Number', stat: true }, { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + +},{"../internals/export":361}],543:[function(require,module,exports){ +var $ = require('../internals/export'); +var isInteger = require('../internals/is-integer'); + +var abs = Math.abs; + +// `Number.isSafeInteger` method +// https://tc39.github.io/ecma262/#sec-number.issafeinteger +$({ target: 'Number', stat: true }, { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1FFFFFFFFFFFFF; + } +}); + +},{"../internals/export":361,"../internals/is-integer":390}],544:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.MAX_SAFE_INTEGER` constant +// https://tc39.github.io/ecma262/#sec-number.max_safe_integer +$({ target: 'Number', stat: true }, { + MAX_SAFE_INTEGER: 0x1FFFFFFFFFFFFF +}); + +},{"../internals/export":361}],545:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Number.MIN_SAFE_INTEGER` constant +// https://tc39.github.io/ecma262/#sec-number.min_safe_integer +$({ target: 'Number', stat: true }, { + MIN_SAFE_INTEGER: -0x1FFFFFFFFFFFFF +}); + +},{"../internals/export":361}],546:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseFloat = require('../internals/parse-float'); + +// `Number.parseFloat` method +// https://tc39.github.io/ecma262/#sec-number.parseFloat +$({ target: 'Number', stat: true, forced: Number.parseFloat != parseFloat }, { + parseFloat: parseFloat +}); + +},{"../internals/export":361,"../internals/parse-float":428}],547:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseInt = require('../internals/parse-int'); + +// `Number.parseInt` method +// https://tc39.github.io/ecma262/#sec-number.parseint +$({ target: 'Number', stat: true, forced: Number.parseInt != parseInt }, { + parseInt: parseInt +}); + +},{"../internals/export":361,"../internals/parse-int":429}],548:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toInteger = require('../internals/to-integer'); +var thisNumberValue = require('../internals/this-number-value'); +var repeat = require('../internals/string-repeat'); +var fails = require('../internals/fails'); + +var nativeToFixed = 1.0.toFixed; +var floor = Math.floor; + +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; + +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +var FORCED = nativeToFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !fails(function () { + // V8 ~ Android 4.3- + nativeToFixed.call({}); +}); + +// `Number.prototype.toFixed` method +// https://tc39.github.io/ecma262/#sec-number.prototype.tofixed +$({ target: 'Number', proto: true, forced: FORCED }, { + // eslint-disable-next-line max-statements + toFixed: function toFixed(fractionDigits) { + var number = thisNumberValue(this); + var fractDigits = toInteger(fractionDigits); + var data = [0, 0, 0, 0, 0, 0]; + var sign = ''; + var result = '0'; + var e, z, j, k; + + var multiply = function (n, c) { + var index = -1; + var c2 = c; + while (++index < 6) { + c2 += n * data[index]; + data[index] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } + }; + + var divide = function (n) { + var index = 6; + var c = 0; + while (--index >= 0) { + c += data[index]; + data[index] = floor(c / n); + c = (c % n) * 1e7; + } + }; + + var dataToString = function () { + var index = 6; + var s = ''; + while (--index >= 0) { + if (s !== '' || index === 0 || data[index] !== 0) { + var t = String(data[index]); + s = s === '' ? t : s + repeat.call('0', 7 - t.length) + t; + } + } return s; + }; + + if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits'); + // eslint-disable-next-line no-self-compare + if (number != number) return 'NaN'; + if (number <= -1e21 || number >= 1e21) return String(number); + if (number < 0) { + sign = '-'; + number = -number; + } + if (number > 1e-21) { + e = log(number * pow(2, 69, 1)) - 69; + z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = fractDigits; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + result = dataToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + result = dataToString() + repeat.call('0', fractDigits); + } + } + if (fractDigits > 0) { + k = result.length; + result = sign + (k <= fractDigits + ? '0.' + repeat.call('0', fractDigits - k) + result + : result.slice(0, k - fractDigits) + '.' + result.slice(k - fractDigits)); + } else { + result = sign + result; + } return result; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/string-repeat":453,"../internals/this-number-value":456,"../internals/to-integer":460}],549:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var thisNumberValue = require('../internals/this-number-value'); + +var nativeToPrecision = 1.0.toPrecision; + +var FORCED = fails(function () { + // IE7- + return nativeToPrecision.call(1, undefined) !== '1'; +}) || !fails(function () { + // V8 ~ Android 4.3- + nativeToPrecision.call({}); +}); + +// `Number.prototype.toPrecision` method +// https://tc39.github.io/ecma262/#sec-number.prototype.toprecision +$({ target: 'Number', proto: true, forced: FORCED }, { + toPrecision: function toPrecision(precision) { + return precision === undefined + ? nativeToPrecision.call(thisNumberValue(this)) + : nativeToPrecision.call(thisNumberValue(this), precision); + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/this-number-value":456}],550:[function(require,module,exports){ +var $ = require('../internals/export'); +var assign = require('../internals/object-assign'); + +// `Object.assign` method +// https://tc39.github.io/ecma262/#sec-object.assign +$({ target: 'Object', stat: true, forced: Object.assign !== assign }, { + assign: assign +}); + +},{"../internals/export":361,"../internals/object-assign":412}],551:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var create = require('../internals/object-create'); + +// `Object.create` method +// https://tc39.github.io/ecma262/#sec-object.create +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + create: create +}); + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-create":413}],552:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/forced-object-prototype-accessors-methods'); +var toObject = require('../internals/to-object'); +var aFunction = require('../internals/a-function'); +var definePropertyModule = require('../internals/object-define-property'); + +// `Object.prototype.__defineGetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__defineGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineGetter__: function __defineGetter__(P, getter) { + definePropertyModule.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true }); + } + }); +} + +},{"../internals/a-function":310,"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-define-property":415,"../internals/to-object":462}],553:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var defineProperties = require('../internals/object-define-properties'); + +// `Object.defineProperties` method +// https://tc39.github.io/ecma262/#sec-object.defineproperties +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperties: defineProperties +}); + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-define-properties":414}],554:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModile = require('../internals/object-define-property'); + +// `Object.defineProperty` method +// https://tc39.github.io/ecma262/#sec-object.defineproperty +$({ target: 'Object', stat: true, forced: !DESCRIPTORS, sham: !DESCRIPTORS }, { + defineProperty: objectDefinePropertyModile.f +}); + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/object-define-property":415}],555:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/forced-object-prototype-accessors-methods'); +var toObject = require('../internals/to-object'); +var aFunction = require('../internals/a-function'); +var definePropertyModule = require('../internals/object-define-property'); + +// `Object.prototype.__defineSetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__defineSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __defineSetter__: function __defineSetter__(P, setter) { + definePropertyModule.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true }); + } + }); +} + +},{"../internals/a-function":310,"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-define-property":415,"../internals/to-object":462}],556:[function(require,module,exports){ +var $ = require('../internals/export'); +var $entries = require('../internals/object-to-array').entries; + +// `Object.entries` method +// https://tc39.github.io/ecma262/#sec-object.entries +$({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } +}); + +},{"../internals/export":361,"../internals/object-to-array":425}],557:[function(require,module,exports){ +var $ = require('../internals/export'); +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; + +var nativeFreeze = Object.freeze; +var FAILS_ON_PRIMITIVES = fails(function () { nativeFreeze(1); }); + +// `Object.freeze` method +// https://tc39.github.io/ecma262/#sec-object.freeze +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + freeze: function freeze(it) { + return nativeFreeze && isObject(it) ? nativeFreeze(onFreeze(it)) : it; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],558:[function(require,module,exports){ +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var createProperty = require('../internals/create-property'); + +// `Object.fromEntries` method +// https://github.com/tc39/proposal-object-from-entries +$({ target: 'Object', stat: true }, { + fromEntries: function fromEntries(iterable) { + var obj = {}; + iterate(iterable, function (k, v) { + createProperty(obj, k, v); + }, undefined, true); + return obj; + } +}); + +},{"../internals/create-property":352,"../internals/export":361,"../internals/iterate":395}],559:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toIndexedObject = require('../internals/to-indexed-object'); +var nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; +var DESCRIPTORS = require('../internals/descriptors'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); }); +var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptor +$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) { + return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key); + } +}); + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/object-get-own-property-descriptor":416,"../internals/to-indexed-object":459}],560:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var ownKeys = require('../internals/own-keys'); +var toIndexedObject = require('../internals/to-indexed-object'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var createProperty = require('../internals/create-property'); + +// `Object.getOwnPropertyDescriptors` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors +$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIndexedObject(object); + var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; + var keys = ownKeys(O); + var result = {}; + var index = 0; + var key, descriptor; + while (keys.length > index) { + descriptor = getOwnPropertyDescriptor(O, key = keys[index++]); + if (descriptor !== undefined) createProperty(result, key, descriptor); + } + return result; + } +}); + +},{"../internals/create-property":352,"../internals/descriptors":357,"../internals/export":361,"../internals/object-get-own-property-descriptor":416,"../internals/own-keys":427,"../internals/to-indexed-object":459}],561:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var nativeGetOwnPropertyNames = require('../internals/object-get-own-property-names-external').f; + +var FAILS_ON_PRIMITIVES = fails(function () { return !Object.getOwnPropertyNames(1); }); + +// `Object.getOwnPropertyNames` method +// https://tc39.github.io/ecma262/#sec-object.getownpropertynames +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + getOwnPropertyNames: nativeGetOwnPropertyNames +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/object-get-own-property-names-external":417}],562:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var toObject = require('../internals/to-object'); +var nativeGetPrototypeOf = require('../internals/object-get-prototype-of'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); + +// `Object.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.getprototypeof +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(it) { + return nativeGetPrototypeOf(toObject(it)); + } +}); + + +},{"../internals/correct-prototype-getter":345,"../internals/export":361,"../internals/fails":362,"../internals/object-get-prototype-of":420,"../internals/to-object":462}],563:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsExtensible = Object.isExtensible; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsExtensible(1); }); + +// `Object.isExtensible` method +// https://tc39.github.io/ecma262/#sec-object.isextensible +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isExtensible: function isExtensible(it) { + return isObject(it) ? nativeIsExtensible ? nativeIsExtensible(it) : true : false; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],564:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsFrozen = Object.isFrozen; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsFrozen(1); }); + +// `Object.isFrozen` method +// https://tc39.github.io/ecma262/#sec-object.isfrozen +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isFrozen: function isFrozen(it) { + return isObject(it) ? nativeIsFrozen ? nativeIsFrozen(it) : false : true; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],565:[function(require,module,exports){ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var isObject = require('../internals/is-object'); + +var nativeIsSealed = Object.isSealed; +var FAILS_ON_PRIMITIVES = fails(function () { nativeIsSealed(1); }); + +// `Object.isSealed` method +// https://tc39.github.io/ecma262/#sec-object.issealed +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + isSealed: function isSealed(it) { + return isObject(it) ? nativeIsSealed ? nativeIsSealed(it) : false : true; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/is-object":392}],566:[function(require,module,exports){ +var $ = require('../internals/export'); +var is = require('../internals/same-value'); + +// `Object.is` method +// https://tc39.github.io/ecma262/#sec-object.is +$({ target: 'Object', stat: true }, { + is: is +}); + +},{"../internals/export":361,"../internals/same-value":442}],567:[function(require,module,exports){ +var $ = require('../internals/export'); +var toObject = require('../internals/to-object'); +var nativeKeys = require('../internals/object-keys'); +var fails = require('../internals/fails'); + +var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); }); + +// `Object.keys` method +// https://tc39.github.io/ecma262/#sec-object.keys +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, { + keys: function keys(it) { + return nativeKeys(toObject(it)); + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/object-keys":422,"../internals/to-object":462}],568:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/forced-object-prototype-accessors-methods'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Object.prototype.__lookupGetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupGetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupGetter__: function __lookupGetter__(P) { + var O = toObject(this); + var key = toPrimitive(P, true); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.get; + } while (O = getPrototypeOf(O)); + } + }); +} + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420,"../internals/to-object":462,"../internals/to-primitive":465}],569:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var FORCED = require('../internals/forced-object-prototype-accessors-methods'); +var toObject = require('../internals/to-object'); +var toPrimitive = require('../internals/to-primitive'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Object.prototype.__lookupSetter__` method +// https://tc39.github.io/ecma262/#sec-object.prototype.__lookupSetter__ +if (DESCRIPTORS) { + $({ target: 'Object', proto: true, forced: FORCED }, { + __lookupSetter__: function __lookupSetter__(P) { + var O = toObject(this); + var key = toPrimitive(P, true); + var desc; + do { + if (desc = getOwnPropertyDescriptor(O, key)) return desc.set; + } while (O = getPrototypeOf(O)); + } + }); +} + +},{"../internals/descriptors":357,"../internals/export":361,"../internals/forced-object-prototype-accessors-methods":365,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420,"../internals/to-object":462,"../internals/to-primitive":465}],570:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); + +var nativePreventExtensions = Object.preventExtensions; +var FAILS_ON_PRIMITIVES = fails(function () { nativePreventExtensions(1); }); + +// `Object.preventExtensions` method +// https://tc39.github.io/ecma262/#sec-object.preventextensions +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + preventExtensions: function preventExtensions(it) { + return nativePreventExtensions && isObject(it) ? nativePreventExtensions(onFreeze(it)) : it; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],571:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var onFreeze = require('../internals/internal-metadata').onFreeze; +var FREEZING = require('../internals/freezing'); +var fails = require('../internals/fails'); + +var nativeSeal = Object.seal; +var FAILS_ON_PRIMITIVES = fails(function () { nativeSeal(1); }); + +// `Object.seal` method +// https://tc39.github.io/ecma262/#sec-object.seal +$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, { + seal: function seal(it) { + return nativeSeal && isObject(it) ? nativeSeal(onFreeze(it)) : it; + } +}); + +},{"../internals/export":361,"../internals/fails":362,"../internals/freezing":368,"../internals/internal-metadata":385,"../internals/is-object":392}],572:[function(require,module,exports){ +var $ = require('../internals/export'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); + +// `Object.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-object.setprototypeof +$({ target: 'Object', stat: true }, { + setPrototypeOf: setPrototypeOf +}); + +},{"../internals/export":361,"../internals/object-set-prototype-of":424}],573:[function(require,module,exports){ +var redefine = require('../internals/redefine'); +var toString = require('../internals/object-to-string'); + +var ObjectPrototype = Object.prototype; + +// `Object.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-object.prototype.tostring +if (toString !== ObjectPrototype.toString) { + redefine(ObjectPrototype, 'toString', toString, { unsafe: true }); +} + +},{"../internals/object-to-string":426,"../internals/redefine":435}],574:[function(require,module,exports){ +var $ = require('../internals/export'); +var $values = require('../internals/object-to-array').values; + +// `Object.values` method +// https://tc39.github.io/ecma262/#sec-object.values +$({ target: 'Object', stat: true }, { + values: function values(O) { + return $values(O); + } +}); + +},{"../internals/export":361,"../internals/object-to-array":425}],575:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseFloatImplementation = require('../internals/parse-float'); + +// `parseFloat` method +// https://tc39.github.io/ecma262/#sec-parsefloat-string +$({ global: true, forced: parseFloat != parseFloatImplementation }, { + parseFloat: parseFloatImplementation +}); + +},{"../internals/export":361,"../internals/parse-float":428}],576:[function(require,module,exports){ +var $ = require('../internals/export'); +var parseIntImplementation = require('../internals/parse-int'); + +// `parseInt` method +// https://tc39.github.io/ecma262/#sec-parseint-string-radix +$({ global: true, forced: parseInt != parseIntImplementation }, { + parseInt: parseIntImplementation +}); + +},{"../internals/export":361,"../internals/parse-int":429}],577:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); +var iterate = require('../internals/iterate'); + +// `Promise.allSettled` method +// https://github.com/tc39/proposal-promise-allSettled +$({ target: 'Promise', stat: true }, { + allSettled: function allSettled(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'fulfilled', value: value }; + --remaining || resolve(values); + }, function (e) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = { status: 'rejected', reason: e }; + --remaining || resolve(values); + }); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + +},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395,"../internals/new-promise-capability":409,"../internals/perform":431}],578:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var NativePromise = require('../internals/native-promise-constructor'); +var getBuiltIn = require('../internals/get-built-in'); +var speciesConstructor = require('../internals/species-constructor'); +var promiseResolve = require('../internals/promise-resolve'); +var redefine = require('../internals/redefine'); + +// `Promise.prototype.finally` method +// https://tc39.github.io/ecma262/#sec-promise.prototype.finally +$({ target: 'Promise', proto: true, real: true }, { + 'finally': function (onFinally) { + var C = speciesConstructor(this, getBuiltIn('Promise')); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); + } +}); + +// patch native Promise.prototype for native async functions +if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) { + redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']); +} + +},{"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/native-promise-constructor":405,"../internals/promise-resolve":432,"../internals/redefine":435,"../internals/species-constructor":450}],579:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var NativePromise = require('../internals/native-promise-constructor'); +var redefine = require('../internals/redefine'); +var redefineAll = require('../internals/redefine-all'); +var shared = require('../internals/shared'); +var setToStringTag = require('../internals/set-to-string-tag'); +var setSpecies = require('../internals/set-species'); +var isObject = require('../internals/is-object'); +var aFunction = require('../internals/a-function'); +var anInstance = require('../internals/an-instance'); +var classof = require('../internals/classof-raw'); +var iterate = require('../internals/iterate'); +var checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration'); +var speciesConstructor = require('../internals/species-constructor'); +var task = require('../internals/task').set; +var microtask = require('../internals/microtask'); +var promiseResolve = require('../internals/promise-resolve'); +var hostReportErrors = require('../internals/host-report-errors'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); +var InternalStateModule = require('../internals/internal-state'); +var isForced = require('../internals/is-forced'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var V8_VERSION = require('../internals/v8-version'); + +var SPECIES = wellKnownSymbol('species'); +var PROMISE = 'Promise'; +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; +var getInternalPromiseState = InternalStateModule.getterFor(PROMISE); +var PromiseConstructor = NativePromise; +var TypeError = global.TypeError; +var document = global.document; +var process = global.process; +var inspectSource = shared('inspectSource'); +var $fetch = getBuiltIn('fetch'); +var newPromiseCapability = newPromiseCapabilityModule.f; +var newGenericPromiseCapability = newPromiseCapability; +var IS_NODE = classof(process) == 'process'; +var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent); +var UNHANDLED_REJECTION = 'unhandledrejection'; +var REJECTION_HANDLED = 'rejectionhandled'; +var PENDING = 0; +var FULFILLED = 1; +var REJECTED = 2; +var HANDLED = 1; +var UNHANDLED = 2; +var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen; + +var FORCED = isForced(PROMISE, function () { + var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor); + // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // We can't detect it synchronously, so just check versions + if (V8_VERSION === 66) return true; + // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test + if (!GLOBAL_CORE_JS_PROMISE && !IS_NODE && typeof PromiseRejectionEvent != 'function') return true; + // We need Promise#finally in the pure version for preventing prototype pollution + if (IS_PURE && !PromiseConstructor.prototype['finally']) return true; + // We can't use @@species feature detection in V8 since it causes + // deoptimization and performance degradation + // https://github.com/zloirock/core-js/issues/679 + if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false; + // Detect correctness of subclassing with @@species support + var promise = PromiseConstructor.resolve(1); + var FakePromise = function (exec) { + exec(function () { /* empty */ }, function () { /* empty */ }); + }; + var constructor = promise.constructor = {}; + constructor[SPECIES] = FakePromise; + return !(promise.then(function () { /* empty */ }) instanceof FakePromise); +}); + +var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) { + PromiseConstructor.all(iterable)['catch'](function () { /* empty */ }); +}); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; + +var notify = function (promise, state, isReject) { + if (state.notified) return; + state.notified = true; + var chain = state.reactions; + microtask(function () { + var value = state.value; + var ok = state.state == FULFILLED; + var index = 0; + // variable length - can't use forEach + while (chain.length > index) { + var reaction = chain[index++]; + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (state.rejection === UNHANDLED) onHandleUnhandled(promise, state); + state.rejection = HANDLED; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // can throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (error) { + if (domain && !exited) domain.exit(); + reject(error); + } + } + state.reactions = []; + state.notified = false; + if (isReject && !state.rejection) onUnhandled(promise, state); + }); +}; + +var dispatchEvent = function (name, promise, reason) { + var event, handler; + if (DISPATCH_EVENT) { + event = document.createEvent('Event'); + event.promise = promise; + event.reason = reason; + event.initEvent(name, false, true); + global.dispatchEvent(event); + } else event = { promise: promise, reason: reason }; + if (handler = global['on' + name]) handler(event); + else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason); +}; + +var onUnhandled = function (promise, state) { + task.call(global, function () { + var value = state.value; + var IS_UNHANDLED = isUnhandled(state); + var result; + if (IS_UNHANDLED) { + result = perform(function () { + if (IS_NODE) { + process.emit('unhandledRejection', value, promise); + } else dispatchEvent(UNHANDLED_REJECTION, promise, value); + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED; + if (result.error) throw result.value; + } + }); +}; + +var isUnhandled = function (state) { + return state.rejection !== HANDLED && !state.parent; +}; + +var onHandleUnhandled = function (promise, state) { + task.call(global, function () { + if (IS_NODE) { + process.emit('rejectionHandled', promise); + } else dispatchEvent(REJECTION_HANDLED, promise, state.value); + }); +}; + +var bind = function (fn, promise, state, unwrap) { + return function (value) { + fn(promise, state, value, unwrap); + }; +}; + +var internalReject = function (promise, state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + state.value = value; + state.state = REJECTED; + notify(promise, state, true); +}; + +var internalResolve = function (promise, state, value, unwrap) { + if (state.done) return; + state.done = true; + if (unwrap) state = unwrap; + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + var then = isThenable(value); + if (then) { + microtask(function () { + var wrapper = { done: false }; + try { + then.call(value, + bind(internalResolve, promise, wrapper, state), + bind(internalReject, promise, wrapper, state) + ); + } catch (error) { + internalReject(promise, wrapper, error, state); + } + }); + } else { + state.value = value; + state.state = FULFILLED; + notify(promise, state, false); + } + } catch (error) { + internalReject(promise, { done: false }, error, state); + } +}; + +// constructor polyfill +if (FORCED) { + // 25.4.3.1 Promise(executor) + PromiseConstructor = function Promise(executor) { + anInstance(this, PromiseConstructor, PROMISE); + aFunction(executor); + Internal.call(this); + var state = getInternalState(this); + try { + executor(bind(internalResolve, this, state), bind(internalReject, this, state)); + } catch (error) { + internalReject(this, state, error); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + setInternalState(this, { + type: PROMISE, + done: false, + notified: false, + parent: false, + reactions: [], + rejection: false, + state: PENDING, + value: undefined + }); + }; + Internal.prototype = redefineAll(PromiseConstructor.prototype, { + // `Promise.prototype.then` method + // https://tc39.github.io/ecma262/#sec-promise.prototype.then + then: function then(onFulfilled, onRejected) { + var state = getInternalPromiseState(this); + var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = IS_NODE ? process.domain : undefined; + state.parent = true; + state.reactions.push(reaction); + if (state.state != PENDING) notify(this, state, false); + return reaction.promise; + }, + // `Promise.prototype.catch` method + // https://tc39.github.io/ecma262/#sec-promise.prototype.catch + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + var state = getInternalState(promise); + this.promise = promise; + this.resolve = bind(internalResolve, promise, state); + this.reject = bind(internalReject, promise, state); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === PromiseConstructor || C === PromiseWrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; + + if (!IS_PURE && typeof NativePromise == 'function') { + nativeThen = NativePromise.prototype.then; + + // wrap native Promise#then for native async functions + redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) { + var that = this; + return new PromiseConstructor(function (resolve, reject) { + nativeThen.call(that, resolve, reject); + }).then(onFulfilled, onRejected); + // https://github.com/zloirock/core-js/issues/640 + }, { unsafe: true }); + + // wrap fetch result + if (typeof $fetch == 'function') $({ global: true, enumerable: true, forced: true }, { + // eslint-disable-next-line no-unused-vars + fetch: function fetch(input /* , init */) { + return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments)); + } + }); + } +} + +$({ global: true, wrap: true, forced: FORCED }, { + Promise: PromiseConstructor +}); + +setToStringTag(PromiseConstructor, PROMISE, false, true); +setSpecies(PROMISE); + +PromiseWrapper = getBuiltIn(PROMISE); + +// statics +$({ target: PROMISE, stat: true, forced: FORCED }, { + // `Promise.reject` method + // https://tc39.github.io/ecma262/#sec-promise.reject + reject: function reject(r) { + var capability = newPromiseCapability(this); + capability.reject.call(undefined, r); + return capability.promise; + } +}); + +$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, { + // `Promise.resolve` method + // https://tc39.github.io/ecma262/#sec-promise.resolve + resolve: function resolve(x) { + return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x); + } +}); + +$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, { + // `Promise.all` method + // https://tc39.github.io/ecma262/#sec-promise.all + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + var values = []; + var counter = 0; + var remaining = 1; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + $promiseResolve.call(C, promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.error) reject(result.value); + return capability.promise; + }, + // `Promise.race` method + // https://tc39.github.io/ecma262/#sec-promise.race + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + var $promiseResolve = aFunction(C.resolve); + iterate(iterable, function (promise) { + $promiseResolve.call(C, promise).then(capability.resolve, reject); + }); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + +},{"../internals/a-function":310,"../internals/an-instance":314,"../internals/check-correctness-of-iteration":332,"../internals/classof-raw":333,"../internals/export":361,"../internals/get-built-in":372,"../internals/global":377,"../internals/host-report-errors":380,"../internals/internal-state":386,"../internals/is-forced":389,"../internals/is-object":392,"../internals/is-pure":393,"../internals/iterate":395,"../internals/microtask":404,"../internals/native-promise-constructor":405,"../internals/new-promise-capability":409,"../internals/perform":431,"../internals/promise-resolve":432,"../internals/redefine":435,"../internals/redefine-all":434,"../internals/set-species":444,"../internals/set-to-string-tag":445,"../internals/shared":448,"../internals/species-constructor":450,"../internals/task":455,"../internals/v8-version":471,"../internals/well-known-symbol":473}],580:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var fails = require('../internals/fails'); + +var nativeApply = getBuiltIn('Reflect', 'apply'); +var functionApply = Function.apply; + +// MS Edge argumentsList argument is optional +var OPTIONAL_ARGUMENTS_LIST = !fails(function () { + nativeApply(function () { /* empty */ }); +}); + +// `Reflect.apply` method +// https://tc39.github.io/ecma262/#sec-reflect.apply +$({ target: 'Reflect', stat: true, forced: OPTIONAL_ARGUMENTS_LIST }, { + apply: function apply(target, thisArgument, argumentsList) { + aFunction(target); + anObject(argumentsList); + return nativeApply + ? nativeApply(target, thisArgument, argumentsList) + : functionApply.call(target, thisArgument, argumentsList); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/fails":362,"../internals/get-built-in":372}],581:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var bind = require('../internals/function-bind'); +var fails = require('../internals/fails'); + +var nativeConstruct = getBuiltIn('Reflect', 'construct'); + +// `Reflect.construct` method +// https://tc39.github.io/ecma262/#sec-reflect.construct +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + nativeConstruct(function () { /* empty */ }); +}); +var FORCED = NEW_TARGET_BUG || ARGS_BUG; + +$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/fails":362,"../internals/function-bind":369,"../internals/get-built-in":372,"../internals/is-object":392,"../internals/object-create":413}],582:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var anObject = require('../internals/an-object'); +var toPrimitive = require('../internals/to-primitive'); +var definePropertyModule = require('../internals/object-define-property'); +var fails = require('../internals/fails'); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +var ERROR_INSTEAD_OF_FALSE = fails(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(definePropertyModule.f({}, 1, { value: 1 }), 1, { value: 2 }); +}); + +// `Reflect.defineProperty` method +// https://tc39.github.io/ecma262/#sec-reflect.defineproperty +$({ target: 'Reflect', stat: true, forced: ERROR_INSTEAD_OF_FALSE, sham: !DESCRIPTORS }, { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + var key = toPrimitive(propertyKey, true); + anObject(attributes); + try { + definePropertyModule.f(target, key, attributes); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/object-define-property":415,"../internals/to-primitive":465}],583:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f; + +// `Reflect.deleteProperty` method +// https://tc39.github.io/ecma262/#sec-reflect.deleteproperty +$({ target: 'Reflect', stat: true }, { + deleteProperty: function deleteProperty(target, propertyKey) { + var descriptor = getOwnPropertyDescriptor(anObject(target), propertyKey); + return descriptor && !descriptor.configurable ? false : delete target[propertyKey]; + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-own-property-descriptor":416}],584:[function(require,module,exports){ +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var anObject = require('../internals/an-object'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); + +// `Reflect.getOwnPropertyDescriptor` method +// https://tc39.github.io/ecma262/#sec-reflect.getownpropertydescriptor +$({ target: 'Reflect', stat: true, sham: !DESCRIPTORS }, { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + } +}); + +},{"../internals/an-object":315,"../internals/descriptors":357,"../internals/export":361,"../internals/object-get-own-property-descriptor":416}],585:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var objectGetPrototypeOf = require('../internals/object-get-prototype-of'); +var CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter'); + +// `Reflect.getPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-reflect.getprototypeof +$({ target: 'Reflect', stat: true, sham: !CORRECT_PROTOTYPE_GETTER }, { + getPrototypeOf: function getPrototypeOf(target) { + return objectGetPrototypeOf(anObject(target)); + } +}); + +},{"../internals/an-object":315,"../internals/correct-prototype-getter":345,"../internals/export":361,"../internals/object-get-prototype-of":420}],586:[function(require,module,exports){ +var $ = require('../internals/export'); +var isObject = require('../internals/is-object'); +var anObject = require('../internals/an-object'); +var has = require('../internals/has'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); + +// `Reflect.get` method +// https://tc39.github.io/ecma262/#sec-reflect.get +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var descriptor, prototype; + if (anObject(target) === receiver) return target[propertyKey]; + if (descriptor = getOwnPropertyDescriptorModule.f(target, propertyKey)) return has(descriptor, 'value') + ? descriptor.value + : descriptor.get === undefined + ? undefined + : descriptor.get.call(receiver); + if (isObject(prototype = getPrototypeOf(target))) return get(prototype, propertyKey, receiver); +} + +$({ target: 'Reflect', stat: true }, { + get: get +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/has":378,"../internals/is-object":392,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420}],587:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Reflect.has` method +// https://tc39.github.io/ecma262/#sec-reflect.has +$({ target: 'Reflect', stat: true }, { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + +},{"../internals/export":361}],588:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); + +var objectIsExtensible = Object.isExtensible; + +// `Reflect.isExtensible` method +// https://tc39.github.io/ecma262/#sec-reflect.isextensible +$({ target: 'Reflect', stat: true }, { + isExtensible: function isExtensible(target) { + anObject(target); + return objectIsExtensible ? objectIsExtensible(target) : true; + } +}); + +},{"../internals/an-object":315,"../internals/export":361}],589:[function(require,module,exports){ +var $ = require('../internals/export'); +var ownKeys = require('../internals/own-keys'); + +// `Reflect.ownKeys` method +// https://tc39.github.io/ecma262/#sec-reflect.ownkeys +$({ target: 'Reflect', stat: true }, { + ownKeys: ownKeys +}); + +},{"../internals/export":361,"../internals/own-keys":427}],590:[function(require,module,exports){ +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var FREEZING = require('../internals/freezing'); + +// `Reflect.preventExtensions` method +// https://tc39.github.io/ecma262/#sec-reflect.preventextensions +$({ target: 'Reflect', stat: true, sham: !FREEZING }, { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + var objectPreventExtensions = getBuiltIn('Object', 'preventExtensions'); + if (objectPreventExtensions) objectPreventExtensions(target); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/freezing":368,"../internals/get-built-in":372}],591:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var aPossiblePrototype = require('../internals/a-possible-prototype'); +var objectSetPrototypeOf = require('../internals/object-set-prototype-of'); + +// `Reflect.setPrototypeOf` method +// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof +if (objectSetPrototypeOf) $({ target: 'Reflect', stat: true }, { + setPrototypeOf: function setPrototypeOf(target, proto) { + anObject(target); + aPossiblePrototype(proto); + try { + objectSetPrototypeOf(target, proto); + return true; + } catch (error) { + return false; + } + } +}); + +},{"../internals/a-possible-prototype":311,"../internals/an-object":315,"../internals/export":361,"../internals/object-set-prototype-of":424}],592:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var has = require('../internals/has'); +var definePropertyModule = require('../internals/object-define-property'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); + +// `Reflect.set` method +// https://tc39.github.io/ecma262/#sec-reflect.set +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDescriptor = getOwnPropertyDescriptorModule.f(anObject(target), propertyKey); + var existingDescriptor, prototype; + if (!ownDescriptor) { + if (isObject(prototype = getPrototypeOf(target))) { + return set(prototype, propertyKey, V, receiver); + } + ownDescriptor = createPropertyDescriptor(0); + } + if (has(ownDescriptor, 'value')) { + if (ownDescriptor.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = getOwnPropertyDescriptorModule.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + definePropertyModule.f(receiver, propertyKey, existingDescriptor); + } else definePropertyModule.f(receiver, propertyKey, createPropertyDescriptor(0, V)); + return true; + } + return ownDescriptor.set === undefined ? false : (ownDescriptor.set.call(receiver, V), true); +} + +$({ target: 'Reflect', stat: true }, { + set: set +}); + +},{"../internals/an-object":315,"../internals/create-property-descriptor":351,"../internals/export":361,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-prototype-of":420}],593:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var isForced = require('../internals/is-forced'); +var inheritIfRequired = require('../internals/inherit-if-required'); +var defineProperty = require('../internals/object-define-property').f; +var getOwnPropertyNames = require('../internals/object-get-own-property-names').f; +var isRegExp = require('../internals/is-regexp'); +var getFlags = require('../internals/regexp-flags'); +var redefine = require('../internals/redefine'); +var fails = require('../internals/fails'); +var setSpecies = require('../internals/set-species'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var MATCH = wellKnownSymbol('match'); +var NativeRegExp = global.RegExp; +var RegExpPrototype = NativeRegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; + +// "new" should create a new object, old webkit bug +var CORRECT_NEW = new NativeRegExp(re1) !== re1; + +var FORCED = DESCRIPTORS && isForced('RegExp', (!CORRECT_NEW || fails(function () { + re2[MATCH] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i'; +}))); + +// `RegExp` constructor +// https://tc39.github.io/ecma262/#sec-regexp-constructor +if (FORCED) { + var RegExpWrapper = function RegExp(pattern, flags) { + var thisIsRegExp = this instanceof RegExpWrapper; + var patternIsRegExp = isRegExp(pattern); + var flagsAreUndefined = flags === undefined; + return !thisIsRegExp && patternIsRegExp && pattern.constructor === RegExpWrapper && flagsAreUndefined ? pattern + : inheritIfRequired(CORRECT_NEW + ? new NativeRegExp(patternIsRegExp && !flagsAreUndefined ? pattern.source : pattern, flags) + : NativeRegExp((patternIsRegExp = pattern instanceof RegExpWrapper) + ? pattern.source + : pattern, patternIsRegExp && flagsAreUndefined ? getFlags.call(pattern) : flags) + , thisIsRegExp ? this : RegExpPrototype, RegExpWrapper); + }; + var proxy = function (key) { + key in RegExpWrapper || defineProperty(RegExpWrapper, key, { + configurable: true, + get: function () { return NativeRegExp[key]; }, + set: function (it) { NativeRegExp[key] = it; } + }); + }; + var keys = getOwnPropertyNames(NativeRegExp); + var index = 0; + while (keys.length > index) proxy(keys[index++]); + RegExpPrototype.constructor = RegExpWrapper; + RegExpWrapper.prototype = RegExpPrototype; + redefine(global, 'RegExp', RegExpWrapper); +} + +// https://tc39.github.io/ecma262/#sec-get-regexp-@@species +setSpecies('RegExp'); + +},{"../internals/descriptors":357,"../internals/fails":362,"../internals/global":377,"../internals/inherit-if-required":384,"../internals/is-forced":389,"../internals/is-regexp":394,"../internals/object-define-property":415,"../internals/object-get-own-property-names":418,"../internals/redefine":435,"../internals/regexp-flags":439,"../internals/set-species":444,"../internals/well-known-symbol":473}],594:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var exec = require('../internals/regexp-exec'); + +$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { + exec: exec +}); + +},{"../internals/export":361,"../internals/regexp-exec":438}],595:[function(require,module,exports){ +var DESCRIPTORS = require('../internals/descriptors'); +var objectDefinePropertyModule = require('../internals/object-define-property'); +var regExpFlags = require('../internals/regexp-flags'); + +// `RegExp.prototype.flags` getter +// https://tc39.github.io/ecma262/#sec-get-regexp.prototype.flags +if (DESCRIPTORS && /./g.flags != 'g') { + objectDefinePropertyModule.f(RegExp.prototype, 'flags', { + configurable: true, + get: regExpFlags + }); +} + +},{"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/regexp-flags":439}],596:[function(require,module,exports){ +'use strict'; +var redefine = require('../internals/redefine'); +var anObject = require('../internals/an-object'); +var fails = require('../internals/fails'); +var flags = require('../internals/regexp-flags'); + +var TO_STRING = 'toString'; +var RegExpPrototype = RegExp.prototype; +var nativeToString = RegExpPrototype[TO_STRING]; + +var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); +// FF44- RegExp#toString has a wrong name +var INCORRECT_NAME = nativeToString.name != TO_STRING; + +// `RegExp.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring +if (NOT_GENERIC || INCORRECT_NAME) { + redefine(RegExp.prototype, TO_STRING, function toString() { + var R = anObject(this); + var p = String(R.source); + var rf = R.flags; + var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); + return '/' + p + '/' + f; + }, { unsafe: true }); +} + +},{"../internals/an-object":315,"../internals/fails":362,"../internals/redefine":435,"../internals/regexp-flags":439}],597:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionStrong = require('../internals/collection-strong'); + +// `Set` constructor +// https://tc39.github.io/ecma262/#sec-set-objects +module.exports = collection('Set', function (get) { + return function Set() { return get(this, arguments.length ? arguments[0] : undefined); }; +}, collectionStrong); + +},{"../internals/collection":341,"../internals/collection-strong":339}],598:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.anchor` method +// https://tc39.github.io/ecma262/#sec-string.prototype.anchor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('anchor') }, { + anchor: function anchor(name) { + return createHTML(this, 'a', 'name', name); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],599:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.big` method +// https://tc39.github.io/ecma262/#sec-string.prototype.big +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('big') }, { + big: function big() { + return createHTML(this, 'big', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],600:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.blink` method +// https://tc39.github.io/ecma262/#sec-string.prototype.blink +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('blink') }, { + blink: function blink() { + return createHTML(this, 'blink', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],601:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.bold` method +// https://tc39.github.io/ecma262/#sec-string.prototype.bold +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('bold') }, { + bold: function bold() { + return createHTML(this, 'b', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],602:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var codeAt = require('../internals/string-multibyte').codeAt; + +// `String.prototype.codePointAt` method +// https://tc39.github.io/ecma262/#sec-string.prototype.codepointat +$({ target: 'String', proto: true }, { + codePointAt: function codePointAt(pos) { + return codeAt(this, pos); + } +}); + +},{"../internals/export":361,"../internals/string-multibyte":451}],603:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toLength = require('../internals/to-length'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); + +var nativeEndsWith = ''.endsWith; +var min = Math.min; + +// `String.prototype.endsWith` method +// https://tc39.github.io/ecma262/#sec-string.prototype.endswith +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('endsWith') }, { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = String(requireObjectCoercible(this)); + notARegExp(searchString); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : min(toLength(endPosition), len); + var search = String(searchString); + return nativeEndsWith + ? nativeEndsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + +},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440,"../internals/to-length":461}],604:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.fixed` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fixed +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fixed') }, { + fixed: function fixed() { + return createHTML(this, 'tt', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],605:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.fontcolor` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fontcolor +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontcolor') }, { + fontcolor: function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],606:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.fontsize` method +// https://tc39.github.io/ecma262/#sec-string.prototype.fontsize +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('fontsize') }, { + fontsize: function fontsize(size) { + return createHTML(this, 'font', 'size', size); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],607:[function(require,module,exports){ +var $ = require('../internals/export'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); + +var fromCharCode = String.fromCharCode; +var nativeFromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1; + +// `String.fromCodePoint` method +// https://tc39.github.io/ecma262/#sec-string.fromcodepoint +$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, { + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var elements = []; + var length = arguments.length; + var i = 0; + var code; + while (length > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point'); + elements.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00) + ); + } return elements.join(''); + } +}); + +},{"../internals/export":361,"../internals/to-absolute-index":457}],608:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); + +// `String.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-string.prototype.includes +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, { + includes: function includes(searchString /* , position = 0 */) { + return !!~String(requireObjectCoercible(this)) + .indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440}],609:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.italics` method +// https://tc39.github.io/ecma262/#sec-string.prototype.italics +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, { + italics: function italics() { + return createHTML(this, 'i', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],610:[function(require,module,exports){ +'use strict'; +var charAt = require('../internals/string-multibyte').charAt; +var InternalStateModule = require('../internals/internal-state'); +var defineIterator = require('../internals/define-iterator'); + +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// `String.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-string.prototype-@@iterator +defineIterator(String, 'String', function (iterated) { + setInternalState(this, { + type: STRING_ITERATOR, + string: String(iterated), + index: 0 + }); +// `%StringIteratorPrototype%.next` method +// https://tc39.github.io/ecma262/#sec-%stringiteratorprototype%.next +}, function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: point, done: false }; +}); + +},{"../internals/define-iterator":355,"../internals/internal-state":386,"../internals/string-multibyte":451}],611:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.link` method +// https://tc39.github.io/ecma262/#sec-string.prototype.link +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, { + link: function link(url) { + return createHTML(this, 'a', 'href', url); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],612:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var toLength = require('../internals/to-length'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var classof = require('../internals/classof'); +var isRegExp = require('../internals/is-regexp'); +var getRegExpFlags = require('../internals/regexp-flags'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var fails = require('../internals/fails'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var speciesConstructor = require('../internals/species-constructor'); +var advanceStringIndex = require('../internals/advance-string-index'); +var InternalStateModule = require('../internals/internal-state'); +var IS_PURE = require('../internals/is-pure'); + +var MATCH_ALL = wellKnownSymbol('matchAll'); +var REGEXP_STRING = 'RegExp String'; +var REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR); +var RegExpPrototype = RegExp.prototype; +var regExpBuiltinExec = RegExpPrototype.exec; +var nativeMatchAll = ''.matchAll; + +var WORKS_WITH_NON_GLOBAL_REGEX = !!nativeMatchAll && !fails(function () { + 'a'.matchAll(/./); +}); + +var regExpExec = function (R, S) { + var exec = R.exec; + var result; + if (typeof exec == 'function') { + result = exec.call(R, S); + if (typeof result != 'object') throw TypeError('Incorrect exec result'); + return result; + } return regExpBuiltinExec.call(R, S); +}; + +// eslint-disable-next-line max-len +var $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, global, fullUnicode) { + setInternalState(this, { + type: REGEXP_STRING_ITERATOR, + regexp: regexp, + string: string, + global: global, + unicode: fullUnicode, + done: false + }); +}, REGEXP_STRING, function next() { + var state = getInternalState(this); + if (state.done) return { value: undefined, done: true }; + var R = state.regexp; + var S = state.string; + var match = regExpExec(R, S); + if (match === null) return { value: undefined, done: state.done = true }; + if (state.global) { + if (String(match[0]) == '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode); + return { value: match, done: false }; + } + state.done = true; + return { value: match, done: false }; +}); + +var $matchAll = function (string) { + var R = anObject(this); + var S = String(string); + var C, flagsValue, flags, matcher, global, fullUnicode; + C = speciesConstructor(R, RegExp); + flagsValue = R.flags; + if (flagsValue === undefined && R instanceof RegExp && !('flags' in RegExpPrototype)) { + flagsValue = getRegExpFlags.call(R); + } + flags = flagsValue === undefined ? '' : String(flagsValue); + matcher = new C(C === RegExp ? R.source : R, flags); + global = !!~flags.indexOf('g'); + fullUnicode = !!~flags.indexOf('u'); + matcher.lastIndex = toLength(R.lastIndex); + return new $RegExpStringIterator(matcher, S, global, fullUnicode); +}; + +// `String.prototype.matchAll` method +// https://github.com/tc39/proposal-string-matchall +$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, { + matchAll: function matchAll(regexp) { + var O = requireObjectCoercible(this); + var flags, S, matcher, rx; + if (regexp != null) { + if (isRegExp(regexp)) { + flags = String(requireObjectCoercible('flags' in RegExpPrototype + ? regexp.flags + : getRegExpFlags.call(regexp) + )); + if (!~flags.indexOf('g')) throw TypeError('`.matchAll` does not allow non-global regexes'); + } + if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); + matcher = regexp[MATCH_ALL]; + if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll; + if (matcher != null) return aFunction(matcher).call(regexp, O); + } else if (WORKS_WITH_NON_GLOBAL_REGEX) return nativeMatchAll.apply(O, arguments); + S = String(O); + rx = new RegExp(regexp, 'g'); + return IS_PURE ? $matchAll.call(rx, S) : rx[MATCH_ALL](S); + } +}); + +IS_PURE || MATCH_ALL in RegExpPrototype || createNonEnumerableProperty(RegExpPrototype, MATCH_ALL, $matchAll); + +},{"../internals/a-function":310,"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/classof":334,"../internals/create-iterator-constructor":348,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/fails":362,"../internals/internal-state":386,"../internals/is-pure":393,"../internals/is-regexp":394,"../internals/regexp-flags":439,"../internals/require-object-coercible":440,"../internals/species-constructor":450,"../internals/to-length":461,"../internals/well-known-symbol":473}],613:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var toLength = require('../internals/to-length'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var advanceStringIndex = require('../internals/advance-string-index'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +// @@match logic +fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.github.io/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = regexp == undefined ? undefined : regexp[MATCH]; + return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative(nativeMatch, regexp, this); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + if (!rx.global) return regExpExec(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + +},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/to-length":461}],614:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $padEnd = require('../internals/string-pad').end; +var WEBKIT_BUG = require('../internals/webkit-string-pad-bug'); + +// `String.prototype.padEnd` method +// https://tc39.github.io/ecma262/#sec-string.prototype.padend +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/export":361,"../internals/string-pad":452,"../internals/webkit-string-pad-bug":472}],615:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $padStart = require('../internals/string-pad').start; +var WEBKIT_BUG = require('../internals/webkit-string-pad-bug'); + +// `String.prototype.padStart` method +// https://tc39.github.io/ecma262/#sec-string.prototype.padstart +$({ target: 'String', proto: true, forced: WEBKIT_BUG }, { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"../internals/export":361,"../internals/string-pad":452,"../internals/webkit-string-pad-bug":472}],616:[function(require,module,exports){ +var $ = require('../internals/export'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toLength = require('../internals/to-length'); + +// `String.raw` method +// https://tc39.github.io/ecma262/#sec-string.raw +$({ target: 'String', stat: true }, { + raw: function raw(template) { + var rawTemplate = toIndexedObject(template.raw); + var literalSegments = toLength(rawTemplate.length); + var argumentsLength = arguments.length; + var elements = []; + var i = 0; + while (literalSegments > i) { + elements.push(String(rawTemplate[i++])); + if (i < argumentsLength) elements.push(String(arguments[i])); + } return elements.join(''); + } +}); + +},{"../internals/export":361,"../internals/to-indexed-object":459,"../internals/to-length":461}],617:[function(require,module,exports){ +var $ = require('../internals/export'); +var repeat = require('../internals/string-repeat'); + +// `String.prototype.repeat` method +// https://tc39.github.io/ecma262/#sec-string.prototype.repeat +$({ target: 'String', proto: true }, { + repeat: repeat +}); + +},{"../internals/export":361,"../internals/string-repeat":453}],618:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var toInteger = require('../internals/to-integer'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var advanceStringIndex = require('../internals/advance-string-index'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +var max = Math.max; +var min = Math.min; +var floor = Math.floor; +var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// @@replace logic +fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative) { + return [ + // `String.prototype.replace` method + // https://tc39.github.io/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; + return replacer !== undefined + ? replacer.call(searchValue, O, replaceValue) + : nativeReplace.call(String(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace + function (regexp, replaceValue) { + var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + var functionalReplace = typeof replaceValue === 'function'; + if (!functionalReplace) replaceValue = String(replaceValue); + + var global = rx.global; + if (global) { + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + var results = []; + while (true) { + var result = regExpExec(rx, S); + if (result === null) break; + + results.push(result); + if (!global) break; + + var matchStr = String(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + + var matched = String(result[0]); + var position = max(min(toInteger(result.index), S.length), 0); + var captures = []; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = [matched].concat(captures, position, S); + if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); + var replacement = String(replaceValue.apply(undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += S.slice(nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + return accumulatedResult + S.slice(nextSourcePosition); + } + ]; + + // https://tc39.github.io/ecma262/#sec-getsubstitution + function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return nativeReplace.call(replacement, symbols, function (match, ch) { + var capture; + switch (ch.charAt(0)) { + case '$': return '$'; + case '&': return matched; + case '`': return str.slice(0, position); + case "'": return str.slice(tailPos); + case '<': + capture = namedCaptures[ch.slice(1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return match; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return match; + if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); + return match; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); + } +}); + +},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/to-integer":460,"../internals/to-length":461,"../internals/to-object":462}],619:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var anObject = require('../internals/an-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var sameValue = require('../internals/same-value'); +var regExpExec = require('../internals/regexp-exec-abstract'); + +// @@search logic +fixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.github.io/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = requireObjectCoercible(this); + var searcher = regexp == undefined ? undefined : regexp[SEARCH]; + return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search + function (regexp) { + var res = maybeCallNative(nativeSearch, regexp, this); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + +},{"../internals/an-object":315,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/same-value":442}],620:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.small` method +// https://tc39.github.io/ecma262/#sec-string.prototype.small +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('small') }, { + small: function small() { + return createHTML(this, 'small', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],621:[function(require,module,exports){ +'use strict'; +var fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic'); +var isRegExp = require('../internals/is-regexp'); +var anObject = require('../internals/an-object'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var speciesConstructor = require('../internals/species-constructor'); +var advanceStringIndex = require('../internals/advance-string-index'); +var toLength = require('../internals/to-length'); +var callRegExpExec = require('../internals/regexp-exec-abstract'); +var regexpExec = require('../internals/regexp-exec'); +var fails = require('../internals/fails'); + +var arrayPush = [].push; +var min = Math.min; +var MAX_UINT32 = 0xFFFFFFFF; + +// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError +var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); + +// @@split logic +fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { + var internalSplit; + if ( + 'abbc'.split(/(b)*/)[1] == 'c' || + 'test'.split(/(?:)/, -1).length != 4 || + 'ab'.split(/(?:ab)*/).length != 2 || + '.'.split(/(.?)(.?)/).length != 4 || + '.'.split(/()()/).length > 1 || + ''.split(/.?/).length + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = String(requireObjectCoercible(this)); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (separator === undefined) return [string]; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) { + return nativeSplit.call(string, separator, lim); + } + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = regexpExec.call(separatorCopy, string)) { + lastIndex = separatorCopy.lastIndex; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); + lastLength = match[0].length; + lastLastIndex = lastIndex; + if (output.length >= lim) break; + } + if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop + } + if (lastLastIndex === string.length) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output.length > lim ? output.slice(0, lim) : output; + }; + // Chakra, V8 + } else if ('0'.split(undefined, 0).length) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); + }; + } else internalSplit = nativeSplit; + + return [ + // `String.prototype.split` method + // https://tc39.github.io/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = requireObjectCoercible(this); + var splitter = separator == undefined ? undefined : separator[SPLIT]; + return splitter !== undefined + ? splitter.call(separator, O, limit) + : internalSplit.call(String(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (regexp, limit) { + var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (SUPPORTS_Y ? 'y' : 'g'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = SUPPORTS_Y ? q : 0; + var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); + var e; + if ( + z === null || + (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + A.push(S.slice(p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + A.push(z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + A.push(S.slice(p)); + return A; + } + ]; +}, !SUPPORTS_Y); + +},{"../internals/advance-string-index":313,"../internals/an-object":315,"../internals/fails":362,"../internals/fix-regexp-well-known-symbol-logic":363,"../internals/is-regexp":394,"../internals/regexp-exec":438,"../internals/regexp-exec-abstract":437,"../internals/require-object-coercible":440,"../internals/species-constructor":450,"../internals/to-length":461}],622:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toLength = require('../internals/to-length'); +var notARegExp = require('../internals/not-a-regexp'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var correctIsRegExpLogic = require('../internals/correct-is-regexp-logic'); + +var nativeStartsWith = ''.startsWith; +var min = Math.min; + +// `String.prototype.startsWith` method +// https://tc39.github.io/ecma262/#sec-string.prototype.startswith +$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('startsWith') }, { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = String(requireObjectCoercible(this)); + notARegExp(searchString); + var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return nativeStartsWith + ? nativeStartsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + +},{"../internals/correct-is-regexp-logic":344,"../internals/export":361,"../internals/not-a-regexp":410,"../internals/require-object-coercible":440,"../internals/to-length":461}],623:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.strike` method +// https://tc39.github.io/ecma262/#sec-string.prototype.strike +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, { + strike: function strike() { + return createHTML(this, 'strike', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],624:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.sub` method +// https://tc39.github.io/ecma262/#sec-string.prototype.sub +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sub') }, { + sub: function sub() { + return createHTML(this, 'sub', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],625:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createHTML = require('../internals/create-html'); +var forcedStringHTMLMethod = require('../internals/forced-string-html-method'); + +// `String.prototype.sup` method +// https://tc39.github.io/ecma262/#sec-string.prototype.sup +$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('sup') }, { + sup: function sup() { + return createHTML(this, 'sup', '', ''); + } +}); + +},{"../internals/create-html":347,"../internals/export":361,"../internals/forced-string-html-method":366}],626:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trimEnd = require('../internals/string-trim').end; +var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); + +var FORCED = forcedStringTrimMethod('trimEnd'); + +var trimEnd = FORCED ? function trimEnd() { + return $trimEnd(this); +} : ''.trimEnd; + +// `String.prototype.{ trimEnd, trimRight }` methods +// https://github.com/tc39/ecmascript-string-left-right-trim +$({ target: 'String', proto: true, forced: FORCED }, { + trimEnd: trimEnd, + trimRight: trimEnd +}); + +},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],627:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trimStart = require('../internals/string-trim').start; +var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); + +var FORCED = forcedStringTrimMethod('trimStart'); + +var trimStart = FORCED ? function trimStart() { + return $trimStart(this); +} : ''.trimStart; + +// `String.prototype.{ trimStart, trimLeft }` methods +// https://github.com/tc39/ecmascript-string-left-right-trim +$({ target: 'String', proto: true, forced: FORCED }, { + trimStart: trimStart, + trimLeft: trimStart +}); + +},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],628:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var $trim = require('../internals/string-trim').trim; +var forcedStringTrimMethod = require('../internals/forced-string-trim-method'); + +// `String.prototype.trim` method +// https://tc39.github.io/ecma262/#sec-string.prototype.trim +$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { + trim: function trim() { + return $trim(this); + } +}); + +},{"../internals/export":361,"../internals/forced-string-trim-method":367,"../internals/string-trim":454}],629:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncIterator` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.asynciterator +defineWellKnownSymbol('asyncIterator'); + +},{"../internals/define-well-known-symbol":356}],630:[function(require,module,exports){ +// `Symbol.prototype.description` getter +// https://tc39.github.io/ecma262/#sec-symbol.prototype.description +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var global = require('../internals/global'); +var has = require('../internals/has'); +var isObject = require('../internals/is-object'); +var defineProperty = require('../internals/object-define-property').f; +var copyConstructorProperties = require('../internals/copy-constructor-properties'); + +var NativeSymbol = global.Symbol; + +if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || + // Safari 12 bug + NativeSymbol().description !== undefined +)) { + var EmptyStringDescriptionStore = {}; + // wrap Symbol constructor for correct work with undefined description + var SymbolWrapper = function Symbol() { + var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]); + var result = this instanceof SymbolWrapper + ? new NativeSymbol(description) + // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)' + : description === undefined ? NativeSymbol() : NativeSymbol(description); + if (description === '') EmptyStringDescriptionStore[result] = true; + return result; + }; + copyConstructorProperties(SymbolWrapper, NativeSymbol); + var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype; + symbolPrototype.constructor = SymbolWrapper; + + var symbolToString = symbolPrototype.toString; + var native = String(NativeSymbol('test')) == 'Symbol(test)'; + var regexp = /^Symbol\((.*)\)[^)]+$/; + defineProperty(symbolPrototype, 'description', { + configurable: true, + get: function description() { + var symbol = isObject(this) ? this.valueOf() : this; + var string = symbolToString.call(symbol); + if (has(EmptyStringDescriptionStore, symbol)) return ''; + var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1'); + return desc === '' ? undefined : desc; + } + }); + + $({ global: true, forced: true }, { + Symbol: SymbolWrapper + }); +} + +},{"../internals/copy-constructor-properties":343,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/is-object":392,"../internals/object-define-property":415}],631:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.hasInstance` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.hasinstance +defineWellKnownSymbol('hasInstance'); + +},{"../internals/define-well-known-symbol":356}],632:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.isConcatSpreadable` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.isconcatspreadable +defineWellKnownSymbol('isConcatSpreadable'); + +},{"../internals/define-well-known-symbol":356}],633:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.iterator` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.iterator +defineWellKnownSymbol('iterator'); + +},{"../internals/define-well-known-symbol":356}],634:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var global = require('../internals/global'); +var getBuiltIn = require('../internals/get-built-in'); +var IS_PURE = require('../internals/is-pure'); +var DESCRIPTORS = require('../internals/descriptors'); +var NATIVE_SYMBOL = require('../internals/native-symbol'); +var fails = require('../internals/fails'); +var has = require('../internals/has'); +var isArray = require('../internals/is-array'); +var isObject = require('../internals/is-object'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var toIndexedObject = require('../internals/to-indexed-object'); +var toPrimitive = require('../internals/to-primitive'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var nativeObjectCreate = require('../internals/object-create'); +var objectKeys = require('../internals/object-keys'); +var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); +var getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external'); +var getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols'); +var getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor'); +var definePropertyModule = require('../internals/object-define-property'); +var propertyIsEnumerableModule = require('../internals/object-property-is-enumerable'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefine = require('../internals/redefine'); +var shared = require('../internals/shared'); +var sharedKey = require('../internals/shared-key'); +var hiddenKeys = require('../internals/hidden-keys'); +var uid = require('../internals/uid'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var wrappedWellKnownSymbolModule = require('../internals/wrapped-well-known-symbol'); +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); +var setToStringTag = require('../internals/set-to-string-tag'); +var InternalStateModule = require('../internals/internal-state'); +var $forEach = require('../internals/array-iteration').forEach; + +var HIDDEN = sharedKey('hidden'); +var SYMBOL = 'Symbol'; +var PROTOTYPE = 'prototype'; +var TO_PRIMITIVE = wellKnownSymbol('toPrimitive'); +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SYMBOL); +var ObjectPrototype = Object[PROTOTYPE]; +var $Symbol = global.Symbol; +var $stringify = getBuiltIn('JSON', 'stringify'); +var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; +var nativeDefineProperty = definePropertyModule.f; +var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f; +var nativePropertyIsEnumerable = propertyIsEnumerableModule.f; +var AllSymbols = shared('symbols'); +var ObjectPrototypeSymbols = shared('op-symbols'); +var StringToSymbolRegistry = shared('string-to-symbol-registry'); +var SymbolToStringRegistry = shared('symbol-to-string-registry'); +var WellKnownSymbolsStore = shared('wks'); +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDescriptor = DESCRIPTORS && fails(function () { + return nativeObjectCreate(nativeDefineProperty({}, 'a', { + get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (O, P, Attributes) { + var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P); + if (ObjectPrototypeDescriptor) delete ObjectPrototype[P]; + nativeDefineProperty(O, P, Attributes); + if (ObjectPrototypeDescriptor && O !== ObjectPrototype) { + nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor); + } +} : nativeDefineProperty; + +var wrap = function (tag, description) { + var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]); + setInternalState(symbol, { + type: SYMBOL, + tag: tag, + description: description + }); + if (!DESCRIPTORS) symbol.description = description; + return symbol; +}; + +var isSymbol = NATIVE_SYMBOL && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return Object(it) instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(O, P, Attributes) { + if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes); + anObject(O); + var key = toPrimitive(P, true); + anObject(Attributes); + if (has(AllSymbols, key)) { + if (!Attributes.enumerable) { + if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {})); + O[HIDDEN][key] = true; + } else { + if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false; + Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) }); + } return setSymbolDescriptor(O, key, Attributes); + } return nativeDefineProperty(O, key, Attributes); +}; + +var $defineProperties = function defineProperties(O, Properties) { + anObject(O); + var properties = toIndexedObject(Properties); + var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties)); + $forEach(keys, function (key) { + if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]); + }); + return O; +}; + +var $create = function create(O, Properties) { + return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties); +}; + +var $propertyIsEnumerable = function propertyIsEnumerable(V) { + var P = toPrimitive(V, true); + var enumerable = nativePropertyIsEnumerable.call(this, P); + if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false; + return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true; +}; + +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) { + var it = toIndexedObject(O); + var key = toPrimitive(P, true); + if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return; + var descriptor = nativeGetOwnPropertyDescriptor(it, key); + if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) { + descriptor.enumerable = true; + } + return descriptor; +}; + +var $getOwnPropertyNames = function getOwnPropertyNames(O) { + var names = nativeGetOwnPropertyNames(toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key); + }); + return result; +}; + +var $getOwnPropertySymbols = function getOwnPropertySymbols(O) { + var IS_OBJECT_PROTOTYPE = O === ObjectPrototype; + var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O)); + var result = []; + $forEach(names, function (key) { + if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) { + result.push(AllSymbols[key]); + } + }); + return result; +}; + +// `Symbol` constructor +// https://tc39.github.io/ecma262/#sec-symbol-constructor +if (!NATIVE_SYMBOL) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor'); + var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]); + var tag = uid(description); + var setter = function (value) { + if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value)); + }; + if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter }); + return wrap(tag, description); + }; + + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return getInternalState(this).tag; + }); + + propertyIsEnumerableModule.f = $propertyIsEnumerable; + definePropertyModule.f = $defineProperty; + getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor; + getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames; + getOwnPropertySymbolsModule.f = $getOwnPropertySymbols; + + if (DESCRIPTORS) { + // https://github.com/tc39/proposal-Symbol-description + nativeDefineProperty($Symbol[PROTOTYPE], 'description', { + configurable: true, + get: function description() { + return getInternalState(this).description; + } + }); + if (!IS_PURE) { + redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true }); + } + } + + wrappedWellKnownSymbolModule.f = function (name) { + return wrap(wellKnownSymbol(name), name); + }; +} + +$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, { + Symbol: $Symbol +}); + +$forEach(objectKeys(WellKnownSymbolsStore), function (name) { + defineWellKnownSymbol(name); +}); + +$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, { + // `Symbol.for` method + // https://tc39.github.io/ecma262/#sec-symbol.for + 'for': function (key) { + var string = String(key); + if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string]; + var symbol = $Symbol(string); + StringToSymbolRegistry[string] = symbol; + SymbolToStringRegistry[symbol] = string; + return symbol; + }, + // `Symbol.keyFor` method + // https://tc39.github.io/ecma262/#sec-symbol.keyfor + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol'); + if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym]; + }, + useSetter: function () { USE_SETTER = true; }, + useSimple: function () { USE_SETTER = false; } +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, { + // `Object.create` method + // https://tc39.github.io/ecma262/#sec-object.create + create: $create, + // `Object.defineProperty` method + // https://tc39.github.io/ecma262/#sec-object.defineproperty + defineProperty: $defineProperty, + // `Object.defineProperties` method + // https://tc39.github.io/ecma262/#sec-object.defineproperties + defineProperties: $defineProperties, + // `Object.getOwnPropertyDescriptor` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertydescriptors + getOwnPropertyDescriptor: $getOwnPropertyDescriptor +}); + +$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, { + // `Object.getOwnPropertyNames` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertynames + getOwnPropertyNames: $getOwnPropertyNames, + // `Object.getOwnPropertySymbols` method + // https://tc39.github.io/ecma262/#sec-object.getownpropertysymbols + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives +// https://bugs.chromium.org/p/v8/issues/detail?id=3443 +$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, { + getOwnPropertySymbols: function getOwnPropertySymbols(it) { + return getOwnPropertySymbolsModule.f(toObject(it)); + } +}); + +// `JSON.stringify` method behavior with symbols +// https://tc39.github.io/ecma262/#sec-json.stringify +if ($stringify) { + var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () { + var symbol = $Symbol(); + // MS Edge converts symbol values to JSON as {} + return $stringify([symbol]) != '[null]' + // WebKit converts symbol values to JSON as null + || $stringify({ a: symbol }) != '{}' + // V8 throws on boxed symbols + || $stringify(Object(symbol)) != '{}'; + }); + + $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, { + // eslint-disable-next-line no-unused-vars + stringify: function stringify(it, replacer, space) { + var args = [it]; + var index = 1; + var $replacer; + while (arguments.length > index) args.push(arguments[index++]); + $replacer = replacer; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return $stringify.apply(null, args); + } + }); +} + +// `Symbol.prototype[@@toPrimitive]` method +// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@toprimitive +if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) { + createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +} +// `Symbol.prototype[@@toStringTag]` property +// https://tc39.github.io/ecma262/#sec-symbol.prototype-@@tostringtag +setToStringTag($Symbol, SYMBOL); + +hiddenKeys[HIDDEN] = true; + +},{"../internals/an-object":315,"../internals/array-iteration":323,"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/define-well-known-symbol":356,"../internals/descriptors":357,"../internals/export":361,"../internals/fails":362,"../internals/get-built-in":372,"../internals/global":377,"../internals/has":378,"../internals/hidden-keys":379,"../internals/internal-state":386,"../internals/is-array":388,"../internals/is-object":392,"../internals/is-pure":393,"../internals/native-symbol":406,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-own-property-descriptor":416,"../internals/object-get-own-property-names":418,"../internals/object-get-own-property-names-external":417,"../internals/object-get-own-property-symbols":419,"../internals/object-keys":422,"../internals/object-property-is-enumerable":423,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/shared":448,"../internals/shared-key":446,"../internals/to-indexed-object":459,"../internals/to-object":462,"../internals/to-primitive":465,"../internals/uid":469,"../internals/well-known-symbol":473,"../internals/wrapped-well-known-symbol":475}],635:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.matchAll` well-known symbol +defineWellKnownSymbol('matchAll'); + +},{"../internals/define-well-known-symbol":356}],636:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.match` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.match +defineWellKnownSymbol('match'); + +},{"../internals/define-well-known-symbol":356}],637:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.replace` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.replace +defineWellKnownSymbol('replace'); + +},{"../internals/define-well-known-symbol":356}],638:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.search` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.search +defineWellKnownSymbol('search'); + +},{"../internals/define-well-known-symbol":356}],639:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.species` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.species +defineWellKnownSymbol('species'); + +},{"../internals/define-well-known-symbol":356}],640:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.split` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.split +defineWellKnownSymbol('split'); + +},{"../internals/define-well-known-symbol":356}],641:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toPrimitive` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.toprimitive +defineWellKnownSymbol('toPrimitive'); + +},{"../internals/define-well-known-symbol":356}],642:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.toStringTag` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.tostringtag +defineWellKnownSymbol('toStringTag'); + +},{"../internals/define-well-known-symbol":356}],643:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.unscopables` well-known symbol +// https://tc39.github.io/ecma262/#sec-symbol.unscopables +defineWellKnownSymbol('unscopables'); + +},{"../internals/define-well-known-symbol":356}],644:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $copyWithin = require('../internals/array-copy-within'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.copyWithin` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.copywithin +ArrayBufferViewCore.exportProto('copyWithin', function copyWithin(target, start /* , end */) { + return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-copy-within":318}],645:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $every = require('../internals/array-iteration').every; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.every` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every +ArrayBufferViewCore.exportProto('every', function every(callbackfn /* , thisArg */) { + return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],646:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $fill = require('../internals/array-fill'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.fill` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.fill +// eslint-disable-next-line no-unused-vars +ArrayBufferViewCore.exportProto('fill', function fill(value /* , start, end */) { + return $fill.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-fill":319}],647:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $filter = require('../internals/array-iteration').filter; +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; + +// `%TypedArray%.prototype.filter` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.filter +ArrayBufferViewCore.exportProto('filter', function filter(callbackfn /* , thisArg */) { + var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + var C = speciesConstructor(this, this.constructor); + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/species-constructor":450}],648:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $findIndex = require('../internals/array-iteration').findIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.findIndex` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.findindex +ArrayBufferViewCore.exportProto('findIndex', function findIndex(predicate /* , thisArg */) { + return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],649:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $find = require('../internals/array-iteration').find; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.find` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.find +ArrayBufferViewCore.exportProto('find', function find(predicate /* , thisArg */) { + return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],650:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Float32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],651:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Float64Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],652:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $forEach = require('../internals/array-iteration').forEach; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.forEach` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.foreach +ArrayBufferViewCore.exportProto('forEach', function forEach(callbackfn /* , thisArg */) { + $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],653:[function(require,module,exports){ +'use strict'; +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var typedArrayFrom = require('../internals/typed-array-from'); + +// `%TypedArray%.from` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.from +ArrayBufferViewCore.exportStatic('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + +},{"../internals/array-buffer-view-core":316,"../internals/typed-array-from":467,"../internals/typed-arrays-constructors-requires-wrappers":468}],654:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $includes = require('../internals/array-includes').includes; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.includes` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.includes +ArrayBufferViewCore.exportProto('includes', function includes(searchElement /* , fromIndex */) { + return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-includes":322}],655:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $indexOf = require('../internals/array-includes').indexOf; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.indexOf` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.indexof +ArrayBufferViewCore.exportProto('indexOf', function indexOf(searchElement /* , fromIndex */) { + return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-includes":322}],656:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int16Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],657:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],658:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Int8Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],659:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var ArrayIterators = require('../modules/es.array.iterator'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var Uint8Array = global.Uint8Array; +var arrayValues = ArrayIterators.values; +var arrayKeys = ArrayIterators.keys; +var arrayEntries = ArrayIterators.entries; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportProto = ArrayBufferViewCore.exportProto; +var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; + +var CORRECT_ITER_NAME = !!nativeTypedArrayIterator + && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); + +var typedArrayValues = function values() { + return arrayValues.call(aTypedArray(this)); +}; + +// `%TypedArray%.prototype.entries` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.entries +exportProto('entries', function entries() { + return arrayEntries.call(aTypedArray(this)); +}); +// `%TypedArray%.prototype.keys` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.keys +exportProto('keys', function keys() { + return arrayKeys.call(aTypedArray(this)); +}); +// `%TypedArray%.prototype.values` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.values +exportProto('values', typedArrayValues, !CORRECT_ITER_NAME); +// `%TypedArray%.prototype[@@iterator]` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype-@@iterator +exportProto(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); + +},{"../internals/array-buffer-view-core":316,"../internals/global":377,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],660:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var $join = [].join; + +// `%TypedArray%.prototype.join` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.join +// eslint-disable-next-line no-unused-vars +ArrayBufferViewCore.exportProto('join', function join(separator) { + return $join.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":316}],661:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $lastIndexOf = require('../internals/array-last-index-of'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.lastIndexOf` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.lastindexof +// eslint-disable-next-line no-unused-vars +ArrayBufferViewCore.exportProto('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { + return $lastIndexOf.apply(aTypedArray(this), arguments); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-last-index-of":324}],662:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $map = require('../internals/array-iteration').map; +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; + +// `%TypedArray%.prototype.map` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.map +ArrayBufferViewCore.exportProto('map', function map(mapfn /* , thisArg */) { + return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { + return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); + }); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323,"../internals/species-constructor":450}],663:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-arrays-constructors-requires-wrappers'); + +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; + +// `%TypedArray%.of` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.of +ArrayBufferViewCore.exportStatic('of', function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = new (aTypedArrayConstructor(this))(length); + while (length > index) result[index] = arguments[index++]; + return result; +}, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS); + +},{"../internals/array-buffer-view-core":316,"../internals/typed-arrays-constructors-requires-wrappers":468}],664:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $reduceRight = require('../internals/array-reduce').right; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.reduceRicht` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduceright +ArrayBufferViewCore.exportProto('reduceRight', function reduceRight(callbackfn /* , initialValue */) { + return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-reduce":326}],665:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $reduce = require('../internals/array-reduce').left; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.reduce` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reduce +ArrayBufferViewCore.exportProto('reduce', function reduce(callbackfn /* , initialValue */) { + return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-reduce":326}],666:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var floor = Math.floor; + +// `%TypedArray%.prototype.reverse` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.reverse +ArrayBufferViewCore.exportProto('reverse', function reverse() { + var that = this; + var length = aTypedArray(that).length; + var middle = floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; +}); + +},{"../internals/array-buffer-view-core":316}],667:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var toLength = require('../internals/to-length'); +var toOffset = require('../internals/to-offset'); +var toObject = require('../internals/to-object'); +var fails = require('../internals/fails'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +var FORCED = fails(function () { + // eslint-disable-next-line no-undef + new Int8Array(1).set({}); +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.set +ArrayBufferViewCore.exportProto('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, FORCED); + +},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/to-length":461,"../internals/to-object":462,"../internals/to-offset":463}],668:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var speciesConstructor = require('../internals/species-constructor'); +var fails = require('../internals/fails'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; +var $slice = [].slice; + +var FORCED = fails(function () { + // eslint-disable-next-line no-undef + new Int8Array(1).slice(); +}); + +// `%TypedArray%.prototype.slice` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.slice +ArrayBufferViewCore.exportProto('slice', function slice(start, end) { + var list = $slice.call(aTypedArray(this), start, end); + var C = speciesConstructor(this, this.constructor); + var index = 0; + var length = list.length; + var result = new (aTypedArrayConstructor(C))(length); + while (length > index) result[index] = list[index++]; + return result; +}, FORCED); + +},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/species-constructor":450}],669:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var $some = require('../internals/array-iteration').some; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.some` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some +ArrayBufferViewCore.exportProto('some', function some(callbackfn /* , thisArg */) { + return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/array-iteration":323}],670:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var $sort = [].sort; + +// `%TypedArray%.prototype.sort` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.sort +ArrayBufferViewCore.exportProto('sort', function sort(comparefn) { + return $sort.call(aTypedArray(this), comparefn); +}); + +},{"../internals/array-buffer-view-core":316}],671:[function(require,module,exports){ +'use strict'; +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var toLength = require('../internals/to-length'); +var toAbsoluteIndex = require('../internals/to-absolute-index'); +var speciesConstructor = require('../internals/species-constructor'); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; + +// `%TypedArray%.prototype.subarray` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.subarray +ArrayBufferViewCore.exportProto('subarray', function subarray(begin, end) { + var O = aTypedArray(this); + var length = O.length; + var beginIndex = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O.constructor))( + O.buffer, + O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) + ); +}); + +},{"../internals/array-buffer-view-core":316,"../internals/species-constructor":450,"../internals/to-absolute-index":457,"../internals/to-length":461}],672:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var fails = require('../internals/fails'); + +var Int8Array = global.Int8Array; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var $toLocaleString = [].toLocaleString; +var $slice = [].slice; + +// iOS Safari 6.x fails here +var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { + $toLocaleString.call(new Int8Array(1)); +}); + +var FORCED = fails(function () { + return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); +}) || !fails(function () { + Int8Array.prototype.toLocaleString.call([1, 2]); +}); + +// `%TypedArray%.prototype.toLocaleString` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tolocalestring +ArrayBufferViewCore.exportProto('toLocaleString', function toLocaleString() { + return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); +}, FORCED); + +},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/global":377}],673:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var ArrayBufferViewCore = require('../internals/array-buffer-view-core'); +var fails = require('../internals/fails'); + +var Uint8Array = global.Uint8Array; +var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype; +var arrayToString = [].toString; +var arrayJoin = [].join; + +if (fails(function () { arrayToString.call({}); })) { + arrayToString = function toString() { + return arrayJoin.call(this); + }; +} + +// `%TypedArray%.prototype.toString` method +// https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.tostring +ArrayBufferViewCore.exportProto('toString', arrayToString, (Uint8ArrayPrototype || {}).toString != arrayToString); + +},{"../internals/array-buffer-view-core":316,"../internals/fails":362,"../internals/global":377}],674:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint16Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],675:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint32Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],676:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint8Array` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"../internals/typed-array-constructor":466}],677:[function(require,module,exports){ +var typedArrayConstructor = require('../internals/typed-array-constructor'); + +// `Uint8ClampedArray` constructor +// https://tc39.github.io/ecma262/#sec-typedarray-objects +typedArrayConstructor('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + +},{"../internals/typed-array-constructor":466}],678:[function(require,module,exports){ +'use strict'; +var global = require('../internals/global'); +var redefineAll = require('../internals/redefine-all'); +var InternalMetadataModule = require('../internals/internal-metadata'); +var collection = require('../internals/collection'); +var collectionWeak = require('../internals/collection-weak'); +var isObject = require('../internals/is-object'); +var enforceIternalState = require('../internals/internal-state').enforce; +var NATIVE_WEAK_MAP = require('../internals/native-weak-map'); + +var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global; +var isExtensible = Object.isExtensible; +var InternalWeakMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length ? arguments[0] : undefined); + }; +}; + +// `WeakMap` constructor +// https://tc39.github.io/ecma262/#sec-weakmap-constructor +var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak, true, true); + +// IE11 WeakMap frozen keys fix +// We can't use feature detection because it crash some old IE builds +// https://github.com/zloirock/core-js/issues/485 +if (NATIVE_WEAK_MAP && IS_IE11) { + InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true); + InternalMetadataModule.REQUIRED = true; + var WeakMapPrototype = $WeakMap.prototype; + var nativeDelete = WeakMapPrototype['delete']; + var nativeHas = WeakMapPrototype.has; + var nativeGet = WeakMapPrototype.get; + var nativeSet = WeakMapPrototype.set; + redefineAll(WeakMapPrototype, { + 'delete': function (key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeDelete.call(this, key) || state.frozen['delete'](key); + } return nativeDelete.call(this, key); + }, + has: function has(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas.call(this, key) || state.frozen.has(key); + } return nativeHas.call(this, key); + }, + get: function get(key) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key); + } return nativeGet.call(this, key); + }, + set: function set(key, value) { + if (isObject(key) && !isExtensible(key)) { + var state = enforceIternalState(this); + if (!state.frozen) state.frozen = new InternalWeakMap(); + nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value); + } else nativeSet.call(this, key, value); + return this; + } + }); +} + +},{"../internals/collection":341,"../internals/collection-weak":340,"../internals/global":377,"../internals/internal-metadata":385,"../internals/internal-state":386,"../internals/is-object":392,"../internals/native-weak-map":408,"../internals/redefine-all":434}],679:[function(require,module,exports){ +'use strict'; +var collection = require('../internals/collection'); +var collectionWeak = require('../internals/collection-weak'); + +// `WeakSet` constructor +// https://tc39.github.io/ecma262/#sec-weakset-constructor +collection('WeakSet', function (get) { + return function WeakSet() { return get(this, arguments.length ? arguments[0] : undefined); }; +}, collectionWeak, false, true); + +},{"../internals/collection":341,"../internals/collection-weak":340}],680:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var setPrototypeOf = require('../internals/object-set-prototype-of'); +var create = require('../internals/object-create'); +var defineProperty = require('../internals/object-define-property'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var iterate = require('../internals/iterate'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var InternalStateModule = require('../internals/internal-state'); + +var setInternalState = InternalStateModule.set; +var getInternalAggregateErrorState = InternalStateModule.getterFor('AggregateError'); + +var $AggregateError = function AggregateError(errors, message) { + var that = this; + if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message); + if (setPrototypeOf) { + that = setPrototypeOf(new Error(message), getPrototypeOf(that)); + } + var errorsArray = []; + iterate(errors, errorsArray.push, errorsArray); + if (DESCRIPTORS) setInternalState(that, { errors: errorsArray, type: 'AggregateError' }); + else that.errors = errorsArray; + if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message)); + return that; +}; + +$AggregateError.prototype = create(Error.prototype, { + constructor: createPropertyDescriptor(5, $AggregateError), + message: createPropertyDescriptor(5, ''), + name: createPropertyDescriptor(5, 'AggregateError') +}); + +if (DESCRIPTORS) defineProperty.f($AggregateError.prototype, 'errors', { + get: function () { + return getInternalAggregateErrorState(this).errors; + }, + configurable: true +}); + +$({ global: true }, { + AggregateError: $AggregateError +}); + +},{"../internals/create-non-enumerable-property":350,"../internals/create-property-descriptor":351,"../internals/descriptors":357,"../internals/export":361,"../internals/internal-state":386,"../internals/iterate":395,"../internals/object-create":413,"../internals/object-define-property":415,"../internals/object-get-prototype-of":420,"../internals/object-set-prototype-of":424}],681:[function(require,module,exports){ +var $ = require('../internals/export'); +var isArray = require('../internals/is-array'); + +var isFrozen = Object.isFrozen; + +var isFrozenStringArray = function (array, allowUndefined) { + if (!isFrozen || !isArray(array) || !isFrozen(array)) return false; + var index = 0; + var length = array.length; + var element; + while (index < length) { + element = array[index++]; + if (!(typeof element === 'string' || (allowUndefined && typeof element === 'undefined'))) { + return false; + } + } return length !== 0; +}; + +// `Array.isTemplateObject` method +// https://github.com/tc39/proposal-array-is-template-object +$({ target: 'Array', stat: true }, { + isTemplateObject: function isTemplateObject(value) { + if (!isFrozenStringArray(value, true)) return false; + var raw = value.raw; + if (raw.length !== value.length || !isFrozenStringArray(raw, false)) return false; + return true; + } +}); + +},{"../internals/export":361,"../internals/is-array":388}],682:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var defineProperty = require('../internals/object-define-property').f; + +// `Array.prototype.lastIndex` getter +// https://github.com/keithamus/proposal-array-last +if (DESCRIPTORS && !('lastIndex' in [])) { + defineProperty(Array.prototype, 'lastIndex', { + configurable: true, + get: function lastIndex() { + var O = toObject(this); + var len = toLength(O.length); + return len == 0 ? 0 : len - 1; + } + }); + + addToUnscopables('lastIndex'); +} + +},{"../internals/add-to-unscopables":312,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/to-length":461,"../internals/to-object":462}],683:[function(require,module,exports){ +'use strict'; +var DESCRIPTORS = require('../internals/descriptors'); +var addToUnscopables = require('../internals/add-to-unscopables'); +var toObject = require('../internals/to-object'); +var toLength = require('../internals/to-length'); +var defineProperty = require('../internals/object-define-property').f; + +// `Array.prototype.lastIndex` accessor +// https://github.com/keithamus/proposal-array-last +if (DESCRIPTORS && !('lastItem' in [])) { + defineProperty(Array.prototype, 'lastItem', { + configurable: true, + get: function lastItem() { + var O = toObject(this); + var len = toLength(O.length); + return len == 0 ? undefined : O[len - 1]; + }, + set: function lastItem(value) { + var O = toObject(this); + var len = toLength(O.length); + return O[len == 0 ? 0 : len - 1] = value; + } + }); + + addToUnscopables('lastItem'); +} + +},{"../internals/add-to-unscopables":312,"../internals/descriptors":357,"../internals/object-define-property":415,"../internals/to-length":461,"../internals/to-object":462}],684:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anInstance = require('../internals/an-instance'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var AsyncIteratorPrototype = require('../internals/async-iterator-prototype'); +var IS_PURE = require('../internals/is-pure'); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var AsyncIteratorConstructor = function AsyncIterator() { + anInstance(this, AsyncIteratorConstructor); +}; + +AsyncIteratorConstructor.prototype = AsyncIteratorPrototype; + +if (!has(AsyncIteratorPrototype, TO_STRING_TAG)) { + createNonEnumerableProperty(AsyncIteratorPrototype, TO_STRING_TAG, 'AsyncIterator'); +} + +if (!has(AsyncIteratorPrototype, 'constructor') || AsyncIteratorPrototype.constructor === Object) { + createNonEnumerableProperty(AsyncIteratorPrototype, 'constructor', AsyncIteratorConstructor); +} + +$({ global: true, forced: IS_PURE }, { + AsyncIterator: AsyncIteratorConstructor +}); + +},{"../internals/an-instance":314,"../internals/async-iterator-prototype":329,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/has":378,"../internals/is-pure":393,"../internals/well-known-symbol":473}],685:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var toPositiveInteger = require('../internals/to-positive-integer'); +var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { + var state = this; + + return new Promise(function (resolve, reject) { + var loop = function () { + try { + Promise.resolve( + anObject(state.next.call(state.iterator, state.remaining ? undefined : arg)) + ).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve({ done: true, value: undefined }); + } else if (state.remaining) { + state.remaining--; + loop(); + } else resolve({ done: false, value: step.value }); + } catch (err) { reject(err); } + }, reject); + } catch (error) { reject(error); } + }; + + loop(); + }); +}); + +$({ target: 'AsyncIterator', proto: true, real: true }, { + drop: function drop(limit) { + return new AsyncIteratorProxy({ + iterator: anObject(this), + remaining: toPositiveInteger(limit) + }); + } +}); + +},{"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/to-positive-integer":464}],686:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { + var state = this; + var filterer = state.filterer; + + return new Promise(function (resolve, reject) { + var loop = function () { + try { + Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { + try { + if (anObject(step).done) { + state.done = true; + resolve({ done: true, value: undefined }); + } else { + var value = step.value; + Promise.resolve(filterer(value)).then(function (selected) { + selected ? resolve({ done: false, value: value }) : loop(); + }, reject); + } + } catch (err) { reject(err); } + }, reject); + } catch (error) { reject(error); } + }; + + loop(); + }); +}); + +$({ target: 'AsyncIterator', proto: true, real: true }, { + filter: function filter(filterer) { + return new AsyncIteratorProxy({ + iterator: anObject(this), + filterer: aFunction(filterer) + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361}],687:[function(require,module,exports){ +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var path = require('../internals/path'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); +var getAsyncIteratorMethod = require('../internals/get-async-iterator-method'); + +var AsyncIterator = path.AsyncIterator; + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg) { + return anObject(this.next.call(this.iterator, arg)); +}, true); + +$({ target: 'AsyncIterator', stat: true }, { + from: function from(O) { + var object = toObject(O); + var usingIterator = getAsyncIteratorMethod(object); + var iterator; + if (usingIterator != null) { + iterator = aFunction(usingIterator).call(object); + if (iterator instanceof AsyncIterator) return iterator; + } else { + iterator = object; + } return new AsyncIteratorProxy({ + iterator: iterator + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/get-async-iterator-method":371,"../internals/path":430,"../internals/to-object":462}],688:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg, Promise) { + var state = this; + var mapper = state.mapper; + + return Promise.resolve(anObject(state.next.call(state.iterator, arg))).then(function (step) { + if (anObject(step).done) { + state.done = true; + return { done: true, value: undefined }; + } + return Promise.resolve(mapper(step.value)).then(function (value) { + return { done: false, value: value }; + }); + }); +}); + +$({ target: 'AsyncIterator', proto: true, real: true }, { + map: function map(mapper) { + return new AsyncIteratorProxy({ + iterator: anObject(this), + mapper: aFunction(mapper) + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361}],689:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var toPositiveInteger = require('../internals/to-positive-integer'); +var createAsyncIteratorProxy = require('../internals/create-async-iterator-proxy'); + +var AsyncIteratorProxy = createAsyncIteratorProxy(function (arg) { + if (!this.remaining--) { + this.done = true; + return { done: true, value: undefined }; + } return this.next.call(this.iterator, arg); +}); + +$({ target: 'AsyncIterator', proto: true, real: true }, { + take: function take(limit) { + return new AsyncIteratorProxy({ + iterator: anObject(this), + remaining: toPositiveInteger(limit) + }); + } +}); + +},{"../internals/an-object":315,"../internals/create-async-iterator-proxy":346,"../internals/export":361,"../internals/to-positive-integer":464}],690:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var $toArray = require('../internals/async-iterator-iteration').toArray; + +$({ target: 'AsyncIterator', proto: true, real: true }, { + toArray: function toArray() { + return $toArray(this); + } +}); + +},{"../internals/async-iterator-iteration":328,"../internals/export":361}],691:[function(require,module,exports){ +var $ = require('../internals/export'); +var getCompositeKeyNode = require('../internals/composite-key'); +var getBuiltIn = require('../internals/get-built-in'); +var create = require('../internals/object-create'); + +var initializer = function () { + var freeze = getBuiltIn('Object', 'freeze'); + return freeze ? freeze(create(null)) : create(null); +}; + +// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey +$({ global: true }, { + compositeKey: function compositeKey() { + return getCompositeKeyNode.apply(Object, arguments).get('object', initializer); + } +}); + +},{"../internals/composite-key":342,"../internals/export":361,"../internals/get-built-in":372,"../internals/object-create":413}],692:[function(require,module,exports){ +var $ = require('../internals/export'); +var getCompositeKeyNode = require('../internals/composite-key'); +var getBuiltIn = require('../internals/get-built-in'); + +// https://github.com/tc39/proposal-richer-keys/tree/master/compositeKey +$({ global: true }, { + compositeSymbol: function compositeSymbol() { + if (arguments.length === 1 && typeof arguments[0] === 'string') return getBuiltIn('Symbol')['for'](arguments[0]); + return getCompositeKeyNode.apply(null, arguments).get('symbol', getBuiltIn('Symbol')); + } +}); + +},{"../internals/composite-key":342,"../internals/export":361,"../internals/get-built-in":372}],693:[function(require,module,exports){ +// TODO: Remove from `core-js@4` +require('./es.global-this'); + +},{"./es.global-this":517}],694:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); + +var IteratorProxy = createIteratorProxy(function (arg) { + var result = anObject(this.next.call(this.iterator, arg)); + var done = this.done = !!result.done; + if (!done) return [this.index++, result.value]; +}); + +$({ target: 'Iterator', proto: true, real: true }, { + asIndexedPairs: function asIndexedPairs() { + return new IteratorProxy({ + iterator: anObject(this), + index: 0 + }); + } +}); + +},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361}],695:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var global = require('../internals/global'); +var anInstance = require('../internals/an-instance'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var has = require('../internals/has'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IteratorPrototype = require('../internals/iterators-core').IteratorPrototype; +var IS_PURE = require('../internals/is-pure'); + +var ITERATOR = wellKnownSymbol('iterator'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); + +var NativeIterator = global.Iterator; + +// FF56- have non-standard global helper `Iterator` +var FORCED = IS_PURE || typeof NativeIterator != 'function' || NativeIterator.prototype !== IteratorPrototype; + +var IteratorConstructor = function Iterator() { + anInstance(this, IteratorConstructor); +}; + +if (IS_PURE) { + IteratorPrototype = {}; + createNonEnumerableProperty(IteratorPrototype, ITERATOR, function () { + return this; + }); +} + +if (!has(IteratorPrototype, TO_STRING_TAG)) { + createNonEnumerableProperty(IteratorPrototype, TO_STRING_TAG, 'Iterator'); +} + +if (!has(IteratorPrototype, 'constructor') || IteratorPrototype.constructor === Object) { + createNonEnumerableProperty(IteratorPrototype, 'constructor', IteratorConstructor); +} + +IteratorConstructor.prototype = IteratorPrototype; + +$({ global: true, forced: FORCED }, { + Iterator: IteratorConstructor +}); + +},{"../internals/an-instance":314,"../internals/create-non-enumerable-property":350,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/is-pure":393,"../internals/iterators-core":396,"../internals/well-known-symbol":473}],696:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var toPositiveInteger = require('../internals/to-positive-integer'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); + +var IteratorProxy = createIteratorProxy(function (arg) { + var iterator = this.iterator; + var next = this.next; + var result, done; + while (this.remaining) { + this.remaining--; + result = anObject(next.call(iterator)); + done = this.done = !!result.done; + if (done) return; + } + result = anObject(next.call(iterator, arg)); + done = this.done = !!result.done; + if (!done) return result.value; +}); + +$({ target: 'Iterator', proto: true, real: true }, { + drop: function drop(limit) { + return new IteratorProxy({ + iterator: anObject(this), + remaining: toPositiveInteger(limit) + }); + } +}); + +},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/to-positive-integer":464}],697:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); + +$({ target: 'Iterator', proto: true, real: true }, { + every: function every(fn) { + anObject(this); + aFunction(fn); + return !iterate(this, function (value) { + if (!fn(value)) return iterate.stop(); + }, undefined, false, true).stopped; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],698:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); + +var IteratorProxy = createIteratorProxy(function (arg) { + var iterator = this.iterator; + var filterer = this.filterer; + var next = this.next; + var result, done, value; + while (true) { + result = anObject(next.call(iterator, arg)); + done = this.done = !!result.done; + if (done) return; + value = result.value; + if (callWithSafeIterationClosing(iterator, filterer, value)) return value; + } +}); + +$({ target: 'Iterator', proto: true, real: true }, { + filter: function filter(filterer) { + return new IteratorProxy({ + iterator: anObject(this), + filterer: aFunction(filterer) + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/call-with-safe-iteration-closing":331,"../internals/create-iterator-proxy":349,"../internals/export":361}],699:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); + +$({ target: 'Iterator', proto: true, real: true }, { + find: function find(fn) { + anObject(this); + aFunction(fn); + return iterate(this, function (value) { + if (fn(value)) return iterate.stop(value); + }, undefined, false, true).result; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],700:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var anObject = require('../internals/an-object'); + +$({ target: 'Iterator', proto: true, real: true }, { + forEach: function forEach(fn) { + iterate(anObject(this), fn, undefined, false, true); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],701:[function(require,module,exports){ +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var path = require('../internals/path'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var toObject = require('../internals/to-object'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); +var getIteratorMethod = require('../internals/get-iterator-method'); + +var Iterator = path.Iterator; + +var IteratorProxy = createIteratorProxy(function (arg) { + var result = anObject(this.next.call(this.iterator, arg)); + var done = this.done = !!result.done; + if (!done) return result.value; +}, true); + +$({ target: 'Iterator', stat: true }, { + from: function from(O) { + var object = toObject(O); + var usingIterator = getIteratorMethod(object); + var iterator; + if (usingIterator != null) { + iterator = aFunction(usingIterator).call(object); + if (iterator instanceof Iterator) return iterator; + } else { + iterator = object; + } return new IteratorProxy({ + iterator: iterator + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/get-iterator-method":373,"../internals/path":430,"../internals/to-object":462}],702:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); +var callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing'); + +var IteratorProxy = createIteratorProxy(function (arg) { + var iterator = this.iterator; + var result = anObject(this.next.call(iterator, arg)); + var done = this.done = !!result.done; + if (!done) return callWithSafeIterationClosing(iterator, this.mapper, result.value); +}); + +$({ target: 'Iterator', proto: true, real: true }, { + map: function map(mapper) { + return new IteratorProxy({ + iterator: anObject(this), + mapper: aFunction(mapper) + }); + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/call-with-safe-iteration-closing":331,"../internals/create-iterator-proxy":349,"../internals/export":361}],703:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); + +$({ target: 'Iterator', proto: true, real: true }, { + reduce: function reduce(reducer /* , initialValue */) { + anObject(this); + aFunction(reducer); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + iterate(this, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = reducer(accumulator, value); + } + }, undefined, false, true); + if (noInitial) throw TypeError('Reduce of empty iterator with no initial value'); + return accumulator; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],704:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); + +$({ target: 'Iterator', proto: true, real: true }, { + some: function some(fn) { + anObject(this); + aFunction(fn); + return iterate(this, function (value) { + if (fn(value)) return iterate.stop(); + }, undefined, false, true).stopped; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],705:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var toPositiveInteger = require('../internals/to-positive-integer'); +var createIteratorProxy = require('../internals/create-iterator-proxy'); + +var IteratorProxy = createIteratorProxy(function (arg) { + if (!this.remaining--) { + this.done = true; + return; + } + var result = anObject(this.next.call(this.iterator, arg)); + var done = this.done = !!result.done; + if (!done) return result.value; +}); + +$({ target: 'Iterator', proto: true, real: true }, { + take: function take(limit) { + return new IteratorProxy({ + iterator: anObject(this), + remaining: toPositiveInteger(limit) + }); + } +}); + +},{"../internals/an-object":315,"../internals/create-iterator-proxy":349,"../internals/export":361,"../internals/to-positive-integer":464}],706:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-iterator-helpers +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var anObject = require('../internals/an-object'); + +var push = [].push; + +$({ target: 'Iterator', proto: true, real: true }, { + toArray: function toArray() { + var result = []; + iterate(anObject(this), push, result, false, true); + return result; + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395}],707:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionDeleteAll = require('../internals/collection-delete-all'); + +// `Map.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + deleteAll: function deleteAll(/* ...elements */) { + return collectionDeleteAll.apply(this, arguments); + } +}); + +},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],708:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.every` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + every: function every(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return !iterate(iterator, function (key, value) { + if (!boundFunction(value, key, map)) return iterate.stop(); + }, undefined, true, true).stopped; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],709:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.filter` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); + var setter = aFunction(newMap.set); + iterate(iterator, function (key, value) { + if (boundFunction(value, key, map)) setter.call(newMap, key, value); + }, undefined, true, true); + return newMap; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],710:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.findKey` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + findKey: function findKey(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return iterate(iterator, function (key, value) { + if (boundFunction(value, key, map)) return iterate.stop(key); + }, undefined, true, true).result; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],711:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.find` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + find: function find(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return iterate(iterator, function (key, value) { + if (boundFunction(value, key, map)) return iterate.stop(value); + }, undefined, true, true).result; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],712:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/collection-from'); + +// `Map.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from +$({ target: 'Map', stat: true }, { + from: from +}); + +},{"../internals/collection-from":337,"../internals/export":361}],713:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); + +// `Map.groupBy` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', stat: true }, { + groupBy: function groupBy(iterable, keyDerivative) { + var newMap = new this(); + aFunction(keyDerivative); + var has = aFunction(newMap.has); + var get = aFunction(newMap.get); + var set = aFunction(newMap.set); + iterate(iterable, function (element) { + var derivedKey = keyDerivative(element); + if (!has.call(newMap, derivedKey)) set.call(newMap, derivedKey, [element]); + else get.call(newMap, derivedKey).push(element); + }); + return newMap; + } +}); + +},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395}],714:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var getMapIterator = require('../internals/get-map-iterator'); +var sameValueZero = require('../internals/same-value-zero'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.includes` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + includes: function includes(searchElement) { + return iterate(getMapIterator(anObject(this)), function (key, value) { + if (sameValueZero(value, searchElement)) return iterate.stop(); + }, undefined, true, true).stopped; + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/same-value-zero":441}],715:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var iterate = require('../internals/iterate'); +var aFunction = require('../internals/a-function'); + +// `Map.keyBy` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', stat: true }, { + keyBy: function keyBy(iterable, keyDerivative) { + var newMap = new this(); + aFunction(keyDerivative); + var setter = aFunction(newMap.set); + iterate(iterable, function (element) { + setter.call(newMap, keyDerivative(element), element); + }); + return newMap; + } +}); + +},{"../internals/a-function":310,"../internals/export":361,"../internals/iterate":395}],716:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.includes` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + keyOf: function keyOf(searchElement) { + return iterate(getMapIterator(anObject(this)), function (key, value) { + if (value === searchElement) return iterate.stop(key); + }, undefined, true, true).result; + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],717:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.mapKeys` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + mapKeys: function mapKeys(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); + var setter = aFunction(newMap.set); + iterate(iterator, function (key, value) { + setter.call(newMap, boundFunction(value, key, map), value); + }, undefined, true, true); + return newMap; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],718:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.mapValues` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + mapValues: function mapValues(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newMap = new (speciesConstructor(map, getBuiltIn('Map')))(); + var setter = aFunction(newMap.set); + iterate(iterator, function (key, value) { + setter.call(newMap, key, boundFunction(value, key, map)); + }, undefined, true, true); + return newMap; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],719:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.merge` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + // eslint-disable-next-line no-unused-vars + merge: function merge(iterable /* ...iterbles */) { + var map = anObject(this); + var setter = aFunction(map.set); + var i = 0; + while (i < arguments.length) { + iterate(arguments[i++], setter, map, true); + } + return map; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],720:[function(require,module,exports){ +var $ = require('../internals/export'); +var of = require('../internals/collection-of'); + +// `Map.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of +$({ target: 'Map', stat: true }, { + of: of +}); + +},{"../internals/collection-of":338,"../internals/export":361}],721:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Map.prototype.reduce` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + aFunction(callbackfn); + iterate(iterator, function (key, value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = callbackfn(accumulator, value, key, map); + } + }, undefined, true, true); + if (noInitial) throw TypeError('Reduce of empty map with no initial value'); + return accumulator; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],722:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getMapIterator = require('../internals/get-map-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.some` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + some: function some(callbackfn /* , thisArg */) { + var map = anObject(this); + var iterator = getMapIterator(map); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return iterate(iterator, function (key, value) { + if (boundFunction(value, key, map)) return iterate.stop(); + }, undefined, true, true).stopped; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-map-iterator":375,"../internals/is-pure":393,"../internals/iterate":395}],723:[function(require,module,exports){ +'use strict'; +// TODO: remove from `core-js@4` +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var $upsert = require('../internals/map-upsert'); + +// `Map.prototype.updateOrInsert` method (replaced by `Map.prototype.upsert`) +// https://github.com/thumbsupep/proposal-upsert +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + updateOrInsert: $upsert +}); + +},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],724:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); + +// `Set.prototype.update` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + update: function update(key, callback /* , thunk */) { + var map = anObject(this); + var length = arguments.length; + aFunction(callback); + var isPresentInMap = map.has(key); + if (!isPresentInMap && length < 3) { + throw TypeError('Updating absent value'); + } + var value = isPresentInMap ? map.get(key) : aFunction(length > 2 ? arguments[2] : undefined)(key, map); + map.set(key, callback(value, key, map)); + return map; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393}],725:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var $upsert = require('../internals/map-upsert'); + +// `Map.prototype.upsert` method +// https://github.com/thumbsupep/proposal-upsert +$({ target: 'Map', proto: true, real: true, forced: IS_PURE }, { + upsert: $upsert +}); + +},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],726:[function(require,module,exports){ +var $ = require('../internals/export'); + +var min = Math.min; +var max = Math.max; + +// `Math.clamp` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + clamp: function clamp(x, lower, upper) { + return min(upper, max(lower, x)); + } +}); + +},{"../internals/export":361}],727:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.DEG_PER_RAD` constant +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + DEG_PER_RAD: Math.PI / 180 +}); + +},{"../internals/export":361}],728:[function(require,module,exports){ +var $ = require('../internals/export'); + +var RAD_PER_DEG = 180 / Math.PI; + +// `Math.degrees` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + degrees: function degrees(radians) { + return radians * RAD_PER_DEG; + } +}); + +},{"../internals/export":361}],729:[function(require,module,exports){ +var $ = require('../internals/export'); + +var scale = require('../internals/math-scale'); +var fround = require('../internals/math-fround'); + +// `Math.fscale` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + fscale: function fscale(x, inLow, inHigh, outLow, outHigh) { + return fround(scale(x, inLow, inHigh, outLow, outHigh)); + } +}); + +},{"../internals/export":361,"../internals/math-fround":400,"../internals/math-scale":402}],730:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.iaddh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true }, { + iaddh: function iaddh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0; + } +}); + +},{"../internals/export":361}],731:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.imulh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true }, { + imulh: function imulh(u, v) { + var UINT16 = 0xFFFF; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >> 16; + var v1 = $v >> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16); + } +}); + +},{"../internals/export":361}],732:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.isubh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true }, { + isubh: function isubh(x0, x1, y0, y1) { + var $x0 = x0 >>> 0; + var $x1 = x1 >>> 0; + var $y0 = y0 >>> 0; + return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0; + } +}); + +},{"../internals/export":361}],733:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.RAD_PER_DEG` constant +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + RAD_PER_DEG: 180 / Math.PI +}); + +},{"../internals/export":361}],734:[function(require,module,exports){ +var $ = require('../internals/export'); + +var DEG_PER_RAD = Math.PI / 180; + +// `Math.radians` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + radians: function radians(degrees) { + return degrees * DEG_PER_RAD; + } +}); + +},{"../internals/export":361}],735:[function(require,module,exports){ +var $ = require('../internals/export'); +var scale = require('../internals/math-scale'); + +// `Math.scale` method +// https://rwaldron.github.io/proposal-math-extensions/ +$({ target: 'Math', stat: true }, { + scale: scale +}); + +},{"../internals/export":361,"../internals/math-scale":402}],736:[function(require,module,exports){ +var $ = require('../internals/export'); +var anObject = require('../internals/an-object'); +var numberIsFinite = require('../internals/number-is-finite'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var InternalStateModule = require('../internals/internal-state'); + +var SEEDED_RANDOM = 'Seeded Random'; +var SEEDED_RANDOM_GENERATOR = SEEDED_RANDOM + ' Generator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(SEEDED_RANDOM_GENERATOR); +var SEED_TYPE_ERROR = 'Math.seededPRNG() argument should have a "seed" field with a finite value.'; + +var $SeededRandomGenerator = createIteratorConstructor(function SeededRandomGenerator(seed) { + setInternalState(this, { + type: SEEDED_RANDOM_GENERATOR, + seed: seed % 2147483647 + }); +}, SEEDED_RANDOM, function next() { + var state = getInternalState(this); + var seed = state.seed = (state.seed * 1103515245 + 12345) % 2147483647; + return { value: (seed & 1073741823) / 1073741823, done: false }; +}); + +// `Math.seededPRNG` method +// https://github.com/tc39/proposal-seeded-random +// based on https://github.com/tc39/proposal-seeded-random/blob/78b8258835b57fc2100d076151ab506bc3202ae6/demo.html +$({ target: 'Math', stat: true, forced: true }, { + seededPRNG: function seededPRNG(it) { + var seed = anObject(it).seed; + if (!numberIsFinite(seed)) throw TypeError(SEED_TYPE_ERROR); + return new $SeededRandomGenerator(seed); + } +}); + +},{"../internals/an-object":315,"../internals/create-iterator-constructor":348,"../internals/export":361,"../internals/internal-state":386,"../internals/number-is-finite":411}],737:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.signbit` method +// https://github.com/tc39/proposal-Math.signbit +$({ target: 'Math', stat: true }, { + signbit: function signbit(x) { + return (x = +x) == x && x == 0 ? 1 / x == -Infinity : x < 0; + } +}); + +},{"../internals/export":361}],738:[function(require,module,exports){ +var $ = require('../internals/export'); + +// `Math.umulh` method +// https://gist.github.com/BrendanEich/4294d5c212a6d2254703 +// TODO: Remove from `core-js@4` +$({ target: 'Math', stat: true }, { + umulh: function umulh(u, v) { + var UINT16 = 0xFFFF; + var $u = +u; + var $v = +v; + var u0 = $u & UINT16; + var v0 = $v & UINT16; + var u1 = $u >>> 16; + var v1 = $v >>> 16; + var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16); + return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16); + } +}); + +},{"../internals/export":361}],739:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var toInteger = require('../internals/to-integer'); +var parseInt = require('../internals/parse-int'); + +var INVALID_NUMBER_REPRESENTATION = 'Invalid number representation'; +var INVALID_RADIX = 'Invalid radix'; +var valid = /^[\da-z]+$/; + +// `Number.fromString` method +// https://github.com/tc39/proposal-number-fromstring +$({ target: 'Number', stat: true }, { + fromString: function fromString(string, radix) { + var sign = 1; + var R, mathNum; + if (typeof string != 'string') throw TypeError(INVALID_NUMBER_REPRESENTATION); + if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION); + if (string.charAt(0) == '-') { + sign = -1; + string = string.slice(1); + if (!string.length) throw SyntaxError(INVALID_NUMBER_REPRESENTATION); + } + R = radix === undefined ? 10 : toInteger(radix); + if (R < 2 || R > 36) throw RangeError(INVALID_RADIX); + if (!valid.test(string) || (mathNum = parseInt(string, R)).toString(R) !== string) { + throw SyntaxError(INVALID_NUMBER_REPRESENTATION); + } + return sign * mathNum; + } +}); + +},{"../internals/export":361,"../internals/parse-int":429,"../internals/to-integer":460}],740:[function(require,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-observable +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var setSpecies = require('../internals/set-species'); +var aFunction = require('../internals/a-function'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var anInstance = require('../internals/an-instance'); +var defineProperty = require('../internals/object-define-property').f; +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var redefineAll = require('../internals/redefine-all'); +var getIterator = require('../internals/get-iterator'); +var iterate = require('../internals/iterate'); +var hostReportErrors = require('../internals/host-report-errors'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var InternalStateModule = require('../internals/internal-state'); + +var OBSERVABLE = wellKnownSymbol('observable'); +var getInternalState = InternalStateModule.get; +var setInternalState = InternalStateModule.set; + +var getMethod = function (fn) { + return fn == null ? undefined : aFunction(fn); +}; + +var cleanupSubscription = function (subscriptionState) { + var cleanup = subscriptionState.cleanup; + if (cleanup) { + subscriptionState.cleanup = undefined; + try { + cleanup(); + } catch (error) { + hostReportErrors(error); + } + } +}; + +var subscriptionClosed = function (subscriptionState) { + return subscriptionState.observer === undefined; +}; + +var close = function (subscription, subscriptionState) { + if (!DESCRIPTORS) { + subscription.closed = true; + var subscriptionObserver = subscriptionState.subscriptionObserver; + if (subscriptionObserver) subscriptionObserver.closed = true; + } subscriptionState.observer = undefined; +}; + +var Subscription = function (observer, subscriber) { + var subscriptionState = setInternalState(this, { + cleanup: undefined, + observer: anObject(observer), + subscriptionObserver: undefined + }); + var start; + if (!DESCRIPTORS) this.closed = false; + try { + if (start = getMethod(observer.start)) start.call(observer, this); + } catch (error) { + hostReportErrors(error); + } + if (subscriptionClosed(subscriptionState)) return; + var subscriptionObserver = subscriptionState.subscriptionObserver = new SubscriptionObserver(this); + try { + var cleanup = subscriber(subscriptionObserver); + var subscription = cleanup; + if (cleanup != null) subscriptionState.cleanup = typeof cleanup.unsubscribe === 'function' + ? function () { subscription.unsubscribe(); } + : aFunction(cleanup); + } catch (error) { + subscriptionObserver.error(error); + return; + } if (subscriptionClosed(subscriptionState)) cleanupSubscription(subscriptionState); +}; + +Subscription.prototype = redefineAll({}, { + unsubscribe: function unsubscribe() { + var subscriptionState = getInternalState(this); + if (!subscriptionClosed(subscriptionState)) { + close(this, subscriptionState); + cleanupSubscription(subscriptionState); + } + } +}); + +if (DESCRIPTORS) defineProperty(Subscription.prototype, 'closed', { + configurable: true, + get: function () { + return subscriptionClosed(getInternalState(this)); + } +}); + +var SubscriptionObserver = function (subscription) { + setInternalState(this, { subscription: subscription }); + if (!DESCRIPTORS) this.closed = false; +}; + +SubscriptionObserver.prototype = redefineAll({}, { + next: function next(value) { + var subscriptionState = getInternalState(getInternalState(this).subscription); + if (!subscriptionClosed(subscriptionState)) { + var observer = subscriptionState.observer; + try { + var nextMethod = getMethod(observer.next); + if (nextMethod) nextMethod.call(observer, value); + } catch (error) { + hostReportErrors(error); + } + } + }, + error: function error(value) { + var subscription = getInternalState(this).subscription; + var subscriptionState = getInternalState(subscription); + if (!subscriptionClosed(subscriptionState)) { + var observer = subscriptionState.observer; + close(subscription, subscriptionState); + try { + var errorMethod = getMethod(observer.error); + if (errorMethod) errorMethod.call(observer, value); + else hostReportErrors(value); + } catch (err) { + hostReportErrors(err); + } cleanupSubscription(subscriptionState); + } + }, + complete: function complete() { + var subscription = getInternalState(this).subscription; + var subscriptionState = getInternalState(subscription); + if (!subscriptionClosed(subscriptionState)) { + var observer = subscriptionState.observer; + close(subscription, subscriptionState); + try { + var completeMethod = getMethod(observer.complete); + if (completeMethod) completeMethod.call(observer); + } catch (error) { + hostReportErrors(error); + } cleanupSubscription(subscriptionState); + } + } +}); + +if (DESCRIPTORS) defineProperty(SubscriptionObserver.prototype, 'closed', { + configurable: true, + get: function () { + return subscriptionClosed(getInternalState(getInternalState(this).subscription)); + } +}); + +var $Observable = function Observable(subscriber) { + anInstance(this, $Observable, 'Observable'); + setInternalState(this, { subscriber: aFunction(subscriber) }); +}; + +redefineAll($Observable.prototype, { + subscribe: function subscribe(observer) { + var length = arguments.length; + return new Subscription(typeof observer === 'function' ? { + next: observer, + error: length > 1 ? arguments[1] : undefined, + complete: length > 2 ? arguments[2] : undefined + } : isObject(observer) ? observer : {}, getInternalState(this).subscriber); + } +}); + +redefineAll($Observable, { + from: function from(x) { + var C = typeof this === 'function' ? this : $Observable; + var observableMethod = getMethod(anObject(x)[OBSERVABLE]); + if (observableMethod) { + var observable = anObject(observableMethod.call(x)); + return observable.constructor === C ? observable : new C(function (observer) { + return observable.subscribe(observer); + }); + } + var iterator = getIterator(x); + return new C(function (observer) { + iterate(iterator, function (it) { + observer.next(it); + if (observer.closed) return iterate.stop(); + }, undefined, false, true); + observer.complete(); + }); + }, + of: function of() { + var C = typeof this === 'function' ? this : $Observable; + var length = arguments.length; + var items = new Array(length); + var index = 0; + while (index < length) items[index] = arguments[index++]; + return new C(function (observer) { + for (var i = 0; i < length; i++) { + observer.next(items[i]); + if (observer.closed) return; + } observer.complete(); + }); + } +}); + +createNonEnumerableProperty($Observable.prototype, OBSERVABLE, function () { return this; }); + +$({ global: true }, { + Observable: $Observable +}); + +setSpecies('Observable'); + +},{"../internals/a-function":310,"../internals/an-instance":314,"../internals/an-object":315,"../internals/create-non-enumerable-property":350,"../internals/descriptors":357,"../internals/export":361,"../internals/get-iterator":374,"../internals/host-report-errors":380,"../internals/internal-state":386,"../internals/is-object":392,"../internals/iterate":395,"../internals/object-define-property":415,"../internals/redefine-all":434,"../internals/set-species":444,"../internals/well-known-symbol":473}],741:[function(require,module,exports){ +// TODO: Remove from `core-js@4` +require('./es.promise.all-settled.js'); + +},{"./es.promise.all-settled.js":577}],742:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var aFunction = require('../internals/a-function'); +var getBuiltIn = require('../internals/get-built-in'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); +var iterate = require('../internals/iterate'); + +var PROMISE_ANY_ERROR = 'No one promise resolved'; + +// `Promise.any` method +// https://github.com/tc39/proposal-promise-any +$({ target: 'Promise', stat: true }, { + any: function any(iterable) { + var C = this; + var capability = newPromiseCapabilityModule.f(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var promiseResolve = aFunction(C.resolve); + var errors = []; + var counter = 0; + var remaining = 1; + var alreadyResolved = false; + iterate(iterable, function (promise) { + var index = counter++; + var alreadyRejected = false; + errors.push(undefined); + remaining++; + promiseResolve.call(C, promise).then(function (value) { + if (alreadyRejected || alreadyResolved) return; + alreadyResolved = true; + resolve(value); + }, function (e) { + if (alreadyRejected || alreadyResolved) return; + alreadyRejected = true; + errors[index] = e; + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + }); + --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR)); + }); + if (result.error) reject(result.value); + return capability.promise; + } +}); + +},{"../internals/a-function":310,"../internals/export":361,"../internals/get-built-in":372,"../internals/iterate":395,"../internals/new-promise-capability":409,"../internals/perform":431}],743:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var newPromiseCapabilityModule = require('../internals/new-promise-capability'); +var perform = require('../internals/perform'); + +// `Promise.try` method +// https://github.com/tc39/proposal-promise-try +$({ target: 'Promise', stat: true }, { + 'try': function (callbackfn) { + var promiseCapability = newPromiseCapabilityModule.f(this); + var result = perform(callbackfn); + (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value); + return promiseCapability.promise; + } +}); + +},{"../internals/export":361,"../internals/new-promise-capability":409,"../internals/perform":431}],744:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var toMetadataKey = ReflectMetadataModule.toKey; +var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; + +// `Reflect.defineMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + defineMetadata: function defineMetadata(metadataKey, metadataValue, target /* , targetKey */) { + var targetKey = arguments.length < 4 ? undefined : toMetadataKey(arguments[3]); + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],745:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var toMetadataKey = ReflectMetadataModule.toKey; +var getOrCreateMetadataMap = ReflectMetadataModule.getMap; +var store = ReflectMetadataModule.store; + +// `Reflect.deleteMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false); + if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false; + if (metadataMap.size) return true; + var targetMetadata = store.get(target); + targetMetadata['delete'](targetKey); + return !!targetMetadata.size || store['delete'](target); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],746:[function(require,module,exports){ +var $ = require('../internals/export'); +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +var Set = require('../modules/es.set'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); +var iterate = require('../internals/iterate'); + +var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; +var toMetadataKey = ReflectMetadataModule.toKey; + +var from = function (iter) { + var result = []; + iterate(iter, result.push, result); + return result; +}; + +var ordinaryMetadataKeys = function (O, P) { + var oKeys = ordinaryOwnMetadataKeys(O, P); + var parent = getPrototypeOf(O); + if (parent === null) return oKeys; + var pKeys = ordinaryMetadataKeys(parent, P); + return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys; +}; + +// `Reflect.getMetadataKeys` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getMetadataKeys: function getMetadataKeys(target /* , targetKey */) { + var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); + return ordinaryMetadataKeys(anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/iterate":395,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436,"../modules/es.set":597}],747:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var ordinaryGetOwnMetadata = ReflectMetadataModule.get; +var toMetadataKey = ReflectMetadataModule.toKey; + +var ordinaryGetMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P); + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined; +}; + +// `Reflect.getMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getMetadata: function getMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryGetMetadata(metadataKey, anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436}],748:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var ordinaryOwnMetadataKeys = ReflectMetadataModule.keys; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.getOwnMetadataKeys` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) { + var targetKey = arguments.length < 2 ? undefined : toMetadataKey(arguments[1]); + return ordinaryOwnMetadataKeys(anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],749:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var ordinaryGetOwnMetadata = ReflectMetadataModule.get; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.getOwnMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryGetOwnMetadata(metadataKey, anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],750:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); +var getPrototypeOf = require('../internals/object-get-prototype-of'); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var toMetadataKey = ReflectMetadataModule.toKey; + +var ordinaryHasMetadata = function (MetadataKey, O, P) { + var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P); + if (hasOwn) return true; + var parent = getPrototypeOf(O); + return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false; +}; + +// `Reflect.hasMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryHasMetadata(metadataKey, anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/object-get-prototype-of":420,"../internals/reflect-metadata":436}],751:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var ordinaryHasOwnMetadata = ReflectMetadataModule.has; +var toMetadataKey = ReflectMetadataModule.toKey; + +// `Reflect.hasOwnMetadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) { + var targetKey = arguments.length < 3 ? undefined : toMetadataKey(arguments[2]); + return ordinaryHasOwnMetadata(metadataKey, anObject(target), targetKey); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],752:[function(require,module,exports){ +var $ = require('../internals/export'); +var ReflectMetadataModule = require('../internals/reflect-metadata'); +var anObject = require('../internals/an-object'); + +var toMetadataKey = ReflectMetadataModule.toKey; +var ordinaryDefineOwnMetadata = ReflectMetadataModule.set; + +// `Reflect.metadata` method +// https://github.com/rbuckton/reflect-metadata +$({ target: 'Reflect', stat: true }, { + metadata: function metadata(metadataKey, metadataValue) { + return function decorator(target, key) { + ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetadataKey(key)); + }; + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/reflect-metadata":436}],753:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionAddAll = require('../internals/collection-add-all'); + +// `Set.prototype.addAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + addAll: function addAll(/* ...elements */) { + return collectionAddAll.apply(this, arguments); + } +}); + +},{"../internals/collection-add-all":335,"../internals/export":361,"../internals/is-pure":393}],754:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionDeleteAll = require('../internals/collection-delete-all'); + +// `Set.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + deleteAll: function deleteAll(/* ...elements */) { + return collectionDeleteAll.apply(this, arguments); + } +}); + +},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],755:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var speciesConstructor = require('../internals/species-constructor'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + difference: function difference(iterable) { + var set = anObject(this); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); + var remover = aFunction(newSet['delete']); + iterate(iterable, function (value) { + remover.call(newSet, value); + }); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],756:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.every` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + every: function every(callbackfn /* , thisArg */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return !iterate(iterator, function (value) { + if (!boundFunction(value, value, set)) return iterate.stop(); + }, undefined, false, true).stopped; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],757:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.filter` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + filter: function filter(callbackfn /* , thisArg */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); + var adder = aFunction(newSet.add); + iterate(iterator, function (value) { + if (boundFunction(value, value, set)) adder.call(newSet, value); + }, undefined, false, true); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],758:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.find` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + find: function find(callbackfn /* , thisArg */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return iterate(iterator, function (value) { + if (boundFunction(value, value, set)) return iterate.stop(value); + }, undefined, false, true).result; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],759:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/collection-from'); + +// `Set.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from +$({ target: 'Set', stat: true }, { + from: from +}); + +},{"../internals/collection-from":337,"../internals/export":361}],760:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var speciesConstructor = require('../internals/species-constructor'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.intersection` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + intersection: function intersection(iterable) { + var set = anObject(this); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); + var hasCheck = aFunction(set.has); + var adder = aFunction(newSet.add); + iterate(iterable, function (value) { + if (hasCheck.call(set, value)) adder.call(newSet, value); + }); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],761:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.isDisjointFrom` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isDisjointFrom +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + isDisjointFrom: function isDisjointFrom(iterable) { + var set = anObject(this); + var hasCheck = aFunction(set.has); + return !iterate(iterable, function (value) { + if (hasCheck.call(set, value) === true) return iterate.stop(); + }).stopped; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],762:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var getIterator = require('../internals/get-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.isSubsetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSubsetOf +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + isSubsetOf: function isSubsetOf(iterable) { + var iterator = getIterator(this); + var otherSet = anObject(iterable); + var hasCheck = otherSet.has; + if (typeof hasCheck != 'function') { + otherSet = new (getBuiltIn('Set'))(iterable); + hasCheck = aFunction(otherSet.has); + } + return !iterate(iterator, function (value) { + if (hasCheck.call(otherSet, value) === false) return iterate.stop(); + }, undefined, false, true).stopped; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-iterator":374,"../internals/is-pure":393,"../internals/iterate":395}],763:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + isSupersetOf: function isSupersetOf(iterable) { + var set = anObject(this); + var hasCheck = aFunction(set.has); + return !iterate(iterable, function (value) { + if (hasCheck.call(set, value) === false) return iterate.stop(); + }).stopped; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/is-pure":393,"../internals/iterate":395}],764:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.join` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + join: function join(separator) { + var set = anObject(this); + var iterator = getSetIterator(set); + var sep = separator === undefined ? ',' : String(separator); + var result = []; + iterate(iterator, result.push, result, false, true); + return result.join(sep); + } +}); + +},{"../internals/an-object":315,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],765:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var bind = require('../internals/bind-context'); +var speciesConstructor = require('../internals/species-constructor'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.map` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + map: function map(callbackfn /* , thisArg */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(); + var adder = aFunction(newSet.add); + iterate(iterator, function (value) { + adder.call(newSet, boundFunction(value, value, set)); + }, undefined, false, true); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],766:[function(require,module,exports){ +var $ = require('../internals/export'); +var of = require('../internals/collection-of'); + +// `Set.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of +$({ target: 'Set', stat: true }, { + of: of +}); + +},{"../internals/collection-of":338,"../internals/export":361}],767:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.reduce` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var noInitial = arguments.length < 2; + var accumulator = noInitial ? undefined : arguments[1]; + aFunction(callbackfn); + iterate(iterator, function (value) { + if (noInitial) { + noInitial = false; + accumulator = value; + } else { + accumulator = callbackfn(accumulator, value, value, set); + } + }, undefined, false, true); + if (noInitial) throw TypeError('Reduce of empty set with no initial value'); + return accumulator; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],768:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var anObject = require('../internals/an-object'); +var bind = require('../internals/bind-context'); +var getSetIterator = require('../internals/get-set-iterator'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.some` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + some: function some(callbackfn /* , thisArg */) { + var set = anObject(this); + var iterator = getSetIterator(set); + var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + return iterate(iterator, function (value) { + if (boundFunction(value, value, set)) return iterate.stop(); + }, undefined, false, true).stopped; + } +}); + +},{"../internals/an-object":315,"../internals/bind-context":330,"../internals/export":361,"../internals/get-set-iterator":376,"../internals/is-pure":393,"../internals/iterate":395}],769:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var speciesConstructor = require('../internals/species-constructor'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + symmetricDifference: function symmetricDifference(iterable) { + var set = anObject(this); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); + var remover = aFunction(newSet['delete']); + var adder = aFunction(newSet.add); + iterate(iterable, function (value) { + remover.call(newSet, value) || adder.call(newSet, value); + }); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],770:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var getBuiltIn = require('../internals/get-built-in'); +var anObject = require('../internals/an-object'); +var aFunction = require('../internals/a-function'); +var speciesConstructor = require('../internals/species-constructor'); +var iterate = require('../internals/iterate'); + +// `Set.prototype.union` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: IS_PURE }, { + union: function union(iterable) { + var set = anObject(this); + var newSet = new (speciesConstructor(set, getBuiltIn('Set')))(set); + iterate(iterable, aFunction(newSet.add), newSet); + return newSet; + } +}); + +},{"../internals/a-function":310,"../internals/an-object":315,"../internals/export":361,"../internals/get-built-in":372,"../internals/is-pure":393,"../internals/iterate":395,"../internals/species-constructor":450}],771:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var charAt = require('../internals/string-multibyte').charAt; + +// `String.prototype.at` method +// https://github.com/mathiasbynens/String.prototype.at +$({ target: 'String', proto: true }, { + at: function at(pos) { + return charAt(this, pos); + } +}); + +},{"../internals/export":361,"../internals/string-multibyte":451}],772:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var InternalStateModule = require('../internals/internal-state'); +var StringMultibyteModule = require('../internals/string-multibyte'); + +var codeAt = StringMultibyteModule.codeAt; +var charAt = StringMultibyteModule.charAt; +var STRING_ITERATOR = 'String Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); + +// TODO: unify with String#@@iterator +var $StringIterator = createIteratorConstructor(function StringIterator(string) { + setInternalState(this, { + type: STRING_ITERATOR, + string: string, + index: 0 + }); +}, 'String', function next() { + var state = getInternalState(this); + var string = state.string; + var index = state.index; + var point; + if (index >= string.length) return { value: undefined, done: true }; + point = charAt(string, index); + state.index += point.length; + return { value: { codePoint: codeAt(point, 0), position: index }, done: false }; +}); + +// `String.prototype.codePoints` method +// https://github.com/tc39/proposal-string-prototype-codepoints +$({ target: 'String', proto: true }, { + codePoints: function codePoints() { + return new $StringIterator(String(requireObjectCoercible(this))); + } +}); + +},{"../internals/create-iterator-constructor":348,"../internals/export":361,"../internals/internal-state":386,"../internals/require-object-coercible":440,"../internals/string-multibyte":451}],773:[function(require,module,exports){ +// TODO: Remove from `core-js@4` +require('./es.string.match-all'); + +},{"./es.string.match-all":612}],774:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var requireObjectCoercible = require('../internals/require-object-coercible'); +var isRegExp = require('../internals/is-regexp'); +var getRegExpFlags = require('../internals/regexp-flags'); +var wellKnownSymbol = require('../internals/well-known-symbol'); +var IS_PURE = require('../internals/is-pure'); + +var REPLACE = wellKnownSymbol('replace'); +var RegExpPrototype = RegExp.prototype; + +// `String.prototype.replaceAll` method +// https://github.com/tc39/proposal-string-replace-all +$({ target: 'String', proto: true }, { + replaceAll: function replaceAll(searchValue, replaceValue) { + var O = requireObjectCoercible(this); + var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index; + if (searchValue != null) { + IS_REG_EXP = isRegExp(searchValue); + if (IS_REG_EXP) { + flags = String(requireObjectCoercible('flags' in RegExpPrototype + ? searchValue.flags + : getRegExpFlags.call(searchValue) + )); + if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes'); + } + replacer = searchValue[REPLACE]; + if (replacer !== undefined) { + return replacer.call(searchValue, O, replaceValue); + } else if (IS_PURE && IS_REG_EXP) { + return String(O).replace(searchValue, replaceValue); + } + } + string = String(O); + searchString = String(searchValue); + if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue); + template = string.split(searchString); + if (typeof replaceValue !== 'function') { + return template.join(String(replaceValue)); + } + result = template[0]; + position = result.length; + for (index = 1; index < template.length; index++) { + result += String(replaceValue(searchString, position, string)); + position += searchString.length + template[index].length; + result += template[index]; + } + return result; + } +}); + +},{"../internals/export":361,"../internals/is-pure":393,"../internals/is-regexp":394,"../internals/regexp-flags":439,"../internals/require-object-coercible":440,"../internals/well-known-symbol":473}],775:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.asyncDispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('asyncDispose'); + +},{"../internals/define-well-known-symbol":356}],776:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.dispose` well-known symbol +// https://github.com/tc39/proposal-using-statement +defineWellKnownSymbol('dispose'); + +},{"../internals/define-well-known-symbol":356}],777:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.observable` well-known symbol +// https://github.com/tc39/proposal-observable +defineWellKnownSymbol('observable'); + +},{"../internals/define-well-known-symbol":356}],778:[function(require,module,exports){ +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +// `Symbol.patternMatch` well-known symbol +// https://github.com/tc39/proposal-pattern-matching +defineWellKnownSymbol('patternMatch'); + +},{"../internals/define-well-known-symbol":356}],779:[function(require,module,exports){ +// TODO: remove from `core-js@4` +var defineWellKnownSymbol = require('../internals/define-well-known-symbol'); + +defineWellKnownSymbol('replaceAll'); + +},{"../internals/define-well-known-symbol":356}],780:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionDeleteAll = require('../internals/collection-delete-all'); + +// `WeakMap.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, { + deleteAll: function deleteAll(/* ...elements */) { + return collectionDeleteAll.apply(this, arguments); + } +}); + +},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],781:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/collection-from'); + +// `WeakMap.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from +$({ target: 'WeakMap', stat: true }, { + from: from +}); + +},{"../internals/collection-from":337,"../internals/export":361}],782:[function(require,module,exports){ +var $ = require('../internals/export'); +var of = require('../internals/collection-of'); + +// `WeakMap.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of +$({ target: 'WeakMap', stat: true }, { + of: of +}); + +},{"../internals/collection-of":338,"../internals/export":361}],783:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var $upsert = require('../internals/map-upsert'); + +// `WeakMap.prototype.upsert` method +// https://github.com/thumbsupep/proposal-upsert +$({ target: 'WeakMap', proto: true, real: true, forced: IS_PURE }, { + upsert: $upsert +}); + +},{"../internals/export":361,"../internals/is-pure":393,"../internals/map-upsert":398}],784:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionAddAll = require('../internals/collection-add-all'); + +// `WeakSet.prototype.addAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakSet', proto: true, real: true, forced: IS_PURE }, { + addAll: function addAll(/* ...elements */) { + return collectionAddAll.apply(this, arguments); + } +}); + +},{"../internals/collection-add-all":335,"../internals/export":361,"../internals/is-pure":393}],785:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); +var IS_PURE = require('../internals/is-pure'); +var collectionDeleteAll = require('../internals/collection-delete-all'); + +// `WeakSet.prototype.deleteAll` method +// https://github.com/tc39/proposal-collection-methods +$({ target: 'WeakSet', proto: true, real: true, forced: IS_PURE }, { + deleteAll: function deleteAll(/* ...elements */) { + return collectionDeleteAll.apply(this, arguments); + } +}); + +},{"../internals/collection-delete-all":336,"../internals/export":361,"../internals/is-pure":393}],786:[function(require,module,exports){ +var $ = require('../internals/export'); +var from = require('../internals/collection-from'); + +// `WeakSet.from` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from +$({ target: 'WeakSet', stat: true }, { + from: from +}); + +},{"../internals/collection-from":337,"../internals/export":361}],787:[function(require,module,exports){ +var $ = require('../internals/export'); +var of = require('../internals/collection-of'); + +// `WeakSet.of` method +// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of +$({ target: 'WeakSet', stat: true }, { + of: of +}); + +},{"../internals/collection-of":338,"../internals/export":361}],788:[function(require,module,exports){ +var global = require('../internals/global'); +var DOMIterables = require('../internals/dom-iterables'); +var forEach = require('../internals/array-for-each'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { + createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); + } catch (error) { + CollectionPrototype.forEach = forEach; + } +} + +},{"../internals/array-for-each":320,"../internals/create-non-enumerable-property":350,"../internals/dom-iterables":359,"../internals/global":377}],789:[function(require,module,exports){ +var global = require('../internals/global'); +var DOMIterables = require('../internals/dom-iterables'); +var ArrayIteratorMethods = require('../modules/es.array.iterator'); +var createNonEnumerableProperty = require('../internals/create-non-enumerable-property'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var ITERATOR = wellKnownSymbol('iterator'); +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var ArrayValues = ArrayIteratorMethods.values; + +for (var COLLECTION_NAME in DOMIterables) { + var Collection = global[COLLECTION_NAME]; + var CollectionPrototype = Collection && Collection.prototype; + if (CollectionPrototype) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[ITERATOR] !== ArrayValues) try { + createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); + } catch (error) { + CollectionPrototype[ITERATOR] = ArrayValues; + } + if (!CollectionPrototype[TO_STRING_TAG]) { + createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); + } + if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { + // some Chrome versions have non-configurable methods on DOMTokenList + if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { + createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); + } catch (error) { + CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; + } + } + } +} + +},{"../internals/create-non-enumerable-property":350,"../internals/dom-iterables":359,"../internals/global":377,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],790:[function(require,module,exports){ +var global = require('../internals/global'); +var task = require('../internals/task'); + +var FORCED = !global.setImmediate || !global.clearImmediate; + +// http://w3c.github.io/setImmediate/ +require('../internals/export')({ global: true, bind: true, enumerable: true, forced: FORCED }, { + // `setImmediate` method + // http://w3c.github.io/setImmediate/#si-setImmediate + setImmediate: task.set, + // `clearImmediate` method + // http://w3c.github.io/setImmediate/#si-clearImmediate + clearImmediate: task.clear +}); + +},{"../internals/export":361,"../internals/global":377,"../internals/task":455}],791:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); +var microtask = require('../internals/microtask'); +var classof = require('../internals/classof-raw'); + +var process = global.process; +var isNode = classof(process) == 'process'; + +// `queueMicrotask` method +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask +$({ global: true, enumerable: true, noTargetGet: true }, { + queueMicrotask: function queueMicrotask(fn) { + var domain = isNode && process.domain; + microtask(domain ? domain.bind(fn) : fn); + } +}); + +},{"../internals/classof-raw":333,"../internals/export":361,"../internals/global":377,"../internals/microtask":404}],792:[function(require,module,exports){ +var $ = require('../internals/export'); +var global = require('../internals/global'); +var userAgent = require('../internals/user-agent'); + +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check + +var wrap = function (scheduler) { + return function (handler, timeout /* , ...arguments */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : undefined; + return scheduler(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); + } : handler, timeout); + }; +}; + +// ie9- setTimeout & setInterval additional parameters fix +// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers +$({ global: true, bind: true, forced: MSIE }, { + // `setTimeout` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout + setTimeout: wrap(global.setTimeout), + // `setInterval` method + // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval + setInterval: wrap(global.setInterval) +}); + +},{"../internals/export":361,"../internals/global":377,"../internals/user-agent":470}],793:[function(require,module,exports){ +'use strict'; +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +require('../modules/es.array.iterator'); +var $ = require('../internals/export'); +var getBuiltIn = require('../internals/get-built-in'); +var USE_NATIVE_URL = require('../internals/native-url'); +var redefine = require('../internals/redefine'); +var redefineAll = require('../internals/redefine-all'); +var setToStringTag = require('../internals/set-to-string-tag'); +var createIteratorConstructor = require('../internals/create-iterator-constructor'); +var InternalStateModule = require('../internals/internal-state'); +var anInstance = require('../internals/an-instance'); +var hasOwn = require('../internals/has'); +var bind = require('../internals/bind-context'); +var classof = require('../internals/classof'); +var anObject = require('../internals/an-object'); +var isObject = require('../internals/is-object'); +var create = require('../internals/object-create'); +var createPropertyDescriptor = require('../internals/create-property-descriptor'); +var getIterator = require('../internals/get-iterator'); +var getIteratorMethod = require('../internals/get-iterator-method'); +var wellKnownSymbol = require('../internals/well-known-symbol'); + +var $fetch = getBuiltIn('fetch'); +var Headers = getBuiltIn('Headers'); +var ITERATOR = wellKnownSymbol('iterator'); +var URL_SEARCH_PARAMS = 'URLSearchParams'; +var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; +var setInternalState = InternalStateModule.set; +var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); +var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); + +var plus = /\+/g; +var sequences = Array(4); + +var percentSequence = function (bytes) { + return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); +}; + +var percentDecode = function (sequence) { + try { + return decodeURIComponent(sequence); + } catch (error) { + return sequence; + } +}; + +var deserialize = function (it) { + var result = it.replace(plus, ' '); + var bytes = 4; + try { + return decodeURIComponent(result); + } catch (error) { + while (bytes) { + result = result.replace(percentSequence(bytes--), percentDecode); + } + return result; + } +}; + +var find = /[!'()~]|%20/g; + +var replace = { + '!': '%21', + "'": '%27', + '(': '%28', + ')': '%29', + '~': '%7E', + '%20': '+' +}; + +var replacer = function (match) { + return replace[match]; +}; + +var serialize = function (it) { + return encodeURIComponent(it).replace(find, replacer); +}; + +var parseSearchParams = function (result, query) { + if (query) { + var attributes = query.split('&'); + var index = 0; + var attribute, entry; + while (index < attributes.length) { + attribute = attributes[index++]; + if (attribute.length) { + entry = attribute.split('='); + result.push({ + key: deserialize(entry.shift()), + value: deserialize(entry.join('=')) + }); + } + } + } +}; + +var updateSearchParams = function (query) { + this.entries.length = 0; + parseSearchParams(this.entries, query); +}; + +var validateArgumentsLength = function (passed, required) { + if (passed < required) throw TypeError('Not enough arguments'); +}; + +var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { + setInternalState(this, { + type: URL_SEARCH_PARAMS_ITERATOR, + iterator: getIterator(getInternalParamsState(params).entries), + kind: kind + }); +}, 'Iterator', function next() { + var state = getInternalIteratorState(this); + var kind = state.kind; + var step = state.iterator.next(); + var entry = step.value; + if (!step.done) { + step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; + } return step; +}); + +// `URLSearchParams` constructor +// https://url.spec.whatwg.org/#interface-urlsearchparams +var URLSearchParamsConstructor = function URLSearchParams(/* init */) { + anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); + var init = arguments.length > 0 ? arguments[0] : undefined; + var that = this; + var entries = []; + var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; + + setInternalState(that, { + type: URL_SEARCH_PARAMS, + entries: entries, + updateURL: function () { /* empty */ }, + updateSearchParams: updateSearchParams + }); + + if (init !== undefined) { + if (isObject(init)) { + iteratorMethod = getIteratorMethod(init); + if (typeof iteratorMethod === 'function') { + iterator = iteratorMethod.call(init); + next = iterator.next; + while (!(step = next.call(iterator)).done) { + entryIterator = getIterator(anObject(step.value)); + entryNext = entryIterator.next; + if ( + (first = entryNext.call(entryIterator)).done || + (second = entryNext.call(entryIterator)).done || + !entryNext.call(entryIterator).done + ) throw TypeError('Expected sequence with length 2'); + entries.push({ key: first.value + '', value: second.value + '' }); + } + } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); + } else { + parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); + } + } +}; + +var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; + +redefineAll(URLSearchParamsPrototype, { + // `URLSearchParams.prototype.appent` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-append + append: function append(name, value) { + validateArgumentsLength(arguments.length, 2); + var state = getInternalParamsState(this); + state.entries.push({ key: name + '', value: value + '' }); + state.updateURL(); + }, + // `URLSearchParams.prototype.delete` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-delete + 'delete': function (name) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var key = name + ''; + var index = 0; + while (index < entries.length) { + if (entries[index].key === key) entries.splice(index, 1); + else index++; + } + state.updateURL(); + }, + // `URLSearchParams.prototype.get` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-get + get: function get(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) return entries[index].value; + } + return null; + }, + // `URLSearchParams.prototype.getAll` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-getall + getAll: function getAll(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var result = []; + var index = 0; + for (; index < entries.length; index++) { + if (entries[index].key === key) result.push(entries[index].value); + } + return result; + }, + // `URLSearchParams.prototype.has` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-has + has: function has(name) { + validateArgumentsLength(arguments.length, 1); + var entries = getInternalParamsState(this).entries; + var key = name + ''; + var index = 0; + while (index < entries.length) { + if (entries[index++].key === key) return true; + } + return false; + }, + // `URLSearchParams.prototype.set` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-set + set: function set(name, value) { + validateArgumentsLength(arguments.length, 1); + var state = getInternalParamsState(this); + var entries = state.entries; + var found = false; + var key = name + ''; + var val = value + ''; + var index = 0; + var entry; + for (; index < entries.length; index++) { + entry = entries[index]; + if (entry.key === key) { + if (found) entries.splice(index--, 1); + else { + found = true; + entry.value = val; + } + } + } + if (!found) entries.push({ key: key, value: val }); + state.updateURL(); + }, + // `URLSearchParams.prototype.sort` method + // https://url.spec.whatwg.org/#dom-urlsearchparams-sort + sort: function sort() { + var state = getInternalParamsState(this); + var entries = state.entries; + // Array#sort is not stable in some engines + var slice = entries.slice(); + var entry, entriesIndex, sliceIndex; + entries.length = 0; + for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { + entry = slice[sliceIndex]; + for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { + if (entries[entriesIndex].key > entry.key) { + entries.splice(entriesIndex, 0, entry); + break; + } + } + if (entriesIndex === sliceIndex) entries.push(entry); + } + state.updateURL(); + }, + // `URLSearchParams.prototype.forEach` method + forEach: function forEach(callback /* , thisArg */) { + var entries = getInternalParamsState(this).entries; + var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + boundFunction(entry.value, entry.key, this); + } + }, + // `URLSearchParams.prototype.keys` method + keys: function keys() { + return new URLSearchParamsIterator(this, 'keys'); + }, + // `URLSearchParams.prototype.values` method + values: function values() { + return new URLSearchParamsIterator(this, 'values'); + }, + // `URLSearchParams.prototype.entries` method + entries: function entries() { + return new URLSearchParamsIterator(this, 'entries'); + } +}, { enumerable: true }); + +// `URLSearchParams.prototype[@@iterator]` method +redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); + +// `URLSearchParams.prototype.toString` method +// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior +redefine(URLSearchParamsPrototype, 'toString', function toString() { + var entries = getInternalParamsState(this).entries; + var result = []; + var index = 0; + var entry; + while (index < entries.length) { + entry = entries[index++]; + result.push(serialize(entry.key) + '=' + serialize(entry.value)); + } return result.join('&'); +}, { enumerable: true }); + +setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); + +$({ global: true, forced: !USE_NATIVE_URL }, { + URLSearchParams: URLSearchParamsConstructor +}); + +// Wrap `fetch` for correct work with polyfilled `URLSearchParams` +// https://github.com/zloirock/core-js/issues/674 +if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { + $({ global: true, enumerable: true, forced: true }, { + fetch: function fetch(input /* , init */) { + var args = [input]; + var init, body, headers; + if (arguments.length > 1) { + init = arguments[1]; + if (isObject(init)) { + body = init.body; + if (classof(body) === URL_SEARCH_PARAMS) { + headers = init.headers ? new Headers(init.headers) : new Headers(); + if (!headers.has('content-type')) { + headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); + } + init = create(init, { + body: createPropertyDescriptor(0, String(body)), + headers: createPropertyDescriptor(0, headers) + }); + } + } + args.push(init); + } return $fetch.apply(this, args); + } + }); +} + +module.exports = { + URLSearchParams: URLSearchParamsConstructor, + getState: getInternalParamsState +}; + +},{"../internals/an-instance":314,"../internals/an-object":315,"../internals/bind-context":330,"../internals/classof":334,"../internals/create-iterator-constructor":348,"../internals/create-property-descriptor":351,"../internals/export":361,"../internals/get-built-in":372,"../internals/get-iterator":374,"../internals/get-iterator-method":373,"../internals/has":378,"../internals/internal-state":386,"../internals/is-object":392,"../internals/native-url":407,"../internals/object-create":413,"../internals/redefine":435,"../internals/redefine-all":434,"../internals/set-to-string-tag":445,"../internals/well-known-symbol":473,"../modules/es.array.iterator":493}],794:[function(require,module,exports){ +'use strict'; +// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` +require('../modules/es.string.iterator'); +var $ = require('../internals/export'); +var DESCRIPTORS = require('../internals/descriptors'); +var USE_NATIVE_URL = require('../internals/native-url'); +var global = require('../internals/global'); +var defineProperties = require('../internals/object-define-properties'); +var redefine = require('../internals/redefine'); +var anInstance = require('../internals/an-instance'); +var has = require('../internals/has'); +var assign = require('../internals/object-assign'); +var arrayFrom = require('../internals/array-from'); +var codeAt = require('../internals/string-multibyte').codeAt; +var toASCII = require('../internals/punycode-to-ascii'); +var setToStringTag = require('../internals/set-to-string-tag'); +var URLSearchParamsModule = require('../modules/web.url-search-params'); +var InternalStateModule = require('../internals/internal-state'); + +var NativeURL = global.URL; +var URLSearchParams = URLSearchParamsModule.URLSearchParams; +var getInternalSearchParamsState = URLSearchParamsModule.getState; +var setInternalState = InternalStateModule.set; +var getInternalURLState = InternalStateModule.getterFor('URL'); +var floor = Math.floor; +var pow = Math.pow; + +var INVALID_AUTHORITY = 'Invalid authority'; +var INVALID_SCHEME = 'Invalid scheme'; +var INVALID_HOST = 'Invalid host'; +var INVALID_PORT = 'Invalid port'; + +var ALPHA = /[A-Za-z]/; +var ALPHANUMERIC = /[\d+\-.A-Za-z]/; +var DIGIT = /\d/; +var HEX_START = /^(0x|0X)/; +var OCT = /^[0-7]+$/; +var DEC = /^\d+$/; +var HEX = /^[\dA-Fa-f]+$/; +// eslint-disable-next-line no-control-regex +var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/; +// eslint-disable-next-line no-control-regex +var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/; +// eslint-disable-next-line no-control-regex +var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; +// eslint-disable-next-line no-control-regex +var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g; +var EOF; + +var parseHost = function (url, input) { + var result, codePoints, index; + if (input.charAt(0) == '[') { + if (input.charAt(input.length - 1) != ']') return INVALID_HOST; + result = parseIPv6(input.slice(1, -1)); + if (!result) return INVALID_HOST; + url.host = result; + // opaque host + } else if (!isSpecial(url)) { + if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; + result = ''; + codePoints = arrayFrom(input); + for (index = 0; index < codePoints.length; index++) { + result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); + } + url.host = result; + } else { + input = toASCII(input); + if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; + result = parseIPv4(input); + if (result === null) return INVALID_HOST; + url.host = result; + } +}; + +var parseIPv4 = function (input) { + var parts = input.split('.'); + var partsLength, numbers, index, part, radix, number, ipv4; + if (parts.length && parts[parts.length - 1] == '') { + parts.pop(); + } + partsLength = parts.length; + if (partsLength > 4) return input; + numbers = []; + for (index = 0; index < partsLength; index++) { + part = parts[index]; + if (part == '') return input; + radix = 10; + if (part.length > 1 && part.charAt(0) == '0') { + radix = HEX_START.test(part) ? 16 : 8; + part = part.slice(radix == 8 ? 1 : 2); + } + if (part === '') { + number = 0; + } else { + if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; + number = parseInt(part, radix); + } + numbers.push(number); + } + for (index = 0; index < partsLength; index++) { + number = numbers[index]; + if (index == partsLength - 1) { + if (number >= pow(256, 5 - partsLength)) return null; + } else if (number > 255) return null; + } + ipv4 = numbers.pop(); + for (index = 0; index < numbers.length; index++) { + ipv4 += numbers[index] * pow(256, 3 - index); + } + return ipv4; +}; + +// eslint-disable-next-line max-statements +var parseIPv6 = function (input) { + var address = [0, 0, 0, 0, 0, 0, 0, 0]; + var pieceIndex = 0; + var compress = null; + var pointer = 0; + var value, length, numbersSeen, ipv4Piece, number, swaps, swap; + + var char = function () { + return input.charAt(pointer); + }; + + if (char() == ':') { + if (input.charAt(1) != ':') return; + pointer += 2; + pieceIndex++; + compress = pieceIndex; + } + while (char()) { + if (pieceIndex == 8) return; + if (char() == ':') { + if (compress !== null) return; + pointer++; + pieceIndex++; + compress = pieceIndex; + continue; + } + value = length = 0; + while (length < 4 && HEX.test(char())) { + value = value * 16 + parseInt(char(), 16); + pointer++; + length++; + } + if (char() == '.') { + if (length == 0) return; + pointer -= length; + if (pieceIndex > 6) return; + numbersSeen = 0; + while (char()) { + ipv4Piece = null; + if (numbersSeen > 0) { + if (char() == '.' && numbersSeen < 4) pointer++; + else return; + } + if (!DIGIT.test(char())) return; + while (DIGIT.test(char())) { + number = parseInt(char(), 10); + if (ipv4Piece === null) ipv4Piece = number; + else if (ipv4Piece == 0) return; + else ipv4Piece = ipv4Piece * 10 + number; + if (ipv4Piece > 255) return; + pointer++; + } + address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; + numbersSeen++; + if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; + } + if (numbersSeen != 4) return; + break; + } else if (char() == ':') { + pointer++; + if (!char()) return; + } else if (char()) return; + address[pieceIndex++] = value; + } + if (compress !== null) { + swaps = pieceIndex - compress; + pieceIndex = 7; + while (pieceIndex != 0 && swaps > 0) { + swap = address[pieceIndex]; + address[pieceIndex--] = address[compress + swaps - 1]; + address[compress + --swaps] = swap; + } + } else if (pieceIndex != 8) return; + return address; +}; + +var findLongestZeroSequence = function (ipv6) { + var maxIndex = null; + var maxLength = 1; + var currStart = null; + var currLength = 0; + var index = 0; + for (; index < 8; index++) { + if (ipv6[index] !== 0) { + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + currStart = null; + currLength = 0; + } else { + if (currStart === null) currStart = index; + ++currLength; + } + } + if (currLength > maxLength) { + maxIndex = currStart; + maxLength = currLength; + } + return maxIndex; +}; + +var serializeHost = function (host) { + var result, index, compress, ignore0; + // ipv4 + if (typeof host == 'number') { + result = []; + for (index = 0; index < 4; index++) { + result.unshift(host % 256); + host = floor(host / 256); + } return result.join('.'); + // ipv6 + } else if (typeof host == 'object') { + result = ''; + compress = findLongestZeroSequence(host); + for (index = 0; index < 8; index++) { + if (ignore0 && host[index] === 0) continue; + if (ignore0) ignore0 = false; + if (compress === index) { + result += index ? ':' : '::'; + ignore0 = true; + } else { + result += host[index].toString(16); + if (index < 7) result += ':'; + } + } + return '[' + result + ']'; + } return host; +}; + +var C0ControlPercentEncodeSet = {}; +var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { + ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 +}); +var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { + '#': 1, '?': 1, '{': 1, '}': 1 +}); +var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { + '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 +}); + +var percentEncode = function (char, set) { + var code = codeAt(char, 0); + return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); +}; + +var specialSchemes = { + ftp: 21, + file: null, + http: 80, + https: 443, + ws: 80, + wss: 443 +}; + +var isSpecial = function (url) { + return has(specialSchemes, url.scheme); +}; + +var includesCredentials = function (url) { + return url.username != '' || url.password != ''; +}; + +var cannotHaveUsernamePasswordPort = function (url) { + return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; +}; + +var isWindowsDriveLetter = function (string, normalized) { + var second; + return string.length == 2 && ALPHA.test(string.charAt(0)) + && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); +}; + +var startsWithWindowsDriveLetter = function (string) { + var third; + return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( + string.length == 2 || + ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') + ); +}; + +var shortenURLsPath = function (url) { + var path = url.path; + var pathSize = path.length; + if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { + path.pop(); + } +}; + +var isSingleDot = function (segment) { + return segment === '.' || segment.toLowerCase() === '%2e'; +}; + +var isDoubleDot = function (segment) { + segment = segment.toLowerCase(); + return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; +}; + +// States: +var SCHEME_START = {}; +var SCHEME = {}; +var NO_SCHEME = {}; +var SPECIAL_RELATIVE_OR_AUTHORITY = {}; +var PATH_OR_AUTHORITY = {}; +var RELATIVE = {}; +var RELATIVE_SLASH = {}; +var SPECIAL_AUTHORITY_SLASHES = {}; +var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; +var AUTHORITY = {}; +var HOST = {}; +var HOSTNAME = {}; +var PORT = {}; +var FILE = {}; +var FILE_SLASH = {}; +var FILE_HOST = {}; +var PATH_START = {}; +var PATH = {}; +var CANNOT_BE_A_BASE_URL_PATH = {}; +var QUERY = {}; +var FRAGMENT = {}; + +// eslint-disable-next-line max-statements +var parseURL = function (url, input, stateOverride, base) { + var state = stateOverride || SCHEME_START; + var pointer = 0; + var buffer = ''; + var seenAt = false; + var seenBracket = false; + var seenPasswordToken = false; + var codePoints, char, bufferCodePoints, failure; + + if (!stateOverride) { + url.scheme = ''; + url.username = ''; + url.password = ''; + url.host = null; + url.port = null; + url.path = []; + url.query = null; + url.fragment = null; + url.cannotBeABaseURL = false; + input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); + } + + input = input.replace(TAB_AND_NEW_LINE, ''); + + codePoints = arrayFrom(input); + + while (pointer <= codePoints.length) { + char = codePoints[pointer]; + switch (state) { + case SCHEME_START: + if (char && ALPHA.test(char)) { + buffer += char.toLowerCase(); + state = SCHEME; + } else if (!stateOverride) { + state = NO_SCHEME; + continue; + } else return INVALID_SCHEME; + break; + + case SCHEME: + if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { + buffer += char.toLowerCase(); + } else if (char == ':') { + if (stateOverride && ( + (isSpecial(url) != has(specialSchemes, buffer)) || + (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || + (url.scheme == 'file' && !url.host) + )) return; + url.scheme = buffer; + if (stateOverride) { + if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; + return; + } + buffer = ''; + if (url.scheme == 'file') { + state = FILE; + } else if (isSpecial(url) && base && base.scheme == url.scheme) { + state = SPECIAL_RELATIVE_OR_AUTHORITY; + } else if (isSpecial(url)) { + state = SPECIAL_AUTHORITY_SLASHES; + } else if (codePoints[pointer + 1] == '/') { + state = PATH_OR_AUTHORITY; + pointer++; + } else { + url.cannotBeABaseURL = true; + url.path.push(''); + state = CANNOT_BE_A_BASE_URL_PATH; + } + } else if (!stateOverride) { + buffer = ''; + state = NO_SCHEME; + pointer = 0; + continue; + } else return INVALID_SCHEME; + break; + + case NO_SCHEME: + if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; + if (base.cannotBeABaseURL && char == '#') { + url.scheme = base.scheme; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + url.cannotBeABaseURL = true; + state = FRAGMENT; + break; + } + state = base.scheme == 'file' ? FILE : RELATIVE; + continue; + + case SPECIAL_RELATIVE_OR_AUTHORITY: + if (char == '/' && codePoints[pointer + 1] == '/') { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + pointer++; + } else { + state = RELATIVE; + continue; + } break; + + case PATH_OR_AUTHORITY: + if (char == '/') { + state = AUTHORITY; + break; + } else { + state = PATH; + continue; + } + + case RELATIVE: + url.scheme = base.scheme; + if (char == EOF) { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = base.query; + } else if (char == '/' || (char == '\\' && isSpecial(url))) { + state = RELATIVE_SLASH; + } else if (char == '?') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + url.path = base.path.slice(); + url.path.pop(); + state = PATH; + continue; + } break; + + case RELATIVE_SLASH: + if (isSpecial(url) && (char == '/' || char == '\\')) { + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + } else if (char == '/') { + state = AUTHORITY; + } else { + url.username = base.username; + url.password = base.password; + url.host = base.host; + url.port = base.port; + state = PATH; + continue; + } break; + + case SPECIAL_AUTHORITY_SLASHES: + state = SPECIAL_AUTHORITY_IGNORE_SLASHES; + if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; + pointer++; + break; + + case SPECIAL_AUTHORITY_IGNORE_SLASHES: + if (char != '/' && char != '\\') { + state = AUTHORITY; + continue; + } break; + + case AUTHORITY: + if (char == '@') { + if (seenAt) buffer = '%40' + buffer; + seenAt = true; + bufferCodePoints = arrayFrom(buffer); + for (var i = 0; i < bufferCodePoints.length; i++) { + var codePoint = bufferCodePoints[i]; + if (codePoint == ':' && !seenPasswordToken) { + seenPasswordToken = true; + continue; + } + var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); + if (seenPasswordToken) url.password += encodedCodePoints; + else url.username += encodedCodePoints; + } + buffer = ''; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) + ) { + if (seenAt && buffer == '') return INVALID_AUTHORITY; + pointer -= arrayFrom(buffer).length + 1; + buffer = ''; + state = HOST; + } else buffer += char; + break; + + case HOST: + case HOSTNAME: + if (stateOverride && url.scheme == 'file') { + state = FILE_HOST; + continue; + } else if (char == ':' && !seenBracket) { + if (buffer == '') return INVALID_HOST; + failure = parseHost(url, buffer); + if (failure) return failure; + buffer = ''; + state = PORT; + if (stateOverride == HOSTNAME) return; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) + ) { + if (isSpecial(url) && buffer == '') return INVALID_HOST; + if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; + failure = parseHost(url, buffer); + if (failure) return failure; + buffer = ''; + state = PATH_START; + if (stateOverride) return; + continue; + } else { + if (char == '[') seenBracket = true; + else if (char == ']') seenBracket = false; + buffer += char; + } break; + + case PORT: + if (DIGIT.test(char)) { + buffer += char; + } else if ( + char == EOF || char == '/' || char == '?' || char == '#' || + (char == '\\' && isSpecial(url)) || + stateOverride + ) { + if (buffer != '') { + var port = parseInt(buffer, 10); + if (port > 0xFFFF) return INVALID_PORT; + url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; + buffer = ''; + } + if (stateOverride) return; + state = PATH_START; + continue; + } else return INVALID_PORT; + break; + + case FILE: + url.scheme = 'file'; + if (char == '/' || char == '\\') state = FILE_SLASH; + else if (base && base.scheme == 'file') { + if (char == EOF) { + url.host = base.host; + url.path = base.path.slice(); + url.query = base.query; + } else if (char == '?') { + url.host = base.host; + url.path = base.path.slice(); + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.host = base.host; + url.path = base.path.slice(); + url.query = base.query; + url.fragment = ''; + state = FRAGMENT; + } else { + if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { + url.host = base.host; + url.path = base.path.slice(); + shortenURLsPath(url); + } + state = PATH; + continue; + } + } else { + state = PATH; + continue; + } break; + + case FILE_SLASH: + if (char == '/' || char == '\\') { + state = FILE_HOST; + break; + } + if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { + if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); + else url.host = base.host; + } + state = PATH; + continue; + + case FILE_HOST: + if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { + if (!stateOverride && isWindowsDriveLetter(buffer)) { + state = PATH; + } else if (buffer == '') { + url.host = ''; + if (stateOverride) return; + state = PATH_START; + } else { + failure = parseHost(url, buffer); + if (failure) return failure; + if (url.host == 'localhost') url.host = ''; + if (stateOverride) return; + buffer = ''; + state = PATH_START; + } continue; + } else buffer += char; + break; + + case PATH_START: + if (isSpecial(url)) { + state = PATH; + if (char != '/' && char != '\\') continue; + } else if (!stateOverride && char == '?') { + url.query = ''; + state = QUERY; + } else if (!stateOverride && char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + state = PATH; + if (char != '/') continue; + } break; + + case PATH: + if ( + char == EOF || char == '/' || + (char == '\\' && isSpecial(url)) || + (!stateOverride && (char == '?' || char == '#')) + ) { + if (isDoubleDot(buffer)) { + shortenURLsPath(url); + if (char != '/' && !(char == '\\' && isSpecial(url))) { + url.path.push(''); + } + } else if (isSingleDot(buffer)) { + if (char != '/' && !(char == '\\' && isSpecial(url))) { + url.path.push(''); + } + } else { + if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { + if (url.host) url.host = ''; + buffer = buffer.charAt(0) + ':'; // normalize windows drive letter + } + url.path.push(buffer); + } + buffer = ''; + if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { + while (url.path.length > 1 && url.path[0] === '') { + url.path.shift(); + } + } + if (char == '?') { + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.fragment = ''; + state = FRAGMENT; + } + } else { + buffer += percentEncode(char, pathPercentEncodeSet); + } break; + + case CANNOT_BE_A_BASE_URL_PATH: + if (char == '?') { + url.query = ''; + state = QUERY; + } else if (char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); + } break; + + case QUERY: + if (!stateOverride && char == '#') { + url.fragment = ''; + state = FRAGMENT; + } else if (char != EOF) { + if (char == "'" && isSpecial(url)) url.query += '%27'; + else if (char == '#') url.query += '%23'; + else url.query += percentEncode(char, C0ControlPercentEncodeSet); + } break; + + case FRAGMENT: + if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); + break; + } + + pointer++; + } +}; + +// `URL` constructor +// https://url.spec.whatwg.org/#url-class +var URLConstructor = function URL(url /* , base */) { + var that = anInstance(this, URLConstructor, 'URL'); + var base = arguments.length > 1 ? arguments[1] : undefined; + var urlString = String(url); + var state = setInternalState(that, { type: 'URL' }); + var baseState, failure; + if (base !== undefined) { + if (base instanceof URLConstructor) baseState = getInternalURLState(base); + else { + failure = parseURL(baseState = {}, String(base)); + if (failure) throw TypeError(failure); + } + } + failure = parseURL(state, urlString, null, baseState); + if (failure) throw TypeError(failure); + var searchParams = state.searchParams = new URLSearchParams(); + var searchParamsState = getInternalSearchParamsState(searchParams); + searchParamsState.updateSearchParams(state.query); + searchParamsState.updateURL = function () { + state.query = String(searchParams) || null; + }; + if (!DESCRIPTORS) { + that.href = serializeURL.call(that); + that.origin = getOrigin.call(that); + that.protocol = getProtocol.call(that); + that.username = getUsername.call(that); + that.password = getPassword.call(that); + that.host = getHost.call(that); + that.hostname = getHostname.call(that); + that.port = getPort.call(that); + that.pathname = getPathname.call(that); + that.search = getSearch.call(that); + that.searchParams = getSearchParams.call(that); + that.hash = getHash.call(that); + } +}; + +var URLPrototype = URLConstructor.prototype; + +var serializeURL = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var username = url.username; + var password = url.password; + var host = url.host; + var port = url.port; + var path = url.path; + var query = url.query; + var fragment = url.fragment; + var output = scheme + ':'; + if (host !== null) { + output += '//'; + if (includesCredentials(url)) { + output += username + (password ? ':' + password : '') + '@'; + } + output += serializeHost(host); + if (port !== null) output += ':' + port; + } else if (scheme == 'file') output += '//'; + output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; + if (query !== null) output += '?' + query; + if (fragment !== null) output += '#' + fragment; + return output; +}; + +var getOrigin = function () { + var url = getInternalURLState(this); + var scheme = url.scheme; + var port = url.port; + if (scheme == 'blob') try { + return new URL(scheme.path[0]).origin; + } catch (error) { + return 'null'; + } + if (scheme == 'file' || !isSpecial(url)) return 'null'; + return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); +}; + +var getProtocol = function () { + return getInternalURLState(this).scheme + ':'; +}; + +var getUsername = function () { + return getInternalURLState(this).username; +}; + +var getPassword = function () { + return getInternalURLState(this).password; +}; + +var getHost = function () { + var url = getInternalURLState(this); + var host = url.host; + var port = url.port; + return host === null ? '' + : port === null ? serializeHost(host) + : serializeHost(host) + ':' + port; +}; + +var getHostname = function () { + var host = getInternalURLState(this).host; + return host === null ? '' : serializeHost(host); +}; + +var getPort = function () { + var port = getInternalURLState(this).port; + return port === null ? '' : String(port); +}; + +var getPathname = function () { + var url = getInternalURLState(this); + var path = url.path; + return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; +}; + +var getSearch = function () { + var query = getInternalURLState(this).query; + return query ? '?' + query : ''; +}; + +var getSearchParams = function () { + return getInternalURLState(this).searchParams; +}; + +var getHash = function () { + var fragment = getInternalURLState(this).fragment; + return fragment ? '#' + fragment : ''; +}; + +var accessorDescriptor = function (getter, setter) { + return { get: getter, set: setter, configurable: true, enumerable: true }; +}; + +if (DESCRIPTORS) { + defineProperties(URLPrototype, { + // `URL.prototype.href` accessors pair + // https://url.spec.whatwg.org/#dom-url-href + href: accessorDescriptor(serializeURL, function (href) { + var url = getInternalURLState(this); + var urlString = String(href); + var failure = parseURL(url, urlString); + if (failure) throw TypeError(failure); + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.origin` getter + // https://url.spec.whatwg.org/#dom-url-origin + origin: accessorDescriptor(getOrigin), + // `URL.prototype.protocol` accessors pair + // https://url.spec.whatwg.org/#dom-url-protocol + protocol: accessorDescriptor(getProtocol, function (protocol) { + var url = getInternalURLState(this); + parseURL(url, String(protocol) + ':', SCHEME_START); + }), + // `URL.prototype.username` accessors pair + // https://url.spec.whatwg.org/#dom-url-username + username: accessorDescriptor(getUsername, function (username) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(String(username)); + if (cannotHaveUsernamePasswordPort(url)) return; + url.username = ''; + for (var i = 0; i < codePoints.length; i++) { + url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.password` accessors pair + // https://url.spec.whatwg.org/#dom-url-password + password: accessorDescriptor(getPassword, function (password) { + var url = getInternalURLState(this); + var codePoints = arrayFrom(String(password)); + if (cannotHaveUsernamePasswordPort(url)) return; + url.password = ''; + for (var i = 0; i < codePoints.length; i++) { + url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); + } + }), + // `URL.prototype.host` accessors pair + // https://url.spec.whatwg.org/#dom-url-host + host: accessorDescriptor(getHost, function (host) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + parseURL(url, String(host), HOST); + }), + // `URL.prototype.hostname` accessors pair + // https://url.spec.whatwg.org/#dom-url-hostname + hostname: accessorDescriptor(getHostname, function (hostname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + parseURL(url, String(hostname), HOSTNAME); + }), + // `URL.prototype.port` accessors pair + // https://url.spec.whatwg.org/#dom-url-port + port: accessorDescriptor(getPort, function (port) { + var url = getInternalURLState(this); + if (cannotHaveUsernamePasswordPort(url)) return; + port = String(port); + if (port == '') url.port = null; + else parseURL(url, port, PORT); + }), + // `URL.prototype.pathname` accessors pair + // https://url.spec.whatwg.org/#dom-url-pathname + pathname: accessorDescriptor(getPathname, function (pathname) { + var url = getInternalURLState(this); + if (url.cannotBeABaseURL) return; + url.path = []; + parseURL(url, pathname + '', PATH_START); + }), + // `URL.prototype.search` accessors pair + // https://url.spec.whatwg.org/#dom-url-search + search: accessorDescriptor(getSearch, function (search) { + var url = getInternalURLState(this); + search = String(search); + if (search == '') { + url.query = null; + } else { + if ('?' == search.charAt(0)) search = search.slice(1); + url.query = ''; + parseURL(url, search, QUERY); + } + getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); + }), + // `URL.prototype.searchParams` getter + // https://url.spec.whatwg.org/#dom-url-searchparams + searchParams: accessorDescriptor(getSearchParams), + // `URL.prototype.hash` accessors pair + // https://url.spec.whatwg.org/#dom-url-hash + hash: accessorDescriptor(getHash, function (hash) { + var url = getInternalURLState(this); + hash = String(hash); + if (hash == '') { + url.fragment = null; + return; + } + if ('#' == hash.charAt(0)) hash = hash.slice(1); + url.fragment = ''; + parseURL(url, hash, FRAGMENT); + }) + }); +} + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +redefine(URLPrototype, 'toJSON', function toJSON() { + return serializeURL.call(this); +}, { enumerable: true }); + +// `URL.prototype.toString` method +// https://url.spec.whatwg.org/#URL-stringification-behavior +redefine(URLPrototype, 'toString', function toString() { + return serializeURL.call(this); +}, { enumerable: true }); + +if (NativeURL) { + var nativeCreateObjectURL = NativeURL.createObjectURL; + var nativeRevokeObjectURL = NativeURL.revokeObjectURL; + // `URL.createObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + // eslint-disable-next-line no-unused-vars + if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { + return nativeCreateObjectURL.apply(NativeURL, arguments); + }); + // `URL.revokeObjectURL` method + // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL + // eslint-disable-next-line no-unused-vars + if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { + return nativeRevokeObjectURL.apply(NativeURL, arguments); + }); +} + +setToStringTag(URLConstructor, 'URL'); + +$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { + URL: URLConstructor +}); + +},{"../internals/an-instance":314,"../internals/array-from":321,"../internals/descriptors":357,"../internals/export":361,"../internals/global":377,"../internals/has":378,"../internals/internal-state":386,"../internals/native-url":407,"../internals/object-assign":412,"../internals/object-define-properties":414,"../internals/punycode-to-ascii":433,"../internals/redefine":435,"../internals/set-to-string-tag":445,"../internals/string-multibyte":451,"../modules/es.string.iterator":610,"../modules/web.url-search-params":793}],795:[function(require,module,exports){ +'use strict'; +var $ = require('../internals/export'); + +// `URL.prototype.toJSON` method +// https://url.spec.whatwg.org/#dom-url-tojson +$({ target: 'URL', proto: true, enumerable: true }, { + toJSON: function toJSON() { + return URL.prototype.toString.call(this); + } +}); + +},{"../internals/export":361}],796:[function(require,module,exports){ +require('../modules/esnext.array.is-template-object'); + +},{"../modules/esnext.array.is-template-object":681}],797:[function(require,module,exports){ +require('../modules/esnext.array.last-index'); +require('../modules/esnext.array.last-item'); + +},{"../modules/esnext.array.last-index":682,"../modules/esnext.array.last-item":683}],798:[function(require,module,exports){ +require('../modules/esnext.map.group-by'); +require('../modules/esnext.map.key-by'); +require('../modules/esnext.map.delete-all'); +require('../modules/esnext.map.every'); +require('../modules/esnext.map.filter'); +require('../modules/esnext.map.find'); +require('../modules/esnext.map.find-key'); +require('../modules/esnext.map.includes'); +require('../modules/esnext.map.key-of'); +require('../modules/esnext.map.map-keys'); +require('../modules/esnext.map.map-values'); +require('../modules/esnext.map.merge'); +require('../modules/esnext.map.reduce'); +require('../modules/esnext.map.some'); +require('../modules/esnext.map.update'); +require('../modules/esnext.set.add-all'); +require('../modules/esnext.set.delete-all'); +require('../modules/esnext.set.every'); +require('../modules/esnext.set.filter'); +require('../modules/esnext.set.find'); +require('../modules/esnext.set.join'); +require('../modules/esnext.set.map'); +require('../modules/esnext.set.reduce'); +require('../modules/esnext.set.some'); +require('../modules/esnext.weak-map.delete-all'); +require('../modules/esnext.weak-set.add-all'); +require('../modules/esnext.weak-set.delete-all'); + +},{"../modules/esnext.map.delete-all":707,"../modules/esnext.map.every":708,"../modules/esnext.map.filter":709,"../modules/esnext.map.find":711,"../modules/esnext.map.find-key":710,"../modules/esnext.map.group-by":713,"../modules/esnext.map.includes":714,"../modules/esnext.map.key-by":715,"../modules/esnext.map.key-of":716,"../modules/esnext.map.map-keys":717,"../modules/esnext.map.map-values":718,"../modules/esnext.map.merge":719,"../modules/esnext.map.reduce":721,"../modules/esnext.map.some":722,"../modules/esnext.map.update":724,"../modules/esnext.set.add-all":753,"../modules/esnext.set.delete-all":754,"../modules/esnext.set.every":756,"../modules/esnext.set.filter":757,"../modules/esnext.set.find":758,"../modules/esnext.set.join":764,"../modules/esnext.set.map":765,"../modules/esnext.set.reduce":767,"../modules/esnext.set.some":768,"../modules/esnext.weak-map.delete-all":780,"../modules/esnext.weak-set.add-all":784,"../modules/esnext.weak-set.delete-all":785}],799:[function(require,module,exports){ +require('../modules/esnext.map.from'); +require('../modules/esnext.map.of'); +require('../modules/esnext.set.from'); +require('../modules/esnext.set.of'); +require('../modules/esnext.weak-map.from'); +require('../modules/esnext.weak-map.of'); +require('../modules/esnext.weak-set.from'); +require('../modules/esnext.weak-set.of'); + +},{"../modules/esnext.map.from":712,"../modules/esnext.map.of":720,"../modules/esnext.set.from":759,"../modules/esnext.set.of":766,"../modules/esnext.weak-map.from":781,"../modules/esnext.weak-map.of":782,"../modules/esnext.weak-set.from":786,"../modules/esnext.weak-set.of":787}],800:[function(require,module,exports){ +require('../modules/esnext.math.iaddh'); +require('../modules/esnext.math.isubh'); +require('../modules/esnext.math.imulh'); +require('../modules/esnext.math.umulh'); + +},{"../modules/esnext.math.iaddh":730,"../modules/esnext.math.imulh":731,"../modules/esnext.math.isubh":732,"../modules/esnext.math.umulh":738}],801:[function(require,module,exports){ +require('../modules/esnext.global-this'); + +module.exports = require('../internals/global'); + +},{"../internals/global":377,"../modules/esnext.global-this":693}],802:[function(require,module,exports){ +require('../stage'); + +},{"../stage":828}],803:[function(require,module,exports){ +require('../modules/esnext.async-iterator.constructor'); +require('../modules/esnext.async-iterator.drop'); +require('../modules/esnext.async-iterator.filter'); +require('../modules/esnext.async-iterator.from'); +require('../modules/esnext.async-iterator.map'); +require('../modules/esnext.async-iterator.take'); +require('../modules/esnext.async-iterator.to-array'); +require('../modules/esnext.iterator.constructor'); +require('../modules/esnext.iterator.as-indexed-pairs'); +require('../modules/esnext.iterator.drop'); +require('../modules/esnext.iterator.every'); +require('../modules/esnext.iterator.filter'); +require('../modules/esnext.iterator.find'); +require('../modules/esnext.iterator.for-each'); +require('../modules/esnext.iterator.from'); +require('../modules/esnext.iterator.map'); +require('../modules/esnext.iterator.reduce'); +require('../modules/esnext.iterator.some'); +require('../modules/esnext.iterator.take'); +require('../modules/esnext.iterator.to-array'); + +},{"../modules/esnext.async-iterator.constructor":684,"../modules/esnext.async-iterator.drop":685,"../modules/esnext.async-iterator.filter":686,"../modules/esnext.async-iterator.from":687,"../modules/esnext.async-iterator.map":688,"../modules/esnext.async-iterator.take":689,"../modules/esnext.async-iterator.to-array":690,"../modules/esnext.iterator.as-indexed-pairs":694,"../modules/esnext.iterator.constructor":695,"../modules/esnext.iterator.drop":696,"../modules/esnext.iterator.every":697,"../modules/esnext.iterator.filter":698,"../modules/esnext.iterator.find":699,"../modules/esnext.iterator.for-each":700,"../modules/esnext.iterator.from":701,"../modules/esnext.iterator.map":702,"../modules/esnext.iterator.reduce":703,"../modules/esnext.iterator.some":704,"../modules/esnext.iterator.take":705,"../modules/esnext.iterator.to-array":706}],804:[function(require,module,exports){ +require('../modules/esnext.composite-key'); +require('../modules/esnext.composite-symbol'); + +},{"../modules/esnext.composite-key":691,"../modules/esnext.composite-symbol":692}],805:[function(require,module,exports){ +// https://github.com/thumbsupep/proposal-upsert +// TODO: remove from `core-js@4` +require('../modules/esnext.map.update-or-insert'); +require('../modules/esnext.map.upsert'); +require('../modules/esnext.weak-map.upsert'); + +},{"../modules/esnext.map.update-or-insert":723,"../modules/esnext.map.upsert":725,"../modules/esnext.weak-map.upsert":783}],806:[function(require,module,exports){ +require('../modules/esnext.math.clamp'); +require('../modules/esnext.math.deg-per-rad'); +require('../modules/esnext.math.degrees'); +require('../modules/esnext.math.fscale'); +require('../modules/esnext.math.rad-per-deg'); +require('../modules/esnext.math.radians'); +require('../modules/esnext.math.scale'); + +},{"../modules/esnext.math.clamp":726,"../modules/esnext.math.deg-per-rad":727,"../modules/esnext.math.degrees":728,"../modules/esnext.math.fscale":729,"../modules/esnext.math.rad-per-deg":733,"../modules/esnext.math.radians":734,"../modules/esnext.math.scale":735}],807:[function(require,module,exports){ +require('../modules/esnext.math.signbit'); + +},{"../modules/esnext.math.signbit":737}],808:[function(require,module,exports){ +require('../modules/esnext.number.from-string'); + +},{"../modules/esnext.number.from-string":739}],809:[function(require,module,exports){ +require('../modules/esnext.observable'); +require('../modules/esnext.symbol.observable'); + +},{"../modules/esnext.observable":740,"../modules/esnext.symbol.observable":777}],810:[function(require,module,exports){ +require('../modules/esnext.symbol.pattern-match'); + +},{"../modules/esnext.symbol.pattern-match":778}],811:[function(require,module,exports){ +// TODO: Remove from `core-js@4` +require('../modules/esnext.promise.all-settled'); + +},{"../modules/esnext.promise.all-settled":741}],812:[function(require,module,exports){ +require('../modules/esnext.aggregate-error'); +require('../modules/esnext.promise.any'); + +},{"../modules/esnext.aggregate-error":680,"../modules/esnext.promise.any":742}],813:[function(require,module,exports){ +require('../modules/esnext.promise.try'); + +},{"../modules/esnext.promise.try":743}],814:[function(require,module,exports){ +require('../modules/esnext.reflect.define-metadata'); +require('../modules/esnext.reflect.delete-metadata'); +require('../modules/esnext.reflect.get-metadata'); +require('../modules/esnext.reflect.get-metadata-keys'); +require('../modules/esnext.reflect.get-own-metadata'); +require('../modules/esnext.reflect.get-own-metadata-keys'); +require('../modules/esnext.reflect.has-metadata'); +require('../modules/esnext.reflect.has-own-metadata'); +require('../modules/esnext.reflect.metadata'); + +},{"../modules/esnext.reflect.define-metadata":744,"../modules/esnext.reflect.delete-metadata":745,"../modules/esnext.reflect.get-metadata":747,"../modules/esnext.reflect.get-metadata-keys":746,"../modules/esnext.reflect.get-own-metadata":749,"../modules/esnext.reflect.get-own-metadata-keys":748,"../modules/esnext.reflect.has-metadata":750,"../modules/esnext.reflect.has-own-metadata":751,"../modules/esnext.reflect.metadata":752}],815:[function(require,module,exports){ +require('../modules/esnext.math.seeded-prng'); + +},{"../modules/esnext.math.seeded-prng":736}],816:[function(require,module,exports){ +require('../modules/esnext.set.difference'); +require('../modules/esnext.set.intersection'); +require('../modules/esnext.set.is-disjoint-from'); +require('../modules/esnext.set.is-subset-of'); +require('../modules/esnext.set.is-superset-of'); +require('../modules/esnext.set.union'); +require('../modules/esnext.set.symmetric-difference'); + +},{"../modules/esnext.set.difference":755,"../modules/esnext.set.intersection":760,"../modules/esnext.set.is-disjoint-from":761,"../modules/esnext.set.is-subset-of":762,"../modules/esnext.set.is-superset-of":763,"../modules/esnext.set.symmetric-difference":769,"../modules/esnext.set.union":770}],817:[function(require,module,exports){ +require('../modules/esnext.string.at'); + +},{"../modules/esnext.string.at":771}],818:[function(require,module,exports){ +require('../modules/esnext.string.code-points'); + +},{"../modules/esnext.string.code-points":772}],819:[function(require,module,exports){ +// TODO: Remove from `core-js@4` +require('../modules/esnext.string.match-all'); + +},{"../modules/esnext.string.match-all":773}],820:[function(require,module,exports){ +require('../modules/esnext.string.replace-all'); +require('../modules/esnext.symbol.replace-all'); + +},{"../modules/esnext.string.replace-all":774,"../modules/esnext.symbol.replace-all":779}],821:[function(require,module,exports){ +require('../modules/web.url'); +require('../modules/web.url.to-json'); +require('../modules/web.url-search-params'); + +},{"../modules/web.url":794,"../modules/web.url-search-params":793,"../modules/web.url.to-json":795}],822:[function(require,module,exports){ +// https://github.com/tc39/proposal-using-statement +require('../modules/esnext.symbol.async-dispose'); +require('../modules/esnext.symbol.dispose'); + +},{"../modules/esnext.symbol.async-dispose":775,"../modules/esnext.symbol.dispose":776}],823:[function(require,module,exports){ +require('../proposals/efficient-64-bit-arithmetic'); +require('../proposals/string-at'); +require('../proposals/url'); + +module.exports = require('./1'); + +},{"../proposals/efficient-64-bit-arithmetic":800,"../proposals/string-at":817,"../proposals/url":821,"./1":824}],824:[function(require,module,exports){ +require('../proposals/array-last'); +require('../proposals/collection-methods'); +require('../proposals/collection-of-from'); +require('../proposals/keys-composition'); +require('../proposals/math-extensions'); +require('../proposals/math-signbit'); +require('../proposals/number-from-string'); +require('../proposals/observable'); +require('../proposals/pattern-matching'); +require('../proposals/promise-try'); +require('../proposals/seeded-random'); +require('../proposals/string-code-points'); + +module.exports = require('./2'); + +},{"../proposals/array-last":797,"../proposals/collection-methods":798,"../proposals/collection-of-from":799,"../proposals/keys-composition":804,"../proposals/math-extensions":806,"../proposals/math-signbit":807,"../proposals/number-from-string":808,"../proposals/observable":809,"../proposals/pattern-matching":810,"../proposals/promise-try":813,"../proposals/seeded-random":815,"../proposals/string-code-points":818,"./2":825}],825:[function(require,module,exports){ +require('../proposals/array-is-template-object'); +require('../proposals/iterator-helpers'); +require('../proposals/map-upsert'); +require('../proposals/set-methods'); +require('../proposals/using-statement'); + +module.exports = require('./3'); + +},{"../proposals/array-is-template-object":796,"../proposals/iterator-helpers":803,"../proposals/map-upsert":805,"../proposals/set-methods":816,"../proposals/using-statement":822,"./3":826}],826:[function(require,module,exports){ +require('../proposals/promise-any'); +require('../proposals/string-replace-all'); + +module.exports = require('./4'); + +},{"../proposals/promise-any":812,"../proposals/string-replace-all":820,"./4":827}],827:[function(require,module,exports){ +require('../proposals/global-this'); +require('../proposals/promise-all-settled'); +require('../proposals/string-match-all'); + +module.exports = require('../internals/path'); + +},{"../internals/path":430,"../proposals/global-this":801,"../proposals/promise-all-settled":811,"../proposals/string-match-all":819}],828:[function(require,module,exports){ +module.exports = require('./pre'); + +},{"./pre":829}],829:[function(require,module,exports){ +require('../proposals/reflect-metadata'); + +module.exports = require('./0'); + +},{"../proposals/reflect-metadata":814,"./0":823}],830:[function(require,module,exports){ +require('../modules/web.dom-collections.for-each'); +require('../modules/web.dom-collections.iterator'); +require('../modules/web.immediate'); +require('../modules/web.queue-microtask'); +require('../modules/web.timers'); +require('../modules/web.url'); +require('../modules/web.url.to-json'); +require('../modules/web.url-search-params'); + +module.exports = require('../internals/path'); + +},{"../internals/path":430,"../modules/web.dom-collections.for-each":788,"../modules/web.dom-collections.iterator":789,"../modules/web.immediate":790,"../modules/web.queue-microtask":791,"../modules/web.timers":792,"../modules/web.url":794,"../modules/web.url-search-params":793,"../modules/web.url.to-json":795}],831:[function(require,module,exports){ +"use strict"; + +module.exports = { + "8.0": "79", + "7.1": "78", + "7.0": "78", + "6.1": "76", + "6.0": "76", + "5.0": "72", + "4.2": "69", + "4.1": "69", + "4.0": "69", + "3.1": "66", + "3.0": "66", + "2.1": "61", + "2.0": "61", + "1.8": "59", + "1.7": "58", + "1.6": "56", + "1.5": "54", + "1.4": "53", + "1.3": "52", + "1.2": "51", + "1.1": "50", + "1.0": "49", + "0.37": "49", + "0.36": "47", + "0.35": "45", + "0.34": "45", + "0.33": "45", + "0.32": "45", + "0.31": "44", + "0.30": "44", + "0.29": "43", + "0.28": "43", + "0.27": "42", + "0.26": "42", + "0.25": "42", + "0.24": "41", + "0.23": "41", + "0.22": "41", + "0.21": "40", + "0.20": "39" +}; + +},{}],832:[function(require,module,exports){ +'use strict'; + +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + +module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); +}; + +},{}],833:[function(require,module,exports){ +"use strict"; + +/* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +(function () { + 'use strict'; + + function isExpression(node) { + if (node == null) { + return false; + } + + switch (node.type) { + case 'ArrayExpression': + case 'AssignmentExpression': + case 'BinaryExpression': + case 'CallExpression': + case 'ConditionalExpression': + case 'FunctionExpression': + case 'Identifier': + case 'Literal': + case 'LogicalExpression': + case 'MemberExpression': + case 'NewExpression': + case 'ObjectExpression': + case 'SequenceExpression': + case 'ThisExpression': + case 'UnaryExpression': + case 'UpdateExpression': + return true; + } + + return false; + } + + function isIterationStatement(node) { + if (node == null) { + return false; + } + + switch (node.type) { + case 'DoWhileStatement': + case 'ForInStatement': + case 'ForStatement': + case 'WhileStatement': + return true; + } + + return false; + } + + function isStatement(node) { + if (node == null) { + return false; + } + + switch (node.type) { + case 'BlockStatement': + case 'BreakStatement': + case 'ContinueStatement': + case 'DebuggerStatement': + case 'DoWhileStatement': + case 'EmptyStatement': + case 'ExpressionStatement': + case 'ForInStatement': + case 'ForStatement': + case 'IfStatement': + case 'LabeledStatement': + case 'ReturnStatement': + case 'SwitchStatement': + case 'ThrowStatement': + case 'TryStatement': + case 'VariableDeclaration': + case 'WhileStatement': + case 'WithStatement': + return true; + } + + return false; + } + + function isSourceElement(node) { + return isStatement(node) || node != null && node.type === 'FunctionDeclaration'; + } + + function trailingStatement(node) { + switch (node.type) { + case 'IfStatement': + if (node.alternate != null) { + return node.alternate; + } + + return node.consequent; + + case 'LabeledStatement': + case 'ForStatement': + case 'ForInStatement': + case 'WhileStatement': + case 'WithStatement': + return node.body; + } + + return null; + } + + function isProblematicIfStatement(node) { + var current; + + if (node.type !== 'IfStatement') { + return false; + } + + if (node.alternate == null) { + return false; + } + + current = node.consequent; + + do { + if (current.type === 'IfStatement') { + if (current.alternate == null) { + return true; + } + } + + current = trailingStatement(current); + } while (current); + + return false; + } + + module.exports = { + isExpression: isExpression, + isStatement: isStatement, + isIterationStatement: isIterationStatement, + isSourceElement: isSourceElement, + isProblematicIfStatement: isProblematicIfStatement, + trailingStatement: trailingStatement + }; +})(); +/* vim: set sw=4 ts=4 et tw=80 : */ + +},{}],834:[function(require,module,exports){ +"use strict"; + +/* + Copyright (C) 2013-2014 Yusuke Suzuki + Copyright (C) 2014 Ivan Nikulin + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +(function () { + 'use strict'; + + var ES6Regex, ES5Regex, NON_ASCII_WHITESPACES, IDENTIFIER_START, IDENTIFIER_PART, ch; // See `tools/generate-identifier-regex.js`. + + ES5Regex = { + // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + // ECMAScript 5.1/Unicode v9.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/ + }; + ES6Regex = { + // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierStart: + NonAsciiIdentifierStart: /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/, + // ECMAScript 6/Unicode v9.0.0 NonAsciiIdentifierPart: + NonAsciiIdentifierPart: /[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/ + }; + + function isDecimalDigit(ch) { + return 0x30 <= ch && ch <= 0x39; // 0..9 + } + + function isHexDigit(ch) { + return 0x30 <= ch && ch <= 0x39 || // 0..9 + 0x61 <= ch && ch <= 0x66 || // a..f + 0x41 <= ch && ch <= 0x46; // A..F + } + + function isOctalDigit(ch) { + return ch >= 0x30 && ch <= 0x37; // 0..7 + } // 7.2 White Space + + + NON_ASCII_WHITESPACES = [0x1680, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202F, 0x205F, 0x3000, 0xFEFF]; + + function isWhiteSpace(ch) { + return ch === 0x20 || ch === 0x09 || ch === 0x0B || ch === 0x0C || ch === 0xA0 || ch >= 0x1680 && NON_ASCII_WHITESPACES.indexOf(ch) >= 0; + } // 7.3 Line Terminators + + + function isLineTerminator(ch) { + return ch === 0x0A || ch === 0x0D || ch === 0x2028 || ch === 0x2029; + } // 7.6 Identifier Names and Identifiers + + + function fromCodePoint(cp) { + if (cp <= 0xFFFF) { + return String.fromCharCode(cp); + } + + var cu1 = String.fromCharCode(Math.floor((cp - 0x10000) / 0x400) + 0xD800); + var cu2 = String.fromCharCode((cp - 0x10000) % 0x400 + 0xDC00); + return cu1 + cu2; + } + + IDENTIFIER_START = new Array(0x80); + + for (ch = 0; ch < 0x80; ++ch) { + IDENTIFIER_START[ch] = ch >= 0x61 && ch <= 0x7A || // a..z + ch >= 0x41 && ch <= 0x5A || // A..Z + ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) + } + + IDENTIFIER_PART = new Array(0x80); + + for (ch = 0; ch < 0x80; ++ch) { + IDENTIFIER_PART[ch] = ch >= 0x61 && ch <= 0x7A || // a..z + ch >= 0x41 && ch <= 0x5A || // A..Z + ch >= 0x30 && ch <= 0x39 || // 0..9 + ch === 0x24 || ch === 0x5F; // $ (dollar) and _ (underscore) + } + + function isIdentifierStartES5(ch) { + return ch < 0x80 ? IDENTIFIER_START[ch] : ES5Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); + } + + function isIdentifierPartES5(ch) { + return ch < 0x80 ? IDENTIFIER_PART[ch] : ES5Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); + } + + function isIdentifierStartES6(ch) { + return ch < 0x80 ? IDENTIFIER_START[ch] : ES6Regex.NonAsciiIdentifierStart.test(fromCodePoint(ch)); + } + + function isIdentifierPartES6(ch) { + return ch < 0x80 ? IDENTIFIER_PART[ch] : ES6Regex.NonAsciiIdentifierPart.test(fromCodePoint(ch)); + } + + module.exports = { + isDecimalDigit: isDecimalDigit, + isHexDigit: isHexDigit, + isOctalDigit: isOctalDigit, + isWhiteSpace: isWhiteSpace, + isLineTerminator: isLineTerminator, + isIdentifierStartES5: isIdentifierStartES5, + isIdentifierPartES5: isIdentifierPartES5, + isIdentifierStartES6: isIdentifierStartES6, + isIdentifierPartES6: isIdentifierPartES6 + }; +})(); +/* vim: set sw=4 ts=4 et tw=80 : */ + +},{}],835:[function(require,module,exports){ +"use strict"; + +/* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +(function () { + 'use strict'; + + var code = require('./code'); + + function isStrictModeReservedWordES6(id) { + switch (id) { + case 'implements': + case 'interface': + case 'package': + case 'private': + case 'protected': + case 'public': + case 'static': + case 'let': + return true; + + default: + return false; + } + } + + function isKeywordES5(id, strict) { + // yield should not be treated as keyword under non-strict mode. + if (!strict && id === 'yield') { + return false; + } + + return isKeywordES6(id, strict); + } + + function isKeywordES6(id, strict) { + if (strict && isStrictModeReservedWordES6(id)) { + return true; + } + + switch (id.length) { + case 2: + return id === 'if' || id === 'in' || id === 'do'; + + case 3: + return id === 'var' || id === 'for' || id === 'new' || id === 'try'; + + case 4: + return id === 'this' || id === 'else' || id === 'case' || id === 'void' || id === 'with' || id === 'enum'; + + case 5: + return id === 'while' || id === 'break' || id === 'catch' || id === 'throw' || id === 'const' || id === 'yield' || id === 'class' || id === 'super'; + + case 6: + return id === 'return' || id === 'typeof' || id === 'delete' || id === 'switch' || id === 'export' || id === 'import'; + + case 7: + return id === 'default' || id === 'finally' || id === 'extends'; + + case 8: + return id === 'function' || id === 'continue' || id === 'debugger'; + + case 10: + return id === 'instanceof'; + + default: + return false; + } + } + + function isReservedWordES5(id, strict) { + return id === 'null' || id === 'true' || id === 'false' || isKeywordES5(id, strict); + } + + function isReservedWordES6(id, strict) { + return id === 'null' || id === 'true' || id === 'false' || isKeywordES6(id, strict); + } + + function isRestrictedWord(id) { + return id === 'eval' || id === 'arguments'; + } + + function isIdentifierNameES5(id) { + var i, iz, ch; + + if (id.length === 0) { + return false; + } + + ch = id.charCodeAt(0); + + if (!code.isIdentifierStartES5(ch)) { + return false; + } + + for (i = 1, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + + if (!code.isIdentifierPartES5(ch)) { + return false; + } + } + + return true; + } + + function decodeUtf16(lead, trail) { + return (lead - 0xD800) * 0x400 + (trail - 0xDC00) + 0x10000; + } + + function isIdentifierNameES6(id) { + var i, iz, ch, lowCh, check; + + if (id.length === 0) { + return false; + } + + check = code.isIdentifierStartES6; + + for (i = 0, iz = id.length; i < iz; ++i) { + ch = id.charCodeAt(i); + + if (0xD800 <= ch && ch <= 0xDBFF) { + ++i; + + if (i >= iz) { + return false; + } + + lowCh = id.charCodeAt(i); + + if (!(0xDC00 <= lowCh && lowCh <= 0xDFFF)) { + return false; + } + + ch = decodeUtf16(ch, lowCh); + } + + if (!check(ch)) { + return false; + } + + check = code.isIdentifierPartES6; + } + + return true; + } + + function isIdentifierES5(id, strict) { + return isIdentifierNameES5(id) && !isReservedWordES5(id, strict); + } + + function isIdentifierES6(id, strict) { + return isIdentifierNameES6(id) && !isReservedWordES6(id, strict); + } + + module.exports = { + isKeywordES5: isKeywordES5, + isKeywordES6: isKeywordES6, + isReservedWordES5: isReservedWordES5, + isReservedWordES6: isReservedWordES6, + isRestrictedWord: isRestrictedWord, + isIdentifierNameES5: isIdentifierNameES5, + isIdentifierNameES6: isIdentifierNameES6, + isIdentifierES5: isIdentifierES5, + isIdentifierES6: isIdentifierES6 + }; +})(); +/* vim: set sw=4 ts=4 et tw=80 : */ + +},{"./code":834}],836:[function(require,module,exports){ +"use strict"; + +/* + Copyright (C) 2013 Yusuke Suzuki + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ +(function () { + 'use strict'; + + exports.ast = require('./ast'); + exports.code = require('./code'); + exports.keyword = require('./keyword'); +})(); +/* vim: set sw=4 ts=4 et tw=80 : */ + +},{"./ast":833,"./code":834,"./keyword":835}],837:[function(require,module,exports){ +module.exports={ + "builtin": { + "Array": false, + "ArrayBuffer": false, + "Atomics": false, + "BigInt": false, + "BigInt64Array": false, + "BigUint64Array": false, + "Boolean": false, + "constructor": false, + "DataView": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "Float32Array": false, + "Float64Array": false, + "Function": false, + "globalThis": false, + "hasOwnProperty": false, + "Infinity": false, + "Int16Array": false, + "Int32Array": false, + "Int8Array": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Map": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "Promise": false, + "propertyIsEnumerable": false, + "Proxy": false, + "RangeError": false, + "ReferenceError": false, + "Reflect": false, + "RegExp": false, + "Set": false, + "SharedArrayBuffer": false, + "String": false, + "Symbol": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "Uint16Array": false, + "Uint32Array": false, + "Uint8Array": false, + "Uint8ClampedArray": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false, + "WeakMap": false, + "WeakSet": false + }, + "es5": { + "Array": false, + "Boolean": false, + "constructor": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "Function": false, + "hasOwnProperty": false, + "Infinity": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "propertyIsEnumerable": false, + "RangeError": false, + "ReferenceError": false, + "RegExp": false, + "String": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false + }, + "es2015": { + "Array": false, + "ArrayBuffer": false, + "Boolean": false, + "constructor": false, + "DataView": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "Float32Array": false, + "Float64Array": false, + "Function": false, + "hasOwnProperty": false, + "Infinity": false, + "Int16Array": false, + "Int32Array": false, + "Int8Array": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Map": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "Promise": false, + "propertyIsEnumerable": false, + "Proxy": false, + "RangeError": false, + "ReferenceError": false, + "Reflect": false, + "RegExp": false, + "Set": false, + "String": false, + "Symbol": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "Uint16Array": false, + "Uint32Array": false, + "Uint8Array": false, + "Uint8ClampedArray": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false, + "WeakMap": false, + "WeakSet": false + }, + "es2017": { + "Array": false, + "ArrayBuffer": false, + "Atomics": false, + "Boolean": false, + "constructor": false, + "DataView": false, + "Date": false, + "decodeURI": false, + "decodeURIComponent": false, + "encodeURI": false, + "encodeURIComponent": false, + "Error": false, + "escape": false, + "eval": false, + "EvalError": false, + "Float32Array": false, + "Float64Array": false, + "Function": false, + "hasOwnProperty": false, + "Infinity": false, + "Int16Array": false, + "Int32Array": false, + "Int8Array": false, + "isFinite": false, + "isNaN": false, + "isPrototypeOf": false, + "JSON": false, + "Map": false, + "Math": false, + "NaN": false, + "Number": false, + "Object": false, + "parseFloat": false, + "parseInt": false, + "Promise": false, + "propertyIsEnumerable": false, + "Proxy": false, + "RangeError": false, + "ReferenceError": false, + "Reflect": false, + "RegExp": false, + "Set": false, + "SharedArrayBuffer": false, + "String": false, + "Symbol": false, + "SyntaxError": false, + "toLocaleString": false, + "toString": false, + "TypeError": false, + "Uint16Array": false, + "Uint32Array": false, + "Uint8Array": false, + "Uint8ClampedArray": false, + "undefined": false, + "unescape": false, + "URIError": false, + "valueOf": false, + "WeakMap": false, + "WeakSet": false + }, + "browser": { + "AbortController": false, + "AbortSignal": false, + "addEventListener": false, + "alert": false, + "AnalyserNode": false, + "Animation": false, + "AnimationEffectReadOnly": false, + "AnimationEffectTiming": false, + "AnimationEffectTimingReadOnly": false, + "AnimationEvent": false, + "AnimationPlaybackEvent": false, + "AnimationTimeline": false, + "applicationCache": false, + "ApplicationCache": false, + "ApplicationCacheErrorEvent": false, + "atob": false, + "Attr": false, + "Audio": false, + "AudioBuffer": false, + "AudioBufferSourceNode": false, + "AudioContext": false, + "AudioDestinationNode": false, + "AudioListener": false, + "AudioNode": false, + "AudioParam": false, + "AudioProcessingEvent": false, + "AudioScheduledSourceNode": false, + "AudioWorkletGlobalScope ": false, + "AudioWorkletNode": false, + "AudioWorkletProcessor": false, + "BarProp": false, + "BaseAudioContext": false, + "BatteryManager": false, + "BeforeUnloadEvent": false, + "BiquadFilterNode": false, + "Blob": false, + "BlobEvent": false, + "blur": false, + "BroadcastChannel": false, + "btoa": false, + "BudgetService": false, + "ByteLengthQueuingStrategy": false, + "Cache": false, + "caches": false, + "CacheStorage": false, + "cancelAnimationFrame": false, + "cancelIdleCallback": false, + "CanvasCaptureMediaStreamTrack": false, + "CanvasGradient": false, + "CanvasPattern": false, + "CanvasRenderingContext2D": false, + "ChannelMergerNode": false, + "ChannelSplitterNode": false, + "CharacterData": false, + "clearInterval": false, + "clearTimeout": false, + "clientInformation": false, + "ClipboardEvent": false, + "close": false, + "closed": false, + "CloseEvent": false, + "Comment": false, + "CompositionEvent": false, + "confirm": false, + "console": false, + "ConstantSourceNode": false, + "ConvolverNode": false, + "CountQueuingStrategy": false, + "createImageBitmap": false, + "Credential": false, + "CredentialsContainer": false, + "crypto": false, + "Crypto": false, + "CryptoKey": false, + "CSS": false, + "CSSConditionRule": false, + "CSSFontFaceRule": false, + "CSSGroupingRule": false, + "CSSImportRule": false, + "CSSKeyframeRule": false, + "CSSKeyframesRule": false, + "CSSMediaRule": false, + "CSSNamespaceRule": false, + "CSSPageRule": false, + "CSSRule": false, + "CSSRuleList": false, + "CSSStyleDeclaration": false, + "CSSStyleRule": false, + "CSSStyleSheet": false, + "CSSSupportsRule": false, + "CustomElementRegistry": false, + "customElements": false, + "CustomEvent": false, + "DataTransfer": false, + "DataTransferItem": false, + "DataTransferItemList": false, + "defaultstatus": false, + "defaultStatus": false, + "DelayNode": false, + "DeviceMotionEvent": false, + "DeviceOrientationEvent": false, + "devicePixelRatio": false, + "dispatchEvent": false, + "document": false, + "Document": false, + "DocumentFragment": false, + "DocumentType": false, + "DOMError": false, + "DOMException": false, + "DOMImplementation": false, + "DOMMatrix": false, + "DOMMatrixReadOnly": false, + "DOMParser": false, + "DOMPoint": false, + "DOMPointReadOnly": false, + "DOMQuad": false, + "DOMRect": false, + "DOMRectReadOnly": false, + "DOMStringList": false, + "DOMStringMap": false, + "DOMTokenList": false, + "DragEvent": false, + "DynamicsCompressorNode": false, + "Element": false, + "ErrorEvent": false, + "event": false, + "Event": false, + "EventSource": false, + "EventTarget": false, + "external": false, + "fetch": false, + "File": false, + "FileList": false, + "FileReader": false, + "find": false, + "focus": false, + "FocusEvent": false, + "FontFace": false, + "FontFaceSetLoadEvent": false, + "FormData": false, + "frameElement": false, + "frames": false, + "GainNode": false, + "Gamepad": false, + "GamepadButton": false, + "GamepadEvent": false, + "getComputedStyle": false, + "getSelection": false, + "HashChangeEvent": false, + "Headers": false, + "history": false, + "History": false, + "HTMLAllCollection": false, + "HTMLAnchorElement": false, + "HTMLAreaElement": false, + "HTMLAudioElement": false, + "HTMLBaseElement": false, + "HTMLBodyElement": false, + "HTMLBRElement": false, + "HTMLButtonElement": false, + "HTMLCanvasElement": false, + "HTMLCollection": false, + "HTMLContentElement": false, + "HTMLDataElement": false, + "HTMLDataListElement": false, + "HTMLDetailsElement": false, + "HTMLDialogElement": false, + "HTMLDirectoryElement": false, + "HTMLDivElement": false, + "HTMLDListElement": false, + "HTMLDocument": false, + "HTMLElement": false, + "HTMLEmbedElement": false, + "HTMLFieldSetElement": false, + "HTMLFontElement": false, + "HTMLFormControlsCollection": false, + "HTMLFormElement": false, + "HTMLFrameElement": false, + "HTMLFrameSetElement": false, + "HTMLHeadElement": false, + "HTMLHeadingElement": false, + "HTMLHRElement": false, + "HTMLHtmlElement": false, + "HTMLIFrameElement": false, + "HTMLImageElement": false, + "HTMLInputElement": false, + "HTMLLabelElement": false, + "HTMLLegendElement": false, + "HTMLLIElement": false, + "HTMLLinkElement": false, + "HTMLMapElement": false, + "HTMLMarqueeElement": false, + "HTMLMediaElement": false, + "HTMLMenuElement": false, + "HTMLMetaElement": false, + "HTMLMeterElement": false, + "HTMLModElement": false, + "HTMLObjectElement": false, + "HTMLOListElement": false, + "HTMLOptGroupElement": false, + "HTMLOptionElement": false, + "HTMLOptionsCollection": false, + "HTMLOutputElement": false, + "HTMLParagraphElement": false, + "HTMLParamElement": false, + "HTMLPictureElement": false, + "HTMLPreElement": false, + "HTMLProgressElement": false, + "HTMLQuoteElement": false, + "HTMLScriptElement": false, + "HTMLSelectElement": false, + "HTMLShadowElement": false, + "HTMLSlotElement": false, + "HTMLSourceElement": false, + "HTMLSpanElement": false, + "HTMLStyleElement": false, + "HTMLTableCaptionElement": false, + "HTMLTableCellElement": false, + "HTMLTableColElement": false, + "HTMLTableElement": false, + "HTMLTableRowElement": false, + "HTMLTableSectionElement": false, + "HTMLTemplateElement": false, + "HTMLTextAreaElement": false, + "HTMLTimeElement": false, + "HTMLTitleElement": false, + "HTMLTrackElement": false, + "HTMLUListElement": false, + "HTMLUnknownElement": false, + "HTMLVideoElement": false, + "IDBCursor": false, + "IDBCursorWithValue": false, + "IDBDatabase": false, + "IDBFactory": false, + "IDBIndex": false, + "IDBKeyRange": false, + "IDBObjectStore": false, + "IDBOpenDBRequest": false, + "IDBRequest": false, + "IDBTransaction": false, + "IDBVersionChangeEvent": false, + "IdleDeadline": false, + "IIRFilterNode": false, + "Image": false, + "ImageBitmap": false, + "ImageBitmapRenderingContext": false, + "ImageCapture": false, + "ImageData": false, + "indexedDB": false, + "innerHeight": false, + "innerWidth": false, + "InputEvent": false, + "IntersectionObserver": false, + "IntersectionObserverEntry": false, + "Intl": false, + "isSecureContext": false, + "KeyboardEvent": false, + "KeyframeEffect": false, + "KeyframeEffectReadOnly": false, + "length": false, + "localStorage": false, + "location": true, + "Location": false, + "locationbar": false, + "matchMedia": false, + "MediaDeviceInfo": false, + "MediaDevices": false, + "MediaElementAudioSourceNode": false, + "MediaEncryptedEvent": false, + "MediaError": false, + "MediaKeyMessageEvent": false, + "MediaKeySession": false, + "MediaKeyStatusMap": false, + "MediaKeySystemAccess": false, + "MediaList": false, + "MediaQueryList": false, + "MediaQueryListEvent": false, + "MediaRecorder": false, + "MediaSettingsRange": false, + "MediaSource": false, + "MediaStream": false, + "MediaStreamAudioDestinationNode": false, + "MediaStreamAudioSourceNode": false, + "MediaStreamEvent": false, + "MediaStreamTrack": false, + "MediaStreamTrackEvent": false, + "menubar": false, + "MessageChannel": false, + "MessageEvent": false, + "MessagePort": false, + "MIDIAccess": false, + "MIDIConnectionEvent": false, + "MIDIInput": false, + "MIDIInputMap": false, + "MIDIMessageEvent": false, + "MIDIOutput": false, + "MIDIOutputMap": false, + "MIDIPort": false, + "MimeType": false, + "MimeTypeArray": false, + "MouseEvent": false, + "moveBy": false, + "moveTo": false, + "MutationEvent": false, + "MutationObserver": false, + "MutationRecord": false, + "name": false, + "NamedNodeMap": false, + "NavigationPreloadManager": false, + "navigator": false, + "Navigator": false, + "NetworkInformation": false, + "Node": false, + "NodeFilter": false, + "NodeIterator": false, + "NodeList": false, + "Notification": false, + "OfflineAudioCompletionEvent": false, + "OfflineAudioContext": false, + "offscreenBuffering": false, + "OffscreenCanvas": true, + "onabort": true, + "onafterprint": true, + "onanimationend": true, + "onanimationiteration": true, + "onanimationstart": true, + "onappinstalled": true, + "onauxclick": true, + "onbeforeinstallprompt": true, + "onbeforeprint": true, + "onbeforeunload": true, + "onblur": true, + "oncancel": true, + "oncanplay": true, + "oncanplaythrough": true, + "onchange": true, + "onclick": true, + "onclose": true, + "oncontextmenu": true, + "oncuechange": true, + "ondblclick": true, + "ondevicemotion": true, + "ondeviceorientation": true, + "ondeviceorientationabsolute": true, + "ondrag": true, + "ondragend": true, + "ondragenter": true, + "ondragleave": true, + "ondragover": true, + "ondragstart": true, + "ondrop": true, + "ondurationchange": true, + "onemptied": true, + "onended": true, + "onerror": true, + "onfocus": true, + "ongotpointercapture": true, + "onhashchange": true, + "oninput": true, + "oninvalid": true, + "onkeydown": true, + "onkeypress": true, + "onkeyup": true, + "onlanguagechange": true, + "onload": true, + "onloadeddata": true, + "onloadedmetadata": true, + "onloadstart": true, + "onlostpointercapture": true, + "onmessage": true, + "onmessageerror": true, + "onmousedown": true, + "onmouseenter": true, + "onmouseleave": true, + "onmousemove": true, + "onmouseout": true, + "onmouseover": true, + "onmouseup": true, + "onmousewheel": true, + "onoffline": true, + "ononline": true, + "onpagehide": true, + "onpageshow": true, + "onpause": true, + "onplay": true, + "onplaying": true, + "onpointercancel": true, + "onpointerdown": true, + "onpointerenter": true, + "onpointerleave": true, + "onpointermove": true, + "onpointerout": true, + "onpointerover": true, + "onpointerup": true, + "onpopstate": true, + "onprogress": true, + "onratechange": true, + "onrejectionhandled": true, + "onreset": true, + "onresize": true, + "onscroll": true, + "onsearch": true, + "onseeked": true, + "onseeking": true, + "onselect": true, + "onstalled": true, + "onstorage": true, + "onsubmit": true, + "onsuspend": true, + "ontimeupdate": true, + "ontoggle": true, + "ontransitionend": true, + "onunhandledrejection": true, + "onunload": true, + "onvolumechange": true, + "onwaiting": true, + "onwheel": true, + "open": false, + "openDatabase": false, + "opener": false, + "Option": false, + "origin": false, + "OscillatorNode": false, + "outerHeight": false, + "outerWidth": false, + "PageTransitionEvent": false, + "pageXOffset": false, + "pageYOffset": false, + "PannerNode": false, + "parent": false, + "Path2D": false, + "PaymentAddress": false, + "PaymentRequest": false, + "PaymentRequestUpdateEvent": false, + "PaymentResponse": false, + "performance": false, + "Performance": false, + "PerformanceEntry": false, + "PerformanceLongTaskTiming": false, + "PerformanceMark": false, + "PerformanceMeasure": false, + "PerformanceNavigation": false, + "PerformanceNavigationTiming": false, + "PerformanceObserver": false, + "PerformanceObserverEntryList": false, + "PerformancePaintTiming": false, + "PerformanceResourceTiming": false, + "PerformanceTiming": false, + "PeriodicWave": false, + "Permissions": false, + "PermissionStatus": false, + "personalbar": false, + "PhotoCapabilities": false, + "Plugin": false, + "PluginArray": false, + "PointerEvent": false, + "PopStateEvent": false, + "postMessage": false, + "Presentation": false, + "PresentationAvailability": false, + "PresentationConnection": false, + "PresentationConnectionAvailableEvent": false, + "PresentationConnectionCloseEvent": false, + "PresentationConnectionList": false, + "PresentationReceiver": false, + "PresentationRequest": false, + "print": false, + "ProcessingInstruction": false, + "ProgressEvent": false, + "PromiseRejectionEvent": false, + "prompt": false, + "PushManager": false, + "PushSubscription": false, + "PushSubscriptionOptions": false, + "queueMicrotask": false, + "RadioNodeList": false, + "Range": false, + "ReadableStream": false, + "registerProcessor": false, + "RemotePlayback": false, + "removeEventListener": false, + "Request": false, + "requestAnimationFrame": false, + "requestIdleCallback": false, + "resizeBy": false, + "ResizeObserver": false, + "ResizeObserverEntry": false, + "resizeTo": false, + "Response": false, + "RTCCertificate": false, + "RTCDataChannel": false, + "RTCDataChannelEvent": false, + "RTCDtlsTransport": false, + "RTCIceCandidate": false, + "RTCIceGatherer": false, + "RTCIceTransport": false, + "RTCPeerConnection": false, + "RTCPeerConnectionIceEvent": false, + "RTCRtpContributingSource": false, + "RTCRtpReceiver": false, + "RTCRtpSender": false, + "RTCSctpTransport": false, + "RTCSessionDescription": false, + "RTCStatsReport": false, + "RTCTrackEvent": false, + "screen": false, + "Screen": false, + "screenLeft": false, + "ScreenOrientation": false, + "screenTop": false, + "screenX": false, + "screenY": false, + "ScriptProcessorNode": false, + "scroll": false, + "scrollbars": false, + "scrollBy": false, + "scrollTo": false, + "scrollX": false, + "scrollY": false, + "SecurityPolicyViolationEvent": false, + "Selection": false, + "self": false, + "ServiceWorker": false, + "ServiceWorkerContainer": false, + "ServiceWorkerRegistration": false, + "sessionStorage": false, + "setInterval": false, + "setTimeout": false, + "ShadowRoot": false, + "SharedWorker": false, + "SourceBuffer": false, + "SourceBufferList": false, + "speechSynthesis": false, + "SpeechSynthesisEvent": false, + "SpeechSynthesisUtterance": false, + "StaticRange": false, + "status": false, + "statusbar": false, + "StereoPannerNode": false, + "stop": false, + "Storage": false, + "StorageEvent": false, + "StorageManager": false, + "styleMedia": false, + "StyleSheet": false, + "StyleSheetList": false, + "SubtleCrypto": false, + "SVGAElement": false, + "SVGAngle": false, + "SVGAnimatedAngle": false, + "SVGAnimatedBoolean": false, + "SVGAnimatedEnumeration": false, + "SVGAnimatedInteger": false, + "SVGAnimatedLength": false, + "SVGAnimatedLengthList": false, + "SVGAnimatedNumber": false, + "SVGAnimatedNumberList": false, + "SVGAnimatedPreserveAspectRatio": false, + "SVGAnimatedRect": false, + "SVGAnimatedString": false, + "SVGAnimatedTransformList": false, + "SVGAnimateElement": false, + "SVGAnimateMotionElement": false, + "SVGAnimateTransformElement": false, + "SVGAnimationElement": false, + "SVGCircleElement": false, + "SVGClipPathElement": false, + "SVGComponentTransferFunctionElement": false, + "SVGDefsElement": false, + "SVGDescElement": false, + "SVGDiscardElement": false, + "SVGElement": false, + "SVGEllipseElement": false, + "SVGFEBlendElement": false, + "SVGFEColorMatrixElement": false, + "SVGFEComponentTransferElement": false, + "SVGFECompositeElement": false, + "SVGFEConvolveMatrixElement": false, + "SVGFEDiffuseLightingElement": false, + "SVGFEDisplacementMapElement": false, + "SVGFEDistantLightElement": false, + "SVGFEDropShadowElement": false, + "SVGFEFloodElement": false, + "SVGFEFuncAElement": false, + "SVGFEFuncBElement": false, + "SVGFEFuncGElement": false, + "SVGFEFuncRElement": false, + "SVGFEGaussianBlurElement": false, + "SVGFEImageElement": false, + "SVGFEMergeElement": false, + "SVGFEMergeNodeElement": false, + "SVGFEMorphologyElement": false, + "SVGFEOffsetElement": false, + "SVGFEPointLightElement": false, + "SVGFESpecularLightingElement": false, + "SVGFESpotLightElement": false, + "SVGFETileElement": false, + "SVGFETurbulenceElement": false, + "SVGFilterElement": false, + "SVGForeignObjectElement": false, + "SVGGElement": false, + "SVGGeometryElement": false, + "SVGGradientElement": false, + "SVGGraphicsElement": false, + "SVGImageElement": false, + "SVGLength": false, + "SVGLengthList": false, + "SVGLinearGradientElement": false, + "SVGLineElement": false, + "SVGMarkerElement": false, + "SVGMaskElement": false, + "SVGMatrix": false, + "SVGMetadataElement": false, + "SVGMPathElement": false, + "SVGNumber": false, + "SVGNumberList": false, + "SVGPathElement": false, + "SVGPatternElement": false, + "SVGPoint": false, + "SVGPointList": false, + "SVGPolygonElement": false, + "SVGPolylineElement": false, + "SVGPreserveAspectRatio": false, + "SVGRadialGradientElement": false, + "SVGRect": false, + "SVGRectElement": false, + "SVGScriptElement": false, + "SVGSetElement": false, + "SVGStopElement": false, + "SVGStringList": false, + "SVGStyleElement": false, + "SVGSVGElement": false, + "SVGSwitchElement": false, + "SVGSymbolElement": false, + "SVGTextContentElement": false, + "SVGTextElement": false, + "SVGTextPathElement": false, + "SVGTextPositioningElement": false, + "SVGTitleElement": false, + "SVGTransform": false, + "SVGTransformList": false, + "SVGTSpanElement": false, + "SVGUnitTypes": false, + "SVGUseElement": false, + "SVGViewElement": false, + "TaskAttributionTiming": false, + "Text": false, + "TextDecoder": false, + "TextEncoder": false, + "TextEvent": false, + "TextMetrics": false, + "TextTrack": false, + "TextTrackCue": false, + "TextTrackCueList": false, + "TextTrackList": false, + "TimeRanges": false, + "toolbar": false, + "top": false, + "Touch": false, + "TouchEvent": false, + "TouchList": false, + "TrackEvent": false, + "TransitionEvent": false, + "TreeWalker": false, + "UIEvent": false, + "URL": false, + "URLSearchParams": false, + "ValidityState": false, + "visualViewport": false, + "VisualViewport": false, + "VTTCue": false, + "WaveShaperNode": false, + "WebAssembly": false, + "WebGL2RenderingContext": false, + "WebGLActiveInfo": false, + "WebGLBuffer": false, + "WebGLContextEvent": false, + "WebGLFramebuffer": false, + "WebGLProgram": false, + "WebGLQuery": false, + "WebGLRenderbuffer": false, + "WebGLRenderingContext": false, + "WebGLSampler": false, + "WebGLShader": false, + "WebGLShaderPrecisionFormat": false, + "WebGLSync": false, + "WebGLTexture": false, + "WebGLTransformFeedback": false, + "WebGLUniformLocation": false, + "WebGLVertexArrayObject": false, + "WebSocket": false, + "WheelEvent": false, + "window": false, + "Window": false, + "Worker": false, + "WritableStream": false, + "XMLDocument": false, + "XMLHttpRequest": false, + "XMLHttpRequestEventTarget": false, + "XMLHttpRequestUpload": false, + "XMLSerializer": false, + "XPathEvaluator": false, + "XPathExpression": false, + "XPathResult": false, + "XSLTProcessor": false + }, + "worker": { + "addEventListener": false, + "applicationCache": false, + "atob": false, + "Blob": false, + "BroadcastChannel": false, + "btoa": false, + "Cache": false, + "caches": false, + "clearInterval": false, + "clearTimeout": false, + "close": true, + "console": false, + "fetch": false, + "FileReaderSync": false, + "FormData": false, + "Headers": false, + "IDBCursor": false, + "IDBCursorWithValue": false, + "IDBDatabase": false, + "IDBFactory": false, + "IDBIndex": false, + "IDBKeyRange": false, + "IDBObjectStore": false, + "IDBOpenDBRequest": false, + "IDBRequest": false, + "IDBTransaction": false, + "IDBVersionChangeEvent": false, + "ImageData": false, + "importScripts": true, + "indexedDB": false, + "location": false, + "MessageChannel": false, + "MessagePort": false, + "name": false, + "navigator": false, + "Notification": false, + "onclose": true, + "onconnect": true, + "onerror": true, + "onlanguagechange": true, + "onmessage": true, + "onoffline": true, + "ononline": true, + "onrejectionhandled": true, + "onunhandledrejection": true, + "performance": false, + "Performance": false, + "PerformanceEntry": false, + "PerformanceMark": false, + "PerformanceMeasure": false, + "PerformanceNavigation": false, + "PerformanceResourceTiming": false, + "PerformanceTiming": false, + "postMessage": true, + "Promise": false, + "queueMicrotask": false, + "removeEventListener": false, + "Request": false, + "Response": false, + "self": true, + "ServiceWorkerRegistration": false, + "setInterval": false, + "setTimeout": false, + "TextDecoder": false, + "TextEncoder": false, + "URL": false, + "URLSearchParams": false, + "WebSocket": false, + "Worker": false, + "WorkerGlobalScope": false, + "XMLHttpRequest": false + }, + "node": { + "__dirname": false, + "__filename": false, + "Buffer": false, + "clearImmediate": false, + "clearInterval": false, + "clearTimeout": false, + "console": false, + "exports": true, + "global": false, + "Intl": false, + "module": false, + "process": false, + "queueMicrotask": false, + "require": false, + "setImmediate": false, + "setInterval": false, + "setTimeout": false, + "TextDecoder": false, + "TextEncoder": false, + "URL": false, + "URLSearchParams": false + }, + "commonjs": { + "exports": true, + "global": false, + "module": false, + "require": false + }, + "amd": { + "define": false, + "require": false + }, + "mocha": { + "after": false, + "afterEach": false, + "before": false, + "beforeEach": false, + "context": false, + "describe": false, + "it": false, + "mocha": false, + "run": false, + "setup": false, + "specify": false, + "suite": false, + "suiteSetup": false, + "suiteTeardown": false, + "teardown": false, + "test": false, + "xcontext": false, + "xdescribe": false, + "xit": false, + "xspecify": false + }, + "jasmine": { + "afterAll": false, + "afterEach": false, + "beforeAll": false, + "beforeEach": false, + "describe": false, + "expect": false, + "fail": false, + "fdescribe": false, + "fit": false, + "it": false, + "jasmine": false, + "pending": false, + "runs": false, + "spyOn": false, + "spyOnProperty": false, + "waits": false, + "waitsFor": false, + "xdescribe": false, + "xit": false + }, + "jest": { + "afterAll": false, + "afterEach": false, + "beforeAll": false, + "beforeEach": false, + "describe": false, + "expect": false, + "fdescribe": false, + "fit": false, + "it": false, + "jest": false, + "pit": false, + "require": false, + "test": false, + "xdescribe": false, + "xit": false, + "xtest": false + }, + "qunit": { + "asyncTest": false, + "deepEqual": false, + "equal": false, + "expect": false, + "module": false, + "notDeepEqual": false, + "notEqual": false, + "notOk": false, + "notPropEqual": false, + "notStrictEqual": false, + "ok": false, + "propEqual": false, + "QUnit": false, + "raises": false, + "start": false, + "stop": false, + "strictEqual": false, + "test": false, + "throws": false + }, + "phantomjs": { + "console": true, + "exports": true, + "phantom": true, + "require": true, + "WebPage": true + }, + "couch": { + "emit": false, + "exports": false, + "getRow": false, + "log": false, + "module": false, + "provides": false, + "require": false, + "respond": false, + "send": false, + "start": false, + "sum": false + }, + "rhino": { + "defineClass": false, + "deserialize": false, + "gc": false, + "help": false, + "importClass": false, + "importPackage": false, + "java": false, + "load": false, + "loadClass": false, + "Packages": false, + "print": false, + "quit": false, + "readFile": false, + "readUrl": false, + "runCommand": false, + "seal": false, + "serialize": false, + "spawn": false, + "sync": false, + "toint32": false, + "version": false + }, + "nashorn": { + "__DIR__": false, + "__FILE__": false, + "__LINE__": false, + "com": false, + "edu": false, + "exit": false, + "java": false, + "Java": false, + "javafx": false, + "JavaImporter": false, + "javax": false, + "JSAdapter": false, + "load": false, + "loadWithNewGlobal": false, + "org": false, + "Packages": false, + "print": false, + "quit": false + }, + "wsh": { + "ActiveXObject": true, + "Enumerator": true, + "GetObject": true, + "ScriptEngine": true, + "ScriptEngineBuildVersion": true, + "ScriptEngineMajorVersion": true, + "ScriptEngineMinorVersion": true, + "VBArray": true, + "WScript": true, + "WSH": true, + "XDomainRequest": true + }, + "jquery": { + "$": false, + "jQuery": false + }, + "yui": { + "YAHOO": false, + "YAHOO_config": false, + "YUI": false, + "YUI_config": false + }, + "shelljs": { + "cat": false, + "cd": false, + "chmod": false, + "config": false, + "cp": false, + "dirs": false, + "echo": false, + "env": false, + "error": false, + "exec": false, + "exit": false, + "find": false, + "grep": false, + "ln": false, + "ls": false, + "mkdir": false, + "mv": false, + "popd": false, + "pushd": false, + "pwd": false, + "rm": false, + "sed": false, + "set": false, + "target": false, + "tempdir": false, + "test": false, + "touch": false, + "which": false + }, + "prototypejs": { + "$": false, + "$$": false, + "$A": false, + "$break": false, + "$continue": false, + "$F": false, + "$H": false, + "$R": false, + "$w": false, + "Abstract": false, + "Ajax": false, + "Autocompleter": false, + "Builder": false, + "Class": false, + "Control": false, + "Draggable": false, + "Draggables": false, + "Droppables": false, + "Effect": false, + "Element": false, + "Enumerable": false, + "Event": false, + "Field": false, + "Form": false, + "Hash": false, + "Insertion": false, + "ObjectRange": false, + "PeriodicalExecuter": false, + "Position": false, + "Prototype": false, + "Scriptaculous": false, + "Selector": false, + "Sortable": false, + "SortableObserver": false, + "Sound": false, + "Template": false, + "Toggle": false, + "Try": false + }, + "meteor": { + "_": false, + "$": false, + "Accounts": false, + "AccountsClient": false, + "AccountsCommon": false, + "AccountsServer": false, + "App": false, + "Assets": false, + "Blaze": false, + "check": false, + "Cordova": false, + "DDP": false, + "DDPRateLimiter": false, + "DDPServer": false, + "Deps": false, + "EJSON": false, + "Email": false, + "HTTP": false, + "Log": false, + "Match": false, + "Meteor": false, + "Mongo": false, + "MongoInternals": false, + "Npm": false, + "Package": false, + "Plugin": false, + "process": false, + "Random": false, + "ReactiveDict": false, + "ReactiveVar": false, + "Router": false, + "ServiceConfiguration": false, + "Session": false, + "share": false, + "Spacebars": false, + "Template": false, + "Tinytest": false, + "Tracker": false, + "UI": false, + "Utils": false, + "WebApp": false, + "WebAppInternals": false + }, + "mongo": { + "_isWindows": false, + "_rand": false, + "BulkWriteResult": false, + "cat": false, + "cd": false, + "connect": false, + "db": false, + "getHostName": false, + "getMemInfo": false, + "hostname": false, + "ISODate": false, + "listFiles": false, + "load": false, + "ls": false, + "md5sumFile": false, + "mkdir": false, + "Mongo": false, + "NumberInt": false, + "NumberLong": false, + "ObjectId": false, + "PlanCache": false, + "print": false, + "printjson": false, + "pwd": false, + "quit": false, + "removeFile": false, + "rs": false, + "sh": false, + "UUID": false, + "version": false, + "WriteResult": false + }, + "applescript": { + "$": false, + "Application": false, + "Automation": false, + "console": false, + "delay": false, + "Library": false, + "ObjC": false, + "ObjectSpecifier": false, + "Path": false, + "Progress": false, + "Ref": false + }, + "serviceworker": { + "addEventListener": false, + "applicationCache": false, + "atob": false, + "Blob": false, + "BroadcastChannel": false, + "btoa": false, + "Cache": false, + "caches": false, + "CacheStorage": false, + "clearInterval": false, + "clearTimeout": false, + "Client": false, + "clients": false, + "Clients": false, + "close": true, + "console": false, + "ExtendableEvent": false, + "ExtendableMessageEvent": false, + "fetch": false, + "FetchEvent": false, + "FileReaderSync": false, + "FormData": false, + "Headers": false, + "IDBCursor": false, + "IDBCursorWithValue": false, + "IDBDatabase": false, + "IDBFactory": false, + "IDBIndex": false, + "IDBKeyRange": false, + "IDBObjectStore": false, + "IDBOpenDBRequest": false, + "IDBRequest": false, + "IDBTransaction": false, + "IDBVersionChangeEvent": false, + "ImageData": false, + "importScripts": false, + "indexedDB": false, + "location": false, + "MessageChannel": false, + "MessagePort": false, + "name": false, + "navigator": false, + "Notification": false, + "onclose": true, + "onconnect": true, + "onerror": true, + "onfetch": true, + "oninstall": true, + "onlanguagechange": true, + "onmessage": true, + "onmessageerror": true, + "onnotificationclick": true, + "onnotificationclose": true, + "onoffline": true, + "ononline": true, + "onpush": true, + "onpushsubscriptionchange": true, + "onrejectionhandled": true, + "onsync": true, + "onunhandledrejection": true, + "performance": false, + "Performance": false, + "PerformanceEntry": false, + "PerformanceMark": false, + "PerformanceMeasure": false, + "PerformanceNavigation": false, + "PerformanceResourceTiming": false, + "PerformanceTiming": false, + "postMessage": true, + "Promise": false, + "queueMicrotask": false, + "registration": false, + "removeEventListener": false, + "Request": false, + "Response": false, + "self": false, + "ServiceWorker": false, + "ServiceWorkerContainer": false, + "ServiceWorkerGlobalScope": false, + "ServiceWorkerMessageEvent": false, + "ServiceWorkerRegistration": false, + "setInterval": false, + "setTimeout": false, + "skipWaiting": false, + "TextDecoder": false, + "TextEncoder": false, + "URL": false, + "URLSearchParams": false, + "WebSocket": false, + "WindowClient": false, + "Worker": false, + "WorkerGlobalScope": false, + "XMLHttpRequest": false + }, + "atomtest": { + "advanceClock": false, + "fakeClearInterval": false, + "fakeClearTimeout": false, + "fakeSetInterval": false, + "fakeSetTimeout": false, + "resetTimeouts": false, + "waitsForPromise": false + }, + "embertest": { + "andThen": false, + "click": false, + "currentPath": false, + "currentRouteName": false, + "currentURL": false, + "fillIn": false, + "find": false, + "findAll": false, + "findWithAssert": false, + "keyEvent": false, + "pauseTest": false, + "resumeTest": false, + "triggerEvent": false, + "visit": false, + "wait": false + }, + "protractor": { + "$": false, + "$$": false, + "browser": false, + "by": false, + "By": false, + "DartObject": false, + "element": false, + "protractor": false + }, + "shared-node-browser": { + "clearInterval": false, + "clearTimeout": false, + "console": false, + "setInterval": false, + "setTimeout": false, + "URL": false, + "URLSearchParams": false + }, + "webextensions": { + "browser": false, + "chrome": false, + "opr": false + }, + "greasemonkey": { + "cloneInto": false, + "createObjectIn": false, + "exportFunction": false, + "GM": false, + "GM_addStyle": false, + "GM_deleteValue": false, + "GM_getResourceText": false, + "GM_getResourceURL": false, + "GM_getValue": false, + "GM_info": false, + "GM_listValues": false, + "GM_log": false, + "GM_openInTab": false, + "GM_registerMenuCommand": false, + "GM_setClipboard": false, + "GM_setValue": false, + "GM_xmlhttpRequest": false, + "unsafeWindow": false + }, + "devtools": { + "$": false, + "$_": false, + "$$": false, + "$0": false, + "$1": false, + "$2": false, + "$3": false, + "$4": false, + "$x": false, + "chrome": false, + "clear": false, + "copy": false, + "debug": false, + "dir": false, + "dirxml": false, + "getEventListeners": false, + "inspect": false, + "keys": false, + "monitor": false, + "monitorEvents": false, + "profile": false, + "profileEnd": false, + "queryObjects": false, + "table": false, + "undebug": false, + "unmonitor": false, + "unmonitorEvents": false, + "values": false + } +} + +},{}],838:[function(require,module,exports){ +'use strict'; + +module.exports = require('./globals.json'); + +},{"./globals.json":837}],839:[function(require,module,exports){ +"use strict"; + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = -7; + var i = isLE ? nBytes - 1 : 0; + var d = isLE ? -1 : 1; + var s = buffer[offset + i]; + i += d; + e = s & (1 << -nBits) - 1; + s >>= -nBits; + nBits += eLen; + + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : (s ? -1 : 1) * Infinity; + } else { + m = m + Math.pow(2, mLen); + e = e - eBias; + } + + return (s ? -1 : 1) * m * Math.pow(2, e - mLen); +}; + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c; + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0; + var i = isLE ? 0 : nBytes - 1; + var d = isLE ? 1 : -1; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + value = Math.abs(value); + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0; + e = eMax; + } else { + e = Math.floor(Math.log(value) / Math.LN2); + + if (value * (c = Math.pow(2, -e)) < 1) { + e--; + c *= 2; + } + + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * Math.pow(2, 1 - eBias); + } + + if (value * c >= 2) { + e++; + c /= 2; + } + + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen); + e = e + eBias; + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen); + e = 0; + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = e << mLen | m; + eLen += mLen; + + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128; +}; + +},{}],840:[function(require,module,exports){ +(function (process){ +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ +'use strict'; +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var invariant = function invariant(condition, format, a, b, c, d, e, f) { + if (process.env.NODE_ENV !== 'production') { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + + throw error; + } +}; + +module.exports = invariant; + +}).call(this,require('_process')) +},{"_process":1054}],841:[function(require,module,exports){ +"use strict"; + +/*! + * Determine if an object is a Buffer + * + * @author Feross Aboukhadijeh + * @license MIT + */ +// The _isBuffer check is for Safari 5-7 support, because it's missing +// Object.prototype.constructor. Remove this eventually +module.exports = function (obj) { + return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer); +}; + +function isBuffer(obj) { + return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj); +} // For Node v0.10 support. Remove this eventually. + + +function isSlowBuffer(obj) { + return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0)); +} + +},{}],842:[function(require,module,exports){ +'use strict'; + +module.exports = function () { + function _min(d0, d1, d2, bx, ay) { + return d0 < d1 || d2 < d1 ? d0 > d2 ? d2 + 1 : d0 + 1 : bx === ay ? d1 : d1 + 1; + } + + return function (a, b) { + if (a === b) { + return 0; + } + + if (a.length > b.length) { + var tmp = a; + a = b; + b = tmp; + } + + var la = a.length; + var lb = b.length; + + while (la > 0 && a.charCodeAt(la - 1) === b.charCodeAt(lb - 1)) { + la--; + lb--; + } + + var offset = 0; + + while (offset < la && a.charCodeAt(offset) === b.charCodeAt(offset)) { + offset++; + } + + la -= offset; + lb -= offset; + + if (la === 0 || lb < 3) { + return lb; + } + + var x = 0; + var y; + var d0; + var d1; + var d2; + var d3; + var dd; + var dy; + var ay; + var bx0; + var bx1; + var bx2; + var bx3; + var vector = []; + + for (y = 0; y < la; y++) { + vector.push(y + 1); + vector.push(a.charCodeAt(offset + y)); + } + + var len = vector.length - 1; + + for (; x < lb - 3;) { + bx0 = b.charCodeAt(offset + (d0 = x)); + bx1 = b.charCodeAt(offset + (d1 = x + 1)); + bx2 = b.charCodeAt(offset + (d2 = x + 2)); + bx3 = b.charCodeAt(offset + (d3 = x + 3)); + dd = x += 4; + + for (y = 0; y < len; y += 2) { + dy = vector[y]; + ay = vector[y + 1]; + d0 = _min(dy, d0, d1, bx0, ay); + d1 = _min(d0, d1, d2, bx1, ay); + d2 = _min(d1, d2, d3, bx2, ay); + dd = _min(d2, d3, dd, bx3, ay); + vector[y] = dd; + d3 = d2; + d2 = d1; + d1 = d0; + d0 = dy; + } + } + + for (; x < lb;) { + bx0 = b.charCodeAt(offset + (d0 = x)); + dd = ++x; + + for (y = 0; y < len; y += 2) { + dy = vector[y]; + vector[y] = dd = _min(dy, d0, dd, bx0, vector[y + 1]); + d0 = dy; + } + } + + return dd; + }; +}(); + +},{}],843:[function(require,module,exports){ +"use strict"; + +// Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell +// License: MIT. (See LICENSE.) +Object.defineProperty(exports, "__esModule", { + value: true +}); // This regex comes from regex.coffee, and is inserted here by generate-index.js +// (run `npm run build`). + +exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + +exports.matchToToken = function (match) { + var token = { + type: "invalid", + value: match[0], + closed: undefined + }; + if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace"; + return token; +}; + +},{}],844:[function(require,module,exports){ +(function (Buffer){ +'use strict'; + +var object = {}; +var hasOwnProperty = object.hasOwnProperty; + +var forOwn = function forOwn(object, callback) { + for (var key in object) { + if (hasOwnProperty.call(object, key)) { + callback(key, object[key]); + } + } +}; + +var extend = function extend(destination, source) { + if (!source) { + return destination; + } + + forOwn(source, function (key, value) { + destination[key] = value; + }); + return destination; +}; + +var forEach = function forEach(array, callback) { + var length = array.length; + var index = -1; + + while (++index < length) { + callback(array[index]); + } +}; + +var toString = object.toString; +var isArray = Array.isArray; +var isBuffer = Buffer.isBuffer; + +var isObject = function isObject(value) { + // This is a very simple check, but it’s good enough for what we need. + return toString.call(value) == '[object Object]'; +}; + +var isString = function isString(value) { + return typeof value == 'string' || toString.call(value) == '[object String]'; +}; + +var isNumber = function isNumber(value) { + return typeof value == 'number' || toString.call(value) == '[object Number]'; +}; + +var isFunction = function isFunction(value) { + return typeof value == 'function'; +}; + +var isMap = function isMap(value) { + return toString.call(value) == '[object Map]'; +}; + +var isSet = function isSet(value) { + return toString.call(value) == '[object Set]'; +}; +/*--------------------------------------------------------------------------*/ +// https://mathiasbynens.be/notes/javascript-escapes#single + + +var singleEscapes = { + '"': '\\"', + '\'': '\\\'', + '\\': '\\\\', + '\b': '\\b', + '\f': '\\f', + '\n': '\\n', + '\r': '\\r', + '\t': '\\t' // `\v` is omitted intentionally, because in IE < 9, '\v' == 'v'. + // '\v': '\\x0B' + +}; +var regexSingleEscape = /["'\\\b\f\n\r\t]/; +var regexDigit = /[0-9]/; +var regexWhitelist = /[ !#-&\(-\[\]-_a-~]/; + +var jsesc = function jsesc(argument, options) { + var increaseIndentation = function increaseIndentation() { + oldIndent = indent; + ++options.indentLevel; + indent = options.indent.repeat(options.indentLevel); + }; // Handle options + + + var defaults = { + 'escapeEverything': false, + 'minimal': false, + 'isScriptContext': false, + 'quotes': 'single', + 'wrap': false, + 'es6': false, + 'json': false, + 'compact': true, + 'lowercaseHex': false, + 'numbers': 'decimal', + 'indent': '\t', + 'indentLevel': 0, + '__inline1__': false, + '__inline2__': false + }; + var json = options && options.json; + + if (json) { + defaults.quotes = 'double'; + defaults.wrap = true; + } + + options = extend(defaults, options); + + if (options.quotes != 'single' && options.quotes != 'double' && options.quotes != 'backtick') { + options.quotes = 'single'; + } + + var quote = options.quotes == 'double' ? '"' : options.quotes == 'backtick' ? '`' : '\''; + var compact = options.compact; + var lowercaseHex = options.lowercaseHex; + var indent = options.indent.repeat(options.indentLevel); + var oldIndent = ''; + var inline1 = options.__inline1__; + var inline2 = options.__inline2__; + var newLine = compact ? '' : '\n'; + var result; + var isEmpty = true; + var useBinNumbers = options.numbers == 'binary'; + var useOctNumbers = options.numbers == 'octal'; + var useDecNumbers = options.numbers == 'decimal'; + var useHexNumbers = options.numbers == 'hexadecimal'; + + if (json && argument && isFunction(argument.toJSON)) { + argument = argument.toJSON(); + } + + if (!isString(argument)) { + if (isMap(argument)) { + if (argument.size == 0) { + return 'new Map()'; + } + + if (!compact) { + options.__inline1__ = true; + options.__inline2__ = false; + } + + return 'new Map(' + jsesc(Array.from(argument), options) + ')'; + } + + if (isSet(argument)) { + if (argument.size == 0) { + return 'new Set()'; + } + + return 'new Set(' + jsesc(Array.from(argument), options) + ')'; + } + + if (isBuffer(argument)) { + if (argument.length == 0) { + return 'Buffer.from([])'; + } + + return 'Buffer.from(' + jsesc(Array.from(argument), options) + ')'; + } + + if (isArray(argument)) { + result = []; + options.wrap = true; + + if (inline1) { + options.__inline1__ = false; + options.__inline2__ = true; + } + + if (!inline2) { + increaseIndentation(); + } + + forEach(argument, function (value) { + isEmpty = false; + + if (inline2) { + options.__inline2__ = false; + } + + result.push((compact || inline2 ? '' : indent) + jsesc(value, options)); + }); + + if (isEmpty) { + return '[]'; + } + + if (inline2) { + return '[' + result.join(', ') + ']'; + } + + return '[' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + ']'; + } else if (isNumber(argument)) { + if (json) { + // Some number values (e.g. `Infinity`) cannot be represented in JSON. + return JSON.stringify(argument); + } + + if (useDecNumbers) { + return String(argument); + } + + if (useHexNumbers) { + var hexadecimal = argument.toString(16); + + if (!lowercaseHex) { + hexadecimal = hexadecimal.toUpperCase(); + } + + return '0x' + hexadecimal; + } + + if (useBinNumbers) { + return '0b' + argument.toString(2); + } + + if (useOctNumbers) { + return '0o' + argument.toString(8); + } + } else if (!isObject(argument)) { + if (json) { + // For some values (e.g. `undefined`, `function` objects), + // `JSON.stringify(value)` returns `undefined` (which isn’t valid + // JSON) instead of `'null'`. + return JSON.stringify(argument) || 'null'; + } + + return String(argument); + } else { + // it’s an object + result = []; + options.wrap = true; + increaseIndentation(); + forOwn(argument, function (key, value) { + isEmpty = false; + result.push((compact ? '' : indent) + jsesc(key, options) + ':' + (compact ? '' : ' ') + jsesc(value, options)); + }); + + if (isEmpty) { + return '{}'; + } + + return '{' + newLine + result.join(',' + newLine) + newLine + (compact ? '' : oldIndent) + '}'; + } + } + + var string = argument; // Loop over each code unit in the string and escape it + + var index = -1; + var length = string.length; + result = ''; + + while (++index < length) { + var character = string.charAt(index); + + if (options.es6) { + var first = string.charCodeAt(index); + + if ( // check if it’s the start of a surrogate pair + first >= 0xD800 && first <= 0xDBFF && // high surrogate + length > index + 1 // there is a next code unit + ) { + var second = string.charCodeAt(index + 1); + + if (second >= 0xDC00 && second <= 0xDFFF) { + // low surrogate + // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae + var codePoint = (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; + + var _hexadecimal2 = codePoint.toString(16); + + if (!lowercaseHex) { + _hexadecimal2 = _hexadecimal2.toUpperCase(); + } + + result += "\\u{" + _hexadecimal2 + '}'; + ++index; + continue; + } + } + } + + if (!options.escapeEverything) { + if (regexWhitelist.test(character)) { + // It’s a printable ASCII character that is not `"`, `'` or `\`, + // so don’t escape it. + result += character; + continue; + } + + if (character == '"') { + result += quote == character ? '\\"' : character; + continue; + } + + if (character == '`') { + result += quote == character ? '\\`' : character; + continue; + } + + if (character == '\'') { + result += quote == character ? '\\\'' : character; + continue; + } + } + + if (character == '\0' && !json && !regexDigit.test(string.charAt(index + 1))) { + result += '\\0'; + continue; + } + + if (regexSingleEscape.test(character)) { + // no need for a `hasOwnProperty` check here + result += singleEscapes[character]; + continue; + } + + var charCode = character.charCodeAt(0); + + if (options.minimal && charCode != 0x2028 && charCode != 0x2029) { + result += character; + continue; + } + + var _hexadecimal = charCode.toString(16); + + if (!lowercaseHex) { + _hexadecimal = _hexadecimal.toUpperCase(); + } + + var longhand = _hexadecimal.length > 2 || json; + + var escaped = '\\' + (longhand ? 'u' : 'x') + ('0000' + _hexadecimal).slice(longhand ? -4 : -2); + + result += escaped; + continue; + } + + if (options.wrap) { + result = quote + result + quote; + } + + if (quote == '`') { + result = result.replace(/\$\{/g, '\\\$\{'); + } + + if (options.isScriptContext) { + // https://mathiasbynens.be/notes/etago + return result.replace(/<\/(script|style)/gi, '<\\/$1').replace(/ * (any, kinda silly) +// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 +// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 +// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 +// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 +// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 + + +function replaceTildes(comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceTilde(comp, options); + }).join(' '); +} + +function replaceTilde(comp, options) { + var r = options.loose ? re[TILDELOOSE] : re[TILDE]; + return comp.replace(r, function (_, M, m, p, pr) { + debug('tilde', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (isX(p)) { + // ~1.2 == >=1.2.0 <1.3.0 + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } else if (pr) { + debug('replaceTilde pr', pr); + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; + } else { + // ~1.2.3 == >=1.2.3 <1.3.0 + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; + } + + debug('tilde return', ret); + return ret; + }); +} // ^ --> * (any, kinda silly) +// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 +// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 +// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 +// ^1.2.3 --> >=1.2.3 <2.0.0 +// ^1.2.0 --> >=1.2.0 <2.0.0 + + +function replaceCarets(comp, options) { + return comp.trim().split(/\s+/).map(function (comp) { + return replaceCaret(comp, options); + }).join(' '); +} + +function replaceCaret(comp, options) { + debug('caret', comp, options); + var r = options.loose ? re[CARETLOOSE] : re[CARET]; + return comp.replace(r, function (_, M, m, p, pr) { + debug('caret', comp, _, M, m, p, pr); + var ret; + + if (isX(M)) { + ret = ''; + } else if (isX(m)) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (isX(p)) { + if (M === '0') { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } else { + ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; + } + } else if (pr) { + debug('replaceCaret pr', pr); + + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + m + '.' + (+p + 1); + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + M + '.' + (+m + 1) + '.0'; + } + } else { + ret = '>=' + M + '.' + m + '.' + p + '-' + pr + ' <' + (+M + 1) + '.0.0'; + } + } else { + debug('no pr'); + + if (M === '0') { + if (m === '0') { + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + m + '.' + (+p + 1); + } else { + ret = '>=' + M + '.' + m + '.' + p + ' <' + M + '.' + (+m + 1) + '.0'; + } + } else { + ret = '>=' + M + '.' + m + '.' + p + ' <' + (+M + 1) + '.0.0'; + } + } + + debug('caret return', ret); + return ret; + }); +} + +function replaceXRanges(comp, options) { + debug('replaceXRanges', comp, options); + return comp.split(/\s+/).map(function (comp) { + return replaceXRange(comp, options); + }).join(' '); +} + +function replaceXRange(comp, options) { + comp = comp.trim(); + var r = options.loose ? re[XRANGELOOSE] : re[XRANGE]; + return comp.replace(r, function (ret, gtlt, M, m, p, pr) { + debug('xRange', comp, ret, gtlt, M, m, p, pr); + var xM = isX(M); + var xm = xM || isX(m); + var xp = xm || isX(p); + var anyX = xp; + + if (gtlt === '=' && anyX) { + gtlt = ''; + } + + if (xM) { + if (gtlt === '>' || gtlt === '<') { + // nothing is allowed + ret = '<0.0.0'; + } else { + // nothing is forbidden + ret = '*'; + } + } else if (gtlt && anyX) { + // we know patch is an x, because we have any x at all. + // replace X with 0 + if (xm) { + m = 0; + } + + p = 0; + + if (gtlt === '>') { + // >1 => >=2.0.0 + // >1.2 => >=1.3.0 + // >1.2.3 => >= 1.2.4 + gtlt = '>='; + + if (xm) { + M = +M + 1; + m = 0; + p = 0; + } else { + m = +m + 1; + p = 0; + } + } else if (gtlt === '<=') { + // <=0.7.x is actually <0.8.0, since any 0.7.x should + // pass. Similarly, <=7.x is actually <8.0.0, etc. + gtlt = '<'; + + if (xm) { + M = +M + 1; + } else { + m = +m + 1; + } + } + + ret = gtlt + M + '.' + m + '.' + p; + } else if (xm) { + ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; + } else if (xp) { + ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; + } + + debug('xRange return', ret); + return ret; + }); +} // Because * is AND-ed with everything else in the comparator, +// and '' means "any version", just remove the *s entirely. + + +function replaceStars(comp, options) { + debug('replaceStars', comp, options); // Looseness is ignored here. star is always as loose as it gets! + + return comp.trim().replace(re[STAR], ''); +} // This function is passed to string.replace(re[HYPHENRANGE]) +// M, m, patch, prerelease, build +// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 +// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do +// 1.2 - 3.4 => >=1.2.0 <3.5.0 + + +function hyphenReplace($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) { + if (isX(fM)) { + from = ''; + } else if (isX(fm)) { + from = '>=' + fM + '.0.0'; + } else if (isX(fp)) { + from = '>=' + fM + '.' + fm + '.0'; + } else { + from = '>=' + from; + } + + if (isX(tM)) { + to = ''; + } else if (isX(tm)) { + to = '<' + (+tM + 1) + '.0.0'; + } else if (isX(tp)) { + to = '<' + tM + '.' + (+tm + 1) + '.0'; + } else if (tpr) { + to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; + } else { + to = '<=' + to; + } + + return (from + ' ' + to).trim(); +} // if ANY of the sets match ALL of its comparators, then pass + + +Range.prototype.test = function (version) { + if (!version) { + return false; + } + + if (typeof version === 'string') { + version = new SemVer(version, this.options); + } + + for (var i = 0; i < this.set.length; i++) { + if (testSet(this.set[i], version, this.options)) { + return true; + } + } + + return false; +}; + +function testSet(set, version, options) { + for (var i = 0; i < set.length; i++) { + if (!set[i].test(version)) { + return false; + } + } + + if (version.prerelease.length && !options.includePrerelease) { + // Find the set of versions that are allowed to have prereleases + // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 + // That should allow `1.2.3-pr.2` to pass. + // However, `1.2.4-alpha.notready` should NOT be allowed, + // even though it's within the range set by the comparators. + for (i = 0; i < set.length; i++) { + debug(set[i].semver); + + if (set[i].semver === ANY) { + continue; + } + + if (set[i].semver.prerelease.length > 0) { + var allowed = set[i].semver; + + if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) { + return true; + } + } + } // Version has a -pre, but it's not one of the ones we like. + + + return false; + } + + return true; +} + +exports.satisfies = satisfies; + +function satisfies(version, range, options) { + try { + range = new Range(range, options); + } catch (er) { + return false; + } + + return range.test(version); +} + +exports.maxSatisfying = maxSatisfying; + +function maxSatisfying(versions, range, options) { + var max = null; + var maxSV = null; + + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!max || maxSV.compare(v) === -1) { + // compare(max, v, true) + max = v; + maxSV = new SemVer(max, options); + } + } + }); + return max; +} + +exports.minSatisfying = minSatisfying; + +function minSatisfying(versions, range, options) { + var min = null; + var minSV = null; + + try { + var rangeObj = new Range(range, options); + } catch (er) { + return null; + } + + versions.forEach(function (v) { + if (rangeObj.test(v)) { + // satisfies(v, range, options) + if (!min || minSV.compare(v) === 1) { + // compare(min, v, true) + min = v; + minSV = new SemVer(min, options); + } + } + }); + return min; +} + +exports.minVersion = minVersion; + +function minVersion(range, loose) { + range = new Range(range, loose); + var minver = new SemVer('0.0.0'); + + if (range.test(minver)) { + return minver; + } + + minver = new SemVer('0.0.0-0'); + + if (range.test(minver)) { + return minver; + } + + minver = null; + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + comparators.forEach(function (comparator) { + // Clone to avoid manipulating the comparator's semver object. + var compver = new SemVer(comparator.semver.version); + + switch (comparator.operator) { + case '>': + if (compver.prerelease.length === 0) { + compver.patch++; + } else { + compver.prerelease.push(0); + } + + compver.raw = compver.format(); + + /* fallthrough */ + + case '': + case '>=': + if (!minver || gt(minver, compver)) { + minver = compver; + } + + break; + + case '<': + case '<=': + /* Ignore maximum versions */ + break; + + /* istanbul ignore next */ + + default: + throw new Error('Unexpected operation: ' + comparator.operator); + } + }); + } + + if (minver && range.test(minver)) { + return minver; + } + + return null; +} + +exports.validRange = validRange; + +function validRange(range, options) { + try { + // Return '*' instead of '' so that truthiness works. + // This will throw if it's invalid anyway + return new Range(range, options).range || '*'; + } catch (er) { + return null; + } +} // Determine if version is less than all the versions possible in the range + + +exports.ltr = ltr; + +function ltr(version, range, options) { + return outside(version, range, '<', options); +} // Determine if version is greater than all the versions possible in the range. + + +exports.gtr = gtr; + +function gtr(version, range, options) { + return outside(version, range, '>', options); +} + +exports.outside = outside; + +function outside(version, range, hilo, options) { + version = new SemVer(version, options); + range = new Range(range, options); + var gtfn, ltefn, ltfn, comp, ecomp; + + switch (hilo) { + case '>': + gtfn = gt; + ltefn = lte; + ltfn = lt; + comp = '>'; + ecomp = '>='; + break; + + case '<': + gtfn = lt; + ltefn = gte; + ltfn = gt; + comp = '<'; + ecomp = '<='; + break; + + default: + throw new TypeError('Must provide a hilo val of "<" or ">"'); + } // If it satisifes the range it is not outside + + + if (satisfies(version, range, options)) { + return false; + } // From now on, variable terms are as if we're in "gtr" mode. + // but note that everything is flipped for the "ltr" function. + + + for (var i = 0; i < range.set.length; ++i) { + var comparators = range.set[i]; + var high = null; + var low = null; + comparators.forEach(function (comparator) { + if (comparator.semver === ANY) { + comparator = new Comparator('>=0.0.0'); + } + + high = high || comparator; + low = low || comparator; + + if (gtfn(comparator.semver, high.semver, options)) { + high = comparator; + } else if (ltfn(comparator.semver, low.semver, options)) { + low = comparator; + } + }); // If the edge version comparator has a operator then our version + // isn't outside it + + if (high.operator === comp || high.operator === ecomp) { + return false; + } // If the lowest version comparator has an operator and our version + // is less than it then it isn't higher than the range + + + if ((!low.operator || low.operator === comp) && ltefn(version, low.semver)) { + return false; + } else if (low.operator === ecomp && ltfn(version, low.semver)) { + return false; + } + } + + return true; +} + +exports.prerelease = prerelease; + +function prerelease(version, options) { + var parsed = parse(version, options); + return parsed && parsed.prerelease.length ? parsed.prerelease : null; +} + +exports.intersects = intersects; + +function intersects(r1, r2, options) { + r1 = new Range(r1, options); + r2 = new Range(r2, options); + return r1.intersects(r2); +} + +exports.coerce = coerce; + +function coerce(version) { + if (version instanceof SemVer) { + return version; + } + + if (typeof version !== 'string') { + return null; + } + + var match = version.match(re[COERCE]); + + if (match == null) { + return null; + } + + return parse(match[1] + '.' + (match[2] || '0') + '.' + (match[3] || '0')); +} + +}).call(this,require('_process')) +},{"_process":1054}],1071:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); + +var has = Object.prototype.hasOwnProperty; +var hasNativeMap = typeof Map !== "undefined"; +/** + * A data structure which is a combination of an array and a set. Adding a new + * member is O(1), testing for membership is O(1), and finding the index of an + * element is O(1). Removing elements from the set is not supported. Only + * strings are supported for membership. + */ + +function ArraySet() { + this._array = []; + this._set = hasNativeMap ? new Map() : Object.create(null); +} +/** + * Static method for creating ArraySet instances from an existing array. + */ + + +ArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) { + var set = new ArraySet(); + + for (var i = 0, len = aArray.length; i < len; i++) { + set.add(aArray[i], aAllowDuplicates); + } + + return set; +}; +/** + * Return how many unique items are in this ArraySet. If duplicates have been + * added, than those do not count towards the size. + * + * @returns Number + */ + + +ArraySet.prototype.size = function ArraySet_size() { + return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length; +}; +/** + * Add the given string to this set. + * + * @param String aStr + */ + + +ArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) { + var sStr = hasNativeMap ? aStr : util.toSetString(aStr); + var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr); + var idx = this._array.length; + + if (!isDuplicate || aAllowDuplicates) { + this._array.push(aStr); + } + + if (!isDuplicate) { + if (hasNativeMap) { + this._set.set(aStr, idx); + } else { + this._set[sStr] = idx; + } + } +}; +/** + * Is the given string a member of this set? + * + * @param String aStr + */ + + +ArraySet.prototype.has = function ArraySet_has(aStr) { + if (hasNativeMap) { + return this._set.has(aStr); + } else { + var sStr = util.toSetString(aStr); + return has.call(this._set, sStr); + } +}; +/** + * What is the index of the given string in the array? + * + * @param String aStr + */ + + +ArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) { + if (hasNativeMap) { + var idx = this._set.get(aStr); + + if (idx >= 0) { + return idx; + } + } else { + var sStr = util.toSetString(aStr); + + if (has.call(this._set, sStr)) { + return this._set[sStr]; + } + } + + throw new Error('"' + aStr + '" is not in the set.'); +}; +/** + * What is the element at the given index? + * + * @param Number aIdx + */ + + +ArraySet.prototype.at = function ArraySet_at(aIdx) { + if (aIdx >= 0 && aIdx < this._array.length) { + return this._array[aIdx]; + } + + throw new Error('No element indexed by ' + aIdx); +}; +/** + * Returns the array representation of this set (which has the proper indices + * indicated by indexOf). Note that this is a copy of the internal array used + * for storing the members so that no one can mess with internal state. + */ + + +ArraySet.prototype.toArray = function ArraySet_toArray() { + return this._array.slice(); +}; + +exports.ArraySet = ArraySet; + +},{"./util":1080}],1072:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + * + * Based on the Base 64 VLQ implementation in Closure Compiler: + * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java + * + * Copyright 2011 The Closure Compiler Authors. All rights reserved. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +var base64 = require('./base64'); // A single base 64 digit can contain 6 bits of data. For the base 64 variable +// length quantities we use in the source map spec, the first bit is the sign, +// the next four bits are the actual value, and the 6th bit is the +// continuation bit. The continuation bit tells us whether there are more +// digits in this value following this digit. +// +// Continuation +// | Sign +// | | +// V V +// 101011 + + +var VLQ_BASE_SHIFT = 5; // binary: 100000 + +var VLQ_BASE = 1 << VLQ_BASE_SHIFT; // binary: 011111 + +var VLQ_BASE_MASK = VLQ_BASE - 1; // binary: 100000 + +var VLQ_CONTINUATION_BIT = VLQ_BASE; +/** + * Converts from a two-complement value to a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary) + * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary) + */ + +function toVLQSigned(aValue) { + return aValue < 0 ? (-aValue << 1) + 1 : (aValue << 1) + 0; +} +/** + * Converts to a two-complement value from a value where the sign bit is + * placed in the least significant bit. For example, as decimals: + * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1 + * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2 + */ + + +function fromVLQSigned(aValue) { + var isNegative = (aValue & 1) === 1; + var shifted = aValue >> 1; + return isNegative ? -shifted : shifted; +} +/** + * Returns the base 64 VLQ encoded value. + */ + + +exports.encode = function base64VLQ_encode(aValue) { + var encoded = ""; + var digit; + var vlq = toVLQSigned(aValue); + + do { + digit = vlq & VLQ_BASE_MASK; + vlq >>>= VLQ_BASE_SHIFT; + + if (vlq > 0) { + // There are still more digits in this value, so we must make sure the + // continuation bit is marked. + digit |= VLQ_CONTINUATION_BIT; + } + + encoded += base64.encode(digit); + } while (vlq > 0); + + return encoded; +}; +/** + * Decodes the next base 64 VLQ value from the given string and returns the + * value and the rest of the string via the out parameter. + */ + + +exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { + var strLen = aStr.length; + var result = 0; + var shift = 0; + var continuation, digit; + + do { + if (aIndex >= strLen) { + throw new Error("Expected more digits in base 64 VLQ value."); + } + + digit = base64.decode(aStr.charCodeAt(aIndex++)); + + if (digit === -1) { + throw new Error("Invalid base64 digit: " + aStr.charAt(aIndex - 1)); + } + + continuation = !!(digit & VLQ_CONTINUATION_BIT); + digit &= VLQ_BASE_MASK; + result = result + (digit << shift); + shift += VLQ_BASE_SHIFT; + } while (continuation); + + aOutParam.value = fromVLQSigned(result); + aOutParam.rest = aIndex; +}; + +},{"./base64":1073}],1073:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); +/** + * Encode an integer in the range of 0 to 63 to a single base 64 digit. + */ + +exports.encode = function (number) { + if (0 <= number && number < intToCharMap.length) { + return intToCharMap[number]; + } + + throw new TypeError("Must be between 0 and 63: " + number); +}; +/** + * Decode a single base 64 character code digit to an integer. Returns -1 on + * failure. + */ + + +exports.decode = function (charCode) { + var bigA = 65; // 'A' + + var bigZ = 90; // 'Z' + + var littleA = 97; // 'a' + + var littleZ = 122; // 'z' + + var zero = 48; // '0' + + var nine = 57; // '9' + + var plus = 43; // '+' + + var slash = 47; // '/' + + var littleOffset = 26; + var numberOffset = 52; // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ + + if (bigA <= charCode && charCode <= bigZ) { + return charCode - bigA; + } // 26 - 51: abcdefghijklmnopqrstuvwxyz + + + if (littleA <= charCode && charCode <= littleZ) { + return charCode - littleA + littleOffset; + } // 52 - 61: 0123456789 + + + if (zero <= charCode && charCode <= nine) { + return charCode - zero + numberOffset; + } // 62: + + + + if (charCode == plus) { + return 62; + } // 63: / + + + if (charCode == slash) { + return 63; + } // Invalid base64 digit. + + + return -1; +}; + +},{}],1074:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.GREATEST_LOWER_BOUND = 1; +exports.LEAST_UPPER_BOUND = 2; +/** + * Recursive implementation of binary search. + * + * @param aLow Indices here and lower do not contain the needle. + * @param aHigh Indices here and higher do not contain the needle. + * @param aNeedle The element being searched for. + * @param aHaystack The non-empty array being searched. + * @param aCompare Function which takes two elements and returns -1, 0, or 1. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + */ + +function recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) { + // This function terminates when one of the following is true: + // + // 1. We find the exact element we are looking for. + // + // 2. We did not find the exact element, but we can return the index of + // the next-closest element. + // + // 3. We did not find the exact element, and there is no next-closest + // element than the one we are searching for, so we return -1. + var mid = Math.floor((aHigh - aLow) / 2) + aLow; + var cmp = aCompare(aNeedle, aHaystack[mid], true); + + if (cmp === 0) { + // Found the element we are looking for. + return mid; + } else if (cmp > 0) { + // Our needle is greater than aHaystack[mid]. + if (aHigh - mid > 1) { + // The element is in the upper half. + return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias); + } // The exact needle element was not found in this haystack. Determine if + // we are in termination case (3) or (2) and return the appropriate thing. + + + if (aBias == exports.LEAST_UPPER_BOUND) { + return aHigh < aHaystack.length ? aHigh : -1; + } else { + return mid; + } + } else { + // Our needle is less than aHaystack[mid]. + if (mid - aLow > 1) { + // The element is in the lower half. + return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias); + } // we are in termination case (3) or (2) and return the appropriate thing. + + + if (aBias == exports.LEAST_UPPER_BOUND) { + return mid; + } else { + return aLow < 0 ? -1 : aLow; + } + } +} +/** + * This is an implementation of binary search which will always try and return + * the index of the closest element if there is no exact hit. This is because + * mappings between original and generated line/col pairs are single points, + * and there is an implicit region between each of them, so a miss just means + * that you aren't on the very start of a region. + * + * @param aNeedle The element you are looking for. + * @param aHaystack The array that is being searched. + * @param aCompare A function which takes the needle and an element in the + * array and returns -1, 0, or 1 depending on whether the needle is less + * than, equal to, or greater than the element, respectively. + * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or + * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'. + */ + + +exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { + if (aHaystack.length === 0) { + return -1; + } + + var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack, aCompare, aBias || exports.GREATEST_LOWER_BOUND); + + if (index < 0) { + return -1; + } // We have found either the exact element, or the next-closest element than + // the one we are searching for. However, there may be more than one such + // element. Make sure we always return the smallest of these. + + + while (index - 1 >= 0) { + if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) { + break; + } + + --index; + } + + return index; +}; + +},{}],1075:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2014 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); +/** + * Determine whether mappingB is after mappingA with respect to generated + * position. + */ + + +function generatedPositionAfter(mappingA, mappingB) { + // Optimized for most common case + var lineA = mappingA.generatedLine; + var lineB = mappingB.generatedLine; + var columnA = mappingA.generatedColumn; + var columnB = mappingB.generatedColumn; + return lineB > lineA || lineB == lineA && columnB >= columnA || util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0; +} +/** + * A data structure to provide a sorted view of accumulated mappings in a + * performance conscious manner. It trades a neglibable overhead in general + * case for a large speedup in case of mappings being added in order. + */ + + +function MappingList() { + this._array = []; + this._sorted = true; // Serves as infimum + + this._last = { + generatedLine: -1, + generatedColumn: 0 + }; +} +/** + * Iterate through internal items. This method takes the same arguments that + * `Array.prototype.forEach` takes. + * + * NOTE: The order of the mappings is NOT guaranteed. + */ + + +MappingList.prototype.unsortedForEach = function MappingList_forEach(aCallback, aThisArg) { + this._array.forEach(aCallback, aThisArg); +}; +/** + * Add the given source mapping. + * + * @param Object aMapping + */ + + +MappingList.prototype.add = function MappingList_add(aMapping) { + if (generatedPositionAfter(this._last, aMapping)) { + this._last = aMapping; + + this._array.push(aMapping); + } else { + this._sorted = false; + + this._array.push(aMapping); + } +}; +/** + * Returns the flat, sorted array of mappings. The mappings are sorted by + * generated position. + * + * WARNING: This method returns internal data without copying, for + * performance. The return value must NOT be mutated, and should be treated as + * an immutable borrow. If you want to take ownership, you must make your own + * copy. + */ + + +MappingList.prototype.toArray = function MappingList_toArray() { + if (!this._sorted) { + this._array.sort(util.compareByGeneratedPositionsInflated); + + this._sorted = true; + } + + return this._array; +}; + +exports.MappingList = MappingList; + +},{"./util":1080}],1076:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +// It turns out that some (most?) JavaScript engines don't self-host +// `Array.prototype.sort`. This makes sense because C++ will likely remain +// faster than JS when doing raw CPU-intensive sorting. However, when using a +// custom comparator function, calling back and forth between the VM's C++ and +// JIT'd JS is rather slow *and* loses JIT type information, resulting in +// worse generated code for the comparator function than would be optimal. In +// fact, when sorting with a comparator, these costs outweigh the benefits of +// sorting in C++. By using our own JS-implemented Quick Sort (below), we get +// a ~3500ms mean speed-up in `bench/bench.html`. + +/** + * Swap the elements indexed by `x` and `y` in the array `ary`. + * + * @param {Array} ary + * The array. + * @param {Number} x + * The index of the first item. + * @param {Number} y + * The index of the second item. + */ +function swap(ary, x, y) { + var temp = ary[x]; + ary[x] = ary[y]; + ary[y] = temp; +} +/** + * Returns a random integer within the range `low .. high` inclusive. + * + * @param {Number} low + * The lower bound on the range. + * @param {Number} high + * The upper bound on the range. + */ + + +function randomIntInRange(low, high) { + return Math.round(low + Math.random() * (high - low)); +} +/** + * The Quick Sort algorithm. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + * @param {Number} p + * Start index of the array + * @param {Number} r + * End index of the array + */ + + +function doQuickSort(ary, comparator, p, r) { + // If our lower bound is less than our upper bound, we (1) partition the + // array into two pieces and (2) recurse on each half. If it is not, this is + // the empty array and our base case. + if (p < r) { + // (1) Partitioning. + // + // The partitioning chooses a pivot between `p` and `r` and moves all + // elements that are less than or equal to the pivot to the before it, and + // all the elements that are greater than it after it. The effect is that + // once partition is done, the pivot is in the exact place it will be when + // the array is put in sorted order, and it will not need to be moved + // again. This runs in O(n) time. + // Always choose a random pivot so that an input array which is reverse + // sorted does not cause O(n^2) running time. + var pivotIndex = randomIntInRange(p, r); + var i = p - 1; + swap(ary, pivotIndex, r); + var pivot = ary[r]; // Immediately after `j` is incremented in this loop, the following hold + // true: + // + // * Every element in `ary[p .. i]` is less than or equal to the pivot. + // + // * Every element in `ary[i+1 .. j-1]` is greater than the pivot. + + for (var j = p; j < r; j++) { + if (comparator(ary[j], pivot) <= 0) { + i += 1; + swap(ary, i, j); + } + } + + swap(ary, i + 1, j); + var q = i + 1; // (2) Recurse on each half. + + doQuickSort(ary, comparator, p, q - 1); + doQuickSort(ary, comparator, q + 1, r); + } +} +/** + * Sort the given array in-place with the given comparator function. + * + * @param {Array} ary + * An array to sort. + * @param {function} comparator + * Function to use to compare two items. + */ + + +exports.quickSort = function (ary, comparator) { + doQuickSort(ary, comparator, 0, ary.length - 1); +}; + +},{}],1077:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var util = require('./util'); + +var binarySearch = require('./binary-search'); + +var ArraySet = require('./array-set').ArraySet; + +var base64VLQ = require('./base64-vlq'); + +var quickSort = require('./quick-sort').quickSort; + +function SourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + return sourceMap.sections != null ? new IndexedSourceMapConsumer(sourceMap) : new BasicSourceMapConsumer(sourceMap); +} + +SourceMapConsumer.fromSourceMap = function (aSourceMap) { + return BasicSourceMapConsumer.fromSourceMap(aSourceMap); +}; +/** + * The version of the source mapping spec that we are consuming. + */ + + +SourceMapConsumer.prototype._version = 3; // `__generatedMappings` and `__originalMappings` are arrays that hold the +// parsed mapping coordinates from the source map's "mappings" attribute. They +// are lazily instantiated, accessed via the `_generatedMappings` and +// `_originalMappings` getters respectively, and we only parse the mappings +// and create these arrays once queried for a source location. We jump through +// these hoops because there can be many thousands of mappings, and parsing +// them is expensive, so we only want to do it if we must. +// +// Each object in the arrays is of the form: +// +// { +// generatedLine: The line number in the generated code, +// generatedColumn: The column number in the generated code, +// source: The path to the original source file that generated this +// chunk of code, +// originalLine: The line number in the original source that +// corresponds to this chunk of generated code, +// originalColumn: The column number in the original source that +// corresponds to this chunk of generated code, +// name: The name of the original symbol which generated this chunk of +// code. +// } +// +// All properties except for `generatedLine` and `generatedColumn` can be +// `null`. +// +// `_generatedMappings` is ordered by the generated positions. +// +// `_originalMappings` is ordered by the original positions. + +SourceMapConsumer.prototype.__generatedMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', { + get: function get() { + if (!this.__generatedMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__generatedMappings; + } +}); +SourceMapConsumer.prototype.__originalMappings = null; +Object.defineProperty(SourceMapConsumer.prototype, '_originalMappings', { + get: function get() { + if (!this.__originalMappings) { + this._parseMappings(this._mappings, this.sourceRoot); + } + + return this.__originalMappings; + } +}); + +SourceMapConsumer.prototype._charIsMappingSeparator = function SourceMapConsumer_charIsMappingSeparator(aStr, index) { + var c = aStr.charAt(index); + return c === ";" || c === ","; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + + +SourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + throw new Error("Subclasses must implement _parseMappings"); +}; + +SourceMapConsumer.GENERATED_ORDER = 1; +SourceMapConsumer.ORIGINAL_ORDER = 2; +SourceMapConsumer.GREATEST_LOWER_BOUND = 1; +SourceMapConsumer.LEAST_UPPER_BOUND = 2; +/** + * Iterate over each mapping between an original source/line/column and a + * generated line/column in this source map. + * + * @param Function aCallback + * The function that is called with each mapping. + * @param Object aContext + * Optional. If specified, this object will be the value of `this` every + * time that `aCallback` is called. + * @param aOrder + * Either `SourceMapConsumer.GENERATED_ORDER` or + * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to + * iterate over the mappings sorted by the generated file's line/column + * order or the original's source/line/column order, respectively. Defaults to + * `SourceMapConsumer.GENERATED_ORDER`. + */ + +SourceMapConsumer.prototype.eachMapping = function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) { + var context = aContext || null; + var order = aOrder || SourceMapConsumer.GENERATED_ORDER; + var mappings; + + switch (order) { + case SourceMapConsumer.GENERATED_ORDER: + mappings = this._generatedMappings; + break; + + case SourceMapConsumer.ORIGINAL_ORDER: + mappings = this._originalMappings; + break; + + default: + throw new Error("Unknown order of iteration."); + } + + var sourceRoot = this.sourceRoot; + mappings.map(function (mapping) { + var source = mapping.source === null ? null : this._sources.at(mapping.source); + + if (source != null && sourceRoot != null) { + source = util.join(sourceRoot, source); + } + + return { + source: source, + generatedLine: mapping.generatedLine, + generatedColumn: mapping.generatedColumn, + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: mapping.name === null ? null : this._names.at(mapping.name) + }; + }, this).forEach(aCallback, context); +}; +/** + * Returns all generated line and column information for the original source, + * line, and column provided. If no column is provided, returns all mappings + * corresponding to a either the line we are searching for or the next + * closest line that has any mappings. Otherwise, returns all mappings + * corresponding to the given line and either the column we are searching for + * or the next closest column that has any offsets. + * + * The only argument is an object with the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: Optional. the column number in the original source. + * + * and an array of objects is returned, each with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + + +SourceMapConsumer.prototype.allGeneratedPositionsFor = function SourceMapConsumer_allGeneratedPositionsFor(aArgs) { + var line = util.getArg(aArgs, 'line'); // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping + // returns the index of the closest mapping less than the needle. By + // setting needle.originalColumn to 0, we thus find the last mapping for + // the given line, provided such a mapping exists. + + var needle = { + source: util.getArg(aArgs, 'source'), + originalLine: line, + originalColumn: util.getArg(aArgs, 'column', 0) + }; + + if (this.sourceRoot != null) { + needle.source = util.relative(this.sourceRoot, needle.source); + } + + if (!this._sources.has(needle.source)) { + return []; + } + + needle.source = this._sources.indexOf(needle.source); + var mappings = []; + + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, binarySearch.LEAST_UPPER_BOUND); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (aArgs.column === undefined) { + var originalLine = mapping.originalLine; // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we found. Since + // mappings are sorted, this is guaranteed to find all mappings for + // the line we found. + + while (mapping && mapping.originalLine === originalLine) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; + } + } else { + var originalColumn = mapping.originalColumn; // Iterate until either we run out of mappings, or we run into + // a mapping for a different line than the one we were searching for. + // Since mappings are sorted, this is guaranteed to find all mappings for + // the line we are searching for. + + while (mapping && mapping.originalLine === line && mapping.originalColumn == originalColumn) { + mappings.push({ + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }); + mapping = this._originalMappings[++index]; + } + } + } + + return mappings; +}; + +exports.SourceMapConsumer = SourceMapConsumer; +/** + * A BasicSourceMapConsumer instance represents a parsed source map which we can + * query for information about the original file positions by giving it a file + * position in the generated source. + * + * The only parameter is the raw source map (either as a JSON string, or + * already parsed to an object). According to the spec, source maps have the + * following attributes: + * + * - version: Which version of the source map spec this map is following. + * - sources: An array of URLs to the original source files. + * - names: An array of identifiers which can be referrenced by individual mappings. + * - sourceRoot: Optional. The URL root from which all sources are relative. + * - sourcesContent: Optional. An array of contents of the original source files. + * - mappings: A string of base64 VLQs which contain the actual mappings. + * - file: Optional. The generated file this source map is associated with. + * + * Here is an example source map, taken from the source map spec[0]: + * + * { + * version : 3, + * file: "out.js", + * sourceRoot : "", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AA,AB;;ABCDE;" + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1# + */ + +function BasicSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sources = util.getArg(sourceMap, 'sources'); // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which + // requires the array) to play nice here. + + var names = util.getArg(sourceMap, 'names', []); + var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null); + var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null); + var mappings = util.getArg(sourceMap, 'mappings'); + var file = util.getArg(sourceMap, 'file', null); // Once again, Sass deviates from the spec and supplies the version as a + // string rather than a number, so we use loose equality checking here. + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + sources = sources.map(String) // Some source maps produce relative source paths like "./foo.js" instead of + // "foo.js". Normalize these first so that future comparisons will succeed. + // See bugzil.la/1090768. + .map(util.normalize) // Always ensure that absolute sources are internally stored relative to + // the source root, if the source root is absolute. Not doing this would + // be particularly problematic when the source root is a prefix of the + // source (valid, but why??). See github issue #199 and bugzil.la/1188982. + .map(function (source) { + return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source) ? util.relative(sourceRoot, source) : source; + }); // Pass `true` below to allow duplicate names and sources. While source maps + // are intended to be compressed and deduplicated, the TypeScript compiler + // sometimes generates source maps with duplicates in them. See Github issue + // #72 and bugzil.la/889492. + + this._names = ArraySet.fromArray(names.map(String), true); + this._sources = ArraySet.fromArray(sources, true); + this.sourceRoot = sourceRoot; + this.sourcesContent = sourcesContent; + this._mappings = mappings; + this.file = file; +} + +BasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +BasicSourceMapConsumer.prototype.consumer = SourceMapConsumer; +/** + * Create a BasicSourceMapConsumer from a SourceMapGenerator. + * + * @param SourceMapGenerator aSourceMap + * The source map that will be consumed. + * @returns BasicSourceMapConsumer + */ + +BasicSourceMapConsumer.fromSourceMap = function SourceMapConsumer_fromSourceMap(aSourceMap) { + var smc = Object.create(BasicSourceMapConsumer.prototype); + var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true); + var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true); + smc.sourceRoot = aSourceMap._sourceRoot; + smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(), smc.sourceRoot); + smc.file = aSourceMap._file; // Because we are modifying the entries (by converting string sources and + // names to indices into the sources and names ArraySets), we have to make + // a copy of the entry or else bad things happen. Shared mutable state + // strikes again! See github issue #191. + + var generatedMappings = aSourceMap._mappings.toArray().slice(); + + var destGeneratedMappings = smc.__generatedMappings = []; + var destOriginalMappings = smc.__originalMappings = []; + + for (var i = 0, length = generatedMappings.length; i < length; i++) { + var srcMapping = generatedMappings[i]; + var destMapping = new Mapping(); + destMapping.generatedLine = srcMapping.generatedLine; + destMapping.generatedColumn = srcMapping.generatedColumn; + + if (srcMapping.source) { + destMapping.source = sources.indexOf(srcMapping.source); + destMapping.originalLine = srcMapping.originalLine; + destMapping.originalColumn = srcMapping.originalColumn; + + if (srcMapping.name) { + destMapping.name = names.indexOf(srcMapping.name); + } + + destOriginalMappings.push(destMapping); + } + + destGeneratedMappings.push(destMapping); + } + + quickSort(smc.__originalMappings, util.compareByOriginalPositions); + return smc; +}; +/** + * The version of the source mapping spec that we are consuming. + */ + + +BasicSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ + +Object.defineProperty(BasicSourceMapConsumer.prototype, 'sources', { + get: function get() { + return this._sources.toArray().map(function (s) { + return this.sourceRoot != null ? util.join(this.sourceRoot, s) : s; + }, this); + } +}); +/** + * Provide the JIT with a nice shape / hidden class. + */ + +function Mapping() { + this.generatedLine = 0; + this.generatedColumn = 0; + this.source = null; + this.originalLine = null; + this.originalColumn = null; + this.name = null; +} +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + + +BasicSourceMapConsumer.prototype._parseMappings = function SourceMapConsumer_parseMappings(aStr, aSourceRoot) { + var generatedLine = 1; + var previousGeneratedColumn = 0; + var previousOriginalLine = 0; + var previousOriginalColumn = 0; + var previousSource = 0; + var previousName = 0; + var length = aStr.length; + var index = 0; + var cachedSegments = {}; + var temp = {}; + var originalMappings = []; + var generatedMappings = []; + var mapping, str, segment, end, value; + + while (index < length) { + if (aStr.charAt(index) === ';') { + generatedLine++; + index++; + previousGeneratedColumn = 0; + } else if (aStr.charAt(index) === ',') { + index++; + } else { + mapping = new Mapping(); + mapping.generatedLine = generatedLine; // Because each offset is encoded relative to the previous one, + // many segments often have the same encoding. We can exploit this + // fact by caching the parsed variable length fields of each segment, + // allowing us to avoid a second parse if we encounter the same + // segment again. + + for (end = index; end < length; end++) { + if (this._charIsMappingSeparator(aStr, end)) { + break; + } + } + + str = aStr.slice(index, end); + segment = cachedSegments[str]; + + if (segment) { + index += str.length; + } else { + segment = []; + + while (index < end) { + base64VLQ.decode(aStr, index, temp); + value = temp.value; + index = temp.rest; + segment.push(value); + } + + if (segment.length === 2) { + throw new Error('Found a source, but no line and column'); + } + + if (segment.length === 3) { + throw new Error('Found a source and line, but no column'); + } + + cachedSegments[str] = segment; + } // Generated column. + + + mapping.generatedColumn = previousGeneratedColumn + segment[0]; + previousGeneratedColumn = mapping.generatedColumn; + + if (segment.length > 1) { + // Original source. + mapping.source = previousSource + segment[1]; + previousSource += segment[1]; // Original line. + + mapping.originalLine = previousOriginalLine + segment[2]; + previousOriginalLine = mapping.originalLine; // Lines are stored 0-based + + mapping.originalLine += 1; // Original column. + + mapping.originalColumn = previousOriginalColumn + segment[3]; + previousOriginalColumn = mapping.originalColumn; + + if (segment.length > 4) { + // Original name. + mapping.name = previousName + segment[4]; + previousName += segment[4]; + } + } + + generatedMappings.push(mapping); + + if (typeof mapping.originalLine === 'number') { + originalMappings.push(mapping); + } + } + } + + quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated); + this.__generatedMappings = generatedMappings; + quickSort(originalMappings, util.compareByOriginalPositions); + this.__originalMappings = originalMappings; +}; +/** + * Find the mapping that best matches the hypothetical "needle" mapping that + * we are searching for in the given "haystack" of mappings. + */ + + +BasicSourceMapConsumer.prototype._findMapping = function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName, aColumnName, aComparator, aBias) { + // To return the position we are searching for, we must first find the + // mapping for the given position and then return the opposite position it + // points to. Because the mappings are sorted, we can use binary search to + // find the best mapping. + if (aNeedle[aLineName] <= 0) { + throw new TypeError('Line must be greater than or equal to 1, got ' + aNeedle[aLineName]); + } + + if (aNeedle[aColumnName] < 0) { + throw new TypeError('Column must be greater than or equal to 0, got ' + aNeedle[aColumnName]); + } + + return binarySearch.search(aNeedle, aMappings, aComparator, aBias); +}; +/** + * Compute the last column for each generated mapping. The last column is + * inclusive. + */ + + +BasicSourceMapConsumer.prototype.computeColumnSpans = function SourceMapConsumer_computeColumnSpans() { + for (var index = 0; index < this._generatedMappings.length; ++index) { + var mapping = this._generatedMappings[index]; // Mappings do not contain a field for the last generated columnt. We + // can come up with an optimistic estimate, however, by assuming that + // mappings are contiguous (i.e. given two consecutive mappings, the + // first mapping ends where the second one starts). + + if (index + 1 < this._generatedMappings.length) { + var nextMapping = this._generatedMappings[index + 1]; + + if (mapping.generatedLine === nextMapping.generatedLine) { + mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1; + continue; + } + } // The last mapping for each line spans the entire line. + + + mapping.lastGeneratedColumn = Infinity; + } +}; +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + + +BasicSourceMapConsumer.prototype.originalPositionFor = function SourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping(needle, this._generatedMappings, "generatedLine", "generatedColumn", util.compareByGeneratedPositionsDeflated, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); + + if (index >= 0) { + var mapping = this._generatedMappings[index]; + + if (mapping.generatedLine === needle.generatedLine) { + var source = util.getArg(mapping, 'source', null); + + if (source !== null) { + source = this._sources.at(source); + + if (this.sourceRoot != null) { + source = util.join(this.sourceRoot, source); + } + } + + var name = util.getArg(mapping, 'name', null); + + if (name !== null) { + name = this._names.at(name); + } + + return { + source: source, + line: util.getArg(mapping, 'originalLine', null), + column: util.getArg(mapping, 'originalColumn', null), + name: name + }; + } + } + + return { + source: null, + line: null, + column: null, + name: null + }; +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + + +BasicSourceMapConsumer.prototype.hasContentsOfAllSources = function BasicSourceMapConsumer_hasContentsOfAllSources() { + if (!this.sourcesContent) { + return false; + } + + return this.sourcesContent.length >= this._sources.size() && !this.sourcesContent.some(function (sc) { + return sc == null; + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + + +BasicSourceMapConsumer.prototype.sourceContentFor = function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + if (!this.sourcesContent) { + return null; + } + + if (this.sourceRoot != null) { + aSource = util.relative(this.sourceRoot, aSource); + } + + if (this._sources.has(aSource)) { + return this.sourcesContent[this._sources.indexOf(aSource)]; + } + + var url; + + if (this.sourceRoot != null && (url = util.urlParse(this.sourceRoot))) { + // XXX: file:// URIs and absolute paths lead to unexpected behavior for + // many users. We can help them out when they expect file:// URIs to + // behave like it would if they were running a local HTTP server. See + // https://bugzilla.mozilla.org/show_bug.cgi?id=885597. + var fileUriAbsPath = aSource.replace(/^file:\/\//, ""); + + if (url.scheme == "file" && this._sources.has(fileUriAbsPath)) { + return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]; + } + + if ((!url.path || url.path == "/") && this._sources.has("/" + aSource)) { + return this.sourcesContent[this._sources.indexOf("/" + aSource)]; + } + } // This function is used recursively from + // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we + // don't want to throw if we can't find the source - we just want to + // return null, so we provide a flag to exit gracefully. + + + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or + * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the + * closest element that is smaller than or greater than the one we are + * searching for, respectively, if the exact element cannot be found. + * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + + +BasicSourceMapConsumer.prototype.generatedPositionFor = function SourceMapConsumer_generatedPositionFor(aArgs) { + var source = util.getArg(aArgs, 'source'); + + if (this.sourceRoot != null) { + source = util.relative(this.sourceRoot, source); + } + + if (!this._sources.has(source)) { + return { + line: null, + column: null, + lastColumn: null + }; + } + + source = this._sources.indexOf(source); + var needle = { + source: source, + originalLine: util.getArg(aArgs, 'line'), + originalColumn: util.getArg(aArgs, 'column') + }; + + var index = this._findMapping(needle, this._originalMappings, "originalLine", "originalColumn", util.compareByOriginalPositions, util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)); + + if (index >= 0) { + var mapping = this._originalMappings[index]; + + if (mapping.source === needle.source) { + return { + line: util.getArg(mapping, 'generatedLine', null), + column: util.getArg(mapping, 'generatedColumn', null), + lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null) + }; + } + } + + return { + line: null, + column: null, + lastColumn: null + }; +}; + +exports.BasicSourceMapConsumer = BasicSourceMapConsumer; +/** + * An IndexedSourceMapConsumer instance represents a parsed source map which + * we can query for information. It differs from BasicSourceMapConsumer in + * that it takes "indexed" source maps (i.e. ones with a "sections" field) as + * input. + * + * The only parameter is a raw source map (either as a JSON string, or already + * parsed to an object). According to the spec for indexed source maps, they + * have the following attributes: + * + * - version: Which version of the source map spec this map is following. + * - file: Optional. The generated file this source map is associated with. + * - sections: A list of section definitions. + * + * Each value under the "sections" field has two fields: + * - offset: The offset into the original specified at which this section + * begins to apply, defined as an object with a "line" and "column" + * field. + * - map: A source map definition. This source map could also be indexed, + * but doesn't have to be. + * + * Instead of the "map" field, it's also possible to have a "url" field + * specifying a URL to retrieve a source map from, but that's currently + * unsupported. + * + * Here's an example source map, taken from the source map spec[0], but + * modified to omit a section which uses the "url" field. + * + * { + * version : 3, + * file: "app.js", + * sections: [{ + * offset: {line:100, column:10}, + * map: { + * version : 3, + * file: "section.js", + * sources: ["foo.js", "bar.js"], + * names: ["src", "maps", "are", "fun"], + * mappings: "AAAA,E;;ABCDE;" + * } + * }], + * } + * + * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt + */ + +function IndexedSourceMapConsumer(aSourceMap) { + var sourceMap = aSourceMap; + + if (typeof aSourceMap === 'string') { + sourceMap = JSON.parse(aSourceMap.replace(/^\)\]\}'/, '')); + } + + var version = util.getArg(sourceMap, 'version'); + var sections = util.getArg(sourceMap, 'sections'); + + if (version != this._version) { + throw new Error('Unsupported version: ' + version); + } + + this._sources = new ArraySet(); + this._names = new ArraySet(); + var lastOffset = { + line: -1, + column: 0 + }; + this._sections = sections.map(function (s) { + if (s.url) { + // The url field will require support for asynchronicity. + // See https://github.com/mozilla/source-map/issues/16 + throw new Error('Support for url field in sections not implemented.'); + } + + var offset = util.getArg(s, 'offset'); + var offsetLine = util.getArg(offset, 'line'); + var offsetColumn = util.getArg(offset, 'column'); + + if (offsetLine < lastOffset.line || offsetLine === lastOffset.line && offsetColumn < lastOffset.column) { + throw new Error('Section offsets must be ordered and non-overlapping.'); + } + + lastOffset = offset; + return { + generatedOffset: { + // The offset fields are 0-based, but we use 1-based indices when + // encoding/decoding from VLQ. + generatedLine: offsetLine + 1, + generatedColumn: offsetColumn + 1 + }, + consumer: new SourceMapConsumer(util.getArg(s, 'map')) + }; + }); +} + +IndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype); +IndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer; +/** + * The version of the source mapping spec that we are consuming. + */ + +IndexedSourceMapConsumer.prototype._version = 3; +/** + * The list of original sources. + */ + +Object.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', { + get: function get() { + var sources = []; + + for (var i = 0; i < this._sections.length; i++) { + for (var j = 0; j < this._sections[i].consumer.sources.length; j++) { + sources.push(this._sections[i].consumer.sources[j]); + } + } + + return sources; + } +}); +/** + * Returns the original source, line, and column information for the generated + * source's line and column positions provided. The only argument is an object + * with the following properties: + * + * - line: The line number in the generated source. + * - column: The column number in the generated source. + * + * and an object is returned with the following properties: + * + * - source: The original source file, or null. + * - line: The line number in the original source, or null. + * - column: The column number in the original source, or null. + * - name: The original identifier, or null. + */ + +IndexedSourceMapConsumer.prototype.originalPositionFor = function IndexedSourceMapConsumer_originalPositionFor(aArgs) { + var needle = { + generatedLine: util.getArg(aArgs, 'line'), + generatedColumn: util.getArg(aArgs, 'column') + }; // Find the section containing the generated position we're trying to map + // to an original position. + + var sectionIndex = binarySearch.search(needle, this._sections, function (needle, section) { + var cmp = needle.generatedLine - section.generatedOffset.generatedLine; + + if (cmp) { + return cmp; + } + + return needle.generatedColumn - section.generatedOffset.generatedColumn; + }); + var section = this._sections[sectionIndex]; + + if (!section) { + return { + source: null, + line: null, + column: null, + name: null + }; + } + + return section.consumer.originalPositionFor({ + line: needle.generatedLine - (section.generatedOffset.generatedLine - 1), + column: needle.generatedColumn - (section.generatedOffset.generatedLine === needle.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + bias: aArgs.bias + }); +}; +/** + * Return true if we have the source content for every source in the source + * map, false otherwise. + */ + + +IndexedSourceMapConsumer.prototype.hasContentsOfAllSources = function IndexedSourceMapConsumer_hasContentsOfAllSources() { + return this._sections.every(function (s) { + return s.consumer.hasContentsOfAllSources(); + }); +}; +/** + * Returns the original source content. The only argument is the url of the + * original source file. Returns null if no original source content is + * available. + */ + + +IndexedSourceMapConsumer.prototype.sourceContentFor = function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var content = section.consumer.sourceContentFor(aSource, true); + + if (content) { + return content; + } + } + + if (nullOnMissing) { + return null; + } else { + throw new Error('"' + aSource + '" is not in the SourceMap.'); + } +}; +/** + * Returns the generated line and column information for the original source, + * line, and column positions provided. The only argument is an object with + * the following properties: + * + * - source: The filename of the original source. + * - line: The line number in the original source. + * - column: The column number in the original source. + * + * and an object is returned with the following properties: + * + * - line: The line number in the generated source, or null. + * - column: The column number in the generated source, or null. + */ + + +IndexedSourceMapConsumer.prototype.generatedPositionFor = function IndexedSourceMapConsumer_generatedPositionFor(aArgs) { + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; // Only consider this section if the requested source is in the list of + // sources of the consumer. + + if (section.consumer.sources.indexOf(util.getArg(aArgs, 'source')) === -1) { + continue; + } + + var generatedPosition = section.consumer.generatedPositionFor(aArgs); + + if (generatedPosition) { + var ret = { + line: generatedPosition.line + (section.generatedOffset.generatedLine - 1), + column: generatedPosition.column + (section.generatedOffset.generatedLine === generatedPosition.line ? section.generatedOffset.generatedColumn - 1 : 0) + }; + return ret; + } + } + + return { + line: null, + column: null + }; +}; +/** + * Parse the mappings in a string in to a data structure which we can easily + * query (the ordered arrays in the `this.__generatedMappings` and + * `this.__originalMappings` properties). + */ + + +IndexedSourceMapConsumer.prototype._parseMappings = function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) { + this.__generatedMappings = []; + this.__originalMappings = []; + + for (var i = 0; i < this._sections.length; i++) { + var section = this._sections[i]; + var sectionMappings = section.consumer._generatedMappings; + + for (var j = 0; j < sectionMappings.length; j++) { + var mapping = sectionMappings[j]; + + var source = section.consumer._sources.at(mapping.source); + + if (section.consumer.sourceRoot !== null) { + source = util.join(section.consumer.sourceRoot, source); + } + + this._sources.add(source); + + source = this._sources.indexOf(source); + + var name = section.consumer._names.at(mapping.name); + + this._names.add(name); + + name = this._names.indexOf(name); // The mappings coming from the consumer for the section have + // generated positions relative to the start of the section, so we + // need to offset them to be relative to the start of the concatenated + // generated file. + + var adjustedMapping = { + source: source, + generatedLine: mapping.generatedLine + (section.generatedOffset.generatedLine - 1), + generatedColumn: mapping.generatedColumn + (section.generatedOffset.generatedLine === mapping.generatedLine ? section.generatedOffset.generatedColumn - 1 : 0), + originalLine: mapping.originalLine, + originalColumn: mapping.originalColumn, + name: name + }; + + this.__generatedMappings.push(adjustedMapping); + + if (typeof adjustedMapping.originalLine === 'number') { + this.__originalMappings.push(adjustedMapping); + } + } + } + + quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated); + quickSort(this.__originalMappings, util.compareByOriginalPositions); +}; + +exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; + +},{"./array-set":1071,"./base64-vlq":1072,"./binary-search":1074,"./quick-sort":1076,"./util":1080}],1078:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var base64VLQ = require('./base64-vlq'); + +var util = require('./util'); + +var ArraySet = require('./array-set').ArraySet; + +var MappingList = require('./mapping-list').MappingList; +/** + * An instance of the SourceMapGenerator represents a source map which is + * being built incrementally. You may pass an object with the following + * properties: + * + * - file: The filename of the generated source. + * - sourceRoot: A root for all relative URLs in this source map. + */ + + +function SourceMapGenerator(aArgs) { + if (!aArgs) { + aArgs = {}; + } + + this._file = util.getArg(aArgs, 'file', null); + this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null); + this._skipValidation = util.getArg(aArgs, 'skipValidation', false); + this._sources = new ArraySet(); + this._names = new ArraySet(); + this._mappings = new MappingList(); + this._sourcesContents = null; +} + +SourceMapGenerator.prototype._version = 3; +/** + * Creates a new SourceMapGenerator based on a SourceMapConsumer + * + * @param aSourceMapConsumer The SourceMap. + */ + +SourceMapGenerator.fromSourceMap = function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) { + var sourceRoot = aSourceMapConsumer.sourceRoot; + var generator = new SourceMapGenerator({ + file: aSourceMapConsumer.file, + sourceRoot: sourceRoot + }); + aSourceMapConsumer.eachMapping(function (mapping) { + var newMapping = { + generated: { + line: mapping.generatedLine, + column: mapping.generatedColumn + } + }; + + if (mapping.source != null) { + newMapping.source = mapping.source; + + if (sourceRoot != null) { + newMapping.source = util.relative(sourceRoot, newMapping.source); + } + + newMapping.original = { + line: mapping.originalLine, + column: mapping.originalColumn + }; + + if (mapping.name != null) { + newMapping.name = mapping.name; + } + } + + generator.addMapping(newMapping); + }); + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + + if (content != null) { + generator.setSourceContent(sourceFile, content); + } + }); + return generator; +}; +/** + * Add a single mapping from original source line and column to the generated + * source's line and column for this source map being created. The mapping + * object should have the following properties: + * + * - generated: An object with the generated line and column positions. + * - original: An object with the original line and column positions. + * - source: The original source file (relative to the sourceRoot). + * - name: An optional original token name for this mapping. + */ + + +SourceMapGenerator.prototype.addMapping = function SourceMapGenerator_addMapping(aArgs) { + var generated = util.getArg(aArgs, 'generated'); + var original = util.getArg(aArgs, 'original', null); + var source = util.getArg(aArgs, 'source', null); + var name = util.getArg(aArgs, 'name', null); + + if (!this._skipValidation) { + this._validateMapping(generated, original, source, name); + } + + if (source != null) { + source = String(source); + + if (!this._sources.has(source)) { + this._sources.add(source); + } + } + + if (name != null) { + name = String(name); + + if (!this._names.has(name)) { + this._names.add(name); + } + } + + this._mappings.add({ + generatedLine: generated.line, + generatedColumn: generated.column, + originalLine: original != null && original.line, + originalColumn: original != null && original.column, + source: source, + name: name + }); +}; +/** + * Set the source content for a source file. + */ + + +SourceMapGenerator.prototype.setSourceContent = function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) { + var source = aSourceFile; + + if (this._sourceRoot != null) { + source = util.relative(this._sourceRoot, source); + } + + if (aSourceContent != null) { + // Add the source content to the _sourcesContents map. + // Create a new _sourcesContents map if the property is null. + if (!this._sourcesContents) { + this._sourcesContents = Object.create(null); + } + + this._sourcesContents[util.toSetString(source)] = aSourceContent; + } else if (this._sourcesContents) { + // Remove the source file from the _sourcesContents map. + // If the _sourcesContents map is empty, set the property to null. + delete this._sourcesContents[util.toSetString(source)]; + + if (Object.keys(this._sourcesContents).length === 0) { + this._sourcesContents = null; + } + } +}; +/** + * Applies the mappings of a sub-source-map for a specific source file to the + * source map being generated. Each mapping to the supplied source file is + * rewritten using the supplied source map. Note: The resolution for the + * resulting mappings is the minimium of this map and the supplied map. + * + * @param aSourceMapConsumer The source map to be applied. + * @param aSourceFile Optional. The filename of the source file. + * If omitted, SourceMapConsumer's file property will be used. + * @param aSourceMapPath Optional. The dirname of the path to the source map + * to be applied. If relative, it is relative to the SourceMapConsumer. + * This parameter is needed when the two source maps aren't in the same + * directory, and the source map to be applied contains relative source + * paths. If so, those relative source paths need to be rewritten + * relative to the SourceMapGenerator. + */ + + +SourceMapGenerator.prototype.applySourceMap = function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) { + var sourceFile = aSourceFile; // If aSourceFile is omitted, we will use the file property of the SourceMap + + if (aSourceFile == null) { + if (aSourceMapConsumer.file == null) { + throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' + 'or the source map\'s "file" property. Both were omitted.'); + } + + sourceFile = aSourceMapConsumer.file; + } + + var sourceRoot = this._sourceRoot; // Make "sourceFile" relative if an absolute Url is passed. + + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } // Applying the SourceMap can add and remove items from the sources and + // the names array. + + + var newSources = new ArraySet(); + var newNames = new ArraySet(); // Find mappings for the "sourceFile" + + this._mappings.unsortedForEach(function (mapping) { + if (mapping.source === sourceFile && mapping.originalLine != null) { + // Check if it can be mapped by the source map, then update the mapping. + var original = aSourceMapConsumer.originalPositionFor({ + line: mapping.originalLine, + column: mapping.originalColumn + }); + + if (original.source != null) { + // Copy mapping + mapping.source = original.source; + + if (aSourceMapPath != null) { + mapping.source = util.join(aSourceMapPath, mapping.source); + } + + if (sourceRoot != null) { + mapping.source = util.relative(sourceRoot, mapping.source); + } + + mapping.originalLine = original.line; + mapping.originalColumn = original.column; + + if (original.name != null) { + mapping.name = original.name; + } + } + } + + var source = mapping.source; + + if (source != null && !newSources.has(source)) { + newSources.add(source); + } + + var name = mapping.name; + + if (name != null && !newNames.has(name)) { + newNames.add(name); + } + }, this); + + this._sources = newSources; + this._names = newNames; // Copy sourcesContents of applied map. + + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + + if (content != null) { + if (aSourceMapPath != null) { + sourceFile = util.join(aSourceMapPath, sourceFile); + } + + if (sourceRoot != null) { + sourceFile = util.relative(sourceRoot, sourceFile); + } + + this.setSourceContent(sourceFile, content); + } + }, this); +}; +/** + * A mapping can have one of the three levels of data: + * + * 1. Just the generated position. + * 2. The Generated position, original position, and original source. + * 3. Generated and original position, original source, as well as a name + * token. + * + * To maintain consistency, we validate that any new mapping being added falls + * in to one of these categories. + */ + + +SourceMapGenerator.prototype._validateMapping = function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource, aName) { + // When aOriginal is truthy but has empty values for .line and .column, + // it is most likely a programmer error. In this case we throw a very + // specific error message to try to guide them the right way. + // For example: https://github.com/Polymer/polymer-bundler/pull/519 + if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') { + throw new Error('original.line and original.column are not numbers -- you probably meant to omit ' + 'the original mapping entirely and only map the generated position. If so, pass ' + 'null for the original mapping instead of an object with empty or null values.'); + } + + if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aGenerated.line > 0 && aGenerated.column >= 0 && !aOriginal && !aSource && !aName) { + // Case 1. + return; + } else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated && aOriginal && 'line' in aOriginal && 'column' in aOriginal && aGenerated.line > 0 && aGenerated.column >= 0 && aOriginal.line > 0 && aOriginal.column >= 0 && aSource) { + // Cases 2 and 3. + return; + } else { + throw new Error('Invalid mapping: ' + JSON.stringify({ + generated: aGenerated, + source: aSource, + original: aOriginal, + name: aName + })); + } +}; +/** + * Serialize the accumulated mappings in to the stream of base 64 VLQs + * specified by the source map format. + */ + + +SourceMapGenerator.prototype._serializeMappings = function SourceMapGenerator_serializeMappings() { + var previousGeneratedColumn = 0; + var previousGeneratedLine = 1; + var previousOriginalColumn = 0; + var previousOriginalLine = 0; + var previousName = 0; + var previousSource = 0; + var result = ''; + var next; + var mapping; + var nameIdx; + var sourceIdx; + + var mappings = this._mappings.toArray(); + + for (var i = 0, len = mappings.length; i < len; i++) { + mapping = mappings[i]; + next = ''; + + if (mapping.generatedLine !== previousGeneratedLine) { + previousGeneratedColumn = 0; + + while (mapping.generatedLine !== previousGeneratedLine) { + next += ';'; + previousGeneratedLine++; + } + } else { + if (i > 0) { + if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) { + continue; + } + + next += ','; + } + } + + next += base64VLQ.encode(mapping.generatedColumn - previousGeneratedColumn); + previousGeneratedColumn = mapping.generatedColumn; + + if (mapping.source != null) { + sourceIdx = this._sources.indexOf(mapping.source); + next += base64VLQ.encode(sourceIdx - previousSource); + previousSource = sourceIdx; // lines are stored 0-based in SourceMap spec version 3 + + next += base64VLQ.encode(mapping.originalLine - 1 - previousOriginalLine); + previousOriginalLine = mapping.originalLine - 1; + next += base64VLQ.encode(mapping.originalColumn - previousOriginalColumn); + previousOriginalColumn = mapping.originalColumn; + + if (mapping.name != null) { + nameIdx = this._names.indexOf(mapping.name); + next += base64VLQ.encode(nameIdx - previousName); + previousName = nameIdx; + } + } + + result += next; + } + + return result; +}; + +SourceMapGenerator.prototype._generateSourcesContent = function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) { + return aSources.map(function (source) { + if (!this._sourcesContents) { + return null; + } + + if (aSourceRoot != null) { + source = util.relative(aSourceRoot, source); + } + + var key = util.toSetString(source); + return Object.prototype.hasOwnProperty.call(this._sourcesContents, key) ? this._sourcesContents[key] : null; + }, this); +}; +/** + * Externalize the source map. + */ + + +SourceMapGenerator.prototype.toJSON = function SourceMapGenerator_toJSON() { + var map = { + version: this._version, + sources: this._sources.toArray(), + names: this._names.toArray(), + mappings: this._serializeMappings() + }; + + if (this._file != null) { + map.file = this._file; + } + + if (this._sourceRoot != null) { + map.sourceRoot = this._sourceRoot; + } + + if (this._sourcesContents) { + map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot); + } + + return map; +}; +/** + * Render the source map being generated to a string. + */ + + +SourceMapGenerator.prototype.toString = function SourceMapGenerator_toString() { + return JSON.stringify(this.toJSON()); +}; + +exports.SourceMapGenerator = SourceMapGenerator; + +},{"./array-set":1071,"./base64-vlq":1072,"./mapping-list":1075,"./util":1080}],1079:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ +var SourceMapGenerator = require('./source-map-generator').SourceMapGenerator; + +var util = require('./util'); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other +// operating systems these days (capturing the result). + + +var REGEX_NEWLINE = /(\r?\n)/; // Newline character code for charCodeAt() comparisons + +var NEWLINE_CODE = 10; // Private symbol for identifying `SourceNode`s when multiple versions of +// the source-map library are loaded. This MUST NOT CHANGE across +// versions! + +var isSourceNode = "$$$isSourceNode$$$"; +/** + * SourceNodes provide a way to abstract over interpolating/concatenating + * snippets of generated JavaScript source code while maintaining the line and + * column information associated with the original source code. + * + * @param aLine The original line number. + * @param aColumn The original column number. + * @param aSource The original source's filename. + * @param aChunks Optional. An array of strings which are snippets of + * generated JS, or other SourceNodes. + * @param aName The original identifier. + */ + +function SourceNode(aLine, aColumn, aSource, aChunks, aName) { + this.children = []; + this.sourceContents = {}; + this.line = aLine == null ? null : aLine; + this.column = aColumn == null ? null : aColumn; + this.source = aSource == null ? null : aSource; + this.name = aName == null ? null : aName; + this[isSourceNode] = true; + if (aChunks != null) this.add(aChunks); +} +/** + * Creates a SourceNode from generated code and a SourceMapConsumer. + * + * @param aGeneratedCode The generated code + * @param aSourceMapConsumer The SourceMap for the generated code + * @param aRelativePath Optional. The path that relative sources in the + * SourceMapConsumer should be relative to. + */ + + +SourceNode.fromStringWithSourceMap = function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) { + // The SourceNode we want to fill with the generated code + // and the SourceMap + var node = new SourceNode(); // All even indices of this array are one line of the generated code, + // while all odd indices are the newlines between two adjacent lines + // (since `REGEX_NEWLINE` captures its match). + // Processed fragments are accessed by calling `shiftNextLine`. + + var remainingLines = aGeneratedCode.split(REGEX_NEWLINE); + var remainingLinesIndex = 0; + + var shiftNextLine = function shiftNextLine() { + var lineContents = getNextLine(); // The last line of a file might not have a newline. + + var newLine = getNextLine() || ""; + return lineContents + newLine; + + function getNextLine() { + return remainingLinesIndex < remainingLines.length ? remainingLines[remainingLinesIndex++] : undefined; + } + }; // We need to remember the position of "remainingLines" + + + var lastGeneratedLine = 1, + lastGeneratedColumn = 0; // The generate SourceNodes we need a code range. + // To extract it current and last mapping is used. + // Here we store the last mapping. + + var lastMapping = null; + aSourceMapConsumer.eachMapping(function (mapping) { + if (lastMapping !== null) { + // We add the code from "lastMapping" to "mapping": + // First check if there is a new line in between. + if (lastGeneratedLine < mapping.generatedLine) { + // Associate first line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + lastGeneratedLine++; + lastGeneratedColumn = 0; // The remaining code is added without mapping + } else { + // There is no new line in between. + // Associate the code between "lastGeneratedColumn" and + // "mapping.generatedColumn" with "lastMapping" + var nextLine = remainingLines[remainingLinesIndex]; + var code = nextLine.substr(0, mapping.generatedColumn - lastGeneratedColumn); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn - lastGeneratedColumn); + lastGeneratedColumn = mapping.generatedColumn; + addMappingWithCode(lastMapping, code); // No more remaining code, continue + + lastMapping = mapping; + return; + } + } // We add the generated code until the first mapping + // to the SourceNode without any mapping. + // Each line is added as separate string. + + + while (lastGeneratedLine < mapping.generatedLine) { + node.add(shiftNextLine()); + lastGeneratedLine++; + } + + if (lastGeneratedColumn < mapping.generatedColumn) { + var nextLine = remainingLines[remainingLinesIndex]; + node.add(nextLine.substr(0, mapping.generatedColumn)); + remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn); + lastGeneratedColumn = mapping.generatedColumn; + } + + lastMapping = mapping; + }, this); // We have processed all mappings. + + if (remainingLinesIndex < remainingLines.length) { + if (lastMapping) { + // Associate the remaining code in the current line with "lastMapping" + addMappingWithCode(lastMapping, shiftNextLine()); + } // and add the remaining lines without any mapping + + + node.add(remainingLines.splice(remainingLinesIndex).join("")); + } // Copy sourcesContent into SourceNode + + + aSourceMapConsumer.sources.forEach(function (sourceFile) { + var content = aSourceMapConsumer.sourceContentFor(sourceFile); + + if (content != null) { + if (aRelativePath != null) { + sourceFile = util.join(aRelativePath, sourceFile); + } + + node.setSourceContent(sourceFile, content); + } + }); + return node; + + function addMappingWithCode(mapping, code) { + if (mapping === null || mapping.source === undefined) { + node.add(code); + } else { + var source = aRelativePath ? util.join(aRelativePath, mapping.source) : mapping.source; + node.add(new SourceNode(mapping.originalLine, mapping.originalColumn, source, code, mapping.name)); + } + } +}; +/** + * Add a chunk of generated JS to this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + + +SourceNode.prototype.add = function SourceNode_add(aChunk) { + if (Array.isArray(aChunk)) { + aChunk.forEach(function (chunk) { + this.add(chunk); + }, this); + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + if (aChunk) { + this.children.push(aChunk); + } + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } + + return this; +}; +/** + * Add a chunk of generated JS to the beginning of this source node. + * + * @param aChunk A string snippet of generated JS code, another instance of + * SourceNode, or an array where each member is one of those things. + */ + + +SourceNode.prototype.prepend = function SourceNode_prepend(aChunk) { + if (Array.isArray(aChunk)) { + for (var i = aChunk.length - 1; i >= 0; i--) { + this.prepend(aChunk[i]); + } + } else if (aChunk[isSourceNode] || typeof aChunk === "string") { + this.children.unshift(aChunk); + } else { + throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + aChunk); + } + + return this; +}; +/** + * Walk over the tree of JS snippets in this node and its children. The + * walking function is called once for each snippet of JS and is passed that + * snippet and the its original associated source's line/column location. + * + * @param aFn The traversal function. + */ + + +SourceNode.prototype.walk = function SourceNode_walk(aFn) { + var chunk; + + for (var i = 0, len = this.children.length; i < len; i++) { + chunk = this.children[i]; + + if (chunk[isSourceNode]) { + chunk.walk(aFn); + } else { + if (chunk !== '') { + aFn(chunk, { + source: this.source, + line: this.line, + column: this.column, + name: this.name + }); + } + } + } +}; +/** + * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between + * each of `this.children`. + * + * @param aSep The separator. + */ + + +SourceNode.prototype.join = function SourceNode_join(aSep) { + var newChildren; + var i; + var len = this.children.length; + + if (len > 0) { + newChildren = []; + + for (i = 0; i < len - 1; i++) { + newChildren.push(this.children[i]); + newChildren.push(aSep); + } + + newChildren.push(this.children[i]); + this.children = newChildren; + } + + return this; +}; +/** + * Call String.prototype.replace on the very right-most source snippet. Useful + * for trimming whitespace from the end of a source node, etc. + * + * @param aPattern The pattern to replace. + * @param aReplacement The thing to replace the pattern with. + */ + + +SourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) { + var lastChild = this.children[this.children.length - 1]; + + if (lastChild[isSourceNode]) { + lastChild.replaceRight(aPattern, aReplacement); + } else if (typeof lastChild === 'string') { + this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement); + } else { + this.children.push(''.replace(aPattern, aReplacement)); + } + + return this; +}; +/** + * Set the source content for a source file. This will be added to the SourceMapGenerator + * in the sourcesContent field. + * + * @param aSourceFile The filename of the source file + * @param aSourceContent The content of the source file + */ + + +SourceNode.prototype.setSourceContent = function SourceNode_setSourceContent(aSourceFile, aSourceContent) { + this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent; +}; +/** + * Walk over the tree of SourceNodes. The walking function is called for each + * source file content and is passed the filename and source content. + * + * @param aFn The traversal function. + */ + + +SourceNode.prototype.walkSourceContents = function SourceNode_walkSourceContents(aFn) { + for (var i = 0, len = this.children.length; i < len; i++) { + if (this.children[i][isSourceNode]) { + this.children[i].walkSourceContents(aFn); + } + } + + var sources = Object.keys(this.sourceContents); + + for (var i = 0, len = sources.length; i < len; i++) { + aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]); + } +}; +/** + * Return the string representation of this source node. Walks over the tree + * and concatenates all the various snippets together to one string. + */ + + +SourceNode.prototype.toString = function SourceNode_toString() { + var str = ""; + this.walk(function (chunk) { + str += chunk; + }); + return str; +}; +/** + * Returns the string representation of this source node along with a source + * map. + */ + + +SourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) { + var generated = { + code: "", + line: 1, + column: 0 + }; + var map = new SourceMapGenerator(aArgs); + var sourceMappingActive = false; + var lastOriginalSource = null; + var lastOriginalLine = null; + var lastOriginalColumn = null; + var lastOriginalName = null; + this.walk(function (chunk, original) { + generated.code += chunk; + + if (original.source !== null && original.line !== null && original.column !== null) { + if (lastOriginalSource !== original.source || lastOriginalLine !== original.line || lastOriginalColumn !== original.column || lastOriginalName !== original.name) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + + lastOriginalSource = original.source; + lastOriginalLine = original.line; + lastOriginalColumn = original.column; + lastOriginalName = original.name; + sourceMappingActive = true; + } else if (sourceMappingActive) { + map.addMapping({ + generated: { + line: generated.line, + column: generated.column + } + }); + lastOriginalSource = null; + sourceMappingActive = false; + } + + for (var idx = 0, length = chunk.length; idx < length; idx++) { + if (chunk.charCodeAt(idx) === NEWLINE_CODE) { + generated.line++; + generated.column = 0; // Mappings end at eol + + if (idx + 1 === length) { + lastOriginalSource = null; + sourceMappingActive = false; + } else if (sourceMappingActive) { + map.addMapping({ + source: original.source, + original: { + line: original.line, + column: original.column + }, + generated: { + line: generated.line, + column: generated.column + }, + name: original.name + }); + } + } else { + generated.column++; + } + } + }); + this.walkSourceContents(function (sourceFile, sourceContent) { + map.setSourceContent(sourceFile, sourceContent); + }); + return { + code: generated.code, + map: map + }; +}; + +exports.SourceNode = SourceNode; + +},{"./source-map-generator":1078,"./util":1080}],1080:[function(require,module,exports){ +"use strict"; + +/* -*- Mode: js; js-indent-level: 2; -*- */ + +/* + * Copyright 2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE or: + * http://opensource.org/licenses/BSD-3-Clause + */ + +/** + * This is a helper function for getting values from parameter/options + * objects. + * + * @param args The object we are extracting values from + * @param name The name of the property we are getting. + * @param defaultValue An optional value to return if the property is missing + * from the object. If this is not specified and the property is missing, an + * error will be thrown. + */ +function getArg(aArgs, aName, aDefaultValue) { + if (aName in aArgs) { + return aArgs[aName]; + } else if (arguments.length === 3) { + return aDefaultValue; + } else { + throw new Error('"' + aName + '" is a required argument.'); + } +} + +exports.getArg = getArg; +var urlRegexp = /^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.]*)(?::(\d+))?(\S*)$/; +var dataUrlRegexp = /^data:.+\,.+$/; + +function urlParse(aUrl) { + var match = aUrl.match(urlRegexp); + + if (!match) { + return null; + } + + return { + scheme: match[1], + auth: match[2], + host: match[3], + port: match[4], + path: match[5] + }; +} + +exports.urlParse = urlParse; + +function urlGenerate(aParsedUrl) { + var url = ''; + + if (aParsedUrl.scheme) { + url += aParsedUrl.scheme + ':'; + } + + url += '//'; + + if (aParsedUrl.auth) { + url += aParsedUrl.auth + '@'; + } + + if (aParsedUrl.host) { + url += aParsedUrl.host; + } + + if (aParsedUrl.port) { + url += ":" + aParsedUrl.port; + } + + if (aParsedUrl.path) { + url += aParsedUrl.path; + } + + return url; +} + +exports.urlGenerate = urlGenerate; +/** + * Normalizes a path, or the path portion of a URL: + * + * - Replaces consecutive slashes with one slash. + * - Removes unnecessary '.' parts. + * - Removes unnecessary '/..' parts. + * + * Based on code in the Node.js 'path' core module. + * + * @param aPath The path or url to normalize. + */ + +function normalize(aPath) { + var path = aPath; + var url = urlParse(aPath); + + if (url) { + if (!url.path) { + return aPath; + } + + path = url.path; + } + + var isAbsolute = exports.isAbsolute(path); + var parts = path.split(/\/+/); + + for (var part, up = 0, i = parts.length - 1; i >= 0; i--) { + part = parts[i]; + + if (part === '.') { + parts.splice(i, 1); + } else if (part === '..') { + up++; + } else if (up > 0) { + if (part === '') { + // The first part is blank if the path is absolute. Trying to go + // above the root is a no-op. Therefore we can remove all '..' parts + // directly after the root. + parts.splice(i + 1, up); + up = 0; + } else { + parts.splice(i, 2); + up--; + } + } + } + + path = parts.join('/'); + + if (path === '') { + path = isAbsolute ? '/' : '.'; + } + + if (url) { + url.path = path; + return urlGenerate(url); + } + + return path; +} + +exports.normalize = normalize; +/** + * Joins two paths/URLs. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be joined with the root. + * + * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a + * scheme-relative URL: Then the scheme of aRoot, if any, is prepended + * first. + * - Otherwise aPath is a path. If aRoot is a URL, then its path portion + * is updated with the result and aRoot is returned. Otherwise the result + * is returned. + * - If aPath is absolute, the result is aPath. + * - Otherwise the two paths are joined with a slash. + * - Joining for example 'http://' and 'www.example.com' is also supported. + */ + +function join(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + if (aPath === "") { + aPath = "."; + } + + var aPathUrl = urlParse(aPath); + var aRootUrl = urlParse(aRoot); + + if (aRootUrl) { + aRoot = aRootUrl.path || '/'; + } // `join(foo, '//www.example.org')` + + + if (aPathUrl && !aPathUrl.scheme) { + if (aRootUrl) { + aPathUrl.scheme = aRootUrl.scheme; + } + + return urlGenerate(aPathUrl); + } + + if (aPathUrl || aPath.match(dataUrlRegexp)) { + return aPath; + } // `join('http://', 'www.example.com')` + + + if (aRootUrl && !aRootUrl.host && !aRootUrl.path) { + aRootUrl.host = aPath; + return urlGenerate(aRootUrl); + } + + var joined = aPath.charAt(0) === '/' ? aPath : normalize(aRoot.replace(/\/+$/, '') + '/' + aPath); + + if (aRootUrl) { + aRootUrl.path = joined; + return urlGenerate(aRootUrl); + } + + return joined; +} + +exports.join = join; + +exports.isAbsolute = function (aPath) { + return aPath.charAt(0) === '/' || !!aPath.match(urlRegexp); +}; +/** + * Make a path relative to a URL or another path. + * + * @param aRoot The root path or URL. + * @param aPath The path or URL to be made relative to aRoot. + */ + + +function relative(aRoot, aPath) { + if (aRoot === "") { + aRoot = "."; + } + + aRoot = aRoot.replace(/\/$/, ''); // It is possible for the path to be above the root. In this case, simply + // checking whether the root is a prefix of the path won't work. Instead, we + // need to remove components from the root one by one, until either we find + // a prefix that fits, or we run out of components to remove. + + var level = 0; + + while (aPath.indexOf(aRoot + '/') !== 0) { + var index = aRoot.lastIndexOf("/"); + + if (index < 0) { + return aPath; + } // If the only part of the root that is left is the scheme (i.e. http://, + // file:///, etc.), one or more slashes (/), or simply nothing at all, we + // have exhausted all components, so the path is not relative to the root. + + + aRoot = aRoot.slice(0, index); + + if (aRoot.match(/^([^\/]+:\/)?\/*$/)) { + return aPath; + } + + ++level; + } // Make sure we add a "../" for each component we removed from the root. + + + return Array(level + 1).join("../") + aPath.substr(aRoot.length + 1); +} + +exports.relative = relative; + +var supportsNullProto = function () { + var obj = Object.create(null); + return !('__proto__' in obj); +}(); + +function identity(s) { + return s; +} +/** + * Because behavior goes wacky when you set `__proto__` on objects, we + * have to prefix all the strings in our set with an arbitrary character. + * + * See https://github.com/mozilla/source-map/pull/31 and + * https://github.com/mozilla/source-map/issues/30 + * + * @param String aStr + */ + + +function toSetString(aStr) { + if (isProtoString(aStr)) { + return '$' + aStr; + } + + return aStr; +} + +exports.toSetString = supportsNullProto ? identity : toSetString; + +function fromSetString(aStr) { + if (isProtoString(aStr)) { + return aStr.slice(1); + } + + return aStr; +} + +exports.fromSetString = supportsNullProto ? identity : fromSetString; + +function isProtoString(s) { + if (!s) { + return false; + } + + var length = s.length; + + if (length < 9 + /* "__proto__".length */ + ) { + return false; + } + + if (s.charCodeAt(length - 1) !== 95 + /* '_' */ + || s.charCodeAt(length - 2) !== 95 + /* '_' */ + || s.charCodeAt(length - 3) !== 111 + /* 'o' */ + || s.charCodeAt(length - 4) !== 116 + /* 't' */ + || s.charCodeAt(length - 5) !== 111 + /* 'o' */ + || s.charCodeAt(length - 6) !== 114 + /* 'r' */ + || s.charCodeAt(length - 7) !== 112 + /* 'p' */ + || s.charCodeAt(length - 8) !== 95 + /* '_' */ + || s.charCodeAt(length - 9) !== 95 + /* '_' */ + ) { + return false; + } + + for (var i = length - 10; i >= 0; i--) { + if (s.charCodeAt(i) !== 36 + /* '$' */ + ) { + return false; + } + } + + return true; +} +/** + * Comparator between two mappings where the original positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same original source/line/column, but different generated + * line and column the same. Useful when searching for a mapping with a + * stubbed out mapping. + */ + + +function compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) { + var cmp = mappingA.source - mappingB.source; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + + if (cmp !== 0 || onlyCompareOriginal) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedLine - mappingB.generatedLine; + + if (cmp !== 0) { + return cmp; + } + + return mappingA.name - mappingB.name; +} + +exports.compareByOriginalPositions = compareByOriginalPositions; +/** + * Comparator between two mappings with deflated source and name indices where + * the generated positions are compared. + * + * Optionally pass in `true` as `onlyCompareGenerated` to consider two + * mappings with the same generated line and column, but different + * source/name/original line and column the same. Useful when searching for a + * mapping with a stubbed out mapping. + */ + +function compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + + if (cmp !== 0 || onlyCompareGenerated) { + return cmp; + } + + cmp = mappingA.source - mappingB.source; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + + if (cmp !== 0) { + return cmp; + } + + return mappingA.name - mappingB.name; +} + +exports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated; + +function strcmp(aStr1, aStr2) { + if (aStr1 === aStr2) { + return 0; + } + + if (aStr1 > aStr2) { + return 1; + } + + return -1; +} +/** + * Comparator between two mappings with inflated source and name strings where + * the generated positions are compared. + */ + + +function compareByGeneratedPositionsInflated(mappingA, mappingB) { + var cmp = mappingA.generatedLine - mappingB.generatedLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.generatedColumn - mappingB.generatedColumn; + + if (cmp !== 0) { + return cmp; + } + + cmp = strcmp(mappingA.source, mappingB.source); + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalLine - mappingB.originalLine; + + if (cmp !== 0) { + return cmp; + } + + cmp = mappingA.originalColumn - mappingB.originalColumn; + + if (cmp !== 0) { + return cmp; + } + + return strcmp(mappingA.name, mappingB.name); +} + +exports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated; + +},{}],1081:[function(require,module,exports){ +"use strict"; + +/* + * Copyright 2009-2011 Mozilla Foundation and contributors + * Licensed under the New BSD license. See LICENSE.txt or: + * http://opensource.org/licenses/BSD-3-Clause + */ +exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; +exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; +exports.SourceNode = require('./lib/source-node').SourceNode; + +},{"./lib/source-map-consumer":1077,"./lib/source-map-generator":1078,"./lib/source-node":1079}],1082:[function(require,module,exports){ +'use strict'; + +module.exports = { + stdout: false, + stderr: false +}; + +},{}],1083:[function(require,module,exports){ +'use strict'; + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var fastProto = null; // Creates an object with permanently fast properties in V8. See Toon Verwaest's +// post https://medium.com/@tverwaes/setting-up-prototypes-in-v8-ec9c9491dfe2#5f62 +// for more details. Use %HasFastProperties(object) and the Node.js flag +// --allow-natives-syntax to check whether an object has fast properties. + +function FastObject(o) { + // A prototype object will have "fast properties" enabled once it is checked + // against the inline property cache of a function, e.g. fastProto.property: + // https://github.com/v8/v8/blob/6.0.122/test/mjsunit/fast-prototype.js#L48-L63 + if (fastProto !== null && _typeof(fastProto.property)) { + var result = fastProto; + fastProto = FastObject.prototype = null; + return result; + } + + fastProto = FastObject.prototype = o == null ? Object.create(null) : o; + return new FastObject(); +} // Initialize the inline property cache of FastObject + + +FastObject(); + +module.exports = function toFastproperties(o) { + return FastObject(o); +}; + +},{}],1084:[function(require,module,exports){ +"use strict"; + +module.exports = new Set([// Non-binary properties: +'General_Category', 'Script', 'Script_Extensions', // Binary properties: +'Alphabetic', 'Any', 'ASCII', 'ASCII_Hex_Digit', 'Assigned', 'Bidi_Control', 'Bidi_Mirrored', 'Case_Ignorable', 'Cased', 'Changes_When_Casefolded', 'Changes_When_Casemapped', 'Changes_When_Lowercased', 'Changes_When_NFKC_Casefolded', 'Changes_When_Titlecased', 'Changes_When_Uppercased', 'Dash', 'Default_Ignorable_Code_Point', 'Deprecated', 'Diacritic', 'Emoji', 'Emoji_Component', 'Emoji_Modifier', 'Emoji_Modifier_Base', 'Emoji_Presentation', 'Extended_Pictographic', 'Extender', 'Grapheme_Base', 'Grapheme_Extend', 'Hex_Digit', 'ID_Continue', 'ID_Start', 'Ideographic', 'IDS_Binary_Operator', 'IDS_Trinary_Operator', 'Join_Control', 'Logical_Order_Exception', 'Lowercase', 'Math', 'Noncharacter_Code_Point', 'Pattern_Syntax', 'Pattern_White_Space', 'Quotation_Mark', 'Radical', 'Regional_Indicator', 'Sentence_Terminal', 'Soft_Dotted', 'Terminal_Punctuation', 'Unified_Ideograph', 'Uppercase', 'Variation_Selector', 'White_Space', 'XID_Continue', 'XID_Start']); + +},{}],1085:[function(require,module,exports){ +'use strict'; + +var canonicalProperties = require('unicode-canonical-property-names-ecmascript'); + +var propertyAliases = require('unicode-property-aliases-ecmascript'); + +var matchProperty = function matchProperty(property) { + if (canonicalProperties.has(property)) { + return property; + } + + if (propertyAliases.has(property)) { + return propertyAliases.get(property); + } + + throw new Error("Unknown property: ".concat(property)); +}; + +module.exports = matchProperty; + +},{"unicode-canonical-property-names-ecmascript":1084,"unicode-property-aliases-ecmascript":1088}],1086:[function(require,module,exports){ +"use strict"; + +module.exports = new Map([['General_Category', new Map([['C', 'Other'], ['Cc', 'Control'], ['cntrl', 'Control'], ['Cf', 'Format'], ['Cn', 'Unassigned'], ['Co', 'Private_Use'], ['Cs', 'Surrogate'], ['L', 'Letter'], ['LC', 'Cased_Letter'], ['Ll', 'Lowercase_Letter'], ['Lm', 'Modifier_Letter'], ['Lo', 'Other_Letter'], ['Lt', 'Titlecase_Letter'], ['Lu', 'Uppercase_Letter'], ['M', 'Mark'], ['Combining_Mark', 'Mark'], ['Mc', 'Spacing_Mark'], ['Me', 'Enclosing_Mark'], ['Mn', 'Nonspacing_Mark'], ['N', 'Number'], ['Nd', 'Decimal_Number'], ['digit', 'Decimal_Number'], ['Nl', 'Letter_Number'], ['No', 'Other_Number'], ['P', 'Punctuation'], ['punct', 'Punctuation'], ['Pc', 'Connector_Punctuation'], ['Pd', 'Dash_Punctuation'], ['Pe', 'Close_Punctuation'], ['Pf', 'Final_Punctuation'], ['Pi', 'Initial_Punctuation'], ['Po', 'Other_Punctuation'], ['Ps', 'Open_Punctuation'], ['S', 'Symbol'], ['Sc', 'Currency_Symbol'], ['Sk', 'Modifier_Symbol'], ['Sm', 'Math_Symbol'], ['So', 'Other_Symbol'], ['Z', 'Separator'], ['Zl', 'Line_Separator'], ['Zp', 'Paragraph_Separator'], ['Zs', 'Space_Separator'], ['Other', 'Other'], ['Control', 'Control'], ['Format', 'Format'], ['Unassigned', 'Unassigned'], ['Private_Use', 'Private_Use'], ['Surrogate', 'Surrogate'], ['Letter', 'Letter'], ['Cased_Letter', 'Cased_Letter'], ['Lowercase_Letter', 'Lowercase_Letter'], ['Modifier_Letter', 'Modifier_Letter'], ['Other_Letter', 'Other_Letter'], ['Titlecase_Letter', 'Titlecase_Letter'], ['Uppercase_Letter', 'Uppercase_Letter'], ['Mark', 'Mark'], ['Spacing_Mark', 'Spacing_Mark'], ['Enclosing_Mark', 'Enclosing_Mark'], ['Nonspacing_Mark', 'Nonspacing_Mark'], ['Number', 'Number'], ['Decimal_Number', 'Decimal_Number'], ['Letter_Number', 'Letter_Number'], ['Other_Number', 'Other_Number'], ['Punctuation', 'Punctuation'], ['Connector_Punctuation', 'Connector_Punctuation'], ['Dash_Punctuation', 'Dash_Punctuation'], ['Close_Punctuation', 'Close_Punctuation'], ['Final_Punctuation', 'Final_Punctuation'], ['Initial_Punctuation', 'Initial_Punctuation'], ['Other_Punctuation', 'Other_Punctuation'], ['Open_Punctuation', 'Open_Punctuation'], ['Symbol', 'Symbol'], ['Currency_Symbol', 'Currency_Symbol'], ['Modifier_Symbol', 'Modifier_Symbol'], ['Math_Symbol', 'Math_Symbol'], ['Other_Symbol', 'Other_Symbol'], ['Separator', 'Separator'], ['Line_Separator', 'Line_Separator'], ['Paragraph_Separator', 'Paragraph_Separator'], ['Space_Separator', 'Space_Separator']])], ['Script', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])], ['Script_Extensions', new Map([['Adlm', 'Adlam'], ['Aghb', 'Caucasian_Albanian'], ['Ahom', 'Ahom'], ['Arab', 'Arabic'], ['Armi', 'Imperial_Aramaic'], ['Armn', 'Armenian'], ['Avst', 'Avestan'], ['Bali', 'Balinese'], ['Bamu', 'Bamum'], ['Bass', 'Bassa_Vah'], ['Batk', 'Batak'], ['Beng', 'Bengali'], ['Bhks', 'Bhaiksuki'], ['Bopo', 'Bopomofo'], ['Brah', 'Brahmi'], ['Brai', 'Braille'], ['Bugi', 'Buginese'], ['Buhd', 'Buhid'], ['Cakm', 'Chakma'], ['Cans', 'Canadian_Aboriginal'], ['Cari', 'Carian'], ['Cham', 'Cham'], ['Cher', 'Cherokee'], ['Copt', 'Coptic'], ['Qaac', 'Coptic'], ['Cprt', 'Cypriot'], ['Cyrl', 'Cyrillic'], ['Deva', 'Devanagari'], ['Dogr', 'Dogra'], ['Dsrt', 'Deseret'], ['Dupl', 'Duployan'], ['Egyp', 'Egyptian_Hieroglyphs'], ['Elba', 'Elbasan'], ['Elym', 'Elymaic'], ['Ethi', 'Ethiopic'], ['Geor', 'Georgian'], ['Glag', 'Glagolitic'], ['Gong', 'Gunjala_Gondi'], ['Gonm', 'Masaram_Gondi'], ['Goth', 'Gothic'], ['Gran', 'Grantha'], ['Grek', 'Greek'], ['Gujr', 'Gujarati'], ['Guru', 'Gurmukhi'], ['Hang', 'Hangul'], ['Hani', 'Han'], ['Hano', 'Hanunoo'], ['Hatr', 'Hatran'], ['Hebr', 'Hebrew'], ['Hira', 'Hiragana'], ['Hluw', 'Anatolian_Hieroglyphs'], ['Hmng', 'Pahawh_Hmong'], ['Hmnp', 'Nyiakeng_Puachue_Hmong'], ['Hrkt', 'Katakana_Or_Hiragana'], ['Hung', 'Old_Hungarian'], ['Ital', 'Old_Italic'], ['Java', 'Javanese'], ['Kali', 'Kayah_Li'], ['Kana', 'Katakana'], ['Khar', 'Kharoshthi'], ['Khmr', 'Khmer'], ['Khoj', 'Khojki'], ['Knda', 'Kannada'], ['Kthi', 'Kaithi'], ['Lana', 'Tai_Tham'], ['Laoo', 'Lao'], ['Latn', 'Latin'], ['Lepc', 'Lepcha'], ['Limb', 'Limbu'], ['Lina', 'Linear_A'], ['Linb', 'Linear_B'], ['Lisu', 'Lisu'], ['Lyci', 'Lycian'], ['Lydi', 'Lydian'], ['Mahj', 'Mahajani'], ['Maka', 'Makasar'], ['Mand', 'Mandaic'], ['Mani', 'Manichaean'], ['Marc', 'Marchen'], ['Medf', 'Medefaidrin'], ['Mend', 'Mende_Kikakui'], ['Merc', 'Meroitic_Cursive'], ['Mero', 'Meroitic_Hieroglyphs'], ['Mlym', 'Malayalam'], ['Modi', 'Modi'], ['Mong', 'Mongolian'], ['Mroo', 'Mro'], ['Mtei', 'Meetei_Mayek'], ['Mult', 'Multani'], ['Mymr', 'Myanmar'], ['Nand', 'Nandinagari'], ['Narb', 'Old_North_Arabian'], ['Nbat', 'Nabataean'], ['Newa', 'Newa'], ['Nkoo', 'Nko'], ['Nshu', 'Nushu'], ['Ogam', 'Ogham'], ['Olck', 'Ol_Chiki'], ['Orkh', 'Old_Turkic'], ['Orya', 'Oriya'], ['Osge', 'Osage'], ['Osma', 'Osmanya'], ['Palm', 'Palmyrene'], ['Pauc', 'Pau_Cin_Hau'], ['Perm', 'Old_Permic'], ['Phag', 'Phags_Pa'], ['Phli', 'Inscriptional_Pahlavi'], ['Phlp', 'Psalter_Pahlavi'], ['Phnx', 'Phoenician'], ['Plrd', 'Miao'], ['Prti', 'Inscriptional_Parthian'], ['Rjng', 'Rejang'], ['Rohg', 'Hanifi_Rohingya'], ['Runr', 'Runic'], ['Samr', 'Samaritan'], ['Sarb', 'Old_South_Arabian'], ['Saur', 'Saurashtra'], ['Sgnw', 'SignWriting'], ['Shaw', 'Shavian'], ['Shrd', 'Sharada'], ['Sidd', 'Siddham'], ['Sind', 'Khudawadi'], ['Sinh', 'Sinhala'], ['Sogd', 'Sogdian'], ['Sogo', 'Old_Sogdian'], ['Sora', 'Sora_Sompeng'], ['Soyo', 'Soyombo'], ['Sund', 'Sundanese'], ['Sylo', 'Syloti_Nagri'], ['Syrc', 'Syriac'], ['Tagb', 'Tagbanwa'], ['Takr', 'Takri'], ['Tale', 'Tai_Le'], ['Talu', 'New_Tai_Lue'], ['Taml', 'Tamil'], ['Tang', 'Tangut'], ['Tavt', 'Tai_Viet'], ['Telu', 'Telugu'], ['Tfng', 'Tifinagh'], ['Tglg', 'Tagalog'], ['Thaa', 'Thaana'], ['Thai', 'Thai'], ['Tibt', 'Tibetan'], ['Tirh', 'Tirhuta'], ['Ugar', 'Ugaritic'], ['Vaii', 'Vai'], ['Wara', 'Warang_Citi'], ['Wcho', 'Wancho'], ['Xpeo', 'Old_Persian'], ['Xsux', 'Cuneiform'], ['Yiii', 'Yi'], ['Zanb', 'Zanabazar_Square'], ['Zinh', 'Inherited'], ['Qaai', 'Inherited'], ['Zyyy', 'Common'], ['Zzzz', 'Unknown'], ['Adlam', 'Adlam'], ['Caucasian_Albanian', 'Caucasian_Albanian'], ['Arabic', 'Arabic'], ['Imperial_Aramaic', 'Imperial_Aramaic'], ['Armenian', 'Armenian'], ['Avestan', 'Avestan'], ['Balinese', 'Balinese'], ['Bamum', 'Bamum'], ['Bassa_Vah', 'Bassa_Vah'], ['Batak', 'Batak'], ['Bengali', 'Bengali'], ['Bhaiksuki', 'Bhaiksuki'], ['Bopomofo', 'Bopomofo'], ['Brahmi', 'Brahmi'], ['Braille', 'Braille'], ['Buginese', 'Buginese'], ['Buhid', 'Buhid'], ['Chakma', 'Chakma'], ['Canadian_Aboriginal', 'Canadian_Aboriginal'], ['Carian', 'Carian'], ['Cherokee', 'Cherokee'], ['Coptic', 'Coptic'], ['Cypriot', 'Cypriot'], ['Cyrillic', 'Cyrillic'], ['Devanagari', 'Devanagari'], ['Dogra', 'Dogra'], ['Deseret', 'Deseret'], ['Duployan', 'Duployan'], ['Egyptian_Hieroglyphs', 'Egyptian_Hieroglyphs'], ['Elbasan', 'Elbasan'], ['Elymaic', 'Elymaic'], ['Ethiopic', 'Ethiopic'], ['Georgian', 'Georgian'], ['Glagolitic', 'Glagolitic'], ['Gunjala_Gondi', 'Gunjala_Gondi'], ['Masaram_Gondi', 'Masaram_Gondi'], ['Gothic', 'Gothic'], ['Grantha', 'Grantha'], ['Greek', 'Greek'], ['Gujarati', 'Gujarati'], ['Gurmukhi', 'Gurmukhi'], ['Hangul', 'Hangul'], ['Han', 'Han'], ['Hanunoo', 'Hanunoo'], ['Hatran', 'Hatran'], ['Hebrew', 'Hebrew'], ['Hiragana', 'Hiragana'], ['Anatolian_Hieroglyphs', 'Anatolian_Hieroglyphs'], ['Pahawh_Hmong', 'Pahawh_Hmong'], ['Nyiakeng_Puachue_Hmong', 'Nyiakeng_Puachue_Hmong'], ['Katakana_Or_Hiragana', 'Katakana_Or_Hiragana'], ['Old_Hungarian', 'Old_Hungarian'], ['Old_Italic', 'Old_Italic'], ['Javanese', 'Javanese'], ['Kayah_Li', 'Kayah_Li'], ['Katakana', 'Katakana'], ['Kharoshthi', 'Kharoshthi'], ['Khmer', 'Khmer'], ['Khojki', 'Khojki'], ['Kannada', 'Kannada'], ['Kaithi', 'Kaithi'], ['Tai_Tham', 'Tai_Tham'], ['Lao', 'Lao'], ['Latin', 'Latin'], ['Lepcha', 'Lepcha'], ['Limbu', 'Limbu'], ['Linear_A', 'Linear_A'], ['Linear_B', 'Linear_B'], ['Lycian', 'Lycian'], ['Lydian', 'Lydian'], ['Mahajani', 'Mahajani'], ['Makasar', 'Makasar'], ['Mandaic', 'Mandaic'], ['Manichaean', 'Manichaean'], ['Marchen', 'Marchen'], ['Medefaidrin', 'Medefaidrin'], ['Mende_Kikakui', 'Mende_Kikakui'], ['Meroitic_Cursive', 'Meroitic_Cursive'], ['Meroitic_Hieroglyphs', 'Meroitic_Hieroglyphs'], ['Malayalam', 'Malayalam'], ['Mongolian', 'Mongolian'], ['Mro', 'Mro'], ['Meetei_Mayek', 'Meetei_Mayek'], ['Multani', 'Multani'], ['Myanmar', 'Myanmar'], ['Nandinagari', 'Nandinagari'], ['Old_North_Arabian', 'Old_North_Arabian'], ['Nabataean', 'Nabataean'], ['Nko', 'Nko'], ['Nushu', 'Nushu'], ['Ogham', 'Ogham'], ['Ol_Chiki', 'Ol_Chiki'], ['Old_Turkic', 'Old_Turkic'], ['Oriya', 'Oriya'], ['Osage', 'Osage'], ['Osmanya', 'Osmanya'], ['Palmyrene', 'Palmyrene'], ['Pau_Cin_Hau', 'Pau_Cin_Hau'], ['Old_Permic', 'Old_Permic'], ['Phags_Pa', 'Phags_Pa'], ['Inscriptional_Pahlavi', 'Inscriptional_Pahlavi'], ['Psalter_Pahlavi', 'Psalter_Pahlavi'], ['Phoenician', 'Phoenician'], ['Miao', 'Miao'], ['Inscriptional_Parthian', 'Inscriptional_Parthian'], ['Rejang', 'Rejang'], ['Hanifi_Rohingya', 'Hanifi_Rohingya'], ['Runic', 'Runic'], ['Samaritan', 'Samaritan'], ['Old_South_Arabian', 'Old_South_Arabian'], ['Saurashtra', 'Saurashtra'], ['SignWriting', 'SignWriting'], ['Shavian', 'Shavian'], ['Sharada', 'Sharada'], ['Siddham', 'Siddham'], ['Khudawadi', 'Khudawadi'], ['Sinhala', 'Sinhala'], ['Sogdian', 'Sogdian'], ['Old_Sogdian', 'Old_Sogdian'], ['Sora_Sompeng', 'Sora_Sompeng'], ['Soyombo', 'Soyombo'], ['Sundanese', 'Sundanese'], ['Syloti_Nagri', 'Syloti_Nagri'], ['Syriac', 'Syriac'], ['Tagbanwa', 'Tagbanwa'], ['Takri', 'Takri'], ['Tai_Le', 'Tai_Le'], ['New_Tai_Lue', 'New_Tai_Lue'], ['Tamil', 'Tamil'], ['Tangut', 'Tangut'], ['Tai_Viet', 'Tai_Viet'], ['Telugu', 'Telugu'], ['Tifinagh', 'Tifinagh'], ['Tagalog', 'Tagalog'], ['Thaana', 'Thaana'], ['Tibetan', 'Tibetan'], ['Tirhuta', 'Tirhuta'], ['Ugaritic', 'Ugaritic'], ['Vai', 'Vai'], ['Warang_Citi', 'Warang_Citi'], ['Wancho', 'Wancho'], ['Old_Persian', 'Old_Persian'], ['Cuneiform', 'Cuneiform'], ['Yi', 'Yi'], ['Zanabazar_Square', 'Zanabazar_Square'], ['Inherited', 'Inherited'], ['Common', 'Common'], ['Unknown', 'Unknown']])]]); + +},{}],1087:[function(require,module,exports){ +'use strict'; + +var propertyToValueAliases = require('./data/mappings.js'); + +var matchPropertyValue = function matchPropertyValue(property, value) { + var aliasToValue = propertyToValueAliases.get(property); + + if (!aliasToValue) { + throw new Error("Unknown property `".concat(property, "`.")); + } + + var canonicalValue = aliasToValue.get(value); + + if (canonicalValue) { + return canonicalValue; + } + + throw new Error("Unknown value `".concat(value, "` for property `").concat(property, "`.")); +}; + +module.exports = matchPropertyValue; + +},{"./data/mappings.js":1086}],1088:[function(require,module,exports){ +"use strict"; + +// Generated using `npm run build`. Do not edit! +module.exports = new Map([['scx', 'Script_Extensions'], ['sc', 'Script'], ['gc', 'General_Category'], ['AHex', 'ASCII_Hex_Digit'], ['Alpha', 'Alphabetic'], ['Bidi_C', 'Bidi_Control'], ['Bidi_M', 'Bidi_Mirrored'], ['Cased', 'Cased'], ['CI', 'Case_Ignorable'], ['CWCF', 'Changes_When_Casefolded'], ['CWCM', 'Changes_When_Casemapped'], ['CWKCF', 'Changes_When_NFKC_Casefolded'], ['CWL', 'Changes_When_Lowercased'], ['CWT', 'Changes_When_Titlecased'], ['CWU', 'Changes_When_Uppercased'], ['Dash', 'Dash'], ['Dep', 'Deprecated'], ['DI', 'Default_Ignorable_Code_Point'], ['Dia', 'Diacritic'], ['Ext', 'Extender'], ['Gr_Base', 'Grapheme_Base'], ['Gr_Ext', 'Grapheme_Extend'], ['Hex', 'Hex_Digit'], ['IDC', 'ID_Continue'], ['Ideo', 'Ideographic'], ['IDS', 'ID_Start'], ['IDSB', 'IDS_Binary_Operator'], ['IDST', 'IDS_Trinary_Operator'], ['Join_C', 'Join_Control'], ['LOE', 'Logical_Order_Exception'], ['Lower', 'Lowercase'], ['Math', 'Math'], ['NChar', 'Noncharacter_Code_Point'], ['Pat_Syn', 'Pattern_Syntax'], ['Pat_WS', 'Pattern_White_Space'], ['QMark', 'Quotation_Mark'], ['Radical', 'Radical'], ['RI', 'Regional_Indicator'], ['SD', 'Soft_Dotted'], ['STerm', 'Sentence_Terminal'], ['Term', 'Terminal_Punctuation'], ['UIdeo', 'Unified_Ideograph'], ['Upper', 'Uppercase'], ['VS', 'Variation_Selector'], ['WSpace', 'White_Space'], ['space', 'White_Space'], ['XIDC', 'XID_Continue'], ['XIDS', 'XID_Start']]); + +},{}],1089:[function(require,module,exports){ +arguments[4][279][0].apply(exports,arguments) +},{"dup":279}],1090:[function(require,module,exports){ +arguments[4][280][0].apply(exports,arguments) +},{"dup":280}],1091:[function(require,module,exports){ +arguments[4][281][0].apply(exports,arguments) +},{"./support/isBuffer":1090,"_process":1054,"dup":281,"inherits":1089}],1092:[function(require,module,exports){ +"use strict"; + +// Polyfills needed for Babel to function +require("core-js"); + +var babelTransform = require('@babel/core').transform; + +var babelTransformDynamicImport = require('@babel/plugin-syntax-dynamic-import'); + +var babelTransformModulesSystemJS = require('@babel/plugin-transform-modules-systemjs'); + +var babelPresetEnv = require('@babel/preset-env'); + +self.onmessage = function (evt) { + // transform source with Babel + var output = babelTransform(evt.data.source, { + compact: false, + filename: evt.data.key + '!transpiled', + sourceFileName: evt.data.key, + moduleIds: false, + sourceMaps: 'inline', + babelrc: false, + plugins: [babelTransformDynamicImport, babelTransformModulesSystemJS], + presets: [[babelPresetEnv, { + targets: 'ie >= 11' + }]] + }); + self.postMessage({ + key: evt.data.key, + code: output.code, + source: evt.data.source + }); +}; + +},{"@babel/core":19,"@babel/plugin-syntax-dynamic-import":99,"@babel/plugin-transform-modules-systemjs":122,"@babel/preset-env":149,"core-js":309}]},{},[1092]); diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/browser-es-module-loader.js b/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/browser-es-module-loader.js index 868a4ed..2341b9b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/browser-es-module-loader.js +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/vendor/browser-es-module-loader/dist/browser-es-module-loader.js @@ -1,1481 +1,1481 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : - typeof define === 'function' && define.amd ? define(factory) : - (global = global || self, global.BrowserESModuleLoader = factory()); -}(this, (function () { 'use strict'; - - /* - * Environment - */ - var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; - var isNode = typeof process !== 'undefined' && process.versions && process.versions.node; - var isWindows = typeof process !== 'undefined' && typeof process.platform === 'string' && process.platform.match(/^win/); - - var envGlobal = typeof self !== 'undefined' ? self : global; - - /* - * Simple Symbol() shim - */ - var hasSymbol = typeof Symbol !== 'undefined'; - function createSymbol (name) { - return hasSymbol ? Symbol() : '@@' + name; - } - - var toStringTag = hasSymbol && Symbol.toStringTag; - - /* - * Environment baseURI - */ - var baseURI; - - // environent baseURI detection - if (typeof document != 'undefined' && document.getElementsByTagName) { - baseURI = document.baseURI; - - if (!baseURI) { - var bases = document.getElementsByTagName('base'); - baseURI = bases[0] && bases[0].href || window.location.href; - } - } - else if (typeof location != 'undefined') { - baseURI = location.href; - } - - // sanitize out the hash and querystring - if (baseURI) { - baseURI = baseURI.split('#')[0].split('?')[0]; - var slashIndex = baseURI.lastIndexOf('/'); - if (slashIndex !== -1) - baseURI = baseURI.substr(0, slashIndex + 1); - } - else if (typeof process !== 'undefined' && process.cwd) { - baseURI = 'file://' + (isWindows ? '/' : '') + process.cwd(); - if (isWindows) - baseURI = baseURI.replace(/\\/g, '/'); - } - else { - throw new TypeError('No environment baseURI'); - } - - // ensure baseURI has trailing "/" - if (baseURI[baseURI.length - 1] !== '/') - baseURI += '/'; - - /* - * LoaderError with chaining for loader stacks - */ - var errArgs = new Error(0, '_').fileName == '_'; - function LoaderError__Check_error_message_for_loader_stack (childErr, newMessage) { - // Convert file:/// URLs to paths in Node - if (!isBrowser) - newMessage = newMessage.replace(isWindows ? /file:\/\/\//g : /file:\/\//g, ''); - - var message = (childErr.message || childErr) + '\n ' + newMessage; - - var err; - if (errArgs && childErr.fileName) - err = new Error(message, childErr.fileName, childErr.lineNumber); - else - err = new Error(message); - - - var stack = childErr.originalErr ? childErr.originalErr.stack : childErr.stack; - - if (isNode) - // node doesn't show the message otherwise - err.stack = message + '\n ' + stack; - else - err.stack = stack; - - err.originalErr = childErr.originalErr || childErr; - - return err; - } - - var resolvedPromise = Promise.resolve(); - - /* - * Simple Array values shim - */ - function arrayValues (arr) { - if (arr.values) - return arr.values(); - - if (typeof Symbol === 'undefined' || !Symbol.iterator) - throw new Error('Symbol.iterator not supported in this browser'); - - var iterable = {}; - iterable[Symbol.iterator] = function () { - var keys = Object.keys(arr); - var keyIndex = 0; - return { - next: function () { - if (keyIndex < keys.length) - return { - value: arr[keys[keyIndex++]], - done: false - }; - else - return { - value: undefined, - done: true - }; - } - }; - }; - return iterable; - } - - /* - * 3. Reflect.Loader - * - * We skip the entire native internal pipeline, just providing the bare API - */ - // 3.1.1 - function Loader () { - this.registry = new Registry(); - } - // 3.3.1 - Loader.prototype.constructor = Loader; - - function ensureInstantiated (module) { - if (module === undefined) - return; - if (module instanceof ModuleNamespace === false && module[toStringTag] !== 'module') - throw new TypeError('Module instantiation did not return a valid namespace object.'); - return module; - } - - // 3.3.2 - Loader.prototype.import = function (key, parent) { - if (typeof key !== 'string') - throw new TypeError('Loader import method must be passed a module key string'); - // custom resolveInstantiate combined hook for better perf - var loader = this; - return resolvedPromise - .then(function () { - return loader[RESOLVE_INSTANTIATE](key, parent); - }) - .then(ensureInstantiated) - //.then(Module.evaluate) - .catch(function (err) { - throw LoaderError__Check_error_message_for_loader_stack(err, 'Loading ' + key + (parent ? ' from ' + parent : '')); - }); - }; - // 3.3.3 - var RESOLVE = Loader.resolve = createSymbol('resolve'); - - /* - * Combined resolve / instantiate hook - * - * Not in current reduced spec, but necessary to separate RESOLVE from RESOLVE + INSTANTIATE as described - * in the spec notes of this repo to ensure that loader.resolve doesn't instantiate when not wanted. - * - * We implement RESOLVE_INSTANTIATE as a single hook instead of a separate INSTANTIATE in order to avoid - * the need for double registry lookups as a performance optimization. - */ - var RESOLVE_INSTANTIATE = Loader.resolveInstantiate = createSymbol('resolveInstantiate'); - - // default resolveInstantiate is just to call resolve and then get from the registry - // this provides compatibility for the resolveInstantiate optimization - Loader.prototype[RESOLVE_INSTANTIATE] = function (key, parent) { - var loader = this; - return loader.resolve(key, parent) - .then(function (resolved) { - return loader.registry.get(resolved); - }); - }; - - function ensureResolution (resolvedKey) { - if (resolvedKey === undefined) - throw new RangeError('No resolution found.'); - return resolvedKey; - } - - Loader.prototype.resolve = function (key, parent) { - var loader = this; - return resolvedPromise - .then(function() { - return loader[RESOLVE](key, parent); - }) - .then(ensureResolution) - .catch(function (err) { - throw LoaderError__Check_error_message_for_loader_stack(err, 'Resolving ' + key + (parent ? ' to ' + parent : '')); - }); - }; - - // 3.3.4 (import without evaluate) - // this is not documented because the use of deferred evaluation as in Module.evaluate is not - // documented, as it is not considered a stable feature to be encouraged - // Loader.prototype.load may well be deprecated if this stays disabled - /* Loader.prototype.load = function (key, parent) { - return Promise.resolve(this[RESOLVE_INSTANTIATE](key, parent || this.key)) - .catch(function (err) { - throw addToError(err, 'Loading ' + key + (parent ? ' from ' + parent : '')); - }); - }; */ - - /* - * 4. Registry - * - * Instead of structuring through a Map, just use a dictionary object - * We throw for construction attempts so this doesn't affect the public API - * - * Registry has been adjusted to use Namespace objects over ModuleStatus objects - * as part of simplifying loader API implementation - */ - var iteratorSupport = typeof Symbol !== 'undefined' && Symbol.iterator; - var REGISTRY = createSymbol('registry'); - function Registry() { - this[REGISTRY] = {}; - } - // 4.4.1 - if (iteratorSupport) { - // 4.4.2 - Registry.prototype[Symbol.iterator] = function () { - return this.entries()[Symbol.iterator](); - }; - - // 4.4.3 - Registry.prototype.entries = function () { - var registry = this[REGISTRY]; - return arrayValues(Object.keys(registry).map(function (key) { - return [key, registry[key]]; - })); - }; - } - - // 4.4.4 - Registry.prototype.keys = function () { - return arrayValues(Object.keys(this[REGISTRY])); - }; - // 4.4.5 - Registry.prototype.values = function () { - var registry = this[REGISTRY]; - return arrayValues(Object.keys(registry).map(function (key) { - return registry[key]; - })); - }; - // 4.4.6 - Registry.prototype.get = function (key) { - return this[REGISTRY][key]; - }; - // 4.4.7 - Registry.prototype.set = function (key, namespace) { - if (!(namespace instanceof ModuleNamespace || namespace[toStringTag] === 'module')) - throw new Error('Registry must be set with an instance of Module Namespace'); - this[REGISTRY][key] = namespace; - return this; - }; - // 4.4.8 - Registry.prototype.has = function (key) { - return Object.hasOwnProperty.call(this[REGISTRY], key); - }; - // 4.4.9 - Registry.prototype.delete = function (key) { - if (Object.hasOwnProperty.call(this[REGISTRY], key)) { - delete this[REGISTRY][key]; - return true; - } - return false; - }; - - /* - * Simple ModuleNamespace Exotic object based on a baseObject - * We export this for allowing a fast-path for module namespace creation over Module descriptors - */ - // var EVALUATE = createSymbol('evaluate'); - var BASE_OBJECT = createSymbol('baseObject'); - - // 8.3.1 Reflect.Module - /* - * Best-effort simplified non-spec implementation based on - * a baseObject referenced via getters. - * - * Allows: - * - * loader.registry.set('x', new Module({ default: 'x' })); - * - * Optional evaluation function provides experimental Module.evaluate - * support for non-executed modules in registry. - */ - function ModuleNamespace (baseObject/*, evaluate*/) { - Object.defineProperty(this, BASE_OBJECT, { - value: baseObject - }); - - // evaluate defers namespace population - /* if (evaluate) { - Object.defineProperty(this, EVALUATE, { - value: evaluate, - configurable: true, - writable: true - }); - } - else { */ - Object.keys(baseObject).forEach(extendNamespace, this); - //} - }// 8.4.2 - ModuleNamespace.prototype = Object.create(null); - - if (toStringTag) - Object.defineProperty(ModuleNamespace.prototype, toStringTag, { - value: 'Module' - }); - - function extendNamespace (key) { - Object.defineProperty(this, key, { - enumerable: true, - get: function () { - return this[BASE_OBJECT][key]; - } - }); - } - - /* function doEvaluate (evaluate, context) { - try { - evaluate.call(context); - } - catch (e) { - return e; - } - } - - // 8.4.1 Module.evaluate... not documented or used because this is potentially unstable - Module.evaluate = function (ns) { - var evaluate = ns[EVALUATE]; - if (evaluate) { - ns[EVALUATE] = undefined; - var err = doEvaluate(evaluate); - if (err) { - // cache the error - ns[EVALUATE] = function () { - throw err; - }; - throw err; - } - Object.keys(ns[BASE_OBJECT]).forEach(extendNamespace, ns); - } - // make chainable - return ns; - }; */ - - /* - * Optimized URL normalization assuming a syntax-valid URL parent - */ - function throwResolveError (relUrl, parentUrl) { - throw new RangeError('Unable to resolve "' + relUrl + '" to ' + parentUrl); - } - var backslashRegEx = /\\/g; - function resolveIfNotPlain (relUrl, parentUrl) { - if (relUrl[0] === ' ' || relUrl[relUrl.length - 1] === ' ') - relUrl = relUrl.trim(); - var parentProtocol = parentUrl && parentUrl.substr(0, parentUrl.indexOf(':') + 1); - - var firstChar = relUrl[0]; - var secondChar = relUrl[1]; - - // protocol-relative - if (firstChar === '/' && secondChar === '/') { - if (!parentProtocol) - throwResolveError(relUrl, parentUrl); - if (relUrl.indexOf('\\') !== -1) - relUrl = relUrl.replace(backslashRegEx, '/'); - return parentProtocol + relUrl; - } - // relative-url - else if (firstChar === '.' && (secondChar === '/' || secondChar === '.' && (relUrl[2] === '/' || relUrl.length === 2 && (relUrl += '/')) || - relUrl.length === 1 && (relUrl += '/')) || - firstChar === '/') { - if (relUrl.indexOf('\\') !== -1) - relUrl = relUrl.replace(backslashRegEx, '/'); - var parentIsPlain = !parentProtocol || parentUrl[parentProtocol.length] !== '/'; - - // read pathname from parent if a URL - // pathname taken to be part after leading "/" - var pathname; - if (parentIsPlain) { - // resolving to a plain parent -> skip standard URL prefix, and treat entire parent as pathname - if (parentUrl === undefined) - throwResolveError(relUrl, parentUrl); - pathname = parentUrl; - } - else if (parentUrl[parentProtocol.length + 1] === '/') { - // resolving to a :// so we need to read out the auth and host - if (parentProtocol !== 'file:') { - pathname = parentUrl.substr(parentProtocol.length + 2); - pathname = pathname.substr(pathname.indexOf('/') + 1); - } - else { - pathname = parentUrl.substr(8); - } - } - else { - // resolving to :/ so pathname is the /... part - pathname = parentUrl.substr(parentProtocol.length + 1); - } - - if (firstChar === '/') { - if (parentIsPlain) - throwResolveError(relUrl, parentUrl); - else - return parentUrl.substr(0, parentUrl.length - pathname.length - 1) + relUrl; - } - - // join together and split for removal of .. and . segments - // looping the string instead of anything fancy for perf reasons - // '../../../../../z' resolved to 'x/y' is just 'z' regardless of parentIsPlain - var segmented = pathname.substr(0, pathname.lastIndexOf('/') + 1) + relUrl; - - var output = []; - var segmentIndex = -1; - - for (var i = 0; i < segmented.length; i++) { - // busy reading a segment - only terminate on '/' - if (segmentIndex !== -1) { - if (segmented[i] === '/') { - output.push(segmented.substring(segmentIndex, i + 1)); - segmentIndex = -1; - } - continue; - } - - // new segment - check if it is relative - if (segmented[i] === '.') { - // ../ segment - if (segmented[i + 1] === '.' && (segmented[i + 2] === '/' || i + 2 === segmented.length)) { - output.pop(); - i += 2; - } - // ./ segment - else if (segmented[i + 1] === '/' || i + 1 === segmented.length) { - i += 1; - } - else { - // the start of a new segment as below - segmentIndex = i; - continue; - } - - // this is the plain URI backtracking error (../, package:x -> error) - if (parentIsPlain && output.length === 0) - throwResolveError(relUrl, parentUrl); - - continue; - } - - // it is the start of a new segment - segmentIndex = i; - } - // finish reading out the last segment - if (segmentIndex !== -1) - output.push(segmented.substr(segmentIndex)); - - return parentUrl.substr(0, parentUrl.length - pathname.length) + output.join(''); - } - - // sanitizes and verifies (by returning undefined if not a valid URL-like form) - // Windows filepath compatibility is an added convenience here - var protocolIndex = relUrl.indexOf(':'); - if (protocolIndex !== -1) { - if (isNode) { - // C:\x becomes file:///c:/x (we don't support C|\x) - if (relUrl[1] === ':' && relUrl[2] === '\\' && relUrl[0].match(/[a-z]/i)) - return 'file:///' + relUrl.replace(backslashRegEx, '/'); - } - return relUrl; - } - } - - var resolvedPromise$1 = Promise.resolve(); - - /* - * Register Loader - * - * Builds directly on top of loader polyfill to provide: - * - loader.register support - * - hookable higher-level resolve - * - instantiate hook returning a ModuleNamespace or undefined for es module loading - * - loader error behaviour as in HTML and loader specs, caching load and eval errors separately - * - build tracing support by providing a .trace=true and .loads object format - */ - - var REGISTER_INTERNAL = createSymbol('register-internal'); - - function RegisterLoader () { - Loader.call(this); - - var registryDelete = this.registry.delete; - this.registry.delete = function (key) { - var deleted = registryDelete.call(this, key); - - // also delete from register registry if linked - if (records.hasOwnProperty(key) && !records[key].linkRecord) { - delete records[key]; - deleted = true; - } - - return deleted; - }; - - var records = {}; - - this[REGISTER_INTERNAL] = { - // last anonymous System.register call - lastRegister: undefined, - // in-flight es module load records - records: records - }; - - // tracing - this.trace = false; - } - - RegisterLoader.prototype = Object.create(Loader.prototype); - RegisterLoader.prototype.constructor = RegisterLoader; - - var INSTANTIATE = RegisterLoader.instantiate = createSymbol('instantiate'); - - // default normalize is the WhatWG style normalizer - RegisterLoader.prototype[RegisterLoader.resolve = Loader.resolve] = function (key, parentKey) { - return resolveIfNotPlain(key, parentKey || baseURI); - }; - - RegisterLoader.prototype[INSTANTIATE] = function (key, processAnonRegister) {}; - - // once evaluated, the linkRecord is set to undefined leaving just the other load record properties - // this allows tracking new binding listeners for es modules through importerSetters - // for dynamic modules, the load record is removed entirely. - function createLoadRecord (state, key, registration) { - return state.records[key] = { - key: key, - - // defined System.register cache - registration: registration, - - // module namespace object - module: undefined, - - // es-only - // this sticks around so new module loads can listen to binding changes - // for already-loaded modules by adding themselves to their importerSetters - importerSetters: undefined, - - loadError: undefined, - evalError: undefined, - - // in-flight linking record - linkRecord: { - // promise for instantiated - instantiatePromise: undefined, - dependencies: undefined, - execute: undefined, - executingRequire: false, - - // underlying module object bindings - moduleObj: undefined, - - // es only, also indicates if es or not - setters: undefined, - - // promise for instantiated dependencies (dependencyInstantiations populated) - depsInstantiatePromise: undefined, - // will be the array of dependency load record or a module namespace - dependencyInstantiations: undefined, - - // top-level await! - evaluatePromise: undefined, - - // NB optimization and way of ensuring module objects in setters - // indicates setters which should run pre-execution of that dependency - // setters is then just for completely executed module objects - // alternatively we just pass the partially filled module objects as - // arguments into the execute function - // hoisted: undefined - } - }; - } - - RegisterLoader.prototype[Loader.resolveInstantiate] = function (key, parentKey) { - var loader = this; - var state = this[REGISTER_INTERNAL]; - var registry = this.registry[REGISTRY]; - - return resolveInstantiate(loader, key, parentKey, registry, state) - .then(function (instantiated) { - if (instantiated instanceof ModuleNamespace || instantiated[toStringTag] === 'module') - return instantiated; - - // resolveInstantiate always returns a load record with a link record and no module value - var link = instantiated.linkRecord; - - // if already beaten to done, return - if (!link) { - if (instantiated.module) - return instantiated.module; - throw instantiated.evalError; - } - - return deepInstantiateDeps(loader, instantiated, link, registry, state) - .then(function () { - return ensureEvaluate(loader, instantiated, link, registry, state); - }); - }); - }; - - function resolveInstantiate (loader, key, parentKey, registry, state) { - // normalization shortpath for already-normalized key - // could add a plain name filter, but doesn't yet seem necessary for perf - var module = registry[key]; - if (module) - return Promise.resolve(module); - - var load = state.records[key]; - - // already linked but not in main registry is ignored - if (load && !load.module) { - if (load.loadError) - return Promise.reject(load.loadError); - return instantiate(loader, load, load.linkRecord, registry, state); - } - - return loader.resolve(key, parentKey) - .then(function (resolvedKey) { - // main loader registry always takes preference - module = registry[resolvedKey]; - if (module) - return module; - - load = state.records[resolvedKey]; - - // already has a module value but not already in the registry (load.module) - // means it was removed by registry.delete, so we should - // disgard the current load record creating a new one over it - // but keep any existing registration - if (!load || load.module) - load = createLoadRecord(state, resolvedKey, load && load.registration); - - if (load.loadError) - return Promise.reject(load.loadError); - - var link = load.linkRecord; - if (!link) - return load; - - return instantiate(loader, load, link, registry, state); - }); - } - - function createProcessAnonRegister (loader, load, state) { - return function () { - var lastRegister = state.lastRegister; - - if (!lastRegister) - return !!load.registration; - - state.lastRegister = undefined; - load.registration = lastRegister; - - return true; - }; - } - - function instantiate (loader, load, link, registry, state) { - return link.instantiatePromise || (link.instantiatePromise = - // if there is already an existing registration, skip running instantiate - (load.registration ? resolvedPromise$1 : resolvedPromise$1.then(function () { - state.lastRegister = undefined; - return loader[INSTANTIATE](load.key, loader[INSTANTIATE].length > 1 && createProcessAnonRegister(loader, load, state)); - })) - .then(function (instantiation) { - // direct module return from instantiate -> we're done - if (instantiation !== undefined) { - if (!(instantiation instanceof ModuleNamespace || instantiation[toStringTag] === 'module')) - throw new TypeError('Instantiate did not return a valid Module object.'); - - delete state.records[load.key]; - if (loader.trace) - traceLoad(loader, load, link); - return registry[load.key] = instantiation; - } - - // run the cached loader.register declaration if there is one - var registration = load.registration; - // clear to allow new registrations for future loads (combined with registry delete) - load.registration = undefined; - if (!registration) - throw new TypeError('Module instantiation did not call an anonymous or correctly named System.register.'); - - link.dependencies = registration[0]; - - load.importerSetters = []; - - link.moduleObj = {}; - - // process System.registerDynamic declaration - if (registration[2]) { - link.moduleObj.default = link.moduleObj.__useDefault = {}; - link.executingRequire = registration[1]; - link.execute = registration[2]; - } - - // process System.register declaration - else { - registerDeclarative(loader, load, link, registration[1]); - } - - return load; - }) - .catch(function (err) { - load.linkRecord = undefined; - throw load.loadError = load.loadError || LoaderError__Check_error_message_for_loader_stack(err, 'Instantiating ' + load.key); - })); - } - - // like resolveInstantiate, but returning load records for linking - function resolveInstantiateDep (loader, key, parentKey, registry, state, traceDepMap) { - // normalization shortpaths for already-normalized key - // DISABLED to prioritise consistent resolver calls - // could add a plain name filter, but doesn't yet seem necessary for perf - /* var load = state.records[key]; - var module = registry[key]; - - if (module) { - if (traceDepMap) - traceDepMap[key] = key; - - // registry authority check in case module was deleted or replaced in main registry - if (load && load.module && load.module === module) - return load; - else - return module; - } - - // already linked but not in main registry is ignored - if (load && !load.module) { - if (traceDepMap) - traceDepMap[key] = key; - return instantiate(loader, load, load.linkRecord, registry, state); - } */ - return loader.resolve(key, parentKey) - .then(function (resolvedKey) { - if (traceDepMap) - traceDepMap[key] = resolvedKey; - - // normalization shortpaths for already-normalized key - var load = state.records[resolvedKey]; - var module = registry[resolvedKey]; - - // main loader registry always takes preference - if (module && (!load || load.module && module !== load.module)) - return module; - - if (load && load.loadError) - throw load.loadError; - - // already has a module value but not already in the registry (load.module) - // means it was removed by registry.delete, so we should - // disgard the current load record creating a new one over it - // but keep any existing registration - if (!load || !module && load.module) - load = createLoadRecord(state, resolvedKey, load && load.registration); - - var link = load.linkRecord; - if (!link) - return load; - - return instantiate(loader, load, link, registry, state); - }); - } - - function traceLoad (loader, load, link) { - loader.loads = loader.loads || {}; - loader.loads[load.key] = { - key: load.key, - deps: link.dependencies, - dynamicDeps: [], - depMap: link.depMap || {} - }; - } - - /* - * Convert a CJS module.exports into a valid object for new Module: - * - * new Module(getEsModule(module.exports)) - * - * Sets the default value to the module, while also reading off named exports carefully. - */ - function registerDeclarative (loader, load, link, declare) { - var moduleObj = link.moduleObj; - var importerSetters = load.importerSetters; - - var definedExports = false; - - // closure especially not based on link to allow link record disposal - var declared = declare.call(envGlobal, function (name, value) { - if (typeof name === 'object') { - var changed = false; - for (var p in name) { - value = name[p]; - if (p !== '__useDefault' && (!(p in moduleObj) || moduleObj[p] !== value)) { - changed = true; - moduleObj[p] = value; - } - } - if (changed === false) - return value; - } - else { - if ((definedExports || name in moduleObj) && moduleObj[name] === value) - return value; - moduleObj[name] = value; - } - - for (var i = 0; i < importerSetters.length; i++) - importerSetters[i](moduleObj); - - return value; - }, new ContextualLoader(loader, load.key)); - - link.setters = declared.setters || []; - link.execute = declared.execute; - if (declared.exports) { - link.moduleObj = moduleObj = declared.exports; - definedExports = true; - } - } - - function instantiateDeps (loader, load, link, registry, state) { - if (link.depsInstantiatePromise) - return link.depsInstantiatePromise; - - var depsInstantiatePromises = Array(link.dependencies.length); - - for (var i = 0; i < link.dependencies.length; i++) - depsInstantiatePromises[i] = resolveInstantiateDep(loader, link.dependencies[i], load.key, registry, state, loader.trace && link.depMap || (link.depMap = {})); - - var depsInstantiatePromise = Promise.all(depsInstantiatePromises) - .then(function (dependencyInstantiations) { - link.dependencyInstantiations = dependencyInstantiations; - - // run setters to set up bindings to instantiated dependencies - if (link.setters) { - for (var i = 0; i < dependencyInstantiations.length; i++) { - var setter = link.setters[i]; - if (setter) { - var instantiation = dependencyInstantiations[i]; - - if (instantiation instanceof ModuleNamespace || instantiation[toStringTag] === 'module') { - setter(instantiation); - } - else { - if (instantiation.loadError) - throw instantiation.loadError; - setter(instantiation.module || instantiation.linkRecord.moduleObj); - // this applies to both es and dynamic registrations - if (instantiation.importerSetters) - instantiation.importerSetters.push(setter); - } - } - } - } - - return load; - }); - - if (loader.trace) - depsInstantiatePromise = depsInstantiatePromise.then(function () { - traceLoad(loader, load, link); - return load; - }); - - depsInstantiatePromise = depsInstantiatePromise.catch(function (err) { - // throw up the instantiateDeps stack - link.depsInstantiatePromise = undefined; - throw LoaderError__Check_error_message_for_loader_stack(err, 'Loading ' + load.key); - }); - - depsInstantiatePromise.catch(function () {}); - - return link.depsInstantiatePromise = depsInstantiatePromise; - } - - function deepInstantiateDeps (loader, load, link, registry, state) { - var seen = []; - function addDeps (load, link) { - if (!link) - return resolvedPromise$1; - if (seen.indexOf(load) !== -1) - return resolvedPromise$1; - seen.push(load); - - return instantiateDeps(loader, load, link, registry, state) - .then(function () { - var depPromises; - for (var i = 0; i < link.dependencies.length; i++) { - var depLoad = link.dependencyInstantiations[i]; - if (!(depLoad instanceof ModuleNamespace || depLoad[toStringTag] === 'module')) { - depPromises = depPromises || []; - depPromises.push(addDeps(depLoad, depLoad.linkRecord)); - } - } - if (depPromises) - return Promise.all(depPromises); - }); - } - return addDeps(load, link); - } - - /* - * System.register - */ - RegisterLoader.prototype.register = function (key, deps, declare) { - var state = this[REGISTER_INTERNAL]; - - // anonymous modules get stored as lastAnon - if (declare === undefined) { - state.lastRegister = [key, deps, undefined]; - } - - // everything else registers into the register cache - else { - var load = state.records[key] || createLoadRecord(state, key, undefined); - load.registration = [deps, declare, undefined]; - } - }; - - /* - * System.registerDyanmic - */ - RegisterLoader.prototype.registerDynamic = function (key, deps, executingRequire, execute) { - var state = this[REGISTER_INTERNAL]; - - // anonymous modules get stored as lastAnon - if (typeof key !== 'string') { - state.lastRegister = [key, deps, executingRequire]; - } - - // everything else registers into the register cache - else { - var load = state.records[key] || createLoadRecord(state, key, undefined); - load.registration = [deps, executingRequire, execute]; - } - }; - - // ContextualLoader class - // backwards-compatible with previous System.register context argument by exposing .id, .key - function ContextualLoader (loader, key) { - this.loader = loader; - this.key = this.id = key; - this.meta = { - url: key - // scriptElement: null - }; - } - /*ContextualLoader.prototype.constructor = function () { - throw new TypeError('Cannot subclass the contextual loader only Reflect.Loader.'); - };*/ - ContextualLoader.prototype.import = function (key) { - if (this.loader.trace) - this.loader.loads[this.key].dynamicDeps.push(key); - return this.loader.import(key, this.key); - }; - /*ContextualLoader.prototype.resolve = function (key) { - return this.loader.resolve(key, this.key); - };*/ - - function ensureEvaluate (loader, load, link, registry, state) { - if (load.module) - return load.module; - if (load.evalError) - throw load.evalError; - if (link.evaluatePromise) - return link.evaluatePromise; - - if (link.setters) { - var evaluatePromise = doEvaluateDeclarative(loader, load, link, registry, state, [load]); - if (evaluatePromise) - return evaluatePromise; - } - else { - doEvaluateDynamic(loader, load, link, registry, state, [load]); - } - return load.module; - } - - function makeDynamicRequire (loader, key, dependencies, dependencyInstantiations, registry, state, seen) { - // we can only require from already-known dependencies - return function (name) { - for (var i = 0; i < dependencies.length; i++) { - if (dependencies[i] === name) { - var depLoad = dependencyInstantiations[i]; - var module; - - if (depLoad instanceof ModuleNamespace || depLoad[toStringTag] === 'module') { - module = depLoad; - } - else { - if (depLoad.evalError) - throw depLoad.evalError; - if (depLoad.module === undefined && seen.indexOf(depLoad) === -1 && !depLoad.linkRecord.evaluatePromise) { - if (depLoad.linkRecord.setters) { - doEvaluateDeclarative(loader, depLoad, depLoad.linkRecord, registry, state, [depLoad]); - } - else { - seen.push(depLoad); - doEvaluateDynamic(loader, depLoad, depLoad.linkRecord, registry, state, seen); - } - } - module = depLoad.module || depLoad.linkRecord.moduleObj; - } - - return '__useDefault' in module ? module.__useDefault : module; - } - } - throw new Error('Module ' + name + ' not declared as a System.registerDynamic dependency of ' + key); - }; - } - - function evalError (load, err) { - load.linkRecord = undefined; - var evalError = LoaderError__Check_error_message_for_loader_stack(err, 'Evaluating ' + load.key); - if (load.evalError === undefined) - load.evalError = evalError; - throw evalError; - } - - // es modules evaluate dependencies first - // returns the error if any - function doEvaluateDeclarative (loader, load, link, registry, state, seen) { - var depLoad, depLink; - var depLoadPromises; - for (var i = 0; i < link.dependencies.length; i++) { - var depLoad = link.dependencyInstantiations[i]; - if (depLoad instanceof ModuleNamespace || depLoad[toStringTag] === 'module') - continue; - - // custom Module returned from instantiate - depLink = depLoad.linkRecord; - if (depLink) { - if (depLoad.evalError) { - evalError(load, depLoad.evalError); - } - else if (depLink.setters) { - if (seen.indexOf(depLoad) === -1) { - seen.push(depLoad); - try { - var depLoadPromise = doEvaluateDeclarative(loader, depLoad, depLink, registry, state, seen); - } - catch (e) { - evalError(load, e); - } - if (depLoadPromise) { - depLoadPromises = depLoadPromises || []; - depLoadPromises.push(depLoadPromise.catch(function (err) { - evalError(load, err); - })); - } - } - } - else { - try { - doEvaluateDynamic(loader, depLoad, depLink, registry, state, [depLoad]); - } - catch (e) { - evalError(load, e); - } - } - } - } - - if (depLoadPromises) - return link.evaluatePromise = Promise.all(depLoadPromises) - .then(function () { - if (link.execute) { - // ES System.register execute - // "this" is null in ES - try { - var execPromise = link.execute.call(nullContext); - } - catch (e) { - evalError(load, e); - } - if (execPromise) - return execPromise.catch(function (e) { - evalError(load, e); - }) - .then(function () { - load.linkRecord = undefined; - return registry[load.key] = load.module = new ModuleNamespace(link.moduleObj); - }); - } - - // dispose link record - load.linkRecord = undefined; - registry[load.key] = load.module = new ModuleNamespace(link.moduleObj); - }); - - if (link.execute) { - // ES System.register execute - // "this" is null in ES - try { - var execPromise = link.execute.call(nullContext); - } - catch (e) { - evalError(load, e); - } - if (execPromise) - return link.evaluatePromise = execPromise.catch(function (e) { - evalError(load, e); - }) - .then(function () { - load.linkRecord = undefined; - return registry[load.key] = load.module = new ModuleNamespace(link.moduleObj); - }); - } - - // dispose link record - load.linkRecord = undefined; - registry[load.key] = load.module = new ModuleNamespace(link.moduleObj); - } - - // non es modules explicitly call moduleEvaluate through require - function doEvaluateDynamic (loader, load, link, registry, state, seen) { - // System.registerDynamic execute - // "this" is "exports" in CJS - var module = { id: load.key }; - var moduleObj = link.moduleObj; - Object.defineProperty(module, 'exports', { - configurable: true, - set: function (exports) { - moduleObj.default = moduleObj.__useDefault = exports; - }, - get: function () { - return moduleObj.__useDefault; - } - }); - - var require = makeDynamicRequire(loader, load.key, link.dependencies, link.dependencyInstantiations, registry, state, seen); - - // evaluate deps first - if (!link.executingRequire) - for (var i = 0; i < link.dependencies.length; i++) - require(link.dependencies[i]); - - try { - var output = link.execute.call(envGlobal, require, moduleObj.default, module); - if (output !== undefined) - module.exports = output; - } - catch (e) { - evalError(load, e); - } - - load.linkRecord = undefined; - - // pick up defineProperty calls to module.exports when we can - if (module.exports !== moduleObj.__useDefault) - moduleObj.default = moduleObj.__useDefault = module.exports; - - var moduleDefault = moduleObj.default; - - // __esModule flag extension support via lifting - if (moduleDefault && moduleDefault.__esModule) { - for (var p in moduleDefault) { - if (Object.hasOwnProperty.call(moduleDefault, p)) - moduleObj[p] = moduleDefault[p]; - } - } - - registry[load.key] = load.module = new ModuleNamespace(link.moduleObj); - - // run importer setters and clear them - // this allows dynamic modules to update themselves into es modules - // as soon as execution has completed - if (load.importerSetters) - for (var i = 0; i < load.importerSetters.length; i++) - load.importerSetters[i](load.module); - load.importerSetters = undefined; - } - - // the closest we can get to call(undefined) - var nullContext = Object.create(null); - if (Object.freeze) - Object.freeze(nullContext); - - var loader; - - // - - - - - - - - - - - - - -
-
-
noVNC encountered an error:
-
-
-
-
- - -
- -
-
- -
- -

no
VNC

- - - - - -
- -
- - - -
-
- - - - - - -
-
- - - -
- -
- - - -
-
-
- Clipboard -
- -
- -
-
- - - - - - -
-
-
    -
  • - Settings -
  • -
  • - -
  • -
  • - -
  • -

  • -
  • - -
  • -
  • - - -
  • -

  • -
  • -
    Advanced
    -
      -
    • - - -
    • -
    • - - -
    • -

    • -
    • - - -
    • -
    • -
      WebSocket
      -
        -
      • - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      -
    • -

    • -
    • - -
    • -
    • - - -
    • -

    • -
    • - -
    • -

    • - -
    • - -
    • -
    -
  • -

  • -
  • - Version: - -
  • -
-
-
- - - - -
-
- -
- -
- - -
- - -
-
- -
- Connect -
-
-
- - -
-
-
    -
  • - - -
  • -
  • - - -
  • -
  • - -
  • -
-
-
- - -
-
-
- -
-
-
- - -
- - -
- - - - + + + + + + noVNC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
noVNC encountered an error:
+
+
+
+
+ + +
+ +
+
+ +
+ +

no
VNC

+ + + + + +
+ +
+ + + +
+
+ + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+ Clipboard +
+ +
+ +
+
+ + + + + + +
+
+
    +
  • + Settings +
  • +
  • + +
  • +
  • + +
  • +

  • +
  • + +
  • +
  • + + +
  • +

  • +
  • +
    Advanced
    +
      +
    • + + +
    • +
    • + + +
    • +

    • +
    • + + +
    • +
    • +
      WebSocket
      +
        +
      • + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      +
    • +

    • +
    • + +
    • +
    • + + +
    • +

    • +
    • + +
    • +

    • + +
    • + +
    • +
    +
  • +

  • +
  • + Version: + +
  • +
+
+
+ + + + +
+
+ +
+ +
+ + +
+ + +
+
+ +
+ Connect +
+
+
+ + +
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + +
  • +
+
+
+ + +
+
+
+ +
+
+
+ + +
+ + +
+ + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_auto_virt.html b/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_auto_virt.html index 6314716..1104e7c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_auto_virt.html +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_auto_virt.html @@ -1,361 +1,361 @@ - - - - - - noVNC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
noVNC encountered an error:
-
-
-
-
- - -
- -
-
- -
- -

no
VNC

- - - - - -
- - - - - -
- - -
- -
-
- - - - - - -
-
-
- - - -
- -
- - - - - - - - - -
-
-
    -
  • - Settings -
  • -
  • - -
  • -
  • - -
  • -

  • -
  • - -
  • -
  • - - -
  • -

  • -
  • - -
      -
    • - - -
    • -
    • -
      WebSocket
      -
        -
      • - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - - -
      • -
      • - -
      • -
      -
    • -

    • -
    • - -
    • -
    • - - -
    • -
    • - -
    • -

    • - -
    • - -
    • -
    -
  • - -
-
-
- - - - -
-
- -
- -
- - -
- - -
-
- -
- Connect -
-
-
- - -
-
-
    -
  • - - -
  • -
  • - -
  • -
-
-
- - -
-
-
- -
-
-
- - -
- - -
- - - - + + + + + + noVNC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
noVNC encountered an error:
+
+
+
+
+ + +
+ +
+
+ +
+ +

no
VNC

+ + + + + +
+ + + + + +
+ + +
+ +
+
+ + + + + + +
+
+
+ + + +
+ +
+ + + + + + + + + +
+
+
    +
  • + Settings +
  • +
  • + +
  • +
  • + +
  • +

  • +
  • + +
  • +
  • + + +
  • +

  • +
  • + +
      +
    • + + +
    • +
    • +
      WebSocket
      +
        +
      • + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + + +
      • +
      • + +
      • +
      +
    • +

    • +
    • + +
    • +
    • + + +
    • +
    • + +
    • +

    • + +
    • + +
    • +
    +
  • + +
+
+
+ + + + +
+
+ +
+ +
+ + +
+ + +
+
+ +
+ Connect +
+
+
+ + +
+
+
    +
  • + + +
  • +
  • + +
  • +
+
+
+ + +
+
+
+ +
+
+
+ + +
+ + +
+ + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_lite.html b/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_lite.html index 8d11f08..3cb4166 100644 --- a/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_lite.html +++ b/whmcs/modules/servers/virtualizor_cloud/novnc/vnc_lite.html @@ -1,219 +1,219 @@ - - - - - - noVNC - - - - - - - - - - - - - - - - - - - -
-
Loading
-
Send CtrlAltDel
-
-
- -
- - + + + + + + noVNC + + + + + + + + + + + + + + + + + + + +
+
Loading
+
Send CtrlAltDel
+
+
+ +
+ + diff --git a/whmcs/modules/servers/virtualizor_cloud/sdk/admin.php b/whmcs/modules/servers/virtualizor_cloud/sdk/admin.php index 00541cf..a32f716 100644 --- a/whmcs/modules/servers/virtualizor_cloud/sdk/admin.php +++ b/whmcs/modules/servers/virtualizor_cloud/sdk/admin.php @@ -1,1682 +1,1682 @@ -key = $key; - $this->pass = $pass; - $this->ip = $ip; - $this->port = $port; - if($port != 4085){ - $this->protocol = 'http'; - } - } - - /** - * Dumps a variable - * - * @author Pulkit Gupta - * @param array $re The Array or any other variable. - * @return NULL - */ - function r($re){ - echo '
';
-		print_r($re);
-		echo '
'; - } - - /** - * Unserializes a string - * - * @author Pulkit Gupta - * @param string $str The serialized string - * @return array The unserialized array on success OR false on failure - */ - function _unserialize($str){ - - $var = @unserialize($str); - - if(empty($var)){ - - preg_match_all('!s:(\d+):"(.*?)";!s', $str, $matches); - foreach($matches[2] as $mk => $mv){ - $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; - $str = str_replace($matches[0][$mk], $tmp_str, $str); - } - $var = @unserialize($str); - - } - - //If it is still empty false - if(empty($var)){ - - return false; - - }else{ - - return $var; - - } - - } - - /** - * Make an API Key - * - * @author Pulkit Gupta - * @param string $key An 8 bit random string - * @param string $pass The API Password of your NODE - * @return string The new APIKEY which will be used to query - */ - function make_apikey($key, $pass){ - return $key.md5($pass.$key); - } - - /** - * Generates a random string for the given length - * - * @author Pulkit Gupta - * @param int $length The length of the random string to be generated - * @return string The generated random string - */ - function generateRandStr($length){ - $randstr = ""; - for($i = 0; $i < $length; $i++){ - $randnum = mt_rand(0,61); - if($randnum < 10){ - $randstr .= chr($randnum+48); - }elseif($randnum < 36){ - $randstr .= chr($randnum+55); - }else{ - $randstr .= chr($randnum+61); - } - } - return strtolower($randstr); - } - - /** - * Makes an API request to the server to do a particular task - * - * @author Pulkit Gupta - * @param string $path The action you want to do - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function call($path, $data = array(), $post = array(), $cookies = array()){ - - $key = $this->generateRandStr(8); - $apikey = $this->make_apikey($key, $this->pass); - - $url = ($this->protocol).'://'.$this->ip.':'. $this->port .'/'. $path; - $url .= (strstr($url, '?') ? '' : '?'); - $url .= '&api=serialize&apikey='.rawurlencode($apikey); - - // Pass some data if there - if(!empty($data)){ - $url .= '&apidata='.rawurlencode(base64_encode(serialize($data))); - } - // Set the curl parameters. - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - - // Time OUT - curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); - - // Turn off the server and peer verification (TrustManager Concept). - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); - - // UserAgent - curl_setopt($ch, CURLOPT_USERAGENT, 'Softaculous'); - - // Cookies - if(!empty($cookies)){ - curl_setopt($ch, CURLOPT_COOKIESESSION, true); - curl_setopt($ch, CURLOPT_COOKIE, http_build_query($cookies, '', '; ')); - } - - if(!empty($post)){ - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); - } - - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - - // Get response from the server. - $resp = curl_exec($ch); - curl_close($ch); - - // The following line is a method to test - //if(preg_match('/sync/is', $url)) echo $resp; - - if(empty($resp)){ - return false; - } - - $r = @unserialize($resp); - - if(empty($r)){ - return false; - } - - return $r; - - } - - /** - * Create a VPS - * - * @author Pulkit Gupta - * @param string $path The action you want to do - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function addippool($post){ - $post['addippool'] = 1; - $path = 'index.php?act=addippool'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addips($post){ - $post['submitip'] = 1; - $path = 'index.php?act=addips'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addiso($post){ - $path = 'index.php?act=addiso'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function deleteiso($post){ - $path = 'index.php?act=iso'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addplan($post){ - $post['addplan'] = 1; - $path ='index.php?act=addplan'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function mediagroups($page=1, $reslen=50, $post = array()){ - if(empty($post)){ - $path = 'index.php?act=mediagroups'; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=mediagroups&mgid='.$post['mgid'].'&mg_name='.$post['mg_name'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(),$post); - } - return $ret; - } - - function addserver($post){ - $post['addserver'] = 1; - $path ='index.php?act=addserver'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function servergroups($post = 0){ - $path = 'index.php?act=servergroups'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addtemplate($post){ - $post['addtemplate'] = 1; - $path ='index.php?act=addtemplate'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function adduser($post = 0){ - $path ='index.php?act=adduser'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - /** - * Create a VPS - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function addvs($post, $cookies = ''){ - $path = 'index.php?act=addvs'; - $post = $this->clean_post($post); - $ret = $this->call($path, '', $post, $cookies); - return array( - 'title' => $ret['title'], - 'error' => @empty($ret['error']) ? array() : $ret['error'], - 'vs_info' => $ret['newvs'], - 'globals' => $ret['globals'] - ); - } - - /** - * Create a VPS (V2 Method) - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function addvs_v2($post, $cookies = ''){ - $path = 'index.php?act=addvs'; - $post['addvps'] = 1; - $post['node_select'] = 1; - $ret = $this->call($path, '', $post, $cookies); - return array( - 'title' => $ret['title'], - 'error' => @empty($ret['error']) ? array() : $ret['error'], - 'vs_info' => $ret['newvs'], - 'globals' => $ret['globals'], - 'done' => $ret['done'] - ); - } - - function addiprange($post){ - $path ='index.php?act=addiprange'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editiprange($post){ - $path = 'index.php?act=editiprange&ipid='.$post['ipid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function iprange($page=1, $reslen=50, $post){ - if(empty($post)){ - $path = 'index.php?act=ipranges&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - }elseif(isset($post['delete'])){ - $path = 'index.php?act=ipranges'; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=ipranges&ipsearch='.$post['ipsearch'].'&ippoolsearch='.$post['ippoolsearch'].'&lockedsearch='.$post['lockedsearch'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function addsg($post){ - $post['addsg'] = 1; - $path ='index.php?act=addsg'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editsg($post){ - $post['editsg'] = 1; - $path = 'index.php?act=editsg&sgid='.$post['sgid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function deletesg($post){ - $path = 'index.php?act=servergroups'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function listbackupplans($page = 1, $reslen = 50, $post= array()){ - $path = 'index.php?act=backup_plans&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addbackupplan($post = array()){ - $post['addbackup_plan'] = 1; - $path = 'index.php?act=addbackup_plan'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editbackupplan($post = array()){ - $post['editbackup_plan'] = 1; - $path = 'index.php?act=editbackup_plan'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function deletebackupplan($post){ - $path = 'index.php?act=backup_plans'; - $ret = $this->call($path, array(), $post); - unset($ret['backup_plans']); - return $ret; - } - - function backupservers($page=1, $reslen=50, $post=array()){ - $path = 'index.php?act=backupservers&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function deletebackupservers($post){ - $path = 'index.php?act=backupservers'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function testbackupservers($post){ - $path = 'index.php?act=backupservers'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function addbackupserver($post){ - $post['addbackupserver'] = 1; - $path ='index.php?act=addbackupserver'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editbackupserver($post){ - $post['editbackupserver'] = 1; - $path = 'index.php?act=editbackupserver&id='.$post['id']; - $ret = $this->call($path, array(), $post); - - return $ret; - } - - function addstorage($post){ - $post['addstorage'] = 1; - $path ='index.php?act=addstorage'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function storages($post=array(), $page=1, $reslen=50){ - $path = 'index.php?act=storage&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editstorage($post){ - $post['editstorage'] = 1; - $path = 'index.php?act=editstorage&stid='.$post['stid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function orhpaneddisks($post=array()){ - $path = 'index.php?act=orphaneddisks'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function adddnsplan($post){ - $post['adddnsplan'] = 1; - $path ='index.php?act=adddnsplan'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function listdnsplans($page=1, $reslen=50, $post=array()){ - if(!isset($post['planname'])){ - $path = 'index.php?act=dnsplans'; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=dnsplans&planname='.$post['planname'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function edit_dnsplans($post=array()){ - $post['editdnsplan'] = 1; - $path = 'index.php?act=editdnsplan&dnsplid='.$post['dnsplid']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function delete_dnsplans($post){ - $path = 'index.php?act=dnsplans'; - $ret = $this->call($path, array(), $post); - - return $ret; - } - - function add_admin_acl($post){ - $path ='index.php?act=add_admin_acl'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function admin_acl($post=array()){ - if(empty($post)){ - $path = 'index.php?act=admin_acl'; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=admin_acl'; - $ret = $this->call($path,array(),$post); - } - return $ret; - } - - function edit_admin_acl($post=array()){ - $path = 'index.php?act=edit_admin_acl&aclid='.$post['aclid']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - - function addmg($post){ - $post['addmg'] = 1; - $path ='index.php?act=addmg'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editmg($post){ - $post['editmg'] = 1 ; - $path = 'index.php?act=editmg&mgid='.$post['mgid']; - $ret = $this->call($path,array(), $post); - return $ret; - } - - function delete_mg($post){ - $path = 'index.php?act=mediagroups&delete='.$post['delete']; - $ret = $this->call($path); - return $ret; - } - - function add_distro($post){ - $post['add_distro'] = 1; - $path ='index.php?act=add_distro'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function edit_distro($post){ - $post['add_distro'] = 1; - $path = 'index.php?act=add_distro&edit='.$post['edit']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function list_distros($post=0){ - if (empty($post)){ - $path = 'index.php?act=list_distros'; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=list_distros&delete='.$post['delete']; - $ret = $this->call($path); - } - return $ret; - } - - function list_euiso($page=1, $reslen=50, $post=array()){ - $path = 'index.php?act=euiso&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function delete_euiso($post){ - $path = 'index.php?act=euiso'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function list_recipes($page=1, $reslen=50, $post=array()){ - if(!isset($post['rid'])){ - $path = 'index.php?act=recipes&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=recipes&rid='.$post['rid'].'&rname='.$post['rname'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function add_recipes($post){ - $post['addrecipe'] = 1; - $path = 'index.php?act=addrecipe'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function editrecipe($post){ - $post['editrecipe'] = 1; - $path = 'index.php?act=editrecipe&rid='.$post['rid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - // The recipe function deletes activates and deactivates a recipes - function recipes($post){ - $path = 'index.php?act=recipes'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function tasks($page=1, $reslen=50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=tasks'; - //$ret = $this->call($path); - }elseif(isset($post['showlogs'])){ - $path = 'index.php?act=tasks'; - - }else{ - $path = 'index.php?act=tasks&actid='.$post['actid'].'&vpsid='.$post['vpsid'].'&username='.$post['username'].'&action='.$post['action'].'&status='.$post['status'].'&order='.$post['order'].'&page='.$page.'&reslen='.$reslen; - } - $ret = $this->call($path,array(),$post); - return $ret; - } - - function addpdns($post){ - $post['addpdns'] = 1; - $path ='index.php?act=addpdns'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function adminindex(){ - $path = 'index.php?act=adminindex'; - $res = $this->call($path); - return $res; - } - - function apidoings(){ - - } - - function backup($post){ - $path ='index.php?act=backup'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function bandwidth($post=array()){ - if(empty($post)){ - $path ='index.php?act=bandwidth'; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=bandwidth&show='.$post['show']; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - /** - * Cleaning the POST variables - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function clean_post(&$post, $edit = 0){ - $post['serid'] = !isset($post['serid']) ? 0 : (int)$post['serid']; - $post['uid'] = !isset($post['uid']) ? 0 : (int)$post['uid']; - $post['plid'] = !isset($post['plid']) ? 0 : (int)$post['plid']; - $post['osid'] = !isset($post['osid']) ? 0 : (int)$post['osid']; - $post['iso'] = !isset($post['iso']) ? 0 : (int)$post['iso']; - $post['space'] = !isset($post['space']) ? 10 : $post['space']; - $post['ram'] = !isset($post['ram']) ? 512 : (int)$post['ram']; - $post['swapram'] = !isset($post['swapram']) ? 1024 : (int)$post['swapram']; - $post['bandwidth'] = !isset($post['bandwidth']) ? 0 : (int)$post['bandwidth']; - $post['network_speed'] = !isset($post['network_speed']) ? 0 : (int)$post['network_speed']; - $post['cpu'] = !isset($post['cpu']) ? 1000 : (int)$post['cpu']; - $post['cores'] = !isset($post['cores']) ? 4 : (int)$post['cores']; - $post['cpu_percent'] = !isset($post['cpu_percent']) ? 100 : (int)$post['cpu_percent']; - $post['vnc'] = !isset($post['vnc']) ? 1 : (int)$post['vnc']; - $post['vncpass'] = !isset($post['vncpass']) ? 'test' : $post['vncpass']; - $post['sec_iso'] = !isset($post['sec_iso']) ? 0 : $post['sec_iso']; - $post['kvm_cache'] = !isset($post['kvm_cache']) ? 0 : $post['kvm_cache']; - $post['io_mode'] = !isset($post['io_mode']) ? 0 : $post['io_mode']; - $post['vnc_keymap'] = !isset($post['vnc_keymap']) ? 'en-us' : $post['vnc_keymap']; - $post['nic_type'] = !isset($post['nic_type']) ? 'default' : $post['nic_type']; - $post['osreinstall_limit'] = !isset($post['osreinstall_limit']) ? 0 : (int)$post['osreinstall_limit']; - $post['mgs'] = !isset($post['mgs']) ? 0 : $post['mgs']; - $post['tuntap'] = !isset($post['tuntap']) ? 0 : $post['tuntap']; - $post['virtio'] = !isset($post['virtio']) ? 0 : $post['virtio']; - if(isset($post['hvm'])){ - $post['hvm'] = $post['hvm']; - } - $post['noemail'] = !isset($post['noemail']) ? 0 : $post['noemail']; - $post['boot'] = !isset($post['boot']) ? 'dca' : $post['boot']; - $post['band_suspend'] = !isset($post['band_suspend']) ? 0 : $post['band_suspend']; - $post['vif_type'] = !isset($post['vif_type']) ? 'netfront' : $post['vif_type']; - if($edit == 0){ - $post['addvps'] = !isset($post['addvps']) ? 1 : (int)$post['addvps']; - }else{ - $post['editvps'] = !isset($post['editvps']) ? 1 : $post['editvps']; - $post['acpi'] = !isset($post['acpi']) ? 1 : $post['acpi']; - $post['apic'] = !isset($post['apic']) ? 1 : $post['apic']; - $post['pae'] = !isset($post['pae']) ? 1 : $post['pae']; - $post['dns'] = !isset($post['dns']) ? array('4.2.2.1','4.2.2.2') : $post['dns']; - $post['editvps'] = !isset($post['editvps']) ? 1 : (int)$post['editvps']; - } - - return $post; - } - - function cluster(){ - - } - - function config($post=array()){ - $path ='index.php?act=config'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function config_slave($post=array()){ - $path ='index.php?act=config_slave'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - /** - * Get CPU usage details - * - * @author Pulkit Gupta - * @param - * @return array The unserialised array is returned on success or - * empty array is returned on failure - */ - function cpu($serverid = 0){ - $path = 'index.php?act=manageserver&changeserid='.$serverid; - $ret = $this->call($path); - return $ret['usage']['cpu']; - } - - function serverloads($post=array()){ - $path = 'index.php?act=serverloads'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function createssl($post){ - $path ='index.php?act=createssl'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function letsencrypt($post){ - $path ='index.php?act=letsencrypt'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function createtemplate($post){ - $path ='index.php?act=createtemplate'; - $post['createtemp'] = 1; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function server_stats($post){ - $path = 'index.php?act=server_stats'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); - $ret = $this->call($path, array(), $post); - return $ret; - } - - function vps_stats($post){ - $path = 'index.php?act=vps_stats'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); - $ret = $this->call($path, array(), $post); - return $ret; - } - - function databackup($post){ - $path = 'index.php?act=databackup'; - $ret = $this->call($path, array(),$post); - - return $ret; - } - - function listdbbackfiles(){ - $path = 'index.php?act=databackup'; - $ret = $this->call($path); - return $ret; - } - - function createvpsbackup($post){ - $path = 'index.php?act=editbackup_plan'; - $ret = $this->call($path, array(),$post); - return $ret; - } - - function vps_backup_list($post){ - $path = 'index.php?act=vpsrestore&op=get_vps&vpsid='.$post['vpsid']; - $res = $this->call($path, array(), $post); - return $res; - } - - function vpsrestore($post){ - $post['restore'] = 1 ; - $path = 'index.php?act=vpsrestore'; - $ret = $this->call($path, array(),$post); - return $ret; - } - - function deletevpsbackup($post){ - $path = 'index.php?act=vpsrestore'; - $ret = $this->call($path, array(),$post); - return $ret; - } - - function pdns($page, $reslen, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=pdns&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - }elseif(isset($post['test'])){ - $path = 'index.php?act=pdns&test='.$post['test']; - $ret = $this->call($path); - }elseif(isset($post['delete'])){ - $path = 'index.php?act=pdns'; - $ret = $this->call($path, array(), $post); - }else{ - $path = 'index.php?act=pdns&pdns_name='.$post['pdns_name'].'&pdns_ipaddress='.$post['pdns_ipaddress'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function rdns($post=array()){ - $path = 'index.php?act=rdns'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function domains($page=1, $reslen=50, $post=array()){ - if(!isset($post['del'])){ - $path = 'index.php?act=domains&pdnsid='.$post['pdnsid'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=domains&pdnsid='.$post['pdnsid'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(),$post); - } - return $ret; - } - - function delete_dnsrecords($post=array()){ - $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function dnsrecords($page=1, $reslen=50, $post=array()){ - if(!isset($post['del'])){ - $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id']; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function search_dnsrecords($page = 1, $reslen = 50, $post = array()){ - $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id'].'&dns_name='.$post['dns_name'].'&dns_domain='.$post['dns_domain'].'&record_type='.$post['record_type'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(),$post); - - return $ret; - } - - function add_dnsrecord($post =array()){ - $post['add_dnsrecord'] = 1; - $path = 'index.php?act=add_dnsrecord&pdnsid='.$post['pdnsid']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function edit_dnsrecord($post=array()){ - $post['add_dnsrecord'] = 1; - $path = 'index.php?act=add_dnsrecord&pdnsid='.$post['pdnsid'].'&edit='.$post['edit']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function editpdns($post=array()){ - $post['editpdns'] = 1; - $path = 'index.php?act=editpdns&pdnsid='.$post['pdnsid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function defaultvsconf($post){ - $path ='index.php?act=defaultvsconf'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - /** - * Delete a VPS - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @return boolean 1 on success OR 0 on failure - */ - function delete_vs($vid){ - $path = 'index.php?act=vs&delete='.(int)$vid; - $res = $this->call($path); - return $res; - } - - /** - * Get Disk usage details - * - * @author Pulkit Gupta - * @param - * @return array The unserialised array is returned on success or - * empty array is returned on failure - */ - function disk($serverid = 0){ - $path = 'index.php?act=manageserver&changeserid='.$serverid; - $ret = $this->call($path); - return $ret['usage']['disk']; - } - - function webuzo($post = array()){ - $post['webuzo'] = 1; - $path = 'index.php?act=webuzo'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function webuzo_scripts(){ - $path = 'index.php?act=webuzo'; - $ret = $this->call($path); - return $ret; - } - - function editemailtemp($post){ - $path = 'index.php?act=editemailtemp&temp='.$post['temp']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function resetemailtemp($post){ - $path = 'index.php?act=editemailtemp&temp='.$post['temp'].'&reset='.$post['reset']; - $ret = $this->call($path); - return $ret; - } - - function billingsettings($post = array()){ - $post['editsettings'] = 1 ; - $path = 'index.php?act=billing'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function resourcepricing($post = array()){ - $post['editsettings'] = 1 ; - $path = 'index.php?act=resource_pricing'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function addinvoice($post = array()){ - $post['addinvoice'] = 1 ; - $path = 'index.php?act=addinvoice'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function editinvoice($post = array()){ - $post['editinvoice'] = 1; - $path = 'index.php?act=editinvoice&invoid='.$post['invoid']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function listinvoice($page = 1, $reslen = 50, $post = array()){ - $path = 'index.php?act=invoices&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function deleteinvoice($post = array()){ - $path = 'index.php?act=invoices'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function addtransaction($post = array()){ - $post['addtransaction'] = 1; - $path = 'index.php?act=addtransaction'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function edittransaction($post = array()){ - $post['edittransaction'] = 1; - $path = 'index.php?act=edittransaction&trid='.$post['trid']; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function listtransaction($page = 1, $reslen = 50, $post = array()){ - $path = 'index.php?act=transactions&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function deletetransactions($post = array()){ - $path = 'index.php?act=transactions'; - $ret = $this->call($path,array(),$post); - return $ret; - } - - function editippool($post){ - $post['editippool'] = 1; - $path = 'index.php?act=editippool&ippid='.$post['ippid']; - $res = $this->call($path, array(), $post); - return $res; - } - - function deleteippool($ippid){ - $path = 'index.php?act=ippool'; - $ret = $this->call($path, array(), $ippid); - return $ret; - } - - function editips($post){ - $path = 'index.php?act=editips'; - $res = $this->call($path, array(), $post); - return $res; - } - - function delete_ips($post){ - $path = 'index.php?act=ips'; - $res = $this->call($path, array(), $post); - return $res; - } - - function editplan($post){ - $post['editplan'] = 1; - $path = 'index.php?act=editplan&plid='.$post['plid']; - $res = $this->call($path, array(), $post); - return $res; - } - - function editserver($post){ - $post['editserver'] = 1; - $path = 'index.php?act=editserver&serid='.$post['serid']; - $res = $this->call($path, array(), $post); - return $res; - } - - function edittemplate($post){ - $path = 'index.php?act=edittemplate'; - $res = $this->call($path, array(), $post); - return $res; - } - - function edituser($post){ - $path = 'index.php?act=edituser&uid='.$post['uid']; - $res = $this->call($path, array(), $post); - return $res; - } - - /** - * Create a VPS - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @return array The unserialized array on success OR false on failure - */ - function editvs($post, $cookies = array()){ - $path = 'index.php?act=editvs&vpsid='.$post['vpsid']; - //$post = $this->clean_post($post, 1); - $ret = $this->call($path, '', $post, $cookies); - return array( - 'title' => $ret['title'], - 'done' => $ret['done'], - 'error' => @empty($ret['error']) ? array() : $ret['error'], - 'vs_info' => $ret['vps'] - ); - } - - function managevps($post){ - $post['theme_edit'] = 1; - $post['editvps'] = 1; - $path = 'index.php?act=managevps&vpsid='.$post['vpsid']; - $ret = $this->call($path, array(), $post); - return array( - 'title' => $ret['title'], - 'done' => $ret['done'], - 'error' => @empty($ret['error']) ? array() : $ret['error'], - 'vs_info' => $ret['vps'] - ); - } - - function emailconfig($post){ - $path = 'index.php?act=emailconfig'; - $res = $this->call($path, array(), $post); - return $res; - } - - function emailtemp($post=array()){ - $path = 'index.php?act=emailtemp'; - $res = $this->call($path, array(), $post); - return $res; - } - - function filemanager($post){ - $path = 'index.php?act=filemanager'; - $res = $this->call($path,'', $post); - return $res; - } - - function firewall($post){ - $path = 'index.php?act=firewall'; - $res = $this->call($path, array(), $post); - return $res; - } - - function giveos(){ - - } - - function health(){ - - } - - function hostname($post){ - $path = 'index.php?act=hostname'; - $res = $this->call($path,'',$post); - return $res; - } - - function import($page, $reslen, $post){ - $path = 'index.php?act=import'; - $res = $this->call($path, array(), $post); - return $res; - } - - function ippool($page = 1, $reslen = 50, $post = array()){ - if(empty($post)){ - $path = 'index.php?act=ippool&page='.$page.'&reslen='.$reslen; - $res = $this->call($path); - }else{ - $path = 'index.php?act=ippool&poolname='.$post['poolname'].'&poolgateway='.$post['poolgateway'].'&netmask='.$post['netmask'].'&nameserver='.$post['nameserver'].'&page='.$page.'&reslen='.$reslen; - $res = $this->call($path); - } - return $res; - } - - /** - * Get list of IPs - * - * @author Pulkit Gupta - * @param - * @return array The unserialised array on success. - */ - function ips($page = 1, $reslen = 50, $post){ - if(empty($post)){ - $path = 'index.php?act=ips&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=ips&ipsearch='.$post['ipsearch'].'&ippoolsearch='.$post['ippoolsearch'].'&macsearch='.$post['macsearch'].'&vps_search='.$post['vps_search'].'&servers_search='.$post['servers_search'].'&lockedsearch='.$post['lockedsearch'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - } - return $ret; - } - - function iso(){ - $path = 'index.php?act=iso'; - $ret = $this->call($path); - return $ret; - } - - function kernelconf($post = 0){ - $path = 'index.php?act=kernelconf'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function license(){ - $path = 'index.php?act=license'; - $ret = $this->call($path); - return $ret; - } - - /** - * List VPS - * - * @author Pulkit Gupta - * @param int page number, if not specified then only 50 records are returned. - * @return array The unserialized array on success OR false on failure - * - */ - function listvs($page = 1, $reslen = 50, $search=array()){ - - if(empty($search)){ - $path = 'index.php?act=vs&page='.$page.'&reslen='.$reslen; - }else{ - $path = 'index.php?act=vs&vpsid='.$search['vpsid'].'&vpsname='.$search['vpsname'].'&vpsip='.$search['vpsip'].'&vpshostname='.$search['vpshostname'].'&vsstatus='.$search['vsstatus'].'&vstype='.$search['vstype'].'&user='.$search['user'].'&serid='.$search['serid'].'&search='.$search['search']; - } - - $result = $this->call($path); - $ret = $result['vs']; - return $ret; - } - - function login(){ - - } - - function loginlogs($page = 1, $reslen = 50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=loginlogs&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=loginlogs&username='.$post['username'].'&ip='.$post['ip'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path,array(), $post); - } - return $ret; - } - - function logs($page = 1, $reslen = 50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=logs&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=logs&id='.$post['id'].'&email='.$post['email'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - } - return $ret; - } - - function maintenance($post){ - $path = 'index.php?act=maintenance'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function makeslave(){ - - } - - function os($post = array()){ - if(empty($post)){ - $path = 'index.php?act=os'; - }else{ - $path = 'index.php?act=os&getos='.$post['osids'][0]; - } - $result = $this->call($path,array(),$post); - return $result; - } - - function ostemplates($page = 1, $reslen = 50){ - $path = 'index.php?act=ostemplates&page='.$page.'&reslen='.$reslen; - $result = $this->call($path); - // $ret['title'] = $result['title']; - // $ret['ostemplates'] = $result['ostemplates']; - return $result; - } - - function delostemplates($post = array()){ - $path = 'index.php?act=ostemplates&delete='.$post['delete']; - $result = $this->call($path); - $ret['title'] = $result['title']; - $ret['done'] = $result['done']; - $ret['ostemplates'] = $result['ostemplates']; - return $ret; - } - - function performance(){ - $path = 'index.php?act=performance'; - $result = $this->call($path); - return $result; - } - - function phpmyadmin(){ - - } - - function plans($page = 1, $reslen = 50, $search=array()){ - if(empty($search)){ - $path = 'index.php?act=plans&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - }else{ - $path = 'index.php?act=plans&planname='.$search['planname'].'&ptype='.$search['ptype'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - } - return $ret; - } - - function sort_plans($page = 1, $reslen = 50, $sort=array()){ - $path = 'index.php?act=plans&sortcolumn='.$sort['sortcolumn'].'&sortby='.$sort['sortby'].'&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path); - return $ret; - } - - function delete_plans($post){ - $path = 'index.php?act=plans&delete='.$post['delete']; - $ret = $this->call($path); - return $ret; - } - - function list_user_plans($post=array(), $page=1, $reslen=50){ - $path = 'index.php?act=user_plans&page='.$page.'&reslen='.$reslen; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function add_user_plans($post =array()){ - $post['adduser_plans'] = 1 ; - $path = 'index.php?act=adduser_plans'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function edit_user_plans($post){ - $post['edituser_plans'] = 1 ; - $path = 'index.php?act=edituser_plans&uplid='.$post['uplid']; - $ret = $this->call($path, array(), $post); - return $ret; - } - - function delete_user_plans($post = array()){ - $path = 'index.php?act=user_plans'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - /** - * POWER OFF a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function poweroff($vid){ - // Make the Request - $res = $this->call('index.php?act=vs&action=poweroff&serid=0&vpsid='.(int)$vid); - return $res; - } - - function processes($post = array()){ - - $path = 'index.php?act=processes'; - $ret = $this->call($path, array(), $post); - return $ret; - } - - /** - * Get RAM details - * - * @author Pulkit Gupta - * @param - * @return array The unserialised array is returned on success or - * empty array is returned on failure - */ - function ram($serverid = 0){ - $path = 'index.php?act=manageserver&changeserid='.$serverid; - $ret = $this->call($path); - return $ret['usage']['ram']; - } - - /** - * Rebuild a VPS - * - * @author Pulkit Gupta - * @param array $post An array of DATA that should be posted - * @return array The unserialized array on success OR false on failure - */ - function rebuild($post){ - $post['reos'] = 1; - $path = 'index.php?act=rebuild'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); - return $this->call($path, '', $post); - } - - /** - * RESTART a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function restart($vid){ - // Make the Request - $res = $this->call('index.php?act=vs&action=restart&serid=0&vpsid='.(int)$vid); - return $res; - } - - function restartservices($post){ - $post['do'] = 1; - $path = 'index.php?act=restartservices&service='.$post['service'].'&do='.$post['do']; - $res = $this->call($path, array(), $post); - return $res; - } - - /** - * Current server information - * - * @author Pulkit Gupta - * @param - * @return array The unserialized array on success OR false on failure - */ - function serverinfo(){ - $path = 'index.php?act=serverinfo'; - $result = $this->call($path); - - $ret = array(); - $ret['title'] = $result['title']; - $ret['info']['path'] = $result['info']['path']; - $ret['info']['key'] = $result['info']['key']; - $ret['info']['pass'] = $result['info']['pass']; - $ret['info']['kernel'] = $result['info']['kernel']; - $ret['info']['num_vs'] = $result['info']['num_vs']; - $ret['info']['version'] = $result['info']['version']; - $ret['info']['patch'] = $result['info']['patch']; - - return $ret; - } - - /** - * List Servers - * - * @author Pulkit Gupta - * @param - * @return array The unserialized array on success OR false on failure - */ - function servers($del_serid=0){ - if($del_serid == 0){ - $path = 'index.php?act=servers'; - }else{ - $path = 'index.php?act=servers&delete='.$del_serid; - } - return $this->call($path); - } - - function server_force_delete($del_serid=0){ - if($del_serid == 0){ - $path = 'index.php?act=servers'; - }else{ - $path = 'index.php?act=servers&force='.$del_serid; - } - return $this->call($path); - } - - function listservers(){ - $path = 'index.php?act=servers'; - return $this->call($path); - } - - function services($post = array()){ - $path = 'index.php?act=services'; - $res = $this->call($path, array(), $post); - return $res; - } - - function ssh(){ - /* $path = 'index.php?act=ssh'; - $res = $this->call($path); - return $res;*/ - } - - function ssl($post = 0){ - $path = 'index.php?act=ssl'; - $res = $this->call($path, array(), $post); - return $res; - } - - function sslcert(){ - /* $path = 'index.php?act=sslcert'; - $res = $this->call($path); - return $res;*/ - } - - /** - * START a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function start($vid){ - - $res = $this->call('index.php?act=vs&action=start&serid=0&vpsid='.(int)$vid); - return $res; - } - - /** - * STOP a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function stop($vid){ - // Make the Request - $res = $this->call('index.php?act=vs&action=stop&serid=0&vpsid='.(int)$vid); - return $res; - } - - /** - * Gives status of a Virtual Server - * - * @author Pulkit Gupta - * @param Array $vids array of IDs of VMs - * @return Array Contains the status info of the VMs - */ - function status($vids){ - - // Make the Request - $res = $this->call('index.php?act=vs&vs_status='.implode(',', $vids)); - return $res['status']; - - } - - /** - * Suspends a VM of a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return int 1 if the VM is ON, 0 if its OFF - */ - function suspend($vid){ - $path = 'index.php?act=vs&suspend='.(int)$vid; - $res = $this->call($path); - return $res; - } - - /** - * Unsuspends a VM of a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return int 1 if the VM is ON, 0 if its OFF - */ - function unsuspend($vid){ - $path = 'index.php?act=vs&unsuspend='.(int)$vid; - $res = $this->call($path); - return $res; - } - - function suspend_net($vid){ - $path = 'index.php?act=vs&suspend_net='.$vid; - $res = $this->call($path); - return $res; - } - - function unsuspend_net($vid){ - $path = 'index.php?act=vs&unsuspend_net='.$vid; - $res = $this->call($path); - return $res; - } - - function tools(){ - - } - - function ubc($post){ - $path = 'index.php?act=ubc'; - $res = $this->call($path, array(), $post); - return $res; - } - - function updates($post){ - $path = 'index.php?act=updates'; - $res = $this->call($path, array(), $post); - return $res; - } - - function userlogs($page = 1, $reslen = 50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=userlogs&page='.$page.'&reslen='.$reslen; - $res = $this->call($path); - }else{ - $path = 'index.php?act=userlogs&vpsid='.$post['vpsid'].'&email='.$post['email'].'&page='.$page.'&reslen='.$reslen; - $res = $this->call($path, array(), $post); - } - return $res; - } - - function iplogs($page=1, $reslen=50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=iplogs&page='.$page.'&reslen='.$reslen; - $res = $this->call($path); - }else{ - $path = 'index.php?act=iplogs&vpsid='.$post['vpsid'].'&ip='.$post['ip'].'&page='.$page.'&reslen='.$reslen; - $res = $this->call($path, array(), $post); - } - return $res; - } - - function deleteiplogs($post){ - if(!empty($post)){ - $path = 'index.php?act=iplogs'; - $res = $this->call($path,array(),$post); - } - return $res; - } - - function users($page = 1, $reslen = 50, $post=array()){ - if(empty($post)){ - $path = 'index.php?act=users&page='.$page.'&reslen='.$reslen; - $res = $this->call($path,array(),$post); - }else{ - $path = 'index.php?act=users&uid='.$post['uid'].'&email='.$post['email'].'&type='.$post['type'].'&page='.$page.'&reslen='.$reslen; - $res = $this->call($path,array(),$post); - } - return $res; - } - - function delete_users($del_userid){ - $path = 'index.php?act=users'; - $res = $this->call($path,array(),$del_userid); - return $res; - } - - function vnc($post){ - $path = 'index.php?act=vnc&novnc='.$post['novnc']; - $res = $this->call($path, array(), $post); - return $res; - } - - function vs($page = 1, $reslen = 50){ - $path = 'index.php?act=vs&page='.$page.'&reslen='.$reslen; - $res = $this->call($path); - return $res; - } - - function vsbandwidth(){ - $path = 'index.php?act=vsbandwidth'; - $res = $this->call($path); - return $res; - } - - function vscpu(){ - $path = 'index.php?act=vscpu'; - $res = $this->call($path); - return $res; - } - - function vsram(){ - $path = 'index.php?act=vsram'; - $res = $this->call($path); - return $res; - - } - - function clonevps($post){ - $path = 'index.php?act=clone'; - $post['migrate'] = 1; - $post['migrate_but'] = 1; - $res = $this->call($path, array(), $post); - return $res; - } - - function migrate($post){ - $path = 'index.php?act=migrate'; - $res = $this->call($path, array(), $post); - return $res; - } - - function haproxy($post){ - $path = 'index.php?act=haproxy'; - $res = $this->call($path, array(), $post); - return $res; - } - - function listhaproxy($search=array(), $page=1, $reslen=50){ - - if(empty($search)){ - $path = 'index.php?act=haproxy&page='.$page.'&reslen='.$reslen; - }else{ - $path = 'index.php?act=haproxy&s_id='.$search['s_id'].'&s_serid='.(empty($search['s_serid'])?'-1':$search['s_serid']).'&s_vpsid='.$search['s_vpsid'].'&s_protocol='.(empty($search['s_protocol'])?'-1':$search['s_protocol']).'&s_src_hostname='.$search['s_src_hostname'].'&s_src_port='.$search['s_src_port'].'&s_dest_ip='.$search['s_dest_ip'].'&s_dest_port='.$search['s_dest_port'].'&haproxysearch='.$search['haproxysearch']; - } - - $result = $this->call($path); - $ret = $result['haproxydata']; - return $ret; - } - -} // Class Ends - +key = $key; + $this->pass = $pass; + $this->ip = $ip; + $this->port = $port; + if($port != 4085){ + $this->protocol = 'http'; + } + } + + /** + * Dumps a variable + * + * @author Pulkit Gupta + * @param array $re The Array or any other variable. + * @return NULL + */ + function r($re){ + echo '
';

+		print_r($re);

+		echo '
'; + } + + /** + * Unserializes a string + * + * @author Pulkit Gupta + * @param string $str The serialized string + * @return array The unserialized array on success OR false on failure + */ + function _unserialize($str){ + + $var = @unserialize($str); + + if(empty($var)){ + + preg_match_all('!s:(\d+):"(.*?)";!s', $str, $matches); + foreach($matches[2] as $mk => $mv){ + $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; + $str = str_replace($matches[0][$mk], $tmp_str, $str); + } + $var = @unserialize($str); + + } + + //If it is still empty false + if(empty($var)){ + + return false; + + }else{ + + return $var; + + } + + } + + /** + * Make an API Key + * + * @author Pulkit Gupta + * @param string $key An 8 bit random string + * @param string $pass The API Password of your NODE + * @return string The new APIKEY which will be used to query + */ + function make_apikey($key, $pass){ + return $key.md5($pass.$key); + } + + /** + * Generates a random string for the given length + * + * @author Pulkit Gupta + * @param int $length The length of the random string to be generated + * @return string The generated random string + */ + function generateRandStr($length){ + $randstr = ""; + for($i = 0; $i < $length; $i++){ + $randnum = mt_rand(0,61); + if($randnum < 10){ + $randstr .= chr($randnum+48); + }elseif($randnum < 36){ + $randstr .= chr($randnum+55); + }else{ + $randstr .= chr($randnum+61); + } + } + return strtolower($randstr); + } + + /** + * Makes an API request to the server to do a particular task + * + * @author Pulkit Gupta + * @param string $path The action you want to do + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function call($path, $data = array(), $post = array(), $cookies = array()){ + + $key = $this->generateRandStr(8); + $apikey = $this->make_apikey($key, $this->pass); + + $url = ($this->protocol).'://'.$this->ip.':'. $this->port .'/'. $path; + $url .= (strstr($url, '?') ? '' : '?'); + $url .= '&api=serialize&apikey='.rawurlencode($apikey); + + // Pass some data if there + if(!empty($data)){ + $url .= '&apidata='.rawurlencode(base64_encode(serialize($data))); + } + // Set the curl parameters. + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + + // Time OUT + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); + + // Turn off the server and peer verification (TrustManager Concept). + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); + + // UserAgent + curl_setopt($ch, CURLOPT_USERAGENT, 'Softaculous'); + + // Cookies + if(!empty($cookies)){ + curl_setopt($ch, CURLOPT_COOKIESESSION, true); + curl_setopt($ch, CURLOPT_COOKIE, http_build_query($cookies, '', '; ')); + } + + if(!empty($post)){ + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); + } + + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + + // Get response from the server. + $resp = curl_exec($ch); + curl_close($ch); + + // The following line is a method to test + //if(preg_match('/sync/is', $url)) echo $resp; + + if(empty($resp)){ + return false; + } + + $r = @unserialize($resp); + + if(empty($r)){ + return false; + } + + return $r; + + } + + /** + * Create a VPS + * + * @author Pulkit Gupta + * @param string $path The action you want to do + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function addippool($post){ + $post['addippool'] = 1; + $path = 'index.php?act=addippool'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addips($post){ + $post['submitip'] = 1; + $path = 'index.php?act=addips'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addiso($post){ + $path = 'index.php?act=addiso'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function deleteiso($post){ + $path = 'index.php?act=iso'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addplan($post){ + $post['addplan'] = 1; + $path ='index.php?act=addplan'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function mediagroups($page=1, $reslen=50, $post = array()){ + if(empty($post)){ + $path = 'index.php?act=mediagroups'; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=mediagroups&mgid='.$post['mgid'].'&mg_name='.$post['mg_name'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(),$post); + } + return $ret; + } + + function addserver($post){ + $post['addserver'] = 1; + $path ='index.php?act=addserver'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function servergroups($post = 0){ + $path = 'index.php?act=servergroups'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addtemplate($post){ + $post['addtemplate'] = 1; + $path ='index.php?act=addtemplate'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function adduser($post = 0){ + $path ='index.php?act=adduser'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + /** + * Create a VPS + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function addvs($post, $cookies = ''){ + $path = 'index.php?act=addvs'; + $post = $this->clean_post($post); + $ret = $this->call($path, '', $post, $cookies); + return array( + 'title' => $ret['title'], + 'error' => @empty($ret['error']) ? array() : $ret['error'], + 'vs_info' => $ret['newvs'], + 'globals' => $ret['globals'] + ); + } + + /** + * Create a VPS (V2 Method) + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function addvs_v2($post, $cookies = ''){ + $path = 'index.php?act=addvs'; + $post['addvps'] = 1; + $post['node_select'] = 1; + $ret = $this->call($path, '', $post, $cookies); + return array( + 'title' => $ret['title'], + 'error' => @empty($ret['error']) ? array() : $ret['error'], + 'vs_info' => $ret['newvs'], + 'globals' => $ret['globals'], + 'done' => $ret['done'] + ); + } + + function addiprange($post){ + $path ='index.php?act=addiprange'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editiprange($post){ + $path = 'index.php?act=editiprange&ipid='.$post['ipid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function iprange($page=1, $reslen=50, $post){ + if(empty($post)){ + $path = 'index.php?act=ipranges&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + }elseif(isset($post['delete'])){ + $path = 'index.php?act=ipranges'; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=ipranges&ipsearch='.$post['ipsearch'].'&ippoolsearch='.$post['ippoolsearch'].'&lockedsearch='.$post['lockedsearch'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function addsg($post){ + $post['addsg'] = 1; + $path ='index.php?act=addsg'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editsg($post){ + $post['editsg'] = 1; + $path = 'index.php?act=editsg&sgid='.$post['sgid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function deletesg($post){ + $path = 'index.php?act=servergroups'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function listbackupplans($page = 1, $reslen = 50, $post= array()){ + $path = 'index.php?act=backup_plans&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addbackupplan($post = array()){ + $post['addbackup_plan'] = 1; + $path = 'index.php?act=addbackup_plan'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editbackupplan($post = array()){ + $post['editbackup_plan'] = 1; + $path = 'index.php?act=editbackup_plan'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function deletebackupplan($post){ + $path = 'index.php?act=backup_plans'; + $ret = $this->call($path, array(), $post); + unset($ret['backup_plans']); + return $ret; + } + + function backupservers($page=1, $reslen=50, $post=array()){ + $path = 'index.php?act=backupservers&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function deletebackupservers($post){ + $path = 'index.php?act=backupservers'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function testbackupservers($post){ + $path = 'index.php?act=backupservers'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function addbackupserver($post){ + $post['addbackupserver'] = 1; + $path ='index.php?act=addbackupserver'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editbackupserver($post){ + $post['editbackupserver'] = 1; + $path = 'index.php?act=editbackupserver&id='.$post['id']; + $ret = $this->call($path, array(), $post); + + return $ret; + } + + function addstorage($post){ + $post['addstorage'] = 1; + $path ='index.php?act=addstorage'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function storages($post=array(), $page=1, $reslen=50){ + $path = 'index.php?act=storage&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editstorage($post){ + $post['editstorage'] = 1; + $path = 'index.php?act=editstorage&stid='.$post['stid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function orhpaneddisks($post=array()){ + $path = 'index.php?act=orphaneddisks'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function adddnsplan($post){ + $post['adddnsplan'] = 1; + $path ='index.php?act=adddnsplan'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function listdnsplans($page=1, $reslen=50, $post=array()){ + if(!isset($post['planname'])){ + $path = 'index.php?act=dnsplans'; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=dnsplans&planname='.$post['planname'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function edit_dnsplans($post=array()){ + $post['editdnsplan'] = 1; + $path = 'index.php?act=editdnsplan&dnsplid='.$post['dnsplid']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function delete_dnsplans($post){ + $path = 'index.php?act=dnsplans'; + $ret = $this->call($path, array(), $post); + + return $ret; + } + + function add_admin_acl($post){ + $path ='index.php?act=add_admin_acl'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function admin_acl($post=array()){ + if(empty($post)){ + $path = 'index.php?act=admin_acl'; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=admin_acl'; + $ret = $this->call($path,array(),$post); + } + return $ret; + } + + function edit_admin_acl($post=array()){ + $path = 'index.php?act=edit_admin_acl&aclid='.$post['aclid']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + + function addmg($post){ + $post['addmg'] = 1; + $path ='index.php?act=addmg'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editmg($post){ + $post['editmg'] = 1 ; + $path = 'index.php?act=editmg&mgid='.$post['mgid']; + $ret = $this->call($path,array(), $post); + return $ret; + } + + function delete_mg($post){ + $path = 'index.php?act=mediagroups&delete='.$post['delete']; + $ret = $this->call($path); + return $ret; + } + + function add_distro($post){ + $post['add_distro'] = 1; + $path ='index.php?act=add_distro'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function edit_distro($post){ + $post['add_distro'] = 1; + $path = 'index.php?act=add_distro&edit='.$post['edit']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function list_distros($post=0){ + if (empty($post)){ + $path = 'index.php?act=list_distros'; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=list_distros&delete='.$post['delete']; + $ret = $this->call($path); + } + return $ret; + } + + function list_euiso($page=1, $reslen=50, $post=array()){ + $path = 'index.php?act=euiso&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function delete_euiso($post){ + $path = 'index.php?act=euiso'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function list_recipes($page=1, $reslen=50, $post=array()){ + if(!isset($post['rid'])){ + $path = 'index.php?act=recipes&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=recipes&rid='.$post['rid'].'&rname='.$post['rname'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function add_recipes($post){ + $post['addrecipe'] = 1; + $path = 'index.php?act=addrecipe'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function editrecipe($post){ + $post['editrecipe'] = 1; + $path = 'index.php?act=editrecipe&rid='.$post['rid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + // The recipe function deletes activates and deactivates a recipes + function recipes($post){ + $path = 'index.php?act=recipes'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function tasks($page=1, $reslen=50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=tasks'; + //$ret = $this->call($path); + }elseif(isset($post['showlogs'])){ + $path = 'index.php?act=tasks'; + + }else{ + $path = 'index.php?act=tasks&actid='.$post['actid'].'&vpsid='.$post['vpsid'].'&username='.$post['username'].'&action='.$post['action'].'&status='.$post['status'].'&order='.$post['order'].'&page='.$page.'&reslen='.$reslen; + } + $ret = $this->call($path,array(),$post); + return $ret; + } + + function addpdns($post){ + $post['addpdns'] = 1; + $path ='index.php?act=addpdns'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function adminindex(){ + $path = 'index.php?act=adminindex'; + $res = $this->call($path); + return $res; + } + + function apidoings(){ + + } + + function backup($post){ + $path ='index.php?act=backup'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function bandwidth($post=array()){ + if(empty($post)){ + $path ='index.php?act=bandwidth'; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=bandwidth&show='.$post['show']; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + /** + * Cleaning the POST variables + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function clean_post(&$post, $edit = 0){ + $post['serid'] = !isset($post['serid']) ? 0 : (int)$post['serid']; + $post['uid'] = !isset($post['uid']) ? 0 : (int)$post['uid']; + $post['plid'] = !isset($post['plid']) ? 0 : (int)$post['plid']; + $post['osid'] = !isset($post['osid']) ? 0 : (int)$post['osid']; + $post['iso'] = !isset($post['iso']) ? 0 : (int)$post['iso']; + $post['space'] = !isset($post['space']) ? 10 : $post['space']; + $post['ram'] = !isset($post['ram']) ? 512 : (int)$post['ram']; + $post['swapram'] = !isset($post['swapram']) ? 1024 : (int)$post['swapram']; + $post['bandwidth'] = !isset($post['bandwidth']) ? 0 : (int)$post['bandwidth']; + $post['network_speed'] = !isset($post['network_speed']) ? 0 : (int)$post['network_speed']; + $post['cpu'] = !isset($post['cpu']) ? 1000 : (int)$post['cpu']; + $post['cores'] = !isset($post['cores']) ? 4 : (int)$post['cores']; + $post['cpu_percent'] = !isset($post['cpu_percent']) ? 100 : (int)$post['cpu_percent']; + $post['vnc'] = !isset($post['vnc']) ? 1 : (int)$post['vnc']; + $post['vncpass'] = !isset($post['vncpass']) ? 'test' : $post['vncpass']; + $post['sec_iso'] = !isset($post['sec_iso']) ? 0 : $post['sec_iso']; + $post['kvm_cache'] = !isset($post['kvm_cache']) ? 0 : $post['kvm_cache']; + $post['io_mode'] = !isset($post['io_mode']) ? 0 : $post['io_mode']; + $post['vnc_keymap'] = !isset($post['vnc_keymap']) ? 'en-us' : $post['vnc_keymap']; + $post['nic_type'] = !isset($post['nic_type']) ? 'default' : $post['nic_type']; + $post['osreinstall_limit'] = !isset($post['osreinstall_limit']) ? 0 : (int)$post['osreinstall_limit']; + $post['mgs'] = !isset($post['mgs']) ? 0 : $post['mgs']; + $post['tuntap'] = !isset($post['tuntap']) ? 0 : $post['tuntap']; + $post['virtio'] = !isset($post['virtio']) ? 0 : $post['virtio']; + if(isset($post['hvm'])){ + $post['hvm'] = $post['hvm']; + } + $post['noemail'] = !isset($post['noemail']) ? 0 : $post['noemail']; + $post['boot'] = !isset($post['boot']) ? 'dca' : $post['boot']; + $post['band_suspend'] = !isset($post['band_suspend']) ? 0 : $post['band_suspend']; + $post['vif_type'] = !isset($post['vif_type']) ? 'netfront' : $post['vif_type']; + if($edit == 0){ + $post['addvps'] = !isset($post['addvps']) ? 1 : (int)$post['addvps']; + }else{ + $post['editvps'] = !isset($post['editvps']) ? 1 : $post['editvps']; + $post['acpi'] = !isset($post['acpi']) ? 1 : $post['acpi']; + $post['apic'] = !isset($post['apic']) ? 1 : $post['apic']; + $post['pae'] = !isset($post['pae']) ? 1 : $post['pae']; + $post['dns'] = !isset($post['dns']) ? array('4.2.2.1','4.2.2.2') : $post['dns']; + $post['editvps'] = !isset($post['editvps']) ? 1 : (int)$post['editvps']; + } + + return $post; + } + + function cluster(){ + + } + + function config($post=array()){ + $path ='index.php?act=config'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function config_slave($post=array()){ + $path ='index.php?act=config_slave'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + /** + * Get CPU usage details + * + * @author Pulkit Gupta + * @param + * @return array The unserialised array is returned on success or + * empty array is returned on failure + */ + function cpu($serverid = 0){ + $path = 'index.php?act=manageserver&changeserid='.$serverid; + $ret = $this->call($path); + return $ret['usage']['cpu']; + } + + function serverloads($post=array()){ + $path = 'index.php?act=serverloads'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function createssl($post){ + $path ='index.php?act=createssl'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function letsencrypt($post){ + $path ='index.php?act=letsencrypt'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function createtemplate($post){ + $path ='index.php?act=createtemplate'; + $post['createtemp'] = 1; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function server_stats($post){ + $path = 'index.php?act=server_stats'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); + $ret = $this->call($path, array(), $post); + return $ret; + } + + function vps_stats($post){ + $path = 'index.php?act=vps_stats'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); + $ret = $this->call($path, array(), $post); + return $ret; + } + + function databackup($post){ + $path = 'index.php?act=databackup'; + $ret = $this->call($path, array(),$post); + + return $ret; + } + + function listdbbackfiles(){ + $path = 'index.php?act=databackup'; + $ret = $this->call($path); + return $ret; + } + + function createvpsbackup($post){ + $path = 'index.php?act=editbackup_plan'; + $ret = $this->call($path, array(),$post); + return $ret; + } + + function vps_backup_list($post){ + $path = 'index.php?act=vpsrestore&op=get_vps&vpsid='.$post['vpsid']; + $res = $this->call($path, array(), $post); + return $res; + } + + function vpsrestore($post){ + $post['restore'] = 1 ; + $path = 'index.php?act=vpsrestore'; + $ret = $this->call($path, array(),$post); + return $ret; + } + + function deletevpsbackup($post){ + $path = 'index.php?act=vpsrestore'; + $ret = $this->call($path, array(),$post); + return $ret; + } + + function pdns($page, $reslen, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=pdns&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + }elseif(isset($post['test'])){ + $path = 'index.php?act=pdns&test='.$post['test']; + $ret = $this->call($path); + }elseif(isset($post['delete'])){ + $path = 'index.php?act=pdns'; + $ret = $this->call($path, array(), $post); + }else{ + $path = 'index.php?act=pdns&pdns_name='.$post['pdns_name'].'&pdns_ipaddress='.$post['pdns_ipaddress'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function rdns($post=array()){ + $path = 'index.php?act=rdns'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function domains($page=1, $reslen=50, $post=array()){ + if(!isset($post['del'])){ + $path = 'index.php?act=domains&pdnsid='.$post['pdnsid'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=domains&pdnsid='.$post['pdnsid'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(),$post); + } + return $ret; + } + + function delete_dnsrecords($post=array()){ + $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function dnsrecords($page=1, $reslen=50, $post=array()){ + if(!isset($post['del'])){ + $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id']; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function search_dnsrecords($page = 1, $reslen = 50, $post = array()){ + $path = 'index.php?act=dnsrecords&pdnsid='.$post['pdnsid'].'&domain_id='.$post['domain_id'].'&dns_name='.$post['dns_name'].'&dns_domain='.$post['dns_domain'].'&record_type='.$post['record_type'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(),$post); + + return $ret; + } + + function add_dnsrecord($post =array()){ + $post['add_dnsrecord'] = 1; + $path = 'index.php?act=add_dnsrecord&pdnsid='.$post['pdnsid']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function edit_dnsrecord($post=array()){ + $post['add_dnsrecord'] = 1; + $path = 'index.php?act=add_dnsrecord&pdnsid='.$post['pdnsid'].'&edit='.$post['edit']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function editpdns($post=array()){ + $post['editpdns'] = 1; + $path = 'index.php?act=editpdns&pdnsid='.$post['pdnsid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function defaultvsconf($post){ + $path ='index.php?act=defaultvsconf'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + /** + * Delete a VPS + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @return boolean 1 on success OR 0 on failure + */ + function delete_vs($vid){ + $path = 'index.php?act=vs&delete='.(int)$vid; + $res = $this->call($path); + return $res; + } + + /** + * Get Disk usage details + * + * @author Pulkit Gupta + * @param + * @return array The unserialised array is returned on success or + * empty array is returned on failure + */ + function disk($serverid = 0){ + $path = 'index.php?act=manageserver&changeserid='.$serverid; + $ret = $this->call($path); + return $ret['usage']['disk']; + } + + function webuzo($post = array()){ + $post['webuzo'] = 1; + $path = 'index.php?act=webuzo'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function webuzo_scripts(){ + $path = 'index.php?act=webuzo'; + $ret = $this->call($path); + return $ret; + } + + function editemailtemp($post){ + $path = 'index.php?act=editemailtemp&temp='.$post['temp']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function resetemailtemp($post){ + $path = 'index.php?act=editemailtemp&temp='.$post['temp'].'&reset='.$post['reset']; + $ret = $this->call($path); + return $ret; + } + + function billingsettings($post = array()){ + $post['editsettings'] = 1 ; + $path = 'index.php?act=billing'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function resourcepricing($post = array()){ + $post['editsettings'] = 1 ; + $path = 'index.php?act=resource_pricing'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function addinvoice($post = array()){ + $post['addinvoice'] = 1 ; + $path = 'index.php?act=addinvoice'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function editinvoice($post = array()){ + $post['editinvoice'] = 1; + $path = 'index.php?act=editinvoice&invoid='.$post['invoid']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function listinvoice($page = 1, $reslen = 50, $post = array()){ + $path = 'index.php?act=invoices&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function deleteinvoice($post = array()){ + $path = 'index.php?act=invoices'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function addtransaction($post = array()){ + $post['addtransaction'] = 1; + $path = 'index.php?act=addtransaction'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function edittransaction($post = array()){ + $post['edittransaction'] = 1; + $path = 'index.php?act=edittransaction&trid='.$post['trid']; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function listtransaction($page = 1, $reslen = 50, $post = array()){ + $path = 'index.php?act=transactions&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function deletetransactions($post = array()){ + $path = 'index.php?act=transactions'; + $ret = $this->call($path,array(),$post); + return $ret; + } + + function editippool($post){ + $post['editippool'] = 1; + $path = 'index.php?act=editippool&ippid='.$post['ippid']; + $res = $this->call($path, array(), $post); + return $res; + } + + function deleteippool($ippid){ + $path = 'index.php?act=ippool'; + $ret = $this->call($path, array(), $ippid); + return $ret; + } + + function editips($post){ + $path = 'index.php?act=editips'; + $res = $this->call($path, array(), $post); + return $res; + } + + function delete_ips($post){ + $path = 'index.php?act=ips'; + $res = $this->call($path, array(), $post); + return $res; + } + + function editplan($post){ + $post['editplan'] = 1; + $path = 'index.php?act=editplan&plid='.$post['plid']; + $res = $this->call($path, array(), $post); + return $res; + } + + function editserver($post){ + $post['editserver'] = 1; + $path = 'index.php?act=editserver&serid='.$post['serid']; + $res = $this->call($path, array(), $post); + return $res; + } + + function edittemplate($post){ + $path = 'index.php?act=edittemplate'; + $res = $this->call($path, array(), $post); + return $res; + } + + function edituser($post){ + $path = 'index.php?act=edituser&uid='.$post['uid']; + $res = $this->call($path, array(), $post); + return $res; + } + + /** + * Create a VPS + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @return array The unserialized array on success OR false on failure + */ + function editvs($post, $cookies = array()){ + $path = 'index.php?act=editvs&vpsid='.$post['vpsid']; + //$post = $this->clean_post($post, 1); + $ret = $this->call($path, '', $post, $cookies); + return array( + 'title' => $ret['title'], + 'done' => $ret['done'], + 'error' => @empty($ret['error']) ? array() : $ret['error'], + 'vs_info' => $ret['vps'] + ); + } + + function managevps($post){ + $post['theme_edit'] = 1; + $post['editvps'] = 1; + $path = 'index.php?act=managevps&vpsid='.$post['vpsid']; + $ret = $this->call($path, array(), $post); + return array( + 'title' => $ret['title'], + 'done' => $ret['done'], + 'error' => @empty($ret['error']) ? array() : $ret['error'], + 'vs_info' => $ret['vps'] + ); + } + + function emailconfig($post){ + $path = 'index.php?act=emailconfig'; + $res = $this->call($path, array(), $post); + return $res; + } + + function emailtemp($post=array()){ + $path = 'index.php?act=emailtemp'; + $res = $this->call($path, array(), $post); + return $res; + } + + function filemanager($post){ + $path = 'index.php?act=filemanager'; + $res = $this->call($path,'', $post); + return $res; + } + + function firewall($post){ + $path = 'index.php?act=firewall'; + $res = $this->call($path, array(), $post); + return $res; + } + + function giveos(){ + + } + + function health(){ + + } + + function hostname($post){ + $path = 'index.php?act=hostname'; + $res = $this->call($path,'',$post); + return $res; + } + + function import($page, $reslen, $post){ + $path = 'index.php?act=import'; + $res = $this->call($path, array(), $post); + return $res; + } + + function ippool($page = 1, $reslen = 50, $post = array()){ + if(empty($post)){ + $path = 'index.php?act=ippool&page='.$page.'&reslen='.$reslen; + $res = $this->call($path); + }else{ + $path = 'index.php?act=ippool&poolname='.$post['poolname'].'&poolgateway='.$post['poolgateway'].'&netmask='.$post['netmask'].'&nameserver='.$post['nameserver'].'&page='.$page.'&reslen='.$reslen; + $res = $this->call($path); + } + return $res; + } + + /** + * Get list of IPs + * + * @author Pulkit Gupta + * @param + * @return array The unserialised array on success. + */ + function ips($page = 1, $reslen = 50, $post){ + if(empty($post)){ + $path = 'index.php?act=ips&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=ips&ipsearch='.$post['ipsearch'].'&ippoolsearch='.$post['ippoolsearch'].'&macsearch='.$post['macsearch'].'&vps_search='.$post['vps_search'].'&servers_search='.$post['servers_search'].'&lockedsearch='.$post['lockedsearch'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + } + return $ret; + } + + function iso(){ + $path = 'index.php?act=iso'; + $ret = $this->call($path); + return $ret; + } + + function kernelconf($post = 0){ + $path = 'index.php?act=kernelconf'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function license(){ + $path = 'index.php?act=license'; + $ret = $this->call($path); + return $ret; + } + + /** + * List VPS + * + * @author Pulkit Gupta + * @param int page number, if not specified then only 50 records are returned. + * @return array The unserialized array on success OR false on failure + * + */ + function listvs($page = 1, $reslen = 50, $search=array()){ + + if(empty($search)){ + $path = 'index.php?act=vs&page='.$page.'&reslen='.$reslen; + }else{ + $path = 'index.php?act=vs&vpsid='.$search['vpsid'].'&vpsname='.$search['vpsname'].'&vpsip='.$search['vpsip'].'&vpshostname='.$search['vpshostname'].'&vsstatus='.$search['vsstatus'].'&vstype='.$search['vstype'].'&user='.$search['user'].'&serid='.$search['serid'].'&search='.$search['search']; + } + + $result = $this->call($path); + $ret = $result['vs']; + return $ret; + } + + function login(){ + + } + + function loginlogs($page = 1, $reslen = 50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=loginlogs&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=loginlogs&username='.$post['username'].'&ip='.$post['ip'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path,array(), $post); + } + return $ret; + } + + function logs($page = 1, $reslen = 50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=logs&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=logs&id='.$post['id'].'&email='.$post['email'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + } + return $ret; + } + + function maintenance($post){ + $path = 'index.php?act=maintenance'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function makeslave(){ + + } + + function os($post = array()){ + if(empty($post)){ + $path = 'index.php?act=os'; + }else{ + $path = 'index.php?act=os&getos='.$post['osids'][0]; + } + $result = $this->call($path,array(),$post); + return $result; + } + + function ostemplates($page = 1, $reslen = 50){ + $path = 'index.php?act=ostemplates&page='.$page.'&reslen='.$reslen; + $result = $this->call($path); + // $ret['title'] = $result['title']; + // $ret['ostemplates'] = $result['ostemplates']; + return $result; + } + + function delostemplates($post = array()){ + $path = 'index.php?act=ostemplates&delete='.$post['delete']; + $result = $this->call($path); + $ret['title'] = $result['title']; + $ret['done'] = $result['done']; + $ret['ostemplates'] = $result['ostemplates']; + return $ret; + } + + function performance(){ + $path = 'index.php?act=performance'; + $result = $this->call($path); + return $result; + } + + function phpmyadmin(){ + + } + + function plans($page = 1, $reslen = 50, $search=array()){ + if(empty($search)){ + $path = 'index.php?act=plans&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + }else{ + $path = 'index.php?act=plans&planname='.$search['planname'].'&ptype='.$search['ptype'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + } + return $ret; + } + + function sort_plans($page = 1, $reslen = 50, $sort=array()){ + $path = 'index.php?act=plans&sortcolumn='.$sort['sortcolumn'].'&sortby='.$sort['sortby'].'&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path); + return $ret; + } + + function delete_plans($post){ + $path = 'index.php?act=plans&delete='.$post['delete']; + $ret = $this->call($path); + return $ret; + } + + function list_user_plans($post=array(), $page=1, $reslen=50){ + $path = 'index.php?act=user_plans&page='.$page.'&reslen='.$reslen; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function add_user_plans($post =array()){ + $post['adduser_plans'] = 1 ; + $path = 'index.php?act=adduser_plans'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function edit_user_plans($post){ + $post['edituser_plans'] = 1 ; + $path = 'index.php?act=edituser_plans&uplid='.$post['uplid']; + $ret = $this->call($path, array(), $post); + return $ret; + } + + function delete_user_plans($post = array()){ + $path = 'index.php?act=user_plans'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + /** + * POWER OFF a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function poweroff($vid){ + // Make the Request + $res = $this->call('index.php?act=vs&action=poweroff&serid=0&vpsid='.(int)$vid); + return $res; + } + + function processes($post = array()){ + + $path = 'index.php?act=processes'; + $ret = $this->call($path, array(), $post); + return $ret; + } + + /** + * Get RAM details + * + * @author Pulkit Gupta + * @param + * @return array The unserialised array is returned on success or + * empty array is returned on failure + */ + function ram($serverid = 0){ + $path = 'index.php?act=manageserver&changeserid='.$serverid; + $ret = $this->call($path); + return $ret['usage']['ram']; + } + + /** + * Rebuild a VPS + * + * @author Pulkit Gupta + * @param array $post An array of DATA that should be posted + * @return array The unserialized array on success OR false on failure + */ + function rebuild($post){ + $post['reos'] = 1; + $path = 'index.php?act=rebuild'.(!empty($post['serid']) ? '&changeserid='.(int)$post['serid'] : ''); + return $this->call($path, '', $post); + } + + /** + * RESTART a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function restart($vid){ + // Make the Request + $res = $this->call('index.php?act=vs&action=restart&serid=0&vpsid='.(int)$vid); + return $res; + } + + function restartservices($post){ + $post['do'] = 1; + $path = 'index.php?act=restartservices&service='.$post['service'].'&do='.$post['do']; + $res = $this->call($path, array(), $post); + return $res; + } + + /** + * Current server information + * + * @author Pulkit Gupta + * @param + * @return array The unserialized array on success OR false on failure + */ + function serverinfo(){ + $path = 'index.php?act=serverinfo'; + $result = $this->call($path); + + $ret = array(); + $ret['title'] = $result['title']; + $ret['info']['path'] = $result['info']['path']; + $ret['info']['key'] = $result['info']['key']; + $ret['info']['pass'] = $result['info']['pass']; + $ret['info']['kernel'] = $result['info']['kernel']; + $ret['info']['num_vs'] = $result['info']['num_vs']; + $ret['info']['version'] = $result['info']['version']; + $ret['info']['patch'] = $result['info']['patch']; + + return $ret; + } + + /** + * List Servers + * + * @author Pulkit Gupta + * @param + * @return array The unserialized array on success OR false on failure + */ + function servers($del_serid=0){ + if($del_serid == 0){ + $path = 'index.php?act=servers'; + }else{ + $path = 'index.php?act=servers&delete='.$del_serid; + } + return $this->call($path); + } + + function server_force_delete($del_serid=0){ + if($del_serid == 0){ + $path = 'index.php?act=servers'; + }else{ + $path = 'index.php?act=servers&force='.$del_serid; + } + return $this->call($path); + } + + function listservers(){ + $path = 'index.php?act=servers'; + return $this->call($path); + } + + function services($post = array()){ + $path = 'index.php?act=services'; + $res = $this->call($path, array(), $post); + return $res; + } + + function ssh(){ + /* $path = 'index.php?act=ssh'; + $res = $this->call($path); + return $res;*/ + } + + function ssl($post = 0){ + $path = 'index.php?act=ssl'; + $res = $this->call($path, array(), $post); + return $res; + } + + function sslcert(){ + /* $path = 'index.php?act=sslcert'; + $res = $this->call($path); + return $res;*/ + } + + /** + * START a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function start($vid){ + + $res = $this->call('index.php?act=vs&action=start&serid=0&vpsid='.(int)$vid); + return $res; + } + + /** + * STOP a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function stop($vid){ + // Make the Request + $res = $this->call('index.php?act=vs&action=stop&serid=0&vpsid='.(int)$vid); + return $res; + } + + /** + * Gives status of a Virtual Server + * + * @author Pulkit Gupta + * @param Array $vids array of IDs of VMs + * @return Array Contains the status info of the VMs + */ + function status($vids){ + + // Make the Request + $res = $this->call('index.php?act=vs&vs_status='.implode(',', $vids)); + return $res['status']; + + } + + /** + * Suspends a VM of a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return int 1 if the VM is ON, 0 if its OFF + */ + function suspend($vid){ + $path = 'index.php?act=vs&suspend='.(int)$vid; + $res = $this->call($path); + return $res; + } + + /** + * Unsuspends a VM of a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return int 1 if the VM is ON, 0 if its OFF + */ + function unsuspend($vid){ + $path = 'index.php?act=vs&unsuspend='.(int)$vid; + $res = $this->call($path); + return $res; + } + + function suspend_net($vid){ + $path = 'index.php?act=vs&suspend_net='.$vid; + $res = $this->call($path); + return $res; + } + + function unsuspend_net($vid){ + $path = 'index.php?act=vs&unsuspend_net='.$vid; + $res = $this->call($path); + return $res; + } + + function tools(){ + + } + + function ubc($post){ + $path = 'index.php?act=ubc'; + $res = $this->call($path, array(), $post); + return $res; + } + + function updates($post){ + $path = 'index.php?act=updates'; + $res = $this->call($path, array(), $post); + return $res; + } + + function userlogs($page = 1, $reslen = 50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=userlogs&page='.$page.'&reslen='.$reslen; + $res = $this->call($path); + }else{ + $path = 'index.php?act=userlogs&vpsid='.$post['vpsid'].'&email='.$post['email'].'&page='.$page.'&reslen='.$reslen; + $res = $this->call($path, array(), $post); + } + return $res; + } + + function iplogs($page=1, $reslen=50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=iplogs&page='.$page.'&reslen='.$reslen; + $res = $this->call($path); + }else{ + $path = 'index.php?act=iplogs&vpsid='.$post['vpsid'].'&ip='.$post['ip'].'&page='.$page.'&reslen='.$reslen; + $res = $this->call($path, array(), $post); + } + return $res; + } + + function deleteiplogs($post){ + if(!empty($post)){ + $path = 'index.php?act=iplogs'; + $res = $this->call($path,array(),$post); + } + return $res; + } + + function users($page = 1, $reslen = 50, $post=array()){ + if(empty($post)){ + $path = 'index.php?act=users&page='.$page.'&reslen='.$reslen; + $res = $this->call($path,array(),$post); + }else{ + $path = 'index.php?act=users&uid='.$post['uid'].'&email='.$post['email'].'&type='.$post['type'].'&page='.$page.'&reslen='.$reslen; + $res = $this->call($path,array(),$post); + } + return $res; + } + + function delete_users($del_userid){ + $path = 'index.php?act=users'; + $res = $this->call($path,array(),$del_userid); + return $res; + } + + function vnc($post){ + $path = 'index.php?act=vnc&novnc='.$post['novnc']; + $res = $this->call($path, array(), $post); + return $res; + } + + function vs($page = 1, $reslen = 50){ + $path = 'index.php?act=vs&page='.$page.'&reslen='.$reslen; + $res = $this->call($path); + return $res; + } + + function vsbandwidth(){ + $path = 'index.php?act=vsbandwidth'; + $res = $this->call($path); + return $res; + } + + function vscpu(){ + $path = 'index.php?act=vscpu'; + $res = $this->call($path); + return $res; + } + + function vsram(){ + $path = 'index.php?act=vsram'; + $res = $this->call($path); + return $res; + + } + + function clonevps($post){ + $path = 'index.php?act=clone'; + $post['migrate'] = 1; + $post['migrate_but'] = 1; + $res = $this->call($path, array(), $post); + return $res; + } + + function migrate($post){ + $path = 'index.php?act=migrate'; + $res = $this->call($path, array(), $post); + return $res; + } + + function haproxy($post){ + $path = 'index.php?act=haproxy'; + $res = $this->call($path, array(), $post); + return $res; + } + + function listhaproxy($search=array(), $page=1, $reslen=50){ + + if(empty($search)){ + $path = 'index.php?act=haproxy&page='.$page.'&reslen='.$reslen; + }else{ + $path = 'index.php?act=haproxy&s_id='.$search['s_id'].'&s_serid='.(empty($search['s_serid'])?'-1':$search['s_serid']).'&s_vpsid='.$search['s_vpsid'].'&s_protocol='.(empty($search['s_protocol'])?'-1':$search['s_protocol']).'&s_src_hostname='.$search['s_src_hostname'].'&s_src_port='.$search['s_src_port'].'&s_dest_ip='.$search['s_dest_ip'].'&s_dest_port='.$search['s_dest_port'].'&haproxysearch='.$search['haproxysearch']; + } + + $result = $this->call($path); + $ret = $result['haproxydata']; + return $ret; + } + +} // Class Ends + ?> \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/sdk/enduser.php b/whmcs/modules/servers/virtualizor_cloud/sdk/enduser.php index 1278e7f..3938fa6 100644 --- a/whmcs/modules/servers/virtualizor_cloud/sdk/enduser.php +++ b/whmcs/modules/servers/virtualizor_cloud/sdk/enduser.php @@ -1,1401 +1,1401 @@ -key = $key; - $this->pass = $pass; - $this->ip = $ip; - $this->port = $port; - if(!($port == 4083 || $port == 443)){ - $this->protocol = 'http'; - } - $this->is_admin = $is_admin; - } - - /** - * Dumps a variable - * - * @author Pulkit Gupta - * @param array $re The Array or any other variable. - * @return NULL - */ - function r($re){ - echo '
';
-		print_r($re);
-		echo '
'; - } - - /** - * Unserializes a string - * - * @author Pulkit Gupta - * @param string $str The serialized string - * @return array The unserialized array on success OR false on failure - */ - function _unserialize($str){ - - $var = @unserialize($str); - - if(empty($var)){ - - preg_match_all('!s:(\d+):"(.*?)";!s', $str, $matches); - foreach($matches[2] as $mk => $mv){ - $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; - $str = str_replace($matches[0][$mk], $tmp_str, $str); - } - $var = @unserialize($str); - - } - - //If it is still empty false - if(empty($var)){ - - return false; - - }else{ - - return $var; - - } - - } - - /** - * Makes an API request to the server to do a particular task - * - * @author Pulkit Gupta - * @param string $path The action you want to do - * @param array $post An array of DATA that should be posted - * @param array $cookies An array FOR SENDING COOKIES - * @return array The unserialized array on success OR false on failure - */ - function call($path, $post = array(), $cookies = array()){ - - $url = ($this->protocol).'://'.$this->ip.':'.$this->port.'/'.$path; - $url .= (strstr($url, '?') ? '' : '?'); - if(!empty($this->is_admin)) { - $key = $this->generateRandStr(8); - $apikey = $this->make_apikey($key, $this->pass); - $url .= '&api=serialize&apikey='.rawurlencode($apikey); - } else { - $url .= '&api=serialize&apikey='.rawurlencode($this->key).'&apipass='.rawurlencode($this->pass); - } - $url .= '&skip_callback=whmcs'; - - // Set the curl parameters. - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL, $url); - - // Time OUT - curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); - - // Turn off the server and peer verification (TrustManager Concept). - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); - - // UserAgent - curl_setopt($ch, CURLOPT_USERAGENT, 'Virtualizor'); - - // Cookies - if(!empty($cookies)){ - curl_setopt($ch, CURLOPT_COOKIESESSION, true); - curl_setopt($ch, CURLOPT_COOKIE, http_build_query($cookies, '', '; ')); - } - - if(!empty($post)){ - curl_setopt($ch, CURLOPT_POST, 1); - curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); - } - - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - - // Get response from the server. - $resp = curl_exec($ch); - curl_close($ch); - - // The following line is a method to test - //if(preg_match('/sync/is', $url)) - - if(empty($resp)){ - return false; - } - - $r = $this->_unserialize($resp); - - if(empty($r)){ - return false; - } - - return $r; - - } - - /** - * Make an API Key - * - * @author Pulkit Gupta - * @param string $key An 8 bit random string - * @param string $pass The API Password of your NODE - * @return string The new APIKEY which will be used to query - */ - function make_apikey($key, $pass){ - return $key.md5($pass.$key); - } - - /** - * Generates a random string for the given length - * - * @author Pulkit Gupta - * @param int $length The length of the random string to be generated - * @return string The generated random string - */ - function generateRandStr($length){ - $randstr = ""; - for($i = 0; $i < $length; $i++){ - $randnum = mt_rand(0,61); - if($randnum < 10){ - $randstr .= chr($randnum+48); - }elseif($randnum < 36){ - $randstr .= chr($randnum+55); - }else{ - $randstr .= chr($randnum+61); - } - } - return strtolower($randstr); - } - - /** - * List the Virtual Servers in your account - * - * @author Pulkit Gupta - * @return array The array containing a list of Virtual Servers one has in their account - */ - function listvs($del_vpsid=0){ - - if(empty($del_vpsid)){ - $resp = $this->call('index.php?act=listvs'); - return $resp['vs']; - }else{ - $resp = $this->call('index.php?act=listvs&delvs='.$del_vpsid); - return $resp; - } - - } - - function suspend($vpsid){ - $ret = $this->call('index.php?act=listvs&suspend='.$vpsid); - return $ret; - } - - function unsuspend($vpsid){ - $ret = $this->call('index.php?act=listvs&unsuspend='.$vpsid); - return $ret; - } - - function suspend_net($vpsid){ - $ret = $this->call('index.php?act=listvs&suspend_net='.$vpsid); - return $ret; - } - - function unsuspend_net($vpsid){ - $ret = $this->call('index.php?act=listvs&unsuspend_net='.$vpsid); - return $ret; - } - /** - * MANAGE a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function vpsmanage($vid){ - - //Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=vpsmanage'); - //Did it finish? - return $res; - } - - function vpsinfo($vid){ - return $this->vpsmanage($vid); - } - - function create($post){ - - $res = $this->call('index.php?act=create', $post); - - if(empty($res['done'])){ - $error = $res['error']; - } - - return $res; - } - - /** - * EDIT a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function editvm($vid,$post=array()){ - - //Make the Request - $res = $this->call('index.php?vid='.$vid.'&act=editvm', $post); - - //print_r($res['done']); - $ret['uid'] = $res['uid']; - $ret['act'] = $res['act']; - $ret['timezone'] = $res['timezone']; - $ret['timenow'] = $res['timenow']; - $ret['resources'] = $res['resources']; - $ret['usage'] = $res['usage']; - $ret['res_limit'] = $res['res_limit']; - $ret['username'] = $res['username']; - $ret['vps'] = $res['vps']; - $ret['done'] = $res['done']; - - //Did it finish? - if(!empty($ret['done'])){ - return $ret['vps']; - } - - return $res['error']; - } - - /** - * BACKING UP a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function backup($vid){ - - //MAKE the Request - $post['cbackup'] = 1; - $res = $this->call('index.php?svs='.$vid.'&act=backup2', $post); - - //DID it finish? - if (!empty($res['done'])){ - return true; - }else{ - return false; - } - } - - function restore_backup($post, $vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=backup2', $post); - - return $res; - } - - function delete_backup($post,$vid){ - - $res =$this->call('index.php?svs='.$vid.'&act=backup2', $post); - - return $res; - } - - /** - * RESCUE a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function rescue($vid, $pass){ - - $post = array('password' => $pass, - 'conf_password' => $pass, - 'enablerescue' => 'Enable Rescue' - ); - - //MAKE the Request - $res = $this->call('index.php?svs='.$vid.'&act=rescue', $post); - - //DID it finish? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - } - - /** - * Disable rescue mode for a VPS - * - * @author Chirag Nagda - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function disable_rescue($vid){ - - $post = array('disablerescue' => 1); - - //MAKE the Request - $res = $this->call('index.php?svs='.$vid.'&act=rescue', $post); - - //DID it finish? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - } - - /** - * Monitors a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - - function monitor($vid = 0, $post = array()){ - - //MAKE the Request - if(!empty($vid)){ - $res = $this->call('index.php?act=monitor&svs='.$vid, $post); - }else{ - $res = $this->call('index.php?act=monitor'); - } - - //Did it finish ? - $ret['cpu'] = $res['cpu']; - $ret['disk'] = $res['disk']; - $ret['ram'] = $res['ram']; - - return $ret; - } - - /** - * START a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function start($vid){ - - // Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=start&do=1'); - - // Did it finish ? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - } - - - /** - * STOP a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function stop($vid){ - - // Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=stop&do=1'); - - // Did it finish ? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - - } - - - /** - * RESTART a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function restart($vid){ - - // Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=restart&do=1'); - - // Did it finish ? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - - } - - - - /** - * POWER OFF a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return bool TRUE on success or FALSE on failure - */ - function poweroff($vid){ - - // Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=poweroff&do=1'); - - // Did it finish ? - if(!empty($res['done'])){ - return true; - }else{ - return false; - } - - } - - /** - * STOP a Virtual Server - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return int 1 if the VM is ON, 0 if its OFF - */ - function status($vid){ - - // Make the Request - $res = $this->call('index.php?svs='.$vid.'&act=start'); - - return $res['status']; - - } - - /** - * GET or SET the hostname of a VM. To get the current hostname dont pass the $newhostname parameter - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param string $newhostname The new HOSTNAME of the virtual server. - * @return string The CURRENT hostname is returned if $newhostname is NULL. - * FALSE is returned if there was an error while setting the new hostname - * 'onboot' is returned if the new hostname will be set when the VPS is STOPPED and STARTED - * 'done' is returned if the new hostname has been set right now - Mainly OpenVZ - */ - function hostname($vid, $newhostname = NULL){ - - // Are we to change ? - if(!empty($newhostname)){ - - $post = array('newhost' => $newhostname, - 'changehost' => 'Change Hostname'); - - $resp = $this->call('index.php?svs='.$vid.'&act=hostname', $post); - - // Was there an error - if(!empty($resp['error'])){ - - $this->error = $resp['error']; - return false; - - // Will it be done when the VPS is STOPPED and STARTED ? - }elseif(!empty($resp['onboot'])){ - - return 'onboot'; - - // It was done successfully - }elseif(!empty($resp['done'])){ - - return 'done'; - - } - - // Just return the CURRENT HOSTNAME - }else{ - $resp = $this->call('index.php?svs='.$vid.'&act=hostname'); - return $resp['current']; - } - - } - - /** - * GET the available IPs of a VM. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array Returns an array of Available IPs. - * - */ - function ips($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=ips'); - - return $res['ips']; - } - - // Just return the system alerts - - function system_alerts($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=system_alerts'); - - return $res; - } - - - /** - * GET the CPU details of a VM. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. - */ - function cpu($vid){ - - $resp = $this->call('index.php?svs='.$vid.'&act=cpu'); - - return $resp['cpu']; - - } - - /** - * GET the RAM details of a VM. Incase of Xen / KVM, only information is available as usage cannot be sensed. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. - */ - function ram($vid){ - - $resp = $this->call('index.php?svs='.$vid.'&act=ram'); - - return $resp['ram']; - - } - - - /** - * GET the Disk details of a VM. Incase of Xen / KVM, only information is available as usage cannot be sensed. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. - */ - function disk($vid){ - - $resp = $this->call('index.php?svs='.$vid.'&act=disk'); - - $ret['disk'] = $resp['disk']; - $ret['inodes'] = $resp['inodes']; - - return $ret; - - } - - /** - * GET the Bandwidth Usage of a VM. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param int $month The month in the format YYYYMM e.g. 201205 is for the Month of May, 2012 - * @return array Returns an array of Bandwidth Information for the Month GIVEN. - * By Default the CURRENT MONTH details are returned - */ - function bandwidth($vid, $month = 0){ - - $resp = $this->call('index.php?svs='.$vid.'&act=bandwidth'.(!empty($month) ? '&show='.$month : '')); - - return $resp['bandwidth']; - - } - - /** - * List the User Logs - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing all the logs is returned - */ - function logs($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=logs'); - - return $res['logs']; - } - - /** - * List the Server Status Logs - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing all the status logs is returned - */ - function statuslogs($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=statuslogs'); - - return $res; - } - - function self_shutdown($vid, $post){ - - $res = $this->call('index.php?svs='.$vid.'&act=self_shutdown', $post); - - return $res; - } - - function apikey(){ - - $res = $this->call('index.php?act=apikey'); - - return $res; - - } - - function addapikey(){ - - $res = $this->call('index.php?act=apikey&do=add'); - - return $res; - } - - function delapikey($id){ - - $res = $this->call('index.php?act=apikey&del='.$id); - - return $res; - } - - function adduser($post=array()){ - - $res = $this->call('index.php?act=adduser', $post); - - return $res; - } - - function edituser($uid, $post=array()){ - - $res = $this->call('index.php?act=edituser&uid='.$uid, $post); - - return $res; - } - - /** - * List the all the USERS - * - * @author Pulkit Gupta - * @return array An array containing all the user information is returned - */ - - function users($uid){ - - $res = $this->call('index.php?act=users&suid='.$uid); - - return $res; - } - - function delete_users($post){ - $res = $this->call('index.php?act=users&delete='.$post); - return $res; - } - /** - * List the Recipes - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing all the recipes is returned - */ - function listrecipes($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=listrecipes'); - - return $res['recipes']; - } - - function execrecipe($vid, $rid){ - - if(!empty($rid)){ - $post = array('rid' => $rid, - 'exec_recipe' => 'Execute Recipe'); - } - - $res = $this->call('index.php?svs='.$vid.'&act=listrecipes', $post); - - return $res; - } - - /** - * List the Processes in a VPS - Only OpenVZ - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - $post will be used to send the list of processes to be killed. If empty then processes will be listed - * @return array An array containing all the processes is returned - */ - function processes($post=array(),$vid){ - - if(empty($post)){ - $resp = $this->call('index.php?svs='.$vid.'&act=processes'); - }else{ - $resp = $this->call('index.php?svs='.$vid.'&act=processes', $post); - } - - return $resp; - - } - - function cloudres(){ - - $res = $this->call('index.php?act=cloudres'); - - return $res; - } - - function profile($post=array()){ - - $res = $this->call('index.php?act=profile', $post); - - return $res; - } - - - /** - * List the Services in a VPS - Only OpenVZ - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing all the services is returned - */ - function services($vid, $post = array()){ - - if(empty($post)){ - $resp = $this->call('index.php?svs='.$vid.'&act=services'); - - $ret['services'] = $resp['services']; - $ret['autostart'] = $resp['autostart']; - $ret['running'] = $resp['running']; - }else{ - $resp = $this->call('index.php?svs='.$vid.'&act=services', $post); - - $ret['services'] = $resp['services']; - $ret['autostart'] = $resp['autostart']; - $ret['running'] = $resp['running']; - } - - return $ret; - - } - - function hvmsettings($vid, $post = array()){ - - $ret = $this->call('index.php?svs='.$vid.'&act=hvmsettings', $post); - - $res['nictypes'] = $ret['nictypes']; - $res['vnckeymaps'] = $ret['vnckeymaps']; - $res['boot'] = $ret['boot']; - $res['vps'] = $ret['vps']; - $res['done'] = $ret['done']; - - return $res; - } - - function managesubnets($vid){ - - $res = $this->call('index.php?svs='.$vid.'&act=managesubnets'); - - return $res; - - } - - /*function managezone($did){ - - $res = $this->call('index.php?#act=managezone&domainid='.$did); - print_r($res); - return $res; - }*/ - - function pdns($post=array(), $id=0){ - - if(!empty($post)){ - //print_r($post); - $res = $this->call('index.php?act=pdns',$post); - }else if(!empty($id)){ - $res = $this->call('index.php?act=pdns&del='.$id); - }else{ - $res = $this->call('index.php?act=pdns'); - } - - return $res; - } - - function managezone($did, $post=array()){ - - $path = ''; - - if(!empty($did)){ - $path = '&domainid='.$did; - } - - if(!empty($post['delete'])){ - $path .= '&delete='.$post['delete']; - } - - $res = $this->call('index.php?act=managezone'.$path, $post); - - return $res; - - } - - function rdns($post=array()){ - - $path = ''; - - if(!empty($post['delete'])){ - $path = '&delete='.$post['delete']; - } - - $res = $this->call('index.php?act=rdns'.$path, $post); - - return $res; - } - - - /** - * Changes the root password of a VPS - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param string $pass The new password to set - * @return string FALSE is returned if there was an error while setting the new password - * 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED - * 'done' is returned if the new password has been set right now - Mainly OpenVZ - */ - function changepassword($vid, $pass) { - - $post = array('newpass' => $pass, - 'conf' => $pass, - 'changepass' => 'Change Password' - ); - - $resp = $this->call('index.php?svs='.$vid.'&act=changepassword', $post); - - // Was there an error - if(!empty($resp['error'])){ - - $this->error = $resp['error']; - return false; - - // Will it be done when the VPS is STOPPED and STARTED ? - }elseif(!empty($resp['onboot'])){ - - return 'onboot'; - - // It was done successfully - }elseif(!empty($resp['done'])){ - - return 'done'; - - } - - } - - function userpassword($post){ - - $res = $this->call('index.php?act=userpassword', $post); - - return $res; - } - - function usersettings($post=array()){ - - $res = $this->call('index.php?act=usersettings', $post); - - return $res; - } - - function tasks($post){ - $res = $this->call('index.php?act=tasks&svs='.$post['svs'].'&page='.$post['page'].'&reslen='.$post['reslen']); - - return $res; - } - - /** - * Get the VNC Details like PORT, IP, VNC Password. Only available in case of Xen and KVM VPS if VNC is enabled. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @return array An array containing all the VNC Details - */ - function vnc($vid){ - - $resp = $this->call('index.php?svs='.$vid.'&act=vnc'); - - return $resp['info']; - - } - - /** - * Change the VNC Password. Only available in case of Xen and KVM VPS if VNC is enabled. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param string $pass The new password to set - * @return string FALSE is returned if there was an error while setting the new password - * 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED - */ - function vncpass($vid, $pass) { - - $post = array('newpass' => $pass, - 'conf' => $pass, - 'vncpass' => 'Change Password' - ); - - $resp = $this->call('index.php?svs='.$vid.'&act=vncpass', $post); - - // Was there an error - if(!empty($resp['error'])){ - - $this->error = $resp['error']; - return false; - - // Will it be done when the VPS is STOPPED and STARTED ? - }elseif(!empty($resp['onboot']) || !empty($resp['done'])){ - - return 'onboot'; - - } - - } - - /** - * Re-installs a VPS if the $newosid is specified. If the $newosid is not passed, - * then this function will return an array of available templates. - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param int $newosid The Operating System ID (you got from the list) that will be installed on the VPS. - * @param string $newpass The new root password to set - * @return string FALSE is returned if there was an error while setting the new password - * string 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED - * string 'done' is returned if the new password has been set right now - Mainly OpenVZ - * array An array of the list of avvailable OS Templates is returned if $newosid is NULL - */ - function ostemplate($vid, $newosid = NULL, $newpass = NULL){ - - // Get the list of OS Templates - $resp = $this->call('index.php?svs='.$vid.'&act=ostemplate'); - - // Get a list of Virtual Servers - $listvs = $this->listvs(); - - // Is there such a VPS ? - if(!empty($listvs[$vid])){ - - $resp = $resp['oslist'][$listvs[$vid]['virt']]; - - // No such VPS. Return an EMPTY ARRAY - }else{ - - return array(); - - } - - if(!empty($newosid)){ - - // The POST Vars - $post = array('newos' => $newosid, - 'newpass' => $newpass, - 'conf' => $newpass, - 'reinsos' => 'Reinstall'); - - $resp = $this->call('index.php?svs='.$vid.'&act=ostemplate', $post); - - // Was there an error - if(!empty($resp['error'])){ - - $this->error = $resp['error']; - return $resp['error']; - - // Will it be done when the VPS is STOPPED and STARTED ? - }elseif(!empty($resp['onboot'])){ - - return 'onboot'; - - // It was done successfully - }elseif(!empty($resp['done'])){ - - return 'done'; - - } - - // Just return the OS List - }else{ - return $resp; - } - - } - - function os($post, $vid){ - - $res = $this->call('index.php?act=ostemplate&svs='.$vid, $post); - return $res; - } - - /** - * Install a Control Panel - * - * @author Pulkit Gupta - * @param int $vid The VMs ID - * @param string $panel The Name of the Panel you want to install. Options - cpanel, plesk, webuzo, kloxo, webmin, vestacp - * @return string FALSE is returned if there was an error while installing the control panel - * 'onboot' is returned if the control panel will be installed when the VPS is STOPPED and STARTED - * 'done' is returned if the control panel has been installed right now - Mainly OpenVZ - */ - function controlpanel($vid, $panel){ - - $post['ins'][$panel] = 1; - - $resp = $this->call('index.php?svs='.$vid.'&act=controlpanel', $post); - - // Was there an error - if(!empty($resp['error'])){ - - $this->error = $resp['error']; - return false; - - // Will it be done when the VPS is STOPPED and STARTED ? - }elseif(!empty($resp['onboot'])){ - - return 'onboot'; - - // It was done successfully - }elseif(!empty($resp['done'])){ - - return 'done'; - - } - - } - - /** - * Add Enduser ISO - * - * @author Shreedhar Tiadi - * @param int $vid The VMs ID - * @param string $isourl The url of the iso from where the iso to be downloaded - * @param string $isoname Name of the iso file - * @return string Error is returned if unsuccessful - * 'done' is returned if iso is added. - */ - - function addiso($vid, $isourl, $isoname){ - $post = array('filename' => $isoname, - 'iso_url' => $isourl, - 'addiso' => '1' - ); - - $resp = $this->call('index.php?svs='.$vid.'&act=addiso', $post); - - // Was there an error - if(!empty($resp['error'])){ - $this->error = $resp['error']; - return $this->error; - // It was done successfully - }elseif(!empty($resp['done'])){ - return 'done'; - } - } - - /** - * List Enduser ISO - * - * @author Shreedhar Tiadi - * @param int $vid The VMs ID - * @return Array is returned if successful - * 'done' is returned if iso is added. - - */ - - function listiso($vid = 0){ - $resp = $this->call('index.php?svs='.$vid.'&act=euiso'); - if(!empty($resp['isos'])){ - return $resp['isos']; - }else{ - return 'No ISOs Found'; - } - } - - /** - * Delete Enduser ISO - * - * @author Shreedhar Tiadi - * @param int $vid The VMs ID - * @param string $isouuid UUID of the Enduser ISOs.(comma-separated if multiple) - * @return string Error is returned if unsuccessful - * 'done' is returned if iso is deleted. - */ - - function deliso($vid, $isouuid){ - $post = array('del' => $isouuid); - $resp = $this->call('index.php?svs='.$vid.'&act=euiso', $post); - // Was there an error - if(!empty($resp['error'])){ - $this->error = $resp['error']; - return $this->error; - // It was done successfully - }elseif(!empty($resp['done'])){ - return 'done'; - } - } - - /** - * Single Sign On - * - * @author Chirag - * @param int $vid The VMs ID - * @return String login url - */ - function sso($vid){ - $resp = $this->call('index.php?svs='.$vid.'&act=sso'); - - $url = 'https://'.$this->ip.':'.$this->port.'/'.$resp['token_key'].'/?as='.$resp['sid'].'&svs='.$vid; - - if(!empty($resp['token_key']) && !empty($resp['sid'])){ - return $url; - }else{ - return false; - } - } - - /** - * VPS Domain Forwarding - * - * @author Ali - * @param int $vid: The VPS ID - * @param array $post : Array of VDF record id to be deleted - * @return array of domain forwarding records - */ - function vdf($post = array()){ - - $resp = $this->call('index.php?act=managevdf&svs='.$post['svs'],$post); - - return $resp; - } - - /** - * Create SSH Key - * - * @author Ali - * @param array $post : Array of name(SSH_KEY) and value(SSH KEY VALUE) - * @return array containing the message "The SSH key has been added successfully" - */ - - function addsshkey($post = array()){ - - $resp = $this->call('index.php?act=addsshkey', $post); - - return $resp; - } - - /** - * Edit SSH Key - * - * @author Ali - * @param int $keyid - * @param array $post : Array of name(SSH_KEY) and value(SSH KEY VALUE) - * @return array containing the message "The SSH key has been saved successfully" - */ - - function editsshkey($keyid, $post = array()){ - - $resp = $this->call('index.php?act=editsshkey&keyid='.$keyid, $post); - - return $resp; - } - - /** - * SSH Key - * - * @author Ali - * @param array $post : Array of ssh key id to be deleted (Optional) - * @return array - */ - - function sshkeys($post = array()){ - - if(empty($post)){ - $resps = $this->call('index.php?act=sshkeys'); - $resp['ssh_keys'] = $resps['ssh_keys']; - }else{ - $resp = $this->call('index.php?act=sshkeys', $post); - } - return $resp; - } - - /** - * Apply SSH Key - * - * @author Ali - * @param int $vid The VPS id - * @param array $post : Array of ssh key id to be Applied - * @return array - */ - - function applysshkeys($vid, $post = array()){ - - $resp = $this->call('index.php?act=sshkeys&svs='.$vid, $post); - - return $resp; - } - - function webuzo_scripts($vid){ - $path = 'index.php?act=webuzo&svs='.$vid; - $ret = $this->call($path); - return $ret; - } - - /** - * Install Webuzo Script - * - * @author Ali - * @param int $vid The VPS id - * @param array $post - * @return array - */ - - function installwebuzo($vid, $post = array()){ - - $resp = $this->call('index.php?act=webuzo&svs='.$vid, $post); - - return $resp; - } - - - -} - -////////////// -// Examples -////////////// - -//$v = new Virtualizor_Enduser_Cloud_API('127.0.0.1', '16_BIT_API_KEY', '32_BIT_API_PASS'); - -// Get the list of the VPS -//$v->r($v->listvs()); - -// Start a VPS -//echo $v->start(3); - -// Stop a VPS -//echo $v->stop(3); - -// Restart a VPS -//echo $v->restart(3); - -// Poweroff a VPS -//echo $v->poweroff(3); - -// Get the Status of a VPS -//echo $v->status(3); - -// Get the Hostname -//echo $v->hostname(4); - -// Change the Hostname -//$v->r($v->hostname(4, 'NEWHOSTNAME')); - -// CPU Details -//$v->r($v->cpu(4)); - -// Ram Details -//$v->r($v->ram(4)); - -// Disk Details -//$v->r($v->disk(4)); - -// Bandwidth Details for the Current Month -//$v->r($v->bandwidth(4)); - -// Bandwidth Details for the Month of May in 2012 -//$v->r($v->bandwidth(4, 201205)); - -// List the processes - OpenVZ only -//$v->r($v->processes(4)); - -// List the services - OpenVZ only -//$v->r($v->services(4)); - -// Change the Root Password of a Virtual Server ? -//$v->r($v->changepassword(4, 'test')); - -// Give the VNC Details - VNC must be enabled - Xen / KVM -//$v->r($v->vnc(4)); - -// Change the VNC Password - VNC must be enabled - Xen / KVM -//$v->r($v->vncpass(4, 'NEWpass')); - -// List available OS Templates -//$v->r($v->ostemplate(2)); - -// Reinstall the OS -//$v->r($v->ostemplate(4, 1, 'test')); - -// Install a Control Panel -//$v->r($v->controlpanel(4, 'cpanel')); - -// Add Enduser ISO -// $v->r($v->addiso('1', 'http.kali.org/dists/kali-rolling/main/installer-amd64/current/images/netboot/mini.iso', 'mini.iso')); - -// List Enduser ISO -// $v->r($v->listiso('1')); - -// Delete Enduser ISOs -// $v->r($v->deliso(1,'dmqoknjv4lovwhif')); +key = $key; + $this->pass = $pass; + $this->ip = $ip; + $this->port = $port; + if(!($port == 4083 || $port == 443)){ + $this->protocol = 'http'; + } + $this->is_admin = $is_admin; + } + + /** + * Dumps a variable + * + * @author Pulkit Gupta + * @param array $re The Array or any other variable. + * @return NULL + */ + function r($re){ + echo '
';

+		print_r($re);

+		echo '
'; + } + + /** + * Unserializes a string + * + * @author Pulkit Gupta + * @param string $str The serialized string + * @return array The unserialized array on success OR false on failure + */ + function _unserialize($str){ + + $var = @unserialize($str); + + if(empty($var)){ + + preg_match_all('!s:(\d+):"(.*?)";!s', $str, $matches); + foreach($matches[2] as $mk => $mv){ + $tmp_str = 's:'.strlen($mv).':"'.$mv.'";'; + $str = str_replace($matches[0][$mk], $tmp_str, $str); + } + $var = @unserialize($str); + + } + + //If it is still empty false + if(empty($var)){ + + return false; + + }else{ + + return $var; + + } + + } + + /** + * Makes an API request to the server to do a particular task + * + * @author Pulkit Gupta + * @param string $path The action you want to do + * @param array $post An array of DATA that should be posted + * @param array $cookies An array FOR SENDING COOKIES + * @return array The unserialized array on success OR false on failure + */ + function call($path, $post = array(), $cookies = array()){ + + $url = ($this->protocol).'://'.$this->ip.':'.$this->port.'/'.$path; + $url .= (strstr($url, '?') ? '' : '?'); + if(!empty($this->is_admin)) { + $key = $this->generateRandStr(8); + $apikey = $this->make_apikey($key, $this->pass); + $url .= '&api=serialize&apikey='.rawurlencode($apikey); + } else { + $url .= '&api=serialize&apikey='.rawurlencode($this->key).'&apipass='.rawurlencode($this->pass); + } + $url .= '&skip_callback=whmcs'; + + // Set the curl parameters. + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + + // Time OUT + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); + + // Turn off the server and peer verification (TrustManager Concept). + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); + + // UserAgent + curl_setopt($ch, CURLOPT_USERAGENT, 'Virtualizor'); + + // Cookies + if(!empty($cookies)){ + curl_setopt($ch, CURLOPT_COOKIESESSION, true); + curl_setopt($ch, CURLOPT_COOKIE, http_build_query($cookies, '', '; ')); + } + + if(!empty($post)){ + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post)); + } + + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + + // Get response from the server. + $resp = curl_exec($ch); + curl_close($ch); + + // The following line is a method to test + //if(preg_match('/sync/is', $url)) + + if(empty($resp)){ + return false; + } + + $r = $this->_unserialize($resp); + + if(empty($r)){ + return false; + } + + return $r; + + } + + /** + * Make an API Key + * + * @author Pulkit Gupta + * @param string $key An 8 bit random string + * @param string $pass The API Password of your NODE + * @return string The new APIKEY which will be used to query + */ + function make_apikey($key, $pass){ + return $key.md5($pass.$key); + } + + /** + * Generates a random string for the given length + * + * @author Pulkit Gupta + * @param int $length The length of the random string to be generated + * @return string The generated random string + */ + function generateRandStr($length){ + $randstr = ""; + for($i = 0; $i < $length; $i++){ + $randnum = mt_rand(0,61); + if($randnum < 10){ + $randstr .= chr($randnum+48); + }elseif($randnum < 36){ + $randstr .= chr($randnum+55); + }else{ + $randstr .= chr($randnum+61); + } + } + return strtolower($randstr); + } + + /** + * List the Virtual Servers in your account + * + * @author Pulkit Gupta + * @return array The array containing a list of Virtual Servers one has in their account + */ + function listvs($del_vpsid=0){ + + if(empty($del_vpsid)){ + $resp = $this->call('index.php?act=listvs'); + return $resp['vs']; + }else{ + $resp = $this->call('index.php?act=listvs&delvs='.$del_vpsid); + return $resp; + } + + } + + function suspend($vpsid){ + $ret = $this->call('index.php?act=listvs&suspend='.$vpsid); + return $ret; + } + + function unsuspend($vpsid){ + $ret = $this->call('index.php?act=listvs&unsuspend='.$vpsid); + return $ret; + } + + function suspend_net($vpsid){ + $ret = $this->call('index.php?act=listvs&suspend_net='.$vpsid); + return $ret; + } + + function unsuspend_net($vpsid){ + $ret = $this->call('index.php?act=listvs&unsuspend_net='.$vpsid); + return $ret; + } + /** + * MANAGE a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function vpsmanage($vid){ + + //Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=vpsmanage'); + //Did it finish? + return $res; + } + + function vpsinfo($vid){ + return $this->vpsmanage($vid); + } + + function create($post){ + + $res = $this->call('index.php?act=create', $post); + + if(empty($res['done'])){ + $error = $res['error']; + } + + return $res; + } + + /** + * EDIT a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function editvm($vid,$post=array()){ + + //Make the Request + $res = $this->call('index.php?vid='.$vid.'&act=editvm', $post); + + //print_r($res['done']); + $ret['uid'] = $res['uid']; + $ret['act'] = $res['act']; + $ret['timezone'] = $res['timezone']; + $ret['timenow'] = $res['timenow']; + $ret['resources'] = $res['resources']; + $ret['usage'] = $res['usage']; + $ret['res_limit'] = $res['res_limit']; + $ret['username'] = $res['username']; + $ret['vps'] = $res['vps']; + $ret['done'] = $res['done']; + + //Did it finish? + if(!empty($ret['done'])){ + return $ret['vps']; + } + + return $res['error']; + } + + /** + * BACKING UP a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function backup($vid){ + + //MAKE the Request + $post['cbackup'] = 1; + $res = $this->call('index.php?svs='.$vid.'&act=backup2', $post); + + //DID it finish? + if (!empty($res['done'])){ + return true; + }else{ + return false; + } + } + + function restore_backup($post, $vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=backup2', $post); + + return $res; + } + + function delete_backup($post,$vid){ + + $res =$this->call('index.php?svs='.$vid.'&act=backup2', $post); + + return $res; + } + + /** + * RESCUE a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function rescue($vid, $pass){ + + $post = array('password' => $pass, + 'conf_password' => $pass, + 'enablerescue' => 'Enable Rescue' + ); + + //MAKE the Request + $res = $this->call('index.php?svs='.$vid.'&act=rescue', $post); + + //DID it finish? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + } + + /** + * Disable rescue mode for a VPS + * + * @author Chirag Nagda + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function disable_rescue($vid){ + + $post = array('disablerescue' => 1); + + //MAKE the Request + $res = $this->call('index.php?svs='.$vid.'&act=rescue', $post); + + //DID it finish? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + } + + /** + * Monitors a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + + function monitor($vid = 0, $post = array()){ + + //MAKE the Request + if(!empty($vid)){ + $res = $this->call('index.php?act=monitor&svs='.$vid, $post); + }else{ + $res = $this->call('index.php?act=monitor'); + } + + //Did it finish ? + $ret['cpu'] = $res['cpu']; + $ret['disk'] = $res['disk']; + $ret['ram'] = $res['ram']; + + return $ret; + } + + /** + * START a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function start($vid){ + + // Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=start&do=1'); + + // Did it finish ? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + } + + + /** + * STOP a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function stop($vid){ + + // Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=stop&do=1'); + + // Did it finish ? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + + } + + + /** + * RESTART a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function restart($vid){ + + // Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=restart&do=1'); + + // Did it finish ? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + + } + + + + /** + * POWER OFF a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return bool TRUE on success or FALSE on failure + */ + function poweroff($vid){ + + // Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=poweroff&do=1'); + + // Did it finish ? + if(!empty($res['done'])){ + return true; + }else{ + return false; + } + + } + + /** + * STOP a Virtual Server + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return int 1 if the VM is ON, 0 if its OFF + */ + function status($vid){ + + // Make the Request + $res = $this->call('index.php?svs='.$vid.'&act=start'); + + return $res['status']; + + } + + /** + * GET or SET the hostname of a VM. To get the current hostname dont pass the $newhostname parameter + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param string $newhostname The new HOSTNAME of the virtual server. + * @return string The CURRENT hostname is returned if $newhostname is NULL. + * FALSE is returned if there was an error while setting the new hostname + * 'onboot' is returned if the new hostname will be set when the VPS is STOPPED and STARTED + * 'done' is returned if the new hostname has been set right now - Mainly OpenVZ + */ + function hostname($vid, $newhostname = NULL){ + + // Are we to change ? + if(!empty($newhostname)){ + + $post = array('newhost' => $newhostname, + 'changehost' => 'Change Hostname'); + + $resp = $this->call('index.php?svs='.$vid.'&act=hostname', $post); + + // Was there an error + if(!empty($resp['error'])){ + + $this->error = $resp['error']; + return false; + + // Will it be done when the VPS is STOPPED and STARTED ? + }elseif(!empty($resp['onboot'])){ + + return 'onboot'; + + // It was done successfully + }elseif(!empty($resp['done'])){ + + return 'done'; + + } + + // Just return the CURRENT HOSTNAME + }else{ + $resp = $this->call('index.php?svs='.$vid.'&act=hostname'); + return $resp['current']; + } + + } + + /** + * GET the available IPs of a VM. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array Returns an array of Available IPs. + * + */ + function ips($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=ips'); + + return $res['ips']; + } + + // Just return the system alerts + + function system_alerts($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=system_alerts'); + + return $res; + } + + + /** + * GET the CPU details of a VM. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. + */ + function cpu($vid){ + + $resp = $this->call('index.php?svs='.$vid.'&act=cpu'); + + return $resp['cpu']; + + } + + /** + * GET the RAM details of a VM. Incase of Xen / KVM, only information is available as usage cannot be sensed. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. + */ + function ram($vid){ + + $resp = $this->call('index.php?svs='.$vid.'&act=ram'); + + return $resp['ram']; + + } + + + /** + * GET the Disk details of a VM. Incase of Xen / KVM, only information is available as usage cannot be sensed. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing the details is returned. Usage details is available only in case of OpenVZ. + */ + function disk($vid){ + + $resp = $this->call('index.php?svs='.$vid.'&act=disk'); + + $ret['disk'] = $resp['disk']; + $ret['inodes'] = $resp['inodes']; + + return $ret; + + } + + /** + * GET the Bandwidth Usage of a VM. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param int $month The month in the format YYYYMM e.g. 201205 is for the Month of May, 2012 + * @return array Returns an array of Bandwidth Information for the Month GIVEN. + * By Default the CURRENT MONTH details are returned + */ + function bandwidth($vid, $month = 0){ + + $resp = $this->call('index.php?svs='.$vid.'&act=bandwidth'.(!empty($month) ? '&show='.$month : '')); + + return $resp['bandwidth']; + + } + + /** + * List the User Logs + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing all the logs is returned + */ + function logs($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=logs'); + + return $res['logs']; + } + + /** + * List the Server Status Logs + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing all the status logs is returned + */ + function statuslogs($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=statuslogs'); + + return $res; + } + + function self_shutdown($vid, $post){ + + $res = $this->call('index.php?svs='.$vid.'&act=self_shutdown', $post); + + return $res; + } + + function apikey(){ + + $res = $this->call('index.php?act=apikey'); + + return $res; + + } + + function addapikey(){ + + $res = $this->call('index.php?act=apikey&do=add'); + + return $res; + } + + function delapikey($id){ + + $res = $this->call('index.php?act=apikey&del='.$id); + + return $res; + } + + function adduser($post=array()){ + + $res = $this->call('index.php?act=adduser', $post); + + return $res; + } + + function edituser($uid, $post=array()){ + + $res = $this->call('index.php?act=edituser&uid='.$uid, $post); + + return $res; + } + + /** + * List the all the USERS + * + * @author Pulkit Gupta + * @return array An array containing all the user information is returned + */ + + function users($uid){ + + $res = $this->call('index.php?act=users&suid='.$uid); + + return $res; + } + + function delete_users($post){ + $res = $this->call('index.php?act=users&delete='.$post); + return $res; + } + /** + * List the Recipes + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing all the recipes is returned + */ + function listrecipes($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=listrecipes'); + + return $res['recipes']; + } + + function execrecipe($vid, $rid){ + + if(!empty($rid)){ + $post = array('rid' => $rid, + 'exec_recipe' => 'Execute Recipe'); + } + + $res = $this->call('index.php?svs='.$vid.'&act=listrecipes', $post); + + return $res; + } + + /** + * List the Processes in a VPS - Only OpenVZ + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + $post will be used to send the list of processes to be killed. If empty then processes will be listed + * @return array An array containing all the processes is returned + */ + function processes($post=array(),$vid){ + + if(empty($post)){ + $resp = $this->call('index.php?svs='.$vid.'&act=processes'); + }else{ + $resp = $this->call('index.php?svs='.$vid.'&act=processes', $post); + } + + return $resp; + + } + + function cloudres(){ + + $res = $this->call('index.php?act=cloudres'); + + return $res; + } + + function profile($post=array()){ + + $res = $this->call('index.php?act=profile', $post); + + return $res; + } + + + /** + * List the Services in a VPS - Only OpenVZ + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing all the services is returned + */ + function services($vid, $post = array()){ + + if(empty($post)){ + $resp = $this->call('index.php?svs='.$vid.'&act=services'); + + $ret['services'] = $resp['services']; + $ret['autostart'] = $resp['autostart']; + $ret['running'] = $resp['running']; + }else{ + $resp = $this->call('index.php?svs='.$vid.'&act=services', $post); + + $ret['services'] = $resp['services']; + $ret['autostart'] = $resp['autostart']; + $ret['running'] = $resp['running']; + } + + return $ret; + + } + + function hvmsettings($vid, $post = array()){ + + $ret = $this->call('index.php?svs='.$vid.'&act=hvmsettings', $post); + + $res['nictypes'] = $ret['nictypes']; + $res['vnckeymaps'] = $ret['vnckeymaps']; + $res['boot'] = $ret['boot']; + $res['vps'] = $ret['vps']; + $res['done'] = $ret['done']; + + return $res; + } + + function managesubnets($vid){ + + $res = $this->call('index.php?svs='.$vid.'&act=managesubnets'); + + return $res; + + } + + /*function managezone($did){ + + $res = $this->call('index.php?#act=managezone&domainid='.$did); + print_r($res); + return $res; + }*/ + + function pdns($post=array(), $id=0){ + + if(!empty($post)){ + //print_r($post); + $res = $this->call('index.php?act=pdns',$post); + }else if(!empty($id)){ + $res = $this->call('index.php?act=pdns&del='.$id); + }else{ + $res = $this->call('index.php?act=pdns'); + } + + return $res; + } + + function managezone($did, $post=array()){ + + $path = ''; + + if(!empty($did)){ + $path = '&domainid='.$did; + } + + if(!empty($post['delete'])){ + $path .= '&delete='.$post['delete']; + } + + $res = $this->call('index.php?act=managezone'.$path, $post); + + return $res; + + } + + function rdns($post=array()){ + + $path = ''; + + if(!empty($post['delete'])){ + $path = '&delete='.$post['delete']; + } + + $res = $this->call('index.php?act=rdns'.$path, $post); + + return $res; + } + + + /** + * Changes the root password of a VPS + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param string $pass The new password to set + * @return string FALSE is returned if there was an error while setting the new password + * 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED + * 'done' is returned if the new password has been set right now - Mainly OpenVZ + */ + function changepassword($vid, $pass) { + + $post = array('newpass' => $pass, + 'conf' => $pass, + 'changepass' => 'Change Password' + ); + + $resp = $this->call('index.php?svs='.$vid.'&act=changepassword', $post); + + // Was there an error + if(!empty($resp['error'])){ + + $this->error = $resp['error']; + return false; + + // Will it be done when the VPS is STOPPED and STARTED ? + }elseif(!empty($resp['onboot'])){ + + return 'onboot'; + + // It was done successfully + }elseif(!empty($resp['done'])){ + + return 'done'; + + } + + } + + function userpassword($post){ + + $res = $this->call('index.php?act=userpassword', $post); + + return $res; + } + + function usersettings($post=array()){ + + $res = $this->call('index.php?act=usersettings', $post); + + return $res; + } + + function tasks($post){ + $res = $this->call('index.php?act=tasks&svs='.$post['svs'].'&page='.$post['page'].'&reslen='.$post['reslen']); + + return $res; + } + + /** + * Get the VNC Details like PORT, IP, VNC Password. Only available in case of Xen and KVM VPS if VNC is enabled. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @return array An array containing all the VNC Details + */ + function vnc($vid){ + + $resp = $this->call('index.php?svs='.$vid.'&act=vnc'); + + return $resp['info']; + + } + + /** + * Change the VNC Password. Only available in case of Xen and KVM VPS if VNC is enabled. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param string $pass The new password to set + * @return string FALSE is returned if there was an error while setting the new password + * 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED + */ + function vncpass($vid, $pass) { + + $post = array('newpass' => $pass, + 'conf' => $pass, + 'vncpass' => 'Change Password' + ); + + $resp = $this->call('index.php?svs='.$vid.'&act=vncpass', $post); + + // Was there an error + if(!empty($resp['error'])){ + + $this->error = $resp['error']; + return false; + + // Will it be done when the VPS is STOPPED and STARTED ? + }elseif(!empty($resp['onboot']) || !empty($resp['done'])){ + + return 'onboot'; + + } + + } + + /** + * Re-installs a VPS if the $newosid is specified. If the $newosid is not passed, + * then this function will return an array of available templates. + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param int $newosid The Operating System ID (you got from the list) that will be installed on the VPS. + * @param string $newpass The new root password to set + * @return string FALSE is returned if there was an error while setting the new password + * string 'onboot' is returned if the new password will be set when the VPS is STOPPED and STARTED + * string 'done' is returned if the new password has been set right now - Mainly OpenVZ + * array An array of the list of avvailable OS Templates is returned if $newosid is NULL + */ + function ostemplate($vid, $newosid = NULL, $newpass = NULL){ + + // Get the list of OS Templates + $resp = $this->call('index.php?svs='.$vid.'&act=ostemplate'); + + // Get a list of Virtual Servers + $listvs = $this->listvs(); + + // Is there such a VPS ? + if(!empty($listvs[$vid])){ + + $resp = $resp['oslist'][$listvs[$vid]['virt']]; + + // No such VPS. Return an EMPTY ARRAY + }else{ + + return array(); + + } + + if(!empty($newosid)){ + + // The POST Vars + $post = array('newos' => $newosid, + 'newpass' => $newpass, + 'conf' => $newpass, + 'reinsos' => 'Reinstall'); + + $resp = $this->call('index.php?svs='.$vid.'&act=ostemplate', $post); + + // Was there an error + if(!empty($resp['error'])){ + + $this->error = $resp['error']; + return $resp['error']; + + // Will it be done when the VPS is STOPPED and STARTED ? + }elseif(!empty($resp['onboot'])){ + + return 'onboot'; + + // It was done successfully + }elseif(!empty($resp['done'])){ + + return 'done'; + + } + + // Just return the OS List + }else{ + return $resp; + } + + } + + function os($post, $vid){ + + $res = $this->call('index.php?act=ostemplate&svs='.$vid, $post); + return $res; + } + + /** + * Install a Control Panel + * + * @author Pulkit Gupta + * @param int $vid The VMs ID + * @param string $panel The Name of the Panel you want to install. Options - cpanel, plesk, webuzo, kloxo, webmin, vestacp + * @return string FALSE is returned if there was an error while installing the control panel + * 'onboot' is returned if the control panel will be installed when the VPS is STOPPED and STARTED + * 'done' is returned if the control panel has been installed right now - Mainly OpenVZ + */ + function controlpanel($vid, $panel){ + + $post['ins'][$panel] = 1; + + $resp = $this->call('index.php?svs='.$vid.'&act=controlpanel', $post); + + // Was there an error + if(!empty($resp['error'])){ + + $this->error = $resp['error']; + return false; + + // Will it be done when the VPS is STOPPED and STARTED ? + }elseif(!empty($resp['onboot'])){ + + return 'onboot'; + + // It was done successfully + }elseif(!empty($resp['done'])){ + + return 'done'; + + } + + } + + /** + * Add Enduser ISO + * + * @author Shreedhar Tiadi + * @param int $vid The VMs ID + * @param string $isourl The url of the iso from where the iso to be downloaded + * @param string $isoname Name of the iso file + * @return string Error is returned if unsuccessful + * 'done' is returned if iso is added. + */ + + function addiso($vid, $isourl, $isoname){ + $post = array('filename' => $isoname, + 'iso_url' => $isourl, + 'addiso' => '1' + ); + + $resp = $this->call('index.php?svs='.$vid.'&act=addiso', $post); + + // Was there an error + if(!empty($resp['error'])){ + $this->error = $resp['error']; + return $this->error; + // It was done successfully + }elseif(!empty($resp['done'])){ + return 'done'; + } + } + + /** + * List Enduser ISO + * + * @author Shreedhar Tiadi + * @param int $vid The VMs ID + * @return Array is returned if successful + * 'done' is returned if iso is added. + + */ + + function listiso($vid = 0){ + $resp = $this->call('index.php?svs='.$vid.'&act=euiso'); + if(!empty($resp['isos'])){ + return $resp['isos']; + }else{ + return 'No ISOs Found'; + } + } + + /** + * Delete Enduser ISO + * + * @author Shreedhar Tiadi + * @param int $vid The VMs ID + * @param string $isouuid UUID of the Enduser ISOs.(comma-separated if multiple) + * @return string Error is returned if unsuccessful + * 'done' is returned if iso is deleted. + */ + + function deliso($vid, $isouuid){ + $post = array('del' => $isouuid); + $resp = $this->call('index.php?svs='.$vid.'&act=euiso', $post); + // Was there an error + if(!empty($resp['error'])){ + $this->error = $resp['error']; + return $this->error; + // It was done successfully + }elseif(!empty($resp['done'])){ + return 'done'; + } + } + + /** + * Single Sign On + * + * @author Chirag + * @param int $vid The VMs ID + * @return String login url + */ + function sso($vid){ + $resp = $this->call('index.php?svs='.$vid.'&act=sso'); + + $url = 'https://'.$this->ip.':'.$this->port.'/'.$resp['token_key'].'/?as='.$resp['sid'].'&svs='.$vid; + + if(!empty($resp['token_key']) && !empty($resp['sid'])){ + return $url; + }else{ + return false; + } + } + + /** + * VPS Domain Forwarding + * + * @author Ali + * @param int $vid: The VPS ID + * @param array $post : Array of VDF record id to be deleted + * @return array of domain forwarding records + */ + function vdf($post = array()){ + + $resp = $this->call('index.php?act=managevdf&svs='.$post['svs'],$post); + + return $resp; + } + + /** + * Create SSH Key + * + * @author Ali + * @param array $post : Array of name(SSH_KEY) and value(SSH KEY VALUE) + * @return array containing the message "The SSH key has been added successfully" + */ + + function addsshkey($post = array()){ + + $resp = $this->call('index.php?act=addsshkey', $post); + + return $resp; + } + + /** + * Edit SSH Key + * + * @author Ali + * @param int $keyid + * @param array $post : Array of name(SSH_KEY) and value(SSH KEY VALUE) + * @return array containing the message "The SSH key has been saved successfully" + */ + + function editsshkey($keyid, $post = array()){ + + $resp = $this->call('index.php?act=editsshkey&keyid='.$keyid, $post); + + return $resp; + } + + /** + * SSH Key + * + * @author Ali + * @param array $post : Array of ssh key id to be deleted (Optional) + * @return array + */ + + function sshkeys($post = array()){ + + if(empty($post)){ + $resps = $this->call('index.php?act=sshkeys'); + $resp['ssh_keys'] = $resps['ssh_keys']; + }else{ + $resp = $this->call('index.php?act=sshkeys', $post); + } + return $resp; + } + + /** + * Apply SSH Key + * + * @author Ali + * @param int $vid The VPS id + * @param array $post : Array of ssh key id to be Applied + * @return array + */ + + function applysshkeys($vid, $post = array()){ + + $resp = $this->call('index.php?act=sshkeys&svs='.$vid, $post); + + return $resp; + } + + function webuzo_scripts($vid){ + $path = 'index.php?act=webuzo&svs='.$vid; + $ret = $this->call($path); + return $ret; + } + + /** + * Install Webuzo Script + * + * @author Ali + * @param int $vid The VPS id + * @param array $post + * @return array + */ + + function installwebuzo($vid, $post = array()){ + + $resp = $this->call('index.php?act=webuzo&svs='.$vid, $post); + + return $resp; + } + + + +} + +////////////// +// Examples +////////////// + +//$v = new Virtualizor_Enduser_Cloud_API('127.0.0.1', '16_BIT_API_KEY', '32_BIT_API_PASS'); + +// Get the list of the VPS +//$v->r($v->listvs()); + +// Start a VPS +//echo $v->start(3); + +// Stop a VPS +//echo $v->stop(3); + +// Restart a VPS +//echo $v->restart(3); + +// Poweroff a VPS +//echo $v->poweroff(3); + +// Get the Status of a VPS +//echo $v->status(3); + +// Get the Hostname +//echo $v->hostname(4); + +// Change the Hostname +//$v->r($v->hostname(4, 'NEWHOSTNAME')); + +// CPU Details +//$v->r($v->cpu(4)); + +// Ram Details +//$v->r($v->ram(4)); + +// Disk Details +//$v->r($v->disk(4)); + +// Bandwidth Details for the Current Month +//$v->r($v->bandwidth(4)); + +// Bandwidth Details for the Month of May in 2012 +//$v->r($v->bandwidth(4, 201205)); + +// List the processes - OpenVZ only +//$v->r($v->processes(4)); + +// List the services - OpenVZ only +//$v->r($v->services(4)); + +// Change the Root Password of a Virtual Server ? +//$v->r($v->changepassword(4, 'test')); + +// Give the VNC Details - VNC must be enabled - Xen / KVM +//$v->r($v->vnc(4)); + +// Change the VNC Password - VNC must be enabled - Xen / KVM +//$v->r($v->vncpass(4, 'NEWpass')); + +// List available OS Templates +//$v->r($v->ostemplate(2)); + +// Reinstall the OS +//$v->r($v->ostemplate(4, 1, 'test')); + +// Install a Control Panel +//$v->r($v->controlpanel(4, 'cpanel')); + +// Add Enduser ISO +// $v->r($v->addiso('1', 'http.kali.org/dists/kali-rolling/main/installer-amd64/current/images/netboot/mini.iso', 'mini.iso')); + +// List Enduser ISO +// $v->r($v->listiso('1')); + +// Delete Enduser ISOs +// $v->r($v->deliso(1,'dmqoknjv4lovwhif')); ?> \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/sdk/index.html b/whmcs/modules/servers/virtualizor_cloud/sdk/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/sdk/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/sdk/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to
RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/style.css b/whmcs/modules/servers/virtualizor_cloud/style.css index facc5fb..659be86 100644 --- a/whmcs/modules/servers/virtualizor_cloud/style.css +++ b/whmcs/modules/servers/virtualizor_cloud/style.css @@ -1,115 +1,115 @@ -@charset "utf-8"; -/* CSS Document */ - -.oddrowcolor { -background-color: rgb(235, 245, 255); -} - -.cat_wrapper{ -margin-left:1px; -width:550px; -/*height:120px;*/ -box-shadow: 0px 3px 10px #999; --webkit-box-shadow: 0px 3px 10px #999; --moz-box-shadow: 0px 3px 10px #999; - -} - -.cat-title{ -text-align: left; -border:4px solid white; -background-image:url("images/catbg.png"); -background-repeat:repeat-x; -background-color:#FFFFFF; -} - -.vps-cat-title-text{ -color:white; -font-weight:normal; -font-size:large; -} - -.cat-title td { -height:25px; -/*border:1px solid #CCCCCC;*/ -} - -.cat-title td, .cat-title th { -padding: 5px 0; -} - -.cat-title-text{ -color:white; -height:5px; -font-weight:bold; -} - -.summaryBlock, .cbor{ -background-color:#FFFFFF; -border:1px solid #CCCCCC; -} - -.summaryTitle, .cbg { -background:url("images/shgbig.gif") repeat; -color:#000000; -font-weight:bold; -height:26px; -padding-right:8px; -text-decoration:none; -} - -.vps-desc-wrap{ -width:700px; -box-shadow: 0px 3px 10px #999; --webkit-box-shadow: 0px 3px 10px #999; --moz-box-shadow: 0px 3px 10px #999; -} - - -.divroundshad{ -padding: 3px; --moz-box-shadow: 0 0 10px 5px #E2E2E2; --webkit-box-shadow: 0 0 10px 5px #E2E2E2; -box-shadow: 0 0 10px 5px #E2E2E2; -border-radius: 5px; -border:1px solid #D2D2D2; -} - - -.roundheader{ -padding: 8px; -border-radius: 5px; -font-weight:bold; -color:#FFF; -background-image: url("images/rhbg.png"); -} - - -/* Form Related */ -.head{ -font-weight:bold; -font-size:11px; -color:#333333; -vertical-align:top; -background-color: #F9F9F9; -} - -.fhead{ -font-weight:bold; -color:#333333; -} - -.exp{ -color: #777777; -font-size:11px; -font-weight:normal; -} - -input[type="image"]{ -cursor: pointer; -height: auto; -line-height: normal; -margin: 3px 0; -padding: 0; -width: auto; +@charset "utf-8"; +/* CSS Document */ + +.oddrowcolor { +background-color: rgb(235, 245, 255); +} + +.cat_wrapper{ +margin-left:1px; +width:550px; +/*height:120px;*/ +box-shadow: 0px 3px 10px #999; +-webkit-box-shadow: 0px 3px 10px #999; +-moz-box-shadow: 0px 3px 10px #999; + +} + +.cat-title{ +text-align: left; +border:4px solid white; +background-image:url("images/catbg.png"); +background-repeat:repeat-x; +background-color:#FFFFFF; +} + +.vps-cat-title-text{ +color:white; +font-weight:normal; +font-size:large; +} + +.cat-title td { +height:25px; +/*border:1px solid #CCCCCC;*/ +} + +.cat-title td, .cat-title th { +padding: 5px 0; +} + +.cat-title-text{ +color:white; +height:5px; +font-weight:bold; +} + +.summaryBlock, .cbor{ +background-color:#FFFFFF; +border:1px solid #CCCCCC; +} + +.summaryTitle, .cbg { +background:url("images/shgbig.gif") repeat; +color:#000000; +font-weight:bold; +height:26px; +padding-right:8px; +text-decoration:none; +} + +.vps-desc-wrap{ +width:700px; +box-shadow: 0px 3px 10px #999; +-webkit-box-shadow: 0px 3px 10px #999; +-moz-box-shadow: 0px 3px 10px #999; +} + + +.divroundshad{ +padding: 3px; +-moz-box-shadow: 0 0 10px 5px #E2E2E2; +-webkit-box-shadow: 0 0 10px 5px #E2E2E2; +box-shadow: 0 0 10px 5px #E2E2E2; +border-radius: 5px; +border:1px solid #D2D2D2; +} + + +.roundheader{ +padding: 8px; +border-radius: 5px; +font-weight:bold; +color:#FFF; +background-image: url("images/rhbg.png"); +} + + +/* Form Related */ +.head{ +font-weight:bold; +font-size:11px; +color:#333333; +vertical-align:top; +background-color: #F9F9F9; +} + +.fhead{ +font-weight:bold; +color:#333333; +} + +.exp{ +color: #777777; +font-size:11px; +font-weight:normal; +} + +input[type="image"]{ +cursor: pointer; +height: auto; +line-height: normal; +margin: 3px 0; +padding: 0; +width: auto; } \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/all.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/all.min.css index 1cdc063..92b366c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/all.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/all.min.css @@ -1,5 +1,5 @@ -/*! - * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ +/*! + * Font Awesome Free 5.10.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ .fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url([[theme]]fonts/fa-brands-400.eot);src:url([[theme]]fonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url([[theme]]fonts/fa-brands-400.woff2) format("woff2"),url([[theme]]fonts/fa-brands-400.woff) format("woff"),url([[theme]]fonts/fa-brands-400.ttf) format("truetype"),url([[theme]]fonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url([[theme]]fonts/fa-regular-400.eot);src:url([[theme]]fonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url([[theme]]fonts/fa-regular-400.woff2) format("woff2"),url([[theme]]fonts/fa-regular-400.woff) format("woff"),url([[theme]]fonts/fa-regular-400.ttf) format("truetype"),url([[theme]]fonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url([[theme]]fonts/fa-solid-900.eot);src:url(./fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url([[theme]]fonts/fa-solid-900.woff2) format("woff2"),url([[theme]]fonts/fa-solid-900.woff) format("woff"),url([[theme]]fonts/fa-solid-900.ttf) format("truetype"),url([[theme]]fonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/bootstrap.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/bootstrap.min.css index 7c4b857..9bd03c5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/bootstrap.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/bootstrap.min.css @@ -1,6 +1,6 @@ -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors - * Copyright 2011-2019 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip{display:block}.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E");background-repeat:no-repeat;background-position:center right calc(.375em + .1875rem);background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc((1em + .75rem) * 3 / 4 + 1.75rem);background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px,url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3e%3cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E") #fff no-repeat center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip{display:block}.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right .75rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:calc(1rem + .4rem);padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-ms-flexbox;display:flex;-ms-flex:1 0 0%;flex:1 0 0%;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.25rem;border-bottom-right-radius:.25rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:0s .6s opacity}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/chosen.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/chosen.min.css index 99c2cfc..6d37352 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/chosen.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/chosen.min.css @@ -1,3 +1,3 @@ -/* Chosen v1.4.2 | (c) 2011-2015 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ - +/* Chosen v1.4.2 | (c) 2011-2015 by Harvest | MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md */ + .chosen-container{position:relative;display:inline-block;vertical-align:middle;font-size:13px;zoom:1;*display:inline;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chosen-container *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.chosen-container .chosen-drop{position:absolute;top:100%;left:-9999px;z-index:1010;width:100%;border:1px solid #aaa;border-top:0;background:#fff;box-shadow:0 4px 5px rgba(0,0,0,.15)}.chosen-container.chosen-with-drop .chosen-drop{left:0}.chosen-container a{cursor:pointer}.chosen-container .search-choice .group-name,.chosen-container .chosen-single .group-name{margin-right:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:400;color:#999}.chosen-container .search-choice .group-name:after,.chosen-container .chosen-single .group-name:after{content:":";padding-left:2px;vertical-align:top}.chosen-container-single .chosen-single{position:relative;display:block;overflow:hidden;padding:0 0 0 8px;height:25px;border:1px solid #aaa;border-radius:5px;background-color:#fff;background:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#fff),color-stop(50%,#f6f6f6),color-stop(52%,#eee),color-stop(100%,#f4f4f4));background:-webkit-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-moz-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:-o-linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background:linear-gradient(top,#fff 20%,#f6f6f6 50%,#eee 52%,#f4f4f4 100%);background-clip:padding-box;box-shadow:0 0 3px #fff inset,0 1px 1px rgba(0,0,0,.1);color:#444;text-decoration:none;white-space:nowrap;line-height:24px}.chosen-container-single .chosen-default{color:#999}.chosen-container-single .chosen-single span{display:block;overflow:hidden;margin-right:26px;text-overflow:ellipsis;white-space:nowrap}.chosen-container-single .chosen-single-with-deselect span{margin-right:38px}.chosen-container-single .chosen-single abbr{position:absolute;top:6px;right:26px;display:block;width:12px;height:12px;background:url("[[images]]chosen-sprite.png") -42px 1px no-repeat;font-size:1px}.chosen-container-single .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single.chosen-disabled .chosen-single abbr:hover{background-position:-42px -10px}.chosen-container-single .chosen-single div{position:absolute;top:0;right:0;display:block;width:18px;height:100%}.chosen-container-single .chosen-single div b{display:block;width:100%;height:100%;background:url("[[images]]chosen-sprite.png") no-repeat 0 2px}.chosen-container-single .chosen-search{position:relative;z-index:1010;margin:0;padding:3px 4px;white-space:nowrap}.chosen-container-single .chosen-search input[type=text]{margin:1px 0;padding:4px 20px 4px 5px;width:100%;height:auto;outline:0;border:1px solid #aaa;background:#fff url("[[images]]chosen-sprite.png") no-repeat 100% -20px;background:url("[[images]]chosen-sprite.png") no-repeat 100% -20px;font-size:1em;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-single .chosen-drop{margin-top:-1px;border-radius:0 0 4px 4px;background-clip:padding-box}.chosen-container-single.chosen-container-single-nosearch .chosen-search{position:absolute;left:-9999px}.chosen-container .chosen-results{color:#444;position:relative;overflow-x:hidden;overflow-y:auto;margin:0 4px 4px 0;padding:0 0 0 4px;max-height:240px;-webkit-overflow-scrolling:touch}.chosen-container .chosen-results li{display:none;margin:0;padding:5px 6px;list-style:none;line-height:15px;word-wrap:break-word;-webkit-touch-callout:none}.chosen-container .chosen-results li.active-result{display:list-item;cursor:pointer}.chosen-container .chosen-results li.disabled-result{display:list-item;color:#ccc;cursor:default}.chosen-container .chosen-results li.highlighted{background-color:#3875d7;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#3875d7),color-stop(90%,#2a62bc));background-image:-webkit-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-moz-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:-o-linear-gradient(#3875d7 20%,#2a62bc 90%);background-image:linear-gradient(#3875d7 20%,#2a62bc 90%);color:#fff}.chosen-container .chosen-results li.no-results{color:#777;display:list-item;background:#f4f4f4}.chosen-container .chosen-results li.group-result{display:list-item;font-weight:700;cursor:default}.chosen-container .chosen-results li.group-option{padding-left:15px}.chosen-container .chosen-results li em{font-style:normal;text-decoration:underline}.chosen-container-multi .chosen-choices{position:relative;overflow:hidden;margin:0;padding:0 5px;width:100%;height:auto!important;height:1%;border:1px solid #aaa;background-color:#fff;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(1%,#eee),color-stop(15%,#fff));background-image:-webkit-linear-gradient(#eee 1%,#fff 15%);background-image:-moz-linear-gradient(#eee 1%,#fff 15%);background-image:-o-linear-gradient(#eee 1%,#fff 15%);background-image:linear-gradient(#eee 1%,#fff 15%);cursor:text}.chosen-container-multi .chosen-choices li{float:left;list-style:none}.chosen-container-multi .chosen-choices li.search-field{margin:0;padding:0;white-space:nowrap}.chosen-container-multi .chosen-choices li.search-field input[type=text]{margin:1px 0;padding:0;height:25px;outline:0;border:0!important;background:transparent!important;box-shadow:none;color:#999;font-size:100%;font-family:sans-serif;line-height:normal;border-radius:0}.chosen-container-multi .chosen-choices li.search-choice{position:relative;margin:3px 5px 3px 0;padding:3px 20px 3px 5px;border:1px solid #aaa;max-width:100%;border-radius:3px;background-color:#eee;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-size:100% 19px;background-repeat:repeat-x;background-clip:padding-box;box-shadow:0 0 2px #fff inset,0 1px 0 rgba(0,0,0,.05);color:#333;line-height:13px;cursor:default}.chosen-container-multi .chosen-choices li.search-choice span{word-wrap:break-word}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close{position:absolute;top:4px;right:3px;display:block;width:12px;height:12px;background:url("[[images]]chosen-sprite.png") -42px 1px no-repeat;font-size:1px}.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover{background-position:-42px -10px}.chosen-container-multi .chosen-choices li.search-choice-disabled{padding-right:5px;border:1px solid #ccc;background-color:#e4e4e4;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#f4f4f4),color-stop(50%,#f0f0f0),color-stop(52%,#e8e8e8),color-stop(100%,#eee));background-image:-webkit-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-moz-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:-o-linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);background-image:linear-gradient(top,#f4f4f4 20%,#f0f0f0 50%,#e8e8e8 52%,#eee 100%);color:#666}.chosen-container-multi .chosen-choices li.search-choice-focus{background:#d4d4d4}.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close{background-position:-42px -10px}.chosen-container-multi .chosen-results{margin:0;padding:0}.chosen-container-multi .chosen-drop .result-selected{display:list-item;color:#ccc;cursor:default}.chosen-container-active .chosen-single{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active.chosen-with-drop .chosen-single{border:1px solid #aaa;-moz-border-radius-bottomright:0;border-bottom-right-radius:0;-moz-border-radius-bottomleft:0;border-bottom-left-radius:0;background-image:-webkit-gradient(linear,50% 0,50% 100%,color-stop(20%,#eee),color-stop(80%,#fff));background-image:-webkit-linear-gradient(#eee 20%,#fff 80%);background-image:-moz-linear-gradient(#eee 20%,#fff 80%);background-image:-o-linear-gradient(#eee 20%,#fff 80%);background-image:linear-gradient(#eee 20%,#fff 80%);box-shadow:0 1px 0 #fff inset}.chosen-container-active.chosen-with-drop .chosen-single div{border-left:0;background:transparent}.chosen-container-active.chosen-with-drop .chosen-single div b{background-position:-18px 2px}.chosen-container-active .chosen-choices{border:1px solid #5897fb;box-shadow:0 0 5px rgba(0,0,0,.3)}.chosen-container-active .chosen-choices li.search-field input[type=text]{color:#222!important}.chosen-disabled{opacity:.5!important;cursor:default}.chosen-disabled .chosen-single{cursor:default}.chosen-disabled .chosen-choices .search-choice .search-choice-close{cursor:default}.chosen-rtl{text-align:right}.chosen-rtl .chosen-single{overflow:visible;padding:0 8px 0 0}.chosen-rtl .chosen-single span{margin-right:0;margin-left:26px;direction:rtl}.chosen-rtl .chosen-single-with-deselect span{margin-left:38px}.chosen-rtl .chosen-single div{right:auto;left:3px}.chosen-rtl .chosen-single abbr{right:auto;left:26px}.chosen-rtl .chosen-choices li{float:right}.chosen-rtl .chosen-choices li.search-field input[type=text]{direction:rtl}.chosen-rtl .chosen-choices li.search-choice{margin:3px 5px 3px 0;padding:3px 5px 3px 19px}.chosen-rtl .chosen-choices li.search-choice .search-choice-close{right:auto;left:4px}.chosen-rtl.chosen-container-single-nosearch .chosen-search,.chosen-rtl .chosen-drop{left:9999px}.chosen-rtl.chosen-container-single .chosen-results{margin:0 0 4px 4px;padding:0 4px 0 0}.chosen-rtl .chosen-results li.group-option{padding-right:15px;padding-left:0}.chosen-rtl.chosen-container-active.chosen-with-drop .chosen-single div{border-right:0}.chosen-rtl .chosen-search input[type=text]{padding:4px 5px 4px 20px;background:#fff url("[[images]]chosen-sprite.png") no-repeat -30px -20px;background:url("[[images]]chosen-sprite.png") no-repeat -30px -20px;direction:rtl}.chosen-rtl.chosen-container-single .chosen-single div b{background-position:6px 2px}.chosen-rtl.chosen-container-single.chosen-with-drop .chosen-single div b{background-position:-12px 2px}@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min-resolution:144dpi),only screen and (min-resolution:1.5dppx){.chosen-rtl .chosen-search input[type=text],.chosen-container-single .chosen-single abbr,.chosen-container-single .chosen-single div b,.chosen-container-single .chosen-search input[type=text],.chosen-container-multi .chosen-choices .search-choice .search-choice-close,.chosen-container .chosen-results-scroll-down span,.chosen-container .chosen-results-scroll-up span{background-image:url(chosen-sprite@2x.png)!important;background-size:52px 37px!important;background-repeat:no-repeat!important}} \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/font-awesome.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/font-awesome.min.css index 68960b0..dab4eff 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/font-awesome.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/font-awesome.min.css @@ -1,4 +1,4 @@ -/*! - * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */@font-face{font-family:'FontAwesome';src:url('[[theme]]/css2/fonts/fontawesome-webfont.eot?v=4.2.0');src:url('[[theme]]/css2/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('[[theme]]/css2/fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('[[theme]]/css2/fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('[[theme]]/css2/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:1.7em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/OpenSans-Regular.svg b/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/OpenSans-Regular.svg index 9b5d681..a7118af 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/OpenSans-Regular.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/OpenSans-Regular.svg @@ -1,252 +1,252 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/fontawesome-webfont.svg b/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/fontawesome-webfont.svg index d907b25..0505e2c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/fontawesome-webfont.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/fonts/fontawesome-webfont.svg @@ -1,520 +1,520 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/ie7.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/ie7.css index a72bde5..8e122aa 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/ie7.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/ie7.css @@ -1,503 +1,503 @@ -@font-face { - font-family: 'fa'; - src:url('../fonts/virt.eot?-cky9kd'); - src:url('../fonts/virt.eot?#iefix-cky9kd') format('embedded-opentype'), - url('../fonts/virt.woff?-cky9kd') format('woff'), - url('../fonts/virt.ttf?-cky9kd') format('truetype'), - url('../fonts/virt.svg?-cky9kd#virt') format('svg'); - font-weight: normal; - font-style: normal; -} - -[class^="fa-"], [class*=" fa-"] { - font-family: 'fa'; - speak: none; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.fa-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-envelope-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-star-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-th-large{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-th{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-th-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-check{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-remove{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-search-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-search-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-power-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-signal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gear{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-trash-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-home{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-clock-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-road{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-inbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-play-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rotate-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-refresh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-list-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-lock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-headphones{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-volume-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-volume-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-volume-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-qrcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-barcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tags{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-book{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bookmark{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-print{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-font{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bold{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-italic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-text-height{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-text-width{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-align-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-align-center{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-align-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-align-justify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dedent{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-indent{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-video-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-photo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pencil{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-map-marker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-adjust{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tint{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-share-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-check-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-step-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fast-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pause{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fast-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-step-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-eject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plus-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-minus-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-times-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-check-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-question-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-info-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-crosshairs{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-times-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-check-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ban{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-mail-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-expand{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-compress{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-asterisk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-exclamation-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gift{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-leaf{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fire{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-eye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-eye-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-warning{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plane{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-calendar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-random{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-magnet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-retweet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-shopping-cart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-folder{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-folder-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrows-v{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrows-h{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bar-chart-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-twitter-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-facebook-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-camera-retro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-key{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gears{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-comments{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-thumbs-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-thumbs-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-star-half{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-heart-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sign-out{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-linkedin-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-thumb-tack{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-external-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sign-in{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-trophy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-github-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-lemon-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bookmark-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-phone-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-twitter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-facebook{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-github{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-unlock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-credit-card{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rss{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hdd-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bullhorn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bell{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-certificate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hand-o-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hand-o-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hand-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hand-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-globe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tasks{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-filter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-briefcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrows-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-group{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chain{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flask{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cut{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paperclip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-save{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-navicon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-list-ul{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-list-ol{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-strikethrough{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-underline{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-table{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-magic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-truck{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pinterest{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pinterest-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-google-plus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-google-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-money{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-caret-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-caret-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-caret-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-caret-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-columns{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-unsorted{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-envelope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-linkedin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rotate-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-legal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dashboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-comment-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-comments-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sitemap{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-umbrella{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paste{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-lightbulb-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cloud-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cloud-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-user-md{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stethoscope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-suitcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bell-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-coffee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cutlery{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-text-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-building-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hospital-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ambulance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-medkit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fighter-jet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-beer{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-h-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-double-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-double-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-double-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-double-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-desktop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-laptop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tablet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-mobile-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-quote-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-quote-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-spinner{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-mail-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-github-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-folder-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-folder-open-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-smile-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-frown-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-meh-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gamepad{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-keyboard-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flag-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flag-checkered{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-terminal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-code{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-mail-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-star-half-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-location-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-crop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-code-fork{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-unlink{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-question{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-info{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-exclamation{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-superscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-subscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-eraser{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-puzzle-piece{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-microphone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-microphone-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-shield{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-calendar-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fire-extinguisher{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rocket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-maxcdn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-circle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-circle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-circle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-chevron-circle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-html5{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-css3{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-anchor{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-unlock-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bullseye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ellipsis-h{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ellipsis-v{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rss-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-play-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ticket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-minus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-minus-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-level-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-level-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-check-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pencil-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-external-link-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-share-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-compass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-euro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gbp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dollar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-rupee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cny{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ruble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-won{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bitcoin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-text{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-alpha-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-alpha-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-amount-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-amount-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-numeric-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sort-numeric-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-thumbs-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-thumbs-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-youtube-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-youtube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-xing{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-xing-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-youtube-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dropbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stack-overflow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-instagram{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-flickr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-adn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bitbucket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bitbucket-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tumblr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tumblr-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-long-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-long-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-long-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-long-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-apple{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-windows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-android{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-linux{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dribbble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-skype{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-foursquare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-trello{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-female{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-male{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-gittip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sun-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-moon-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-archive{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-vk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-renren{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pagelines{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stack-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-o-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-arrow-circle-o-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-dot-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-wheelchair{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-vimeo-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-turkish-lira{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plus-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-space-shuttle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-slack{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-envelope-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-wordpress{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-openid{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-institution{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-mortar-board{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-yahoo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-google{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-reddit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-reddit-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stumbleupon-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-stumbleupon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-delicious{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-digg{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pied-piper{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pied-piper-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-drupal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-joomla{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-language{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-fax{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-building{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-child{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paw{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-spoon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cubes{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-behance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-behance-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-steam{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-steam-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-recycle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-automobile{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cab{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tree{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-spotify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-deviantart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-soundcloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-database{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-pdf-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-word-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-excel-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-powerpoint-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-photo-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-zip-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-sound-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-movie-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-file-code-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-vine{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-codepen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-jsfiddle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-life-bouy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-circle-o-notch{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ra{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ge{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-git-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-git{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-hacker-news{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tencent-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-qq{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-wechat{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-send{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-send-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-history{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-circle-thin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-header{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paragraph{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-sliders{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-share-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-share-alt-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bomb{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-soccer-ball-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-tty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-binoculars{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-plug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-slideshare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-twitch{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-yelp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-newspaper-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-wifi{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-calculator{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paypal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-google-wallet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-visa{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-mastercard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-discover{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-amex{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-paypal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc-stripe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bell-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bell-slash-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-trash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-copyright{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-at{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-eyedropper{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-paint-brush{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-birthday-cake{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-area-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-pie-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-line-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-lastfm{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-lastfm-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-toggle-on{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bicycle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-bus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-ioxhost{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-angellist{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-cc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} -.fa-shekel{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +@font-face { + font-family: 'fa'; + src:url('../fonts/virt.eot?-cky9kd'); + src:url('../fonts/virt.eot?#iefix-cky9kd') format('embedded-opentype'), + url('../fonts/virt.woff?-cky9kd') format('woff'), + url('../fonts/virt.ttf?-cky9kd') format('truetype'), + url('../fonts/virt.svg?-cky9kd#virt') format('svg'); + font-weight: normal; + font-style: normal; +} + +[class^="fa-"], [class*=" fa-"] { + font-family: 'fa'; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + + /* Better Font Rendering =========== */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fa-glass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-music{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-search{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-envelope-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-heart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-star{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-star-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-user{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-film{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-th-large{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-th{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-th-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-check{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-remove{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-search-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-search-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-power-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-signal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gear{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-trash-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-home{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-clock-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-road{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-inbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-play-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rotate-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-refresh{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-list-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-lock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-headphones{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-volume-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-volume-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-volume-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-qrcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-barcode{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tag{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tags{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-book{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bookmark{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-print{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-font{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bold{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-italic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-text-height{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-text-width{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-align-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-align-center{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-align-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-align-justify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-list{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dedent{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-indent{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-video-camera{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-photo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pencil{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-map-marker{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-adjust{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tint{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-edit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-share-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-check-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-step-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fast-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-backward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pause{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fast-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-step-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-eject{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plus-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-minus-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-times-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-check-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-question-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-info-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-crosshairs{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-times-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-check-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ban{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-mail-forward{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-expand{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-compress{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-minus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-asterisk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-exclamation-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gift{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-leaf{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fire{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-eye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-eye-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-warning{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plane{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-calendar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-random{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-comment{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-magnet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-retweet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-shopping-cart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-folder{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-folder-open{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrows-v{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrows-h{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bar-chart-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-twitter-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-facebook-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-camera-retro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-key{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gears{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-comments{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-thumbs-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-thumbs-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-star-half{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-heart-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sign-out{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-linkedin-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-thumb-tack{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-external-link{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sign-in{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-trophy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-github-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-lemon-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bookmark-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-phone-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-twitter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-facebook{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-github{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-unlock{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-credit-card{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rss{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hdd-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bullhorn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bell{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-certificate{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hand-o-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hand-o-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hand-o-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hand-o-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-globe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-wrench{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tasks{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-filter{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-briefcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrows-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-group{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chain{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flask{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cut{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-copy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paperclip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-save{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-navicon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-list-ul{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-list-ol{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-strikethrough{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-underline{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-table{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-magic{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-truck{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pinterest{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pinterest-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-google-plus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-google-plus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-money{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-caret-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-caret-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-caret-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-caret-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-columns{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-unsorted{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-envelope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-linkedin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rotate-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-legal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dashboard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-comment-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-comments-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sitemap{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-umbrella{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paste{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-lightbulb-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cloud-download{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cloud-upload{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-user-md{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stethoscope{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-suitcase{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bell-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-coffee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cutlery{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-text-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-building-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hospital-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ambulance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-medkit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fighter-jet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-beer{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-h-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-double-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-double-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-double-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-double-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-desktop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-laptop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tablet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-mobile-phone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-quote-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-quote-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-spinner{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-mail-reply{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-github-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-folder-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-folder-open-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-smile-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-frown-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-meh-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gamepad{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-keyboard-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flag-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flag-checkered{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-terminal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-code{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-mail-reply-all{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-star-half-empty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-location-arrow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-crop{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-code-fork{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-unlink{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-question{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-info{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-exclamation{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-superscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-subscript{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-eraser{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-puzzle-piece{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-microphone{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-microphone-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-shield{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-calendar-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fire-extinguisher{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rocket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-maxcdn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-circle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-circle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-circle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-chevron-circle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-html5{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-css3{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-anchor{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-unlock-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bullseye{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ellipsis-h{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ellipsis-v{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rss-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-play-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ticket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-minus-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-minus-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-level-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-level-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-check-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pencil-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-external-link-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-share-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-compass{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-euro{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gbp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dollar{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-rupee{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cny{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ruble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-won{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bitcoin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-text{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-alpha-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-alpha-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-amount-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-amount-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-numeric-asc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sort-numeric-desc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-thumbs-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-thumbs-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-youtube-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-youtube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-xing{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-xing-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-youtube-play{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dropbox{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stack-overflow{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-instagram{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-flickr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-adn{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bitbucket{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bitbucket-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tumblr{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tumblr-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-long-arrow-down{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-long-arrow-up{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-long-arrow-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-long-arrow-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-apple{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-windows{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-android{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-linux{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dribbble{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-skype{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-foursquare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-trello{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-female{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-male{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-gittip{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sun-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-moon-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-archive{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-vk{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-renren{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pagelines{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stack-exchange{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-o-right{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-arrow-circle-o-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-left{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-dot-circle-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-wheelchair{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-vimeo-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-turkish-lira{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plus-square-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-space-shuttle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-slack{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-envelope-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-wordpress{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-openid{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-institution{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-mortar-board{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-yahoo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-google{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-reddit{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-reddit-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stumbleupon-circle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-stumbleupon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-delicious{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-digg{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pied-piper{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pied-piper-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-drupal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-joomla{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-language{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-fax{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-building{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-child{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paw{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-spoon{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cube{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cubes{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-behance{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-behance-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-steam{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-steam-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-recycle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-automobile{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cab{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tree{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-spotify{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-deviantart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-soundcloud{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-database{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-pdf-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-word-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-excel-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-powerpoint-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-photo-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-zip-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-sound-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-movie-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-file-code-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-vine{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-codepen{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-jsfiddle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-life-bouy{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-circle-o-notch{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ra{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ge{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-git-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-git{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-hacker-news{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tencent-weibo{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-qq{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-wechat{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-send{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-send-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-history{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-circle-thin{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-header{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paragraph{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-sliders{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-share-alt{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-share-alt-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bomb{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-soccer-ball-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-tty{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-binoculars{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-plug{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-slideshare{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-twitch{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-yelp{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-newspaper-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-wifi{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-calculator{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paypal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-google-wallet{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-visa{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-mastercard{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-discover{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-amex{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-paypal{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc-stripe{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bell-slash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bell-slash-o{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-trash{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-copyright{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-at{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-eyedropper{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-paint-brush{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-birthday-cake{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-area-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-pie-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-line-chart{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-lastfm{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-lastfm-square{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-off{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-toggle-on{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bicycle{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-bus{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-ioxhost{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-angellist{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-cc{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} +.fa-shekel{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} .fa-meanpath{*zoom:expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '');} \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery-ui.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery-ui.min.css index f5e2add..ab5c434 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery-ui.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery-ui.min.css @@ -1,7 +1,7 @@ -/*! jQuery UI - v1.11.4 - 2015-04-17 -* http://jqueryui.com -* Includes: core.css, draggable.css, sortable.css, theme.css -* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px -* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - +/*! jQuery UI - v1.11.4 - 2015-04-17 +* http://jqueryui.com +* Includes: core.css, draggable.css, sortable.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + .ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-clearfix{min-height:0}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-widget{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1.1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;font-size:1em}.ui-widget-content{border:1px solid #ddd;background:#eee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #e78f08;background:#f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;color:#fff;font-weight:bold}.ui-widget-header a{color:#fff}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border:1px solid #ccc;background:#f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#1c94c4}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited{color:#1c94c4;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus{border:1px solid #fbcb09;background:#fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#c77405}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited{color:#c77405;text-decoration:none}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{border:1px solid #fbd850;background:#fff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x;font-weight:bold;color:#eb8f00}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#eb8f00;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #fed22f;background:#ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x;color:#363636}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:#b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat;color:#fff}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#fff}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#fff}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_222222_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-default .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-active .ui-icon{background-image:url("images/ui-icons_ef8c08_256x240.png")}.ui-state-highlight .ui-icon{background-image:url("images/ui-icons_228ef1_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_ffd27a_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-carat-1-n{background-position:0 0}.ui-icon-carat-1-ne{background-position:-16px 0}.ui-icon-carat-1-e{background-position:-32px 0}.ui-icon-carat-1-se{background-position:-48px 0}.ui-icon-carat-1-s{background-position:-64px 0}.ui-icon-carat-1-sw{background-position:-80px 0}.ui-icon-carat-1-w{background-position:-96px 0}.ui-icon-carat-1-nw{background-position:-112px 0}.ui-icon-carat-2-n-s{background-position:-128px 0}.ui-icon-carat-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-64px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-64px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:0 -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:4px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:4px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:4px}.ui-widget-overlay{background:#666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat;opacity:.5;filter:Alpha(Opacity=50)}.ui-widget-shadow{margin:-5px 0 0 -5px;padding:5px;background:#000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x;opacity:.2;filter:Alpha(Opacity=20);border-radius:5px} \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.css index d136681..3d3926c 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.css @@ -1,455 +1,455 @@ -/* - * Table styles - */ -table.dataTable { - width: 100%; - margin: 0 auto; - clear: both; - border-collapse: separate; - border-spacing: 0; - /* - * Header and footer styles - */ - /* - * Body styles - */ -} -table.dataTable thead th, -table.dataTable tfoot th { - font-weight: bold; -} -table.dataTable thead th, -table.dataTable thead td { - padding: 10px 18px; - border-bottom: 1px solid #111; -} -table.dataTable thead th:active, -table.dataTable thead td:active { - outline: none; -} -table.dataTable tfoot th, -table.dataTable tfoot td { - padding: 10px 18px 6px 18px; - border-top: 1px solid #111; -} -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc { - cursor: pointer; - *cursor: hand; -} -table.dataTable thead .sorting, -table.dataTable thead .sorting_asc, -table.dataTable thead .sorting_desc, -table.dataTable thead .sorting_asc_disabled, -table.dataTable thead .sorting_desc_disabled { - background-repeat: no-repeat; - background-position: center right; -} -table.dataTable thead .sorting { - background-image: url("[[images]]sort_both.png"); -} -table.dataTable thead .sorting_asc { - background-image: url("[[images]]sort_asc.png"); -} -table.dataTable thead .sorting_desc { - background-image: url("[[images]]sort_desc.png"); -} -table.dataTable thead .sorting_asc_disabled { - background-image: url("[[images]]sort_asc_disabled.png"); -} -table.dataTable thead .sorting_desc_disabled { - background-image: url("[[images]]sort_desc_disabled.png"); -} -table.dataTable tbody tr { - background-color: #ffffff; -} -table.dataTable tbody tr.selected { - background-color: #B0BED9; -} -table.dataTable tbody th, -table.dataTable tbody td { - padding: 8px 10px; -} -table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td { - border-top: 1px solid #ddd; -} -table.dataTable.row-border tbody tr:first-child th, -table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th, -table.dataTable.display tbody tr:first-child td { - border-top: none; -} -table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td { - border-top: 1px solid #ddd; - border-right: 1px solid #ddd; -} -table.dataTable.cell-border tbody tr th:first-child, -table.dataTable.cell-border tbody tr td:first-child { - border-left: 1px solid #ddd; -} -table.dataTable.cell-border tbody tr:first-child th, -table.dataTable.cell-border tbody tr:first-child td { - border-top: none; -} -table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd { - background-color: #f9f9f9; -} -table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected { - background-color: #abb9d3; -} -table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover { - background-color: whitesmoke; -} -table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected { - background-color: #a9b7d1; -} -table.dataTable.order-column tbody tr > .sorting_1, -table.dataTable.order-column tbody tr > .sorting_2, -table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1, -table.dataTable.display tbody tr > .sorting_2, -table.dataTable.display tbody tr > .sorting_3 { - background-color: #f9f9f9; -} -table.dataTable.order-column tbody tr.selected > .sorting_1, -table.dataTable.order-column tbody tr.selected > .sorting_2, -table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1, -table.dataTable.display tbody tr.selected > .sorting_2, -table.dataTable.display tbody tr.selected > .sorting_3 { - background-color: #acbad4; -} -table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 { - background-color: #f1f1f1; -} -table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 { - background-color: #f3f3f3; -} -table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 { - background-color: whitesmoke; -} -table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 { - background-color: #a6b3cd; -} -table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 { - background-color: #a7b5ce; -} -table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 { - background-color: #a9b6d0; -} -table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 { - background-color: #f9f9f9; -} -table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 { - background-color: #fbfbfb; -} -table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 { - background-color: #fdfdfd; -} -table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 { - background-color: #acbad4; -} -table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 { - background-color: #adbbd6; -} -table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 { - background-color: #afbdd8; -} -table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { - background-color: #eaeaea; -} -table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { - background-color: #ebebeb; -} -table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { - background-color: #eeeeee; -} -table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { - background-color: #a1aec7; -} -table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { - background-color: #a2afc8; -} -table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { - background-color: #a4b2cb; -} -table.dataTable.no-footer { - border-bottom: 1px solid #111; -} -table.dataTable.nowrap th, table.dataTable.nowrap td { - white-space: nowrap; -} -table.dataTable.compact thead th, -table.dataTable.compact thead td { - padding: 4px 17px 4px 4px; -} -table.dataTable.compact tfoot th, -table.dataTable.compact tfoot td { - padding: 4px; -} -table.dataTable.compact tbody th, -table.dataTable.compact tbody td { - padding: 4px; -} -table.dataTable th.dt-left, -table.dataTable td.dt-left { - text-align: left; -} -table.dataTable th.dt-center, -table.dataTable td.dt-center, -table.dataTable td.dataTables_empty { - text-align: center; -} -table.dataTable th.dt-right, -table.dataTable td.dt-right { - text-align: right; -} -table.dataTable th.dt-justify, -table.dataTable td.dt-justify { - text-align: justify; -} -table.dataTable th.dt-nowrap, -table.dataTable td.dt-nowrap { - white-space: nowrap; -} -table.dataTable thead th.dt-head-left, -table.dataTable thead td.dt-head-left, -table.dataTable tfoot th.dt-head-left, -table.dataTable tfoot td.dt-head-left { - text-align: left; -} -table.dataTable thead th.dt-head-center, -table.dataTable thead td.dt-head-center, -table.dataTable tfoot th.dt-head-center, -table.dataTable tfoot td.dt-head-center { - text-align: center; -} -table.dataTable thead th.dt-head-right, -table.dataTable thead td.dt-head-right, -table.dataTable tfoot th.dt-head-right, -table.dataTable tfoot td.dt-head-right { - text-align: right; -} -table.dataTable thead th.dt-head-justify, -table.dataTable thead td.dt-head-justify, -table.dataTable tfoot th.dt-head-justify, -table.dataTable tfoot td.dt-head-justify { - text-align: justify; -} -table.dataTable thead th.dt-head-nowrap, -table.dataTable thead td.dt-head-nowrap, -table.dataTable tfoot th.dt-head-nowrap, -table.dataTable tfoot td.dt-head-nowrap { - white-space: nowrap; -} -table.dataTable tbody th.dt-body-left, -table.dataTable tbody td.dt-body-left { - text-align: left; -} -table.dataTable tbody th.dt-body-center, -table.dataTable tbody td.dt-body-center { - text-align: center; -} -table.dataTable tbody th.dt-body-right, -table.dataTable tbody td.dt-body-right { - text-align: right; -} -table.dataTable tbody th.dt-body-justify, -table.dataTable tbody td.dt-body-justify { - text-align: justify; -} -table.dataTable tbody th.dt-body-nowrap, -table.dataTable tbody td.dt-body-nowrap { - white-space: nowrap; -} - -table.dataTable, -table.dataTable th, -table.dataTable td { - -webkit-box-sizing: content-box; - -moz-box-sizing: content-box; - box-sizing: content-box; -} - -/* - * Control feature layout - */ -.dataTables_wrapper { - position: relative; - clear: both; - *zoom: 1; - zoom: 1; -} -.dataTables_wrapper .dataTables_length { - float: left; -} -.dataTables_wrapper .dataTables_filter { - float: right; - text-align: right; -} -.dataTables_wrapper .dataTables_filter input { - margin-left: 0.5em; -} -.dataTables_wrapper .dataTables_info { - clear: both; - float: left; - padding-top: 0.755em; -} -.dataTables_wrapper .dataTables_paginate { - float: right; - text-align: right; - padding-top: 0.25em; -} -.dataTables_wrapper .dataTables_paginate .paginate_button { - box-sizing: border-box; - display: inline-block; - min-width: 1.5em; - padding: 0.5em 1em; - margin-left: 2px; - text-align: center; - text-decoration: none !important; - cursor: pointer; - *cursor: hand; - color: #333 !important; - border: 1px solid transparent; -} -.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { - color: #333 !important; - border: 1px solid #cacaca; - background-color: white; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%); - /* IE10+ */ - background: -o-linear-gradient(top, white 0%, #dcdcdc 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, white 0%, #dcdcdc 100%); - /* W3C */ -} -.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { - cursor: default; - color: #666 !important; - border: 1px solid transparent; - background: transparent; - box-shadow: none; -} -.dataTables_wrapper .dataTables_paginate .paginate_button:hover { - color: white !important; - border: 1px solid #111; - background-color: #585858; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #585858 0%, #111 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, #585858 0%, #111 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, #585858 0%, #111 100%); - /* IE10+ */ - background: -o-linear-gradient(top, #585858 0%, #111 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, #585858 0%, #111 100%); - /* W3C */ -} -.dataTables_wrapper .dataTables_paginate .paginate_button:active { - outline: none; - background-color: #2b2b2b; - background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); - /* IE10+ */ - background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); - /* Opera 11.10+ */ - background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); - /* W3C */ - box-shadow: inset 0 0 3px #111; -} -.dataTables_wrapper .dataTables_paginate .ellipsis { - padding: 0 1em; -} -.dataTables_wrapper .dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 100%; - height: 40px; - margin-left: -50%; - margin-top: -25px; - padding-top: 20px; - text-align: center; - font-size: 1.2em; - background-color: white; - background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0))); - /* Chrome,Safari4+ */ - background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); - /* Chrome10+,Safari5.1+ */ - background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); - /* FF3.6+ */ - background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); - /* IE10+ */ - background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); - /* Opera 11.10+ */ - background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); - /* W3C */ -} -.dataTables_wrapper .dataTables_length, -.dataTables_wrapper .dataTables_filter, -.dataTables_wrapper .dataTables_info, -.dataTables_wrapper .dataTables_processing, -.dataTables_wrapper .dataTables_paginate { - color: #333; -} -.dataTables_wrapper .dataTables_scroll { - clear: both; -} -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody { - *margin-top: -1px; - -webkit-overflow-scrolling: touch; -} -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing, -.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing { - height: 0; - overflow: hidden; - margin: 0 !important; - padding: 0 !important; -} -.dataTables_wrapper.no-footer .dataTables_scrollBody { - border-bottom: 1px solid #111; -} -.dataTables_wrapper.no-footer div.dataTables_scrollHead table, -.dataTables_wrapper.no-footer div.dataTables_scrollBody table { - border-bottom: none; -} -.dataTables_wrapper:after { - visibility: hidden; - display: block; - content: ""; - clear: both; - height: 0; -} - -@media screen and (max-width: 767px) { - .dataTables_wrapper .dataTables_info, - .dataTables_wrapper .dataTables_paginate { - float: none; - text-align: center; - } - .dataTables_wrapper .dataTables_paginate { - margin-top: 0.5em; - } -} -@media screen and (max-width: 640px) { - .dataTables_wrapper .dataTables_length, - .dataTables_wrapper .dataTables_filter { - float: none; - text-align: center; - } - .dataTables_wrapper .dataTables_filter { - margin-top: 0.5em; - } -} +/* + * Table styles + */ +table.dataTable { + width: 100%; + margin: 0 auto; + clear: both; + border-collapse: separate; + border-spacing: 0; + /* + * Header and footer styles + */ + /* + * Body styles + */ +} +table.dataTable thead th, +table.dataTable tfoot th { + font-weight: bold; +} +table.dataTable thead th, +table.dataTable thead td { + padding: 10px 18px; + border-bottom: 1px solid #111; +} +table.dataTable thead th:active, +table.dataTable thead td:active { + outline: none; +} +table.dataTable tfoot th, +table.dataTable tfoot td { + padding: 10px 18px 6px 18px; + border-top: 1px solid #111; +} +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc { + cursor: pointer; + *cursor: hand; +} +table.dataTable thead .sorting, +table.dataTable thead .sorting_asc, +table.dataTable thead .sorting_desc, +table.dataTable thead .sorting_asc_disabled, +table.dataTable thead .sorting_desc_disabled { + background-repeat: no-repeat; + background-position: center right; +} +table.dataTable thead .sorting { + background-image: url("[[images]]sort_both.png"); +} +table.dataTable thead .sorting_asc { + background-image: url("[[images]]sort_asc.png"); +} +table.dataTable thead .sorting_desc { + background-image: url("[[images]]sort_desc.png"); +} +table.dataTable thead .sorting_asc_disabled { + background-image: url("[[images]]sort_asc_disabled.png"); +} +table.dataTable thead .sorting_desc_disabled { + background-image: url("[[images]]sort_desc_disabled.png"); +} +table.dataTable tbody tr { + background-color: #ffffff; +} +table.dataTable tbody tr.selected { + background-color: #B0BED9; +} +table.dataTable tbody th, +table.dataTable tbody td { + padding: 8px 10px; +} +table.dataTable.row-border tbody th, table.dataTable.row-border tbody td, table.dataTable.display tbody th, table.dataTable.display tbody td { + border-top: 1px solid #ddd; +} +table.dataTable.row-border tbody tr:first-child th, +table.dataTable.row-border tbody tr:first-child td, table.dataTable.display tbody tr:first-child th, +table.dataTable.display tbody tr:first-child td { + border-top: none; +} +table.dataTable.cell-border tbody th, table.dataTable.cell-border tbody td { + border-top: 1px solid #ddd; + border-right: 1px solid #ddd; +} +table.dataTable.cell-border tbody tr th:first-child, +table.dataTable.cell-border tbody tr td:first-child { + border-left: 1px solid #ddd; +} +table.dataTable.cell-border tbody tr:first-child th, +table.dataTable.cell-border tbody tr:first-child td { + border-top: none; +} +table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd { + background-color: #f9f9f9; +} +table.dataTable.stripe tbody tr.odd.selected, table.dataTable.display tbody tr.odd.selected { + background-color: #abb9d3; +} +table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover { + background-color: whitesmoke; +} +table.dataTable.hover tbody tr:hover.selected, table.dataTable.display tbody tr:hover.selected { + background-color: #a9b7d1; +} +table.dataTable.order-column tbody tr > .sorting_1, +table.dataTable.order-column tbody tr > .sorting_2, +table.dataTable.order-column tbody tr > .sorting_3, table.dataTable.display tbody tr > .sorting_1, +table.dataTable.display tbody tr > .sorting_2, +table.dataTable.display tbody tr > .sorting_3 { + background-color: #f9f9f9; +} +table.dataTable.order-column tbody tr.selected > .sorting_1, +table.dataTable.order-column tbody tr.selected > .sorting_2, +table.dataTable.order-column tbody tr.selected > .sorting_3, table.dataTable.display tbody tr.selected > .sorting_1, +table.dataTable.display tbody tr.selected > .sorting_2, +table.dataTable.display tbody tr.selected > .sorting_3 { + background-color: #acbad4; +} +table.dataTable.display tbody tr.odd > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd > .sorting_1 { + background-color: #f1f1f1; +} +table.dataTable.display tbody tr.odd > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd > .sorting_2 { + background-color: #f3f3f3; +} +table.dataTable.display tbody tr.odd > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd > .sorting_3 { + background-color: whitesmoke; +} +table.dataTable.display tbody tr.odd.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_1 { + background-color: #a6b3cd; +} +table.dataTable.display tbody tr.odd.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_2 { + background-color: #a7b5ce; +} +table.dataTable.display tbody tr.odd.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.odd.selected > .sorting_3 { + background-color: #a9b6d0; +} +table.dataTable.display tbody tr.even > .sorting_1, table.dataTable.order-column.stripe tbody tr.even > .sorting_1 { + background-color: #f9f9f9; +} +table.dataTable.display tbody tr.even > .sorting_2, table.dataTable.order-column.stripe tbody tr.even > .sorting_2 { + background-color: #fbfbfb; +} +table.dataTable.display tbody tr.even > .sorting_3, table.dataTable.order-column.stripe tbody tr.even > .sorting_3 { + background-color: #fdfdfd; +} +table.dataTable.display tbody tr.even.selected > .sorting_1, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_1 { + background-color: #acbad4; +} +table.dataTable.display tbody tr.even.selected > .sorting_2, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_2 { + background-color: #adbbd6; +} +table.dataTable.display tbody tr.even.selected > .sorting_3, table.dataTable.order-column.stripe tbody tr.even.selected > .sorting_3 { + background-color: #afbdd8; +} +table.dataTable.display tbody tr:hover > .sorting_1, table.dataTable.order-column.hover tbody tr:hover > .sorting_1 { + background-color: #eaeaea; +} +table.dataTable.display tbody tr:hover > .sorting_2, table.dataTable.order-column.hover tbody tr:hover > .sorting_2 { + background-color: #ebebeb; +} +table.dataTable.display tbody tr:hover > .sorting_3, table.dataTable.order-column.hover tbody tr:hover > .sorting_3 { + background-color: #eeeeee; +} +table.dataTable.display tbody tr:hover.selected > .sorting_1, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_1 { + background-color: #a1aec7; +} +table.dataTable.display tbody tr:hover.selected > .sorting_2, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_2 { + background-color: #a2afc8; +} +table.dataTable.display tbody tr:hover.selected > .sorting_3, table.dataTable.order-column.hover tbody tr:hover.selected > .sorting_3 { + background-color: #a4b2cb; +} +table.dataTable.no-footer { + border-bottom: 1px solid #111; +} +table.dataTable.nowrap th, table.dataTable.nowrap td { + white-space: nowrap; +} +table.dataTable.compact thead th, +table.dataTable.compact thead td { + padding: 4px 17px 4px 4px; +} +table.dataTable.compact tfoot th, +table.dataTable.compact tfoot td { + padding: 4px; +} +table.dataTable.compact tbody th, +table.dataTable.compact tbody td { + padding: 4px; +} +table.dataTable th.dt-left, +table.dataTable td.dt-left { + text-align: left; +} +table.dataTable th.dt-center, +table.dataTable td.dt-center, +table.dataTable td.dataTables_empty { + text-align: center; +} +table.dataTable th.dt-right, +table.dataTable td.dt-right { + text-align: right; +} +table.dataTable th.dt-justify, +table.dataTable td.dt-justify { + text-align: justify; +} +table.dataTable th.dt-nowrap, +table.dataTable td.dt-nowrap { + white-space: nowrap; +} +table.dataTable thead th.dt-head-left, +table.dataTable thead td.dt-head-left, +table.dataTable tfoot th.dt-head-left, +table.dataTable tfoot td.dt-head-left { + text-align: left; +} +table.dataTable thead th.dt-head-center, +table.dataTable thead td.dt-head-center, +table.dataTable tfoot th.dt-head-center, +table.dataTable tfoot td.dt-head-center { + text-align: center; +} +table.dataTable thead th.dt-head-right, +table.dataTable thead td.dt-head-right, +table.dataTable tfoot th.dt-head-right, +table.dataTable tfoot td.dt-head-right { + text-align: right; +} +table.dataTable thead th.dt-head-justify, +table.dataTable thead td.dt-head-justify, +table.dataTable tfoot th.dt-head-justify, +table.dataTable tfoot td.dt-head-justify { + text-align: justify; +} +table.dataTable thead th.dt-head-nowrap, +table.dataTable thead td.dt-head-nowrap, +table.dataTable tfoot th.dt-head-nowrap, +table.dataTable tfoot td.dt-head-nowrap { + white-space: nowrap; +} +table.dataTable tbody th.dt-body-left, +table.dataTable tbody td.dt-body-left { + text-align: left; +} +table.dataTable tbody th.dt-body-center, +table.dataTable tbody td.dt-body-center { + text-align: center; +} +table.dataTable tbody th.dt-body-right, +table.dataTable tbody td.dt-body-right { + text-align: right; +} +table.dataTable tbody th.dt-body-justify, +table.dataTable tbody td.dt-body-justify { + text-align: justify; +} +table.dataTable tbody th.dt-body-nowrap, +table.dataTable tbody td.dt-body-nowrap { + white-space: nowrap; +} + +table.dataTable, +table.dataTable th, +table.dataTable td { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +/* + * Control feature layout + */ +.dataTables_wrapper { + position: relative; + clear: both; + *zoom: 1; + zoom: 1; +} +.dataTables_wrapper .dataTables_length { + float: left; +} +.dataTables_wrapper .dataTables_filter { + float: right; + text-align: right; +} +.dataTables_wrapper .dataTables_filter input { + margin-left: 0.5em; +} +.dataTables_wrapper .dataTables_info { + clear: both; + float: left; + padding-top: 0.755em; +} +.dataTables_wrapper .dataTables_paginate { + float: right; + text-align: right; + padding-top: 0.25em; +} +.dataTables_wrapper .dataTables_paginate .paginate_button { + box-sizing: border-box; + display: inline-block; + min-width: 1.5em; + padding: 0.5em 1em; + margin-left: 2px; + text-align: center; + text-decoration: none !important; + cursor: pointer; + *cursor: hand; + color: #333 !important; + border: 1px solid transparent; +} +.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { + color: #333 !important; + border: 1px solid #cacaca; + background-color: white; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #dcdcdc)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, white 0%, #dcdcdc 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, white 0%, #dcdcdc 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, white 0%, #dcdcdc 100%); + /* IE10+ */ + background: -o-linear-gradient(top, white 0%, #dcdcdc 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, white 0%, #dcdcdc 100%); + /* W3C */ +} +.dataTables_wrapper .dataTables_paginate .paginate_button.disabled, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active { + cursor: default; + color: #666 !important; + border: 1px solid transparent; + background: transparent; + box-shadow: none; +} +.dataTables_wrapper .dataTables_paginate .paginate_button:hover { + color: white !important; + border: 1px solid #111; + background-color: #585858; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #585858 0%, #111 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #585858 0%, #111 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, #585858 0%, #111 100%); + /* IE10+ */ + background: -o-linear-gradient(top, #585858 0%, #111 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, #585858 0%, #111 100%); + /* W3C */ +} +.dataTables_wrapper .dataTables_paginate .paginate_button:active { + outline: none; + background-color: #2b2b2b; + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c)); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* IE10+ */ + background: -o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%); + /* Opera 11.10+ */ + background: linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%); + /* W3C */ + box-shadow: inset 0 0 3px #111; +} +.dataTables_wrapper .dataTables_paginate .ellipsis { + padding: 0 1em; +} +.dataTables_wrapper .dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 40px; + margin-left: -50%; + margin-top: -25px; + padding-top: 20px; + text-align: center; + font-size: 1.2em; + background-color: white; + background: -webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(25%, rgba(255, 255, 255, 0.9)), color-stop(75%, rgba(255, 255, 255, 0.9)), color-stop(100%, rgba(255, 255, 255, 0))); + /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + /* Chrome10+,Safari5.1+ */ + background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + /* FF3.6+ */ + background: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + /* IE10+ */ + background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + /* Opera 11.10+ */ + background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 25%, rgba(255, 255, 255, 0.9) 75%, rgba(255, 255, 255, 0) 100%); + /* W3C */ +} +.dataTables_wrapper .dataTables_length, +.dataTables_wrapper .dataTables_filter, +.dataTables_wrapper .dataTables_info, +.dataTables_wrapper .dataTables_processing, +.dataTables_wrapper .dataTables_paginate { + color: #333; +} +.dataTables_wrapper .dataTables_scroll { + clear: both; +} +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody { + *margin-top: -1px; + -webkit-overflow-scrolling: touch; +} +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody th > div.dataTables_sizing, +.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody td > div.dataTables_sizing { + height: 0; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; +} +.dataTables_wrapper.no-footer .dataTables_scrollBody { + border-bottom: 1px solid #111; +} +.dataTables_wrapper.no-footer div.dataTables_scrollHead table, +.dataTables_wrapper.no-footer div.dataTables_scrollBody table { + border-bottom: none; +} +.dataTables_wrapper:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +@media screen and (max-width: 767px) { + .dataTables_wrapper .dataTables_info, + .dataTables_wrapper .dataTables_paginate { + float: none; + text-align: center; + } + .dataTables_wrapper .dataTables_paginate { + margin-top: 0.5em; + } +} +@media screen and (max-width: 640px) { + .dataTables_wrapper .dataTables_length, + .dataTables_wrapper .dataTables_filter { + float: none; + text-align: center; + } + .dataTables_wrapper .dataTables_filter { + margin-top: 0.5em; + } +} diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.min.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.min.css index 9a48c8b..8b6837b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.min.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.dataTables.min.css @@ -1,2 +1,2 @@ -table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} -table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} +table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px 18px;border-bottom:1px solid #111}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 18px 6px 18px;border-top:1px solid #111}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;*cursor:hand;background-repeat:no-repeat;background-position:center right}table.dataTable thead .sorting{background-image:url("../images/sort_both.png")}table.dataTable thead .sorting_asc{background-image:url("../images/sort_asc.png")}table.dataTable thead .sorting_desc{background-image:url("../images/sort_desc.png")}table.dataTable thead .sorting_asc_disabled{background-image:url("../images/sort_asc_disabled.png")}table.dataTable thead .sorting_desc_disabled{background-image:url("../images/sort_desc_disabled.png")}table.dataTable tbody tr{background-color:#ffffff}table.dataTable tbody tr.selected{background-color:#B0BED9}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid #ddd}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid #ddd;border-right:1px solid #ddd}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid #ddd}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe tbody tr.odd,table.dataTable.display tbody tr.odd{background-color:#f9f9f9}table.dataTable.stripe tbody tr.odd.selected,table.dataTable.display tbody tr.odd.selected{background-color:#acbad4}table.dataTable.hover tbody tr:hover,table.dataTable.display tbody tr:hover{background-color:#f6f6f6}table.dataTable.hover tbody tr:hover.selected,table.dataTable.display tbody tr:hover.selected{background-color:#aab7d1}table.dataTable.order-column tbody tr>.sorting_1,table.dataTable.order-column tbody tr>.sorting_2,table.dataTable.order-column tbody tr>.sorting_3,table.dataTable.display tbody tr>.sorting_1,table.dataTable.display tbody tr>.sorting_2,table.dataTable.display tbody tr>.sorting_3{background-color:#fafafa}table.dataTable.order-column tbody tr.selected>.sorting_1,table.dataTable.order-column tbody tr.selected>.sorting_2,table.dataTable.order-column tbody tr.selected>.sorting_3,table.dataTable.display tbody tr.selected>.sorting_1,table.dataTable.display tbody tr.selected>.sorting_2,table.dataTable.display tbody tr.selected>.sorting_3{background-color:#acbad5}table.dataTable.display tbody tr.odd>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd>.sorting_1{background-color:#f1f1f1}table.dataTable.display tbody tr.odd>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd>.sorting_2{background-color:#f3f3f3}table.dataTable.display tbody tr.odd>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd>.sorting_3{background-color:whitesmoke}table.dataTable.display tbody tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_1{background-color:#a6b4cd}table.dataTable.display tbody tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_2{background-color:#a8b5cf}table.dataTable.display tbody tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.odd.selected>.sorting_3{background-color:#a9b7d1}table.dataTable.display tbody tr.even>.sorting_1,table.dataTable.order-column.stripe tbody tr.even>.sorting_1{background-color:#fafafa}table.dataTable.display tbody tr.even>.sorting_2,table.dataTable.order-column.stripe tbody tr.even>.sorting_2{background-color:#fcfcfc}table.dataTable.display tbody tr.even>.sorting_3,table.dataTable.order-column.stripe tbody tr.even>.sorting_3{background-color:#fefefe}table.dataTable.display tbody tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_1{background-color:#acbad5}table.dataTable.display tbody tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_2{background-color:#aebcd6}table.dataTable.display tbody tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody tr.even.selected>.sorting_3{background-color:#afbdd8}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{background-color:#eaeaea}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{background-color:#ececec}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{background-color:#efefef}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{background-color:#a2aec7}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{background-color:#a3b0c9}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{background-color:#a5b2cb}table.dataTable.no-footer{border-bottom:1px solid #111}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px 4px 4px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable,table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both;*zoom:1;zoom:1}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{margin-left:0.5em}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:0.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:0.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:0.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;*cursor:hand;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid #979797;background-color:white;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #dcdcdc));background:-webkit-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-moz-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-ms-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:-o-linear-gradient(top, #fff 0%, #dcdcdc 100%);background:linear-gradient(to bottom, #fff 0%, #dcdcdc 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_processing{position:absolute;top:50%;left:50%;width:100%;height:40px;margin-left:-50%;margin-top:-25px;padding-top:20px;text-align:center;font-size:1.2em;background-color:white;background:-webkit-gradient(linear, left top, right top, color-stop(0%, rgba(255,255,255,0)), color-stop(25%, rgba(255,255,255,0.9)), color-stop(75%, rgba(255,255,255,0.9)), color-stop(100%, rgba(255,255,255,0)));background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-ms-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:-o-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%);background:linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 25%, rgba(255,255,255,0.9) 75%, rgba(255,255,255,0) 100%)}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{*margin-top:-1px;-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid #111}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:0.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:0.5em}} +table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0} diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.scrollbar.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.scrollbar.css index eb97296..0c0e93d 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.scrollbar.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/jquery.scrollbar.css @@ -1,152 +1,152 @@ -/*************** SCROLLBAR BASE CSS ***************/ - -.scroll-wrapper { - overflow: hidden !important; - padding: 0 !important; - position: relative; -} - -.scroll-wrapper > .scroll-content { - border: none !important; - box-sizing: content-box !important; - height: auto; - left: 0; - margin: 0; - max-height: none; - max-width: none !important; - overflow: scroll !important; - padding: 0; - position: relative !important; - top: 0; - width: auto !important; -} - -.scroll-wrapper > .scroll-content::-webkit-scrollbar { - height: 0; - width: 0; -} - -.scroll-element { - display: none; -} -.scroll-element, .scroll-element div { - box-sizing: content-box; -} - -.scroll-element.scroll-x.scroll-scrollx_visible, -.scroll-element.scroll-y.scroll-scrolly_visible { - display: block; -} - -.scroll-element .scroll-bar, -.scroll-element .scroll-arrow { - cursor: default; -} - -.scroll-textarea { - border: 1px solid #cccccc; - border-top-color: #999999; -} -.scroll-textarea > .scroll-content { - overflow: hidden !important; -} -.scroll-textarea > .scroll-content > textarea { - border: none !important; - box-sizing: border-box; - height: 100% !important; - margin: 0; - max-height: none !important; - max-width: none !important; - overflow: scroll !important; - outline: none; - padding: 2px; - position: relative !important; - top: 0; - width: 100% !important; -} -.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { - height: 0; - width: 0; -} - - - - -/*************** SCROLLBAR MAC OS X ***************/ - -.scrollbar-virt > .scroll-element, -.scrollbar-virt > .scroll-element div -{ - background: none; - border: none; - margin: 0; - padding: 0; - position: absolute; - z-index: 10; -} - -.scrollbar-virt > .scroll-element div { - display: block; - height: 100%; - left: 0; - top: 0; - width: 100%; -} - -.scrollbar-virt > .scroll-element .scroll-element_track { display: none; } -.scrollbar-virt > .scroll-element .scroll-bar { - background-color: #6C6E71; - display: block; - - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; - filter: alpha(opacity=0); - opacity: 0; - - -webkit-border-radius: 7px; - -moz-border-radius: 7px; - border-radius: 7px; - - -webkit-transition: opacity 0.2s linear; - -moz-transition: opacity 0.2s linear; - -o-transition: opacity 0.2s linear; - -ms-transition: opacity 0.2s linear; - transition: opacity 0.2s linear; -} -.scrollbar-virt:hover > .scroll-element .scroll-bar, -.scrollbar-virt > .scroll-element.scroll-draggable .scroll-bar { - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - filter: alpha(opacity=70); - opacity: 0.7; -} - - -.scrollbar-virt > .scroll-element.scroll-x { - bottom: 0px; - height: 0px; - left: 0; - min-width: 100%; - overflow: visible; - width: 100%; -} - -.scrollbar-virt > .scroll-element.scroll-y { - height: 100%; - min-height: 100%; - right: 0px; - top: 0; - width: 0px; -} - -/* scrollbar height/width & offset from container borders */ -.scrollbar-virt > .scroll-element.scroll-x .scroll-bar { height: 7px; min-width: 10px; top: -9px; } -.scrollbar-virt > .scroll-element.scroll-y .scroll-bar { left: -9px; min-height: 10px; width: 7px; } - -.scrollbar-virt > .scroll-element.scroll-x .scroll-element_outer { left: 2px; } -.scrollbar-virt > .scroll-element.scroll-x .scroll-element_size { left: -4px; } - -.scrollbar-virt > .scroll-element.scroll-y .scroll-element_outer { top: 2px; } -.scrollbar-virt > .scroll-element.scroll-y .scroll-element_size { top: -4px; } - -/* update scrollbar offset if both scrolls are visible */ -.scrollbar-virt > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -11px; } +/*************** SCROLLBAR BASE CSS ***************/ + +.scroll-wrapper { + overflow: hidden !important; + padding: 0 !important; + position: relative; +} + +.scroll-wrapper > .scroll-content { + border: none !important; + box-sizing: content-box !important; + height: auto; + left: 0; + margin: 0; + max-height: none; + max-width: none !important; + overflow: scroll !important; + padding: 0; + position: relative !important; + top: 0; + width: auto !important; +} + +.scroll-wrapper > .scroll-content::-webkit-scrollbar { + height: 0; + width: 0; +} + +.scroll-element { + display: none; +} +.scroll-element, .scroll-element div { + box-sizing: content-box; +} + +.scroll-element.scroll-x.scroll-scrollx_visible, +.scroll-element.scroll-y.scroll-scrolly_visible { + display: block; +} + +.scroll-element .scroll-bar, +.scroll-element .scroll-arrow { + cursor: default; +} + +.scroll-textarea { + border: 1px solid #cccccc; + border-top-color: #999999; +} +.scroll-textarea > .scroll-content { + overflow: hidden !important; +} +.scroll-textarea > .scroll-content > textarea { + border: none !important; + box-sizing: border-box; + height: 100% !important; + margin: 0; + max-height: none !important; + max-width: none !important; + overflow: scroll !important; + outline: none; + padding: 2px; + position: relative !important; + top: 0; + width: 100% !important; +} +.scroll-textarea > .scroll-content > textarea::-webkit-scrollbar { + height: 0; + width: 0; +} + + + + +/*************** SCROLLBAR MAC OS X ***************/ + +.scrollbar-virt > .scroll-element, +.scrollbar-virt > .scroll-element div +{ + background: none; + border: none; + margin: 0; + padding: 0; + position: absolute; + z-index: 10; +} + +.scrollbar-virt > .scroll-element div { + display: block; + height: 100%; + left: 0; + top: 0; + width: 100%; +} + +.scrollbar-virt > .scroll-element .scroll-element_track { display: none; } +.scrollbar-virt > .scroll-element .scroll-bar { + background-color: #6C6E71; + display: block; + + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + filter: alpha(opacity=0); + opacity: 0; + + -webkit-border-radius: 7px; + -moz-border-radius: 7px; + border-radius: 7px; + + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + -o-transition: opacity 0.2s linear; + -ms-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; +} +.scrollbar-virt:hover > .scroll-element .scroll-bar, +.scrollbar-virt > .scroll-element.scroll-draggable .scroll-bar { + -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + opacity: 0.7; +} + + +.scrollbar-virt > .scroll-element.scroll-x { + bottom: 0px; + height: 0px; + left: 0; + min-width: 100%; + overflow: visible; + width: 100%; +} + +.scrollbar-virt > .scroll-element.scroll-y { + height: 100%; + min-height: 100%; + right: 0px; + top: 0; + width: 0px; +} + +/* scrollbar height/width & offset from container borders */ +.scrollbar-virt > .scroll-element.scroll-x .scroll-bar { height: 7px; min-width: 10px; top: -9px; } +.scrollbar-virt > .scroll-element.scroll-y .scroll-bar { left: -9px; min-height: 10px; width: 7px; } + +.scrollbar-virt > .scroll-element.scroll-x .scroll-element_outer { left: 2px; } +.scrollbar-virt > .scroll-element.scroll-x .scroll-element_size { left: -4px; } + +.scrollbar-virt > .scroll-element.scroll-y .scroll-element_outer { top: 2px; } +.scrollbar-virt > .scroll-element.scroll-y .scroll-element_size { top: -4px; } + +/* update scrollbar offset if both scrolls are visible */ +.scrollbar-virt > .scroll-element.scroll-x.scroll-scrolly_visible .scroll-element_size { left: -11px; } .scrollbar-virt > .scroll-element.scroll-y.scroll-scrollx_visible .scroll-element_size { top: -11px; } \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/select2.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/select2.css index 76de04d..62ca9ca 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/select2.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/select2.css @@ -1 +1 @@ -.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/css2/style.css b/whmcs/modules/servers/virtualizor_cloud/ui/css2/style.css index bcfeab8..db2ef99 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/css2/style.css +++ b/whmcs/modules/servers/virtualizor_cloud/ui/css2/style.css @@ -1,2053 +1,2053 @@ -/*! - * Virtualizor Style Sheet - * - * Copyright Virtualizor - */ - -html{ -height: 100%; -box-sizing: border-box; -scrollbar-width: none; /* Firefox */ --ms-overflow-style: none; /* Internet Explorer 10+ */ -} - -body{ -font-family: 'Poppins', sans-serif; -font-size: 13px; -overflow-y: scroll; -scrollbar-width: none; /* Firefox */ --ms-overflow-style: none; /* Internet Explorer 10+ */ -position: relative; -padding-bottom: 6rem; -min-height: 100%; -} - -body::-webkit-scrollbar { /* WebKit */ -width: 0; -height: 0; -} - -::selection{ -background-color: #0068fd; -color:#fff -} - -/* hf_theme.php the top row*/ -#loading{ -position:fixed; -top:0px; -left:45%; -padding:10px; -color: #0068fd; -background-color: #dfeeff; -display:none; -font-size: 15px; -z-index:1000000; -} - -#loading-spinner{ -position:fixed; -overflow: visible; -margin: auto; -top: 0; -left: 0; -bottom: 0; -right: 0; -} - -/* Transparent Overlay */ -#loading:before { -content: ''; -display: block; -position: fixed; -top: 0; -left: 0; -width: 100%; -height: 100%; -background-color: rgba(0,0,0,0.3); -} - -.left_menu{ -background-color: #242a33; -} - -.sidebar-nav{ -height: 100vh; -} - -.left_menu .sidebar-nav a:link{ -display:block; -padding:10px 15px; -text-decoration: none; -font-size:12px; -width:inherit; -} - -.left_menu a:link, .left_menu .sidebar-nav a:visited, .useful-links .user-details i{ -color:#fff; -} - -.left_menu .sidebar-nav a:hover{ -color:#ffffff; --webkit-transition: all ease-in .2s; -transition: all ease-in .2s; -} - -.left_menu .sidebar-nav a:link .lm_names{ -font-size: 14px; -vertical-align: middle; -} - -.left_menu_i{ -width: 25px; -display: inline-block; -vertical-align: middle; -} - -.left_height{ -min-height: 590px; -} - -#footer{ -border-top:1px solid #dee2e6; -padding:20px 0px; -position: absolute; -bottom: 0; -} - - - -a:hover{text-decoration: none;} - -/* Icons */ -.sysyellow{color: #FFFF00;} -.sysred{color: #FF0000;} -.sysgreen{color: #06d79c;} -/* End Icons */ - -.windows, .khidki{ -display:none; -} - -.notice{ -width: 100%; -color: #0068fd; -background-color: rgba(0, 122, 253, 0.125); -border-radius: 4px; -font-size:13px; -padding:15px; -text-align:center; -margin-bottom: 20px; -} - -input[type="number"] { - outline: none; - -moz-appearance: textfield; -} -input[type=number]::-webkit-inner-spin-button, -input[type=number]::-webkit-outer-spin-button { - -webkit-appearance: none; - appearance: none; -} - -input[type=text], -input[type=textbox], -textarea, select, -input[type=password]{ -background: #fff; -color:#455a64; -border: 1px #ccc solid; -transition: background 0.3s linear; --webkit-transition: background 0.3s linear; -outline:none; -} - -input:disabled, textarea:disabled, select:disabled{ -color: #999; -} - -input[type="button"]:disabled, input[type="submit"]:disabled, input[type="number"]:disabled, button:disabled, input[type="text"]:disabled { -cursor:not-allowed; -} - -.h1{font-size:35px;} -.h2{font-size:25px;} -.h3{font-size:20px;vertical-align:middle;} -.h4{font-size:15px;font-weight: bold;} -.h5{font-weight:bold;font-size:13px;} - -/* Choose and Selectable */ -.choose, .choose_selected{ -font-size:18px; -font-weight: bold; -text-decoration:none; -text-align: center; -} - -.choose_selected{ -background-color: #E2F4FE; -} - -.choose a:link, .choose a:visited, .choose a:active, .choose a:hover, .choose_selected a:link, .choose_selected a:visited, .choose_selected a:active, .choose_selected a:hover, #footer a, -a.green_but_a{ -text-decoration:none; -} - -/* End Form Style */ - -#shead, .left_menu, #footer, .additional-btn{ -display:none; -} - -/* PageLinks */ -#pagejump{ -position:absolute; -top:0px; -left:0px; -display:none; -z-index:1000000; -padding:6px; -background-color:#DAEBFE; -border-radius: 5px; -} - -.page-link{ -color:#0068fd; -margin-left: 10px; -border-radius: 3px; -} - -.page-item.active .page-link { -background-color: #0068fd; -border-color: #0068fd; -} - -.pagination-top{ -margin-bottom:1rem; -} - -.pagination-bottom{ -margin-bottom: 20px; -} - -/* End PageLinks */ - -/* Start Login Style */ - - -.login_input{ -font-size:18px !important; -padding:6px; -width: 100%; -border-radius: 4px 4px 4px 4px; -} - -.loginhead{ -font-size: 30px; -text-align: center; -font-weight: 300; -z-index: 1; -} - -.loginmap{ -height: 100vh; -background:#050A30 linear-gradient( 170deg , #050A30 0%, #0f1e53 46%, rgba(82,104,171,1) 100%); -background-repeat: no-repeat; -background-position: center center; -} - -.login-form{ -width: 100%; -margin:0px auto; -padding:40px; -z-index: 1; -border-radius: 5px; -} - -.loginmap{ -width:100%; -display: flex; -flex-wrap: wrap; -justify-content: center; -align-items: center; -} - -/* End Login */ - -/* Styling for IP counts */ - -span.ip_count { -color: white; -padding:3px 5px; -font-size: 12px; -border-radius: 25%; -background-color: #000; -text-align: center; -cursor: pointer; -width: auto; -} - -/* New theming starts from here */ - -/* General Theme Classes */ - -.table > tbody > tr > td, .fa-3x { -vertical-align:middle; -} - -/* End General Theme Classes */ - -/* Table sorter CSS Starts here */ -table.tablesorter thead tr .header { -background-repeat: no-repeat; -background-position: center right; -cursor: pointer; -} - -/* Table sorter CSS Ends here */ - -.small-btn{ -font-size:11px !important; -padding:3px 12px !important; -} -/* Server stats css starts here */ - -.progress.bar{ -height: 14px; --webkit-box-shadow: none; -box-shadow: none; -} - -.prog-organge{ -background-color: #FF4500; -} - -.cpu_axis{ -color:#000; -} -/* Server stats css ends here */ - -/* bwband_holder1 legend css starts here */ -#chartLegend, #bw_monthly_chartLegend, #nw_speed_chartLegend{ -padding-top:8px; -} - -#chartLegend td, #bw_monthly_chartLegend td, #nw_speed_chartLegend td{ -padding:3px; -} -/* bwband_holder1 legend css ends here */ - -/* BW monthly chart css starts here */ -#bw_monthly_body{ -position: relative; -display: inline-block; -} -/* BW monthly chart css ends here */ - - -/* Left side body css starts here */ -.panel-head.gray{ -background: none repeat scroll 0 0 #e1e1e1; -} -.panel-head{ -border-radius: 0; -padding: 1px; -} -.panel-head.gray h5 { -color: #444; -padding-left:5px; -} - -.stats-box{ -text-align:center; -padding:30px 0px; -} - -.stats-box span{ -display:block; -} - -/* Left side body css ends here */ - -/* form element bg starts */ - -.head .h3{ -margin-bottom:30px; -color:#000; -font-weight: 300; -font-size: 30px; -} - -.gray-txt{ -color:#666; -} - -.head{ -margin-bottom:40px; -text-align: left; -} -.head > i{ -color:#000; -margin-right: 10px; -font-size:40px; -} - -/* form rlemet bg ends */ - -/* CSS for MEDIA QUERY starts */ - -@media screen and (max-width: 500px) { - -.lm_names {display: none;} -.left_menu a:link, .left_menu a:visited, .left_menu a:active{width:50px;} - -} - -/* CSS for MEDIA QUERY Ends */ - -/*********************************/ -/****** PASSWORD STRENGTH METER***/ -/*********************************/ - -.pass-strength { -background-color: rgb(240, 240, 240); -display: block; -padding: 5px; -text-align: center; -width: 200px; -} - -.pass-strength.bad { -color:#ffffff; -background-color: #ef5350; -border-color: #ef5350; -} - -.pass-strength.good { -background-color: #ffec8b; -border-color: #fc0; -} - -.pass-strength.short { -background-color: #ffa0a0; -border-color: #f04040; -} - -.pass-strength.strong { -color:#ffffff; -background-color: #06d79c; -border-color: #06d79c; -} - -@media (max-width: 1024px) { - -.additional-btn{display: none;} - -} - -/* Graph cpu ram ntw disk inode legend css starts here */ - -.legend_container td{ -padding:3px; -} - -/* ListVS page related css starts */ -.vpsmenu{ - -position: absolute; -width:150px; -left: 20px; -top:-6px !important; -z-index: 10; -background-color: #fff; -background-clip: padding-box; -padding: 5px 0px 10px 0px; -border: 1px solid #dee2e6; -border-radius: 4px; -transition: 0.3s; -box-shadow: 0 3px 12px #9e9ea0; -} - -.vpsmenubg { -background: none repeat scroll 0 0 #ffffff; -text-align: center; -vertical-align: middle; -padding: 5px 1px; -} - -.vpsmanagemenu{ -background: none repeat scroll 0 0 #858585; -display: none; -padding: 6px; -position: absolute; -top: -8px; -left: -105px; -width: 100px; -z-index: 10; -} - -.vpsmanagemenubg{ -background: none repeat scroll 0 0 #ffffff; -text-align: center; -vertical-align: middle; -padding: 5px 5px; -} - -/*Info bar at top of ListVS page on Enduser panel*/ - -/* ListVS page related css ends */ - -/*** HAProxy (managevdf) CSS Starts ***/ -#processing_symb{ -position: fixed; -top: 25%; -left: 45%; -display: none; -z-index: 10000; -} - -#processing_symb img{ -width: 50%; -} - -.vdf_delete, .vdf_edit .fa, .vdf_save .fa{ -padding: 5px; -cursor: pointer; -} - -#vdf_infobox{ -background-color: rgba(0, 122, 253, 0.125); -color:#0068fd; -font-size: 15px; -} - -.select2-dropdown{ -z-index: 10001; -} -.chosen-single{ -height:32px;text-align:center; padding-top: 30px; -} -.tbl_actions{ -min-width: 100px; -} -/*** HAProxy (managevdf) CSS Ends ***/ - - -/* OS reinstall start */ -.os_badge { -cursor: pointer; -position: relative; -} - -.dropdown-menu{ -max-height: 200px; -overflow-y: auto; -} - -.os_badge_list a{ -color:#576170; -text-decoration: none; -outline: none; -display:block; -padding:8px; -background-color: #fff; -} - -.os_badge_list a:hover { -color:#2f3235; -background-color: #f9f6f6; -} - -.os_badge_list .SelectedOS{ -color: #ffffff; -background-color: #0068fd; -} - -.os_badge i { -position: absolute; -top: 26px; -right: 16px; -color: #aaa; -} - -.os_badge .media-left { -padding: 8px; -} - -.os_badge .media-body { -vertical-align: middle; -padding: 8px; -} - -.os_badge .version { -color: #888; -} - -.os_badge.expanded { -position: relative; -z-index: 999; -} - -.os_badge .dropdown-toggle::after, .create_os .dropdown-toggle::after{ -content: none; -} - -/* OS reinstall end */ - -#sshkey_list .os_badge i{ -position: relative; -top:unset; -right:unset; -color:unset; -} - -/* Jquery Scrollbar start */ - -.scrollbar-virt { -overflow: auto; -} - -/* Jquery Scrollbar end */ - -.invoice-body{ -background-color: #efefef; -} - -/* Invoices */ -.invoice-container { -margin: 15px auto; -max-width: 850px; -background-color: #fff; -border: 1px solid #dee2e6; --moz-border-radius: 6px; --webkit-border-radius: 6px; --o-border-radius: 6px; -border-radius: 6px; -} - -#invoice{ -padding: 30px; -} - -.invoice_status_paid{ -color: green; -} - -.invoice_status_unpaid{ -color: red; -} - -.invoice_status_cancelled{ -color: blue; -} - -/* Invoices End */ - -/* Billing */ -.bill_balance{ --moz-border-radius: 6px; --webkit-border-radius: 6px; --o-border-radius: 6px; -border-radius: 6px; -text-align:center; -font-size:30px; -padding:25px 15px; -} - -.bal_exp{ -font-size:15px; -color: #777777; -} - -/* Billing End */ - -/* Webuzo app stack*/ -#webuzo_stack_tr > div{ -padding: 1.2%; -} - -._label{ -font-weight:500 !important; -margin-top:9px; -} - -/* Webuzo app stack end */ - -/*Navbar CSS*/ -.login-img img{ -width: 50%; -height: auto; -} - -.logo img{height: 35px;} - -.virtualizor-nav{ -background-color:#001845; -z-index: 1030; -display: none; -} - -.useful-links i:hover{ -color:#000; -} - -/* Navbar CSS end */ - -/* Page-content CSS */ -.wrapper{ -width:100%; -overflow: hidden; -} - -.rightbody{ -display: none; -} - -.page-content{ -padding: 80px 25px 20px 25px; -} - -.timezone{ -text-align: center; -} - -.footer-content{ -font-size: 12px; -} - -.left_menu{ -width:220px; -position: fixed; -height: 100vh; -background-color: #001845; -} - -.head .title-icon, -.panel-head .title-icon{ -margin-right: 10px; -font-size:28px; -border-radius: 6px; -vertical-align: middle; -color:#3d3d3d; -} - -/* Page-content CSS end */ - -/* Checkbox CSS */ -.vps-checkbox{ -position: absolute; -opacity: 0; -} - -.vps-checkbox+label { -position: relative; -padding-left: 10px; -height: 25px; -line-height: 21px; -font-weight: normal; -} - -.vps-checkbox + label:before { -content: ''; -margin-right: 10px; -display: inline-block; -vertical-align: text-top; -width: 18px; -height: 18px; -background: white; -border:1px solid black; -} - -.vps-checkbox:hover + label:before, .vps-checkbox:checked + label:before { -background: #8BC34A; -} - -.vps-checkbox:disabled + label { -color: #b8b8b8; -cursor: auto; -} - -.vps-checkbox:disabled + label:before { -box-shadow: none; -background: #ddd; -} - -.vps-checkbox:checked + label:after{ -content: '\f00c'; -color:#ffffff; -font-family: "Font Awesome 5 Free"; -font-weight: 600; -font-size: 12px; -position: absolute; -left: 13px; -} -/* Checkbox CSS */ - -/*Radio Button CSS*/ -.vps-radio{ -position: absolute; -left:-99999px; -opacity: 0; -} - -.vps-radio:not(:checked)+label:after, -.vps-radio:not(:checked)+label:before{ -border: 1px solid #dee2e6; -border-radius:50%; -} - -.vps-radio:checked+label:after, -.vps-radio:checked+label:before{ -border: 2px solid #26a69a; -border-radius:50%; --webkit-animation: ripple 0.2s linear forwards; -animation: ripple 0.2s linear forwards; -} - -.vps-radio:checked+label:after{ --webkit-transform: scale(0.5); --ms-transform: scale(0.5); -transform: scale(0.5); -background-color: #26a69a; -z-index: 0; -} - -.vps-radio+label{ -position: relative; -cursor: pointer; -margin-left: 20px; -font-size: 15px; -} - -.vps-radio+label:after, -.vps-radio+label:before{ -content: ''; -position: absolute; -left: -23px; -top: 0px; -margin: 4px; -width: 15px; -height: 15px; -z-index: 0; --webkit-transition: .28s ease; --o-transition: .28s ease; -transition: .28s ease; -} -/*Radio Button CSS*/ - -/*List VPS CSS*/ - -.table-col{ -color:#ffffff; -background-color:#36304a !important; -padding:6px 2px !important; -font-size: 14px !important; -font-weight: 500 !important; -vertical-align: middle !important; -position: sticky !important; -top: -1px; -z-index: 99; -} - -table.tablesorter thead tr .header:before{ -content: '\f0d8'; -font-family: "Font Awesome 5 Free"; -font-size: 15px; -font-weight: 600; -font-style: normal; -text-decoration:none; -position: absolute; -right:10px; -top:8px; -} - -table.tablesorter thead tr .header:after{ -content: '\f0d7'; -font-family: "Font Awesome 5 Free"; -font-size: 15px; -font-weight: 600; -font-style: normal; -text-decoration:none; -position: absolute; -right:10px; -top:17px; -} - -table.tablesorter tbody td{ -position: relative; -} - -table.tablesorter thead tr .header.headerSortUp:after{ -display: none; -} - -table.tablesorter thead tr .header.headerSortUp:before{ -content: '\f0d8'; -font-family: "Font Awesome 5 Free"; -font-size: 15px; -font-weight: 600; -font-style: normal; -text-decoration:none; -position: absolute; -top:8px; -right:10px; -} - -table.tablesorter thead tr .header.headerSortDown:before{ -display: none; -} - -table.tablesorter thead tr .header.headerSortDown:after{ -content: '\f0d7'; -font-family: "Font Awesome 5 Free"; -font-size: 15px; -font-weight: 600; -font-style: normal; -text-decoration:none; -position: absolute; -top:8px; -right:10px; -} - -table .vps-checkbox+label{ -margin: 6px 0px 0px 0px; -} - -.manage-arrow i{ -font-size: 20px; -} - -.bottom-go-options{ -margin:15px 0px; -width: 30%; -float: right; -} - -.bottom-go-options select{ -width: 20%; -border-radius: 2px; -} - -#vslist-bottom-go-options .bottom-go-options select{ -width: 30%; -} - -.vpsmanagemenu{ -background-color: #fff; -background-clip: padding-box; -border: 1px solid #00000026; -border-radius: 4px; -transition: 0.3s; -box-shadow: 0 3px 12px #0000000d; -} - -.vpsmenubg{ -width:auto; -padding: 0px; -} - -.vpsmenu a{ -display: inline-block; -text-align: center; -margin: 0px 2px; -} - -.vpsmenubg a i:hover{ -top:2px; -transition: 0.2s; -} - -.vpsmenubg a img{ -width: 25px; -} - -.vpsmenubg a img:hover{ -margin-top: -2px; -transition: 0.2s; -} - -.vpsmenu i{ -font-size: 20px; -position: relative; -margin-top: 0px; -top: 5px; -} - -.vpsmanagemenu i{ -position: relative; -margin-top: 0px; -top: 2px; -} - -.vpsmanagemenu a i:hover{ -top:-1px; -transition: 0.2s; -} - -.vpsmanagemenu a img:hover{ -margin-top: -4px; -transition: 0.2s; -} - -.vpsmenu .power-on, -.vpsmanagemenu .unsuspend, -.power-on,i#startimg,.start,.run{ -color:#06d79c; -} - -.bal_txt{ -color:#0068fd -} - -.vpsmanagemenu .suspend, .suspend{ -color:#656373; -} - -.vpsmanagemenu .delete, .delete, .stop{ -color:#ff0000; -} - -.edit, .randpass{ -color:#FFBF00; -} - -.info, #process_poweroff, i, #refresh_status, .useful-links #refresh_page, .start, #sstop, #srestart, .prog-organge, .adv-options, #ei_advoptions_toggle{ -cursor: pointer; -} - -.fa-1x{ -font-size: 18px !important; -} - -.vpsmenu .power-off, -.power-off{ -color:#ff0000; -} - -.vpsmenu .stop, i.fa.fa-stop.suspend{ -color:#656373; -} - -.go_btn{ --webkit-border-radius: 0; --moz-border-radius: 5px; -border-radius: 5px; -text-transform: capitalize; -text-decoration: none; -background-color: transparent; -border:0px; --webkit-transition: all ease-in .3s; -transition: all ease-in .3s; -color: #fff; -} - -/* List VPS CSS*/ - -/* Dashboard CSS */ -.dashboard-title{ -font-size:30px; -font-weight: 300; -} - -img#flag_src { -border: 1px solid #dee2e6; -} - -.manage-btns a:hover i, -.manage-btns a:hover .manage-label{ -transition: all 0.6s; -} - -.overview-label{ -font-size: 18px; -margin-bottom: 10px; -} - -.form-label{ -margin-bottom: 8px; -color: #868888; -display:block; -} - -.info-text{ -color: #0068fd; -cursor: pointer; -} - -#graphs-tab .nav-link, -#sub-tasks-and-logs .nav-link{ -color:#576170; -transition: all 0.4s linear; -} - -#graphs-tab .nav-link.active, -#sub-tasks-and-logs .nav-link.active{ -border-radius: 0px; -color: #0068fd; -background-color: rgba(0, 122, 253, 0.125); -} - -.prev-mnth.green_but, -.next-mnth.green_but{ -padding:4px 10px; -} - -.stat-label{ -font-size:15px; -} - -.stat-val{ -color:#3d3d3d; -font-size: 15px; -} - -.progress{ -background-color: #c5c5c5; -} - -.months{ -color:#3d3d3d; -font-size: 18px; -font-weight: 400; -} - -.network_speed{ -width:100%; -height:155px; -} - -.bwpiechart{ -width:140px; -height:140px; -} - -.bandwidth-title, .statistics-title, .tab-heading{ -color:#3d3d3d; -font-size: 22px; -} - -.total_percent_val{ -color:#455a64; -font-size: 15px; -} - -.form-control{ -height: 47px; -font-size: 14px; -min-height:40px; -margin-bottom: 8px; -color: #67757c; -display: inline-block; -border-radius:4px; -} - -.form-control::placeholder{ -color:#d2d2d2; -} - -.form-control:focus, .custom-select:focus{ -box-shadow: none; -} - -.adv-toggle{ -cursor:pointer; -} - -.w-90{ -width:90% !important; -} - -.tab-para{ -color:#3d3d3d; -} - -.left-sidebar{ -background-color: #050A30; -} - -.left-sidebar-menu{ -padding-left: 0px; -list-style-type: none; -} - -.left-sidebar-menu li:hover { -background:#fdfdfd12; -} - -.badge-orange{ -color:#ffffff; -background:#EF5350; -} - -.count-badge{ -color:#ffffff; -background:#0068fd; -} - -#orig_uid{ -background-color: #f8fdff; -color:#050A30 -} - -.chosen-container-single .chosen-single div b{ -background-position-y: 10px !important; -} - -.chosen-container-single .chosen-search input[type=text]{ -height: 28px; -border-radius: 4px !important; -font-size: 16px; -} - -.dashboard-tab .nav-tabs, .adv_border .nav-tabs, .nav-tabs{ -border-bottom: 1px solid #dee2e6; -margin: 0; -} - -.dashboard-tab .nav-tabs li a, .adv_border .nav-tabs li a, .nav-tabs a{ -position: relative; -padding: 10px; -margin-right: 20px; -color: #000 !important; -border: none; -border-radius: 0; -background: transparent; -transition: all 0.3s ease 0s; -z-index: 2; -font-size: 15px; -} - -.dashboard-tab .nav-tabs li a:before, .adv_border .nav-tabs li a:before, .nav-tabs a:before{ -content: ""; -width: 100%; -height: 4px; -border-radius: 2px; -position: absolute; -bottom: 0; -left: 0; -} - -.dashboard-tab .nav-tabs li a:after, .adv_border .nav-tabs li a:after, .nav-tabs a:after{ -content: ""; -width: 0; -height: 4px; -background-color: #0068fd; -border-bottom: 1px solid #dee2e6; -border-radius: 2px; -position: absolute; -bottom: -2px; -left: 0; -transition: all .4s ease 0s; -z-index: 1; -} - -.dashboard-tab .nav-tabs li a.active:after, .adv_border .nav-tabs li a.active:after, .nav-tabs a.active:after{ -width: 100%; -opacity: 1; -} - -.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover, .nav-tabs .nav-link{ -border:none; -} - -/* .nav-tabs .nav-link { -border: none; -border-top-left-radius: 0; -border-top-right-radius: 0; -} */ - -.vertical-tabs .nav-link{ -color:#515a68; -padding: 7px 5px; -margin-bottom: 10px; -transition: all ease-in 0.2s; -} - -.vertical-tabs .nav-link.active{ -border-radius: 0px; -color: #2948ff; -} - -.v-tabs-container{ -border-right: 1px solid #dee2e6; -} - -.nav-pills .nav-link.active{ -background-color: unset; -} - -.current-value{ -color:#000000; -} - -#webuzo_scriptlist_tr .chosen-container{ -width:100% !important; -} - -.blue_btn:hover{ -background-color: #075dd9; -} - -.cancel-btn{ -background-color: #ff0000; -border:none; -border-radius: 4px; -color:#ffffff; -font-weight: 500; -padding: 7px 12px; -transition: 0.2s ease-in; -} - -.cancel-btn:hover{ -background-color: #e00303; -} - -.modal-title i{vertical-align: middle;} -.modal-title i.success{color: #06d79c;} -.modal-title i.warning{color: orange;} -.modal-title i.error{color: #ef5350;} - -.modal-body{ -font-weight: 500; -line-height: 30px; -margin-bottom: 0px; -} - -.modal-body p{ -margin-bottom: 0px; -} - -.link-btn{ -background-color:#398bf7; -border:none; -border-radius: 4px; -text-decoration: none !important; -color:#ffffff !important; -font-size: 14px; -padding: 7px 12px; -transition: 0.2s ease-in; -} - -.link-btn:hover{ -text-decoration: none; -color:#ffffff; -box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); -} - -.v-tab-heading{ -color:#515557; -font-size: 18px; -} - -.distro_name.media-heading{ -color:#3d3d3d; -font-size: 22px; -} - -.version{ -color:#586271; -font-size: 12px; -} - -.create_os.selected .version, .create_os.selected .distro_name,.os_badge.selected .distro_name, .os_badge.selected .version{ -color:#0068fd -} - -.info-icon{ -background-color: #0068fd; -color: #fff; -padding: 4px 12px; -border: none; -border-radius: 4px; -} - -.info-icon:hover, -.info-icon:focus{ -border:none; -box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); -} - -.info-icon i{ -font-size: 12px; -} - -.dataTables_filter input[type=search]{ -border: 1px solid #dee2e6; -border-radius: 4px; -height: 30px; -} - -.panels-type{ -display: inline-block; -width: 100%; -position: relative; -color: #fff; -cursor: pointer; -transition: all 0.4s; -border-radius: 10px; -} - -.panels-type:hover{ -border:none; -box-shadow: 0 8px 16px 0px rgb(10 14 29 / 1%), 0px 8px 30px 0px rgb(10 14 29 / 7%) !important; -} - -.flot-tick-label.tickLabel{ -max-width: 35px !important; -font-size:10px; -} - -#managesubnets_div{ -padding:20px 0px; -} - -.dataTables_wrapper .dataTables_length, -.dataTables_wrapper .dataTables_filter, -.dataTables_wrapper .dataTables_info, -.dataTables_wrapper .dataTables_processing, -.dataTables_wrapper .dataTables_paginate, -.dataTables_wrapper .dataTables_length select option{ -color:#89919c; -} - -.paginate_button.current{ -border-radius: 4px; -} - -.dataTables_wrapper .dataTables_paginate .paginate_button{ -border:unset; -} -.dataTables_wrapper .dataTables_paginate .paginate_button:hover{ -background:#fff; -border:unset; -} -.dataTables_wrapper .dataTables_paginate .paginate_button{ -margin-left: 0px; -padding: 0px; -} - -table.dataTable thead .sorting, table.dataTable thead .sorting_desc, table.dataTable thead .sorting_asc{ -background-image: none; -} - -.panel-head{ -border-radius: 0; -padding: 20px 0px 20px 20px; -box-shadow:1px 2px 3px #c5c5c5; -} - -.panel-head .h5{ -font-size: 18px; -} - -.responsivetabs-more .dropdown-toggle{ -font-size: 18px !important; -} - -.responsivetabs-more .dropdown-toggle:after{ -display:none; -} - -.vertical-tab-content form input[type=text], -.vertical-tab-content form input[type=textbox], -.vertical-tab-content form input[type=password], -.vertical-tab-content form select{ -width:50%; -} - -.dropdown.responsivetabs-more .dropdown-item.active{ -color:#ffffff !important; -background:linear-gradient(to right, #396afc, #2948ff); -} -/* Dashboard CSS end */ - -/* Launch Instance*/ - -.adv-options i, #ei_advoptions_plus i{ -vertical-align: middle; -} - -.adv-options .h4{ -vertical-align: middle; -} - -.panel-heading{ -background-color:rgb(240,240,240); -border-radius:4px; -cursor:pointer; -font-size: 18px; -} - -/* Launch Instance CSS end*/ - -.manage-drop-btn, -.manage-label{ -display: none; -} - -span.search{ -font-size: 28px; -} - -.chosen-container-multi .chosen-choices{ -padding:5px; -border-radius: 5px; -border-color: #dee2e6; -} - -.chosen-container-single .chosen-single { -text-align: left; -padding: 7px !important; -font-size: 14px; -height: 40px !important; -background: #ffffff !important; -border: 1px solid #dee2e6; -} - -div#vslst .table-col { -padding: 8px !important; -} - -#logs_div table td{ -text-align: left; -} - -#cpu_hist{ -font-size: 12px; -} - -button:focus{ -outline:none; -} - -.restore-icon{ -font-size:17px; -} - -.vps-info-icons{ -font-size:25px; -} - -#server_details .form-label, #show_vnc_window .form-label, #vnc-cell-tab .form-label{ -margin-bottom: 0px; -word-break: break-all; -} - -.vps-info-box .vps-info-box-child{ -position: relative; -align-items: center; -justify-content: center; -display: flex; -min-height: 125px; -border-radius: 10px; -} - -span#vps-desc-status > span.online{ -color: #06d79c; -} -span#vps-desc-status > span.offline{ -color: #ef5350; -} -span#vps-desc-status > span.suspended{ -color: #5C79B8; -} -span#vps-desc-status > span.ntw_suspended{ -color: #FFA500; -} - -span#site_domain{ -font-size: 30px; -font-weight: bold; -} - -#letsencrypt-progressbar{ -width:35%; -margin:0px auto; -display: none; -} - -.loader { -border: 2px solid #dee2e6; /* Light grey */ -border-top: 2px solid #EF5350; -border-radius: 50%; -width: 17px; -height: 17px; -margin:0px auto; -animation: spin 0.3s linear infinite; -} - -.active-menu a{ -color:#fff !important; -background-color: rgba(250,250,250,.1); -} - -.wrap{ -max-width: 124px; -overflow: hidden; -text-overflow: ellipsis; -white-space: nowrap; -transition:all 0.5s; -} - -.osname-wrap{ -max-width: 219px; -} - -.animate{ -animation: show 1s linear; -} - -.badge{ -font-size: 12px; -} - -div#vnc img { -width: 30px; -cursor: pointer; -} - -.mobile-logo{ -display: none; -} - -.table-fix{ -width: 96%; -margin:0px auto; -} - -.select2-selection, .select2-selection--multiple{ -height: 35px; -font-size: 14px !important; -min-height: 40px; -color: #67757c; -display: inline-block; -border:1px #dee2e6 solid !important; -border-radius: 4px; -padding: .375rem 1.75rem .375rem .3rem; -} - -.select2-selection--multiple { - min-height: unset; - height: unset; -} - -.select2-container--default .select2-selection--multiple .select2-selection__choice{ - margin-top: 0px; -} - -.select2-container--default .select2-selection--single .select2-selection__arrow{ -top:11px -} - -#usersettings_timezone{ -font-size: 14px; -} - -#private_key.form-control{ -height: unset; -min-height: unset; -} - -.select2-container img.distro_img{ -width: auto; -max-width: 25px; -} - -#ei_os_name img{ -width: 35px; -} - -.vdf-btn, .vdf-btn:hover{ -color:#0068fd; -} - -.modal-body{ -line-height: unset; -} - -.popover-body{ -max-height: 250px; -height: auto; -overflow: auto; -} - -#error_break{ -min-height: 300px; -height: auto; -} - -@keyframes show { - 0% {background-color: #bbdefb; } - 100% {background-color: #fff;} -} - -@keyframes spin { -0% { transform: rotate(0deg); } -100% { transform: rotate(360deg); } -} - -#cpu_hist .xAxis{ -color:transparent; -} - -#show_recipecode_window table.tablesorter{ -box-shadow: unset; -} - -@media (min-width: 576px){ - - /* .statistics .modal-dialog { - max-width: 800px; - width:auto; - } */ - - /* .statistics #show_processes_window .modal-dialog, .statistics #show_managevdf_window .modal-dialog{ - max-width: 900px; - width:auto; - } */ - - #services_div, #system_alerts_div, #process_div { - width: 96%; - margin: 0px auto; - padding: 10px 0px 20px 0px; - } -} - -.select2-dropdown{ -z-index: 1000; -} - -/*CSS Media Queries */ -@media all and (max-width:1200px){ - -.monthly-chart{height: auto !important;} -.login-form{width: 40%;} -} - -@media all and (max-width:1024px){ - -.table.tablesorter thead th{padding:5px 25px 5px 15px !important;} -.table.tablesorter thead th.select-all-checkbox{padding:0px !important;} -.login-form{width: 50%;} -.bottom-go-options select{width:30%;} -} - -@media all and (max-width:767px){ - -.left-side-tabs{border-bottom: 1px solid #dee2e6;} -.vertical-tabs .nav-link{padding:7px 10px;} -.left-side-tabs .nav-link.active{background:linear-gradient(to right, #396afc, #2948ff);color:#ffffff;} -.vertical-tab-content form input[type=text], -.vertical-tab-content form input[type=textbox], -.vertical-tab-content form input[type=password], -.vertical-tab-content form select{width:100%;} -.login-form{width:60%;} - -} - -@media all and (max-width: 720px){ - -.lm_names{display: none;} -.left-sidebar-menu{text-align: center;} -.left_menu{width: 80px;} -.page-wrapper{margin-left: 80px;} - -} - -@media all and (max-width: 678px){ - -.login-form{width: 90%;} -.bottom-go-options select{width: 40%;} -} - -@media (max-width: 720px){ -.mobile-logo{display: block;} -.main-logo{display: none;} -#disable_loginlogo img{width: auto;height: 35px;} -} - -@media (max-width: 480px){ -.lm_names{display: none;} -.left_menu_i{font-size: 12px;} -} - -/*CSS Media Queries*/ - -.blue_btn{ --moz-box-shadow:inset 0px 1px 0px 0px #0068fd; --webkit-box-shadow:inset 0px 1px 0px 0px #0068fd; -box-shadow:inset 0px 1px 0px 0px #0068fd; -background-color:#0068fd; --moz-border-radius:3px; --webkit-border-radius:3px; -border-radius:3px; -border:1px solid #0068fd; -display:inline-block; -cursor:pointer; -color:#ffffff; -font-weight: 500; -padding:6px 12px; -text-decoration:none; -text-shadow:0px 1px 0px #0068fd; -} - -.select2-container .select2-selection--single,span.select2-selection.select2-selection--multiple{ -height: 47px; -} - -.custom-select{ -height: calc(1.5em + 1.5rem + 2px); -font-size: 14px; -} - -.select2-container--default .select2-selection--single .select2-selection__rendered{ -line-height: 34px; -} - -li.select2-search.select2-search--inline{ -line-height: 24px; -} - -.create_os, .os_badge{ -border:1px solid #dee2e6; -cursor: pointer; -} - -.create_os .media-footer, .os_badge .media-footer{ -border-top: 1px solid #dee2e6; -} - -.create_os.selected, .os_badge.selected{ -border:1px solid #0068fd; -} - -.create_os.selected .media-footer, .os_badge.selected .media-footer{ -border-top:1px solid #0068fd; -} - -.go-option{ -background-color: #0068fd; -border:1px solid #0068fd; -border-top-right-radius: 2px; -border-bottom-right-radius: 2px; -} - -.create_os .dropdown-menu, .os_badge .dropdown-menu{ -font-size: 12px; -max-width: 190px; -} - -div#welcome { -position: fixed; -background-color: #fff; -z-index: 1040; -top: 0; -padding: 9px 0px; -} - -.profile{ -display: none; -} - -.profile i, .profile .dropdown-toggle::after{ -color:#050A30 -} - -.table thead th{ -font-weight: 400; -position: sticky !important; -border-bottom: 1px solid #dee2e6; -top:-1px; -background-color: rgb(240, 240, 240); -z-index: 1; -font-size: 15px; -} - -.table{ -color:#4e5259 -} - -a{ -color:#0068fd; -} - -table.dataTable thead th, table.dataTable tfoot th{ -font-weight: 400; -padding: .75rem; -border: 0; -} - -.shadow{ -box-shadow: 0 8px 16px 0px rgb(10 14 29 / 1%), 0px 8px 30px 0px rgb(10 14 29 / 7%) !important; -} - -span#refresh_page { -padding: 8px 0px 0px 20px; -} - -table.dataTable tbody th, table.dataTable tbody td{ -padding: .75rem; -} - -.city, #vm_distro{ -font-size: 16px; -} - -.bg-grey,.form-control:disabled, .form-control[readonly], .input-group-text{ -background-color: rgb(240, 240, 240); -} - -.vs-data-1{ -font-size: 15px; -} - -.dropdown-item.active, .dropdown-item:active{ -background-color: #0068fd; -} - -.profile .dropdown-menu{ -font-size: 14px; -} - -.dataTables_wrapper .custom-select{ -height: unset; -} - -.table-hover tbody tr:hover{ -color:#000; -background-color: rgb(240,240,240); -} - -.go-option a:hover,a.blue_btn:hover{ -color:#fff -} - -span.medium{ -color:#000; -font-size: 15px; -} - - -/* radio button start */ - -/* parent container
*/ -.r-pill { - border: 0; - padding: 0; - margin: 0; -} - -/* radio groups need a legend */ -.r-pill legend { - display: block; - font-size: inherit; - font-weight: bold; - margin-bottom: .5em; - padding: 0; - width: 100%; -} - -/* - Optional inner wrapper (
) to provide additional styling. -*/ -.r-pill__group { - background: rgb(240, 240, 240); - border-radius: 2em; - display: inline-block; - padding: .25em; -} - -.r-pill__item { - display: inline-block; - position: relative; -} - -.r-pill input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - background: none; - border: 2px solid; - height: 100%; - left: 0; - opacity: .00001; - position: absolute; - top: 0; - width: 100%; - z-index: 2; -} - -.r-pill__item label { - border-radius: 2em; - border: 2px solid transparent; - color: #083851; - display: block; - padding: .25em .75em; -} - -.r-pill__item input:hover ~ label, -.r-pill__item label:hover { - background: #E2F1FD; - border-color: #0068fd; -} - -.r-pill[disabled] .r-pill__item input:checked + label:hover, -.r-pill__item input:checked + label { - background: #0068fd; - color: #fff; -} -.lm_names{display: none;} -.left_menu_i{font-size: 12px;} - -/** - * Disabled - */ -.r-pill[disabled], -.r-pill__item input[disabled] + label { - opacity: .5; -} - -.r-pill__item input[disabled] ~ label, -.r-pill__item input[disabled] ~ label:hover, -.r-pill[disabled] label:hover { - background: transparent; - border-color: transparent; - cursor: not-allowed; -} - - -/** - * Undo styling that makes these pills appear as - * if they are all checked in high contrast mode. - */ -@media screen and (-ms-high-contrast: active) { - .r-pill__item label { - border: 0; - margin: 2px; - } - - .r-pill__item input:checked + label { - border: 2px solid; - margin: 0; - } - - .r-pill__item input:hover ~ label, - .r-pill__item label:hover { - text-decoration: underline; - } - - .r-pill[disabled] .r-pill__item label:hover, - .r-pill[disabled] .r-pill__item input:hover ~ label { - text-decoration: none - } -} - -/* radio button end */ - -.use_sshkey{border:1px solid #dee2e6;} -.w-fit{width: fit-content;width: -moz-fit-content;} -img#cpuman_img{width: 60px;} - -.input-group-text, .bill-rates {font-size: 13px;} -.bill-rates{font-weight: 300;} +/*! + * Virtualizor Style Sheet + * + * Copyright Virtualizor + */ + +html{ +height: 100%; +box-sizing: border-box; +scrollbar-width: none; /* Firefox */ +-ms-overflow-style: none; /* Internet Explorer 10+ */ +} + +body{ +font-family: 'Poppins', sans-serif; +font-size: 13px; +overflow-y: scroll; +scrollbar-width: none; /* Firefox */ +-ms-overflow-style: none; /* Internet Explorer 10+ */ +position: relative; +padding-bottom: 6rem; +min-height: 100%; +} + +body::-webkit-scrollbar { /* WebKit */ +width: 0; +height: 0; +} + +::selection{ +background-color: #0068fd; +color:#fff +} + +/* hf_theme.php the top row*/ +#loading{ +position:fixed; +top:0px; +left:45%; +padding:10px; +color: #0068fd; +background-color: #dfeeff; +display:none; +font-size: 15px; +z-index:1000000; +} + +#loading-spinner{ +position:fixed; +overflow: visible; +margin: auto; +top: 0; +left: 0; +bottom: 0; +right: 0; +} + +/* Transparent Overlay */ +#loading:before { +content: ''; +display: block; +position: fixed; +top: 0; +left: 0; +width: 100%; +height: 100%; +background-color: rgba(0,0,0,0.3); +} + +.left_menu{ +background-color: #242a33; +} + +.sidebar-nav{ +height: 100vh; +} + +.left_menu .sidebar-nav a:link{ +display:block; +padding:10px 15px; +text-decoration: none; +font-size:12px; +width:inherit; +} + +.left_menu a:link, .left_menu .sidebar-nav a:visited, .useful-links .user-details i{ +color:#fff; +} + +.left_menu .sidebar-nav a:hover{ +color:#ffffff; +-webkit-transition: all ease-in .2s; +transition: all ease-in .2s; +} + +.left_menu .sidebar-nav a:link .lm_names{ +font-size: 14px; +vertical-align: middle; +} + +.left_menu_i{ +width: 25px; +display: inline-block; +vertical-align: middle; +} + +.left_height{ +min-height: 590px; +} + +#footer{ +border-top:1px solid #dee2e6; +padding:20px 0px; +position: absolute; +bottom: 0; +} + + + +a:hover{text-decoration: none;} + +/* Icons */ +.sysyellow{color: #FFFF00;} +.sysred{color: #FF0000;} +.sysgreen{color: #06d79c;} +/* End Icons */ + +.windows, .khidki{ +display:none; +} + +.notice{ +width: 100%; +color: #0068fd; +background-color: rgba(0, 122, 253, 0.125); +border-radius: 4px; +font-size:13px; +padding:15px; +text-align:center; +margin-bottom: 20px; +} + +input[type="number"] { + outline: none; + -moz-appearance: textfield; +} +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { + -webkit-appearance: none; + appearance: none; +} + +input[type=text], +input[type=textbox], +textarea, select, +input[type=password]{ +background: #fff; +color:#455a64; +border: 1px #ccc solid; +transition: background 0.3s linear; +-webkit-transition: background 0.3s linear; +outline:none; +} + +input:disabled, textarea:disabled, select:disabled{ +color: #999; +} + +input[type="button"]:disabled, input[type="submit"]:disabled, input[type="number"]:disabled, button:disabled, input[type="text"]:disabled { +cursor:not-allowed; +} + +.h1{font-size:35px;} +.h2{font-size:25px;} +.h3{font-size:20px;vertical-align:middle;} +.h4{font-size:15px;font-weight: bold;} +.h5{font-weight:bold;font-size:13px;} + +/* Choose and Selectable */ +.choose, .choose_selected{ +font-size:18px; +font-weight: bold; +text-decoration:none; +text-align: center; +} + +.choose_selected{ +background-color: #E2F4FE; +} + +.choose a:link, .choose a:visited, .choose a:active, .choose a:hover, .choose_selected a:link, .choose_selected a:visited, .choose_selected a:active, .choose_selected a:hover, #footer a, +a.green_but_a{ +text-decoration:none; +} + +/* End Form Style */ + +#shead, .left_menu, #footer, .additional-btn{ +display:none; +} + +/* PageLinks */ +#pagejump{ +position:absolute; +top:0px; +left:0px; +display:none; +z-index:1000000; +padding:6px; +background-color:#DAEBFE; +border-radius: 5px; +} + +.page-link{ +color:#0068fd; +margin-left: 10px; +border-radius: 3px; +} + +.page-item.active .page-link { +background-color: #0068fd; +border-color: #0068fd; +} + +.pagination-top{ +margin-bottom:1rem; +} + +.pagination-bottom{ +margin-bottom: 20px; +} + +/* End PageLinks */ + +/* Start Login Style */ + + +.login_input{ +font-size:18px !important; +padding:6px; +width: 100%; +border-radius: 4px 4px 4px 4px; +} + +.loginhead{ +font-size: 30px; +text-align: center; +font-weight: 300; +z-index: 1; +} + +.loginmap{ +height: 100vh; +background:#050A30 linear-gradient( 170deg , #050A30 0%, #0f1e53 46%, rgba(82,104,171,1) 100%); +background-repeat: no-repeat; +background-position: center center; +} + +.login-form{ +width: 100%; +margin:0px auto; +padding:40px; +z-index: 1; +border-radius: 5px; +} + +.loginmap{ +width:100%; +display: flex; +flex-wrap: wrap; +justify-content: center; +align-items: center; +} + +/* End Login */ + +/* Styling for IP counts */ + +span.ip_count { +color: white; +padding:3px 5px; +font-size: 12px; +border-radius: 25%; +background-color: #000; +text-align: center; +cursor: pointer; +width: auto; +} + +/* New theming starts from here */ + +/* General Theme Classes */ + +.table > tbody > tr > td, .fa-3x { +vertical-align:middle; +} + +/* End General Theme Classes */ + +/* Table sorter CSS Starts here */ +table.tablesorter thead tr .header { +background-repeat: no-repeat; +background-position: center right; +cursor: pointer; +} + +/* Table sorter CSS Ends here */ + +.small-btn{ +font-size:11px !important; +padding:3px 12px !important; +} +/* Server stats css starts here */ + +.progress.bar{ +height: 14px; +-webkit-box-shadow: none; +box-shadow: none; +} + +.prog-organge{ +background-color: #FF4500; +} + +.cpu_axis{ +color:#000; +} +/* Server stats css ends here */ + +/* bwband_holder1 legend css starts here */ +#chartLegend, #bw_monthly_chartLegend, #nw_speed_chartLegend{ +padding-top:8px; +} + +#chartLegend td, #bw_monthly_chartLegend td, #nw_speed_chartLegend td{ +padding:3px; +} +/* bwband_holder1 legend css ends here */ + +/* BW monthly chart css starts here */ +#bw_monthly_body{ +position: relative; +display: inline-block; +} +/* BW monthly chart css ends here */ + + +/* Left side body css starts here */ +.panel-head.gray{ +background: none repeat scroll 0 0 #e1e1e1; +} +.panel-head{ +border-radius: 0; +padding: 1px; +} +.panel-head.gray h5 { +color: #444; +padding-left:5px; +} + +.stats-box{ +text-align:center; +padding:30px 0px; +} + +.stats-box span{ +display:block; +} + +/* Left side body css ends here */ + +/* form element bg starts */ + +.head .h3{ +margin-bottom:30px; +color:#000; +font-weight: 300; +font-size: 30px; +} + +.gray-txt{ +color:#666; +} + +.head{ +margin-bottom:40px; +text-align: left; +} +.head > i{ +color:#000; +margin-right: 10px; +font-size:40px; +} + +/* form rlemet bg ends */ + +/* CSS for MEDIA QUERY starts */ + +@media screen and (max-width: 500px) { + +.lm_names {display: none;} +.left_menu a:link, .left_menu a:visited, .left_menu a:active{width:50px;} + +} + +/* CSS for MEDIA QUERY Ends */ + +/*********************************/ +/****** PASSWORD STRENGTH METER***/ +/*********************************/ + +.pass-strength { +background-color: rgb(240, 240, 240); +display: block; +padding: 5px; +text-align: center; +width: 200px; +} + +.pass-strength.bad { +color:#ffffff; +background-color: #ef5350; +border-color: #ef5350; +} + +.pass-strength.good { +background-color: #ffec8b; +border-color: #fc0; +} + +.pass-strength.short { +background-color: #ffa0a0; +border-color: #f04040; +} + +.pass-strength.strong { +color:#ffffff; +background-color: #06d79c; +border-color: #06d79c; +} + +@media (max-width: 1024px) { + +.additional-btn{display: none;} + +} + +/* Graph cpu ram ntw disk inode legend css starts here */ + +.legend_container td{ +padding:3px; +} + +/* ListVS page related css starts */ +.vpsmenu{ + +position: absolute; +width:150px; +left: 20px; +top:-6px !important; +z-index: 10; +background-color: #fff; +background-clip: padding-box; +padding: 5px 0px 10px 0px; +border: 1px solid #dee2e6; +border-radius: 4px; +transition: 0.3s; +box-shadow: 0 3px 12px #9e9ea0; +} + +.vpsmenubg { +background: none repeat scroll 0 0 #ffffff; +text-align: center; +vertical-align: middle; +padding: 5px 1px; +} + +.vpsmanagemenu{ +background: none repeat scroll 0 0 #858585; +display: none; +padding: 6px; +position: absolute; +top: -8px; +left: -105px; +width: 100px; +z-index: 10; +} + +.vpsmanagemenubg{ +background: none repeat scroll 0 0 #ffffff; +text-align: center; +vertical-align: middle; +padding: 5px 5px; +} + +/*Info bar at top of ListVS page on Enduser panel*/ + +/* ListVS page related css ends */ + +/*** HAProxy (managevdf) CSS Starts ***/ +#processing_symb{ +position: fixed; +top: 25%; +left: 45%; +display: none; +z-index: 10000; +} + +#processing_symb img{ +width: 50%; +} + +.vdf_delete, .vdf_edit .fa, .vdf_save .fa{ +padding: 5px; +cursor: pointer; +} + +#vdf_infobox{ +background-color: rgba(0, 122, 253, 0.125); +color:#0068fd; +font-size: 15px; +} + +.select2-dropdown{ +z-index: 10001; +} +.chosen-single{ +height:32px;text-align:center; padding-top: 30px; +} +.tbl_actions{ +min-width: 100px; +} +/*** HAProxy (managevdf) CSS Ends ***/ + + +/* OS reinstall start */ +.os_badge { +cursor: pointer; +position: relative; +} + +.dropdown-menu{ +max-height: 200px; +overflow-y: auto; +} + +.os_badge_list a{ +color:#576170; +text-decoration: none; +outline: none; +display:block; +padding:8px; +background-color: #fff; +} + +.os_badge_list a:hover { +color:#2f3235; +background-color: #f9f6f6; +} + +.os_badge_list .SelectedOS{ +color: #ffffff; +background-color: #0068fd; +} + +.os_badge i { +position: absolute; +top: 26px; +right: 16px; +color: #aaa; +} + +.os_badge .media-left { +padding: 8px; +} + +.os_badge .media-body { +vertical-align: middle; +padding: 8px; +} + +.os_badge .version { +color: #888; +} + +.os_badge.expanded { +position: relative; +z-index: 999; +} + +.os_badge .dropdown-toggle::after, .create_os .dropdown-toggle::after{ +content: none; +} + +/* OS reinstall end */ + +#sshkey_list .os_badge i{ +position: relative; +top:unset; +right:unset; +color:unset; +} + +/* Jquery Scrollbar start */ + +.scrollbar-virt { +overflow: auto; +} + +/* Jquery Scrollbar end */ + +.invoice-body{ +background-color: #efefef; +} + +/* Invoices */ +.invoice-container { +margin: 15px auto; +max-width: 850px; +background-color: #fff; +border: 1px solid #dee2e6; +-moz-border-radius: 6px; +-webkit-border-radius: 6px; +-o-border-radius: 6px; +border-radius: 6px; +} + +#invoice{ +padding: 30px; +} + +.invoice_status_paid{ +color: green; +} + +.invoice_status_unpaid{ +color: red; +} + +.invoice_status_cancelled{ +color: blue; +} + +/* Invoices End */ + +/* Billing */ +.bill_balance{ +-moz-border-radius: 6px; +-webkit-border-radius: 6px; +-o-border-radius: 6px; +border-radius: 6px; +text-align:center; +font-size:30px; +padding:25px 15px; +} + +.bal_exp{ +font-size:15px; +color: #777777; +} + +/* Billing End */ + +/* Webuzo app stack*/ +#webuzo_stack_tr > div{ +padding: 1.2%; +} + +._label{ +font-weight:500 !important; +margin-top:9px; +} + +/* Webuzo app stack end */ + +/*Navbar CSS*/ +.login-img img{ +width: 50%; +height: auto; +} + +.logo img{height: 35px;} + +.virtualizor-nav{ +background-color:#001845; +z-index: 1030; +display: none; +} + +.useful-links i:hover{ +color:#000; +} + +/* Navbar CSS end */ + +/* Page-content CSS */ +.wrapper{ +width:100%; +overflow: hidden; +} + +.rightbody{ +display: none; +} + +.page-content{ +padding: 80px 25px 20px 25px; +} + +.timezone{ +text-align: center; +} + +.footer-content{ +font-size: 12px; +} + +.left_menu{ +width:220px; +position: fixed; +height: 100vh; +background-color: #001845; +} + +.head .title-icon, +.panel-head .title-icon{ +margin-right: 10px; +font-size:28px; +border-radius: 6px; +vertical-align: middle; +color:#3d3d3d; +} + +/* Page-content CSS end */ + +/* Checkbox CSS */ +.vps-checkbox{ +position: absolute; +opacity: 0; +} + +.vps-checkbox+label { +position: relative; +padding-left: 10px; +height: 25px; +line-height: 21px; +font-weight: normal; +} + +.vps-checkbox + label:before { +content: ''; +margin-right: 10px; +display: inline-block; +vertical-align: text-top; +width: 18px; +height: 18px; +background: white; +border:1px solid black; +} + +.vps-checkbox:hover + label:before, .vps-checkbox:checked + label:before { +background: #8BC34A; +} + +.vps-checkbox:disabled + label { +color: #b8b8b8; +cursor: auto; +} + +.vps-checkbox:disabled + label:before { +box-shadow: none; +background: #ddd; +} + +.vps-checkbox:checked + label:after{ +content: '\f00c'; +color:#ffffff; +font-family: "Font Awesome 5 Free"; +font-weight: 600; +font-size: 12px; +position: absolute; +left: 13px; +} +/* Checkbox CSS */ + +/*Radio Button CSS*/ +.vps-radio{ +position: absolute; +left:-99999px; +opacity: 0; +} + +.vps-radio:not(:checked)+label:after, +.vps-radio:not(:checked)+label:before{ +border: 1px solid #dee2e6; +border-radius:50%; +} + +.vps-radio:checked+label:after, +.vps-radio:checked+label:before{ +border: 2px solid #26a69a; +border-radius:50%; +-webkit-animation: ripple 0.2s linear forwards; +animation: ripple 0.2s linear forwards; +} + +.vps-radio:checked+label:after{ +-webkit-transform: scale(0.5); +-ms-transform: scale(0.5); +transform: scale(0.5); +background-color: #26a69a; +z-index: 0; +} + +.vps-radio+label{ +position: relative; +cursor: pointer; +margin-left: 20px; +font-size: 15px; +} + +.vps-radio+label:after, +.vps-radio+label:before{ +content: ''; +position: absolute; +left: -23px; +top: 0px; +margin: 4px; +width: 15px; +height: 15px; +z-index: 0; +-webkit-transition: .28s ease; +-o-transition: .28s ease; +transition: .28s ease; +} +/*Radio Button CSS*/ + +/*List VPS CSS*/ + +.table-col{ +color:#ffffff; +background-color:#36304a !important; +padding:6px 2px !important; +font-size: 14px !important; +font-weight: 500 !important; +vertical-align: middle !important; +position: sticky !important; +top: -1px; +z-index: 99; +} + +table.tablesorter thead tr .header:before{ +content: '\f0d8'; +font-family: "Font Awesome 5 Free"; +font-size: 15px; +font-weight: 600; +font-style: normal; +text-decoration:none; +position: absolute; +right:10px; +top:8px; +} + +table.tablesorter thead tr .header:after{ +content: '\f0d7'; +font-family: "Font Awesome 5 Free"; +font-size: 15px; +font-weight: 600; +font-style: normal; +text-decoration:none; +position: absolute; +right:10px; +top:17px; +} + +table.tablesorter tbody td{ +position: relative; +} + +table.tablesorter thead tr .header.headerSortUp:after{ +display: none; +} + +table.tablesorter thead tr .header.headerSortUp:before{ +content: '\f0d8'; +font-family: "Font Awesome 5 Free"; +font-size: 15px; +font-weight: 600; +font-style: normal; +text-decoration:none; +position: absolute; +top:8px; +right:10px; +} + +table.tablesorter thead tr .header.headerSortDown:before{ +display: none; +} + +table.tablesorter thead tr .header.headerSortDown:after{ +content: '\f0d7'; +font-family: "Font Awesome 5 Free"; +font-size: 15px; +font-weight: 600; +font-style: normal; +text-decoration:none; +position: absolute; +top:8px; +right:10px; +} + +table .vps-checkbox+label{ +margin: 6px 0px 0px 0px; +} + +.manage-arrow i{ +font-size: 20px; +} + +.bottom-go-options{ +margin:15px 0px; +width: 30%; +float: right; +} + +.bottom-go-options select{ +width: 20%; +border-radius: 2px; +} + +#vslist-bottom-go-options .bottom-go-options select{ +width: 30%; +} + +.vpsmanagemenu{ +background-color: #fff; +background-clip: padding-box; +border: 1px solid #00000026; +border-radius: 4px; +transition: 0.3s; +box-shadow: 0 3px 12px #0000000d; +} + +.vpsmenubg{ +width:auto; +padding: 0px; +} + +.vpsmenu a{ +display: inline-block; +text-align: center; +margin: 0px 2px; +} + +.vpsmenubg a i:hover{ +top:2px; +transition: 0.2s; +} + +.vpsmenubg a img{ +width: 25px; +} + +.vpsmenubg a img:hover{ +margin-top: -2px; +transition: 0.2s; +} + +.vpsmenu i{ +font-size: 20px; +position: relative; +margin-top: 0px; +top: 5px; +} + +.vpsmanagemenu i{ +position: relative; +margin-top: 0px; +top: 2px; +} + +.vpsmanagemenu a i:hover{ +top:-1px; +transition: 0.2s; +} + +.vpsmanagemenu a img:hover{ +margin-top: -4px; +transition: 0.2s; +} + +.vpsmenu .power-on, +.vpsmanagemenu .unsuspend, +.power-on,i#startimg,.start,.run{ +color:#06d79c; +} + +.bal_txt{ +color:#0068fd +} + +.vpsmanagemenu .suspend, .suspend{ +color:#656373; +} + +.vpsmanagemenu .delete, .delete, .stop{ +color:#ff0000; +} + +.edit, .randpass{ +color:#FFBF00; +} + +.info, #process_poweroff, i, #refresh_status, .useful-links #refresh_page, .start, #sstop, #srestart, .prog-organge, .adv-options, #ei_advoptions_toggle{ +cursor: pointer; +} + +.fa-1x{ +font-size: 18px !important; +} + +.vpsmenu .power-off, +.power-off{ +color:#ff0000; +} + +.vpsmenu .stop, i.fa.fa-stop.suspend{ +color:#656373; +} + +.go_btn{ +-webkit-border-radius: 0; +-moz-border-radius: 5px; +border-radius: 5px; +text-transform: capitalize; +text-decoration: none; +background-color: transparent; +border:0px; +-webkit-transition: all ease-in .3s; +transition: all ease-in .3s; +color: #fff; +} + +/* List VPS CSS*/ + +/* Dashboard CSS */ +.dashboard-title{ +font-size:30px; +font-weight: 300; +} + +img#flag_src { +border: 1px solid #dee2e6; +} + +.manage-btns a:hover i, +.manage-btns a:hover .manage-label{ +transition: all 0.6s; +} + +.overview-label{ +font-size: 18px; +margin-bottom: 10px; +} + +.form-label{ +margin-bottom: 8px; +color: #868888; +display:block; +} + +.info-text{ +color: #0068fd; +cursor: pointer; +} + +#graphs-tab .nav-link, +#sub-tasks-and-logs .nav-link{ +color:#576170; +transition: all 0.4s linear; +} + +#graphs-tab .nav-link.active, +#sub-tasks-and-logs .nav-link.active{ +border-radius: 0px; +color: #0068fd; +background-color: rgba(0, 122, 253, 0.125); +} + +.prev-mnth.green_but, +.next-mnth.green_but{ +padding:4px 10px; +} + +.stat-label{ +font-size:15px; +} + +.stat-val{ +color:#3d3d3d; +font-size: 15px; +} + +.progress{ +background-color: #c5c5c5; +} + +.months{ +color:#3d3d3d; +font-size: 18px; +font-weight: 400; +} + +.network_speed{ +width:100%; +height:155px; +} + +.bwpiechart{ +width:140px; +height:140px; +} + +.bandwidth-title, .statistics-title, .tab-heading{ +color:#3d3d3d; +font-size: 22px; +} + +.total_percent_val{ +color:#455a64; +font-size: 15px; +} + +.form-control{ +height: 47px; +font-size: 14px; +min-height:40px; +margin-bottom: 8px; +color: #67757c; +display: inline-block; +border-radius:4px; +} + +.form-control::placeholder{ +color:#d2d2d2; +} + +.form-control:focus, .custom-select:focus{ +box-shadow: none; +} + +.adv-toggle{ +cursor:pointer; +} + +.w-90{ +width:90% !important; +} + +.tab-para{ +color:#3d3d3d; +} + +.left-sidebar{ +background-color: #050A30; +} + +.left-sidebar-menu{ +padding-left: 0px; +list-style-type: none; +} + +.left-sidebar-menu li:hover { +background:#fdfdfd12; +} + +.badge-orange{ +color:#ffffff; +background:#EF5350; +} + +.count-badge{ +color:#ffffff; +background:#0068fd; +} + +#orig_uid{ +background-color: #f8fdff; +color:#050A30 +} + +.chosen-container-single .chosen-single div b{ +background-position-y: 10px !important; +} + +.chosen-container-single .chosen-search input[type=text]{ +height: 28px; +border-radius: 4px !important; +font-size: 16px; +} + +.dashboard-tab .nav-tabs, .adv_border .nav-tabs, .nav-tabs{ +border-bottom: 1px solid #dee2e6; +margin: 0; +} + +.dashboard-tab .nav-tabs li a, .adv_border .nav-tabs li a, .nav-tabs a{ +position: relative; +padding: 10px; +margin-right: 20px; +color: #000 !important; +border: none; +border-radius: 0; +background: transparent; +transition: all 0.3s ease 0s; +z-index: 2; +font-size: 15px; +} + +.dashboard-tab .nav-tabs li a:before, .adv_border .nav-tabs li a:before, .nav-tabs a:before{ +content: ""; +width: 100%; +height: 4px; +border-radius: 2px; +position: absolute; +bottom: 0; +left: 0; +} + +.dashboard-tab .nav-tabs li a:after, .adv_border .nav-tabs li a:after, .nav-tabs a:after{ +content: ""; +width: 0; +height: 4px; +background-color: #0068fd; +border-bottom: 1px solid #dee2e6; +border-radius: 2px; +position: absolute; +bottom: -2px; +left: 0; +transition: all .4s ease 0s; +z-index: 1; +} + +.dashboard-tab .nav-tabs li a.active:after, .adv_border .nav-tabs li a.active:after, .nav-tabs a.active:after{ +width: 100%; +opacity: 1; +} + +.nav-tabs .nav-item.show .nav-link, .nav-tabs .nav-link.active, .nav-tabs .nav-link:focus, .nav-tabs .nav-link:hover, .nav-tabs .nav-link{ +border:none; +} + +/* .nav-tabs .nav-link { +border: none; +border-top-left-radius: 0; +border-top-right-radius: 0; +} */ + +.vertical-tabs .nav-link{ +color:#515a68; +padding: 7px 5px; +margin-bottom: 10px; +transition: all ease-in 0.2s; +} + +.vertical-tabs .nav-link.active{ +border-radius: 0px; +color: #2948ff; +} + +.v-tabs-container{ +border-right: 1px solid #dee2e6; +} + +.nav-pills .nav-link.active{ +background-color: unset; +} + +.current-value{ +color:#000000; +} + +#webuzo_scriptlist_tr .chosen-container{ +width:100% !important; +} + +.blue_btn:hover{ +background-color: #075dd9; +} + +.cancel-btn{ +background-color: #ff0000; +border:none; +border-radius: 4px; +color:#ffffff; +font-weight: 500; +padding: 7px 12px; +transition: 0.2s ease-in; +} + +.cancel-btn:hover{ +background-color: #e00303; +} + +.modal-title i{vertical-align: middle;} +.modal-title i.success{color: #06d79c;} +.modal-title i.warning{color: orange;} +.modal-title i.error{color: #ef5350;} + +.modal-body{ +font-weight: 500; +line-height: 30px; +margin-bottom: 0px; +} + +.modal-body p{ +margin-bottom: 0px; +} + +.link-btn{ +background-color:#398bf7; +border:none; +border-radius: 4px; +text-decoration: none !important; +color:#ffffff !important; +font-size: 14px; +padding: 7px 12px; +transition: 0.2s ease-in; +} + +.link-btn:hover{ +text-decoration: none; +color:#ffffff; +box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); +} + +.v-tab-heading{ +color:#515557; +font-size: 18px; +} + +.distro_name.media-heading{ +color:#3d3d3d; +font-size: 22px; +} + +.version{ +color:#586271; +font-size: 12px; +} + +.create_os.selected .version, .create_os.selected .distro_name,.os_badge.selected .distro_name, .os_badge.selected .version{ +color:#0068fd +} + +.info-icon{ +background-color: #0068fd; +color: #fff; +padding: 4px 12px; +border: none; +border-radius: 4px; +} + +.info-icon:hover, +.info-icon:focus{ +border:none; +box-shadow: 0 14px 26px -12px rgba(23, 105, 255, 0.42), 0 4px 23px 0 rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(23, 105, 255, 0.2); +} + +.info-icon i{ +font-size: 12px; +} + +.dataTables_filter input[type=search]{ +border: 1px solid #dee2e6; +border-radius: 4px; +height: 30px; +} + +.panels-type{ +display: inline-block; +width: 100%; +position: relative; +color: #fff; +cursor: pointer; +transition: all 0.4s; +border-radius: 10px; +} + +.panels-type:hover{ +border:none; +box-shadow: 0 8px 16px 0px rgb(10 14 29 / 1%), 0px 8px 30px 0px rgb(10 14 29 / 7%) !important; +} + +.flot-tick-label.tickLabel{ +max-width: 35px !important; +font-size:10px; +} + +#managesubnets_div{ +padding:20px 0px; +} + +.dataTables_wrapper .dataTables_length, +.dataTables_wrapper .dataTables_filter, +.dataTables_wrapper .dataTables_info, +.dataTables_wrapper .dataTables_processing, +.dataTables_wrapper .dataTables_paginate, +.dataTables_wrapper .dataTables_length select option{ +color:#89919c; +} + +.paginate_button.current{ +border-radius: 4px; +} + +.dataTables_wrapper .dataTables_paginate .paginate_button{ +border:unset; +} +.dataTables_wrapper .dataTables_paginate .paginate_button:hover{ +background:#fff; +border:unset; +} +.dataTables_wrapper .dataTables_paginate .paginate_button{ +margin-left: 0px; +padding: 0px; +} + +table.dataTable thead .sorting, table.dataTable thead .sorting_desc, table.dataTable thead .sorting_asc{ +background-image: none; +} + +.panel-head{ +border-radius: 0; +padding: 20px 0px 20px 20px; +box-shadow:1px 2px 3px #c5c5c5; +} + +.panel-head .h5{ +font-size: 18px; +} + +.responsivetabs-more .dropdown-toggle{ +font-size: 18px !important; +} + +.responsivetabs-more .dropdown-toggle:after{ +display:none; +} + +.vertical-tab-content form input[type=text], +.vertical-tab-content form input[type=textbox], +.vertical-tab-content form input[type=password], +.vertical-tab-content form select{ +width:50%; +} + +.dropdown.responsivetabs-more .dropdown-item.active{ +color:#ffffff !important; +background:linear-gradient(to right, #396afc, #2948ff); +} +/* Dashboard CSS end */ + +/* Launch Instance*/ + +.adv-options i, #ei_advoptions_plus i{ +vertical-align: middle; +} + +.adv-options .h4{ +vertical-align: middle; +} + +.panel-heading{ +background-color:rgb(240,240,240); +border-radius:4px; +cursor:pointer; +font-size: 18px; +} + +/* Launch Instance CSS end*/ + +.manage-drop-btn, +.manage-label{ +display: none; +} + +span.search{ +font-size: 28px; +} + +.chosen-container-multi .chosen-choices{ +padding:5px; +border-radius: 5px; +border-color: #dee2e6; +} + +.chosen-container-single .chosen-single { +text-align: left; +padding: 7px !important; +font-size: 14px; +height: 40px !important; +background: #ffffff !important; +border: 1px solid #dee2e6; +} + +div#vslst .table-col { +padding: 8px !important; +} + +#logs_div table td{ +text-align: left; +} + +#cpu_hist{ +font-size: 12px; +} + +button:focus{ +outline:none; +} + +.restore-icon{ +font-size:17px; +} + +.vps-info-icons{ +font-size:25px; +} + +#server_details .form-label, #show_vnc_window .form-label, #vnc-cell-tab .form-label{ +margin-bottom: 0px; +word-break: break-all; +} + +.vps-info-box .vps-info-box-child{ +position: relative; +align-items: center; +justify-content: center; +display: flex; +min-height: 125px; +border-radius: 10px; +} + +span#vps-desc-status > span.online{ +color: #06d79c; +} +span#vps-desc-status > span.offline{ +color: #ef5350; +} +span#vps-desc-status > span.suspended{ +color: #5C79B8; +} +span#vps-desc-status > span.ntw_suspended{ +color: #FFA500; +} + +span#site_domain{ +font-size: 30px; +font-weight: bold; +} + +#letsencrypt-progressbar{ +width:35%; +margin:0px auto; +display: none; +} + +.loader { +border: 2px solid #dee2e6; /* Light grey */ +border-top: 2px solid #EF5350; +border-radius: 50%; +width: 17px; +height: 17px; +margin:0px auto; +animation: spin 0.3s linear infinite; +} + +.active-menu a{ +color:#fff !important; +background-color: rgba(250,250,250,.1); +} + +.wrap{ +max-width: 124px; +overflow: hidden; +text-overflow: ellipsis; +white-space: nowrap; +transition:all 0.5s; +} + +.osname-wrap{ +max-width: 219px; +} + +.animate{ +animation: show 1s linear; +} + +.badge{ +font-size: 12px; +} + +div#vnc img { +width: 30px; +cursor: pointer; +} + +.mobile-logo{ +display: none; +} + +.table-fix{ +width: 96%; +margin:0px auto; +} + +.select2-selection, .select2-selection--multiple{ +height: 35px; +font-size: 14px !important; +min-height: 40px; +color: #67757c; +display: inline-block; +border:1px #dee2e6 solid !important; +border-radius: 4px; +padding: .375rem 1.75rem .375rem .3rem; +} + +.select2-selection--multiple { + min-height: unset; + height: unset; +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice{ + margin-top: 0px; +} + +.select2-container--default .select2-selection--single .select2-selection__arrow{ +top:11px +} + +#usersettings_timezone{ +font-size: 14px; +} + +#private_key.form-control{ +height: unset; +min-height: unset; +} + +.select2-container img.distro_img{ +width: auto; +max-width: 25px; +} + +#ei_os_name img{ +width: 35px; +} + +.vdf-btn, .vdf-btn:hover{ +color:#0068fd; +} + +.modal-body{ +line-height: unset; +} + +.popover-body{ +max-height: 250px; +height: auto; +overflow: auto; +} + +#error_break{ +min-height: 300px; +height: auto; +} + +@keyframes show { + 0% {background-color: #bbdefb; } + 100% {background-color: #fff;} +} + +@keyframes spin { +0% { transform: rotate(0deg); } +100% { transform: rotate(360deg); } +} + +#cpu_hist .xAxis{ +color:transparent; +} + +#show_recipecode_window table.tablesorter{ +box-shadow: unset; +} + +@media (min-width: 576px){ + + /* .statistics .modal-dialog { + max-width: 800px; + width:auto; + } */ + + /* .statistics #show_processes_window .modal-dialog, .statistics #show_managevdf_window .modal-dialog{ + max-width: 900px; + width:auto; + } */ + + #services_div, #system_alerts_div, #process_div { + width: 96%; + margin: 0px auto; + padding: 10px 0px 20px 0px; + } +} + +.select2-dropdown{ +z-index: 1000; +} + +/*CSS Media Queries */ +@media all and (max-width:1200px){ + +.monthly-chart{height: auto !important;} +.login-form{width: 40%;} +} + +@media all and (max-width:1024px){ + +.table.tablesorter thead th{padding:5px 25px 5px 15px !important;} +.table.tablesorter thead th.select-all-checkbox{padding:0px !important;} +.login-form{width: 50%;} +.bottom-go-options select{width:30%;} +} + +@media all and (max-width:767px){ + +.left-side-tabs{border-bottom: 1px solid #dee2e6;} +.vertical-tabs .nav-link{padding:7px 10px;} +.left-side-tabs .nav-link.active{background:linear-gradient(to right, #396afc, #2948ff);color:#ffffff;} +.vertical-tab-content form input[type=text], +.vertical-tab-content form input[type=textbox], +.vertical-tab-content form input[type=password], +.vertical-tab-content form select{width:100%;} +.login-form{width:60%;} + +} + +@media all and (max-width: 720px){ + +.lm_names{display: none;} +.left-sidebar-menu{text-align: center;} +.left_menu{width: 80px;} +.page-wrapper{margin-left: 80px;} + +} + +@media all and (max-width: 678px){ + +.login-form{width: 90%;} +.bottom-go-options select{width: 40%;} +} + +@media (max-width: 720px){ +.mobile-logo{display: block;} +.main-logo{display: none;} +#disable_loginlogo img{width: auto;height: 35px;} +} + +@media (max-width: 480px){ +.lm_names{display: none;} +.left_menu_i{font-size: 12px;} +} + +/*CSS Media Queries*/ + +.blue_btn{ +-moz-box-shadow:inset 0px 1px 0px 0px #0068fd; +-webkit-box-shadow:inset 0px 1px 0px 0px #0068fd; +box-shadow:inset 0px 1px 0px 0px #0068fd; +background-color:#0068fd; +-moz-border-radius:3px; +-webkit-border-radius:3px; +border-radius:3px; +border:1px solid #0068fd; +display:inline-block; +cursor:pointer; +color:#ffffff; +font-weight: 500; +padding:6px 12px; +text-decoration:none; +text-shadow:0px 1px 0px #0068fd; +} + +.select2-container .select2-selection--single,span.select2-selection.select2-selection--multiple{ +height: 47px; +} + +.custom-select{ +height: calc(1.5em + 1.5rem + 2px); +font-size: 14px; +} + +.select2-container--default .select2-selection--single .select2-selection__rendered{ +line-height: 34px; +} + +li.select2-search.select2-search--inline{ +line-height: 24px; +} + +.create_os, .os_badge{ +border:1px solid #dee2e6; +cursor: pointer; +} + +.create_os .media-footer, .os_badge .media-footer{ +border-top: 1px solid #dee2e6; +} + +.create_os.selected, .os_badge.selected{ +border:1px solid #0068fd; +} + +.create_os.selected .media-footer, .os_badge.selected .media-footer{ +border-top:1px solid #0068fd; +} + +.go-option{ +background-color: #0068fd; +border:1px solid #0068fd; +border-top-right-radius: 2px; +border-bottom-right-radius: 2px; +} + +.create_os .dropdown-menu, .os_badge .dropdown-menu{ +font-size: 12px; +max-width: 190px; +} + +div#welcome { +position: fixed; +background-color: #fff; +z-index: 1040; +top: 0; +padding: 9px 0px; +} + +.profile{ +display: none; +} + +.profile i, .profile .dropdown-toggle::after{ +color:#050A30 +} + +.table thead th{ +font-weight: 400; +position: sticky !important; +border-bottom: 1px solid #dee2e6; +top:-1px; +background-color: rgb(240, 240, 240); +z-index: 1; +font-size: 15px; +} + +.table{ +color:#4e5259 +} + +a{ +color:#0068fd; +} + +table.dataTable thead th, table.dataTable tfoot th{ +font-weight: 400; +padding: .75rem; +border: 0; +} + +.shadow{ +box-shadow: 0 8px 16px 0px rgb(10 14 29 / 1%), 0px 8px 30px 0px rgb(10 14 29 / 7%) !important; +} + +span#refresh_page { +padding: 8px 0px 0px 20px; +} + +table.dataTable tbody th, table.dataTable tbody td{ +padding: .75rem; +} + +.city, #vm_distro{ +font-size: 16px; +} + +.bg-grey,.form-control:disabled, .form-control[readonly], .input-group-text{ +background-color: rgb(240, 240, 240); +} + +.vs-data-1{ +font-size: 15px; +} + +.dropdown-item.active, .dropdown-item:active{ +background-color: #0068fd; +} + +.profile .dropdown-menu{ +font-size: 14px; +} + +.dataTables_wrapper .custom-select{ +height: unset; +} + +.table-hover tbody tr:hover{ +color:#000; +background-color: rgb(240,240,240); +} + +.go-option a:hover,a.blue_btn:hover{ +color:#fff +} + +span.medium{ +color:#000; +font-size: 15px; +} + + +/* radio button start */ + +/* parent container
*/ +.r-pill { + border: 0; + padding: 0; + margin: 0; +} + +/* radio groups need a legend */ +.r-pill legend { + display: block; + font-size: inherit; + font-weight: bold; + margin-bottom: .5em; + padding: 0; + width: 100%; +} + +/* + Optional inner wrapper (
) to provide additional styling. +*/ +.r-pill__group { + background: rgb(240, 240, 240); + border-radius: 2em; + display: inline-block; + padding: .25em; +} + +.r-pill__item { + display: inline-block; + position: relative; +} + +.r-pill input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background: none; + border: 2px solid; + height: 100%; + left: 0; + opacity: .00001; + position: absolute; + top: 0; + width: 100%; + z-index: 2; +} + +.r-pill__item label { + border-radius: 2em; + border: 2px solid transparent; + color: #083851; + display: block; + padding: .25em .75em; +} + +.r-pill__item input:hover ~ label, +.r-pill__item label:hover { + background: #E2F1FD; + border-color: #0068fd; +} + +.r-pill[disabled] .r-pill__item input:checked + label:hover, +.r-pill__item input:checked + label { + background: #0068fd; + color: #fff; +} +.lm_names{display: none;} +.left_menu_i{font-size: 12px;} + +/** + * Disabled + */ +.r-pill[disabled], +.r-pill__item input[disabled] + label { + opacity: .5; +} + +.r-pill__item input[disabled] ~ label, +.r-pill__item input[disabled] ~ label:hover, +.r-pill[disabled] label:hover { + background: transparent; + border-color: transparent; + cursor: not-allowed; +} + + +/** + * Undo styling that makes these pills appear as + * if they are all checked in high contrast mode. + */ +@media screen and (-ms-high-contrast: active) { + .r-pill__item label { + border: 0; + margin: 2px; + } + + .r-pill__item input:checked + label { + border: 2px solid; + margin: 0; + } + + .r-pill__item input:hover ~ label, + .r-pill__item label:hover { + text-decoration: underline; + } + + .r-pill[disabled] .r-pill__item label:hover, + .r-pill[disabled] .r-pill__item input:hover ~ label { + text-decoration: none + } +} + +/* radio button end */ + +.use_sshkey{border:1px solid #dee2e6;} +.w-fit{width: fit-content;width: -moz-fit-content;} +img#cpuman_img{width: 60px;} + +.input-group-text, .bill-rates {font-size: 13px;} +.bill-rates{font-weight: 300;} .profile .dropdown-item:active i{ color:#fff } \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/OpenSans-Regular.svg b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/OpenSans-Regular.svg index 9b5d681..a7118af 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/OpenSans-Regular.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/OpenSans-Regular.svg @@ -1,252 +1,252 @@ - - - - -This is a custom SVG webfont generated by Font Squirrel. -Copyright : Digitized data copyright 20102011 Google Corporation -Foundry : Ascender Corporation -Foundry URL : httpwwwascendercorpcom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +This is a custom SVG webfont generated by Font Squirrel. +Copyright : Digitized data copyright 20102011 Google Corporation +Foundry : Ascender Corporation +Foundry URL : httpwwwascendercorpcom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-brands-400.svg b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-brands-400.svg index 843c1c7..a4ca84e 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-brands-400.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-brands-400.svg @@ -1,3535 +1,3535 @@ - - - - - -Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-regular-400.svg b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-regular-400.svg index f1f7e6c..3c7e643 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-regular-400.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-regular-400.svg @@ -1,803 +1,803 @@ - - - - - -Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-solid-900.svg b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-solid-900.svg index cfd0e2f..4607064 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-solid-900.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/fa-solid-900.svg @@ -1,4700 +1,4700 @@ - - - - - -Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + +Created by FontForge 20190801 at Tue Dec 10 16:09:21 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/virt.svg b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/virt.svg index 9909e40..d73880b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/fonts/virt.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/fonts/virt.svg @@ -1,45 +1,45 @@ - - - -Generated by IcoMoon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +Generated by IcoMoon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/ethernet-solid1.svg b/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/ethernet-solid1.svg index 2049c22..843df57 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/ethernet-solid1.svg +++ b/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/ethernet-solid1.svg @@ -1,69 +1,69 @@ - - + + diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/index.html b/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/ui/images/admin/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/images/index.html b/whmcs/modules/servers/virtualizor_cloud/ui/images/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/images/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/ui/images/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/index.html b/whmcs/modules/servers/virtualizor_cloud/ui/index.html index 74c5110..f7e080e 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/ui/index.html @@ -1,4273 +1,4273 @@ - - - - - - -[[site_name]] - - - - - - - - - -
{{loading}}
- - - -
-
-
- - - - -
-
-
- - - -
- - - -
- - - -
-
- - -
- -
-
{{vps_info}}
- -
-
-
-
- -
-
- - -
-
-
- -
-
-
-
- - -
-
- - - -
-
- - -
-
- - -
-
-
-
-
-
-
-
-
-
-
- -
-
- VNC -
-
- -
-
-
-
-
- - -
- -
-
-
-
-
-
-
-

{{vps_disk_usage}}

-
-
-
-
- -
-
-
-
-

{{vm_bandwidth}}

-
-
-
-
- -
-
-
-
-
-
-

{{cpu}}

-
-
-
- {{cr_used}} -
-
-
-
- - - - - - - - - - - - - - - - - -
-
-
- -
-
-
-
-
- -
-
-
-
-
-
-
- {{vm_bandwidth}} -
-
-
-
- -
-
-
- - -
-
-
-
-
- {{cr_limit}} : - -
-
- {{band_bandwidth_utilized}} - -
-
- {{band_percent_utilized}} - -
-
-
-
-
-
-
-
-
-
- {{vm_monthly_chart}} -
-
-
-
-
-
-
-
-
- {{band_network_speed}} -
-
-
-
-
-
-
-
-
-

{{vm_monitor}}

-
-
-
-
-
- - - -
-
-
-
-
-
- -
- -
- -
- - - -
- -
-
-
-
-
-
-
-
-
-
- -
- -
- -
- -
- -
- - -
-
-
-
-
-
-
- -
- -
- -
- - -
- -
-
-
-
-
-
-
-
- -
- -
- -
- - -
- -
-
-
-
-
-
-
-
- -
- -
- - -
-
-
-
-
-
-
-
-
-
- -
- -
- - -
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
- - -
- - -
- - -
-
-
-
-
- - -
{{strength_indicator}}
-
-
- - -
- - -
-
-
-
-
- - -
- - -
-
-
-
-
-
- -
- - -
-
-
- -
- - -
-
-
- -
- - -
-
-
- -
- - -
-
-
-
- -
-
-
- - -
-
- -
- - -
-
-
-
-
- - -
- - -
-
-
-
- -
- - -
-
- -
- -
- - -
-
- -
- -
- - -
-
-
-
- -
- -
-
-
- - -
- - -
-
-
- - -
- - -
-
-
- - -
- - -
-
-
- - -
- - -
-
-
-
- -
- -
-
-
-
- -
- -
-
-
-
- -
- -
-
-
-
- - -
-
-
- - -
-
-
-
-
-
-
-
-
- - - -
-
-
-
-
- VNC - -
- -
-
-
-
-
-
- - -
-
- - -
- - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
- - -
-
-
-
- - -
-
-
-
-
-
- - -
-
-
-
- -
-
-
-
-
-
-
- -
- - - - - - - - -
-
-
-
- -
-
-
-
-
-
- - -
- -
-
-
- - - - - -
-
-
-
-
- -
-
- - -
-
-
- -
-
-
-
- - -
- - - - -
-
{{strength_indicator}}
-
-
- - -
-
-
- - - - -
- -
-
-
-
- -
-
- - - - - - - - -
- -
-
-
- - -
-
-
-
- -
-
- - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{with_selected}} - - - - - - -
-
-
-
-
-
- -

{{resc_rescue_exp}}

-
-
- - -
-
-
-
-
-
-
-
- -
-
-
-
-
-
{{bkup2_list_head}}
-
{{bkup2_list_exp}}
-
- - - - - - - - - -
{{bkup2_date}}{{bkup2_action}}
-
-
{{bkup2_monthly_bkups_used}}
-
{{bkup2_monthly_restores_used}}
-
{{bkup2_current_cycle}}
- -
- -
-
-
-
-
-
-
- -
-
- - -
-
- -
-
-
- -
-
-
-
-
-
-
-
-
- - - - - -
-
-
-
-
- -
-
-
- -
- -
-
-
-
- -
- -
-
-
- - - -
-
-

- - {{rdns_rdns_existing}} -

-
-
-
-
-
- - - -
-
- - - {{lst_virtual_servers}} -
- -
- -
- - - -
-
- - {{li_page_head}} -
-
-
-
-
-
- - -
-
-
-
- - -
-
-
- - - - - - - -
-
-
-

{{li_os}}

- - -
-
-
- -
-
- -
- -
- -
-
- -
-
-
-
- - -
- -
-
-
-
-
- - -
- - - - -
-
-
-
-
- - -
-
-
-
- - -
- -
- {{li_free}} -
-
-
-
-
-
- - -
- -
- {{li_free}} -
-
-
-
-
-
- - -
- -
- {{li_free}} -
-
-
-
-
-
- - -
- -
- {{li_free}} -
-
-
-
-
-
- - -
- -
- GB - {{li_free}} -
-
-
-
-
-
- - -
- -
- MB - {{li_free}} -
-
-
-
-
-
- - -
- -
- MB - {{li_free}} -
-
-
-
-
-
- - -
- -
- MB - {{li_free}} -
-
-
-
-
-
- - -
- -
- GB - {{li_free}} -
-
-
-
-
-
- - -
- -
- {{li_cores_max}} - {{li_free}} -
-
-
-
-
-
-
-
- -
- - -
-
-
- -
-
- -
-
- -
-
-
- - - - - -
- -
-
- - -
- -
-
-
-
-
- - - -
-
-
- - {{ei_page_head}} -
-
-
-
-
- - - -
-
- -
-
- -
- -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - -
- - - - -
-
-
-
-
- - -
- -
- {{ei_free}} -
-
- -
-
-
-
- - -
- -
- {{ei_free}} -
-
- -
-
-
-
- - -
- -
- {{ei_free}} -
-
- -
-
-
-
- - -
- -
- {{ei_free}} -
-
- -
-
-
-
- - -
- -
- GB - {{ei_free}} -
-
- -
-
-
-
- - -
- -
- MB - {{ei_free}} -
-
- -
-
-
-
- - -
- -
- MB - {{ei_free}} -
-
- -
-
-
-
- - -
- -
- MB - {{ei_free}} -
-
- -
-
-
-
- - -
- -
- GB - {{ei_free}} -
-
- -
-
-
-
- - -
- -
- {{li_cores_max}} - {{ei_free}} -
-
- -
-
-
-
-
-
- -
- - -
-
-
- -
- -
-

{{ei_addvoption}}

- -
-
-
-
-
- - -
- -
- {{ei_net_kb}} - -
-
-
-
- -
-
- - -
- -
- {{ei_net_kb}} - -
-
-
-
- - - -
-
-
- - - -
-
-
- - -
-
- -
- -
- - - -
-
-
-
-
- - - -
-
- - {{cr_header}} -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{cr_resource_type}}{{cr_limit}}{{cr_used}}{{cr_left}}
{{cr_num_vs}}
{{cr_num_users}}
{{cr_num_space}}
{{cr_num_ram}}
{{cr_num_bandwidth}}
{{cr_num_ipv4}}
{{li_ips_int}}
{{cr_num_ipv6_subnet}}
{{cr_num_ipv6}}
{{cr_num_cores}}
{{cr_max_cores}}
--
-
-
-
- - - -
-
- - {{usr_page_head}} -
- - -
- - - -
-
- - {{adu_page_head}} -
- -
- - - -
-
- - {{edu_page_head}} -
-
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
- - - -
-
- - {{tasks_heading}} -
- - -
- - - -
-
- - {{sshkey_heading}} -
- - -
- - - -
-
- - {{sshkey_heading_add}} -
- -
- - - -
-
- - {{sshkey_edit}} -
-
- - -
-
-
- - - -
-
- - - -
-
-
-
- -
-
-
- - - -
-
- - {{apps_heading}} -
-
-
- - - -
-
- - {{euiso_heading}} -
- - -
- - - -
-
- - {{aiso_page_head}} -
- -
- - - -
-
- - {{lm_rdns}} -
- - - -
- - - -
-
- - {{pr_change_profile}} -
- - - -
- - - -
-
- - {{lm_usr_settings}} -
- - - -
- - - -
-
- - {{up_page_head}} -
- -
- - - -
-
- - {{apik_api_credentials}} -
-
-
-
-
-
- - - -
-
- - {{bill_heading}} -
-
-
-
-
- {{bill_unpaid_invoices}} -
-
-
-
-
- {{bill_cur_usage}} -
-
-
-
-
- {{bill_bal}} -
-
-
-
-
- {{bill_charges}} -
-
-
- - -
- - - -
-
- - {{pdns_page_head}} -
- - - -
- - - -
-
- -
-
- -
-
-
- - - -
- -
-
-
-
0%
-
-
-
-
-
-
- - -
- - - - - -
-
- - {{mz_page_head}} -
- - - - - - -
- - - -
-
- - {{dwnldiso_heading}} -
-
-
-
- - - -
-
- - {{bs_heading}} -
-
- -
-
-
-
- -   - -
-
-
-
- -
-
- - - -
-
- - {{bs_heading_add}} -
-
- - -
-
-
- - - -
-
-
-
- - - -
-
- -
-
- - - -
-
-
-
- - - -
-
- -
-
- - - -
-
-
-
- - - -
-
-
-
- - - {{bs_dir_exp}} - -
-
-
-
- -
-
-
- - - -
-
- - {{bs_heading_edit}} -
-
- - -
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- - - -
-
-
-
- -
-
-
- - - -
- -
- - -
- - - - - - - - - - - - - - - -
-
- -
- - - - - - - - - - - - - - - - -
-
- -
-
- - - -
-
- -
-
- - - - -
-
- -
-
- - -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - - -[[virt_dev_license]] -[[virt_pirated_license]] - - + + + + + + +[[site_name]] + + + + + + + + + +
{{loading}}
+ + + +
+
+
+ + + + +
+
+
+ + + +
+ + + +
+ + + +
+
+ + +
+ +
+
{{vps_info}}
+ +
+
+
+
+ +
+
+ + +
+
+
+ +
+
+
+
+ + +
+
+ + + +
+
+ + +
+
+ + +
+
+
+
+
+
+
+
+
+
+
+ +
+
+ VNC +
+
+ +
+
+
+
+
+ + +
+ +
+
+
+
+
+
+
+

{{vps_disk_usage}}

+
+
+
+
+ +
+
+
+
+

{{vm_bandwidth}}

+
+
+
+
+ +
+
+
+
+
+
+

{{cpu}}

+
+
+
+ {{cr_used}} +
+
+
+
+ + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+ {{vm_bandwidth}} +
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ {{cr_limit}} : + +
+
+ {{band_bandwidth_utilized}} + +
+
+ {{band_percent_utilized}} + +
+
+
+
+
+
+
+
+
+
+ {{vm_monthly_chart}} +
+
+
+
+
+
+
+
+
+ {{band_network_speed}} +
+
+
+
+
+
+
+
+
+

{{vm_monitor}}

+
+
+
+
+
+ + + +
+
+
+
+
+
+ +
+ +
+ +
+ + + +
+ +
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ + +
+
+
+
+
+
+
+ +
+ +
+ +
+ + +
+ +
+
+
+
+
+
+
+
+ +
+ +
+ +
+ + +
+ +
+
+
+
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+
+
+
+
+
+ +
+ +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ + +
+ + +
+ + +
+
+
+
+
+ + +
{{strength_indicator}}
+
+
+ + +
+ + +
+
+
+
+
+ + +
+ + +
+
+
+
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+
+ +
+
+
+ + +
+
+ +
+ + +
+
+
+
+
+ + +
+ + +
+
+
+
+ +
+ + +
+
+ +
+ +
+ + +
+
+ +
+ +
+ + +
+
+
+
+ +
+ +
+
+
+ + +
+ + +
+
+
+ + +
+ + +
+
+
+ + +
+ + +
+
+
+ + +
+ + +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+
+ + +
+
+
+ + +
+
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+ VNC + +
+ +
+
+
+
+
+
+ + +
+
+ + +
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+ + +
+
+
+
+ +
+
+
+
+
+
+
+ +
+ + + + + + + + +
+
+
+
+ +
+
+
+
+
+
+ + +
+ +
+
+
+ + + + + +
+
+
+
+
+ +
+
+ + +
+
+
+ +
+
+
+
+ + +
+ + + + +
+
{{strength_indicator}}
+
+
+ + +
+
+
+ + + + +
+ +
+
+
+
+ +
+
+ + + + + + + + +
+ +
+
+
+ + +
+
+
+
+ +
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{with_selected}} + + + + + + +
+
+
+
+
+
+ +

{{resc_rescue_exp}}

+
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
{{bkup2_list_head}}
+
{{bkup2_list_exp}}
+
+ + + + + + + + + +
{{bkup2_date}}{{bkup2_action}}
+
+
{{bkup2_monthly_bkups_used}}
+
{{bkup2_monthly_restores_used}}
+
{{bkup2_current_cycle}}
+ +
+ +
+
+
+
+
+
+
+ +
+
+ + +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+
+ + + + + +
+
+
+
+
+ +
+
+
+ +
+ +
+
+
+
+ +
+ +
+
+
+ + + +
+
+

+ + {{rdns_rdns_existing}} +

+
+
+
+
+
+ + + +
+
+ + + {{lst_virtual_servers}} +
+ +
+ +
+ + + +
+
+ + {{li_page_head}} +
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+ + + + + + + +
+
+
+

{{li_os}}

+ + +
+
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+
+
+ + +
+ +
+
+
+
+
+ + +
+ + + + +
+
+
+
+
+ + +
+
+
+
+ + +
+ +
+ {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ GB + {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ MB + {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ MB + {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ MB + {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ GB + {{li_free}} +
+
+
+
+
+
+ + +
+ +
+ {{li_cores_max}} + {{li_free}} +
+
+
+
+
+
+
+
+ +
+ + +
+
+
+ +
+
+ +
+
+ +
+
+
+ + + + + +
+ +
+
+ + +
+ +
+
+
+
+
+ + + +
+
+
+ + {{ei_page_head}} +
+
+
+
+
+ + + +
+
+ +
+
+ +
+ +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + +
+ + + + +
+
+
+
+
+ + +
+ +
+ {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ GB + {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ MB + {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ MB + {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ MB + {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ GB + {{ei_free}} +
+
+ +
+
+
+
+ + +
+ +
+ {{li_cores_max}} + {{ei_free}} +
+
+ +
+
+
+
+
+
+ +
+ + +
+
+
+ +
+ +
+

{{ei_addvoption}}

+ +
+
+
+
+
+ + +
+ +
+ {{ei_net_kb}} + +
+
+
+
+ +
+
+ + +
+ +
+ {{ei_net_kb}} + +
+
+
+
+ + + +
+
+
+ + + +
+
+
+ + +
+
+ +
+ +
+ + + +
+
+
+
+
+ + + +
+
+ + {{cr_header}} +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{{cr_resource_type}}{{cr_limit}}{{cr_used}}{{cr_left}}
{{cr_num_vs}}
{{cr_num_users}}
{{cr_num_space}}
{{cr_num_ram}}
{{cr_num_bandwidth}}
{{cr_num_ipv4}}
{{li_ips_int}}
{{cr_num_ipv6_subnet}}
{{cr_num_ipv6}}
{{cr_num_cores}}
{{cr_max_cores}}
--
+
+
+
+ + + +
+
+ + {{usr_page_head}} +
+ + +
+ + + +
+
+ + {{adu_page_head}} +
+ +
+ + + +
+
+ + {{edu_page_head}} +
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ + + +
+
+ + {{tasks_heading}} +
+ + +
+ + + +
+
+ + {{sshkey_heading}} +
+ + +
+ + + +
+
+ + {{sshkey_heading_add}} +
+ +
+ + + +
+
+ + {{sshkey_edit}} +
+
+ + +
+
+
+ + + +
+
+ + + +
+
+
+
+ +
+
+
+ + + +
+
+ + {{apps_heading}} +
+
+
+ + + +
+
+ + {{euiso_heading}} +
+ + +
+ + + +
+
+ + {{aiso_page_head}} +
+ +
+ + + +
+
+ + {{lm_rdns}} +
+ + + +
+ + + +
+
+ + {{pr_change_profile}} +
+ + + +
+ + + +
+
+ + {{lm_usr_settings}} +
+ + + +
+ + + +
+
+ + {{up_page_head}} +
+ +
+ + + +
+
+ + {{apik_api_credentials}} +
+
+
+
+
+
+ + + +
+
+ + {{bill_heading}} +
+
+
+
+
+ {{bill_unpaid_invoices}} +
+
+
+
+
+ {{bill_cur_usage}} +
+
+
+
+
+ {{bill_bal}} +
+
+
+
+
+ {{bill_charges}} +
+
+
+ + +
+ + + +
+
+ + {{pdns_page_head}} +
+ + + +
+ + + +
+
+ +
+
+ +
+
+
+ + + +
+ +
+
+
+
0%
+
+
+
+
+
+
+ + +
+ + + + + +
+
+ + {{mz_page_head}} +
+ + + + + + +
+ + + +
+
+ + {{dwnldiso_heading}} +
+
+
+
+ + + +
+
+ + {{bs_heading}} +
+
+ +
+
+
+
+ +   + +
+
+
+
+ +
+
+ + + +
+
+ + {{bs_heading_add}} +
+
+ + +
+
+
+ + + +
+
+
+
+ + + +
+
+ +
+
+ + + +
+
+
+
+ + + +
+
+ +
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + {{bs_dir_exp}} + +
+
+
+
+ +
+
+
+ + + +
+
+ + {{bs_heading_edit}} +
+
+ + +
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ + + +
+
+
+
+ +
+
+
+ + + +
+ +
+ + +
+ + + + + + + + + + + + + + + +
+
+ +
+ + + + + + + + + + + + + + + + +
+
+ +
+
+ + + +
+
+ +
+
+ + + + +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + +[[virt_dev_license]] +[[virt_pirated_license]] + + \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/java/index.html b/whmcs/modules/servers/virtualizor_cloud/ui/java/index.html index 979e8de..bc0ab67 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/java/index.html +++ b/whmcs/modules/servers/virtualizor_cloud/ui/java/index.html @@ -1,3 +1,3 @@ -

Powered By Rad Web Hosting & Virtualizor

-Go to RadWebHosting.com
+

Powered By Rad Web Hosting & Virtualizor

+Go to RadWebHosting.com
Go to Virtualizor.com \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/EasePack.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/EasePack.min.js index d94e23b..8521cab 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/EasePack.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/EasePack.min.js @@ -1,12 +1,12 @@ -/*! - * VERSION: beta 1.9.4 - * DATE: 2014-07-17 - * UPDATES AND DOCS AT: http://www.greensock.com - * - * @license Copyright (c) 2008-2014, GreenSock. All rights reserved. - * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - **/ +/*! + * VERSION: beta 1.9.4 + * DATE: 2014-07-17 + * UPDATES AND DOCS AT: http://www.greensock.com + * + * @license Copyright (c) 2008-2014, GreenSock. All rights reserved. + * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + **/ var _gsScope="undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window;(_gsScope._gsQueue||(_gsScope._gsQueue=[])).push(function(){"use strict";_gsScope._gsDefine("easing.Back",["easing.Ease"],function(t){var e,i,s,r=_gsScope.GreenSockGlobals||_gsScope,n=r.com.greensock,a=2*Math.PI,o=Math.PI/2,h=n._class,l=function(e,i){var s=h("easing."+e,function(){},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,s},_=t.register||function(){},u=function(t,e,i,s){var r=h("easing."+t,{easeOut:new e,easeIn:new i,easeInOut:new s},!0);return _(r,t),r},c=function(t,e,i){this.t=t,this.v=e,i&&(this.next=i,i.prev=this,this.c=i.v-e,this.gap=i.t-t)},p=function(e,i){var s=h("easing."+e,function(t){this._p1=t||0===t?t:1.70158,this._p2=1.525*this._p1},!0),r=s.prototype=new t;return r.constructor=s,r.getRatio=i,r.config=function(t){return new s(t)},s},f=u("Back",p("BackOut",function(t){return(t-=1)*t*((this._p1+1)*t+this._p1)+1}),p("BackIn",function(t){return t*t*((this._p1+1)*t-this._p1)}),p("BackInOut",function(t){return 1>(t*=2)?.5*t*t*((this._p2+1)*t-this._p2):.5*((t-=2)*t*((this._p2+1)*t+this._p2)+2)})),m=h("easing.SlowMo",function(t,e,i){e=e||0===e?e:.7,null==t?t=.7:t>1&&(t=1),this._p=1!==t?e:0,this._p1=(1-t)/2,this._p2=t,this._p3=this._p1+this._p2,this._calcEnd=i===!0},!0),d=m.prototype=new t;return d.constructor=m,d.getRatio=function(t){var e=t+(.5-t)*this._p;return this._p1>t?this._calcEnd?1-(t=1-t/this._p1)*t:e-(t=1-t/this._p1)*t*t*t*e:t>this._p3?this._calcEnd?1-(t=(t-this._p3)/this._p1)*t:e+(t-e)*(t=(t-this._p3)/this._p1)*t*t*t:this._calcEnd?1:e},m.ease=new m(.7,.7),d.config=m.config=function(t,e,i){return new m(t,e,i)},e=h("easing.SteppedEase",function(t){t=t||1,this._p1=1/t,this._p2=t+1},!0),d=e.prototype=new t,d.constructor=e,d.getRatio=function(t){return 0>t?t=0:t>=1&&(t=.999999999),(this._p2*t>>0)*this._p1},d.config=e.config=function(t){return new e(t)},i=h("easing.RoughEase",function(e){e=e||{};for(var i,s,r,n,a,o,h=e.taper||"none",l=[],_=0,u=0|(e.points||20),p=u,f=e.randomize!==!1,m=e.clamp===!0,d=e.template instanceof t?e.template:null,g="number"==typeof e.strength?.4*e.strength:.4;--p>-1;)i=f?Math.random():1/u*p,s=d?d.getRatio(i):i,"none"===h?r=g:"out"===h?(n=1-i,r=n*n*g):"in"===h?r=i*i*g:.5>i?(n=2*i,r=.5*n*n*g):(n=2*(1-i),r=.5*n*n*g),f?s+=Math.random()*r-.5*r:p%2?s+=.5*r:s-=.5*r,m&&(s>1?s=1:0>s&&(s=0)),l[_++]={x:i,y:s};for(l.sort(function(t,e){return t.x-e.x}),o=new c(1,1,null),p=u;--p>-1;)a=l[p],o=new c(a.x,a.y,o);this._prev=new c(0,0,0!==o.t?o:o.next)},!0),d=i.prototype=new t,d.constructor=i,d.getRatio=function(t){var e=this._prev;if(t>e.t){for(;e.next&&t>=e.t;)e=e.next;e=e.prev}else for(;e.prev&&e.t>=t;)e=e.prev;return this._prev=e,e.v+(t-e.t)/e.gap*e.c},d.config=function(t){return new i(t)},i.ease=new i,u("Bounce",l("BounceOut",function(t){return 1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}),l("BounceIn",function(t){return 1/2.75>(t=1-t)?1-7.5625*t*t:2/2.75>t?1-(7.5625*(t-=1.5/2.75)*t+.75):2.5/2.75>t?1-(7.5625*(t-=2.25/2.75)*t+.9375):1-(7.5625*(t-=2.625/2.75)*t+.984375)}),l("BounceInOut",function(t){var e=.5>t;return t=e?1-2*t:2*t-1,t=1/2.75>t?7.5625*t*t:2/2.75>t?7.5625*(t-=1.5/2.75)*t+.75:2.5/2.75>t?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375,e?.5*(1-t):.5*t+.5})),u("Circ",l("CircOut",function(t){return Math.sqrt(1-(t-=1)*t)}),l("CircIn",function(t){return-(Math.sqrt(1-t*t)-1)}),l("CircInOut",function(t){return 1>(t*=2)?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)})),s=function(e,i,s){var r=h("easing."+e,function(t,e){this._p1=t||1,this._p2=e||s,this._p3=this._p2/a*(Math.asin(1/this._p1)||0)},!0),n=r.prototype=new t;return n.constructor=r,n.getRatio=i,n.config=function(t,e){return new r(t,e)},r},u("Elastic",s("ElasticOut",function(t){return this._p1*Math.pow(2,-10*t)*Math.sin((t-this._p3)*a/this._p2)+1},.3),s("ElasticIn",function(t){return-(this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2))},.3),s("ElasticInOut",function(t){return 1>(t*=2)?-.5*this._p1*Math.pow(2,10*(t-=1))*Math.sin((t-this._p3)*a/this._p2):.5*this._p1*Math.pow(2,-10*(t-=1))*Math.sin((t-this._p3)*a/this._p2)+1},.45)),u("Expo",l("ExpoOut",function(t){return 1-Math.pow(2,-10*t)}),l("ExpoIn",function(t){return Math.pow(2,10*(t-1))-.001}),l("ExpoInOut",function(t){return 1>(t*=2)?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1)))})),u("Sine",l("SineOut",function(t){return Math.sin(t*o)}),l("SineIn",function(t){return-Math.cos(t*o)+1}),l("SineInOut",function(t){return-.5*(Math.cos(Math.PI*t)-1)})),h("easing.EaseLookup",{find:function(e){return t.map[e]}},!0),_(r.SlowMo,"SlowMo","ease,"),_(i,"RoughEase","ease,"),_(e,"SteppedEase","ease,"),f},!0)}),_gsScope._gsDefine&&_gsScope._gsQueue.pop()(); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/TweenLite.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/TweenLite.min.js index 1d40ade..8b5e2b4 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/TweenLite.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/TweenLite.min.js @@ -1,12 +1,12 @@ -/*! - * VERSION: 1.13.1 - * DATE: 2014-07-22 - * UPDATES AND DOCS AT: http://www.greensock.com - * - * @license Copyright (c) 2008-2014, GreenSock. All rights reserved. - * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for - * Club GreenSock members, the software agreement that was issued with your membership. - * - * @author: Jack Doyle, jack@greensock.com - */ +/*! + * VERSION: 1.13.1 + * DATE: 2014-07-22 + * UPDATES AND DOCS AT: http://www.greensock.com + * + * @license Copyright (c) 2008-2014, GreenSock. All rights reserved. + * This work is subject to the terms at http://www.greensock.com/terms_of_use.html or for + * Club GreenSock members, the software agreement that was issued with your membership. + * + * @author: Jack Doyle, jack@greensock.com + */ (function(t,e){"use strict";var i=t.GreenSockGlobals=t.GreenSockGlobals||t;if(!i.TweenLite){var s,n,r,a,o,l=function(t){var e,s=t.split("."),n=i;for(e=0;s.length>e;e++)n[s[e]]=n=n[s[e]]||{};return n},h=l("com.greensock"),_=1e-10,u=function(t){var e,i=[],s=t.length;for(e=0;e!==s;i.push(t[e++]));return i},f=function(){},m=function(){var t=Object.prototype.toString,e=t.call([]);return function(i){return null!=i&&(i instanceof Array||"object"==typeof i&&!!i.push&&t.call(i)===e)}}(),p={},c=function(s,n,r,a){this.sc=p[s]?p[s].sc:[],p[s]=this,this.gsClass=null,this.func=r;var o=[];this.check=function(h){for(var _,u,f,m,d=n.length,v=d;--d>-1;)(_=p[n[d]]||new c(n[d],[])).gsClass?(o[d]=_.gsClass,v--):h&&_.sc.push(this);if(0===v&&r)for(u=("com.greensock."+s).split("."),f=u.pop(),m=l(u.join("."))[f]=this.gsClass=r.apply(r,o),a&&(i[f]=m,"function"==typeof define&&define.amd?define((t.GreenSockAMDPath?t.GreenSockAMDPath+"/":"")+s.split(".").pop(),[],function(){return m}):s===e&&"undefined"!=typeof module&&module.exports&&(module.exports=m)),d=0;this.sc.length>d;d++)this.sc[d].check()},this.check(!0)},d=t._gsDefine=function(t,e,i,s){return new c(t,e,i,s)},v=h._class=function(t,e,i){return e=e||function(){},d(t,[],function(){return e},i),e};d.globals=i;var g=[0,0,1,1],T=[],y=v("easing.Ease",function(t,e,i,s){this._func=t,this._type=i||0,this._power=s||0,this._params=e?g.concat(e):g},!0),w=y.map={},P=y.register=function(t,e,i,s){for(var n,r,a,o,l=e.split(","),_=l.length,u=(i||"easeIn,easeOut,easeInOut").split(",");--_>-1;)for(r=l[_],n=s?v("easing."+r,null,!0):h.easing[r]||{},a=u.length;--a>-1;)o=u[a],w[r+"."+o]=w[o+r]=n[o]=t.getRatio?t:t[o]||new t};for(r=y.prototype,r._calcEnd=!1,r.getRatio=function(t){if(this._func)return this._params[0]=t,this._func.apply(null,this._params);var e=this._type,i=this._power,s=1===e?1-t:2===e?t:.5>t?2*t:2*(1-t);return 1===i?s*=s:2===i?s*=s*s:3===i?s*=s*s*s:4===i&&(s*=s*s*s*s),1===e?1-s:2===e?s:.5>t?s/2:1-s/2},s=["Linear","Quad","Cubic","Quart","Quint,Strong"],n=s.length;--n>-1;)r=s[n]+",Power"+n,P(new y(null,null,1,n),r,"easeOut",!0),P(new y(null,null,2,n),r,"easeIn"+(0===n?",easeNone":"")),P(new y(null,null,3,n),r,"easeInOut");w.linear=h.easing.Linear.easeIn,w.swing=h.easing.Quad.easeInOut;var b=v("events.EventDispatcher",function(t){this._listeners={},this._eventTarget=t||this});r=b.prototype,r.addEventListener=function(t,e,i,s,n){n=n||0;var r,l,h=this._listeners[t],_=0;for(null==h&&(this._listeners[t]=h=[]),l=h.length;--l>-1;)r=h[l],r.c===e&&r.s===i?h.splice(l,1):0===_&&n>r.pr&&(_=l+1);h.splice(_,0,{c:e,s:i,up:s,pr:n}),this!==a||o||a.wake()},r.removeEventListener=function(t,e){var i,s=this._listeners[t];if(s)for(i=s.length;--i>-1;)if(s[i].c===e)return s.splice(i,1),void 0},r.dispatchEvent=function(t){var e,i,s,n=this._listeners[t];if(n)for(e=n.length,i=this._eventTarget;--e>-1;)s=n[e],s.up?s.c.call(s.s||i,{type:t,target:i}):s.c.call(s.s||i)};var k=t.requestAnimationFrame,A=t.cancelAnimationFrame,S=Date.now||function(){return(new Date).getTime()},x=S();for(s=["ms","moz","webkit","o"],n=s.length;--n>-1&&!k;)k=t[s[n]+"RequestAnimationFrame"],A=t[s[n]+"CancelAnimationFrame"]||t[s[n]+"CancelRequestAnimationFrame"];v("Ticker",function(t,e){var i,s,n,r,l,h=this,u=S(),m=e!==!1&&k,p=500,c=33,d=function(t){var e,a,o=S()-x;o>p&&(u+=o-c),x+=o,h.time=(x-u)/1e3,e=h.time-l,(!i||e>0||t===!0)&&(h.frame++,l+=e+(e>=r?.004:r-e),a=!0),t!==!0&&(n=s(d)),a&&h.dispatchEvent("tick")};b.call(h),h.time=h.frame=0,h.tick=function(){d(!0)},h.lagSmoothing=function(t,e){p=t||1/_,c=Math.min(e,p,0)},h.sleep=function(){null!=n&&(m&&A?A(n):clearTimeout(n),s=f,n=null,h===a&&(o=!1))},h.wake=function(){null!==n?h.sleep():h.frame>10&&(x=S()-p+5),s=0===i?f:m&&k?k:function(t){return setTimeout(t,0|1e3*(l-h.time)+1)},h===a&&(o=!0),d(2)},h.fps=function(t){return arguments.length?(i=t,r=1/(i||60),l=this.time+r,h.wake(),void 0):i},h.useRAF=function(t){return arguments.length?(h.sleep(),m=t,h.fps(i),void 0):m},h.fps(t),setTimeout(function(){m&&(!n||5>h.frame)&&h.useRAF(!1)},1500)}),r=h.Ticker.prototype=new h.events.EventDispatcher,r.constructor=h.Ticker;var C=v("core.Animation",function(t,e){if(this.vars=e=e||{},this._duration=this._totalDuration=t||0,this._delay=Number(e.delay)||0,this._timeScale=1,this._active=e.immediateRender===!0,this.data=e.data,this._reversed=e.reversed===!0,B){o||a.wake();var i=this.vars.useFrames?q:B;i.add(this,i._time),this.vars.paused&&this.paused(!0)}});a=C.ticker=new h.Ticker,r=C.prototype,r._dirty=r._gc=r._initted=r._paused=!1,r._totalTime=r._time=0,r._rawPrevTime=-1,r._next=r._last=r._onUpdate=r._timeline=r.timeline=null,r._paused=!1;var R=function(){o&&S()-x>2e3&&a.wake(),setTimeout(R,2e3)};R(),r.play=function(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},r.pause=function(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},r.resume=function(t,e){return null!=t&&this.seek(t,e),this.paused(!1)},r.seek=function(t,e){return this.totalTime(Number(t),e!==!1)},r.restart=function(t,e){return this.reversed(!1).paused(!1).totalTime(t?-this._delay:0,e!==!1,!0)},r.reverse=function(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},r.render=function(){},r.invalidate=function(){return this},r.isActive=function(){var t,e=this._timeline,i=this._startTime;return!e||!this._gc&&!this._paused&&e.isActive()&&(t=e.rawTime())>=i&&i+this.totalDuration()/this._timeScale>t},r._enabled=function(t,e){return o||a.wake(),this._gc=!t,this._active=this.isActive(),e!==!0&&(t&&!this.timeline?this._timeline.add(this,this._startTime-this._delay):!t&&this.timeline&&this._timeline._remove(this,!0)),!1},r._kill=function(){return this._enabled(!1,!1)},r.kill=function(t,e){return this._kill(t,e),this},r._uncache=function(t){for(var e=t?this:this.timeline;e;)e._dirty=!0,e=e.timeline;return this},r._swapSelfInParams=function(t){for(var e=t.length,i=t.concat();--e>-1;)"{self}"===t[e]&&(i[e]=this);return i},r.eventCallback=function(t,e,i,s){if("on"===(t||"").substr(0,2)){var n=this.vars;if(1===arguments.length)return n[t];null==e?delete n[t]:(n[t]=e,n[t+"Params"]=m(i)&&-1!==i.join("").indexOf("{self}")?this._swapSelfInParams(i):i,n[t+"Scope"]=s),"onUpdate"===t&&(this._onUpdate=e)}return this},r.delay=function(t){return arguments.length?(this._timeline.smoothChildTiming&&this.startTime(this._startTime+t-this._delay),this._delay=t,this):this._delay},r.duration=function(t){return arguments.length?(this._duration=this._totalDuration=t,this._uncache(!0),this._timeline.smoothChildTiming&&this._time>0&&this._timethis._duration?this._duration:t,e)):this._time},r.totalTime=function(t,e,i){if(o||a.wake(),!arguments.length)return this._totalTime;if(this._timeline){if(0>t&&!i&&(t+=this.totalDuration()),this._timeline.smoothChildTiming){this._dirty&&this.totalDuration();var s=this._totalDuration,n=this._timeline;if(t>s&&!i&&(t=s),this._startTime=(this._paused?this._pauseTime:n._time)-(this._reversed?s-t:t)/this._timeScale,n._dirty||this._uncache(!1),n._timeline)for(;n._timeline;)n._timeline._time!==(n._startTime+n._totalTime)/n._timeScale&&n.totalTime(n._totalTime,!0),n=n._timeline}this._gc&&this._enabled(!0,!1),(this._totalTime!==t||0===this._duration)&&(this.render(t,e,!1),O.length&&M())}return this},r.progress=r.totalProgress=function(t,e){return arguments.length?this.totalTime(this.duration()*t,e):this._time/this.duration()},r.startTime=function(t){return arguments.length?(t!==this._startTime&&(this._startTime=t,this.timeline&&this.timeline._sortChildren&&this.timeline.add(this,t-this._delay)),this):this._startTime},r.timeScale=function(t){if(!arguments.length)return this._timeScale;if(t=t||_,this._timeline&&this._timeline.smoothChildTiming){var e=this._pauseTime,i=e||0===e?e:this._timeline.totalTime();this._startTime=i-(i-this._startTime)*this._timeScale/t}return this._timeScale=t,this._uncache(!1)},r.reversed=function(t){return arguments.length?(t!=this._reversed&&(this._reversed=t,this.totalTime(this._timeline&&!this._timeline.smoothChildTiming?this.totalDuration()-this._totalTime:this._totalTime,!0)),this):this._reversed},r.paused=function(t){if(!arguments.length)return this._paused;if(t!=this._paused&&this._timeline){o||t||a.wake();var e=this._timeline,i=e.rawTime(),s=i-this._pauseTime;!t&&e.smoothChildTiming&&(this._startTime+=s,this._uncache(!1)),this._pauseTime=t?i:null,this._paused=t,this._active=this.isActive(),!t&&0!==s&&this._initted&&this.duration()&&this.render(e.smoothChildTiming?this._totalTime:(i-this._startTime)/this._timeScale,!0,!0)}return this._gc&&!t&&this._enabled(!0,!1),this};var D=v("core.SimpleTimeline",function(t){C.call(this,0,t),this.autoRemoveChildren=this.smoothChildTiming=!0});r=D.prototype=new C,r.constructor=D,r.kill()._gc=!1,r._first=r._last=null,r._sortChildren=!1,r.add=r.insert=function(t,e){var i,s;if(t._startTime=Number(e||0)+t._delay,t._paused&&this!==t._timeline&&(t._pauseTime=t._startTime+(this.rawTime()-t._startTime)/t._timeScale),t.timeline&&t.timeline._remove(t,!0),t.timeline=t._timeline=this,t._gc&&t._enabled(!0,!0),i=this._last,this._sortChildren)for(s=t._startTime;i&&i._startTime>s;)i=i._prev;return i?(t._next=i._next,i._next=t):(t._next=this._first,this._first=t),t._next?t._next._prev=t:this._last=t,t._prev=i,this._timeline&&this._uncache(!0),this},r._remove=function(t,e){return t.timeline===this&&(e||t._enabled(!1,!0),t._prev?t._prev._next=t._next:this._first===t&&(this._first=t._next),t._next?t._next._prev=t._prev:this._last===t&&(this._last=t._prev),t._next=t._prev=t.timeline=null,this._timeline&&this._uncache(!0)),this},r.render=function(t,e,i){var s,n=this._first;for(this._totalTime=this._time=this._rawPrevTime=t;n;)s=n._next,(n._active||t>=n._startTime&&!n._paused)&&(n._reversed?n.render((n._dirty?n.totalDuration():n._totalDuration)-(t-n._startTime)*n._timeScale,e,i):n.render((t-n._startTime)*n._timeScale,e,i)),n=s},r.rawTime=function(){return o||a.wake(),this._totalTime};var I=v("TweenLite",function(e,i,s){if(C.call(this,i,s),this.render=I.prototype.render,null==e)throw"Cannot tween a null target.";this.target=e="string"!=typeof e?e:I.selector(e)||e;var n,r,a,o=e.jquery||e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType),l=this.vars.overwrite;if(this._overwrite=l=null==l?Q[I.defaultOverwrite]:"number"==typeof l?l>>0:Q[l],(o||e instanceof Array||e.push&&m(e))&&"number"!=typeof e[0])for(this._targets=a=u(e),this._propLookup=[],this._siblings=[],n=0;a.length>n;n++)r=a[n],r?"string"!=typeof r?r.length&&r!==t&&r[0]&&(r[0]===t||r[0].nodeType&&r[0].style&&!r.nodeType)?(a.splice(n--,1),this._targets=a=a.concat(u(r))):(this._siblings[n]=$(r,this,!1),1===l&&this._siblings[n].length>1&&K(r,this,null,1,this._siblings[n])):(r=a[n--]=I.selector(r),"string"==typeof r&&a.splice(n+1,1)):a.splice(n--,1);else this._propLookup={},this._siblings=$(e,this,!1),1===l&&this._siblings.length>1&&K(e,this,null,1,this._siblings);(this.vars.immediateRender||0===i&&0===this._delay&&this.vars.immediateRender!==!1)&&(this._time=-_,this.render(-this._delay))},!0),E=function(e){return e.length&&e!==t&&e[0]&&(e[0]===t||e[0].nodeType&&e[0].style&&!e.nodeType)},z=function(t,e){var i,s={};for(i in t)G[i]||i in e&&"transform"!==i&&"x"!==i&&"y"!==i&&"width"!==i&&"height"!==i&&"className"!==i&&"border"!==i||!(!U[i]||U[i]&&U[i]._autoCSS)||(s[i]=t[i],delete t[i]);t.css=s};r=I.prototype=new C,r.constructor=I,r.kill()._gc=!1,r.ratio=0,r._firstPT=r._targets=r._overwrittenProps=r._startAt=null,r._notifyPluginsOfEnabled=r._lazy=!1,I.version="1.13.1",I.defaultEase=r._ease=new y(null,null,1,1),I.defaultOverwrite="auto",I.ticker=a,I.autoSleep=!0,I.lagSmoothing=function(t,e){a.lagSmoothing(t,e)},I.selector=t.$||t.jQuery||function(e){var i=t.$||t.jQuery;return i?(I.selector=i,i(e)):"undefined"==typeof document?e:document.querySelectorAll?document.querySelectorAll(e):document.getElementById("#"===e.charAt(0)?e.substr(1):e)};var O=[],L={},N=I._internals={isArray:m,isSelector:E,lazyTweens:O},U=I._plugins={},F=N.tweenLookup={},j=0,G=N.reservedProps={ease:1,delay:1,overwrite:1,onComplete:1,onCompleteParams:1,onCompleteScope:1,useFrames:1,runBackwards:1,startAt:1,onUpdate:1,onUpdateParams:1,onUpdateScope:1,onStart:1,onStartParams:1,onStartScope:1,onReverseComplete:1,onReverseCompleteParams:1,onReverseCompleteScope:1,onRepeat:1,onRepeatParams:1,onRepeatScope:1,easeParams:1,yoyo:1,immediateRender:1,repeat:1,repeatDelay:1,data:1,paused:1,reversed:1,autoCSS:1,lazy:1},Q={none:0,all:1,auto:2,concurrent:3,allOnStart:4,preexisting:5,"true":1,"false":0},q=C._rootFramesTimeline=new D,B=C._rootTimeline=new D,M=N.lazyRender=function(){var t=O.length;for(L={};--t>-1;)s=O[t],s&&s._lazy!==!1&&(s.render(s._lazy,!1,!0),s._lazy=!1);O.length=0};B._startTime=a.time,q._startTime=a.frame,B._active=q._active=!0,setTimeout(M,1),C._updateRoot=I.render=function(){var t,e,i;if(O.length&&M(),B.render((a.time-B._startTime)*B._timeScale,!1,!1),q.render((a.frame-q._startTime)*q._timeScale,!1,!1),O.length&&M(),!(a.frame%120)){for(i in F){for(e=F[i].tweens,t=e.length;--t>-1;)e[t]._gc&&e.splice(t,1);0===e.length&&delete F[i]}if(i=B._first,(!i||i._paused)&&I.autoSleep&&!q._first&&1===a._listeners.tick.length){for(;i&&i._paused;)i=i._next;i||a.sleep()}}},a.addEventListener("tick",C._updateRoot);var $=function(t,e,i){var s,n,r=t._gsTweenID;if(F[r||(t._gsTweenID=r="t"+j++)]||(F[r]={target:t,tweens:[]}),e&&(s=F[r].tweens,s[n=s.length]=e,i))for(;--n>-1;)s[n]===e&&s.splice(n,1);return F[r].tweens},K=function(t,e,i,s,n){var r,a,o,l;if(1===s||s>=4){for(l=n.length,r=0;l>r;r++)if((o=n[r])!==e)o._gc||o._enabled(!1,!1)&&(a=!0);else if(5===s)break;return a}var h,u=e._startTime+_,f=[],m=0,p=0===e._duration;for(r=n.length;--r>-1;)(o=n[r])===e||o._gc||o._paused||(o._timeline!==e._timeline?(h=h||H(e,0,p),0===H(o,h,p)&&(f[m++]=o)):u>=o._startTime&&o._startTime+o.totalDuration()/o._timeScale>u&&((p||!o._initted)&&2e-10>=u-o._startTime||(f[m++]=o)));for(r=m;--r>-1;)o=f[r],2===s&&o._kill(i,t)&&(a=!0),(2!==s||!o._firstPT&&o._initted)&&o._enabled(!1,!1)&&(a=!0);return a},H=function(t,e,i){for(var s=t._timeline,n=s._timeScale,r=t._startTime;s._timeline;){if(r+=s._startTime,n*=s._timeScale,s._paused)return-100;s=s._timeline}return r/=n,r>e?r-e:i&&r===e||!t._initted&&2*_>r-e?_:(r+=t.totalDuration()/t._timeScale/n)>e+_?0:r-e-_};r._init=function(){var t,e,i,s,n,r=this.vars,a=this._overwrittenProps,o=this._duration,l=!!r.immediateRender,h=r.ease;if(r.startAt){this._startAt&&(this._startAt.render(-1,!0),this._startAt.kill()),n={};for(s in r.startAt)n[s]=r.startAt[s];if(n.overwrite=!1,n.immediateRender=!0,n.lazy=l&&r.lazy!==!1,n.startAt=n.delay=null,this._startAt=I.to(this.target,0,n),l)if(this._time>0)this._startAt=null;else if(0!==o)return}else if(r.runBackwards&&0!==o)if(this._startAt)this._startAt.render(-1,!0),this._startAt.kill(),this._startAt=null;else{i={};for(s in r)G[s]&&"autoCSS"!==s||(i[s]=r[s]);if(i.overwrite=0,i.data="isFromStart",i.lazy=l&&r.lazy!==!1,i.immediateRender=l,this._startAt=I.to(this.target,0,i),l){if(0===this._time)return}else this._startAt._init(),this._startAt._enabled(!1)}if(this._ease=h=h?h instanceof y?h:"function"==typeof h?new y(h,r.easeParams):w[h]||I.defaultEase:I.defaultEase,r.easeParams instanceof Array&&h.config&&(this._ease=h.config.apply(h,r.easeParams)),this._easeType=this._ease._type,this._easePower=this._ease._power,this._firstPT=null,this._targets)for(t=this._targets.length;--t>-1;)this._initProps(this._targets[t],this._propLookup[t]={},this._siblings[t],a?a[t]:null)&&(e=!0);else e=this._initProps(this.target,this._propLookup,this._siblings,a);if(e&&I._onPluginEvent("_onInitAllProps",this),a&&(this._firstPT||"function"!=typeof this.target&&this._enabled(!1,!1)),r.runBackwards)for(i=this._firstPT;i;)i.s+=i.c,i.c=-i.c,i=i._next;this._onUpdate=r.onUpdate,this._initted=!0},r._initProps=function(e,i,s,n){var r,a,o,l,h,_;if(null==e)return!1;L[e._gsTweenID]&&M(),this.vars.css||e.style&&e!==t&&e.nodeType&&U.css&&this.vars.autoCSS!==!1&&z(this.vars,e);for(r in this.vars){if(_=this.vars[r],G[r])_&&(_ instanceof Array||_.push&&m(_))&&-1!==_.join("").indexOf("{self}")&&(this.vars[r]=_=this._swapSelfInParams(_,this));else if(U[r]&&(l=new U[r])._onInitTween(e,this.vars[r],this)){for(this._firstPT=h={_next:this._firstPT,t:l,p:"setRatio",s:0,c:1,f:!0,n:r,pg:!0,pr:l._priority},a=l._overwriteProps.length;--a>-1;)i[l._overwriteProps[a]]=this._firstPT;(l._priority||l._onInitAllProps)&&(o=!0),(l._onDisable||l._onEnable)&&(this._notifyPluginsOfEnabled=!0)}else this._firstPT=i[r]=h={_next:this._firstPT,t:e,p:r,f:"function"==typeof e[r],n:r,pg:!1,pr:0},h.s=h.f?e[r.indexOf("set")||"function"!=typeof e["get"+r.substr(3)]?r:"get"+r.substr(3)]():parseFloat(e[r]),h.c="string"==typeof _&&"="===_.charAt(1)?parseInt(_.charAt(0)+"1",10)*Number(_.substr(2)):Number(_)-h.s||0;h&&h._next&&(h._next._prev=h)}return n&&this._kill(n,e)?this._initProps(e,i,s,n):this._overwrite>1&&this._firstPT&&s.length>1&&K(e,this,i,this._overwrite,s)?(this._kill(i,e),this._initProps(e,i,s,n)):(this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration)&&(L[e._gsTweenID]=!0),o)},r.render=function(t,e,i){var s,n,r,a,o=this._time,l=this._duration,h=this._rawPrevTime;if(t>=l)this._totalTime=this._time=l,this.ratio=this._ease._calcEnd?this._ease.getRatio(1):1,this._reversed||(s=!0,n="onComplete"),0===l&&(this._initted||!this.vars.lazy||i)&&(this._startTime===this._timeline._duration&&(t=0),(0===t||0>h||h===_)&&h!==t&&(i=!0,h>_&&(n="onReverseComplete")),this._rawPrevTime=a=!e||t||h===t?t:_);else if(1e-7>t)this._totalTime=this._time=0,this.ratio=this._ease._calcEnd?this._ease.getRatio(0):0,(0!==o||0===l&&h>0&&h!==_)&&(n="onReverseComplete",s=this._reversed),0>t?(this._active=!1,0===l&&(this._initted||!this.vars.lazy||i)&&(h>=0&&(i=!0),this._rawPrevTime=a=!e||t||h===t?t:_)):this._initted||(i=!0);else if(this._totalTime=this._time=t,this._easeType){var u=t/l,f=this._easeType,m=this._easePower;(1===f||3===f&&u>=.5)&&(u=1-u),3===f&&(u*=2),1===m?u*=u:2===m?u*=u*u:3===m?u*=u*u*u:4===m&&(u*=u*u*u*u),this.ratio=1===f?1-u:2===f?u:.5>t/l?u/2:1-u/2}else this.ratio=this._ease.getRatio(t/l);if(this._time!==o||i){if(!this._initted){if(this._init(),!this._initted||this._gc)return;if(!i&&this._firstPT&&(this.vars.lazy!==!1&&this._duration||this.vars.lazy&&!this._duration))return this._time=this._totalTime=o,this._rawPrevTime=h,O.push(this),this._lazy=t,void 0;this._time&&!s?this.ratio=this._ease.getRatio(this._time/l):s&&this._ease._calcEnd&&(this.ratio=this._ease.getRatio(0===this._time?0:1))}for(this._lazy!==!1&&(this._lazy=!1),this._active||!this._paused&&this._time!==o&&t>=0&&(this._active=!0),0===o&&(this._startAt&&(t>=0?this._startAt.render(t,e,i):n||(n="_dummyGS")),this.vars.onStart&&(0!==this._time||0===l)&&(e||this.vars.onStart.apply(this.vars.onStartScope||this,this.vars.onStartParams||T))),r=this._firstPT;r;)r.f?r.t[r.p](r.c*this.ratio+r.s):r.t[r.p]=r.c*this.ratio+r.s,r=r._next;this._onUpdate&&(0>t&&this._startAt&&this._startTime&&this._startAt.render(t,e,i),e||(this._time!==o||s)&&this._onUpdate.apply(this.vars.onUpdateScope||this,this.vars.onUpdateParams||T)),n&&(!this._gc||i)&&(0>t&&this._startAt&&!this._onUpdate&&this._startTime&&this._startAt.render(t,e,i),s&&(this._timeline.autoRemoveChildren&&this._enabled(!1,!1),this._active=!1),!e&&this.vars[n]&&this.vars[n].apply(this.vars[n+"Scope"]||this,this.vars[n+"Params"]||T),0===l&&this._rawPrevTime===_&&a!==_&&(this._rawPrevTime=0))}},r._kill=function(t,e){if("all"===t&&(t=null),null==t&&(null==e||e===this.target))return this._lazy=!1,this._enabled(!1,!1);e="string"!=typeof e?e||this._targets||this.target:I.selector(e)||e;var i,s,n,r,a,o,l,h;if((m(e)||E(e))&&"number"!=typeof e[0])for(i=e.length;--i>-1;)this._kill(t,e[i])&&(o=!0);else{if(this._targets){for(i=this._targets.length;--i>-1;)if(e===this._targets[i]){a=this._propLookup[i]||{},this._overwrittenProps=this._overwrittenProps||[],s=this._overwrittenProps[i]=t?this._overwrittenProps[i]||{}:"all";break}}else{if(e!==this.target)return!1;a=this._propLookup,s=this._overwrittenProps=t?this._overwrittenProps||{}:"all"}if(a){l=t||a,h=t!==s&&"all"!==s&&t!==a&&("object"!=typeof t||!t._tempKill);for(n in l)(r=a[n])&&(r.pg&&r.t._kill(l)&&(o=!0),r.pg&&0!==r.t._overwriteProps.length||(r._prev?r._prev._next=r._next:r===this._firstPT&&(this._firstPT=r._next),r._next&&(r._next._prev=r._prev),r._next=r._prev=null),delete a[n]),h&&(s[n]=1);!this._firstPT&&this._initted&&this._enabled(!1,!1)}}return o},r.invalidate=function(){return this._notifyPluginsOfEnabled&&I._onPluginEvent("_onDisable",this),this._firstPT=null,this._overwrittenProps=null,this._onUpdate=null,this._startAt=null,this._initted=this._active=this._notifyPluginsOfEnabled=this._lazy=!1,this._propLookup=this._targets?{}:[],this},r._enabled=function(t,e){if(o||a.wake(),t&&this._gc){var i,s=this._targets;if(s)for(i=s.length;--i>-1;)this._siblings[i]=$(s[i],this,!0);else this._siblings=$(this.target,this,!0)}return C.prototype._enabled.call(this,t,e),this._notifyPluginsOfEnabled&&this._firstPT?I._onPluginEvent(t?"_onEnable":"_onDisable",this):!1},I.to=function(t,e,i){return new I(t,e,i)},I.from=function(t,e,i){return i.runBackwards=!0,i.immediateRender=0!=i.immediateRender,new I(t,e,i)},I.fromTo=function(t,e,i,s){return s.startAt=i,s.immediateRender=0!=s.immediateRender&&0!=i.immediateRender,new I(t,e,s)},I.delayedCall=function(t,e,i,s,n){return new I(e,0,{delay:t,onComplete:e,onCompleteParams:i,onCompleteScope:s,onReverseComplete:e,onReverseCompleteParams:i,onReverseCompleteScope:s,immediateRender:!1,useFrames:n,overwrite:0})},I.set=function(t,e){return new I(t,0,e)},I.getTweensOf=function(t,e){if(null==t)return[];t="string"!=typeof t?t:I.selector(t)||t;var i,s,n,r;if((m(t)||E(t))&&"number"!=typeof t[0]){for(i=t.length,s=[];--i>-1;)s=s.concat(I.getTweensOf(t[i],e));for(i=s.length;--i>-1;)for(r=s[i],n=i;--n>-1;)r===s[n]&&s.splice(i,1)}else for(s=$(t).concat(),i=s.length;--i>-1;)(s[i]._gc||e&&!s[i].isActive())&&s.splice(i,1);return s},I.killTweensOf=I.killDelayedCallsTo=function(t,e,i){"object"==typeof e&&(i=e,e=!1);for(var s=I.getTweensOf(t,e),n=s.length;--n>-1;)s[n]._kill(i,t)};var J=v("plugins.TweenPlugin",function(t,e){this._overwriteProps=(t||"").split(","),this._propName=this._overwriteProps[0],this._priority=e||0,this._super=J.prototype},!0);if(r=J.prototype,J.version="1.10.1",J.API=2,r._firstPT=null,r._addTween=function(t,e,i,s,n,r){var a,o;return null!=s&&(a="number"==typeof s||"="!==s.charAt(1)?Number(s)-i:parseInt(s.charAt(0)+"1",10)*Number(s.substr(2)))?(this._firstPT=o={_next:this._firstPT,t:t,p:e,s:i,c:a,f:"function"==typeof t[e],n:n||e,r:r},o._next&&(o._next._prev=o),o):void 0},r.setRatio=function(t){for(var e,i=this._firstPT,s=1e-6;i;)e=i.c*t+i.s,i.r?e=Math.round(e):s>e&&e>-s&&(e=0),i.f?i.t[i.p](e):i.t[i.p]=e,i=i._next},r._kill=function(t){var e,i=this._overwriteProps,s=this._firstPT;if(null!=t[this._propName])this._overwriteProps=[];else for(e=i.length;--e>-1;)null!=t[i[e]]&&i.splice(e,1);for(;s;)null!=t[s.n]&&(s._next&&(s._next._prev=s._prev),s._prev?(s._prev._next=s._next,s._prev=null):this._firstPT===s&&(this._firstPT=s._next)),s=s._next;return!1},r._roundProps=function(t,e){for(var i=this._firstPT;i;)(t[this._propName]||null!=i.n&&t[i.n.split(this._propName+"_").join("")])&&(i.r=e),i=i._next},I._onPluginEvent=function(t,e){var i,s,n,r,a,o=e._firstPT;if("_onInitAllProps"===t){for(;o;){for(a=o._next,s=n;s&&s.pr>o.pr;)s=s._next;(o._prev=s?s._prev:r)?o._prev._next=o:n=o,(o._next=s)?s._prev=o:r=o,o=a}o=e._firstPT=n}for(;o;)o.pg&&"function"==typeof o.t[t]&&o.t[t]()&&(i=!0),o=o._next;return i},J.activate=function(t){for(var e=t.length;--e>-1;)t[e].API===J.API&&(U[(new t[e])._propName]=t[e]);return!0},d.plugin=function(t){if(!(t&&t.propName&&t.init&&t.API))throw"illegal plugin definition.";var e,i=t.propName,s=t.priority||0,n=t.overwriteProps,r={init:"_onInitTween",set:"setRatio",kill:"_kill",round:"_roundProps",initAll:"_onInitAllProps"},a=v("plugins."+i.charAt(0).toUpperCase()+i.substr(1)+"Plugin",function(){J.call(this,i,s),this._overwriteProps=n||[]},t.global===!0),o=a.prototype=new J(i);o.constructor=a,a.API=t.API;for(e in r)"function"==typeof t[e]&&(o[r[e]]=t[e]);return a.version=t.version,J.activate([a]),a},s=t._gsQueue){for(n=0;s.length>n;n++)s[n]();for(r in p)p[r].func||t.console.log("GSAP encountered missing dependency: com.greensock."+r)}o=!1}})("undefined"!=typeof module&&module.exports&&"undefined"!=typeof global?global:this||window,"TweenLite"); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bg-animate.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bg-animate.js index 9749b9f..d50b422 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bg-animate.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bg-animate.js @@ -1,187 +1,187 @@ -(function() { - - var width, height, largeHeader, canvas, ctx, points, target, animateHeader = true; - - // Main - $(document).ready(function(){ - initHeader(); - initAnimation(); - addListeners(); - }); - - function initHeader() { - width = window.innerWidth; - height = window.innerHeight; - target = {x: width/2, y: height/2}; - - largeHeader = document.getElementById('large-header'); - largeHeader.style.height = height+'px'; - - canvas = document.getElementById('demo-canvas'); - canvas.width = width; - canvas.height = height; - ctx = canvas.getContext('2d'); - - // create points - points = []; - for(var x = 0; x < width; x = x + width/20) { - for(var y = 0; y < height; y = y + height/20) { - var px = x + Math.random()*width/20; - var py = y + Math.random()*height/20; - var p = {x: px, originX: px, y: py, originY: py }; - points.push(p); - } - } - - // for each point find the 5 closest points - for(var i = 0; i < points.length; i++) { - var closest = []; - var p1 = points[i]; - for(var j = 0; j < points.length; j++) { - var p2 = points[j] - if(!(p1 == p2)) { - var placed = false; - for(var k = 0; k < 5; k++) { - if(!placed) { - if(closest[k] == undefined) { - closest[k] = p2; - placed = true; - } - } - } - - for(var k = 0; k < 5; k++) { - if(!placed) { - if(getDistance(p1, p2) < getDistance(p1, closest[k])) { - closest[k] = p2; - placed = true; - } - } - } - } - } - p1.closest = closest; - } - - // assign a circle to each point - for(var i in points) { - var c = new Circle(points[i], 2+Math.random()*2, 'rgba(255,255,255,0.3)'); - points[i].circle = c; - } - } - - // Event handling - function addListeners() { - if(!('ontouchstart' in window)) { - window.addEventListener('mousemove', mouseMove); - } - window.addEventListener('scroll', scrollCheck); - window.addEventListener('resize', resize); - } - - function mouseMove(e) { - var posx = posy = 0; - if (e.pageX || e.pageY) { - posx = e.pageX; - posy = e.pageY; - } - else if (e.clientX || e.clientY) { - posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; - posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; - } - target.x = posx; - target.y = posy; - } - - function scrollCheck() { - if(document.body.scrollTop > height) animateHeader = false; - else animateHeader = true; - } - - function resize() { - width = window.innerWidth; - height = window.innerHeight; - largeHeader.style.height = height+'px'; - canvas.width = width; - canvas.height = height; - } - - // animation - function initAnimation() { - animate(); - for(var i in points) { - shiftPoint(points[i]); - } - } - - function animate() { - if(animateHeader) { - ctx.clearRect(0,0,width,height); - for(var i in points) { - // detect points in range - if(Math.abs(getDistance(target, points[i])) < 4000) { - points[i].active = 0.3; - points[i].circle.active = 0.6; - } else if(Math.abs(getDistance(target, points[i])) < 20000) { - points[i].active = 0.1; - points[i].circle.active = 0.3; - } else if(Math.abs(getDistance(target, points[i])) < 40000) { - points[i].active = 0.02; - points[i].circle.active = 0.1; - } else { - points[i].active = 0; - points[i].circle.active = 0; - } - - drawLines(points[i]); - points[i].circle.draw(); - } - } - requestAnimationFrame(animate); - } - - function shiftPoint(p) { - TweenLite.to(p, 1+1*Math.random(), {x:p.originX-50+Math.random()*100, - y: p.originY-50+Math.random()*100, ease:Circ.easeInOut, - onComplete: function() { - shiftPoint(p); - }}); - } - - // Canvas manipulation - function drawLines(p) { - if(!p.active) return; - for(var i in p.closest) { - ctx.beginPath(); - ctx.moveTo(p.x, p.y); - ctx.lineTo(p.closest[i].x, p.closest[i].y); - ctx.strokeStyle = 'rgba(110,110,110,'+ p.active+')'; - ctx.stroke(); - } - } - - function Circle(pos,rad,color) { - var _this = this; - - // constructor - (function() { - _this.pos = pos || null; - _this.radius = rad || null; - _this.color = color || null; - })(); - - this.draw = function() { - if(!_this.active) return; - ctx.beginPath(); - ctx.arc(_this.pos.x, _this.pos.y, _this.radius, 0, 2 * Math.PI, false); - ctx.fillStyle = 'rgba(156,217,249,'+ _this.active+')'; - ctx.fill(); - }; - } - - // Util - function getDistance(p1, p2) { - return Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2); - } - +(function() { + + var width, height, largeHeader, canvas, ctx, points, target, animateHeader = true; + + // Main + $(document).ready(function(){ + initHeader(); + initAnimation(); + addListeners(); + }); + + function initHeader() { + width = window.innerWidth; + height = window.innerHeight; + target = {x: width/2, y: height/2}; + + largeHeader = document.getElementById('large-header'); + largeHeader.style.height = height+'px'; + + canvas = document.getElementById('demo-canvas'); + canvas.width = width; + canvas.height = height; + ctx = canvas.getContext('2d'); + + // create points + points = []; + for(var x = 0; x < width; x = x + width/20) { + for(var y = 0; y < height; y = y + height/20) { + var px = x + Math.random()*width/20; + var py = y + Math.random()*height/20; + var p = {x: px, originX: px, y: py, originY: py }; + points.push(p); + } + } + + // for each point find the 5 closest points + for(var i = 0; i < points.length; i++) { + var closest = []; + var p1 = points[i]; + for(var j = 0; j < points.length; j++) { + var p2 = points[j] + if(!(p1 == p2)) { + var placed = false; + for(var k = 0; k < 5; k++) { + if(!placed) { + if(closest[k] == undefined) { + closest[k] = p2; + placed = true; + } + } + } + + for(var k = 0; k < 5; k++) { + if(!placed) { + if(getDistance(p1, p2) < getDistance(p1, closest[k])) { + closest[k] = p2; + placed = true; + } + } + } + } + } + p1.closest = closest; + } + + // assign a circle to each point + for(var i in points) { + var c = new Circle(points[i], 2+Math.random()*2, 'rgba(255,255,255,0.3)'); + points[i].circle = c; + } + } + + // Event handling + function addListeners() { + if(!('ontouchstart' in window)) { + window.addEventListener('mousemove', mouseMove); + } + window.addEventListener('scroll', scrollCheck); + window.addEventListener('resize', resize); + } + + function mouseMove(e) { + var posx = posy = 0; + if (e.pageX || e.pageY) { + posx = e.pageX; + posy = e.pageY; + } + else if (e.clientX || e.clientY) { + posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; + posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; + } + target.x = posx; + target.y = posy; + } + + function scrollCheck() { + if(document.body.scrollTop > height) animateHeader = false; + else animateHeader = true; + } + + function resize() { + width = window.innerWidth; + height = window.innerHeight; + largeHeader.style.height = height+'px'; + canvas.width = width; + canvas.height = height; + } + + // animation + function initAnimation() { + animate(); + for(var i in points) { + shiftPoint(points[i]); + } + } + + function animate() { + if(animateHeader) { + ctx.clearRect(0,0,width,height); + for(var i in points) { + // detect points in range + if(Math.abs(getDistance(target, points[i])) < 4000) { + points[i].active = 0.3; + points[i].circle.active = 0.6; + } else if(Math.abs(getDistance(target, points[i])) < 20000) { + points[i].active = 0.1; + points[i].circle.active = 0.3; + } else if(Math.abs(getDistance(target, points[i])) < 40000) { + points[i].active = 0.02; + points[i].circle.active = 0.1; + } else { + points[i].active = 0; + points[i].circle.active = 0; + } + + drawLines(points[i]); + points[i].circle.draw(); + } + } + requestAnimationFrame(animate); + } + + function shiftPoint(p) { + TweenLite.to(p, 1+1*Math.random(), {x:p.originX-50+Math.random()*100, + y: p.originY-50+Math.random()*100, ease:Circ.easeInOut, + onComplete: function() { + shiftPoint(p); + }}); + } + + // Canvas manipulation + function drawLines(p) { + if(!p.active) return; + for(var i in p.closest) { + ctx.beginPath(); + ctx.moveTo(p.x, p.y); + ctx.lineTo(p.closest[i].x, p.closest[i].y); + ctx.strokeStyle = 'rgba(110,110,110,'+ p.active+')'; + ctx.stroke(); + } + } + + function Circle(pos,rad,color) { + var _this = this; + + // constructor + (function() { + _this.pos = pos || null; + _this.radius = rad || null; + _this.color = color || null; + })(); + + this.draw = function() { + if(!_this.active) return; + ctx.beginPath(); + ctx.arc(_this.pos.x, _this.pos.y, _this.radius, 0, 2 * Math.PI, false); + ctx.fillStyle = 'rgba(156,217,249,'+ _this.active+')'; + ctx.fill(); + }; + } + + // Util + function getDistance(p1, p2) { + return Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2); + } + })(); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootbox.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootbox.min.js index 737d9e9..a39862b 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootbox.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootbox.min.js @@ -1,6 +1,6 @@ -/** - * bootbox.js v4.2.0 - * - * http://bootboxjs.com/license.txt - */ +/** + * bootbox.js v4.2.0 + * + * http://bootboxjs.com/license.txt + */ !function(a,b){"use strict";"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.bootbox=b(a.jQuery)}(this,function a(b,c){"use strict";function d(a){var b=q[o.locale];return b?b[a]:q.en[a]}function e(a,c,d){a.stopPropagation(),a.preventDefault();var e=b.isFunction(d)&&d(a)===!1;e||c.modal("hide")}function f(a){var b,c=0;for(b in a)c++;return c}function g(a,c){var d=0;b.each(a,function(a,b){c(a,b,d++)})}function h(a){var c,d;if("object"!=typeof a)throw new Error("Please supply an object of options");if(!a.message)throw new Error("Please specify a message");return a=b.extend({},o,a),a.buttons||(a.buttons={}),a.backdrop=a.backdrop?"static":!1,c=a.buttons,d=f(c),g(c,function(a,e,f){if(b.isFunction(e)&&(e=c[a]={callback:e}),"object"!==b.type(e))throw new Error("button with key "+a+" must be an object");e.label||(e.label=a),e.className||(e.className=2>=d&&f===d-1?"btn-primary":"btn-default")}),a}function i(a,b){var c=a.length,d={};if(1>c||c>2)throw new Error("Invalid argument length");return 2===c||"string"==typeof a[0]?(d[b[0]]=a[0],d[b[1]]=a[1]):d=a[0],d}function j(a,c,d){return b.extend(!0,{},a,i(c,d))}function k(a,b,c,d){var e={className:"bootbox-"+a,buttons:l.apply(null,b)};return m(j(e,d,c),b)}function l(){for(var a={},b=0,c=arguments.length;c>b;b++){var e=arguments[b],f=e.toLowerCase(),g=e.toUpperCase();a[f]={label:d(g)}}return a}function m(a,b){var d={};return g(b,function(a,b){d[b]=!0}),g(a.buttons,function(a){if(d[a]===c)throw new Error("button key "+a+" is not allowed (options are "+b.join("\n")+")")}),a}var n={dialog:"",header:"",footer:"",closeButton:"",form:"
",inputs:{text:"",textarea:"",email:"",select:"",checkbox:"
",date:"",time:"",number:"",password:""}},o={locale:"en",backdrop:!0,animate:!0,className:null,closeButton:!0,show:!0,container:"body"},p={};p.alert=function(){var a;if(a=k("alert",["ok"],["message","callback"],arguments),a.callback&&!b.isFunction(a.callback))throw new Error("alert requires callback property to be a function when provided");return a.buttons.ok.callback=a.onEscape=function(){return b.isFunction(a.callback)?a.callback():!0},p.dialog(a)},p.confirm=function(){var a;if(a=k("confirm",["cancel","confirm"],["message","callback"],arguments),a.buttons.cancel.callback=a.onEscape=function(){return a.callback(!1)},a.buttons.confirm.callback=function(){return a.callback(!0)},!b.isFunction(a.callback))throw new Error("confirm requires a callback");return p.dialog(a)},p.prompt=function(){var a,d,e,f,h,i,k;f=b(n.form),d={className:"bootbox-prompt",buttons:l("cancel","confirm"),value:"",inputType:"text"},a=m(j(d,arguments,["title","callback"]),["cancel","confirm"]),i=a.show===c?!0:a.show;var o=["date","time","number"],q=document.createElement("input");if(q.setAttribute("type",a.inputType),o[a.inputType]&&(a.inputType=q.type),a.message=f,a.buttons.cancel.callback=a.onEscape=function(){return a.callback(null)},a.buttons.confirm.callback=function(){var c;switch(a.inputType){case"text":case"textarea":case"email":case"select":case"date":case"time":case"number":case"password":c=h.val();break;case"checkbox":var d=h.find("input:checked");c=[],g(d,function(a,d){c.push(b(d).val())})}return a.callback(c)},a.show=!1,!a.title)throw new Error("prompt requires a title");if(!b.isFunction(a.callback))throw new Error("prompt requires a callback");if(!n.inputs[a.inputType])throw new Error("invalid prompt type");switch(h=b(n.inputs[a.inputType]),a.inputType){case"text":case"textarea":case"email":case"date":case"time":case"number":case"password":h.val(a.value);break;case"select":var r={};if(k=a.inputOptions||[],!k.length)throw new Error("prompt with select requires options");g(k,function(a,d){var e=h;if(d.value===c||d.text===c)throw new Error("given options in wrong format");d.group&&(r[d.group]||(r[d.group]=b("").attr("label",d.group)),e=r[d.group]),e.append("")}),g(r,function(a,b){h.append(b)}),h.val(a.value);break;case"checkbox":var s=b.isArray(a.value)?a.value:[a.value];if(k=a.inputOptions||[],!k.length)throw new Error("prompt with checkbox requires options");if(!k[0].value||!k[0].text)throw new Error("given options in wrong format");h=b("
"),g(k,function(c,d){var e=b(n.inputs[a.inputType]);e.find("input").attr("value",d.value),e.find("label").append(d.text),g(s,function(a,b){b===d.value&&e.find("input").prop("checked",!0)}),h.append(e)})}return a.placeholder&&h.attr("placeholder",a.placeholder),a.pattern&&h.attr("pattern",a.pattern),f.append(h),f.on("submit",function(a){a.preventDefault(),e.find(".btn-primary").click()}),e=p.dialog(a),e.off("shown.bs.modal"),e.on("shown.bs.modal",function(){h.focus()}),i===!0&&e.modal("show"),e},p.dialog=function(a){a=h(a);var c=b(n.dialog),d=c.find(".modal-body"),f=a.buttons,i="",j={onEscape:a.onEscape};if(g(f,function(a,b){i+="",j[a]=b.callback}),d.find(".bootbox-body").html(a.message),a.animate===!0&&c.addClass("fade"),a.className&&c.addClass(a.className),a.title&&d.before(n.header),a.closeButton){var k=b(n.closeButton);a.title?c.find(".modal-header").prepend(k):k.css("margin-top","-10px").prependTo(d)}return a.title&&c.find(".modal-title").html(a.title),i.length&&(d.after(n.footer),c.find(".modal-footer").html(i)),c.on("hidden.bs.modal",function(a){a.target===this&&c.remove()}),c.on("shown.bs.modal",function(){c.find(".btn-primary:first").focus()}),c.on("escape.close.bb",function(a){j.onEscape&&e(a,c,j.onEscape)}),c.on("click",".modal-footer button",function(a){var d=b(this).data("bb-handler");e(a,c,j[d])}),c.on("click",".bootbox-close-button",function(a){e(a,c,j.onEscape)}),c.on("keyup",function(a){27===a.which&&c.trigger("escape.close.bb")}),b(a.container).append(c),c.modal({backdrop:a.backdrop,keyboard:!1,show:!1}),a.show&&c.modal("show"),c},p.setDefaults=function(){var a={};2===arguments.length?a[arguments[0]]=arguments[1]:a=arguments[0],b.extend(o,a)},p.hideAll=function(){b(".bootbox").modal("hide")};var q={br:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Sim"},da:{OK:"OK",CANCEL:"Annuller",CONFIRM:"Accepter"},de:{OK:"OK",CANCEL:"Abbrechen",CONFIRM:"Akzeptieren"},en:{OK:"OK",CANCEL:"Cancel",CONFIRM:"OK"},es:{OK:"OK",CANCEL:"Cancelar",CONFIRM:"Aceptar"},fi:{OK:"OK",CANCEL:"Peruuta",CONFIRM:"OK"},fr:{OK:"OK",CANCEL:"Annuler",CONFIRM:"D'accord"},he:{OK:"אישור",CANCEL:"ביטול",CONFIRM:"אישור"},it:{OK:"OK",CANCEL:"Annulla",CONFIRM:"Conferma"},lt:{OK:"Gerai",CANCEL:"Atšaukti",CONFIRM:"Patvirtinti"},lv:{OK:"Labi",CANCEL:"Atcelt",CONFIRM:"Apstiprināt"},nl:{OK:"OK",CANCEL:"Annuleren",CONFIRM:"Accepteren"},no:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},pl:{OK:"OK",CANCEL:"Anuluj",CONFIRM:"Potwierdź"},ru:{OK:"OK",CANCEL:"Отмена",CONFIRM:"Применить"},sv:{OK:"OK",CANCEL:"Avbryt",CONFIRM:"OK"},tr:{OK:"Tamam",CANCEL:"İptal",CONFIRM:"Onayla"},zh_CN:{OK:"OK",CANCEL:"取消",CONFIRM:"确认"},zh_TW:{OK:"OK",CANCEL:"取消",CONFIRM:"確認"}};return p.init=function(c){return a(c||b)},p}); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootstrap.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootstrap.min.js index 4955aee..22933a4 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootstrap.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/bootstrap.min.js @@ -1,6 +1,6 @@ -/*! - * Bootstrap v4.3.1 (https://getbootstrap.com/) - * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */ +/*! + * Bootstrap v4.3.1 (https://getbootstrap.com/) + * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t=t||self).bootstrap={},t.jQuery,t.Popper)}(this,function(t,g,u){"use strict";function i(t,e){for(var n=0;nthis._items.length-1||t<0))if(this._isSliding)g(this._element).one(Q.SLID,function(){return e.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=ndocument.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},t._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},t._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Ee},je="show",He="out",Re={HIDE:"hide"+De,HIDDEN:"hidden"+De,SHOW:"show"+De,SHOWN:"shown"+De,INSERTED:"inserted"+De,CLICK:"click"+De,FOCUSIN:"focusin"+De,FOCUSOUT:"focusout"+De,MOUSEENTER:"mouseenter"+De,MOUSELEAVE:"mouseleave"+De},xe="fade",Fe="show",Ue=".tooltip-inner",We=".arrow",qe="hover",Me="focus",Ke="click",Qe="manual",Be=function(){function i(t,e){if("undefined"==typeof u)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var t=i.prototype;return t.enable=function(){this._isEnabled=!0},t.disable=function(){this._isEnabled=!1},t.toggleEnabled=function(){this._isEnabled=!this._isEnabled},t.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=g(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(g(this.getTipElement()).hasClass(Fe))return void this._leave(null,this);this._enter(null,this)}},t.dispose=function(){clearTimeout(this._timeout),g.removeData(this.element,this.constructor.DATA_KEY),g(this.element).off(this.constructor.EVENT_KEY),g(this.element).closest(".modal").off("hide.bs.modal"),this.tip&&g(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,(this._activeTrigger=null)!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},t.show=function(){var e=this;if("none"===g(this.element).css("display"))throw new Error("Please use show on visible elements");var t=g.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){g(this.element).trigger(t);var n=_.findShadowRoot(this.element),i=g.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(t.isDefaultPrevented()||!i)return;var o=this.getTipElement(),r=_.getUID(this.constructor.NAME);o.setAttribute("id",r),this.element.setAttribute("aria-describedby",r),this.setContent(),this.config.animation&&g(o).addClass(xe);var s="function"==typeof this.config.placement?this.config.placement.call(this,o,this.element):this.config.placement,a=this._getAttachment(s);this.addAttachmentClass(a);var l=this._getContainer();g(o).data(this.constructor.DATA_KEY,this),g.contains(this.element.ownerDocument.documentElement,this.tip)||g(o).appendTo(l),g(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new u(this.element,o,{placement:a,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:We},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}}),g(o).addClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().on("mouseover",null,g.noop);var c=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,g(e.element).trigger(e.constructor.Event.SHOWN),t===He&&e._leave(null,e)};if(g(this.tip).hasClass(xe)){var h=_.getTransitionDurationFromElement(this.tip);g(this.tip).one(_.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},t.hide=function(t){var e=this,n=this.getTipElement(),i=g.Event(this.constructor.Event.HIDE),o=function(){e._hoverState!==je&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),g(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(g(this.element).trigger(i),!i.isDefaultPrevented()){if(g(n).removeClass(Fe),"ontouchstart"in document.documentElement&&g(document.body).children().off("mouseover",null,g.noop),this._activeTrigger[Ke]=!1,this._activeTrigger[Me]=!1,this._activeTrigger[qe]=!1,g(this.tip).hasClass(xe)){var r=_.getTransitionDurationFromElement(n);g(n).one(_.TRANSITION_END,o).emulateTransitionEnd(r)}else o();this._hoverState=""}},t.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},t.isWithContent=function(){return Boolean(this.getTitle())},t.addAttachmentClass=function(t){g(this.getTipElement()).addClass(Ae+"-"+t)},t.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},t.setContent=function(){var t=this.getTipElement();this.setElementContent(g(t.querySelectorAll(Ue)),this.getTitle()),g(t).removeClass(xe+" "+Fe)},t.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=Se(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?g(e).parent().is(t)||t.empty().append(e):t.text(g(e).text())},t.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},t._getOffset=function(){var e=this,t={};return"function"==typeof this.config.offset?t.fn=function(t){return t.offsets=l({},t.offsets,e.config.offset(t.offsets,e.element)||{}),t}:t.offset=this.config.offset,t},t._getContainer=function(){return!1===this.config.container?document.body:_.isElement(this.config.container)?g(this.config.container):g(document).find(this.config.container)},t._getAttachment=function(t){return Pe[t.toUpperCase()]},t._setListeners=function(){var i=this;this.config.trigger.split(" ").forEach(function(t){if("click"===t)g(i.element).on(i.constructor.Event.CLICK,i.config.selector,function(t){return i.toggle(t)});else if(t!==Qe){var e=t===qe?i.constructor.Event.MOUSEENTER:i.constructor.Event.FOCUSIN,n=t===qe?i.constructor.Event.MOUSELEAVE:i.constructor.Event.FOCUSOUT;g(i.element).on(e,i.config.selector,function(t){return i._enter(t)}).on(n,i.config.selector,function(t){return i._leave(t)})}}),g(this.element).closest(".modal").on("hide.bs.modal",function(){i.element&&i.hide()}),this.config.selector?this.config=l({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},t._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},t._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?Me:qe]=!0),g(e.getTipElement()).hasClass(Fe)||e._hoverState===je?e._hoverState=je:(clearTimeout(e._timeout),e._hoverState=je,e.config.delay&&e.config.delay.show?e._timeout=setTimeout(function(){e._hoverState===je&&e.show()},e.config.delay.show):e.show())},t._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||g(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),g(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?Me:qe]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=He,e.config.delay&&e.config.delay.hide?e._timeout=setTimeout(function(){e._hoverState===He&&e.hide()},e.config.delay.hide):e.hide())},t._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},t._getConfig=function(t){var e=g(this.element).data();return Object.keys(e).forEach(function(t){-1!==Oe.indexOf(t)&&delete e[t]}),"number"==typeof(t=l({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),_.typeCheckConfig(be,t,this.constructor.DefaultType),t.sanitize&&(t.template=Se(t.template,t.whiteList,t.sanitizeFn)),t},t._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},t._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ne);null!==e&&e.length&&t.removeClass(e.join(""))},t._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},t._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(g(t).removeClass(xe),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},i._jQueryInterface=function(n){return this.each(function(){var t=g(this).data(Ie),e="object"==typeof n&&n;if((t||!/dispose|hide/.test(n))&&(t||(t=new i(this,e),g(this).data(Ie,t)),"string"==typeof n)){if("undefined"==typeof t[n])throw new TypeError('No method named "'+n+'"');t[n]()}})},s(i,null,[{key:"VERSION",get:function(){return"4.3.1"}},{key:"Default",get:function(){return Le}},{key:"NAME",get:function(){return be}},{key:"DATA_KEY",get:function(){return Ie}},{key:"Event",get:function(){return Re}},{key:"EVENT_KEY",get:function(){return De}},{key:"DefaultType",get:function(){return ke}}]),i}();g.fn[be]=Be._jQueryInterface,g.fn[be].Constructor=Be,g.fn[be].noConflict=function(){return g.fn[be]=we,Be._jQueryInterface};var Ve="popover",Ye="bs.popover",ze="."+Ye,Xe=g.fn[Ve],$e="bs-popover",Ge=new RegExp("(^|\\s)"+$e+"\\S+","g"),Je=l({},Be.Default,{placement:"right",trigger:"click",content:"",template:''}),Ze=l({},Be.DefaultType,{content:"(string|element|function)"}),tn="fade",en="show",nn=".popover-header",on=".popover-body",rn={HIDE:"hide"+ze,HIDDEN:"hidden"+ze,SHOW:"show"+ze,SHOWN:"shown"+ze,INSERTED:"inserted"+ze,CLICK:"click"+ze,FOCUSIN:"focusin"+ze,FOCUSOUT:"focusout"+ze,MOUSEENTER:"mouseenter"+ze,MOUSELEAVE:"mouseleave"+ze},sn=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),(e.prototype.constructor=e).__proto__=n;var o=i.prototype;return o.isWithContent=function(){return this.getTitle()||this._getContent()},o.addAttachmentClass=function(t){g(this.getTipElement()).addClass($e+"-"+t)},o.getTipElement=function(){return this.tip=this.tip||g(this.config.template)[0],this.tip},o.setContent=function(){var t=g(this.getTipElement());this.setElementContent(t.find(nn),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(on),e),t.removeClass(tn+" "+en)},o._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},o._cleanTipClass=function(){var t=g(this.getTipElement()),e=t.attr("class").match(Ge);null!==e&&0=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||td;d++)c=f[d],g.push(this.add_option(c,b,a.disabled));return g},SelectParser.prototype.add_option=function(a,b,c){return"OPTION"===a.nodeName.toUpperCase()?(""!==a.text?(null!=b&&(this.parsed[b].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:a.value,text:a.text,html:a.innerHTML,title:a.title?a.title:void 0,selected:a.selected,disabled:c===!0?c:a.disabled,group_array_index:b,group_label:null!=b?this.parsed[b].label:null,classes:a.className,style:a.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1):void 0},SelectParser.prototype.escapeExpression=function(a){var b,c;return null==a||a===!1?"":/[\&\<\>\"\'\`]/.test(a)?(b={"<":"<",">":">",'"':""","'":"'","`":"`"},c=/&(?!\w+;)|[\<\>\"\'\`]/g,a.replace(c,function(a){return b[a]||"&"})):a},SelectParser}(),SelectParser.select_to_array=function(a){var b,c,d,e,f;for(c=new SelectParser,f=a.childNodes,d=0,e=f.length;e>d;d++)b=f[d],c.add_node(b);return c.parsed},AbstractChosen=function(){function AbstractChosen(a,b){this.form_field=a,this.options=null!=b?b:{},AbstractChosen.browser_is_supported()&&(this.is_multiple=this.form_field.multiple,this.set_default_text(),this.set_default_values(),this.setup(),this.set_up_html(),this.register_observers(),this.on_ready())}return AbstractChosen.prototype.set_default_values=function(){var a=this;return this.click_test_action=function(b){return a.test_active_click(b)},this.activate_action=function(b){return a.activate_field(b)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.allow_single_deselect=null!=this.options.allow_single_deselect&&null!=this.form_field.options[0]&&""===this.form_field.options[0].text?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.enable_split_word_search=null!=this.options.enable_split_word_search?this.options.enable_split_word_search:!0,this.group_search=null!=this.options.group_search?this.options.group_search:!0,this.search_contains=this.options.search_contains||!1,this.single_backstroke_delete=null!=this.options.single_backstroke_delete?this.options.single_backstroke_delete:!0,this.max_selected_options=this.options.max_selected_options||1/0,this.inherit_select_classes=this.options.inherit_select_classes||!1,this.display_selected_options=null!=this.options.display_selected_options?this.options.display_selected_options:!0,this.display_disabled_options=null!=this.options.display_disabled_options?this.options.display_disabled_options:!0,this.include_group_label_in_selected=this.options.include_group_label_in_selected||!1},AbstractChosen.prototype.set_default_text=function(){return this.default_text=this.form_field.getAttribute("data-placeholder")?this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.options.placeholder_text_multiple||this.options.placeholder_text||AbstractChosen.default_multiple_text:this.options.placeholder_text_single||this.options.placeholder_text||AbstractChosen.default_single_text,this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||AbstractChosen.default_no_result_text},AbstractChosen.prototype.choice_label=function(a){return this.include_group_label_in_selected&&null!=a.group_label?""+a.group_label+""+a.html:a.html},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(){var a=this;if(this.is_multiple){if(!this.active_field)return setTimeout(function(){return a.container_mousedown()},50)}else if(!this.active_field)return this.activate_field()},AbstractChosen.prototype.input_blur=function(){var a=this;return this.mouse_on_container?void 0:(this.active_field=!1,setTimeout(function(){return a.blur_test()},100))},AbstractChosen.prototype.results_option_build=function(a){var b,c,d,e,f;for(b="",f=this.results_data,d=0,e=f.length;e>d;d++)c=f[d],b+=c.group?this.result_add_group(c):this.result_add_option(c),(null!=a?a.first:void 0)&&(c.selected&&this.is_multiple?this.choice_build(c):c.selected&&!this.is_multiple&&this.single_set_selected_text(this.choice_label(c)));return b},AbstractChosen.prototype.result_add_option=function(a){var b,c;return a.search_match?this.include_option_in_results(a)?(b=[],a.disabled||a.selected&&this.is_multiple||b.push("active-result"),!a.disabled||a.selected&&this.is_multiple||b.push("disabled-result"),a.selected&&b.push("result-selected"),null!=a.group_array_index&&b.push("group-option"),""!==a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.style.cssText=a.style,c.setAttribute("data-option-array-index",a.array_index),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.result_add_group=function(a){var b,c;return a.search_match||a.group_match?a.active_options>0?(b=[],b.push("group-result"),a.classes&&b.push(a.classes),c=document.createElement("li"),c.className=b.join(" "),c.innerHTML=a.search_text,a.title&&(c.title=a.title),this.outerHTML(c)):"":""},AbstractChosen.prototype.results_update_field=function(){return this.set_default_text(),this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.results_build(),this.results_showing?this.winnow_results():void 0},AbstractChosen.prototype.reset_single_select_options=function(){var a,b,c,d,e;for(d=this.results_data,e=[],b=0,c=d.length;c>b;b++)a=d[b],a.selected?e.push(a.selected=!1):e.push(void 0);return e},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.winnow_results=function(){var a,b,c,d,e,f,g,h,i,j,k,l;for(this.no_results_clear(),d=0,f=this.get_search_text(),a=f.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),i=new RegExp(a,"i"),c=this.get_search_regex(a),l=this.results_data,j=0,k=l.length;k>j;j++)b=l[j],b.search_match=!1,e=null,this.include_option_in_results(b)&&(b.group&&(b.group_match=!1,b.active_options=0),null!=b.group_array_index&&this.results_data[b.group_array_index]&&(e=this.results_data[b.group_array_index],0===e.active_options&&e.search_match&&(d+=1),e.active_options+=1),b.search_text=b.group?b.label:b.html,(!b.group||this.group_search)&&(b.search_match=this.search_string_match(b.search_text,c),b.search_match&&!b.group&&(d+=1),b.search_match?(f.length&&(g=b.search_text.search(i),h=b.search_text.substr(0,g+f.length)+""+b.search_text.substr(g+f.length),b.search_text=h.substr(0,g)+""+h.substr(g)),null!=e&&(e.group_match=!0)):null!=b.group_array_index&&this.results_data[b.group_array_index].search_match&&(b.search_match=!0)));return this.result_clear_highlight(),1>d&&f.length?(this.update_results_content(""),this.no_results(f)):(this.update_results_content(this.results_option_build()),this.winnow_results_set_highlight())},AbstractChosen.prototype.get_search_regex=function(a){var b;return b=this.search_contains?"":"^",new RegExp(b+a,"i")},AbstractChosen.prototype.search_string_match=function(a,b){var c,d,e,f;if(b.test(a))return!0;if(this.enable_split_word_search&&(a.indexOf(" ")>=0||0===a.indexOf("["))&&(d=a.replace(/\[|\]/g,"").split(" "),d.length))for(e=0,f=d.length;f>e;e++)if(c=d[e],b.test(c))return!0},AbstractChosen.prototype.choices_count=function(){var a,b,c,d;if(null!=this.selected_option_count)return this.selected_option_count;for(this.selected_option_count=0,d=this.form_field.options,b=0,c=d.length;c>b;b++)a=d[b],a.selected&&(this.selected_option_count+=1);return this.selected_option_count},AbstractChosen.prototype.choices_click=function(a){return a.preventDefault(),this.results_showing||this.is_disabled?void 0:this.results_show()},AbstractChosen.prototype.keyup_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices_count()>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:if(a.preventDefault(),this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.clipboard_event_checker=function(){var a=this;return setTimeout(function(){return a.results_search()},50)},AbstractChosen.prototype.container_width=function(){return null!=this.options.width?this.options.width:""+this.form_field.offsetWidth+"px"},AbstractChosen.prototype.include_option_in_results=function(a){return this.is_multiple&&!this.display_selected_options&&a.selected?!1:!this.display_disabled_options&&a.disabled?!1:a.empty?!1:!0},AbstractChosen.prototype.search_results_touchstart=function(a){return this.touch_started=!0,this.search_results_mouseover(a)},AbstractChosen.prototype.search_results_touchmove=function(a){return this.touch_started=!1,this.search_results_mouseout(a)},AbstractChosen.prototype.search_results_touchend=function(a){return this.touch_started?this.search_results_mouseup(a):void 0},AbstractChosen.prototype.outerHTML=function(a){var b;return a.outerHTML?a.outerHTML:(b=document.createElement("div"),b.appendChild(a),b.innerHTML)},AbstractChosen.browser_is_supported=function(){return"Microsoft Internet Explorer"===window.navigator.appName?document.documentMode>=8:/iP(od|hone)/i.test(window.navigator.userAgent)?!1:/Android/i.test(window.navigator.userAgent)&&/Mobile/i.test(window.navigator.userAgent)?!1:!0},AbstractChosen.default_multiple_text="Select Some Options",AbstractChosen.default_single_text="Select an Option",AbstractChosen.default_no_result_text="No results match",AbstractChosen}(),a=jQuery,a.fn.extend({chosen:function(b){return AbstractChosen.browser_is_supported()?this.each(function(){var c,d;c=a(this),d=c.data("chosen"),"destroy"===b&&d instanceof Chosen?d.destroy():d instanceof Chosen||c.data("chosen",new Chosen(this,b))}):this}}),Chosen=function(c){function Chosen(){return b=Chosen.__super__.constructor.apply(this,arguments)}return d(Chosen,c),Chosen.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_selectedIndex=this.form_field.selectedIndex,this.is_rtl=this.form_field_jq.hasClass("chosen-rtl")},Chosen.prototype.set_up_html=function(){var b,c;return b=["chosen-container"],b.push("chosen-container-"+(this.is_multiple?"multi":"single")),this.inherit_select_classes&&this.form_field.className&&b.push(this.form_field.className),this.is_rtl&&b.push("chosen-rtl"),c={"class":b.join(" "),style:"width: "+this.container_width()+";",title:this.form_field.title},this.form_field.id.length&&(c.id=this.form_field.id.replace(/[^\w]/g,"_")+"_chosen"),this.container=a("
",c),this.is_multiple?this.container.html('
    '):this.container.html(''+this.default_text+'
      '),this.form_field_jq.hide().after(this.container),this.dropdown=this.container.find("div.chosen-drop").first(),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chosen-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chosen-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chosen-search").first(),this.selected_item=this.container.find(".chosen-single").first()),this.results_build(),this.set_tab_index(),this.set_label_behavior()},Chosen.prototype.on_ready=function(){return this.form_field_jq.trigger("chosen:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var a=this;return this.container.bind("touchstart.chosen",function(b){return a.container_mousedown(b),b.preventDefault()}),this.container.bind("touchend.chosen",function(b){return a.container_mouseup(b),b.preventDefault()}),this.container.bind("mousedown.chosen",function(b){a.container_mousedown(b)}),this.container.bind("mouseup.chosen",function(b){a.container_mouseup(b)}),this.container.bind("mouseenter.chosen",function(b){a.mouse_enter(b)}),this.container.bind("mouseleave.chosen",function(b){a.mouse_leave(b)}),this.search_results.bind("mouseup.chosen",function(b){a.search_results_mouseup(b)}),this.search_results.bind("mouseover.chosen",function(b){a.search_results_mouseover(b)}),this.search_results.bind("mouseout.chosen",function(b){a.search_results_mouseout(b)}),this.search_results.bind("mousewheel.chosen DOMMouseScroll.chosen",function(b){a.search_results_mousewheel(b)}),this.search_results.bind("touchstart.chosen",function(b){a.search_results_touchstart(b)}),this.search_results.bind("touchmove.chosen",function(b){a.search_results_touchmove(b)}),this.search_results.bind("touchend.chosen",function(b){a.search_results_touchend(b)}),this.form_field_jq.bind("chosen:updated.chosen",function(b){a.results_update_field(b)}),this.form_field_jq.bind("chosen:activate.chosen",function(b){a.activate_field(b)}),this.form_field_jq.bind("chosen:open.chosen",function(b){a.container_mousedown(b)}),this.form_field_jq.bind("chosen:close.chosen",function(b){a.input_blur(b)}),this.search_field.bind("blur.chosen",function(b){a.input_blur(b)}),this.search_field.bind("keyup.chosen",function(b){a.keyup_checker(b)}),this.search_field.bind("keydown.chosen",function(b){a.keydown_checker(b)}),this.search_field.bind("focus.chosen",function(b){a.input_focus(b)}),this.search_field.bind("cut.chosen",function(b){a.clipboard_event_checker(b)}),this.search_field.bind("paste.chosen",function(b){a.clipboard_event_checker(b)}),this.is_multiple?this.search_choices.bind("click.chosen",function(b){a.choices_click(b)}):this.container.bind("click.chosen",function(a){a.preventDefault()})},Chosen.prototype.destroy=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.search_field[0].tabIndex&&(this.form_field_jq[0].tabIndex=this.search_field[0].tabIndex),this.container.remove(),this.form_field_jq.removeData("chosen"),this.form_field_jq.show()},Chosen.prototype.search_field_disabled=function(){return this.is_disabled=this.form_field_jq[0].disabled,this.is_disabled?(this.container.addClass("chosen-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus.chosen",this.activate_action),this.close_field()):(this.container.removeClass("chosen-disabled"),this.search_field[0].disabled=!1,this.is_multiple?void 0:this.selected_item.bind("focus.chosen",this.activate_action))},Chosen.prototype.container_mousedown=function(b){return this.is_disabled||(b&&"mousedown"===b.type&&!this.results_showing&&b.preventDefault(),null!=b&&a(b.target).hasClass("search-choice-close"))?void 0:(this.active_field?this.is_multiple||!b||a(b.target)[0]!==this.selected_item[0]&&!a(b.target).parents("a.chosen-single").length||(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(this.container[0].ownerDocument).bind("click.chosen",this.click_test_action),this.results_show()),this.activate_field())},Chosen.prototype.container_mouseup=function(a){return"ABBR"!==a.target.nodeName||this.is_disabled?void 0:this.results_reset(a)},Chosen.prototype.search_results_mousewheel=function(a){var b;return a.originalEvent&&(b=a.originalEvent.deltaY||-a.originalEvent.wheelDelta||a.originalEvent.detail),null!=b?(a.preventDefault(),"DOMMouseScroll"===a.type&&(b=40*b),this.search_results.scrollTop(b+this.search_results.scrollTop())):void 0},Chosen.prototype.blur_test=function(){return!this.active_field&&this.container.hasClass("chosen-container-active")?this.close_field():void 0},Chosen.prototype.close_field=function(){return a(this.container[0].ownerDocument).unbind("click.chosen",this.click_test_action),this.active_field=!1,this.results_hide(),this.container.removeClass("chosen-container-active"),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return this.container.addClass("chosen-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(b){var c;return c=a(b.target).closest(".chosen-container"),c.length&&this.container[0]===c[0]?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){return this.parsing=!0,this.selected_option_count=null,this.results_data=SelectParser.select_to_array(this.form_field),this.is_multiple?this.search_choices.find("li.search-choice").remove():this.is_multiple||(this.single_set_selected_text(),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?(this.search_field[0].readOnly=!0,this.container.addClass("chosen-container-single-nosearch")):(this.search_field[0].readOnly=!1,this.container.removeClass("chosen-container-single-nosearch"))),this.update_results_content(this.results_option_build({first:!0})),this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.parsing=!1},Chosen.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){if(this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight(),b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(f>c)return this.search_results.scrollTop(c)}},Chosen.prototype.result_clear_highlight=function(){return this.result_highlight&&this.result_highlight.removeClass("highlighted"),this.result_highlight=null},Chosen.prototype.results_show=function(){return this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.container.addClass("chosen-with-drop"),this.results_showing=!0,this.search_field.focus(),this.search_field.val(this.search_field.val()),this.winnow_results(),this.form_field_jq.trigger("chosen:showing_dropdown",{chosen:this}))},Chosen.prototype.update_results_content=function(a){return this.search_results.html(a)},Chosen.prototype.results_hide=function(){return this.results_showing&&(this.result_clear_highlight(),this.container.removeClass("chosen-with-drop"),this.form_field_jq.trigger("chosen:hiding_dropdown",{chosen:this})),this.results_showing=!1},Chosen.prototype.set_tab_index=function(){var a;return this.form_field.tabIndex?(a=this.form_field.tabIndex,this.form_field.tabIndex=-1,this.search_field[0].tabIndex=a):void 0},Chosen.prototype.set_label_behavior=function(){var b=this;return this.form_field_label=this.form_field_jq.parents("label"),!this.form_field_label.length&&this.form_field.id.length&&(this.form_field_label=a("label[for='"+this.form_field.id+"']")),this.form_field_label.length>0?this.form_field_label.bind("click.chosen",function(a){return b.is_multiple?b.container_mousedown(a):b.activate_field()}):void 0},Chosen.prototype.show_search_field_default=function(){return this.is_multiple&&this.choices_count()<1&&!this.active_field?(this.search_field.val(this.default_text),this.search_field.addClass("default")):(this.search_field.val(""),this.search_field.removeClass("default"))},Chosen.prototype.search_results_mouseup=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c.length?(this.result_highlight=c,this.result_select(b),this.search_field.focus()):void 0},Chosen.prototype.search_results_mouseover=function(b){var c;return c=a(b.target).hasClass("active-result")?a(b.target):a(b.target).parents(".active-result").first(),c?this.result_do_highlight(c):void 0},Chosen.prototype.search_results_mouseout=function(b){return a(b.target).hasClass("active-result")?this.result_clear_highlight():void 0},Chosen.prototype.choice_build=function(b){var c,d,e=this;return c=a("
    • ",{"class":"search-choice"}).html(""+this.choice_label(b)+""),b.disabled?c.addClass("search-choice-disabled"):(d=a("",{"class":"search-choice-close","data-option-array-index":b.array_index}),d.bind("click.chosen",function(a){return e.choice_destroy_link_click(a)}),c.append(d)),this.search_container.before(c)},Chosen.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),b.stopPropagation(),this.is_disabled?void 0:this.choice_destroy(a(b.target))},Chosen.prototype.choice_destroy=function(a){return this.result_deselect(a[0].getAttribute("data-option-array-index"))?(this.show_search_field_default(),this.is_multiple&&this.choices_count()>0&&this.search_field.val().length<1&&this.results_hide(),a.parents("li").first().remove(),this.search_field_scale()):void 0},Chosen.prototype.results_reset=function(){return this.reset_single_select_options(),this.form_field.options[0].selected=!0,this.single_set_selected_text(),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change"),this.active_field?this.results_hide():void 0},Chosen.prototype.results_reset_cleanup=function(){return this.current_selectedIndex=this.form_field.selectedIndex,this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(a){var b,c;return this.result_highlight?(b=this.result_highlight,this.result_clear_highlight(),this.is_multiple&&this.max_selected_options<=this.choices_count()?(this.form_field_jq.trigger("chosen:maxselected",{chosen:this}),!1):(this.is_multiple?b.removeClass("active-result"):this.reset_single_select_options(),b.addClass("result-selected"),c=this.results_data[b[0].getAttribute("data-option-array-index")],c.selected=!0,this.form_field.options[c.options_index].selected=!0,this.selected_option_count=null,this.is_multiple?this.choice_build(c):this.single_set_selected_text(this.choice_label(c)),(a.metaKey||a.ctrlKey)&&this.is_multiple||this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field.selectedIndex!==this.current_selectedIndex)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[c.options_index].value}),this.current_selectedIndex=this.form_field.selectedIndex,a.preventDefault(),this.search_field_scale())):void 0},Chosen.prototype.single_set_selected_text=function(a){return null==a&&(a=this.default_text),a===this.default_text?this.selected_item.addClass("chosen-default"):(this.single_deselect_control_build(),this.selected_item.removeClass("chosen-default")),this.selected_item.find("span").html(a)},Chosen.prototype.result_deselect=function(a){var b;return b=this.results_data[a],this.form_field.options[b.options_index].disabled?!1:(b.selected=!1,this.form_field.options[b.options_index].selected=!1,this.selected_option_count=null,this.result_clear_highlight(),this.results_showing&&this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[b.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){return this.allow_single_deselect?(this.selected_item.find("abbr").length||this.selected_item.find("span").first().after(''),this.selected_item.addClass("chosen-single-with-deselect")):void 0},Chosen.prototype.get_search_text=function(){return a("
      ").text(a.trim(this.search_field.val())).html()},Chosen.prototype.winnow_results_set_highlight=function(){var a,b;return b=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),a=b.length?b.first():this.search_results.find(".active-result").first(),null!=a?this.result_do_highlight(a):void 0},Chosen.prototype.no_results=function(b){var c;return c=a('
    • '+this.results_none_found+' ""
    • '),c.find("span").first().html(b),this.search_results.append(c),this.form_field_jq.trigger("chosen:no_results",{chosen:this})},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var a;return this.results_showing&&this.result_highlight?(a=this.result_highlight.nextAll("li.active-result").first())?this.result_do_highlight(a):void 0:this.results_show()},Chosen.prototype.keyup_arrow=function(){var a;return this.results_showing||this.is_multiple?this.result_highlight?(a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices_count()>0&&this.results_hide(),this.result_clear_highlight())):void 0:this.results_show()},Chosen.prototype.keydown_backstroke=function(){var a;return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(a=this.search_container.siblings("li.search-choice").last(),a.length&&!a.hasClass("search-choice-disabled")?(this.pending_backstroke=a,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")):void 0)},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(a){var b,c;switch(b=null!=(c=a.which)?c:a.keyCode,this.search_field_scale(),8!==b&&this.pending_backstroke&&this.clear_backstroke(),b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:this.results_showing&&a.preventDefault();break;case 32:this.disable_search&&a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:a.preventDefault(),this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){for(d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"],i=0,j=g.length;j>i;i++)e=g[i],f+=e+":"+this.search_field.css(e)+";";return b=a("
      ",{style:f}),b.text(this.search_field.val()),a("body").append(b),h=b.width()+25,b.remove(),c=this.container.outerWidth(),h>c-10&&(h=c-10),this.search_field.css({width:h+"px"})}},Chosen}(AbstractChosen)}).call(this); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/haproxy.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/haproxy.js index 5ac1a76..24d61d5 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/haproxy.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/haproxy.js @@ -1,604 +1,604 @@ -/*! Virtualizor (c) (Softaculous Ltd.) virtualizor.com/license */ -/*! HAProxy JS*/ -/*! Used in haproxy_theme.php, managevps_theme.php and virtualizor.js */ -/*! Created On: 11 May 2017 */ - -var $vpses, $supported_protocols, $haproxydata, $arr_haproxy_src_ips, $servers; - -var vdf_elems = ["protocol", "src_hostname", "src_port", "dest_ip", "dest_port"]; -var vdf_row_cols = ["protocol", "src_hostname", "src_port", "dest_ip", "dest_port", "id", "vpsuuid", "serid"]; -var is_admin; -var vdf_url; -var vdf_vpsuuid; -var vdf_serid; -var vdf_edit_ico, vdf_save_ico, vdf_delete_ico, vdf_revert_ico; -var cur_vps; - -// Add search feature to select input -function add_select2(id){ - $('#'+id+' .chosen').select2({width:"100%"}); -} - -function listvpsforwardertbl(){//- - var $tmp_ha = {}; - var alert_entries = {}; - - if(empty($haproxydata)){ - $('#vdf-list').html(`
      {{no_vdf}}
      `); - return; - } - - for(x in $haproxydata){ - $tmp_ha[x] = {}; - - if(is_admin != undefined){ - $tmp_ha[x]['id'] = ''+$haproxydata[x]['id']+''; - $tmp_ha[x]['vpsuuid'] = ''+$haproxydata[x]['vpsid']+' ('+$vpses[$haproxydata[x]['vpsuuid']]['hostname']+')'; - $tmp_ha[x]['serid'] = ''+$servers[$haproxydata[x]['serid']]['server_name']+''; - } - - $tmp_ha[x]['protocol'] = ''+$haproxydata[x]['protocol']+''; - $tmp_ha[x]['src_hostname'] = ''+$haproxydata[x]['src_hostname']+''; - $tmp_ha[x]['src_port'] = ''+$haproxydata[x]['src_port']+''; - $tmp_ha[x]['dest_ip'] = ''+$haproxydata[x]['dest_ip']+''; - $tmp_ha[x]['dest_port'] = ''+$haproxydata[x]['dest_port']+''; - $tmp_ha[x]['actions'] = ''; - $tmp_ha[x]['select_all'] = '"; - - // HTTP or HTTPS - }else{ - //src_hostname - str = ""; - str += ""; - str += ""; - } - $("#"+vdfid+"_src_hostname .coledit").remove(); - $("#"+vdfid+"_src_hostname").append(str); - - // add search feature to select - add_select2("vps_forwarders_tbl"); - -}; - -function processaddvdfform(self){ - var id = $(self).attr("id"); - - if(is_admin != undefined){ - - if(id == "serid"){ - var str = ""; - var serid = parseInt($("#serid").val()); - - str = ""; - - processing_symb(1); - POST({ - url: vdf_url, - data: 'serid='+serid+'&vdf_action=getvps', - }, function(data){ - processing_symb(); - if('done' in data){ - if(data.vpses != undefined){ - $.each(data.vpses, function(i,t){ - cur_vps = data.vpses; - if(t["serid"] == serid){ - str += ""; - } - }); - $("#vpsuuid").html(str); - } - } - }); - - $("#protocol").trigger("change"); - return true; - } - - if(id == "vpsuuid"){ - var str = ""; - $("#dest_ip").html(''); - - var vpsuuid = $("#vpsuuid").val(); - if(cur_vps[vpsuuid] == undefined){ - // update select dest ips list - $("#dest_ip").trigger("chosen:updated"); - return; - } - - str = ""; - - processing_symb(1); - POST({ - url: vdf_url, - data: 'vpsuuid='+vpsuuid+'&vdf_action=getvpsips', - }, function(data){ - processing_symb(); - if('done' in data){ - if(data.vpsips != undefined){ - $.each(data.vpsips, function(i,t){ - str+= ""; - }); - } - $("#dest_ip").html(str); - } - }); - return true; - } - - } - - if(id == "protocol"){ - var str = ""; - var parent = $("#src_hostname").parent(); - // 2 = TCP - if($(self).val() == "TCP"){ - var $arr_src_ips = $arr_haproxy_src_ips; - if(is_admin != undefined){ - var serid = $("#serid").val(); - if($servers[serid] == undefined){ - error_alert("'.$l['no_server_found'].'"); - return; - }else{ - $arr_src_ips = $servers[serid]["arr_haproxy_src_ips"]; - } - } - - str = ""; - $("#src_port").val(""); - $("#dest_port").val(""); - $(parent).parent().children().eq(0).children().eq(0).text("{{vdf_src_ip}}"); - - // https or http - }else{ - str = ""; - if($(self).val() == "HTTP"){ - $("#src_port").val("80"); - $("#dest_port").val("80"); - }else if($(self).val() == "HTTPS"){ - $("#src_port").val("443"); - $("#dest_port").val("443"); - } - $(parent).parent().children().eq(0).children().eq(0).text("{{vdf_src_dom}}"); - - } - // Remove old before adding updated one - $("#src_hostname").remove(); - - $(parent).html(str); - - // add search feature to select - add_select2("addvdf_form_div"); - - return true; - } - if(id == "submitaddvdf"){ - // Post the data - processing_symb(1); - POST({ - url: vdf_url, - data: $("#addvdf").serialize(), - }, function(data){ - processing_symb(); - if('done' in data){ - - if(is_admin != undefined){ - window.location = window.location; - return; - } - - var id = parseInt(data.done.id); - - // set vpsuuid and serid of the entry if this is called on admin page. - // For other page call, this values will be already set. - if(is_admin != undefined){ - vdf_vpsuuid = $("#vpsuuid").val(); - vdf_serid = $("#serid").val(); - } - - $haproxydata[id] = { - "id" : id, - "vpsuuid" : vdf_vpsuuid, - "serid" : vdf_serid, - "protocol" : $("#protocol").val(), - "src_hostname" : $("#src_hostname").val(), - "src_port" : $("#src_port").val(), - "dest_ip" : $("#dest_ip").val(), - "dest_port" : $("#dest_port").val() - } - - listvpsforwardertbl(); - - } - }); - } -} - -function showvdfform(){ - var str = ""; - var ips = {}; - - // Reset form - $("#addvdf").trigger("reset"); - $("#addvdf select").trigger("chosen:updated"); - - // Adjust height of lables - $("#addvdf_form_div .row").eq(1).find(".control-label").parent().height(38); - - // Populate servers and vps list for admin page only - if(is_admin != undefined){ - var str = ""; - str = ""; - - $.each($servers, function(i,t){ - str += ""; - }); - $("#serid").html(str); - - }else{ - // Get VPS IPs to be shown in form - ips = $vpses[vdf_vpsuuid]["ips"]; - } - - // Populate protocols list - str = ""; - $.each($supported_protocols, function(i, t){ - str += ""; - }); - $("#protocol").html(str); - - // Populate VPS IPs list - str = ""; - str = ""; - - $.each(ips, function(i,t){ - str+= ""; - }); - $("#dest_ip").html(str); - - - // Show form - $("#addvdf_form_div").css("display", "block"); - $("#showaddvdfformbtn").hide(); - - // add search feature to select - add_select2("addvdf_form_div"); -} - -// Creates the TABLE -function apply_data_table(fp_tid){ - - $('#'+fp_tid).dataTable({ - "language": { - "lengthMenu": "{{show}} _MENU_ {{entries}}", - "search": "{{search}}:", - "info": "{{showing}} _START_ {{to}} _END_ {{of}} _TOTAL_ {{entries}}", - "infoEmpty": "{{showing}} 0 {{to}} 0 {{of}} 0 {{entries}}", - "zeroRecords": "{{no_data_avail}}", - "emptyTable": "{{no_data_avail}}", - "infoFiltered": "({{filtered_from}} _MAX_ {{total_entries}})", - "paginate": { - "first":"{{first}}", - "last":"{{last}}", - "next":"{{next}}", - "previous":"{{previous}}" - } - }, - 'columnDefs': [ { - 'targets': [6,5], // column index (start from 0) - 'orderable': false, // set orderable false for selected columns, - 'width' : '5%' - }, - { "width": "13%", "targets": [0] }, - { "width": "21%", "targets": [1] }, - { "width": "16%", "targets": [2] }, - { "width": "18%", "targets": [3] }, - { "width": "20%", "targets": [4] }, - ], - 'autoWidth': true, - }); -}; - -function processing_symb(show){ - return true; - if(show == 1){ - $("#processing_symb").css('display','block'); - }else{ - $("#processing_symb").css('display','none'); - } +/*! Virtualizor (c) (Softaculous Ltd.) virtualizor.com/license */ +/*! HAProxy JS*/ +/*! Used in haproxy_theme.php, managevps_theme.php and virtualizor.js */ +/*! Created On: 11 May 2017 */ + +var $vpses, $supported_protocols, $haproxydata, $arr_haproxy_src_ips, $servers; + +var vdf_elems = ["protocol", "src_hostname", "src_port", "dest_ip", "dest_port"]; +var vdf_row_cols = ["protocol", "src_hostname", "src_port", "dest_ip", "dest_port", "id", "vpsuuid", "serid"]; +var is_admin; +var vdf_url; +var vdf_vpsuuid; +var vdf_serid; +var vdf_edit_ico, vdf_save_ico, vdf_delete_ico, vdf_revert_ico; +var cur_vps; + +// Add search feature to select input +function add_select2(id){ + $('#'+id+' .chosen').select2({width:"100%"}); +} + +function listvpsforwardertbl(){//- + var $tmp_ha = {}; + var alert_entries = {}; + + if(empty($haproxydata)){ + $('#vdf-list').html(`
      {{no_vdf}}
      `); + return; + } + + for(x in $haproxydata){ + $tmp_ha[x] = {}; + + if(is_admin != undefined){ + $tmp_ha[x]['id'] = ''+$haproxydata[x]['id']+''; + $tmp_ha[x]['vpsuuid'] = ''+$haproxydata[x]['vpsid']+' ('+$vpses[$haproxydata[x]['vpsuuid']]['hostname']+')'; + $tmp_ha[x]['serid'] = ''+$servers[$haproxydata[x]['serid']]['server_name']+''; + } + + $tmp_ha[x]['protocol'] = ''+$haproxydata[x]['protocol']+''; + $tmp_ha[x]['src_hostname'] = ''+$haproxydata[x]['src_hostname']+''; + $tmp_ha[x]['src_port'] = ''+$haproxydata[x]['src_port']+''; + $tmp_ha[x]['dest_ip'] = ''+$haproxydata[x]['dest_ip']+''; + $tmp_ha[x]['dest_port'] = ''+$haproxydata[x]['dest_port']+''; + $tmp_ha[x]['actions'] = ''; + $tmp_ha[x]['select_all'] = '"; + + // HTTP or HTTPS + }else{ + //src_hostname + str = ""; + str += ""; + str += ""; + } + $("#"+vdfid+"_src_hostname .coledit").remove(); + $("#"+vdfid+"_src_hostname").append(str); + + // add search feature to select + add_select2("vps_forwarders_tbl"); + +}; + +function processaddvdfform(self){ + var id = $(self).attr("id"); + + if(is_admin != undefined){ + + if(id == "serid"){ + var str = ""; + var serid = parseInt($("#serid").val()); + + str = ""; + + processing_symb(1); + POST({ + url: vdf_url, + data: 'serid='+serid+'&vdf_action=getvps', + }, function(data){ + processing_symb(); + if('done' in data){ + if(data.vpses != undefined){ + $.each(data.vpses, function(i,t){ + cur_vps = data.vpses; + if(t["serid"] == serid){ + str += ""; + } + }); + $("#vpsuuid").html(str); + } + } + }); + + $("#protocol").trigger("change"); + return true; + } + + if(id == "vpsuuid"){ + var str = ""; + $("#dest_ip").html(''); + + var vpsuuid = $("#vpsuuid").val(); + if(cur_vps[vpsuuid] == undefined){ + // update select dest ips list + $("#dest_ip").trigger("chosen:updated"); + return; + } + + str = ""; + + processing_symb(1); + POST({ + url: vdf_url, + data: 'vpsuuid='+vpsuuid+'&vdf_action=getvpsips', + }, function(data){ + processing_symb(); + if('done' in data){ + if(data.vpsips != undefined){ + $.each(data.vpsips, function(i,t){ + str+= ""; + }); + } + $("#dest_ip").html(str); + } + }); + return true; + } + + } + + if(id == "protocol"){ + var str = ""; + var parent = $("#src_hostname").parent(); + // 2 = TCP + if($(self).val() == "TCP"){ + var $arr_src_ips = $arr_haproxy_src_ips; + if(is_admin != undefined){ + var serid = $("#serid").val(); + if($servers[serid] == undefined){ + error_alert("'.$l['no_server_found'].'"); + return; + }else{ + $arr_src_ips = $servers[serid]["arr_haproxy_src_ips"]; + } + } + + str = ""; + $("#src_port").val(""); + $("#dest_port").val(""); + $(parent).parent().children().eq(0).children().eq(0).text("{{vdf_src_ip}}"); + + // https or http + }else{ + str = ""; + if($(self).val() == "HTTP"){ + $("#src_port").val("80"); + $("#dest_port").val("80"); + }else if($(self).val() == "HTTPS"){ + $("#src_port").val("443"); + $("#dest_port").val("443"); + } + $(parent).parent().children().eq(0).children().eq(0).text("{{vdf_src_dom}}"); + + } + // Remove old before adding updated one + $("#src_hostname").remove(); + + $(parent).html(str); + + // add search feature to select + add_select2("addvdf_form_div"); + + return true; + } + if(id == "submitaddvdf"){ + // Post the data + processing_symb(1); + POST({ + url: vdf_url, + data: $("#addvdf").serialize(), + }, function(data){ + processing_symb(); + if('done' in data){ + + if(is_admin != undefined){ + window.location = window.location; + return; + } + + var id = parseInt(data.done.id); + + // set vpsuuid and serid of the entry if this is called on admin page. + // For other page call, this values will be already set. + if(is_admin != undefined){ + vdf_vpsuuid = $("#vpsuuid").val(); + vdf_serid = $("#serid").val(); + } + + $haproxydata[id] = { + "id" : id, + "vpsuuid" : vdf_vpsuuid, + "serid" : vdf_serid, + "protocol" : $("#protocol").val(), + "src_hostname" : $("#src_hostname").val(), + "src_port" : $("#src_port").val(), + "dest_ip" : $("#dest_ip").val(), + "dest_port" : $("#dest_port").val() + } + + listvpsforwardertbl(); + + } + }); + } +} + +function showvdfform(){ + var str = ""; + var ips = {}; + + // Reset form + $("#addvdf").trigger("reset"); + $("#addvdf select").trigger("chosen:updated"); + + // Adjust height of lables + $("#addvdf_form_div .row").eq(1).find(".control-label").parent().height(38); + + // Populate servers and vps list for admin page only + if(is_admin != undefined){ + var str = ""; + str = ""; + + $.each($servers, function(i,t){ + str += ""; + }); + $("#serid").html(str); + + }else{ + // Get VPS IPs to be shown in form + ips = $vpses[vdf_vpsuuid]["ips"]; + } + + // Populate protocols list + str = ""; + $.each($supported_protocols, function(i, t){ + str += ""; + }); + $("#protocol").html(str); + + // Populate VPS IPs list + str = ""; + str = ""; + + $.each(ips, function(i,t){ + str+= ""; + }); + $("#dest_ip").html(str); + + + // Show form + $("#addvdf_form_div").css("display", "block"); + $("#showaddvdfformbtn").hide(); + + // add search feature to select + add_select2("addvdf_form_div"); +} + +// Creates the TABLE +function apply_data_table(fp_tid){ + + $('#'+fp_tid).dataTable({ + "language": { + "lengthMenu": "{{show}} _MENU_ {{entries}}", + "search": "{{search}}:", + "info": "{{showing}} _START_ {{to}} _END_ {{of}} _TOTAL_ {{entries}}", + "infoEmpty": "{{showing}} 0 {{to}} 0 {{of}} 0 {{entries}}", + "zeroRecords": "{{no_data_avail}}", + "emptyTable": "{{no_data_avail}}", + "infoFiltered": "({{filtered_from}} _MAX_ {{total_entries}})", + "paginate": { + "first":"{{first}}", + "last":"{{last}}", + "next":"{{next}}", + "previous":"{{previous}}" + } + }, + 'columnDefs': [ { + 'targets': [6,5], // column index (start from 0) + 'orderable': false, // set orderable false for selected columns, + 'width' : '5%' + }, + { "width": "13%", "targets": [0] }, + { "width": "21%", "targets": [1] }, + { "width": "16%", "targets": [2] }, + { "width": "18%", "targets": [3] }, + { "width": "20%", "targets": [4] }, + ], + 'autoWidth': true, + }); +}; + +function processing_symb(show){ + return true; + if(show == 1){ + $("#processing_symb").css('display','block'); + }else{ + $("#processing_symb").css('display','none'); + } } \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery-ui.custom.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery-ui.custom.min.js index 3116aa8..f198f7a 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery-ui.custom.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery-ui.custom.min.js @@ -1,8 +1,8 @@ -/*! jQuery UI - v1.11.4 - 2015-04-17 -* http://jqueryui.com -* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, sortable.js -* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ - -(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("
      ").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var s=0,n=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,a=n.call(arguments,1),o=0,r=a.length;r>o;o++)for(i in a[o])s=a[o][i],a[o].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(a){var o="string"==typeof a,r=n.call(arguments,1),h=this;return o?this.each(function(){var i,n=e.data(this,s);return"instance"===a?(h=n,!1):n?e.isFunction(n[a])&&"_"!==a.charAt(0)?(i=n[a].apply(n,r),i!==n&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+a+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+a+"'")}):(r.length&&(a=e.widget.extend.apply(null,[a].concat(r))),this.each(function(){var t=e.data(this,s);t?(t.option(a||{}),t._init&&t._init()):e.data(this,s,new i(a,this))})),h}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=s++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var a=!1;e(document).mouseup(function(){a=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!a){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),a=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),a=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("
      "),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.widthi?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(N,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("
      ").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n -})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable,e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e(" ",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName); +/*! jQuery UI - v1.11.4 - 2015-04-17 +* http://jqueryui.com +* Includes: core.js, widget.js, mouse.js, position.js, draggable.js, droppable.js, sortable.js +* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */ + +(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){function t(t,s){var n,a,o,r=t.nodeName.toLowerCase();return"area"===r?(n=t.parentNode,a=n.name,t.href&&a&&"map"===n.nodeName.toLowerCase()?(o=e("img[usemap='#"+a+"']")[0],!!o&&i(o)):!1):(/^(input|select|textarea|button|object)$/.test(r)?!t.disabled:"a"===r?t.href||s:s)&&i(t)}function i(t){return e.expr.filters.visible(t)&&!e(t).parents().addBack().filter(function(){return"hidden"===e.css(this,"visibility")}).length}e.ui=e.ui||{},e.extend(e.ui,{version:"1.11.4",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),e.fn.extend({scrollParent:function(t){var i=this.css("position"),s="absolute"===i,n=t?/(auto|scroll|hidden)/:/(auto|scroll)/,a=this.parents().filter(function(){var t=e(this);return s&&"static"===t.css("position")?!1:n.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0);return"fixed"!==i&&a.length?a:e(this[0].ownerDocument||document)},uniqueId:function(){var e=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++e)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&e(this).removeAttr("id")})}}),e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(i){return!!e.data(i,t)}}):function(t,i,s){return!!e.data(t,s[3])},focusable:function(i){return t(i,!isNaN(e.attr(i,"tabindex")))},tabbable:function(i){var s=e.attr(i,"tabindex"),n=isNaN(s);return(n||s>=0)&&t(i,!n)}}),e("").outerWidth(1).jquery||e.each(["Width","Height"],function(t,i){function s(t,i,s,a){return e.each(n,function(){i-=parseFloat(e.css(t,"padding"+this))||0,s&&(i-=parseFloat(e.css(t,"border"+this+"Width"))||0),a&&(i-=parseFloat(e.css(t,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],a=i.toLowerCase(),o={innerWidth:e.fn.innerWidth,innerHeight:e.fn.innerHeight,outerWidth:e.fn.outerWidth,outerHeight:e.fn.outerHeight};e.fn["inner"+i]=function(t){return void 0===t?o["inner"+i].call(this):this.each(function(){e(this).css(a,s(this,t)+"px")})},e.fn["outer"+i]=function(t,n){return"number"!=typeof t?o["outer"+i].call(this,t):this.each(function(){e(this).css(a,s(this,t,!0,n)+"px")})}}),e.fn.addBack||(e.fn.addBack=function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}),e("").data("a-b","a").removeData("a-b").data("a-b")&&(e.fn.removeData=function(t){return function(i){return arguments.length?t.call(this,e.camelCase(i)):t.call(this)}}(e.fn.removeData)),e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),e.fn.extend({focus:function(t){return function(i,s){return"number"==typeof i?this.each(function(){var t=this;setTimeout(function(){e(t).focus(),s&&s.call(t)},i)}):t.apply(this,arguments)}}(e.fn.focus),disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.bind(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.unbind(".ui-disableSelection")},zIndex:function(t){if(void 0!==t)return this.css("zIndex",t);if(this.length)for(var i,s,n=e(this[0]);n.length&&n[0]!==document;){if(i=n.css("position"),("absolute"===i||"relative"===i||"fixed"===i)&&(s=parseInt(n.css("zIndex"),10),!isNaN(s)&&0!==s))return s;n=n.parent()}return 0}}),e.ui.plugin={add:function(t,i,s){var n,a=e.ui[t].prototype;for(n in s)a.plugins[n]=a.plugins[n]||[],a.plugins[n].push([i,s[n]])},call:function(e,t,i,s){var n,a=e.plugins[t];if(a&&(s||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(n=0;a.length>n;n++)e.options[a[n][0]]&&a[n][1].apply(e.element,i)}};var s=0,n=Array.prototype.slice;e.cleanData=function(t){return function(i){var s,n,a;for(a=0;null!=(n=i[a]);a++)try{s=e._data(n,"events"),s&&s.remove&&e(n).triggerHandler("remove")}catch(o){}t(i)}}(e.cleanData),e.widget=function(t,i,s){var n,a,o,r,h={},l=t.split(".")[0];return t=t.split(".")[1],n=l+"-"+t,s||(s=i,i=e.Widget),e.expr[":"][n.toLowerCase()]=function(t){return!!e.data(t,n)},e[l]=e[l]||{},a=e[l][t],o=e[l][t]=function(e,t){return this._createWidget?(arguments.length&&this._createWidget(e,t),void 0):new o(e,t)},e.extend(o,a,{version:s.version,_proto:e.extend({},s),_childConstructors:[]}),r=new i,r.options=e.widget.extend({},r.options),e.each(s,function(t,s){return e.isFunction(s)?(h[t]=function(){var e=function(){return i.prototype[t].apply(this,arguments)},n=function(e){return i.prototype[t].apply(this,e)};return function(){var t,i=this._super,a=this._superApply;return this._super=e,this._superApply=n,t=s.apply(this,arguments),this._super=i,this._superApply=a,t}}(),void 0):(h[t]=s,void 0)}),o.prototype=e.widget.extend(r,{widgetEventPrefix:a?r.widgetEventPrefix||t:t},h,{constructor:o,namespace:l,widgetName:t,widgetFullName:n}),a?(e.each(a._childConstructors,function(t,i){var s=i.prototype;e.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete a._childConstructors):i._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var i,s,a=n.call(arguments,1),o=0,r=a.length;r>o;o++)for(i in a[o])s=a[o][i],a[o].hasOwnProperty(i)&&void 0!==s&&(t[i]=e.isPlainObject(s)?e.isPlainObject(t[i])?e.widget.extend({},t[i],s):e.widget.extend({},s):s);return t},e.widget.bridge=function(t,i){var s=i.prototype.widgetFullName||t;e.fn[t]=function(a){var o="string"==typeof a,r=n.call(arguments,1),h=this;return o?this.each(function(){var i,n=e.data(this,s);return"instance"===a?(h=n,!1):n?e.isFunction(n[a])&&"_"!==a.charAt(0)?(i=n[a].apply(n,r),i!==n&&void 0!==i?(h=i&&i.jquery?h.pushStack(i.get()):i,!1):void 0):e.error("no such method '"+a+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; "+"attempted to call method '"+a+"'")}):(r.length&&(a=e.widget.extend.apply(null,[a].concat(r))),this.each(function(){var t=e.data(this,s);t?(t.option(a||{}),t._init&&t._init()):e.data(this,s,new i(a,this))})),h}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"
      ",options:{disabled:!1,create:null},_createWidget:function(t,i){i=e(i||this.defaultElement||this)[0],this.element=e(i),this.uuid=s++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),i!==this&&(e.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===i&&this.destroy()}}),this.document=e(i.style?i.ownerDocument:i.document||i),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:e.noop,_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetFullName).removeData(e.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:e.noop,widget:function(){return this.element},option:function(t,i){var s,n,a,o=t;if(0===arguments.length)return e.widget.extend({},this.options);if("string"==typeof t)if(o={},s=t.split("."),t=s.shift(),s.length){for(n=o[t]=e.widget.extend({},this.options[t]),a=0;s.length-1>a;a++)n[s[a]]=n[s[a]]||{},n=n[s[a]];if(t=s.pop(),1===arguments.length)return void 0===n[t]?null:n[t];n[t]=i}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t];o[t]=i}return this._setOptions(o),this},_setOptions:function(e){var t;for(t in e)this._setOption(t,e[t]);return this},_setOption:function(e,t){return this.options[e]=t,"disabled"===e&&(this.widget().toggleClass(this.widgetFullName+"-disabled",!!t),t&&(this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus"))),this},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_on:function(t,i,s){var n,a=this;"boolean"!=typeof t&&(s=i,i=t,t=!1),s?(i=n=e(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),e.each(s,function(s,o){function r(){return t||a.options.disabled!==!0&&!e(this).hasClass("ui-state-disabled")?("string"==typeof o?a[o]:o).apply(a,arguments):void 0}"string"!=typeof o&&(r.guid=o.guid=o.guid||r.guid||e.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+a.eventNamespace,u=h[2];u?n.delegate(u,l,r):i.bind(l,r)})},_off:function(t,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(i).undelegate(i),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function i(){return("string"==typeof e?s[e]:e).apply(s,arguments)}var s=this;return setTimeout(i,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){e(t.currentTarget).addClass("ui-state-hover")},mouseleave:function(t){e(t.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){e(t.currentTarget).addClass("ui-state-focus")},focusout:function(t){e(t.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(t,i,s){var n,a,o=this.options[t];if(s=s||{},i=e.Event(i),i.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),i.target=this.element[0],a=i.originalEvent)for(n in a)n in i||(i[n]=a[n]);return this.element.trigger(i,s),!(e.isFunction(o)&&o.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,i){e.Widget.prototype["_"+t]=function(s,n,a){"string"==typeof n&&(n={effect:n});var o,r=n?n===!0||"number"==typeof n?i:n.effect||i:t;n=n||{},"number"==typeof n&&(n={duration:n}),o=!e.isEmptyObject(n),n.complete=a,n.delay&&s.delay(n.delay),o&&e.effects&&e.effects.effect[r]?s[t](n):r!==t&&s[r]?s[r](n.duration,n.easing,a):s.queue(function(i){e(this)[t](),a&&a.call(s[0]),i()})}}),e.widget;var a=!1;e(document).mouseup(function(){a=!1}),e.widget("ui.mouse",{version:"1.11.4",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var t=this;this.element.bind("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).bind("click."+this.widgetName,function(i){return!0===e.data(i.target,t.widgetName+".preventClickEvent")?(e.removeData(i.target,t.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!a){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t;var i=this,s=1===t.which,n="string"==typeof this.options.cancel&&t.target.nodeName?e(t.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(t)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(t)!==!1,!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return i._mouseMove(e)},this._mouseUpDelegate=function(e){return i._mouseUp(e)},this.document.bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),a=!0,!0)):!0}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t);if(!t.which)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,t)!==!1,this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){return this.document.unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),a=!1,!1},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),function(){function t(e,t,i){return[parseFloat(e[0])*(p.test(e[0])?t/100:1),parseFloat(e[1])*(p.test(e[1])?i/100:1)]}function i(t,i){return parseInt(e.css(t,i),10)||0}function s(t){var i=t[0];return 9===i.nodeType?{width:t.width(),height:t.height(),offset:{top:0,left:0}}:e.isWindow(i)?{width:t.width(),height:t.height(),offset:{top:t.scrollTop(),left:t.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:t.outerWidth(),height:t.outerHeight(),offset:t.offset()}}e.ui=e.ui||{};var n,a,o=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,u=/top|center|bottom/,d=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,p=/%$/,f=e.fn.position;e.position={scrollbarWidth:function(){if(void 0!==n)return n;var t,i,s=e("
      "),a=s.children()[0];return e("body").append(s),t=a.offsetWidth,s.css("overflow","scroll"),i=a.offsetWidth,t===i&&(i=s[0].clientWidth),s.remove(),n=t-i},getScrollInfo:function(t){var i=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),s=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),n="scroll"===i||"auto"===i&&t.widthi?"left":t>0?"right":"center",vertical:0>a?"top":s>0?"bottom":"middle"};d>m&&m>r(t+i)&&(h.horizontal="center"),c>g&&g>r(s+a)&&(h.vertical="middle"),h.important=o(r(t),r(i))>o(r(s),r(a))?"horizontal":"vertical",n.using.call(this,e,h)}),u.offset(e.extend(N,{using:l}))})},e.ui.position={fit:{left:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=e.left-t.collisionPosition.marginLeft,h=n-r,l=r+t.collisionWidth-a-n;t.collisionWidth>a?h>0&&0>=l?(i=e.left+h+t.collisionWidth-a-n,e.left+=h-i):e.left=l>0&&0>=h?n:h>l?n+a-t.collisionWidth:n:h>0?e.left+=h:l>0?e.left-=l:e.left=o(e.left-r,e.left)},top:function(e,t){var i,s=t.within,n=s.isWindow?s.scrollTop:s.offset.top,a=t.within.height,r=e.top-t.collisionPosition.marginTop,h=n-r,l=r+t.collisionHeight-a-n;t.collisionHeight>a?h>0&&0>=l?(i=e.top+h+t.collisionHeight-a-n,e.top+=h-i):e.top=l>0&&0>=h?n:h>l?n+a-t.collisionHeight:n:h>0?e.top+=h:l>0?e.top-=l:e.top=o(e.top-r,e.top)}},flip:{left:function(e,t){var i,s,n=t.within,a=n.offset.left+n.scrollLeft,o=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=e.left-t.collisionPosition.marginLeft,u=l-h,d=l+t.collisionWidth-o-h,c="left"===t.my[0]?-t.elemWidth:"right"===t.my[0]?t.elemWidth:0,p="left"===t.at[0]?t.targetWidth:"right"===t.at[0]?-t.targetWidth:0,f=-2*t.offset[0];0>u?(i=e.left+c+p+f+t.collisionWidth-o-a,(0>i||r(u)>i)&&(e.left+=c+p+f)):d>0&&(s=e.left-t.collisionPosition.marginLeft+c+p+f-h,(s>0||d>r(s))&&(e.left+=c+p+f))},top:function(e,t){var i,s,n=t.within,a=n.offset.top+n.scrollTop,o=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=e.top-t.collisionPosition.marginTop,u=l-h,d=l+t.collisionHeight-o-h,c="top"===t.my[1],p=c?-t.elemHeight:"bottom"===t.my[1]?t.elemHeight:0,f="top"===t.at[1]?t.targetHeight:"bottom"===t.at[1]?-t.targetHeight:0,m=-2*t.offset[1];0>u?(s=e.top+p+f+m+t.collisionHeight-o-a,(0>s||r(u)>s)&&(e.top+=p+f+m)):d>0&&(i=e.top-t.collisionPosition.marginTop+p+f+m-h,(i>0||d>r(i))&&(e.top+=p+f+m))}},flipfit:{left:function(){e.ui.position.flip.left.apply(this,arguments),e.ui.position.fit.left.apply(this,arguments)},top:function(){e.ui.position.flip.top.apply(this,arguments),e.ui.position.fit.top.apply(this,arguments)}}},function(){var t,i,s,n,o,r=document.getElementsByTagName("body")[0],h=document.createElement("div");t=document.createElement(r?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},r&&e.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)t.style[o]=s[o];t.appendChild(h),i=r||document.documentElement,i.insertBefore(t,i.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",n=e(h).offset().left,a=n>10&&11>n,t.innerHTML="",i.removeChild(t)}()}(),e.ui.position,e.widget("ui.draggable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(t){var i=this.options;return this._blurActiveElement(t),this.helper||i.disabled||e(t.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(t),this.handle?(this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this);return e("
      ").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var i=this.document[0];if(this.handleElement.is(t.target))try{i.activeElement&&"body"!==i.activeElement.nodeName.toLowerCase()&&e(i.activeElement).blur()}catch(s){}},_mouseStart:function(t){var i=this.options;return this.helper=this._createHelper(t),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",t)===!1?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._normalizeRightBottom(),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",t,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var i=this,s=!1;return e.ui.ddmanager&&!this.options.dropBehaviour&&(s=e.ui.ddmanager.drop(this,t)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",t)!==!1&&i._clear()}):this._trigger("stop",t)!==!1&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.focus(),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(t){return this.options.handle?!!e(t.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this.handleElement.addClass("ui-draggable-handle")},_removeHandleClassName:function(){this.handleElement.removeClass("ui-draggable-handle")},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper),n=s?e(i.helper.apply(this.element[0],[t])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var e=this.element.position(),t=this._isRootNode(this.scrollParent[0]);return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options,a=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,e(a).width()-this.helperProportions.width-this.margins.left,(e(a).height()||a.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=e(n.containment),s=i[0],s&&(t=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(t?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(e,t){t||(t=this.position);var i="absolute"===e?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:t.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:t.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(e,t){var i,s,n,a,o=this.options,r=this._isRootNode(this.scrollParent[0]),h=e.pageX,l=e.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.lefti[2]&&(h=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),o.grid&&(n=o.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/o.grid[1])*o.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-o.grid[1]:n+o.grid[1]:n,a=o.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/o.grid[0])*o.grid[0]:this.originalPageX,h=i?a-this.offset.click.left>=i[0]||a-this.offset.click.left>i[2]?a:a-this.offset.click.left>=i[0]?a-o.grid[0]:a+o.grid[0]:a),"y"===o.axis&&(h=this.originalPageX),"x"===o.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_normalizeRightBottom:function(){"y"!==this.options.axis&&"auto"!==this.helper.css("right")&&(this.helper.width(this.helper.width()),this.helper.css("right","auto")),"x"!==this.options.axis&&"auto"!==this.helper.css("bottom")&&(this.helper.height(this.helper.height()),this.helper.css("bottom","auto"))},_trigger:function(t,i,s){return s=s||this._uiHash(),e.ui.plugin.call(this,t,[i,s,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,i,s){var n=e.extend({},i,{item:s.element});s.sortables=[],e(s.options.connectToSortable).each(function(){var i=e(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",t,n))})},stop:function(t,i,s){var n=e.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,e.each(s.sortables,function(){var e=this;e.isOver?(e.isOver=0,s.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,n))})},drag:function(t,i,s){e.each(s.sortables,function(){var n=!1,a=this;a.positionAbs=s.positionAbs,a.helperProportions=s.helperProportions,a.offset.click=s.offset.click,a._intersectsWith(a.containerCache)&&(n=!0,e.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==a&&this._intersectsWith(this.containerCache)&&e.contains(a.element[0],this.element[0])&&(n=!1),n +})),n?(a.isOver||(a.isOver=1,s._parent=i.helper.parent(),a.currentItem=i.helper.appendTo(a.element).data("ui-sortable-item",!0),a.options._helper=a.options.helper,a.options.helper=function(){return i.helper[0]},t.target=a.currentItem[0],a._mouseCapture(t,!0),a._mouseStart(t,!0,!0),a.offset.click.top=s.offset.click.top,a.offset.click.left=s.offset.click.left,a.offset.parent.left-=s.offset.parent.left-a.offset.parent.left,a.offset.parent.top-=s.offset.parent.top-a.offset.parent.top,s._trigger("toSortable",t),s.dropped=a.element,e.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,a.fromOutside=s),a.currentItem&&(a._mouseDrag(t),i.position=a.position)):a.isOver&&(a.isOver=0,a.cancelHelperRemoval=!0,a.options._revert=a.options.revert,a.options.revert=!1,a._trigger("out",t,a._uiHash(a)),a._mouseStop(t,!0),a.options.revert=a.options._revert,a.options.helper=a.options._helper,a.placeholder&&a.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(t),i.position=s._generatePosition(t,!0),s._trigger("fromSortable",t),s.dropped=!1,e.each(s.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,i,s){var n=e("body"),a=s.options;n.css("cursor")&&(a._cursor=n.css("cursor")),n.css("cursor",a.cursor)},stop:function(t,i,s){var n=s.options;n._cursor&&e("body").css("cursor",n._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("opacity")&&(a._opacity=n.css("opacity")),n.css("opacity",a.opacity)},stop:function(t,i,s){var n=s.options;n._opacity&&e(i.helper).css("opacity",n._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(t,i,s){var n=s.options,a=!1,o=s.scrollParentNotHidden[0],r=s.document[0];o!==r&&"HTML"!==o.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+o.offsetHeight-t.pageY=0;c--)h=s.snapElements[c].left-s.margins.left,l=h+s.snapElements[c].width,u=s.snapElements[c].top-s.margins.top,d=u+s.snapElements[c].height,h-m>v||g>l+m||u-m>b||y>d+m||!e.contains(s.snapElements[c].item.ownerDocument,s.snapElements[c].item)?(s.snapElements[c].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(u-b),a=m>=Math.abs(d-y),o=m>=Math.abs(h-v),r=m>=Math.abs(l-g),n&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||a||o||r,"outer"!==f.snapMode&&(n=m>=Math.abs(u-y),a=m>=Math.abs(d-b),o=m>=Math.abs(h-g),r=m>=Math.abs(l-v),n&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.top=s._convertPositionTo("relative",{top:d-s.helperProportions.height,left:0}).top),o&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[c].snapping&&(n||a||o||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,t,e.extend(s._uiHash(),{snapItem:s.snapElements[c].item})),s.snapElements[c].snapping=n||a||o||r||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,i,s){var n,a=s.options,o=e.makeArray(e(a.stack)).sort(function(t,i){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(i).css("zIndex"),10)||0)});o.length&&(n=parseInt(e(o[0]).css("zIndex"),10)||0,e(o).each(function(t){e(this).css("zIndex",n+t)}),this.css("zIndex",n+o.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,i,s){var n=e(i.helper),a=s.options;n.css("zIndex")&&(a._zIndex=n.css("zIndex")),n.css("zIndex",a.zIndex)},stop:function(t,i,s){var n=s.options;n._zIndex&&e(i.helper).css("zIndex",n._zIndex)}}),e.ui.draggable,e.widget("ui.droppable",{version:"1.11.4",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var t,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=e.isFunction(s)?s:function(e){return e.is(s)},this.proportions=function(){return arguments.length?(t=arguments[0],void 0):t?t:t={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this.element.addClass("ui-droppable")},_addToManager:function(t){e.ui.ddmanager.droppables[t]=e.ui.ddmanager.droppables[t]||[],e.ui.ddmanager.droppables[t].push(this)},_splice:function(e){for(var t=0;e.length>t;t++)e[t]===this&&e.splice(t,1)},_destroy:function(){var t=e.ui.ddmanager.droppables[this.options.scope];this._splice(t),this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(t,i){if("accept"===t)this.accept=e.isFunction(i)?i:function(e){return e.is(i)};else if("scope"===t){var s=e.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(t,i)},_activate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",t,this.ui(i))},_deactivate:function(t){var i=e.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",t,this.ui(i))},_over:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",t,this.ui(i)))},_out:function(t){var i=e.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",t,this.ui(i)))},_drop:function(t,i){var s=i||e.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=e(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&e.ui.intersect(s,e.extend(i,{offset:i.element.offset()}),i.options.tolerance,t)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",t,this.ui(s)),this.element):!1):!1},ui:function(e){return{draggable:e.currentItem||e.element,helper:e.helper,position:e.position,offset:e.positionAbs}}}),e.ui.intersect=function(){function e(e,t,i){return e>=t&&t+i>e}return function(t,i,s,n){if(!i.offset)return!1;var a=(t.positionAbs||t.position.absolute).left+t.margins.left,o=(t.positionAbs||t.position.absolute).top+t.margins.top,r=a+t.helperProportions.width,h=o+t.helperProportions.height,l=i.offset.left,u=i.offset.top,d=l+i.proportions().width,c=u+i.proportions().height;switch(s){case"fit":return a>=l&&d>=r&&o>=u&&c>=h;case"intersect":return a+t.helperProportions.width/2>l&&d>r-t.helperProportions.width/2&&o+t.helperProportions.height/2>u&&c>h-t.helperProportions.height/2;case"pointer":return e(n.pageY,u,i.proportions().height)&&e(n.pageX,l,i.proportions().width);case"touch":return(o>=u&&c>=o||h>=u&&c>=h||u>o&&h>c)&&(a>=l&&d>=a||r>=l&&d>=r||l>a&&r>d);default:return!1}}}(),e.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(t,i){var s,n,a=e.ui.ddmanager.droppables[t.options.scope]||[],o=i?i.type:null,r=(t.currentItem||t.element).find(":data(ui-droppable)").addBack();e:for(s=0;a.length>s;s++)if(!(a[s].options.disabled||t&&!a[s].accept.call(a[s].element[0],t.currentItem||t.element))){for(n=0;r.length>n;n++)if(r[n]===a[s].element[0]){a[s].proportions().height=0;continue e}a[s].visible="none"!==a[s].element.css("display"),a[s].visible&&("mousedown"===o&&a[s]._activate.call(a[s],i),a[s].offset=a[s].element.offset(),a[s].proportions({width:a[s].element[0].offsetWidth,height:a[s].element[0].offsetHeight}))}},drop:function(t,i){var s=!1;return e.each((e.ui.ddmanager.droppables[t.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&e.ui.intersect(t,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],t.currentItem||t.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(t,i){t.element.parentsUntil("body").bind("scroll.droppable",function(){t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)})},drag:function(t,i){t.options.refreshPositions&&e.ui.ddmanager.prepareOffsets(t,i),e.each(e.ui.ddmanager.droppables[t.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,a,o=e.ui.intersect(t,this,this.options.tolerance,i),r=!o&&this.isover?"isout":o&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,a=this.element.parents(":data(ui-droppable)").filter(function(){return e(this).droppable("instance").options.scope===n}),a.length&&(s=e(a[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(t,i){t.element.parentsUntil("body").unbind("scroll.droppable"),t.options.refreshPositions||e.ui.ddmanager.prepareOffsets(t,i)}},e.ui.droppable,e.widget("ui.sortable",e.ui.mouse,{version:"1.11.4",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(e,t,i){return e>=t&&t+i>e},_isFloating:function(e){return/left|right/.test(e.css("float"))||/inline|table-cell/.test(e.css("display"))},_create:function(){this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(e,t){this._super(e,t),"handle"===e&&this._setHandleClassName()},_setHandleClassName:function(){this.element.find(".ui-sortable-handle").removeClass("ui-sortable-handle"),e.each(this.items,function(){(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item).addClass("ui-sortable-handle")})},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").find(".ui-sortable-handle").removeClass("ui-sortable-handle"),this._mouseDestroy();for(var e=this.items.length-1;e>=0;e--)this.items[e].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(t,i){var s=null,n=!1,a=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(t),e(t.target).parents().each(function(){return e.data(this,a.widgetName+"-item")===a?(s=e(this),!1):void 0}),e.data(t.target,a.widgetName+"-item")===a&&(s=e(t.target)),s?!this.options.handle||i||(e(this.options.handle,s).find("*").addBack().each(function(){this===t.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(t,i,s){var n,a,o=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(t),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},e.extend(this.offset,{click:{left:t.pageX-this.offset.left,top:t.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(t),this.originalPageX=t.pageX,this.originalPageY=t.pageY,o.cursorAt&&this._adjustOffsetFromHelper(o.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),o.containment&&this._setContainment(),o.cursor&&"auto"!==o.cursor&&(a=this.document.find("body"),this.storedCursor=a.css("cursor"),a.css("cursor",o.cursor),this.storedStylesheet=e("").appendTo(a)),o.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",o.opacity)),o.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",o.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",t,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",t,this._uiHash(this));return e.ui.ddmanager&&(e.ui.ddmanager.current=this),e.ui.ddmanager&&!o.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(t),!0},_mouseDrag:function(t){var i,s,n,a,o=this.options,r=!1;for(this.position=this._generatePosition(t),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-t.pageY=0;i--)if(s=this.items[i],n=s.item[0],a=this._intersectsWithPointer(s),a&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===a?"next":"prev"]()[0]!==n&&!e.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!e.contains(this.element[0],n):!0)){if(this.direction=1===a?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(t,s),this._trigger("change",t,this._uiHash());break}return this._contactContainers(t),e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),this._trigger("sort",t,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(t,i){if(t){if(e.ui.ddmanager&&!this.options.dropBehaviour&&e.ui.ddmanager.drop(this,t),this.options.revert){var s=this,n=this.placeholder.offset(),a=this.options.axis,o={};a&&"x"!==a||(o.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),a&&"y"!==a||(o.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,e(this.helper).animate(o,parseInt(this.options.revert,10)||500,function(){s._clear(t)})}else this._clear(t,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var t=this.containers.length-1;t>=0;t--)this.containers[t]._trigger("deactivate",null,this._uiHash(this)),this.containers[t].containerCache.over&&(this.containers[t]._trigger("out",null,this._uiHash(this)),this.containers[t].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),e.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?e(this.domPosition.prev).after(this.currentItem):e(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},e(i).each(function(){var i=(e(t.item||this).attr(t.attribute||"id")||"").match(t.expression||/(.+)[\-=_](.+)/);i&&s.push((t.key||i[1]+"[]")+"="+(t.key&&t.expression?i[1]:i[2]))}),!s.length&&t.key&&s.push(t.key+"="),s.join("&")},toArray:function(t){var i=this._getItemsAsjQuery(t&&t.connected),s=[];return t=t||{},i.each(function(){s.push(e(t.item||this).attr(t.attribute||"id")||"")}),s},_intersectsWith:function(e){var t=this.positionAbs.left,i=t+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,a=e.left,o=a+e.width,r=e.top,h=r+e.height,l=this.offset.click.top,u=this.offset.click.left,d="x"===this.options.axis||s+l>r&&h>s+l,c="y"===this.options.axis||t+u>a&&o>t+u,p=d&&c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>e[this.floating?"width":"height"]?p:t+this.helperProportions.width/2>a&&o>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(e){var t="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top,e.height),i="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left,e.width),s=t&&i,n=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return s?this.floating?a&&"right"===a||"down"===n?2:1:n&&("down"===n?2:1):!1},_intersectsWithSides:function(e){var t=this._isOverAxis(this.positionAbs.top+this.offset.click.top,e.top+e.height/2,e.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,e.left+e.width/2,e.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&t||"up"===s&&!t)},_getDragVerticalDirection:function(){var e=this.positionAbs.top-this.lastPositionAbs.top;return 0!==e&&(e>0?"down":"up")},_getDragHorizontalDirection:function(){var e=this.positionAbs.left-this.lastPositionAbs.left;return 0!==e&&(e>0?"right":"left")},refresh:function(e){return this._refreshItems(e),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var e=this.options;return e.connectWith.constructor===String?[e.connectWith]:e.connectWith},_getItemsAsjQuery:function(t){function i(){r.push(this)}var s,n,a,o,r=[],h=[],l=this._connectWith();if(l&&t)for(s=l.length-1;s>=0;s--)for(a=e(l[s],this.document[0]),n=a.length-1;n>=0;n--)o=e.data(a[n],this.widgetFullName),o&&o!==this&&!o.options.disabled&&h.push([e.isFunction(o.options.items)?o.options.items.call(o.element):e(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(h.push([e.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):e(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return e(r)},_removeCurrentsFromItems:function(){var t=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=e.grep(this.items,function(e){for(var i=0;t.length>i;i++)if(t[i]===e.item[0])return!1;return!0})},_refreshItems:function(t){this.items=[],this.containers=[this];var i,s,n,a,o,r,h,l,u=this.items,d=[[e.isFunction(this.options.items)?this.options.items.call(this.element[0],t,{item:this.currentItem}):e(this.options.items,this.element),this]],c=this._connectWith();if(c&&this.ready)for(i=c.length-1;i>=0;i--)for(n=e(c[i],this.document[0]),s=n.length-1;s>=0;s--)a=e.data(n[s],this.widgetFullName),a&&a!==this&&!a.options.disabled&&(d.push([e.isFunction(a.options.items)?a.options.items.call(a.element[0],t,{item:this.currentItem}):e(a.options.items,a.element),a]),this.containers.push(a));for(i=d.length-1;i>=0;i--)for(o=d[i][1],r=d[i][0],s=0,l=r.length;l>s;s++)h=e(r[s]),h.data(this.widgetName+"-item",o),u.push({item:h,instance:o,width:0,height:0,left:0,top:0})},refreshPositions:function(t){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,a;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?e(this.options.toleranceElement,s.item):s.item,t||(s.width=n.outerWidth(),s.height=n.outerHeight()),a=n.offset(),s.left=a.left,s.top=a.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)a=this.containers[i].element.offset(),this.containers[i].containerCache.left=a.left,this.containers[i].containerCache.top=a.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(t){t=t||this;var i,s=t.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=t.currentItem[0].nodeName.toLowerCase(),n=e("<"+s+">",t.document[0]).addClass(i||t.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tbody"===s?t._createTrPlaceholder(t.currentItem.find("tr").eq(0),e("",t.document[0]).appendTo(n)):"tr"===s?t._createTrPlaceholder(t.currentItem,n):"img"===s&&n.attr("src",t.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(e,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(t.currentItem.innerHeight()-parseInt(t.currentItem.css("paddingTop")||0,10)-parseInt(t.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(t.currentItem.innerWidth()-parseInt(t.currentItem.css("paddingLeft")||0,10)-parseInt(t.currentItem.css("paddingRight")||0,10)))}}),t.placeholder=e(s.placeholder.element.call(t.element,t.currentItem)),t.currentItem.after(t.placeholder),s.placeholder.update(t,t.placeholder)},_createTrPlaceholder:function(t,i){var s=this;t.children().each(function(){e(" ",s.document[0]).attr("colspan",e(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(t){var i,s,n,a,o,r,h,l,u,d,c=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!e.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(c&&e.contains(this.containers[i].element[0],c.element[0]))continue;c=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",t,this._uiHash(this)),this.containers[i].containerCache.over=0);if(c)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,a=null,u=c.floating||this._isFloating(this.currentItem),o=u?"left":"top",r=u?"width":"height",d=u?"clientX":"clientY",s=this.items.length-1;s>=0;s--)e.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[o],l=!1,t[d]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(t[d]-h)&&(n=Math.abs(t[d]-h),a=this.items[s],this.direction=l?"up":"down"));if(!a&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",t,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;a?this._rearrange(t,a,null,!0):this._rearrange(t,null,this.containers[p].element,!0),this._trigger("change",t,this._uiHash()),this.containers[p]._trigger("change",t,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",t,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(t){var i=this.options,s=e.isFunction(i.helper)?e(i.helper.apply(this.element[0],[t,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||e("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var t=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&e.ui.ie)&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var e=this.currentItem.position();return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:e.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.width():this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(t=e(n.containment)[0],i=e(n.containment).offset(),s="hidden"!==e(t).css("overflow"),this.containment=[i.left+(parseInt(e(t).css("borderLeftWidth"),10)||0)+(parseInt(e(t).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(e(t).css("borderTopWidth"),10)||0)+(parseInt(e(t).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(t.scrollWidth,t.offsetWidth):t.offsetWidth)-(parseInt(e(t).css("borderLeftWidth"),10)||0)-(parseInt(e(t).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(t.scrollHeight,t.offsetHeight):t.offsetHeight)-(parseInt(e(t).css("borderTopWidth"),10)||0)-(parseInt(e(t).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(t,i){i||(i=this.position);var s="absolute"===t?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,a=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():a?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():a?0:n.scrollLeft())*s}},_generatePosition:function(t){var i,s,n=this.options,a=t.pageX,o=t.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&e.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName); return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(t.pageX-this.offset.click.leftthis.containment[2]&&(a=this.containment[2]+this.offset.click.left),t.pageY-this.offset.click.top>this.containment[3]&&(o=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((o-this.originalPageY)/n.grid[1])*n.grid[1],o=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((a-this.originalPageX)/n.grid[0])*n.grid[0],a=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:o-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:a-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(e,t,i,s){i?i[0].appendChild(this.placeholder[0]):t.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?t.item[0]:t.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(e,t){function i(e,t,i){return function(s){i._trigger(e,s,t._uiHash(t))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!t&&n.push(function(e){this._trigger("receive",e,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||t||n.push(function(e){this._trigger("update",e,this._uiHash())}),this!==this.currentContainer&&(t||(n.push(function(e){this._trigger("remove",e,this._uiHash())}),n.push(function(e){return function(t){e._trigger("receive",t,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(e){return function(t){e._trigger("update",t,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)t||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,t||this._trigger("beforeStop",e,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!t){for(s=0;n.length>s;s++)n[s].call(this,e);this._trigger("stop",e,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){e.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(t){var i=t||this;return{helper:i.helper,placeholder:i.placeholder||e([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:t?t.element:null}}})}); \ No newline at end of file diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.bpopup.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.bpopup.min.js index 34ef6f6..c9ef0a3 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.bpopup.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.bpopup.min.js @@ -1,7 +1,7 @@ -/*================================================================================ - * @name: bPopup - if you can't get it up, use bPopup - * @author: (c)Bjoern Klinggaard (twitter@bklinggaard) - * @demo: http://dinbror.dk/bpopup - * @version: 0.11.0.min - ================================================================================*/ - (function(c){c.fn.bPopup=function(A,E){function L(){a.contentContainer=c(a.contentContainer||b);switch(a.content){case "iframe":var d=c('");d.appendTo(a.contentContainer);t=b.outerHeight(!0);u=b.outerWidth(!0);B();d.attr("src",a.loadUrl);l(a.loadCallback);break;case "image":B();c("").load(function(){l(a.loadCallback);F(c(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:B(),c('
      ').load(a.loadUrl,a.loadData,function(d,b,e){l(a.loadCallback,b);F(c(this))}).hide().appendTo(a.contentContainer)}}function B(){a.modal&&c('
      ').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+v}).appendTo(a.appendTo).fadeTo(a.speed,a.opacity);C();b.data("bPopup",a).data("id",e).css({left:"slideIn"==a.transition||"slideBack"==a.transition?"slideBack"==a.transition?f.scrollLeft()+w:-1*(x+u):m(!(!a.follow[0]&&n||g)),position:a.positionStyle||"absolute",top:"slideDown"==a.transition||"slideUp"==a.transition?"slideUp"==a.transition?f.scrollTop()+y:z+-1*t:p(!(!a.follow[1]&&q||g)),"z-index":a.zIndex+v+1}).each(function(){a.appending&&c(this).appendTo(a.appendTo)});G(!0)}function r(){a.modal&&c(".b-modal."+b.data("id")).fadeTo(a.speed,0,function(){c(this).remove()});a.scrollBar||c("html").css("overflow","auto");c(".b-modal."+e).unbind("click");f.unbind("keydown."+e);k.unbind("."+e).data("bPopup",0=b.height()&&(f.height=b.height());c>=b.width()&&(f.width=b.width());t=b.outerHeight(!0);u=b.outerWidth(!0);C();a.contentContainer.css({height:"auto",width:"auto"});f.left=m(!(!a.follow[0]&&n||g));f.top=p(!(!a.follow[1]&&q||g));b.animate(f,250,function(){d.show();h=D()})}function M(){k.data("bPopup",v);b.delegate(".bClose, ."+a.closeClass,"click."+e,r);a.modalClose&&c(".b-modal."+e).css("cursor","pointer").bind("click",r);N||!a.follow[0]&&!a.follow[1]||k.bind("scroll."+e,function(){if(h.x||h.y){var d={};h.x&&(d.left=a.follow[0]?m(!g):"auto");h.y&&(d.top=a.follow[1]?p(!g):"auto");b.dequeue().animate(d,a.followSpeed,a.followEasing)}}).bind("resize."+e,function(){I()});a.escClose&&f.bind("keydown."+e,function(a){27==a.which&&r()})}function G(d){function c(e){b.css({display:"block",opacity:1}).animate(e,a.speed,a.easing,function(){K(d)})}switch(d?a.transition:a.transitionClose||a.transition){case "slideIn":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()-(u||b.outerWidth(!0))-200});break;case "slideBack":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()+w+200});break;case "slideDown":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()-(t||b.outerHeight(!0))-200});break;case "slideUp":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()+y+200});break;default:b.stop().fadeTo(a.speed,d?1:0,function(){K(d)})}}function K(d){d?(M(),l(E),a.autoClose&&(H=setTimeout(r,a.autoClose))):(b.hide(),l(a.onClose),a.loadUrl&&(a.contentContainer.empty(),b.css({height:"auto",width:"auto"})))}function m(a){return a?x+f.scrollLeft():x}function p(a){return a?z+f.scrollTop():z}function l(a,e){c.isFunction(a)&&a.call(b,e)}function C(){z=q?a.position[1]:Math.max(0,(y-b.outerHeight(!0))/2-a.amsl);x=n?a.position[0]:(w-b.outerWidth(!0))/2;h=D()}function D(){return{x:w>b.outerWidth(!0),y:y>b.outerHeight(!0)}}c.isFunction(A)&&(E=A,A=null);var a=c.extend({},c.fn.bPopup.defaults,A);a.scrollBar||c("html").css("overflow","hidden");var b=this,f=c(document),k=c(window),y=k.height(),w=k.width(),N=/OS 6(_\d)+/i.test(navigator.userAgent),v=0,e,h,q,n,g,z,x,t,u,J,H;b.close=function(){r()};b.reposition=function(a){I(a)};return b.each(function(){c(this).data("bPopup")||(l(a.onOpen),v=(k.data("bPopup")||0)+1,e="__b-popup"+v+"__",q="auto"!==a.position[1],n="auto"!==a.position[0],g="fixed"===a.positionStyle,t=b.outerHeight(!0),u=b.outerWidth(!0),a.loadUrl?L():B())})};c.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",transitionClose:!1,zIndex:9997}})(jQuery); +/*================================================================================ + * @name: bPopup - if you can't get it up, use bPopup + * @author: (c)Bjoern Klinggaard (twitter@bklinggaard) + * @demo: http://dinbror.dk/bpopup + * @version: 0.11.0.min + ================================================================================*/ + (function(c){c.fn.bPopup=function(A,E){function L(){a.contentContainer=c(a.contentContainer||b);switch(a.content){case "iframe":var d=c('");d.appendTo(a.contentContainer);t=b.outerHeight(!0);u=b.outerWidth(!0);B();d.attr("src",a.loadUrl);l(a.loadCallback);break;case "image":B();c("").load(function(){l(a.loadCallback);F(c(this))}).attr("src",a.loadUrl).hide().appendTo(a.contentContainer);break;default:B(),c('
      ').load(a.loadUrl,a.loadData,function(d,b,e){l(a.loadCallback,b);F(c(this))}).hide().appendTo(a.contentContainer)}}function B(){a.modal&&c('
      ').css({backgroundColor:a.modalColor,position:"fixed",top:0,right:0,bottom:0,left:0,opacity:0,zIndex:a.zIndex+v}).appendTo(a.appendTo).fadeTo(a.speed,a.opacity);C();b.data("bPopup",a).data("id",e).css({left:"slideIn"==a.transition||"slideBack"==a.transition?"slideBack"==a.transition?f.scrollLeft()+w:-1*(x+u):m(!(!a.follow[0]&&n||g)),position:a.positionStyle||"absolute",top:"slideDown"==a.transition||"slideUp"==a.transition?"slideUp"==a.transition?f.scrollTop()+y:z+-1*t:p(!(!a.follow[1]&&q||g)),"z-index":a.zIndex+v+1}).each(function(){a.appending&&c(this).appendTo(a.appendTo)});G(!0)}function r(){a.modal&&c(".b-modal."+b.data("id")).fadeTo(a.speed,0,function(){c(this).remove()});a.scrollBar||c("html").css("overflow","auto");c(".b-modal."+e).unbind("click");f.unbind("keydown."+e);k.unbind("."+e).data("bPopup",0=b.height()&&(f.height=b.height());c>=b.width()&&(f.width=b.width());t=b.outerHeight(!0);u=b.outerWidth(!0);C();a.contentContainer.css({height:"auto",width:"auto"});f.left=m(!(!a.follow[0]&&n||g));f.top=p(!(!a.follow[1]&&q||g));b.animate(f,250,function(){d.show();h=D()})}function M(){k.data("bPopup",v);b.delegate(".bClose, ."+a.closeClass,"click."+e,r);a.modalClose&&c(".b-modal."+e).css("cursor","pointer").bind("click",r);N||!a.follow[0]&&!a.follow[1]||k.bind("scroll."+e,function(){if(h.x||h.y){var d={};h.x&&(d.left=a.follow[0]?m(!g):"auto");h.y&&(d.top=a.follow[1]?p(!g):"auto");b.dequeue().animate(d,a.followSpeed,a.followEasing)}}).bind("resize."+e,function(){I()});a.escClose&&f.bind("keydown."+e,function(a){27==a.which&&r()})}function G(d){function c(e){b.css({display:"block",opacity:1}).animate(e,a.speed,a.easing,function(){K(d)})}switch(d?a.transition:a.transitionClose||a.transition){case "slideIn":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()-(u||b.outerWidth(!0))-200});break;case "slideBack":c({left:d?m(!(!a.follow[0]&&n||g)):f.scrollLeft()+w+200});break;case "slideDown":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()-(t||b.outerHeight(!0))-200});break;case "slideUp":c({top:d?p(!(!a.follow[1]&&q||g)):f.scrollTop()+y+200});break;default:b.stop().fadeTo(a.speed,d?1:0,function(){K(d)})}}function K(d){d?(M(),l(E),a.autoClose&&(H=setTimeout(r,a.autoClose))):(b.hide(),l(a.onClose),a.loadUrl&&(a.contentContainer.empty(),b.css({height:"auto",width:"auto"})))}function m(a){return a?x+f.scrollLeft():x}function p(a){return a?z+f.scrollTop():z}function l(a,e){c.isFunction(a)&&a.call(b,e)}function C(){z=q?a.position[1]:Math.max(0,(y-b.outerHeight(!0))/2-a.amsl);x=n?a.position[0]:(w-b.outerWidth(!0))/2;h=D()}function D(){return{x:w>b.outerWidth(!0),y:y>b.outerHeight(!0)}}c.isFunction(A)&&(E=A,A=null);var a=c.extend({},c.fn.bPopup.defaults,A);a.scrollBar||c("html").css("overflow","hidden");var b=this,f=c(document),k=c(window),y=k.height(),w=k.width(),N=/OS 6(_\d)+/i.test(navigator.userAgent),v=0,e,h,q,n,g,z,x,t,u,J,H;b.close=function(){r()};b.reposition=function(a){I(a)};return b.each(function(){c(this).data("bPopup")||(l(a.onOpen),v=(k.data("bPopup")||0)+1,e="__b-popup"+v+"__",q="auto"!==a.position[1],n="auto"!==a.position[0],g="fixed"===a.positionStyle,t=b.outerHeight(!0),u=b.outerWidth(!0),a.loadUrl?L():B())})};c.fn.bPopup.defaults={amsl:50,appending:!0,appendTo:"body",autoClose:!1,closeClass:"b-close",content:"ajax",contentContainer:!1,easing:"swing",escClose:!0,follow:[!0,!0],followEasing:"swing",followSpeed:500,iframeAttr:'scrolling="no" frameborder="0"',loadCallback:!1,loadData:!1,loadUrl:!1,modal:!0,modalClose:!0,modalColor:"#000",onClose:!1,onOpen:!1,opacity:.7,position:["auto","auto"],positionStyle:"absolute",scrollBar:!0,speed:250,transition:"fadeIn",transitionClose:!1,zIndex:9997}})(jQuery); diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.crypt.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.crypt.js index 6eef49e..509a01f 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.crypt.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.crypt.js @@ -1,548 +1,548 @@ -/* - * jQuery Cryptography Plug-in - * version: 1.0.0 (24 Sep 2008) - * http://www.opensource.org/licenses/mit-license.php - */ -(function($){ - $.fn.crypt = function(options) { - var defaults = { - b64Str : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", - strKey : "123", - method : "md5", - source : "", - chrsz : 8, /* md5 - bits per input character. 8 - ASCII; 16 - Unicode */ - hexcase : 0 /* md5 - hex output format. 0 - lowercase; 1 - uppercase */ - }; - - // code to enable URL and Filename Safe Alphabet (RFC4648 Sec5) - if (typeof(options.urlsafe) == 'undefined'){ - defaults.b64Str += '+/='; - options.urlsafe = false; - }else if (options.urlsafe){ - defaults.b64Str += '-_='; - }else{ - defaults.b64Str += '+/='; - } - - var opts = $.extend(defaults, options); - - // support for $("#name").crypt..... - if (!opts.source) { - var $this = $(this); - // determine if it's a div or a textarea - if ($this.html()) opts.source = $this.html(); - else if ($this.val()) opts.source = $this.val(); - //else {alert("Please provide source text");return false;}; - else {return false;}; - }; - - if (opts.method == 'md5') { - return md5(opts); - } else if (opts.method == 'sha1') { - return sha1(opts); - } else if (opts.method == 'b64enc') { - return b64enc(opts); - } else if (opts.method == 'b64dec') { - return b64dec(opts); - } else if (opts.method == 'xteaenc') { - return xteaenc(opts); - } else if (opts.method == 'xteadec') { - return xteadec(opts); - } else if (opts.method == 'xteab64enc') { - var tmpenc = xteaenc(opts); - opts.method = "b64enc"; - opts.source = tmpenc; - return b64enc(opts); - } else if (opts.method == 'xteab64dec') { - var tmpdec = b64dec(opts); - opts.method = "xteadec"; - opts.source = tmpdec; - return xteadec(opts); - } - - - function b64enc(params) { - - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - - do { - chr1 = params.source.charCodeAt(i++); - chr2 = params.source.charCodeAt(i++); - chr3 = params.source.charCodeAt(i++); - - enc1 = chr1 >> 2; - enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); - enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); - enc4 = chr3 & 63; - - if (isNaN(chr2)) { - enc3 = enc4 = 64; - } else if (isNaN(chr3)) { - enc4 = 64; - }; - - output += params.b64Str.charAt(enc1) - + params.b64Str.charAt(enc2) - + params.b64Str.charAt(enc3) - + params.b64Str.charAt(enc4); - - - } while (i < params.source.length); - - return output; - - }; - - function b64dec(params) { - - var output = ""; - var chr1, chr2, chr3; - var enc1, enc2, enc3, enc4; - var i = 0; - - // remove all characters that are not A-Z, a-z, 0-9, !, -, or _ - - // remove all characters that are not A-Z, a-z, 0-9, !, -, or _ - // params.source = params.source.replace(/[^A-Za-z0-9!_-]/g, ""); - - var re = new RegExp ('[^A-Za-z0-9' + params.b64Str.substr(-3) + ']', 'g'); - params.source = params.source.replace(re, ""); - - do { - enc1 = params.b64Str.indexOf(params.source.charAt(i++)); - enc2 = params.b64Str.indexOf(params.source.charAt(i++)); - enc3 = params.b64Str.indexOf(params.source.charAt(i++)); - enc4 = params.b64Str.indexOf(params.source.charAt(i++)); - - chr1 = (enc1 << 2) | (enc2 >> 4); - chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); - chr3 = ((enc3 & 3) << 6) | enc4; - - output = output + String.fromCharCode(chr1); - - if (enc3 != 64) { - output = output + String.fromCharCode(chr2); - } - if (enc4 != 64) { - output = output + String.fromCharCode(chr3); - } - } while (i < params.source.length); - - return output; - }; - - - function md5(params) { - /* This is a trimmed version of Paul Johnsons JavaScript - * - * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message - * Digest Algorithm, as defined in RFC 1321. - * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. - * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet - * Distributed under the BSD License - * See http://pajhome.org.uk/crypt/md5 for more info. - */ - - //var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ - //var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ - - return binl2hex(core_md5(str2binl(params.source), params.source.length * params.chrsz)); - - /* - * Convert an array of little-endian words to a hex string. - */ - function binl2hex(binarray) - { - var hex_tab = params.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for(var i = 0; i < binarray.length * 4; i++) - { - str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + - hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); - }; - return str; - }; - - /* - * Calculate the HMAC-MD5, of a key and some data - */ - function core_hmac_md5(key, data) - { - var bkey = str2binl(key); - if(bkey.length > 16) bkey = core_md5(bkey, key.length * params.chrsz); - - var ipad = Array(16), opad = Array(16); - for(var i = 0; i < 16; i++) - { - ipad[i] = bkey[i] ^ 0x36363636; - opad[i] = bkey[i] ^ 0x5C5C5C5C; - }; - - var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * params.chrsz); - return core_md5(opad.concat(hash), 512 + 128); - }; - - /* - * Convert a string to an array of little-endian words - * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. - */ - function str2binl(str) - { - var bin = Array(); - var mask = (1 << params.chrsz) - 1; - for(var i = 0; i < str.length * params.chrsz; i += params.chrsz) - bin[i>>5] |= (str.charCodeAt(i / params.chrsz) & mask) << (i%32); - return bin; - } - - - /* - * Bitwise rotate a 32-bit number to the left. - */ - function bit_rol(num, cnt) - { - return (num << cnt) | (num >>> (32 - cnt)); - } - - - /* - * These functions implement the four basic operations the algorithm uses. - */ - function md5_cmn(q, a, b, x, s, t) - { - return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); - } - function md5_ff(a, b, c, d, x, s, t) - { - return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); - } - function md5_gg(a, b, c, d, x, s, t) - { - return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); - } - function md5_hh(a, b, c, d, x, s, t) - { - return md5_cmn(b ^ c ^ d, a, b, x, s, t); - } - function md5_ii(a, b, c, d, x, s, t) - { - return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); - } - - /* - * Calculate the MD5 of an array of little-endian words, and a bit length - */ - function core_md5(x, len) - { - /* append padding */ - x[len >> 5] |= 0x80 << ((len) % 32); - x[(((len + 64) >>> 9) << 4) + 14] = len; - - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - - for(var i = 0; i < x.length; i += 16) - { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - - a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); - d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); - c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); - b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); - a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); - d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); - c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); - b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); - a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); - d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); - c = md5_ff(c, d, a, b, x[i+10], 17, -42063); - b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); - a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); - d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); - c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); - b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); - - a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); - d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); - c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); - b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); - a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); - d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); - c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); - b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); - a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); - d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); - c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); - b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); - a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); - d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); - c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); - b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); - - a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); - d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); - c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); - b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); - a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); - d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); - c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); - b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); - a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); - d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); - c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); - b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); - a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); - d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); - c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); - b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); - - a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); - d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); - c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); - b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); - a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); - d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); - c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); - b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); - a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); - d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); - c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); - b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); - a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); - d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); - c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); - b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); - - a = safe_add(a, olda); - b = safe_add(b, oldb); - c = safe_add(c, oldc); - d = safe_add(d, oldd); - }; - return Array(a, b, c, d); - - }; - - }; - - /* - * Add integers, wrapping at 2^32. This uses 16-bit operations internally - * to work around bugs in some JS interpreters. (used by md5 and sha1) - */ - function safe_add(x, y) - { - var lsw = (x & 0xFFFF) + (y & 0xFFFF); - var msw = (x >> 16) + (y >> 16) + (lsw >> 16); - return (msw << 16) | (lsw & 0xFFFF); - }; - - function sha1(params) { - return binb2hex(core_sha1(str2binb(params.source),params.source.length * params.chrsz)); - - /* - * Calculate the SHA-1 of an array of big-endian words, and a bit length - */ - function core_sha1(x, len) - { - /* append padding */ - x[len >> 5] |= 0x80 << (24 - len % 32); - x[((len + 64 >> 9) << 4) + 15] = len; - - var w = Array(80); - var a = 1732584193; - var b = -271733879; - var c = -1732584194; - var d = 271733878; - var e = -1009589776; - - for(var i = 0; i < x.length; i += 16) - { - var olda = a; - var oldb = b; - var oldc = c; - var oldd = d; - var olde = e; - - for(var j = 0; j < 80; j++) - { - if(j < 16) w[j] = x[i + j]; - else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); - var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), - safe_add(safe_add(e, w[j]), sha1_kt(j))); - e = d; - d = c; - c = rol(b, 30); - b = a; - a = t; - } - - a = safe_add(a, olda); - b = safe_add(b, oldb); - c = safe_add(c, oldc); - d = safe_add(d, oldd); - e = safe_add(e, olde); - } - return Array(a, b, c, d, e); - - } - /* - * Bitwise rotate a 32-bit number to the left. - */ - function rol(num, cnt) - { - return (num << cnt) | (num >>> (32 - cnt)); - } - - /* - * Determine the appropriate additive constant for the current iteration - */ - function sha1_kt(t) - { - return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : - (t < 60) ? -1894007588 : -899497514; - } - /* - * Perform the appropriate triplet combination function for the current - * iteration - */ - function sha1_ft(t, b, c, d) - { - if(t < 20) return (b & c) | ((~b) & d); - if(t < 40) return b ^ c ^ d; - if(t < 60) return (b & c) | (b & d) | (c & d); - return b ^ c ^ d; - } - - /* - * Convert an array of big-endian words to a hex string. - */ - function binb2hex(binarray) - { - var hex_tab = params.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; - var str = ""; - for(var i = 0; i < binarray.length * 4; i++) - { - str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) + - hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF); - } - return str; - } - - - /* - * Convert an 8-bit or 16-bit string to an array of big-endian words - * In 8-bit function, characters >255 have their hi-byte silently ignored. - */ - function str2binb(str) - { - var bin = Array(); - var mask = (1 << params.chrsz) - 1; - for(var i = 0; i < str.length * params.chrsz; i += params.chrsz) - bin[i>>5] |= (str.charCodeAt(i / params.chrsz) & mask) << (32 - params.chrsz - i%32); - return bin; - } - - }; - - function xteaenc(params) { - var v = new Array(2), k = new Array(4), s = "", i; - - params.source = escape(params.source); // use escape() so only have single-byte chars to encode - - // build key directly from 1st 16 chars of strKey - for (var i=0; i<4; i++) k[i] = Str4ToLong(params.strKey.slice(i*4,(i+1)*4)); - - for (i=0; i>>5)+z ^ sum+k[sum & 3]; - sum += delta; - z += (y<<4 ^ y>>>5)+y ^ sum+k[sum>>>11 & 3]; - // note: unsigned right-shift '>>>' is used in place of original '>>', due to lack - // of 'unsigned' type declaration in JavaScript (thanks to Karsten Kraus for this) - } - v[0] = y;v[1] = z; - } - }; - - function xteadec(params) { - var v = new Array(2), k = new Array(4), s = "", i; - - for (var i=0; i<4; i++) k[i] = Str4ToLong(params.strKey.slice(i*4,(i+1)*4)); - - ciphertext = unescCtrlCh(params.source); - for (i=0; i>>5)+y ^ sum+k[sum>>>11 & 3]; - sum -= delta; - y -= (z<<4 ^ z>>>5)+z ^ sum+k[sum & 3]; - } - v[0] = y;v[1] = z; - } - - }; - - // xtea supporting functions - function Str4ToLong(s) { // convert 4 chars of s to a numeric long - var v = 0; - for (var i=0; i<4; i++) v |= s.charCodeAt(i) << i*8; - return isNaN(v) ? 0 : v; - }; - - function LongToStr4(v) { // convert a numeric long to 4 char string - var s = String.fromCharCode(v & 0xFF, v>>8 & 0xFF, v>>16 & 0xFF, v>>24 & 0xFF); - return s; - }; - - function escCtrlCh(str) { // escape control chars which might cause problems with encrypted texts - return str.replace(/[\0\t\n\v\f\r\xa0'"!]/g, function(c) {return '!' + c.charCodeAt(0) + '!';}); - }; - - function unescCtrlCh(str) { // unescape potentially problematic nulls and control characters - return str.replace(/!\d\d?\d?!/g, function(c) {return String.fromCharCode(c.slice(1,-1));}); - }; - - - - }; -})(jQuery); - - +/* + * jQuery Cryptography Plug-in + * version: 1.0.0 (24 Sep 2008) + * http://www.opensource.org/licenses/mit-license.php + */ +(function($){ + $.fn.crypt = function(options) { + var defaults = { + b64Str : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + strKey : "123", + method : "md5", + source : "", + chrsz : 8, /* md5 - bits per input character. 8 - ASCII; 16 - Unicode */ + hexcase : 0 /* md5 - hex output format. 0 - lowercase; 1 - uppercase */ + }; + + // code to enable URL and Filename Safe Alphabet (RFC4648 Sec5) + if (typeof(options.urlsafe) == 'undefined'){ + defaults.b64Str += '+/='; + options.urlsafe = false; + }else if (options.urlsafe){ + defaults.b64Str += '-_='; + }else{ + defaults.b64Str += '+/='; + } + + var opts = $.extend(defaults, options); + + // support for $("#name").crypt..... + if (!opts.source) { + var $this = $(this); + // determine if it's a div or a textarea + if ($this.html()) opts.source = $this.html(); + else if ($this.val()) opts.source = $this.val(); + //else {alert("Please provide source text");return false;}; + else {return false;}; + }; + + if (opts.method == 'md5') { + return md5(opts); + } else if (opts.method == 'sha1') { + return sha1(opts); + } else if (opts.method == 'b64enc') { + return b64enc(opts); + } else if (opts.method == 'b64dec') { + return b64dec(opts); + } else if (opts.method == 'xteaenc') { + return xteaenc(opts); + } else if (opts.method == 'xteadec') { + return xteadec(opts); + } else if (opts.method == 'xteab64enc') { + var tmpenc = xteaenc(opts); + opts.method = "b64enc"; + opts.source = tmpenc; + return b64enc(opts); + } else if (opts.method == 'xteab64dec') { + var tmpdec = b64dec(opts); + opts.method = "xteadec"; + opts.source = tmpdec; + return xteadec(opts); + } + + + function b64enc(params) { + + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + do { + chr1 = params.source.charCodeAt(i++); + chr2 = params.source.charCodeAt(i++); + chr3 = params.source.charCodeAt(i++); + + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + }; + + output += params.b64Str.charAt(enc1) + + params.b64Str.charAt(enc2) + + params.b64Str.charAt(enc3) + + params.b64Str.charAt(enc4); + + + } while (i < params.source.length); + + return output; + + }; + + function b64dec(params) { + + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + + // remove all characters that are not A-Z, a-z, 0-9, !, -, or _ + + // remove all characters that are not A-Z, a-z, 0-9, !, -, or _ + // params.source = params.source.replace(/[^A-Za-z0-9!_-]/g, ""); + + var re = new RegExp ('[^A-Za-z0-9' + params.b64Str.substr(-3) + ']', 'g'); + params.source = params.source.replace(re, ""); + + do { + enc1 = params.b64Str.indexOf(params.source.charAt(i++)); + enc2 = params.b64Str.indexOf(params.source.charAt(i++)); + enc3 = params.b64Str.indexOf(params.source.charAt(i++)); + enc4 = params.b64Str.indexOf(params.source.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < params.source.length); + + return output; + }; + + + function md5(params) { + /* This is a trimmed version of Paul Johnsons JavaScript + * + * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message + * Digest Algorithm, as defined in RFC 1321. + * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002. + * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet + * Distributed under the BSD License + * See http://pajhome.org.uk/crypt/md5 for more info. + */ + + //var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ + //var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ + + return binl2hex(core_md5(str2binl(params.source), params.source.length * params.chrsz)); + + /* + * Convert an array of little-endian words to a hex string. + */ + function binl2hex(binarray) + { + var hex_tab = params.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); + }; + return str; + }; + + /* + * Calculate the HMAC-MD5, of a key and some data + */ + function core_hmac_md5(key, data) + { + var bkey = str2binl(key); + if(bkey.length > 16) bkey = core_md5(bkey, key.length * params.chrsz); + + var ipad = Array(16), opad = Array(16); + for(var i = 0; i < 16; i++) + { + ipad[i] = bkey[i] ^ 0x36363636; + opad[i] = bkey[i] ^ 0x5C5C5C5C; + }; + + var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * params.chrsz); + return core_md5(opad.concat(hash), 512 + 128); + }; + + /* + * Convert a string to an array of little-endian words + * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. + */ + function str2binl(str) + { + var bin = Array(); + var mask = (1 << params.chrsz) - 1; + for(var i = 0; i < str.length * params.chrsz; i += params.chrsz) + bin[i>>5] |= (str.charCodeAt(i / params.chrsz) & mask) << (i%32); + return bin; + } + + + /* + * Bitwise rotate a 32-bit number to the left. + */ + function bit_rol(num, cnt) + { + return (num << cnt) | (num >>> (32 - cnt)); + } + + + /* + * These functions implement the four basic operations the algorithm uses. + */ + function md5_cmn(q, a, b, x, s, t) + { + return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); + } + function md5_ff(a, b, c, d, x, s, t) + { + return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); + } + function md5_gg(a, b, c, d, x, s, t) + { + return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); + } + function md5_hh(a, b, c, d, x, s, t) + { + return md5_cmn(b ^ c ^ d, a, b, x, s, t); + } + function md5_ii(a, b, c, d, x, s, t) + { + return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); + } + + /* + * Calculate the MD5 of an array of little-endian words, and a bit length + */ + function core_md5(x, len) + { + /* append padding */ + x[len >> 5] |= 0x80 << ((len) % 32); + x[(((len + 64) >>> 9) << 4) + 14] = len; + + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + + a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); + d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); + c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); + b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); + a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); + d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); + c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); + b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); + a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); + d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); + c = md5_ff(c, d, a, b, x[i+10], 17, -42063); + b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); + a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); + d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); + c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); + b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); + + a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); + d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); + c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); + b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); + a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); + d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); + c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); + b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); + a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); + d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); + c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); + b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); + a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); + d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); + c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); + b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); + + a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); + d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); + c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); + b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); + a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); + d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); + c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); + b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); + a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); + d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); + c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); + b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); + a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); + d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); + c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); + b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); + + a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); + d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); + c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); + b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); + a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); + d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); + c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); + b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); + a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); + d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); + c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); + b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); + a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); + d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); + c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); + b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + }; + return Array(a, b, c, d); + + }; + + }; + + /* + * Add integers, wrapping at 2^32. This uses 16-bit operations internally + * to work around bugs in some JS interpreters. (used by md5 and sha1) + */ + function safe_add(x, y) + { + var lsw = (x & 0xFFFF) + (y & 0xFFFF); + var msw = (x >> 16) + (y >> 16) + (lsw >> 16); + return (msw << 16) | (lsw & 0xFFFF); + }; + + function sha1(params) { + return binb2hex(core_sha1(str2binb(params.source),params.source.length * params.chrsz)); + + /* + * Calculate the SHA-1 of an array of big-endian words, and a bit length + */ + function core_sha1(x, len) + { + /* append padding */ + x[len >> 5] |= 0x80 << (24 - len % 32); + x[((len + 64 >> 9) << 4) + 15] = len; + + var w = Array(80); + var a = 1732584193; + var b = -271733879; + var c = -1732584194; + var d = 271733878; + var e = -1009589776; + + for(var i = 0; i < x.length; i += 16) + { + var olda = a; + var oldb = b; + var oldc = c; + var oldd = d; + var olde = e; + + for(var j = 0; j < 80; j++) + { + if(j < 16) w[j] = x[i + j]; + else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); + var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), + safe_add(safe_add(e, w[j]), sha1_kt(j))); + e = d; + d = c; + c = rol(b, 30); + b = a; + a = t; + } + + a = safe_add(a, olda); + b = safe_add(b, oldb); + c = safe_add(c, oldc); + d = safe_add(d, oldd); + e = safe_add(e, olde); + } + return Array(a, b, c, d, e); + + } + /* + * Bitwise rotate a 32-bit number to the left. + */ + function rol(num, cnt) + { + return (num << cnt) | (num >>> (32 - cnt)); + } + + /* + * Determine the appropriate additive constant for the current iteration + */ + function sha1_kt(t) + { + return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : + (t < 60) ? -1894007588 : -899497514; + } + /* + * Perform the appropriate triplet combination function for the current + * iteration + */ + function sha1_ft(t, b, c, d) + { + if(t < 20) return (b & c) | ((~b) & d); + if(t < 40) return b ^ c ^ d; + if(t < 60) return (b & c) | (b & d) | (c & d); + return b ^ c ^ d; + } + + /* + * Convert an array of big-endian words to a hex string. + */ + function binb2hex(binarray) + { + var hex_tab = params.hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; + var str = ""; + for(var i = 0; i < binarray.length * 4; i++) + { + str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) + + hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF); + } + return str; + } + + + /* + * Convert an 8-bit or 16-bit string to an array of big-endian words + * In 8-bit function, characters >255 have their hi-byte silently ignored. + */ + function str2binb(str) + { + var bin = Array(); + var mask = (1 << params.chrsz) - 1; + for(var i = 0; i < str.length * params.chrsz; i += params.chrsz) + bin[i>>5] |= (str.charCodeAt(i / params.chrsz) & mask) << (32 - params.chrsz - i%32); + return bin; + } + + }; + + function xteaenc(params) { + var v = new Array(2), k = new Array(4), s = "", i; + + params.source = escape(params.source); // use escape() so only have single-byte chars to encode + + // build key directly from 1st 16 chars of strKey + for (var i=0; i<4; i++) k[i] = Str4ToLong(params.strKey.slice(i*4,(i+1)*4)); + + for (i=0; i>>5)+z ^ sum+k[sum & 3]; + sum += delta; + z += (y<<4 ^ y>>>5)+y ^ sum+k[sum>>>11 & 3]; + // note: unsigned right-shift '>>>' is used in place of original '>>', due to lack + // of 'unsigned' type declaration in JavaScript (thanks to Karsten Kraus for this) + } + v[0] = y;v[1] = z; + } + }; + + function xteadec(params) { + var v = new Array(2), k = new Array(4), s = "", i; + + for (var i=0; i<4; i++) k[i] = Str4ToLong(params.strKey.slice(i*4,(i+1)*4)); + + ciphertext = unescCtrlCh(params.source); + for (i=0; i>>5)+y ^ sum+k[sum>>>11 & 3]; + sum -= delta; + y -= (z<<4 ^ z>>>5)+z ^ sum+k[sum & 3]; + } + v[0] = y;v[1] = z; + } + + }; + + // xtea supporting functions + function Str4ToLong(s) { // convert 4 chars of s to a numeric long + var v = 0; + for (var i=0; i<4; i++) v |= s.charCodeAt(i) << i*8; + return isNaN(v) ? 0 : v; + }; + + function LongToStr4(v) { // convert a numeric long to 4 char string + var s = String.fromCharCode(v & 0xFF, v>>8 & 0xFF, v>>16 & 0xFF, v>>24 & 0xFF); + return s; + }; + + function escCtrlCh(str) { // escape control chars which might cause problems with encrypted texts + return str.replace(/[\0\t\n\v\f\r\xa0'"!]/g, function(c) {return '!' + c.charCodeAt(0) + '!';}); + }; + + function unescCtrlCh(str) { // unescape potentially problematic nulls and control characters + return str.replace(/!\d\d?\d?!/g, function(c) {return String.fromCharCode(c.slice(1,-1));}); + }; + + + + }; +})(jQuery); + + diff --git a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.dataTables.min.js b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.dataTables.min.js index c7e6c53..dfd9ead 100644 --- a/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.dataTables.min.js +++ b/whmcs/modules/servers/virtualizor_cloud/ui/js2/jquery.dataTables.min.js @@ -1,192 +1,192 @@ -/*! - Copyright 2008-2019 SpryMedia Ltd. - - This source file is free software, available under the following license: - MIT license - http://datatables.net/license - - This source file is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. - - For details please refer to: http://www.datatables.net - DataTables 1.10.20 - ©2008-2019 SpryMedia Ltd - datatables.net/license -*/ -var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(f,z,y){f instanceof String&&(f=String(f));for(var p=f.length,H=0;H").css({position:"fixed",top:0,left:-1*f(z).scrollLeft(),height:1,width:1, -overflow:"hidden"}).append(f("
      ").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(f("
      ").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}f.extend(a.oBrowser,q.__browser);a.oScroll.iBarWidth=q.__browser.barWidth} -function mb(a,b,c,d,e,h){var g=!1;if(c!==p){var k=c;g=!0}for(;d!==e;)a.hasOwnProperty(d)&&(k=g?b(k,a[d],d,a):a[d],g=!0,d+=h);return k}function Ia(a,b){var c=q.defaults.column,d=a.aoColumns.length;c=f.extend({},q.models.oColumn,c,{nTh:b?b:y.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=f.extend({},q.models.oSearch,c[d]);ma(a,d,f(b).data())}function ma(a,b,c){b=a.aoColumns[b]; -var d=a.oClasses,e=f(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var h=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);h&&(b.sWidthOrig=h[1])}c!==p&&null!==c&&(kb(c),L(q.defaults.column,c,!0),c.mDataProp===p||c.mData||(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),f.extend(b,c),M(b,c,"sWidth","sWidthOrig"),c.iDataSort!==p&&(b.aDataSort=[c.iDataSort]),M(b,c,"aDataSort"));var g=b.mData,k=U(g), -l=b.mRender?U(b.mRender):null;c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=f.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=k(a,b,p,c);return l&&b?l(d,b,a,c):d};b.fnSetData=function(a,b,c){return Q(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==f.inArray("asc",b.asSorting);c=-1!==f.inArray("desc",b.asSorting);b.bSortable&&(a||c)?a&&!c?(b.sSortingClass= -d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI):(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI="")}function aa(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Ja(a);for(var c=0,d=b.length;cn[m])d(k.length+ -n[m],l);else if("string"===typeof n[m]){var w=0;for(g=k.length;wb&&a[e]--; -1!=d&&c===p&&a.splice(d,1)}function ea(a,b,c,d){var e=a.aoData[b],h,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=I(a,b,d,"display")};if("dom"!==c&&(c&&"auto"!==c||"dom"!==e.src)){var k=e.anCells;if(k)if(d!==p)g(k[d],d);else for(c=0,h=k.length;c").appendTo(d));var l=0;for(b=k.length;ltr").attr("role","row");f(d).find(">tr>th, >tr>td").addClass(g.sHeaderTH);f(e).find(">tr>th, >tr>td").addClass(g.sFooterTH);if(null!==e)for(a=a.aoFooter[0],l=0,b=a.length;l=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);g=a._iDisplayStart;var n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,K(a,!1);else if(!k)a.iDraw++;else if(!a.bDestroying&&!qb(a))return;if(0!==l.length)for(h=k?a.aoData.length:n,k=k?0:g;k",{"class":e?d[0]:""}).append(f("",{valign:"top",colSpan:W(a),"class":a.oClasses.sRowEmpty}).html(c))[0];A(a,"aoHeaderCallback","header",[f(a.nTHead).children("tr")[0], -Oa(a),g,n,l]);A(a,"aoFooterCallback","footer",[f(a.nTFoot).children("tr")[0],Oa(a),g,n,l]);d=f(a.nTBody);d.children().detach();d.append(f(b));A(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function V(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&rb(a);d?ia(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;S(a);a._drawHold=!1}function sb(a){var b=a.oClasses,c=f(a.nTable);c=f("
      ").insertBefore(c);var d=a.oFeatures,e= -f("
      ",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var h=a.sDom.split(""),g,k,l,n,m,p,u=0;u")[0];n=h[u+1];if("'"==n||'"'==n){m="";for(p=2;h[u+p]!=n;)m+=h[u+p],p++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),l.id=n[0].substr(1,n[0].length-1),l.className=n[1]):"#"==m.charAt(0)?l.id=m.substr(1, -m.length-1):l.className=m;u+=p}e.append(l);e=f(l)}else if(">"==k)e=e.parent();else if("l"==k&&d.bPaginate&&d.bLengthChange)g=tb(a);else if("f"==k&&d.bFilter)g=ub(a);else if("r"==k&&d.bProcessing)g=vb(a);else if("t"==k)g=wb(a);else if("i"==k&&d.bInfo)g=xb(a);else if("p"==k&&d.bPaginate)g=yb(a);else if(0!==q.ext.feature.length)for(l=q.ext.feature,p=0,n=l.length;p',k=d.sSearch;k=k.match(/_INPUT_/)?k.replace("_INPUT_",g):k+g;b=f("
      ",{id:h.f?null:c+"_filter","class":b.sFilter}).append(f("
      ").addClass(b.sLength);a.aanFeatures.l||(l[0].id=c+"_length");l.children().append(a.oLanguage.sLengthMenu.replace("_MENU_", -e[0].outerHTML));f("select",l).val(a._iDisplayLength).on("change.DT",function(b){Va(a,f(this).val());S(a)});f(a.nTable).on("length.dt.DT",function(b,c,d){a===c&&f("select",l).val(d)});return l[0]}function yb(a){var b=a.sPaginationType,c=q.ext.pager[b],d="function"===typeof c,e=function(a){S(a)};b=f("
      ").addClass(a.oClasses.sPaging+b)[0];var h=a.aanFeatures;d||c.fnInit(a,b,e);h.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,g=a._iDisplayLength, -f=a.fnRecordsDisplay(),m=-1===g;b=m?0:Math.ceil(b/g);g=m?1:Math.ceil(f/g);f=c(b,g);var p;m=0;for(p=h.p.length;mh&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e",{id:a.aanFeatures.r?null:a.sTableId+"_processing","class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}function K(a,b){a.oFeatures.bProcessing&&f(a.aanFeatures.r).css("display",b?"block":"none");A(a,null,"processing",[a,b])}function wb(a){var b=f(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY, -h=a.oClasses,g=b.children("caption"),k=g.length?g[0]._captionSide:null,l=f(b[0].cloneNode(!1)),n=f(b[0].cloneNode(!1)),m=b.children("tfoot");m.length||(m=null);l=f("
      ",{"class":h.sScrollWrapper}).append(f("
      ",{"class":h.sScrollHead}).css({overflow:"hidden",position:"relative",border:0,width:d?d?B(d):null:"100%"}).append(f("
      ",{"class":h.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(l.removeAttr("id").css("margin-left",0).append("top"===k?g:null).append(b.children("thead"))))).append(f("
      ", -{"class":h.sScrollBody}).css({position:"relative",overflow:"auto",width:d?B(d):null}).append(b));m&&l.append(f("
      ",{"class":h.sScrollFoot}).css({overflow:"hidden",border:0,width:d?d?B(d):null:"100%"}).append(f("
      ",{"class":h.sScrollFootInner}).append(n.removeAttr("id").css("margin-left",0).append("bottom"===k?g:null).append(b.children("tfoot")))));b=l.children();var p=b[0];h=b[1];var u=m?b[2]:null;if(d)f(h).on("scroll.DT",function(a){a=this.scrollLeft;p.scrollLeft=a;m&&(u.scrollLeft=a)}); -f(h).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=p;a.nScrollBody=h;a.nScrollFoot=u;a.aoDrawCallback.push({fn:na,sName:"scrolling"});return l[0]}function na(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY;b=b.iBarWidth;var h=f(a.nScrollHead),g=h[0].style,k=h.children("div"),l=k[0].style,n=k.children("table");k=a.nScrollBody;var m=f(k),w=k.style,u=f(a.nScrollFoot).children("div"),q=u.children("table"),t=f(a.nTHead),r=f(a.nTable),v=r[0],za=v.style,T=a.nTFoot?f(a.nTFoot):null,A=a.oBrowser, -x=A.bScrollOversize,ac=J(a.aoColumns,"nTh"),Ya=[],y=[],z=[],C=[],G,H=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};var D=k.scrollHeight>k.clientHeight;if(a.scrollBarVis!==D&&a.scrollBarVis!==p)a.scrollBarVis=D,aa(a);else{a.scrollBarVis=D;r.children("thead, tfoot").remove();if(T){var E=T.clone().prependTo(r);var F=T.find("tr");E=E.find("tr")}var I=t.clone().prependTo(r);t=t.find("tr");D=I.find("tr");I.find("th, td").removeAttr("tabindex"); -c||(w.width="100%",h[0].style.width="100%");f.each(ua(a,I),function(b,c){G=ba(a,b);c.style.width=a.aoColumns[G].sWidth});T&&N(function(a){a.style.width=""},E);h=r.outerWidth();""===c?(za.width="100%",x&&(r.find("tbody").height()>k.offsetHeight||"scroll"==m.css("overflow-y"))&&(za.width=B(r.outerWidth()-b)),h=r.outerWidth()):""!==d&&(za.width=B(d),h=r.outerWidth());N(H,D);N(function(a){z.push(a.innerHTML);Ya.push(B(f(a).css("width")))},D);N(function(a,b){-1!==f.inArray(a,ac)&&(a.style.width=Ya[b])}, -t);f(D).height(0);T&&(N(H,E),N(function(a){C.push(a.innerHTML);y.push(B(f(a).css("width")))},E),N(function(a,b){a.style.width=y[b]},F),f(E).height(0));N(function(a,b){a.innerHTML='
      '+z[b]+"
      ";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=Ya[b]},D);T&&N(function(a,b){a.innerHTML='
      '+C[b]+"
      ";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=y[b]},E);r.outerWidth()< -h?(F=k.scrollHeight>k.offsetHeight||"scroll"==m.css("overflow-y")?h+b:h,x&&(k.scrollHeight>k.offsetHeight||"scroll"==m.css("overflow-y"))&&(za.width=B(F-b)),""!==c&&""===d||O(a,1,"Possible column misalignment",6)):F="100%";w.width=B(F);g.width=B(F);T&&(a.nScrollFoot.style.width=B(F));!e&&x&&(w.height=B(v.offsetHeight+b));c=r.outerWidth();n[0].style.width=B(c);l.width=B(c);d=r.height()>k.clientHeight||"scroll"==m.css("overflow-y");e="padding"+(A.bScrollbarLeft?"Left":"Right");l[e]=d?b+"px":"0px";T&& -(q[0].style.width=B(c),u[0].style.width=B(c),u[0].style[e]=d?b+"px":"0px");r.children("colgroup").insertBefore(r.children("thead"));m.trigger("scroll");!a.bSorted&&!a.bFiltered||a._drawHold||(k.scrollTop=0)}}function N(a,b,c){for(var d=0,e=0,h=b.length,g,k;e").appendTo(k.find("tbody"));k.find("thead, tfoot").remove(); -k.append(f(a.nTHead).clone()).append(f(a.nTFoot).clone());k.find("tfoot th, tfoot td").css("width","");n=ua(a,k.find("thead")[0]);for(q=0;q").css({width:r.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(q=0;q").css(h|| -e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(k).appendTo(p);h&&g?k.width(g):h?(k.css("width","auto"),k.removeAttr("width"),k.width()").css("width",B(a)).appendTo(b||y.body);b=a[0].offsetWidth;a.remove();return b}function Kb(a,b){var c=Lb(a,b);if(0>c)return null;var d=a.aoData[c];return d.nTr?d.anCells[b]:f("").html(I(a,c,b,"display"))[0]}function Lb(a,b){for(var c,d=-1,e=-1,h=0,g=a.aoData.length;hd&&(d=c.length,e=h);return e} -function B(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function Y(a){var b=[],c=a.aoColumns;var d=a.aaSortingFixed;var e=f.isPlainObject(d);var h=[];var g=function(a){a.length&&!f.isArray(a[0])?h.push(a):f.merge(h,a)};f.isArray(d)&&g(d);e&&d.pre&&g(d.pre);g(a.aaSorting);e&&d.post&&g(d.post);for(a=0;an?1:0; -if(0!==m)return"asc"===l.dir?m:-m}m=c[a];n=c[b];return mn?1:0}):g.sort(function(a,b){var h,g=k.length,f=e[a]._aSortData,l=e[b]._aSortData;for(h=0;hp?1:0})}a.bSorted=!0}function Nb(a){var b=a.aoColumns,c=Y(a);a=a.oLanguage.oAria;for(var d=0,e=b.length;d/g,"");var f=h.nTh;f.removeAttribute("aria-sort"); -h.bSortable&&(0e?e+1:3))}e=0;for(h=d.length;ee?e+1:3))}a.aLastSort=d}function Mb(a,b){var c=a.aoColumns[b],d=q.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ca(a,b)));for(var h,g=q.ext.type.order[c.sType+"-pre"],k=0,f=a.aoData.length;k=h.length?[0,c[1]]:c)}));b.search!==p&&f.extend(a.oPreviousSearch, -Gb(b.search));if(b.columns)for(d=0,e=b.columns.length;d=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Ra(a,b){a=a.renderer;var c=q.ext.renderer[b];return f.isPlainObject(a)&&a[b]?c[a[b]]||c._:"string"===typeof a?c[a]||c._:c._}function D(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ka(a,b){var c=Pb.numbers_length,d=Math.floor(c/2);b<=c?a=Z(0,b):a<=d?(a=Z(0,c-2),a.push("ellipsis"),a.push(b-1)):(a>=b-1-d?a=Z(b-(c-2),b):(a=Z(a-d+2,a+d-1),a.push("ellipsis"), -a.push(b-1)),a.splice(0,0,"ellipsis"),a.splice(0,0,0));a.DT_el="span";return a}function Ha(a){f.each({num:function(b){return Da(b,a)},"num-fmt":function(b){return Da(b,a,bb)},"html-num":function(b){return Da(b,a,Ea)},"html-num-fmt":function(b){return Da(b,a,Ea,bb)}},function(b,c){C.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(C.type.search[b+a]=C.type.search.html)})}function Qb(a){return function(){var b=[Ca(this[q.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return q.ext.internal[a].apply(this, -b)}}var q=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new v(Ca(this[C.iApiIndex])):new v(this)};this.fnAddData=function(a,b){var c=this.api(!0);a=f.isArray(a)&&(f.isArray(a[0])||f.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===p||b)&&c.draw();return a.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===p||a?b.draw(!1): -(""!==d.sX||""!==d.sY)&&na(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===p||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,b,c){var d=this.api(!0);a=d.rows(a);var e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===p||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,f){e=this.api(!0);null===b||b===p? -e.search(a,c,d,f):e.column(b).search(a,c,d,f);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==p){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==p||"td"==d||"th"==d?c.cell(a,b).data():c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==p?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(), -[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};this.fnPageChange=function(a,b){a=this.api(!0).page(a);(b===p||b)&&a.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===p||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return Ca(this[C.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener= -function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===p||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===p||e)&&h.columns.adjust();(d===p||d)&&h.draw();return 0};this.fnVersionCheck=C.fnVersionCheck;var b=this,c=a===p,d=this.length;c&&(a={});this.oApi=this.internal=C.internal;for(var e in q.ext.internal)e&&(this[e]=Qb(e));this.each(function(){var e={},g=1").appendTo(w));r.nTHead=b[0];b=w.children("tbody");0===b.length&&(b=f("").appendTo(w));r.nTBody=b[0];b=w.children("tfoot");0===b.length&&0").appendTo(w));0===b.length||0===b.children().length?w.addClass(x.sNoFooter):0/g,cc=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,dc=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\|\$|\^|\-)/g,bb=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,P=function(a){return a&&!0!==a&&"-"!==a?!1: -!0},Sb=function(a){var b=parseInt(a,10);return!isNaN(b)&&isFinite(a)?b:null},Tb=function(a,b){cb[b]||(cb[b]=new RegExp(Ua(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(cb[b],"."):a},db=function(a,b,c){var d="string"===typeof a;if(P(a))return!0;b&&d&&(a=Tb(a,b));c&&d&&(a=a.replace(bb,""));return!isNaN(parseFloat(a))&&isFinite(a)},Ub=function(a,b,c){return P(a)?!0:P(a)||"string"===typeof a?db(a.replace(Ea,""),b,c)?!0:null:null},J=function(a,b,c){var d=[],e=0,h=a.length;if(c!== -p)for(;ea.length)){var b=a.slice().sort();for(var c=b[0],d=1, -e=b.length;d")[0],$b=ya.textContent!==p,bc=/<.*?>/g,Sa=q.util.throttle,Wb=[],G=Array.prototype,ec=function(a){var b,c=q.settings,d=f.map(c,function(a,b){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase()){var e=f.inArray(a,d);return-1!==e?[c[e]]:null}if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?b=f(a):a instanceof f&&(b=a)}else return[];if(b)return b.map(function(a){e=f.inArray(this, -d);return-1!==e?c[e]:null}).toArray()};var v=function(a,b){if(!(this instanceof v))return new v(a,b);var c=[],d=function(a){(a=ec(a))&&c.push.apply(c,a)};if(f.isArray(a))for(var e=0,h=a.length;ea?new v(b[a],this[a]):null},filter:function(a){var b=[];if(G.filter)b=G.filter.call(this,a,this);else for(var c=0,d=this.length;c").addClass(c),f("td",d).addClass(c).html(b)[0].colSpan=W(a),e.push(d[0]))};h(c,d);b._details&&b._details.detach();b._details=f(e);b._detailsShow&&b._details.insertAfter(b.nTr)},hb=function(a,b){var c=a.context;c.length&&(a=c[0].aoData[b!==p?b:a[0]])&&a._details&&(a._details.remove(),a._detailsShow=p,a._details=p)},Yb=function(a,b){var c=a.context;c.length&&a.length&&(a=c[0].aoData[a[0]],a._details&&((a._detailsShow=b)?a._details.insertAfter(a.nTr): -a._details.detach(),ic(c[0])))},ic=function(a){var b=new v(a),c=a.aoData;b.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");0g){var m=f.map(d,function(a,b){return a.bVisible?b:null});return[m[m.length+g]]}return[ba(a,g)];case "name":return f.map(e,function(a,b){return a===n[1]?b:null});default:return[]}if(b.nodeName&&b._DT_CellIndex)return[b._DT_CellIndex.column];g=f(h).filter(b).map(function(){return f.inArray(this, -h)}).toArray();if(g.length||!b.nodeName)return g;g=f(b).closest("*[data-dt-column]");return g.length?[g.data("dt-column")]:[]},a,c)};t("columns()",function(a,b){a===p?a="":f.isPlainObject(a)&&(b=a,a="");b=fb(b);var c=this.iterator("table",function(c){return kc(c,a,b)},1);c.selector.cols=a;c.selector.opts=b;return c});x("columns().header()","column().header()",function(a,b){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});x("columns().footer()","column().footer()",function(a, -b){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});x("columns().data()","column().data()",function(){return this.iterator("column-rows",Zb,1)});x("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},1)});x("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return la(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});x("columns().nodes()", -"column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return la(a.aoData,e,"anCells",b)},1)});x("columns().visible()","column().visible()",function(a,b){var c=this,d=this.iterator("column",function(b,c){if(a===p)return b.aoColumns[c].bVisible;var d=b.aoColumns,e=d[c],h=b.aoData,n;if(a!==p&&e.bVisible!==a){if(a){var m=f.inArray(!0,J(d,"bVisible"),c+1);d=0;for(n=h.length;dd;return!0};q.isDataTable=q.fnIsDataTable=function(a){var b=f(a).get(0),c=!1;if(a instanceof -q.Api)return!0;f.each(q.settings,function(a,e){a=e.nScrollHead?f("table",e.nScrollHead)[0]:null;var d=e.nScrollFoot?f("table",e.nScrollFoot)[0]:null;if(e.nTable===b||a===b||d===b)c=!0});return c};q.tables=q.fnTables=function(a){var b=!1;f.isPlainObject(a)&&(b=a.api,a=a.visible);var c=f.map(q.settings,function(b){if(!a||a&&f(b.nTable).is(":visible"))return b.nTable});return b?new v(c):c};q.camelToHungarian=L;t("$()",function(a,b){b=this.rows(b).nodes();b=f(b);return f([].concat(b.filter(a).toArray(), -b.find(a).toArray()))});f.each(["on","one","off"],function(a,b){t(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0]=f.map(a[0].split(/\s/),function(a){return a.match(/\.dt\b/)?a:a+".dt"}).join(" ");var d=f(this.tables().nodes());d[b].apply(d,a);return this})});t("clear()",function(){return this.iterator("table",function(a){qa(a)})});t("settings()",function(){return new v(this.context,this.context)});t("init()",function(){var a=this.context;return a.length?a[0].oInit:null});t("data()", -function(){return this.iterator("table",function(a){return J(a.aoData,"_aData")}).flatten()});t("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,h=b.nTBody,g=b.nTHead,k=b.nTFoot,l=f(e);h=f(h);var n=f(b.nTableWrapper),m=f.map(b.aoData,function(a){return a.nTr}),p;b.bDestroying=!0;A(b,"aoDestroyCallback","destroy",[b]);a||(new v(b)).columns().visible(!0);n.off(".DT").find(":not(tbody *)").off(".DT");f(z).off(".DT-"+b.sInstance); -e!=g.parentNode&&(l.children("thead").detach(),l.append(g));k&&e!=k.parentNode&&(l.children("tfoot").detach(),l.append(k));b.aaSorting=[];b.aaSortingFixed=[];Aa(b);f(m).removeClass(b.asStripeClasses.join(" "));f("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);h.children().detach();h.append(m);g=a?"remove":"detach";l[g]();n[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),l.css("width",b.sDestroyWidth).removeClass(d.sTable),(p=b.asDestroyStripes.length)&& -h.children().each(function(a){f(this).addClass(b.asDestroyStripes[a%p])}));c=f.inArray(b,q.settings);-1!==c&&q.settings.splice(c,1)})});f.each(["column","row","cell"],function(a,b){t(b+"s().every()",function(a){var c=this.selector.opts,e=this;return this.iterator(b,function(d,f,k,l,n){a.call(e[b](f,"cell"===b?k:c,"cell"===b?c:p),f,k,l,n)})})});t("i18n()",function(a,b,c){var d=this.context[0];a=U(a)(d.oLanguage);a===p&&(a=b);c!==p&&f.isPlainObject(a)&&(a=a[c]!==p?a[c]:a._);return a.replace("%d",c)}); -q.version="1.10.20";q.settings=[];q.models={};q.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};q.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};q.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,sClass:null,sContentPadding:null, -sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};q.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:!1, -bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+a.sInstance+"_"+location.pathname))}catch(b){}}, -fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},oPaginate:{sFirst:"First",sLast:"Last", -sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:f.extend({},q.models.oSearch),sAjaxDataProp:"data", -sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};H(q.defaults);q.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};H(q.defaults.column);q.models.oSettings= -{oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{}, -aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",iStateDuration:0, -aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:p,oAjaxData:p,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==D(this)?1*this._iRecordsTotal: -this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==D(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};q.ext=C={buttons:{}, -classes:{},builder:"-source-",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:q.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:q.version};f.extend(C,{afnFiltering:C.search,aTypes:C.type.detect,ofnSearch:C.type.search,oSort:C.type.order,afnSortData:C.order,aoFeatures:C.feature,oApi:C.internal,oStdClasses:C.classes,oPagination:C.pager}); -f.extend(q.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled", -sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"", -sJUIHeader:"",sJUIFooter:""});var Pb=q.ext.pager;f.extend(Pb,{simple:function(a,b){return["previous","next"]},full:function(a,b){return["first","previous","next","last"]},numbers:function(a,b){return[ka(a,b)]},simple_numbers:function(a,b){return["previous",ka(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ka(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ka(a,b),"last"]},_numbers:ka,numbers_length:7});f.extend(!0,q.ext.renderer,{pageButton:{_:function(a,b, -c,d,e,h){var g=a.oClasses,k=a.oLanguage.oPaginate,l=a.oLanguage.oAria.paginate||{},n,m,q=0,t=function(b,d){var p,r=g.sPageButtonDisabled,u=function(b){Xa(a,b.data.action,!0)};var w=0;for(p=d.length;w").appendTo(b);t(x,v)}else{n=null;m=v;x=a.iTabIndex;switch(v){case "ellipsis":b.append('');break;case "first":n=k.sFirst;0===e&&(x=-1,m+=" "+r);break;case "previous":n=k.sPrevious;0===e&&(x=-1,m+= -" "+r);break;case "next":n=k.sNext;e===h-1&&(x=-1,m+=" "+r);break;case "last":n=k.sLast;e===h-1&&(x=-1,m+=" "+r);break;default:n=v+1,m=e===v?g.sPageButtonActive:""}null!==n&&(x=f("",{"class":g.sPageButton+" "+m,"aria-controls":a.sTableId,"aria-label":l[v],"data-dt-idx":q,tabindex:x,id:0===c&&"string"===typeof v?a.sTableId+"_"+v:null}).html(n).appendTo(b),$a(x,{action:v},u),q++)}}};try{var v=f(b).find(y.activeElement).data("dt-idx")}catch(mc){}t(f(b).empty(),d);v!==p&&f(b).find("[data-dt-idx="+ -v+"]").focus()}}});f.extend(q.ext.type.detect,[function(a,b){b=b.oLanguage.sDecimal;return db(a,b)?"num"+b:null},function(a,b){if(a&&!(a instanceof Date)&&!cc.test(a))return null;b=Date.parse(a);return null!==b&&!isNaN(b)||P(a)?"date":null},function(a,b){b=b.oLanguage.sDecimal;return db(a,b,!0)?"num-fmt"+b:null},function(a,b){b=b.oLanguage.sDecimal;return Ub(a,b)?"html-num"+b:null},function(a,b){b=b.oLanguage.sDecimal;return Ub(a,b,!0)?"html-num-fmt"+b:null},function(a,b){return P(a)||"string"=== -typeof a&&-1!==a.indexOf("<")?"html":null}]);f.extend(q.ext.type.search,{html:function(a){return P(a)?a:"string"===typeof a?a.replace(Rb," ").replace(Ea,""):""},string:function(a){return P(a)?a:"string"===typeof a?a.replace(Rb," "):a}});var Da=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Tb(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};f.extend(C.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return P(a)? -"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return P(a)?"":"string"===typeof a?a.toLowerCase():a.toString?a.toString():""},"string-asc":function(a,b){return ab?1:0},"string-desc":function(a,b){return ab?-1:0}});Ha("");f.extend(!0,q.ext.renderer,{header:{_:function(a,b,c,d){f(a.nTable).on("order.dt.DT",function(e,f,g,k){a===f&&(e=c.idx,b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass("asc"==k[e]?d.sSortAsc:"desc"==k[e]?d.sSortDesc: -c.sSortingClass))})},jqueryui:function(a,b,c,d){f("
      ").addClass(d.sSortJUIWrapper).append(b.contents()).append(f("").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);f(a.nTable).on("order.dt.DT",function(e,f,g,k){a===f&&(e=c.idx,b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass("asc"==k[e]?d.sSortAsc:"desc"==k[e]?d.sSortDesc:c.sSortingClass),b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass("asc"== -k[e]?d.sSortJUIAsc:"desc"==k[e]?d.sSortJUIDesc:c.sSortingClassJUI))})}}});var ib=function(a){return"string"===typeof a?a.replace(//g,">").replace(/"/g,"""):a};q.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return ib(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g, -a)+f+(e||"")}}},text:function(){return{display:ib,filter:ib}}};f.extend(q.ext.internal,{_fnExternApiFunc:Qb,_fnBuildAjax:va,_fnAjaxUpdate:qb,_fnAjaxParameters:zb,_fnAjaxUpdateDraw:Ab,_fnAjaxDataSrc:wa,_fnAddColumn:Ia,_fnColumnOptions:ma,_fnAdjustColumnSizing:aa,_fnVisibleToColumnIndex:ba,_fnColumnIndexToVisible:ca,_fnVisbleColumns:W,_fnGetColumns:oa,_fnColumnTypes:Ka,_fnApplyColumnDefs:nb,_fnHungarianMap:H,_fnCamelToHungarian:L,_fnLanguageCompat:Ga,_fnBrowserDetect:lb,_fnAddData:R,_fnAddTr:pa,_fnNodeToDataIndex:function(a, -b){return b._DT_RowIndex!==p?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return f.inArray(c,a.aoData[b].anCells)},_fnGetCellData:I,_fnSetCellData:ob,_fnSplitObjNotation:Na,_fnGetObjectDataFn:U,_fnSetObjectDataFn:Q,_fnGetDataMaster:Oa,_fnClearTable:qa,_fnDeleteIndex:ra,_fnInvalidate:ea,_fnGetRowElements:Ma,_fnCreateTr:La,_fnBuildHead:pb,_fnDrawHead:ha,_fnDraw:S,_fnReDraw:V,_fnAddOptionsHtml:sb,_fnDetectHeader:fa,_fnGetUniqueThs:ua,_fnFeatureHtmlFilter:ub,_fnFilterComplete:ia,_fnFilterCustom:Db, -_fnFilterColumn:Cb,_fnFilter:Bb,_fnFilterCreateSearch:Ta,_fnEscapeRegex:Ua,_fnFilterData:Eb,_fnFeatureHtmlInfo:xb,_fnUpdateInfo:Hb,_fnInfoMacros:Ib,_fnInitialise:ja,_fnInitComplete:xa,_fnLengthChange:Va,_fnFeatureHtmlLength:tb,_fnFeatureHtmlPaginate:yb,_fnPageChange:Xa,_fnFeatureHtmlProcessing:vb,_fnProcessingDisplay:K,_fnFeatureHtmlTable:wb,_fnScrollDraw:na,_fnApplyToChildren:N,_fnCalculateColumnWidths:Ja,_fnThrottle:Sa,_fnConvertToWidth:Jb,_fnGetWidestNode:Kb,_fnGetMaxLenString:Lb,_fnStringToCss:B, -_fnSortFlatten:Y,_fnSort:rb,_fnSortAria:Nb,_fnSortListener:Za,_fnSortAttachListener:Qa,_fnSortingClasses:Aa,_fnSortData:Mb,_fnSaveState:Ba,_fnLoadState:Ob,_fnSettingsFromNode:Ca,_fnLog:O,_fnMap:M,_fnBindAction:$a,_fnCallbackReg:E,_fnCallbackFire:A,_fnLengthOverflow:Wa,_fnRenderer:Ra,_fnDataSource:D,_fnRowAttributes:Pa,_fnExtend:ab,_fnCalculateEnd:function(){}});f.fn.dataTable=q;q.$=f;f.fn.dataTableSettings=q.settings;f.fn.dataTableExt=q.ext;f.fn.DataTable=function(a){return f(this).dataTable(a).api()}; -f.each(q,function(a,b){f.fn.DataTable[a]=b});return f.fn.dataTable}); - -/*! - DataTables Bootstrap 4 integration - ©2011-2017 SpryMedia Ltd - datatables.net/license -*/ -var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,b,c){a instanceof String&&(a=String(a));for(var e=a.length,d=0;d<'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", -renderer:"bootstrap"});a.extend(d.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});d.ext.renderer.pageButton.bootstrap=function(b,l,v,w,m,r){var k=new d.Api(b),x=b.oClasses,n=b.oLanguage.oPaginate,y=b.oLanguage.oAria.paginate||{},g,h,t=0,u=function(c,d){var e,l=function(b){b.preventDefault(); -a(b.currentTarget).hasClass("disabled")||k.page()==b.data.action||k.page(b.data.action).draw("page")};var q=0;for(e=d.length;q",{"class":x.sPageButton+" "+h,id:0===v&&"string"===typeof f?b.sTableId+"_"+f:null}).append(a("",{href:"#","aria-controls":b.sTableId,"aria-label":y[f],"data-dt-idx":t,tabindex:b.iTabIndex,"class":"page-link"}).html(g)).appendTo(c);b.oApi._fnBindAction(p,{action:f},l);t++}}}};try{var p=a(l).find(c.activeElement).data("dt-idx")}catch(z){}u(a(l).empty().html('